Mercurial > vim
changeset 2642:840c3cadb842
Updated runtime files.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 16 Nov 2010 20:34:40 +0100 |
parents | b803b2776880 |
children | e6372ac3ebe5 |
files | runtime/autoload/tohtml.vim runtime/doc/arabic.txt runtime/doc/diff.txt runtime/doc/eval.txt runtime/doc/gui.txt runtime/doc/insert.txt runtime/doc/intro.txt runtime/doc/map.txt runtime/doc/options.txt runtime/doc/pi_tar.txt runtime/doc/quotes.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_01.txt runtime/doc/usr_41.txt runtime/doc/various.txt runtime/doc/version7.txt runtime/doc/vim2html.pl runtime/plugin/tohtml.vim runtime/syntax/2html.vim runtime/syntax/help.vim runtime/syntax/xf86conf.vim src/po/ko.UTF-8.po src/po/ko.po |
diffstat | 25 files changed, 692 insertions(+), 210 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/autoload/tohtml.vim +++ b/runtime/autoload/tohtml.vim @@ -1,6 +1,6 @@ " Vim autoload file for the tohtml plugin. " Maintainer: Ben Fritz <fritzophrenic@gmail.com> -" Last Change: 2010 Aug 12 +" Last Change: 2010 Oct 07 " " Additional contributors: " @@ -13,10 +13,284 @@ let s:cpo_sav = &cpo set cpo-=C -func! tohtml#Convert2HTML(line1, line2) +" Automatically find charsets from all encodings supported natively by Vim. With +" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than +" this. Let the user specify these however since they won't be supported on +" every system. TODO: how? g:html_charsets and g:html_encodings? +" +" Note, not all of Vim's supported encodings have a charset to use. +" +" Names in this list are from: +" http://www.iana.org/assignments/character-sets +" g:tohtml#encoding_to_charset: {{{ +let g:tohtml#encoding_to_charset = { + \ 'latin1' : 'ISO-8859-1', + \ 'iso-8859-2' : 'ISO-8859-2', + \ 'iso-8859-3' : 'ISO-8859-3', + \ 'iso-8859-4' : 'ISO-8859-4', + \ 'iso-8859-5' : 'ISO-8859-5', + \ 'iso-8859-6' : 'ISO-8859-6', + \ 'iso-8859-7' : 'ISO-8859-7', + \ 'iso-8859-8' : 'ISO-8859-8', + \ 'iso-8859-9' : 'ISO-8859-9', + \ 'iso-8859-10' : '', + \ 'iso-8859-13' : 'ISO-8859-13', + \ 'iso-8859-14' : '', + \ 'iso-8859-15' : 'ISO-8859-15', + \ 'koi8-r' : 'KOI8-R', + \ 'koi8-u' : 'KOI8-U', + \ 'macroman' : 'macintosh', + \ 'cp437' : '', + \ 'cp775' : '', + \ 'cp850' : '', + \ 'cp852' : '', + \ 'cp855' : '', + \ 'cp857' : '', + \ 'cp860' : '', + \ 'cp861' : '', + \ 'cp862' : '', + \ 'cp863' : '', + \ 'cp865' : '', + \ 'cp866' : 'IBM866', + \ 'cp869' : '', + \ 'cp874' : '', + \ 'cp1250' : 'windows-1250', + \ 'cp1251' : 'windows-1251', + \ 'cp1253' : 'windows-1253', + \ 'cp1254' : 'windows-1254', + \ 'cp1255' : 'windows-1255', + \ 'cp1256' : 'windows-1256', + \ 'cp1257' : 'windows-1257', + \ 'cp1258' : 'windows-1258', + \ 'euc-jp' : 'EUC-JP', + \ 'sjis' : 'Shift_JIS', + \ 'cp932' : 'Shift_JIS', + \ 'cp949' : '', + \ 'euc-kr' : 'EUC-KR', + \ 'cp936' : 'GBK', + \ 'euc-cn' : 'GB2312', + \ 'big5' : 'Big5', + \ 'cp950' : 'Big5', + \ 'utf-8' : 'UTF-8', + \ 'ucs-2' : 'UTF-8', + \ 'ucs-2le' : 'UTF-8', + \ 'utf-16' : 'UTF-8', + \ 'utf-16le' : 'UTF-8', + \ 'ucs-4' : 'UTF-8', + \ 'ucs-4le' : 'UTF-8', + \ } +lockvar g:tohtml#encoding_to_charset +" Notes: +" 1. All UCS/UTF are converted to UTF-8 because it is much better supported +" 2. Any blank spaces are there because Vim supports it but at least one major +" web browser does not according to http://wiki.whatwg.org/wiki/Web_Encodings. +" }}} + +" Only automatically find encodings supported natively by Vim, let the user +" specify the encoding if it's not natively supported. This function is only +" used when the user specifies the charset, they better know what they are +" doing! +" +" Names in this list are from: +" http://www.iana.org/assignments/character-sets +" g:tohtml#charset_to_encoding: {{{ +let g:tohtml#charset_to_encoding = { + \ 'iso_8859-1:1987' : 'latin1', + \ 'iso-ir-100' : 'latin1', + \ 'iso_8859-1' : 'latin1', + \ 'iso-8859-1' : 'latin1', + \ 'latin1' : 'latin1', + \ 'l1' : 'latin1', + \ 'ibm819' : 'latin1', + \ 'cp819' : 'latin1', + \ 'csisolatin1' : 'latin1', + \ 'iso_8859-2:1987' : 'iso-8859-2', + \ 'iso-ir-101' : 'iso-8859-2', + \ 'iso_8859-2' : 'iso-8859-2', + \ 'iso-8859-2' : 'iso-8859-2', + \ 'latin2' : 'iso-8859-2', + \ 'l2' : 'iso-8859-2', + \ 'csisolatin2' : 'iso-8859-2', + \ 'iso_8859-3:1988' : 'iso-8859-3', + \ 'iso-ir-109' : 'iso-8859-3', + \ 'iso_8859-3' : 'iso-8859-3', + \ 'iso-8859-3' : 'iso-8859-3', + \ 'latin3' : 'iso-8859-3', + \ 'l3' : 'iso-8859-3', + \ 'csisolatin3' : 'iso-8859-3', + \ 'iso_8859-4:1988' : 'iso-8859-4', + \ 'iso-ir-110' : 'iso-8859-4', + \ 'iso_8859-4' : 'iso-8859-4', + \ 'iso-8859-4' : 'iso-8859-4', + \ 'latin4' : 'iso-8859-4', + \ 'l4' : 'iso-8859-4', + \ 'csisolatin4' : 'iso-8859-4', + \ 'iso_8859-5:1988' : 'iso-8859-5', + \ 'iso-ir-144' : 'iso-8859-5', + \ 'iso_8859-5' : 'iso-8859-5', + \ 'iso-8859-5' : 'iso-8859-5', + \ 'cyrillic' : 'iso-8859-5', + \ 'csisolatincyrillic' : 'iso-8859-5', + \ 'iso_8859-6:1987' : 'iso-8859-6', + \ 'iso-ir-127' : 'iso-8859-6', + \ 'iso_8859-6' : 'iso-8859-6', + \ 'iso-8859-6' : 'iso-8859-6', + \ 'ecma-114' : 'iso-8859-6', + \ 'asmo-708' : 'iso-8859-6', + \ 'arabic' : 'iso-8859-6', + \ 'csisolatinarabic' : 'iso-8859-6', + \ 'iso_8859-7:1987' : 'iso-8859-7', + \ 'iso-ir-126' : 'iso-8859-7', + \ 'iso_8859-7' : 'iso-8859-7', + \ 'iso-8859-7' : 'iso-8859-7', + \ 'elot_928' : 'iso-8859-7', + \ 'ecma-118' : 'iso-8859-7', + \ 'greek' : 'iso-8859-7', + \ 'greek8' : 'iso-8859-7', + \ 'csisolatingreek' : 'iso-8859-7', + \ 'iso_8859-8:1988' : 'iso-8859-8', + \ 'iso-ir-138' : 'iso-8859-8', + \ 'iso_8859-8' : 'iso-8859-8', + \ 'iso-8859-8' : 'iso-8859-8', + \ 'hebrew' : 'iso-8859-8', + \ 'csisolatinhebrew' : 'iso-8859-8', + \ 'iso_8859-9:1989' : 'iso-8859-9', + \ 'iso-ir-148' : 'iso-8859-9', + \ 'iso_8859-9' : 'iso-8859-9', + \ 'iso-8859-9' : 'iso-8859-9', + \ 'latin5' : 'iso-8859-9', + \ 'l5' : 'iso-8859-9', + \ 'csisolatin5' : 'iso-8859-9', + \ 'iso-8859-10' : 'iso-8859-10', + \ 'iso-ir-157' : 'iso-8859-10', + \ 'l6' : 'iso-8859-10', + \ 'iso_8859-10:1992' : 'iso-8859-10', + \ 'csisolatin6' : 'iso-8859-10', + \ 'latin6' : 'iso-8859-10', + \ 'iso-8859-13' : 'iso-8859-13', + \ 'iso-8859-14' : 'iso-8859-14', + \ 'iso-ir-199' : 'iso-8859-14', + \ 'iso_8859-14:1998' : 'iso-8859-14', + \ 'iso_8859-14' : 'iso-8859-14', + \ 'latin8' : 'iso-8859-14', + \ 'iso-celtic' : 'iso-8859-14', + \ 'l8' : 'iso-8859-14', + \ 'iso-8859-15' : 'iso-8859-15', + \ 'iso_8859-15' : 'iso-8859-15', + \ 'latin-9' : 'iso-8859-15', + \ 'koi8-r' : 'koi8-r', + \ 'cskoi8r' : 'koi8-r', + \ 'koi8-u' : 'koi8-u', + \ 'macintosh' : 'macroman', + \ 'mac' : 'macroman', + \ 'csmacintosh' : 'macroman', + \ 'ibm437' : 'cp437', + \ 'cp437' : 'cp437', + \ '437' : 'cp437', + \ 'cspc8codepage437' : 'cp437', + \ 'ibm775' : 'cp775', + \ 'cp775' : 'cp775', + \ 'cspc775baltic' : 'cp775', + \ 'ibm850' : 'cp850', + \ 'cp850' : 'cp850', + \ '850' : 'cp850', + \ 'cspc850multilingual' : 'cp850', + \ 'ibm852' : 'cp852', + \ 'cp852' : 'cp852', + \ '852' : 'cp852', + \ 'cspcp852' : 'cp852', + \ 'ibm855' : 'cp855', + \ 'cp855' : 'cp855', + \ '855' : 'cp855', + \ 'csibm855' : 'cp855', + \ 'ibm857' : 'cp857', + \ 'cp857' : 'cp857', + \ '857' : 'cp857', + \ 'csibm857' : 'cp857', + \ 'ibm860' : 'cp860', + \ 'cp860' : 'cp860', + \ '860' : 'cp860', + \ 'csibm860' : 'cp860', + \ 'ibm861' : 'cp861', + \ 'cp861' : 'cp861', + \ '861' : 'cp861', + \ 'cp-is' : 'cp861', + \ 'csibm861' : 'cp861', + \ 'ibm862' : 'cp862', + \ 'cp862' : 'cp862', + \ '862' : 'cp862', + \ 'cspc862latinhebrew' : 'cp862', + \ 'ibm863' : 'cp863', + \ 'cp863' : 'cp863', + \ '863' : 'cp863', + \ 'csibm863' : 'cp863', + \ 'ibm865' : 'cp865', + \ 'cp865' : 'cp865', + \ '865' : 'cp865', + \ 'csibm865' : 'cp865', + \ 'ibm866' : 'cp866', + \ 'cp866' : 'cp866', + \ '866' : 'cp866', + \ 'csibm866' : 'cp866', + \ 'ibm869' : 'cp869', + \ 'cp869' : 'cp869', + \ '869' : 'cp869', + \ 'cp-gr' : 'cp869', + \ 'csibm869' : 'cp869', + \ 'windows-1250' : 'cp1250', + \ 'windows-1251' : 'cp1251', + \ 'windows-1253' : 'cp1253', + \ 'windows-1254' : 'cp1254', + \ 'windows-1255' : 'cp1255', + \ 'windows-1256' : 'cp1256', + \ 'windows-1257' : 'cp1257', + \ 'windows-1258' : 'cp1258', + \ 'extended_unix_code_packed_format_for_japanese' : 'euc-jp', + \ 'cseucpkdfmtjapanese' : 'euc-jp', + \ 'euc-jp' : 'euc-jp', + \ 'shift_jis' : 'sjis', + \ 'ms_kanji' : 'sjis', + \ 'sjis' : 'sjis', + \ 'csshiftjis' : 'sjis', + \ 'ibm-thai' : 'cp874', + \ 'csibmthai' : 'cp874', + \ 'ks_c_5601-1987' : 'cp949', + \ 'iso-ir-149' : 'cp949', + \ 'ks_c_5601-1989' : 'cp949', + \ 'ksc_5601' : 'cp949', + \ 'korean' : 'cp949', + \ 'csksc56011987' : 'cp949', + \ 'euc-kr' : 'euc-kr', + \ 'cseuckr' : 'euc-kr', + \ 'gbk' : 'cp936', + \ 'cp936' : 'cp936', + \ 'ms936' : 'cp936', + \ 'windows-936' : 'cp936', + \ 'gb_2312-80' : 'euc-cn', + \ 'iso-ir-58' : 'euc-cn', + \ 'chinese' : 'euc-cn', + \ 'csiso58gb231280' : 'euc-cn', + \ 'big5' : 'big5', + \ 'csbig5' : 'big5', + \ 'utf-8' : 'utf-8', + \ 'iso-10646-ucs-2' : 'ucs-2', + \ 'csunicode' : 'ucs-2', + \ 'utf-16' : 'utf-16', + \ 'utf-16be' : 'utf-16', + \ 'utf-16le' : 'utf-16le', + \ 'utf-32' : 'ucs-4', + \ 'utf-32be' : 'ucs-4', + \ 'utf-32le' : 'ucs-4le', + \ 'iso-10646-ucs-4' : 'ucs-4', + \ 'csucs4' : 'ucs-4' + \ } +lockvar g:tohtml#charset_to_encoding +"}}} + +func! tohtml#Convert2HTML(line1, line2) "{{{ let s:settings = tohtml#GetUserSettings() - if !&diff || s:settings.diff_one_file + if !&diff || s:settings.diff_one_file "{{{ if a:line2 >= a:line1 let g:html_start_line = a:line1 let g:html_end_line = a:line2 @@ -24,31 +298,50 @@ func! tohtml#Convert2HTML(line1, line2) let g:html_start_line = a:line2 let g:html_end_line = a:line1 endif - runtime syntax/2html.vim - else + runtime syntax/2html.vim "}}} + else "{{{ let win_list = [] let buf_list = [] windo | if &diff | call add(win_list, winbufnr(0)) | endif let s:settings.whole_filler = 1 let g:html_diff_win_num = 0 for window in win_list + " switch to the next buffer to convert exe ":" . bufwinnr(window) . "wincmd w" + + " figure out whether current charset and encoding will work, if not + " default to UTF-8 + if !exists('g:html_use_encoding') && + \ (&l:fileencoding!='' && &l:fileencoding!=s:settings.vim_encoding || + \ &l:fileencoding=='' && &encoding!=s:settings.vim_encoding) + echohl WarningMsg + echomsg "TOhtml: mismatched file encodings in Diff buffers, using UTF-8" + echohl None + let s:settings.vim_encoding = 'utf-8' + let s:settings.encoding = 'UTF-8' + endif + + " set up for diff-mode conversion let g:html_start_line = 1 let g:html_end_line = line('$') let g:html_diff_win_num += 1 + + " convert this file runtime syntax/2html.vim + + " remember the HTML buffer for later combination call add(buf_list, bufnr('%')) endfor unlet g:html_diff_win_num call tohtml#Diff2HTML(win_list, buf_list) - endif + endif "}}} unlet g:html_start_line unlet g:html_end_line unlet s:settings -endfunc +endfunc "}}} -func! tohtml#Diff2HTML(win_list, buf_list) +func! tohtml#Diff2HTML(win_list, buf_list) "{{{ let xml_line = "" let tag_close = '>' @@ -87,7 +380,7 @@ func! tohtml#Diff2HTML(win_list, buf_lis call add(html, '<head>') " include encoding as close to the top as possible, but only if not already - " contained in XML information (to avoid haggling over content type) + " contained in XML information if s:settings.encoding != "" && !s:settings.use_xhtml call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close) endif @@ -133,7 +426,8 @@ func! tohtml#Diff2HTML(win_list, buf_lis let s:body_end_line = getline('.') endif - " Grab the style information. Some of this will be duplicated... + " Grab the style information. Some of this will be duplicated so only insert + " it if it's not already there. {{{ 1 let style_start = search('^<style type="text/css">') 1 @@ -151,8 +445,10 @@ func! tohtml#Diff2HTML(win_list, buf_lis let insert_index += 1 endif endfor - endif + endif " }}} + " everything new will get added before the diff styles so diff highlight + " properly overrides normal highlight if diff_style_start != 0 let insert_index = diff_style_start endif @@ -203,6 +499,20 @@ func! tohtml#Diff2HTML(win_list, buf_lis " just in case some user autocmd creates content in the new buffer, make sure " it is empty before proceeding %d + + " set the fileencoding to match the charset we'll be using + let &l:fileencoding=s:settings.vim_encoding + + " According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte + " order mark is highly recommend on the web when using multibyte encodings. But, + " it is not a good idea to include it on UTF-8 files. Otherwise, let Vim + " determine when it is actually inserted. + if s:settings.vim_encoding == 'utf-8' + setlocal nobomb + else + setlocal bomb + endif + call append(0, html) if len(style) > 0 @@ -210,7 +520,7 @@ func! tohtml#Diff2HTML(win_list, buf_lis let style_start = search('^</head>')-1 " Insert javascript to toggle matching folds open and closed in all windows, - " if dynamic folding is active. + " if dynamic folding is active. {{{ if s:settings.dynamic_folds call append(style_start, [ \ "<script type='text/javascript'>", @@ -234,13 +544,13 @@ func! tohtml#Diff2HTML(win_list, buf_lis \ s:settings.use_xhtml ? '//]]>' : " -->", \ "</script>" \ ]) - endif + endif "}}} " Insert styles from all the generated html documents and additional styles " for the table-based layout of the side-by-side diff. The diff should take " up the full browser window (but not more), and be static in size, " horizontally scrollable when the lines are too long. Otherwise, the diff - " is pretty useless for really long lines. + " is pretty useless for really long lines. {{{ if s:settings.use_css call append(style_start, \ ['<style type="text/css">']+ @@ -252,28 +562,28 @@ func! tohtml#Diff2HTML(win_list, buf_lis \ 'td div { overflow: auto; }', \ s:settings.use_xhtml ? '' : '-->', \ '</style>' - \ ]) - endif + \]) + endif "}}} endif let &paste = s:old_paste let &magic = s:old_magic -endfunc +endfunc "}}} " Gets a single user option and sets it in the passed-in Dict, or gives it the " default value if the option doesn't actually exist. -func! tohtml#GetOption(settings, option, default) +func! tohtml#GetOption(settings, option, default) "{{{ if exists('g:html_'.a:option) let a:settings[a:option] = g:html_{a:option} else let a:settings[a:option] = a:default endif -endfunc +endfunc "}}} " returns a Dict containing the values of all user options for 2html, including " default values for those not given an explicit value by the user. Discards the " html_ prefix of the option for nicer looking code. -func! tohtml#GetUserSettings() +func! tohtml#GetUserSettings() "{{{ if exists('s:settings') " just restore the known options if we've already retrieved them return s:settings @@ -289,7 +599,7 @@ func! tohtml#GetUserSettings() let g:html_use_xhtml = g:use_xhtml endif - " get current option settings with appropriate defaults + " get current option settings with appropriate defaults {{{ call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") ) call tohtml#GetOption(user_settings, 'diff_one_file', 0 ) call tohtml#GetOption(user_settings, 'number_lines', &number ) @@ -302,8 +612,9 @@ func! tohtml#GetUserSettings() call tohtml#GetOption(user_settings, 'no_pre', 0 ) call tohtml#GetOption(user_settings, 'whole_filler', 0 ) call tohtml#GetOption(user_settings, 'use_xhtml', 0 ) + " }}} - " override those settings that need it + " override those settings that need it {{{ " hover opening implies dynamic folding if user_settings.hover_unfold @@ -330,49 +641,91 @@ func! tohtml#GetUserSettings() " aren't allowed inside a <pre> block if !user_settings.use_css let user_settings.no_pre = 1 - endif + endif "}}} - " Figure out proper MIME charset from the 'encoding' option. - if exists("g:html_use_encoding") + if exists("g:html_use_encoding") "{{{ + " user specified the desired MIME charset, figure out proper + " 'fileencoding' from it or warn the user if we cannot let user_settings.encoding = g:html_use_encoding - else - let vim_encoding = &encoding - if vim_encoding =~ '^8bit\|^2byte' - let vim_encoding = substitute(vim_encoding, '^8bit-\|^2byte-', '', '') + let user_settings.vim_encoding = tohtml#EncodingFromCharset(g:html_use_encoding) + if user_settings.vim_encoding == '' + echohl WarningMsg + echomsg "TOhtml: file encoding for" + \ g:html_use_encoding + \ "unknown, please set 'fileencoding'" + echohl None endif - if vim_encoding == 'latin1' - let user_settings.encoding = 'iso-8859-1' - elseif vim_encoding =~ "^cp12" - let user_settings.encoding = substitute(vim_encoding, 'cp', 'windows-', '') - elseif vim_encoding == 'sjis' || vim_encoding == 'cp932' - let user_settings.encoding = 'Shift_JIS' - elseif vim_encoding == 'big5' || vim_encoding == 'cp950' - let user_settings.encoding = "Big5" - elseif vim_encoding == 'euc-cn' - let user_settings.encoding = 'GB_2312-80' - elseif vim_encoding == 'euc-tw' - let user_settings.encoding = "" - elseif vim_encoding =~ '^euc\|^iso\|^koi' - let user_settings.encoding = substitute(vim_encoding, '.*', '\U\0', '') - elseif vim_encoding == 'cp949' - let user_settings.encoding = 'KS_C_5601-1987' - elseif vim_encoding == 'cp936' - let user_settings.encoding = 'GBK' - elseif vim_encoding =~ '^ucs\|^utf' + else + " Figure out proper MIME charset from 'fileencoding' if possible + if &l:fileencoding != '' + let user_settings.vim_encoding = &l:fileencoding + call tohtml#CharsetFromEncoding(user_settings) + endif + + " else from 'encoding' if possible + if &l:fileencoding == '' || user_settings.encoding == '' + let user_settings.vim_encoding = &encoding + call tohtml#CharsetFromEncoding(user_settings) + endif + + " else default to UTF-8 and warn user + if user_settings.encoding == '' + let user_settings.vim_encoding = 'utf-8' let user_settings.encoding = 'UTF-8' - else - let user_settings.encoding = "" + echohl WarningMsg + echomsg "TOhtml: couldn't determine MIME charset, using UTF-8" + echohl None endif - endif + endif "}}} " TODO: font return user_settings endif -endfunc +endfunc "}}} + +" get the proper HTML charset name from a Vim encoding option. +function! tohtml#CharsetFromEncoding(settings) "{{{ + let l:vim_encoding = a:settings.vim_encoding + if exists('g:html_charset_override') && has_key(g:html_charset_override, l:vim_encoding) + let a:settings.encoding = g:html_charset_override[l:vim_encoding] + else + if l:vim_encoding =~ '^8bit\|^2byte' + " 8bit- and 2byte- prefixes are to indicate encodings available on the + " system that Vim will convert with iconv(), look up just the encoding name, + " not Vim's prefix. + let l:vim_encoding = substitute(l:vim_encoding, '^8bit-\|^2byte-', '', '') + endif + if has_key(g:tohtml#encoding_to_charset, l:vim_encoding) + let a:settings.encoding = g:tohtml#encoding_to_charset[l:vim_encoding] + else + let a:settings.encoding = "" + endif + endif + if a:settings.encoding != "" + let l:vim_encoding = tohtml#EncodingFromCharset(a:settings.encoding) + if l:vim_encoding != "" + " if the Vim encoding to HTML encoding conversion is set up (by default or + " by the user) to convert to a different encoding, we need to also change + " the Vim encoding of the new buffer + let a:settings.vim_encoding = l:vim_encoding + endif + endif +endfun "}}} + +" Get the proper Vim encoding option setting from an HTML charset name. +function! tohtml#EncodingFromCharset(encoding) "{{{ + if exists('g:html_encoding_override') && has_key(g:html_encoding_override, a:encoding) + return g:html_encoding_override[a:encoding] + elseif has_key(g:tohtml#charset_to_encoding, tolower(a:encoding)) + return g:tohtml#charset_to_encoding[tolower(a:encoding)] + else + return "" + endif +endfun "}}} let &cpo = s:cpo_sav unlet s:cpo_sav " Make sure any patches will probably use consistent indent -" vim: ts=8 sw=2 sts=2 noet +" vim: ts=8 sw=2 sts=2 noet fdm=marker
--- a/runtime/doc/arabic.txt +++ b/runtime/doc/arabic.txt @@ -1,4 +1,4 @@ -*arabic.txt* For Vim version 7.3. Last change: 2005 Mar 29 +*arabic.txt* For Vim version 7.3. Last change: 2010 Nov 13 VIM REFERENCE MANUAL by Nadim Shaikli @@ -146,7 +146,7 @@ o Enable Arabic settings [short-cut] :set arabic < The two above noted possible invocations are the preferred manner - in which users are instructed to proceed. Baring an enabled 'termbidi' + in which users are instructed to proceed. Barring an enabled 'termbidi' setting, both command options: 1. set the appropriate keymap
--- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -1,4 +1,4 @@ -*diff.txt* For Vim version 7.3. Last change: 2010 Sep 30 +*diff.txt* For Vim version 7.3. Last change: 2010 Nov 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -373,8 +373,8 @@ get an error message. Possible causes: If it's not clear what the problem is set the 'verbose' option to one or more to see more messages. -The self-installing Vim includes a diff program. If you don't have it you -might want to download a diff.exe. For example from +The self-installing Vim for MS-Windows includes a diff program. If you don't +have it you might want to download a diff.exe. For example from http://jlb.twu.net/code/unixkit.php.
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.3. Last change: 2010 Oct 27 +*eval.txt* For Vim version 7.3. Last change: 2010 Nov 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -4017,7 +4017,7 @@ maparg({name}[, {mode} [, {abbr} [, {dic characters will be used: " " Normal, Visual and Operator-pending "!" Insert and Commandline mode - (|mapmpde-ic|) + (|mapmode-ic|) "sid" The script local ID, used for <sid> mappings (|<SID>|).
--- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -1,4 +1,4 @@ -*gui.txt* For Vim version 7.3. Last change: 2010 May 14 +*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -156,26 +156,26 @@ configure which ones appear with the 'gu The interface looks like this (with ":set guioptions=mlrb"): - +------------------------------+ - | File Edit Help | <- Menu bar (m) - +-+--------------------------+-+ - |^| |^| - |#| Text area. |#| - | | | | - |v|__________________________|v| - Normal status line -> |-+ File.c 5,2 +-| - between Vim windows |^|""""""""""""""""""""""""""|^| - | | | | - | | Another file buffer. | | - | | | | - |#| |#| - Left scrollbar (l) -> |#| |#| <- Right - |#| |#| scrollbar (r) - | | | | - |v| |v| - +-+--------------------------+-+ - | |< #### >| | <- Bottom - +-+--------------------------+-+ scrollbar (b) + +------------------------------+ ` + | File Edit Help | <- Menu bar (m) ` + +-+--------------------------+-+ ` + |^| |^| ` + |#| Text area. |#| ` + | | | | ` + |v|__________________________|v| ` + Normal status line -> |-+ File.c 5,2 +-| ` + between Vim windows |^|""""""""""""""""""""""""""|^| ` + | | | | ` + | | Another file buffer. | | ` + | | | | ` + |#| |#| ` + Left scrollbar (l) -> |#| |#| <- Right ` + |#| |#| scrollbar (r) ` + | | | | ` + |v| |v| ` + +-+--------------------------+-+ ` + | |< #### >| | <- Bottom ` + +-+--------------------------+-+ scrollbar (b) ` Any of the scrollbar or menu components may be turned off by not putting the appropriate letter in the 'guioptions' string. The bottom scrollbar is
--- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.3. Last change: 2010 Oct 27 +*insert.txt* For Vim version 7.3. Last change: 2010 Nov 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1037,6 +1037,8 @@ items: items that only differ in case are added dup when non-zero this match will be added even when an item with the same word is already present. + empty when non-zero this match will be added even when it is + an empty string All of these except 'icase' must be a string. If an item does not meet these requirements then an error message is given and further items in the list are @@ -1064,9 +1066,9 @@ match to the total list. These matches list! Call |complete_check()| now and then to allow the user to press a key while still searching for matches. Stop searching when it returns non-zero. -The function is allowed to move the cursor, it is restored afterwards. This -option cannot be set from a |modeline| or in the |sandbox|, for security -reasons. + *E839* *E840* +The function is allowed to move the cursor, it is restored afterwards. +The function is not allowed to move to another window or delete text. An example that completes the names of the months: > fun! CompleteMonths(findstart, base)
--- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -1,4 +1,4 @@ -*intro.txt* For Vim version 7.3. Last change: 2010 Sep 29 +*intro.txt* For Vim version 7.3. Last change: 2010 Nov 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -703,7 +703,7 @@ Lines longer than the window width will (see below). The 'linebreak' option can be set to wrap at a blank character. If the window has room after the last line of the buffer, Vim will show '~' in -the first column of the last lines in the window, like this: > +the first column of the last lines in the window, like this: +-----------------------+ |some line | @@ -715,7 +715,7 @@ the first column of the last lines in th Thus the '~' lines indicate that the end of the buffer was reached. If the last line in a window doesn't fit, Vim will indicate this with a '@' in -the first column of the last lines in the window, like this: > +the first column of the last lines in the window, like this: +-----------------------+ |first line |
--- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.3. Last change: 2010 Sep 29 +*map.txt* For Vim version 7.3. Last change: 2010 Nov 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1093,16 +1093,20 @@ is executed, it is transformed into a no For starters: See section |40.2| in the user manual. - *E183* *user-cmd-ambiguous* + *E183* *E841* *user-cmd-ambiguous* All user defined commands must start with an uppercase letter, to avoid -confusion with builtin commands. (There are a few builtin commands, notably -:Next, :Print and :X, which do start with an uppercase letter. The builtin -will always take precedence in these cases). The other characters of the user -command can be uppercase letters, lowercase letters or digits. When using -digits, note that other commands that take a numeric argument may become -ambiguous. For example, the command ":Cc2" could be the user command ":Cc2" -without an argument, or the command ":Cc" with argument "2". It is advised to -put a space between the command name and the argument to avoid these problems. +confusion with builtin commands. Exceptions are these builtin commands: + :Next + :X +They cannot be used for a user defined command. ":Print" is also an existing +command, but it is deprecated and can be overruled. + +The other characters of the user command can be uppercase letters, lowercase +letters or digits. When using digits, note that other commands that take a +numeric argument may become ambiguous. For example, the command ":Cc2" could +be the user command ":Cc2" without an argument, or the command ":Cc" with +argument "2". It is advised to put a space between the command name and the +argument to avoid these problems. When using a user-defined command, the command can be abbreviated. However, if an abbreviation is not unique, an error will be issued. Furthermore, a
--- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3. Last change: 2010 Oct 23 +*options.txt* For Vim version 7.3. Last change: 2010 Nov 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1699,7 +1699,8 @@ A jump table for the options with a shor with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U| See |complete-functions| for an explanation of how the function is invoked and what it should return. - + This option cannot be set from a |modeline| or in the |sandbox|, for + security reasons. *'completeopt'* *'cot'* 'completeopt' 'cot' string (default: "menu,preview") @@ -2843,6 +2844,7 @@ A jump table for the options with a shor "dos" is not present or no <CR><NL> is found in the file. Except: if "unix" was chosen, but there is a <CR> before the first <NL>, and there appear to be more <CR>s than <NL>s in + the first few lines, "mac" is used. 4. If 'fileformat' is still not set, the first name from 'fileformats' is used. When reading a file into an existing buffer, the same is done, but @@ -6230,8 +6232,9 @@ A jump table for the options with a shor Do smart autoindenting when starting a new line. Works for C-like programs, but can also be used for other languages. 'cindent' does something like this, works better in most cases, but is more strict, - see |C-indenting|. When 'cindent' is on, setting 'si' has no effect. - 'indentexpr' is a more advanced alternative. + see |C-indenting|. When 'cindent' is on or 'smartindent' is set, + setting 'si' has no effect. 'indentexpr' is a more advanced + alternative. Normally 'autoindent' should also be on when using 'smartindent'. An indent is automatically inserted: - After a line ending in '{'. @@ -7533,8 +7536,7 @@ A jump table for the options with a shor with an uppercase letter, and don't contain a lowercase letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis" and "_K_L_M" are not. Nested List and Dict items may not be - read back correctly, you end up with a string representation - instead. + read back correctly, you end up with an empty item. " Maximum number of lines saved for each register. Old name of the '<' item, with the disadvantage that you need to put a backslash before the ", otherwise it will be recognized as the
--- a/runtime/doc/pi_tar.txt +++ b/runtime/doc/pi_tar.txt @@ -1,4 +1,4 @@ -*pi_tar.txt* For Vim version 7.3. Last change: 2010 Aug 09 +*pi_tar.txt* For Vim version 7.3. Last change: 2010 Nov 03 +====================+ | Tar File Interface | @@ -60,11 +60,11 @@ 3. Options *tar-options* <.vimrc> file. Default Variable Value Explanation - *g:tar_browseoptions* "Ptf" used to get a list of contents - *g:tar_readoptions* "OPxf" used to extract a file from a tarball - *g:tar_cmd* "tar" the name of the tar program - *g:tar_nomax* 0 if true, file window will not be maximized - *g:tar_secure* undef if exists: + *g:tar_browseoptions* "Ptf" used to get a list of contents + *g:tar_readoptions* "OPxf" used to extract a file from a tarball + *g:tar_cmd* "tar" the name of the tar program + *g:tar_nomax* 0 if true, file window will not be maximized + *g:tar_secure* undef if exists: "--"s will be used to prevent unwanted option expansion in tar commands. Please be sure that your tar command @@ -76,7 +76,7 @@ 3. Options *tar-options* "-" Not all tar's support the "--" which is why it isn't default. - *g:tar_writeoptions* "uf" used to update/replace a file + *g:tar_writeoptions* "uf" used to update/replace a file ==============================================================================
--- a/runtime/doc/quotes.txt +++ b/runtime/doc/quotes.txt @@ -1,4 +1,4 @@ -*quotes.txt* For Vim version 7.3. Last change: 2006 Apr 24 +*quotes.txt* For Vim version 7.3. Last change: 2010 Nov 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -260,15 +260,16 @@ Eccettuato, Italy) In summary: - __ ___ _ _ _ ___ _____ - \ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _| - \ \ / /| | '_ ` _ \ | / __| | |_| | | | || | - \ V / | | | | | | | | \__ \ | _ | |_| || | - \_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_| - ____ _____ _ _ _____ _____ _ _ - / ___|_ _| | | | ___| ___| | | - \___ \ | | | | | | |_ | |_ | | | - ___) || | | |_| | _| | _| |_|_| - |____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) + __ ___ _ _ _ ___ _____ ` + \ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _| ` + \ \ / /| | '_ ` _ \ | / __| | |_| | | | || | ` + \ V / | | | | | | | | \__ \ | _ | |_| || | ` + \_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_| ` + ____ _____ _ _ _____ _____ _ _ ` + / ___|_ _| | | | ___| ___| | | ` + \___ \ | | | | | | |_ | |_ | | | ` + ___) || | | |_| | _| | _| |_|_| ` + |____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) ` + vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.3. Last change: 2010 Sep 23 +*syntax.txt* For Vim version 7.3. Last change: 2010 Oct 7 VIM REFERENCE MANUAL by Bram Moolenaar @@ -390,10 +390,10 @@ Or use the ":TOhtml" user command. It i :10,40TOhtml -Warning: This is slow! The script must process every character of every line. -Because it is so slow, by default a progress bar is displayed in the -statusline for each step that usually takes a long time. If you don't like -seeing this progress bar, you can disable it and get a very minor speed +Warning: This can be slow! The script must process every character of every +line. Because it can take a long time, by default a progress bar is displayed +in the statusline for each major step in the conversion process. If you don't +like seeing this progress bar, you can disable it and get a very minor speed improvement with: > let g:html_no_progress = 1 @@ -475,40 +475,69 @@ risk of making some things look a bit di This will use <br> at the end of each line and use " " for repeated spaces. -The current value of 'encoding' is used to specify the charset of the HTML -file. This only works for those values of 'encoding' that have an equivalent -HTML charset name. To overrule this set g:html_use_encoding to the name of -the charset to be used: > - :let g:html_use_encoding = "foobar" -To omit the line that specifies the charset, set g:html_use_encoding to an -empty string: > +For diff mode on a single file (with g:html_diff_one_file) a sequence of more +than 3 filler lines is displayed as three lines with the middle line +mentioning the total number of inserted lines. If you prefer to see all the +inserted lines as with the side-by-side diff, use: > + :let g:html_whole_filler = 1 +And to go back to displaying up to three lines again: > + :unlet g:html_whole_filler +< +TOhtml uses the current value of 'fileencoding' if set, or 'encoding' if not, +to determine the charset and 'fileencoding' of the HTML file. In general, this +works for the encodings mentioned specifically by name in |encoding-names|, but +TOhtml will only automatically use those encodings which are widely supported. +However, you can override this to support specific encodings that may not be +automatically detected by default. + +To overrule all automatic charset detection, set g:html_use_encoding to the +name of the charset to be used. TOhtml will try to determine the appropriate +'fileencoding' setting from the charset, but you may need to set it manually +if TOhtml cannot determine the encoding. It is recommended to set this +variable to something widely supported, like UTF-8, for anything you will be +hosting on a webserver: > + :let g:html_use_encoding = "UTF-8" +You can also use this option to omit the line that specifies the charset +entirely, by setting g:html_use_encoding to an empty string: > :let g:html_use_encoding = "" To go back to the automatic mechanism, delete the g:html_use_encoding variable: > :unlet g:html_use_encoding -< -For diff mode a sequence of more than 3 filler lines is displayed as three -lines with the middle line mentioning the total number of inserted lines. If -you prefer to see all the inserted lines use: > - :let g:html_whole_filler = 1 -And to go back to displaying up to three lines again: > - :unlet g:html_whole_filler + +If you specify a charset with g:html_use_encoding for which TOhtml cannot +automatically detect the corresponding 'fileencoding' setting, you can use +g:html_encoding_override to allow TOhtml to detect the correct encoding. +This is a dictionary of charset-encoding pairs that will replace existing +pairs automatically detected by TOhtml, or supplement with new pairs. For +example, to allow TOhtml to detect the HTML charset "windows-1252" properly as +the encoding "8bit-cp1252", use: > + :let g:html_encoding_override = {'windows-1252': '8bit-cp1252'} < +The g:html_charset_override is similar, it allows TOhtml to detect the HTML +charset for any 'fileencoding' or 'encoding' which is not detected +automatically. You can also use it to override specific existing +encoding-charset pairs. For example, TOhtml will by default use UTF-8 for all +Unicode/UCS encodings. To use UTF-16 and UTF-32 instead, use: > + :let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'} + +Note that documents encoded in either UTF-32 or UTF-16 have known +compatibility problems with at least one major browser. + *convert-to-XML* *convert-to-XHTML* -An alternative is to have the script generate XHTML (XML compliant HTML). To -do this set the "html_use_xhtml" variable: > +If you do not like plain HTML, an alternative is to have the script generate +XHTML (XML compliant HTML). To do this set the "html_use_xhtml" variable: > :let g:html_use_xhtml = 1 -Any of these options can be enabled or disabled by setting them explicitly to -the desired value, or restored to their default by removing the variable using -|:unlet|. +Any of the on/off options listed above can be enabled or disabled by setting +them explicitly to the desired value, or restored to their default by removing +the variable using |:unlet|. Remarks: -- This only works in a version with GUI support. If the GUI is not actually - running (possible for X11) it still works, but not very well (the colors - may be wrong). - Some truly ancient browsers may not show the background colors. - From most browsers you can also print the file (in color)! +- This version of TOhtml may work with older versions of Vim, but some + features such as conceal support will not function, and the colors may be + incorrect for an old Vim without GUI support compiled in. Here is an example how to run the script over all .c and .h files from a Unix shell: >
--- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -4216,7 +4216,9 @@ E835 options.txt /*E835* E836 if_pyth.txt /*E836* E837 if_pyth.txt /*E837* E838 netbeans.txt /*E838* +E839 insert.txt /*E839* E84 windows.txt /*E84* +E840 insert.txt /*E840* E85 options.txt /*E85* E86 windows.txt /*E86* E87 windows.txt /*E87*
--- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3. Last change: 2010 Oct 27 +*todo.txt* For Vim version 7.3. Last change: 2010 Nov 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,7 +30,11 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- -Segfault with command line abbreviation. (Randy Morris, 2010 Oct 25) +Crash when using vimgrep with an ftp file. (Christian Brabandt, 2010 Nov 5) +Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun +11) I can't reproduce it. It's probably caused by a handle_drop() call +in combination with autocommands that invoke a ":redraw" command. +Another valgrind output Jun 30. 'cursorline' is displayed too short when there are concealed characters and 'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15) @@ -38,6 +42,10 @@ Segfault with command line abbreviation. Conceal: using Tab for cchar causes problems. Should reject it. (ZyX, 2010 Aug 25) +Problems with building after 7.3.050, -as-needed does not work for gcc 4.4.1? +(Charles Campbell, 2010 Nov 7) Or is the problem that we should use -ltinfo, +because nothing is used from ncurses? + Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2, only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug 21, Ben Fritz, 2010 Sep 14) @@ -56,53 +64,42 @@ Using ":break" or something else that st ":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct 15) -Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10) -Beta testing finished now? - -Three patches for undo persistence. (Christian Brabandt, 2010 Sep 4) - -Patch to adjust mzscheme to support racket. (Sergey Khorev, 2010 Oct 24) - string() can't parse back "inf" and "nan". Fix documentation or fix code? (ZyX, 2010 Aug 23) -Patch to use "--as-needed" instead of the link.sh functionality. (Kirill A. -Shutemov, 2010 Aug 25) - -ml_get error for using :copen in a custom complete function. (Xavier -Deguillard, 2010 Oct 19) Other way to reproduce it by Lech Lorens, Oct 20. -Patch from Lech: Oct 20. More problems from Lech, Oct 21. - -Patch to fix complete(). (Kikuchan, 2010 Oct 15) - maparg() does not show the <script> flag. How to restore the script ID? -Ruby: Patch to load Gem module. Why is this needed? (Yasuhiro Matsumoto, 2010 -Oct 6) - -":command Print echo 'print'" works, but ":Print" doesn't. Builtin Print -should be overruled. (Aaron Thoma) -Patch by Christian Brabandt, 2010 Sep 5. - -Comparing recursive structure loops forever. (ZyX, 2010 Aug 22, info from John -Beckett Aug 23) -Patch from Christian Brabandt, 2010 Oct 2 - -":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24) -Patch from Benjamin Fritz, 2010 Oct 13. +Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8) +Not quite right. Highlighting stops working after changing it many times. Script to reproduce it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed? +When 'cursorcolumn' is set locally to a window, ":new" opens a window with the +same highlighting but 'cursorcolumn' is empty. (Tyru, 2010 Nov 15) + GTK: drawing a double-width combining character over single-width characters doesn't look right. (Dominique Pelle, 2010 Aug 8) +GTK: patch to fix hitting Enter in a dialog. (Britton Kerin, 2010 Nov 11) + GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25) +":find" completion does not escape space in directory name. (Isz, 2010 Nov 2) + +Win32: When using Chinese tear-off menu doesn't work. (Weasley, 2010 Oct 31) +Patch by Alex Jakushev, 2010 Nov 2. + +Using control characters in 'statusline' doesn't work well. (ZyX, 2010 Nov 1) +Patch by Caio Ariede, 2010 Nov 3 + Using ":call" inside "if 0" does not see that a function returns a Dict and gives error for "." as string concatenation. (Yasuhiro Matsumoto, 2010 Oct 20) Patch: Oct 20. +Patch to move check for emsg_not_now() up to avoid statusline not being +updated. (James Vega, 2010 Nov 4) + Copy/paste between Vim and Google chrome doesn't work well for multi-byte characters. (Ben Haskell, 2010 Sep 17) When putting text in the cut buffer (when exiting) and conversion doesn't work @@ -121,8 +118,9 @@ the system encoding (usually utf-8). Problem producing tags file when hebrew.frx is present. It has a BOM. Results in E670. (Tony Mechelynck, 2010 May 2) -Patch for dynamic loading Ruby on Unix. (Jon, 2010 Aug 23) -Included, but also need a change to configure. +Patch to support sorting on floating point number. + +Ruby: ":ruby print $buffer.number" returns zero. setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11) @@ -138,6 +136,9 @@ and that it's documented. With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott, 2010 Oct 24) +Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10) +Alternative from Christian Brabandt. (2010 Sep 19) + Messages in message.txt are highlighted as examples. When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010 @@ -166,17 +167,33 @@ Echo starts in the wrong column: while 1 | let s = input('A') | echo 'R' | endw (Boyko Bantchev, 2010 Aug 9) +Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7) + Patch: Let rare word highlighting overrule good word highlighting. (Jakson A. Aquino, 2010 Jul 30) Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4) +Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12) + When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines instead of one. (Constantin Pan, 2010 Sep 10) +Writing nested List and Dict in viminfo gives error message and can't be read +back. (Yukihiro Nakadaira, 2010 Nov 13) + +Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone +makes his own wrapper). Add a magic string with the version number to the +.bat file and check for it in the uninstaller. E.g. + # uninstall key: vim7.3* + Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11) Additional info by Dominique Pelle. (also on 2010 Apr 10) +CreateFile and CreateFileW are used without sharing, filewritable() fails when +the file was already open (e.g. script is being sourced). Add FILE_SHARE_READ| +FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2) + Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29) Looks like only bash can do it. (Yakov Lerner) @@ -217,6 +234,9 @@ like it has ":keepjumps" before it. Coverity: ask someone to create new user: Dominique. Check if there are new reported defects: http://scan.coverity.com/rung2.html +Patch to support :undo absolute jump to file save number. (Christian Brabandt, +2010 Nov 5) + When setting 'undofile' while the file is already loaded, but unchanged, try to read the undo file. Requires computing a checksum of the text. (Andy Wokula) @@ -266,6 +286,9 @@ Invalid read error in Farsi mode. (Domin For running gvim on an USB stick: avoid the OLE registration. Use a command line argument -noregister. +When using an expression in 'statusline' leading white space sometimes goes +missing (but not always). (ZyX, 2010 Nov 1) + When a mapping exists both for insert mode and lang-insert mode, the last one doesn't work. (Tyru, 2010 May 6) Or is this intended? @@ -437,6 +460,11 @@ correct. Don't use it in the swap file. Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off. (Henrik Ohman, 2009, Jan 29) +shellescape() depends on 'shellshash' for quoting. That doesn't work when +'shellslash' is set but using cmd.exe. (Ben Fritz) +Use a different option or let it depend on whether 'shell' looks like a +unix-like shell? + Allow patches to add something to version.c, like with an official patch, so that :version output shows which patches have been applied. @@ -486,11 +514,6 @@ Having "Syntax" in 'eventignore' for :bu option only for when jumping to another buffer, not when the command argument is executed. -Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun -11) I can't reproduce it. It's probably caused by a handle_drop() call -in combination with autocommands that invoke a ":redraw" command. -Another valgrind output Jun 30. - ":pedit %" with a BufReadPre autocommand causes the cursor to move to the first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this. @@ -903,6 +926,8 @@ if_ruby.c. Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16) Needs more work. +Python3 interface doesn't handle utf-8 correctly? (Nov 2010, lilydjwg) + The need_fileinfo flag is messy. Instead make the message right away and put it in keep_msg? @@ -1564,6 +1589,8 @@ 8 When 'encoding' is different from th Athena GUI: +9 The first event for any button in the menu or toolbar appears to get lost. + The second click on a menu does work. 9 When dragging the scrollbar thumb very fast, focus is only obtained in the scrollbar itself. And the thumb is no longer updated when moving through files. @@ -4379,6 +4406,8 @@ 7 Make the debug mode history availabl Various improvements: +9 Python: be able to define a Python function that can be called directly + from Vim script. Requires converting the arguments and return value. 8 ":sign unplace * file={filename}" should work. Also: ":sign unplace * buffer={bufnr}". So one can remove all signs for one file/buffer. 7 Add plugins for formatting? Should be able to make a choice depending on
--- a/runtime/doc/usr_01.txt +++ b/runtime/doc/usr_01.txt @@ -1,4 +1,4 @@ -*usr_01.txt* For Vim version 7.3. Last change: 2008 May 07 +*usr_01.txt* For Vim version 7.3. Last change: 2010 Nov 03 VIM USER MANUAL - by Bram Moolenaar @@ -40,13 +40,20 @@ the commands and options used for it. U Press CTRL-] to jump to a subject under the cursor. Press CTRL-O to jump back (repeat to go further back). -Many links are in vertical bars, like this: |bars|. An option name, like -'number', a command in double quotes like ":write" and any other word can also -be used as a link. Try it out: Move the cursor to CTRL-] and press CTRL-] -on it. +Many links are in vertical bars, like this: |bars|. The bars themselves may +be hidden or invisible, see below. An option name, like 'number', a command +in double quotes like ":write" and any other word can also be used as a link. +Try it out: Move the cursor to CTRL-] and press CTRL-] on it. Other subjects can be found with the ":help" command, see |help.txt|. +The bars and stars are usually hidden with the |conceal| feature. They also +use |hl-Ignore|, using the same color for the text as the background. You can +make them visible with: > + :set conceallevel=0 + :hi link HelpBar Normal + :hi link HelpStar Normal + ============================================================================== *01.2* Vim installed
--- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.3. Last change: 2010 Jul 20 +*usr_41.txt* For Vim version 7.3. Last change: 2010 Oct 31 VIM USER MANUAL - by Bram Moolenaar @@ -793,6 +793,7 @@ Syntax and highlighting: *syntax-funct synID() get syntax ID at a specific position synIDattr() get a specific attribute of a syntax ID synIDtrans() get translated syntax ID + synstack() get list of syntax IDs at a specific position diff_hlID() get highlight ID for diff mode at a position matchadd() define a pattern to highlight (a "match") matcharg() get info about |:match| arguments
--- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.3. Last change: 2010 Sep 23 +*various.txt* For Vim version 7.3. Last change: 2010 Nov 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -101,6 +101,7 @@ 8g8 Find an illegal UTF-8 byte sequenc :[range]P[rint] [count] [flags] Just as ":print". Was apparently added to Vi for people that keep the shift key pressed too long... + Note: A user command can overrule this command. See |ex-flags| for [flags]. *:l* *:list*
--- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.3. Last change: 2010 Oct 20 +*version7.txt* For Vim version 7.3. Last change: 2010 Nov 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1673,7 +1673,7 @@ The GTK font dialog uses a font size zer size. Use a default size of 10. This example in the documentation didn't work: - :e `=foo . ".c" ` + :e `=foo . ".c"` Skip over the expression in `=expr` when looking for comments, |, % and #. When ":helpgrep" doesn't find anything there is no error message.
--- a/runtime/doc/vim2html.pl +++ b/runtime/doc/vim2html.pl @@ -214,7 +214,7 @@ EOF } # main -usage() if $#ARGV < 2; +usage() if $#ARGV < 1; print "Processing tags...\n"; readTagFile( $ARGV[ 0 ] );
--- a/runtime/plugin/tohtml.vim +++ b/runtime/plugin/tohtml.vim @@ -1,23 +1,60 @@ " Vim plugin for converting a syntax highlighted file to HTML. " Maintainer: Ben Fritz <fritzophrenic@gmail.com> -" Last Change: 2010 Aug 12 +" Last Change: 2010 Oct 28 " " The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and " $VIMRUNTIME/syntax/2html.vim " " TODO: +" * Patch to leave tab characters in when noexpandtab set (Andy Spencer) +" * Make folds show up when using a range and dynamic folding +" * Remove fold column when there are no folds and using dynamic folding " * Restore open/closed folds and cursor position after processing each file " with option not to restore for speed increase " * Add extra meta info (generation time, etc.) -" * Tidy up so we can use strict doctype more? +" * Tidy up so we can use strict doctype in even more situations? " * Implementation detail: add threshold for writing the lines to the html " buffer before we're done (5000 or so lines should do it) " * TODO comments for code cleanup scattered throughout +" +" +" Changelog: +" 7.3_v7 (this version): see betas released on vim_dev below: +" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way. +" 7.3_v7b2: Remove automatic detection of encodings that are not +" supported by all major browsers according to +" http://wiki.whatwg.org/wiki/Web_Encodings and convert +" to UTF-8 for all Unicode encodings. Make HTML +" encoding to Vim encoding detection be +" case-insensitive for built-in pairs. +" 7.3_v7b1: Remove use of setwinvar() function which cannot be +" called in restricted mode (Andy Spencer). Use +" 'fencoding' instead of 'encoding' to determine by +" charset, and make sure the 'fenc' of the generated +" file matches its indicated charset. Add charsets for +" all of Vim's natively supported encodings. +" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other +" user settings interfering with diff mode generation, +" trailing whitespace (e.g. line number column) when +" using html_no_pre, and bugs when using +" html_hover_unfold. +" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync +" folds in diff mode when first line was folded. +" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode. +" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css +" default to true when not set to anything. Use strict +" doctypes where possible. Rename use_xhtml option to +" html_use_xhtml for consistency. Use .xhtml extension +" when using this option. Add meta tag for settings. +" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the +" diff colors and the normal syntax colors +" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output +" Pre-v1 baseline: Mercurial changeset 3c9324c0800e if exists('g:loaded_2html_plugin') finish endif -let g:loaded_2html_plugin = 'vim7.3_v6' +let g:loaded_2html_plugin = 'vim7.3_v7' " Define the :TOhtml command when: " - 'compatible' is not set
--- a/runtime/syntax/2html.vim +++ b/runtime/syntax/2html.vim @@ -1,6 +1,6 @@ " Vim syntax support file " Maintainer: Ben Fritz <fritzophrenic@gmail.com> -" Last Change: 2010 Aug 12 +" Last Change: 2010 Sep 04 " " Additional contributors: " @@ -265,6 +265,19 @@ set paste let s:old_magic = &magic set magic +" set the fileencoding to match the charset we'll be using +let &l:fileencoding=s:settings.vim_encoding + +" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte +" order mark is highly recommend on the web when using multibyte encodings. But, +" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim +" determine when it is actually inserted. +if s:settings.vim_encoding == 'utf-8' + setlocal nobomb +else + setlocal bomb +endif + let s:lines = [] if s:settings.use_xhtml @@ -1071,14 +1084,14 @@ let &magic = s:old_magic let @/ = s:old_search let &more = s:old_more exe s:orgwin . "wincmd w" +let &l:stl = s:origwin_stl let &l:et = s:old_et let &l:scrollbind = s:old_bind exe s:newwin . "wincmd w" +let &l:stl = s:newwin_stl exec 'resize' s:old_winheight let &l:winfixheight = s:old_winfixheight -call setwinvar(s:orgwin,'&stl', s:origwin_stl) -call setwinvar(s:newwin,'&stl', s:newwin_stl) let &ls=s:ls " Save a little bit of memory (worth doing?)
--- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) -" Last Change: 2009 May 18 +" Last Change: 2010 Nov 03 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -30,6 +30,7 @@ syn match helpVim "VIM REFERENCE.*" syn match helpOption "'[a-z]\{2,\}'" syn match helpOption "'t_..'" syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore +syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore syn match helpIgnore "." contained conceal syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes: syn match helpSpecial "\<N\>"
--- a/runtime/syntax/xf86conf.vim +++ b/runtime/syntax/xf86conf.vim @@ -1,8 +1,8 @@ " Vim syntax file " This is a GENERATED FILE. Please always refer to source file at the URI below. " Language: XF86Config (XFree86 configuration file) -" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> -" Last Change: 2005 Jul 12 +" Former Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> +" Last Change: 2010 Nov 01 " URL: http://trific.ath.cx/Ftp/vim/syntax/xf86conf.vim " Required Vim Version: 6.0 " @@ -63,7 +63,7 @@ syn match xf86confModeLineValue "\"[^\"] " Sections and subsections if b:xf86conf_xfree86_version >= 4 - syn region xf86confSection matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\)\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confComment,xf86confOption,xf86confKeyword,xf86confSectionError + syn region xf86confSection matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\|InputClass\)\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confComment,xf86confOption,xf86confKeyword,xf86confSectionError syn region xf86confSectionModule matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Module\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionAny,xf86confComment,xf86confOption,xf86confKeyword syn region xf86confSectionMonitor matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Monitor\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionMode,xf86confModeLine,xf86confComment,xf86confOption,xf86confKeyword syn region xf86confSectionModes matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Modes\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionMode,xf86confModeLine,xf86confComment @@ -165,7 +165,7 @@ syn match xf86confSync "\(\s\+[+-][CHV]_ " Synchronization if b:xf86conf_xfree86_version >= 4 - syn sync match xf86confSyncSection grouphere xf86confSection "^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\)\"" + syn sync match xf86confSyncSection grouphere xf86confSection "^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\|InputClass\)\"" syn sync match xf86confSyncSectionModule grouphere xf86confSectionModule "^\s*Section\s\+\"Module\"" syn sync match xf86confSyncSectionModes groupthere xf86confSectionModes "^\s*Section\s\+\"Modes\"" else
--- a/src/po/ko.UTF-8.po +++ b/src/po/ko.UTF-8.po @@ -6142,7 +6142,7 @@ msgid "E485: Can't read file %s" msgstr "E485: %s 파일을 읽을 수 없습니다" msgid "E37: No write since last change (add ! to override)" -msgstr "E37: 마지막으로 고친 뒤 저장되지 않았습니다 (덮어쓰려면 ! 더하기)" +msgstr "E37: 마지막으로 고친 뒤 저장되지 않았습니다 (무시하려면 ! 더하기)" msgid "E38: Null argument" msgstr "E38: 널 인자"