# HG changeset patch # User vimboss # Date 1143154797 0 # Node ID 95dac6af3b3a8f50af24432b7e355ea44ec69f95 # Parent a1a08851eac8bd1969f85ffb9642d4b2b4f18556 updated for version 7.0232 diff --git a/runtime/autoload/netrwFileHandlers.vim b/runtime/autoload/netrwFileHandlers.vim --- a/runtime/autoload/netrwFileHandlers.vim +++ b/runtime/autoload/netrwFileHandlers.vim @@ -1,8 +1,8 @@ " netrwFileHandlers: contains various extension-based file handlers for " netrw's browsers' x command ("eXecute launcher") " Author: Charles E. Campbell, Jr. -" Date: Feb 15, 2006 -" Version: 8a ASTRO-ONLY +" Date: Mar 22, 2006 +" Version: 8 " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Permission is hereby granted to use and distribute this code, " with or without modifications, provided that this copyright @@ -22,7 +22,7 @@ if exists("g:loaded_netrwFileHandlers") endif let s:keepcpo= &cpo set cpo&vim -let g:loaded_netrwFileHandlers= "v8a" +let g:loaded_netrwFileHandlers= "v8" " --------------------------------------------------------------------- " netrwFileHandlers#Invoke: {{{2 diff --git a/runtime/autoload/netrwSettings.vim b/runtime/autoload/netrwSettings.vim --- a/runtime/autoload/netrwSettings.vim +++ b/runtime/autoload/netrwSettings.vim @@ -1,7 +1,7 @@ " netrwSettings.vim: makes netrw settings simpler -" Date: Jan 26, 2006 +" Date: Mar 22, 2006 " Maintainer: Charles E Campbell, Jr -" Version: 6a ASTRO-ONLY +" Version: 6 " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Permission is hereby granted to use and distribute this code, " with or without modifications, provided that this copyright @@ -19,7 +19,7 @@ if exists("g:loaded_netrwSettings") || &cp finish endif -let g:loaded_netrwSettings = "v6a" +let g:loaded_netrwSettings = "v6" " --------------------------------------------------------------------- " NetrwSettings: {{{1 @@ -56,10 +56,10 @@ fun! netrwSettings#NetrwSettings() let g:netrw_ignorenetrc= 0 endif - put ='+ --------------------------------------------' - put ='+ NetrwSettings: by Charles E. Campbell, Jr.' - put ='+ Press ? with cursor atop any line for help ' - put ='+ --------------------------------------------' + put ='+ ---------------------------------------------' + put ='+ NetrwSettings: by Charles E. Campbell, Jr.' + put ='+ Press with cursor atop any line for help' + put ='+ ---------------------------------------------' let s:netrw_settings_stop= line(".") put ='' @@ -132,7 +132,7 @@ fun! netrwSettings#NetrwSettings() set nomod - map ? :call NetrwSettingHelp() + map :call NetrwSettingHelp() let tmpfile= tempname() exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod' endfun diff --git a/runtime/autoload/zip.vim b/runtime/autoload/zip.vim --- a/runtime/autoload/zip.vim +++ b/runtime/autoload/zip.vim @@ -1,7 +1,7 @@ " zip.vim: Handles browsing zipfiles " AUTOLOAD PORTION -" Date: Dec 21, 2005 -" Version: 6 +" Date: Mar 22, 2006 +" Version: 7 " Maintainer: Charles E Campbell, Jr " License: Vim License (see vim's :help license) " Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1 @@ -22,7 +22,8 @@ if exists("g:loaded_zip") finish endif -let g:loaded_zip= "v6" +let g:loaded_zip = "v7" +let s:zipfile_escape = ' ?&;\' " ---------------- " Functions: {{{1 @@ -53,6 +54,7 @@ fun! zip#Browse(zipfile) " call Dret("zip#Browse : file<".a:zipfile."> not readable") return endif +" call Decho("passed sanity checks") if &ma != 1 set ma endif @@ -73,7 +75,8 @@ fun! zip#Browse(zipfile) 0d $ - exe "silent r! unzip -l ".a:zipfile + call Decho("exe silent r! unzip -l '".escape(a:zipfile,s:zipfile_escape)."'") + exe "silent r! unzip -l '".escape(a:zipfile,s:zipfile_escape)."'" $d silent 4,$v/^\s\+\d\+\s\{0,5}\d/d silent 4,$s/^\%(.*\)\s\+\(\S\)/\1/ @@ -111,12 +114,15 @@ fun! s:ZipBrowseSelect() " get zipfile to the new-window let zipfile= substitute(w:zipfile,'.zip$','','e') - let curfile= expand("%") + let curfile= escape(expand("%"),s:zipfile_escape) +" call Decho("zipfile<".zipfile.">") +" call Decho("curfile<".curfile.">") new wincmd _ let s:zipfile_{winnr()}= curfile - exe "e zipfile:".zipfile.':'.fname +" call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).':'.fname) + exe "e zipfile:".escape(zipfile,s:zipfile_escape).':'.fname filetype detect let &report= repkeep @@ -130,11 +136,12 @@ fun! zip#Read(fname,mode) let repkeep= &report set report=10 - let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):.*$','\1','') - let fname = substitute(a:fname,'zipfile:.\{-}:\(.*\)$','\1','') + let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):[^\\].*$','\1','') + let fname = substitute(a:fname,'zipfile:.\{-}:\([^\\].*\)$','\1','') " call Decho("zipfile<".zipfile."> fname<".fname.">") - exe "r! unzip -p ".zipfile." ".fname +" call Decho("exe r! unzip -p '".escape(zipfile,s:zipfile_escape)."' ".fname) + exe "r! unzip -p '".escape(zipfile,s:zipfile_escape)."' ".fname " cleanup 0d diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0aa. Last change: 2006 Mar 21 +*eval.txt* For Vim version 7.0aa. Last change: 2006 Mar 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3591,7 +3591,7 @@ getpos({expr}) Get the position for {exp This can be used to save and restore the cursor position: > let save_cursor = getpos(".") MoveTheCursorAround - call setpos(save_cursor) + call setpos('.', save_cursor) < Also see |setpos()|. prevnonblank({lnum}) *prevnonblank()* @@ -4225,6 +4225,7 @@ setpos({expr}, {list}) the current buffer. To set a mark in another buffer you can use the |bufnr()| function to turn a file name into a buffer number. + Does not change the jumplist. "lnum" and "col" are the position in the buffer. The first column is 1. Use a zero "lnum" to delete a mark. @@ -4918,8 +4919,8 @@ winsaveview() Returns a |Dictionary| tha This is useful if you have a mapping that jumps around in the buffer and you want to go back to the original view. This does not save fold information. Use the 'foldenable' - option to temporarily switch of folding, so that folds are not - opened when moving around. + option to temporarily switch off folding, so that folds are + not opened when moving around. The return value includes: lnum cursor line number col cursor column diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 7.0aa. Last change: 2006 Mar 09 +*filetype.txt* For Vim version 7.0aa. Last change: 2006 Mar 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -148,6 +148,7 @@ can be used to overrule the filetype use *.i g:filetype_i |ft-progress-syntax| *.p g:filetype_p |ft-pascal-syntax| *.sh g:bash_is_sh |ft-sh-syntax| + *.tex g:tex_flavor |ft-tex-plugin| *filetype-ignore* To avoid that certain files are being inspected, the g:ft_ignore_pat variable @@ -542,4 +543,16 @@ Since the text for this plugin is rather file: |sql.txt|. +TEX *ft-tex-plugin* + +If the first line of a *.tex file has the form > + %& +then this determined the file type: plaintex (for plain TeX), context (for +ConTeXt), or tex (for LaTeX). Otherwise, the file is searched for keywords to +choose context or tex. If no keywords are found, it defaults to tex. You can +change the default by defining the variable g:tex_flavor to the format (not +the file type) you use most: plain or context or latex. (Currently no other +formats are recognized.) + + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 7.0aa. Last change: 2006 Mar 20 +*quickfix.txt* For Vim version 7.0aa. Last change: 2006 Mar 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -189,6 +189,15 @@ command with 'l'. :lb[uffer] [bufnr] Same as ":cbuffer", except the location list for the current window is used instead of the quickfix list. + *:cgetb* *:cgetbuffer* +:cgetb[uffer] [bufnr] Read the error list from the current buffer. Just + like ":cbuffer" but don't jump to the first error. + + *:lgetb* *:lgetbuffer* +:lgetb[uffer] [bufnr] Same as ":cgetbuffer", except the location list for + the current window is used instead of the quickfix + list. + *:caddb* *:caddbuffer* :caddb[uffer] [bufnr] Read the error list from the current buffer and add the errors to the current quickfix list. If a @@ -231,6 +240,14 @@ command with 'l'. :lad[dexpr][!] {expr} Same as ":caddexpr", except the location list for the current window is used instead of the quickfix list. + *:cgete* *:cgetexpr* +:cgete[xpr][!] {expr} Create a quickfix list using the result of {expr}. + Just like ":cexpr", but don't jump to the first error. + + *:lgete* *:lgetexpr* +:lgete[xpr][!] {expr} Same as ":cgetexpr", except the location list for the + current window is used instead of the quickfix list. + *:cl* *:clist* :cl[ist] [from] [, [to]] List all errors that are valid |quickfix-valid|. diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1849,6 +1849,10 @@ 90.5 usr_90.txt /*90.5* :cfir quickfix.txt /*:cfir* :cfirst quickfix.txt /*:cfirst* :cg quickfix.txt /*:cg* +:cgetb quickfix.txt /*:cgetb* +:cgetbuffer quickfix.txt /*:cgetbuffer* +:cgete quickfix.txt /*:cgete* +:cgetexpr quickfix.txt /*:cgetexpr* :cgetfile quickfix.txt /*:cgetfile* :ch change.txt /*:ch* :change change.txt /*:change* @@ -2188,6 +2192,10 @@ 90.5 usr_90.txt /*90.5* :lfir quickfix.txt /*:lfir* :lfirst quickfix.txt /*:lfirst* :lg quickfix.txt /*:lg* +:lgetb quickfix.txt /*:lgetb* +:lgetbuffer quickfix.txt /*:lgetbuffer* +:lgete quickfix.txt /*:lgete* +:lgetexpr quickfix.txt /*:lgetexpr* :lgetfile quickfix.txt /*:lgetfile* :lgr quickfix.txt /*:lgr* :lgrep quickfix.txt /*:lgrep* @@ -5299,6 +5307,7 @@ ft-sqlinformix-syntax syntax.txt /*ft-sq ft-syntax-omni insert.txt /*ft-syntax-omni* ft-tcsh-syntax syntax.txt /*ft-tcsh-syntax* ft-termcap-syntax syntax.txt /*ft-termcap-syntax* +ft-tex-plugin filetype.txt /*ft-tex-plugin* ft-tex-syntax syntax.txt /*ft-tex-syntax* ft-tf-syntax syntax.txt /*ft-tf-syntax* ft-vb-syntax syntax.txt /*ft-vb-syntax* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2006 Mar 21 +*todo.txt* For Vim version 7.0aa. Last change: 2006 Mar 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,11 +30,8 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- -HTML indenting can be slow, find out why. - -Adjust src/main.aap for installing manpages like in Makefile. - And for generating Vim.app for the Mac. - Install spell files with src/main.aap. +Include patch for recognizing TeX flavor. (Benji Fisher) +And new tex.vim and plaintex.vim. Win32: Describe how to do debugging. (George Reilly) @@ -50,6 +47,12 @@ 8 Add patch from Muraoka Taro (Mar 16) Darren is including the patch in ctags. Test it when it's ready. Change "typename" to "typeref" in C complete code. +HTML indenting can be slow. Caused by using searchpair(). Can search() be +used instead? + +ccomplete: use "signature:" field from tags file when it's present. +Or list all the fields? (Martin Stubenschrott) + Add more tests for all new functionality in Vim 7. Especially new functions. Add text in user manual for using the undo tree. Example with finding the @@ -1129,7 +1132,7 @@ Spell checking: means the compound flags of the word are not used. Instead of "SFX a 0 add/FLAGS ." we could use "SFX a 0 add . /FLAGS" (or support both). -- Support breakpoint character 0xb7 and ignore it? Makes it possible to +- Support breakpoint character ? 0xb7 and ignore it? Makes it possible to use same wordlist for hyphenation. - Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file? diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -756,6 +756,13 @@ It is possible to add translated help fi files. Vim will search for all help in "doc" directories in 'runtimepath'. This is only available when compiled with the |+multi_lang| feature. +At this moment translations are available for: + Chinese - multiple authors + French - translated by David Blanchet + Italian - translated by Antonio Colombo + Russian - translated by Vassily Ragosin +See the Vim website to find them: http://www.vim.org/translations.php + A set of translated help files consists of these files: help.abx diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2006 Mar 21 +*version7.txt* For Vim version 7.0aa. Last change: 2006 Mar 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -609,24 +609,27 @@ Win32: The ":winpos" command now also wo |:viusage| Help for Vi commands (Nvi command). -|:cbuffer| Read error lines from a buffer. (partly by Yegappan - Lakshmanan) - |:sort| Sort lines in the buffer without depending on an external command. |:caddfile| Add error messages to an existing quickfix list (Yegappan Lakshmanan). - +|:cbuffer| Read error lines from a buffer. (partly by Yegappan + Lakshmanan) +|:cgetbuffer| Create a quickfix list from a buffer but don't jump to + the first error. +|:caddbuffer| Add errors from the current buffer to the quickfix + list. |:cexpr| Read error messages from a Vim expression (Yegappan Lakshmanan). - |:caddexpr| Add error messages from a Vim expression to an existing quickfix list. (Yegappan Lakshmanan). -|:caddbuffer| Add errors from the current buffer to the quickfix - list. +|:cgetexpr| Create a quickfix list from a Vim expression, but + don't jump to the first error. (Yegappan Lakshmanan). |:lfile| Like |:cfile| but use the location list. +|:lgetbuffer| Like |:cgetbuffer| but use the location list. +|:lgetexpr| Like |:cgetexpr| but use the location list. |:lgetfile| Like |:cgetfile| but use the location list. |:laddfile| Like |:caddfile| but use the location list. |:lbuffer| Like |:cbuffer| but use the location list. diff --git a/runtime/filetype.vim b/runtime/filetype.vim --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2006 Mar 21 +" Last Change: 2006 Mar 23 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -638,7 +638,7 @@ au BufNewFile,BufRead *.t.html setf ti " HTML (.shtml and .stm for server side) au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call s:FThtml() -" Distinguish between HTML and XHTML +" Distinguish between HTML, XHTML and Django fun! s:FThtml() let n = 1 while n < 10 && n < line("$") @@ -646,6 +646,10 @@ fun! s:FThtml() setf xhtml return endif + if getline(n) =~ '{%\s*\(extends\|block\)\>' + setf htmldjango + return + endif let n = n + 1 endwhile setf html diff --git a/runtime/keymap/greek_cp737.vim b/runtime/keymap/greek_cp737.vim new file mode 100644 --- /dev/null +++ b/runtime/keymap/greek_cp737.vim @@ -0,0 +1,104 @@ +" Vim Keymap file for greek DOS cp737 +" Maintainer: Panagiotis Louridas +" Last Updated: Thu Mar 23 14:05:45 EET 2006 + +" This keyboard layout allows all Greek symbols to be typed, +" including accented capitals and diaeresis. It does not +" include diaeresis and accent on the same vowel, nor +" the greek quotes, as these were not included in the codepage. +" It includes the Greek semicolon sign. + +" +" accent ";" + letter +" diaeresis ":" + letter +" diaeresis + accent ";" + ":" (or ":" + ";") + letter +" semicolon "q" +" colon "Q" +" greek semicolon "W" +" sigma at end of word "w" + +" Use this short name in the status line. +let b:keymap_name = "greek" + +loadkeymap +" capital +A " +B " +G " +D " +E " +Z " +H " +U " +I " +K " +L " +M " +N " +J " +O " +P " +R " +S " +T " +Y " +F " +X " +C " +V " + +" small +a " +b " +g " +d " +e " +z " +h " +u " +i " +k " +l " +m " +n " +j " +o " +p " +r " +s " +w " +t " +y " +f " +x " +c " +v " + +" accented capital +;A " +;E " +;H " +;I " +;O " +;Y " +;V " +" +:I " +:Y " + +" accented small +;a " +;e " +;h " +;i " +;o " +;y " +;v " +" +:i " +:y " +" +" symbols +q ; " ; +Q : " : +W " diff --git a/runtime/plugin/vimball.vim b/runtime/plugin/vimball.vim deleted file mode 100644 --- a/runtime/plugin/vimball.vim +++ /dev/null @@ -1,256 +0,0 @@ -" vimball : construct a file containing both paths and files -" Author: Charles E. Campbell, Jr. -" Date: Mar 20, 2006 -" Version: 3 -" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim -" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. -" The VIM LICENSE applies to Vimball.vim, and Vimball.txt -" (see |copyright|) except use "Vimball" instead of "Vim". -" No warranty, express or implied. -" *** *** Use At-Your-Own-Risk! *** *** - -" --------------------------------------------------------------------- -" Load Once: {{{1 -if &cp || exists("g:loaded_vimball") - finish -endif - -let s:keepcpo = &cpo -let g:loaded_vimball = "v3" -set cpo&vim - -" ------------------------------------------------------------------------------ -" Public Interface: {{{1 -com! -ra -na=+ -bang MkVimball call s:MkVimball(,,0,) -com! -na=0 UseVimball call s:Vimball(1) -com! -na=0 VimballList call s:Vimball(0) -au BufReadPost *.vba echohl WarningMsg | echo "Source this file to extract it! (:so %)" | echohl None - -" ===================================================================== -" Functions: {{{1 - -" --------------------------------------------------------------------- -" MkVimball: creates a vimball given a list of paths to files {{{2 -" Vimball Format: -" path -" filesize -" [file] -" path -" filesize -" [file] -fun! s:MkVimball(line1,line2,writelevel,vimballname) range -" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:vimballname.">") - let vbname= substitute(a:vimballname,'\.[^.]*$','','e').'.vba' - if !a:writelevel && filereadable(vbname) - echohl Error | echoerr "(MkVimball) file<".vbname."> exists; use ! to insist" | echohl None -" call Dret("MkVimball : file<".vbname."> already exists; use ! to insist") - return - endif - - " user option bypass - let eikeep= &ei - set ei=all - - let home = substitute(&rtp,',.*$','','') - let curdir = getcwd() - exe "cd ".home - - " record current tab, initialize while loop index - let curtabnr = tabpagenr() - let linenr = a:line1 -" call Decho("curtabnr=".curtabnr) - - while linenr <= a:line2 - let svfile = getline(linenr) -" call Decho("svfile<".svfile.">") - - if !filereadable(svfile) - echohl Error | echo "unable to read file<".svfile.">" | echohl None - let &ei= eikeep - exe "cd ".curdir -" call Dret("MkVimball") - return - endif - - " create/switch to mkvimball tab - if !exists("vbtabnr") - tabnew - silent! file Vimball - let vbtabnr= tabpagenr() - else - exe "tabn ".vbtabnr - endif - - let lastline= line("$") + 1 - if lastline == 2 && getline("$") == "" - call setline(1,'" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.') - call setline(2,'UseVimball') - call setline(3,'finish') - let lastline= 4 - endif - call setline(lastline ,svfile) - call setline(lastline+1,0) - exe "$r ".svfile - call setline(lastline+1,line("$") - lastline - 1) -" call Decho("lastline=".lastline." line$=".line("$")) - - " restore to normal tab - exe "tabn ".curtabnr - let linenr= linenr + 1 - endwhile - - " write the vimball - exe "tabn ".vbtabnr - exe "cd ".curdir - if a:really - if a:writelevel - exe "w! ".vbname - else - exe "w ".vbname - endif - endif -" call Decho("Vimball<".vbname."> created") - echo "Vimball<".vbname."> created" - - " remove the evidence - setlocal nomod bh=wipe - exe "tabn ".curtabnr - exe "tabc ".vbtabnr - - " restore options - let &ei= eikeep - -" call Dret("MkVimball") -endfun - -" --------------------------------------------------------------------- -" Vimball: {{{2 -fun! s:Vimball(really) -" call Dfunc("Vimball(really=".a:really.")") - - if getline(1) !~ '^" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.$' - echoerr "(Vimball) The current file does not appear to be a Vimball!" -" call Dret("Vimball") - return - endif - - " initialize - let regakeep = @a - let eikeep = &ei - let vekeep = &ve - let makeep = getpos("'a") - let curtabnr = tabpagenr() - set ei=all ve=all - - " set up vimball tab - tabnew - silent! file Vimball - let vbtabnr= tabpagenr() - let didhelp= "" - - " go to vim plugin home - let home = substitute(&rtp,',.*$','','') - let curdir = getcwd() -" call Decho("exe cd ".home) - exe "cd ".home - let linenr = 4 - let filecnt = 0 - - " give title to listing of (extracted) files from Vimball Archive - if a:really - echohl Title | echomsg "Vimball Archive" | echohl None - else - echohl Title | echomsg "Vimball Archive Listing" | echohl None - endif - - " apportion vimball contents to various files -" call Decho("exe tabn ".curtabnr) - exe "tabn ".curtabnr -" call Decho("linenr=".linenr." line$=".line("$")) - while 1 < linenr && linenr < line("$") - let fname = getline(linenr) - let fsize = getline(linenr+1) - let filecnt = filecnt + 1 - if a:really - echomsg "extracted <".fname.">: ".fsize." lines" - else - echomsg "would extract <".fname.">: ".fsize." lines" - endif -" call Decho(linenr.": will extract file<".fname.">") -" call Decho((linenr+1).": fsize=".fsize) - - " make directories if they don't exist yet - let fnamebuf= fname - while fnamebuf =~ '/' - let dirname = substitute(fnamebuf,'/.*$','','e') - let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','e') - if !isdirectory(dirname) -" call Decho("making <".dirname.">") - call mkdir(dirname) - endif - exe "cd ".dirname - endwhile - exe "cd ".home - - " grab specified qty of lines and place into "a" buffer - exe linenr - norm! jjma - exe (linenr + fsize + 1) - silent norm! "ay'a -" call Decho("yanked ".fsize." lines into register-a") - -" call Decho("didhelp<".didhelp."> fname<".fname.">") - if didhelp == "" && fname =~ 'doc/[^/]\+\.txt$' - let didhelp= substitute(fname,'^\(.*\") - endif - - " copy "a" buffer into tab -" call Decho('copy "a buffer into tab#'.vbtabnr) - exe "tabn ".vbtabnr - silent! %d - silent norm! "aPGdd1G -" call Decho("rega<".@a.">") - - " write tab to file -" call Decho("exe w! ".fname) - exe "silent w! ".fname - -" call Decho("exe tabn ".curtabnr) - exe "tabn ".curtabnr -" let oldlinenr = linenr " Decho - let linenr = linenr + fsize + 2 -" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] + 2 = ".linenr) - endwhile - - " set up help -" call Decho("about to set up help: didhelp<".didhelp.">") - if didhelp != "" -" call Decho("exe helptags ".home."/".didhelp) - exe "helptags ".home."/".didhelp - echomsg "did helptags" - endif - - " make sure a "Press ENTER..." prompt appears to keep the messages showing! - while filecnt < &ch - echomsg " " - let filecnt= filecnt + 1 - endwhile - - " restore events, delete tab and buffer - exe "tabn ".vbtabnr - setlocal nomod bh=wipe - exe "tabn ".curtabnr - exe "tabc ".vbtabnr - let &ei= eikeep - let @a = regakeep - if makeep[0] != 0 - " restore mark a -" call Decho("restore mark-a: makeep=".string(makeep)) - call setpos("'a",makeep) - ka - endif - exe "cd ".curdir - -" call Dret("Vimball") -endfun diff --git a/runtime/syntax/django.vim b/runtime/syntax/django.vim new file mode 100644 --- /dev/null +++ b/runtime/syntax/django.vim @@ -0,0 +1,72 @@ +" Vim syntax file +" Language: Django template +" Maintainer: Dave Hodder +" Last Change: 2006 Mar 23 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syntax case match + +" Django template built-in tags and parameters +" 'comment' doesn't appear here because it gets special treatment +syn keyword djangoStatement contained as block endblock by cycle debug else +syn keyword djangoStatement contained extends filter endfilter firstof for +syn keyword djangoStatement contained endfor if endif ifchanged endifchanged +syn keyword djangoStatement contained ifequal endifequal ifnotequal +syn keyword djangoStatement contained endifnotequal in include load not now or +syn keyword djangoStatement contained parsed regroup reversed spaceless +syn keyword djangoStatement contained endspaceless ssi templatetag openblock +syn keyword djangoStatement contained closeblock openvariable closevariable +syn keyword djangoStatement contained widthratio with + +" Django templete built-in filters +syn keyword djangoFilter contained add addslashes capfirst center cut date +syn keyword djangoFilter contained default default_if_none dictsort +syn keyword djangoFilter contained dictsortreversed divisibleby escape +syn keyword djangoFilter contained filesizeformat first fix_ampersands +syn keyword djangoFilter contained floatformat get_digit join length length_is +syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust +syn keyword djangoFilter contained lower make_list phone2numeric pluralize +syn keyword djangoFilter contained pprint random removetags rjust slice slugify +syn keyword djangoFilter contained stringformat striptags time timesince title +syn keyword djangoFilter contained truncatewords unordered_list upper urlencode +syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno + +" Django template constants (always surrounded by double quotes) +syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/ + +" Django template tag and variable blocks +syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument display +syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument display + +" Django template 'comment' tag +syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_django_syn_inits") + if version < 508 + let did_django_syn_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink djangoTagBlock PreProc + HiLink djangoVarBlock PreProc + HiLink djangoStatement Statement + HiLink djangoFilter Identifier + HiLink djangoArgument Constant + HiLink djangoComment Comment + + delcommand HiLink +endif + +let b:current_syntax = "django" diff --git a/runtime/syntax/htmldjango.vim b/runtime/syntax/htmldjango.vim new file mode 100644 --- /dev/null +++ b/runtime/syntax/htmldjango.vim @@ -0,0 +1,30 @@ +" Vim syntax file +" Language: Django HTML template +" Maintainer: Dave Hodder +" Last Change: 2006 Mar 06 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'html' +endif + +if version < 600 + so :p:h/django.vim + so :p:h/html.vim +else + runtime! syntax/django.vim + runtime! syntax/html.vim + unlet b:current_syntax +endif + +syntax cluster htmlPreproc add=djangoPlaceHolder +syntax cluster htmlString add=djangoPlaceHolder + +let b:current_syntax = "htmldjango" diff --git a/src/Makefile b/src/Makefile --- a/src/Makefile +++ b/src/Makefile @@ -1857,8 +1857,8 @@ installtutor: $(DEST_RT) $(DEST_TUTOR) # spell file is there. installspell: $(DEST_VIM) $(DEST_RT) $(DEST_SPELL) if test -f $(SPELLSOURCE)/en.latin1.spl; then \ - $(INSTALL_DATA) $(SPELLSOURCE)/*.spl $(SPELLSOURCE)/*.vim $(DEST_SPELL); \ - chmod $(HELPMOD) $(DEST_SPELL)/*.spl $(DEST_SPELL)/*.vim; \ + $(INSTALL_DATA) $(SPELLSOURCE)/*.spl $(SPELLSOURCE)/*.sug $(SPELLSOURCE)/*.vim $(DEST_SPELL); \ + chmod $(HELPMOD) $(DEST_SPELL)/*.spl $(DEST_SPELL)/*.sug $(DEST_SPELL)/*.vim; \ fi # install helper program xxd @@ -2029,7 +2029,7 @@ installgvimdiff: $(DEST_BIN)/$(GVIMDIFFT $(DEST_BIN)/$(EVIEWTARGET): cd $(DEST_BIN); ln -s $(VIMTARGET) $(EVIEWTARGET) -# create links for the manual pages with various names to vim. This is only +# Create links for the manual pages with various names to vim. This is only # done when the links (or manpages with the same name) don't exist yet. INSTALLMLARGS = $(VIMNAME) $(VIMDIFFNAME) $(EVIMNAME) \ @@ -2520,6 +2520,8 @@ install_macosx: gui_bundle # Remove the link to the runtime dir, don't want to copy all of that. -rm $(RESDIR)/vim/runtime $(INSTALL_DATA_R) $(APPDIR) $(DESTDIR)$(prefix) +# Generate the help tags file now, it won't work with "make installruntime". + -@srcdir=`pwd`; cd $(HELPSOURCE); $(MAKE) VIMEXE=$$srcdir/$(VIMTARGET) vimtags # Install the runtime files. Recursive! -mkdir -p $(DESTDIR)$(prefix)/$(RESDIR)/vim/runtime # -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/bin @@ -2538,7 +2540,6 @@ gui_bundle: $(RESDIR) bundle-dir bundle- mkdir -p $@ bundle-dir: $(APPDIR)/Contents $(VIMTARGET) - -@srcdir=`pwd`; cd $(HELPSOURCE); $(MAKE) VIMEXE=$$srcdir/$(VIMTARGET) vimtags # Make a link to the runtime directory, so that we can try out the executable # without installing it. mkdir -p $(RESDIR)/vim diff --git a/src/config.mk.in b/src/config.mk.in --- a/src/config.mk.in +++ b/src/config.mk.in @@ -135,8 +135,6 @@ NARROW_PROTO = @NARROW_PROTO@ GUI_X_LIBS = @GUI_X_LIBS@ MOTIF_LIBNAME = @MOTIF_LIBNAME@ GTK_LIBNAME = @GTK_LIBNAME@ -KDE_PREFIX = @KDE_PREFIX@ -MOC = @MOC@ ### Any OS dependent extra source and object file OS_EXTRA_SRC = @OS_EXTRA_SRC@ diff --git a/src/configure.in b/src/configure.in --- a/src/configure.in +++ b/src/configure.in @@ -169,9 +169,9 @@ if test "`(uname) 2>/dev/null`" = Darwin fi fi - dnl Avoid a bug with -O2 with gcc 4.0. Symptom: malloc() reports double + dnl Avoid a bug with -O2 with gcc 4.0.1. Symptom: malloc() reports double dnl free. This happens in expand_filename(), because the optimizer swaps - dnl two blocks of code that use "repl" that can't be swapped. + dnl two blocks of code, both using "repl", that can't be swapped. if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'` fi diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -1661,11 +1661,12 @@ ex_let(eap) int var_count = 0; int semicolon = 0; char_u op[2]; - - expr = skip_var_list(arg, &var_count, &semicolon); - if (expr == NULL) - return; - expr = vim_strchr(expr, '='); + char_u *argend; + + argend = skip_var_list(arg, &var_count, &semicolon); + if (argend == NULL) + return; + expr = vim_strchr(argend, '='); if (expr == NULL) { /* @@ -1692,7 +1693,7 @@ ex_let(eap) { op[0] = '='; op[1] = NUL; - if (expr > arg) + if (expr > argend) { if (vim_strchr((char_u *)"+-.", expr[-1]) != NULL) op[0] = expr[-1]; /* +=, -= or .= */ @@ -12664,7 +12665,8 @@ list2proftime(arg, tm) n1 = list_find_nr(arg->vval.v_list, 0L, &error); n2 = list_find_nr(arg->vval.v_list, 1L, &error); # ifdef WIN3264 - tm->QuadPart = (n1 << 32) + n2; + tm->HighPart = n1; + tm->LowPart = n2; # else tm->tv_sec = n1; tm->tv_usec = n2; @@ -12710,8 +12712,8 @@ f_reltime(argvars, rettv) long n1, n2; # ifdef WIN3264 - n1 = res.QuadPart >> 32; - n2 = res.QuadPart & 0xffffffff; + n1 = res.HighPart; + n2 = res.LowPart; # else n1 = res.tv_sec; n2 = res.tv_usec; diff --git a/src/ex_cmds.h b/src/ex_cmds.h --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -213,8 +213,12 @@ EX(CMD_cfile, "cfile", ex_cfile, TRLBAR|FILE1|BANG), EX(CMD_cfirst, "cfirst", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), +EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer, + RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_cgetfile, "cgetfile", ex_cfile, TRLBAR|FILE1|BANG), +EX(CMD_cgetexpr, "cgetexpr", ex_cexpr, + NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_chdir, "chdir", ex_cd, BANG|FILE1|TRLBAR|CMDWIN), EX(CMD_changes, "changes", ex_changes, @@ -517,6 +521,10 @@ EX(CMD_lfirst, "lfirst", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_lgetfile, "lgetfile", ex_cfile, TRLBAR|FILE1|BANG), +EX(CMD_lgetbuffer, "lgetbuffer", ex_cbuffer, + RANGE|NOTADR|WORD1|TRLBAR), +EX(CMD_lgetexpr, "lgetexpr", ex_cexpr, + NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), EX(CMD_lgrep, "lgrep", ex_make, RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), EX(CMD_lgrepadd, "lgrepadd", ex_make, diff --git a/src/ex_getln.c b/src/ex_getln.c --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1749,6 +1749,8 @@ cmdline_changed: end_pos = curwin->w_cursor; curwin->w_cursor = save_pos; } + else + end_pos = curwin->w_cursor; /* shutup gcc 4 */ validate_cursor(); diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -41,6 +41,10 @@ # endif # include # include "version.h" +# ifdef HAVE_GTK2 +/* missing prototype in bonobo-dock-item.h */ +extern void bonobo_dock_item_set_behavior(BonoboDockItem *dock_item, BonoboDockItemBehavior beh); +# endif #endif #if !defined(FEAT_GUI_GTK) && defined(PROTO) @@ -3541,8 +3545,10 @@ gui_mch_init(void) gnome_app_set_menus(GNOME_APP(gui.mainwin), GTK_MENU_BAR(gui.menubar)); dockitem = gnome_app_get_dock_item_by_name(GNOME_APP(gui.mainwin), GNOME_APP_MENUBAR_NAME); - // bonobo_dock_item_set_behavior(dockitem, - // BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING); + /* We don't want the menu to float. */ + bonobo_dock_item_set_behavior(dockitem, + bonobo_dock_item_get_behavior(dockitem) + | BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING); gui.menubar_h = GTK_WIDGET(dockitem); # else gui.menubar_h = gnome_dock_item_new("VimMainMenu", @@ -3600,9 +3606,10 @@ gui_mch_init(void) GNOME_APP_TOOLBAR_NAME); gui.toolbar_h = GTK_WIDGET(dockitem); /* When the toolbar is floating it gets stuck. So long as that isn't - * fixed let's disallow floating. Also changes it appearance... */ + * fixed let's disallow floating. */ bonobo_dock_item_set_behavior(dockitem, - BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING); + bonobo_dock_item_get_behavior(dockitem) + | BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING); gtk_container_set_border_width(GTK_CONTAINER(gui.toolbar), 0); # else GtkWidget *dockitem; diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -6053,7 +6053,7 @@ did_set_string_option(opt_idx, varp, new #if defined(FEAT_GUI_TABLINE) /* 'guitablabel' */ else if (varp == &p_gtl) - gui_update_tabline(); + gui_init_which_components(NULL); #endif #if defined(FEAT_MOUSE_TTY) && (defined(UNIX) || defined(VMS)) diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -3497,8 +3497,10 @@ set_errorlist(wp, list, action) /* * ":[range]cbuffer [bufnr]" command. * ":[range]caddbuffer [bufnr]" command. + * ":[range]cgetbuffer [bufnr]" command. * ":[range]lbuffer [bufnr]" command. * ":[range]laddbuffer [bufnr]" command. + * ":[range]lgetbuffer [bufnr]" command. */ void ex_cbuffer(eap) @@ -3507,7 +3509,8 @@ ex_cbuffer(eap) buf_T *buf = NULL; qf_info_T *qi = &ql_info; - if (eap->cmdidx == CMD_lbuffer || eap->cmdidx == CMD_laddbuffer) + if (eap->cmdidx == CMD_lbuffer || eap->cmdidx == CMD_lgetbuffer + || eap->cmdidx == CMD_laddbuffer) { qi = ll_get_or_alloc_list(curwin); if (qi == NULL) @@ -3534,12 +3537,12 @@ ex_cbuffer(eap) EMSG(_(e_invrange)); else { - int buffer_cmd = (eap->cmdidx == CMD_cbuffer - || eap->cmdidx == CMD_lbuffer); - - if (qf_init_ext(qi, NULL, buf, NULL, p_efm, buffer_cmd, + if (qf_init_ext(qi, NULL, buf, NULL, p_efm, + (eap->cmdidx != CMD_caddbuffer + && eap->cmdidx != CMD_laddbuffer), eap->line1, eap->line2) > 0 - && buffer_cmd) + && (eap->cmdidx == CMD_cbuffer + || eap->cmdidx == CMD_lbuffer)) qf_jump(qi, 0, 0, eap->forceit); /* display first error */ } } @@ -3547,8 +3550,8 @@ ex_cbuffer(eap) #if defined(FEAT_EVAL) || defined(PROTO) /* - * ":cexpr {expr}" and ":caddexpr {expr}" command. - * ":lexpr {expr}" and ":laddexpr {expr}" command. + * ":cexpr {expr}", ":cgetexpr {expr}", ":caddexpr {expr}" command. + * ":lexpr {expr}", ":lgetexpr {expr}", ":laddexpr {expr}" command. */ void ex_cexpr(eap) @@ -3557,7 +3560,8 @@ ex_cexpr(eap) typval_T *tv; qf_info_T *qi = &ql_info; - if (eap->cmdidx == CMD_lexpr || eap->cmdidx == CMD_laddexpr) + if (eap->cmdidx == CMD_lexpr || eap->cmdidx == CMD_lgetexpr + || eap->cmdidx == CMD_laddexpr) { qi = ll_get_or_alloc_list(curwin); if (qi == NULL) @@ -3572,11 +3576,12 @@ ex_cexpr(eap) if ((tv->v_type == VAR_STRING && tv->vval.v_string != NULL) || (tv->v_type == VAR_LIST && tv->vval.v_list != NULL)) { - int expr_cmd = (eap->cmdidx == CMD_cexpr - || eap->cmdidx == CMD_lexpr); - if (qf_init_ext(qi, NULL, NULL, tv, p_efm, expr_cmd, + if (qf_init_ext(qi, NULL, NULL, tv, p_efm, + (eap->cmdidx != CMD_caddexpr + && eap->cmdidx != CMD_laddexpr), (linenr_T)0, (linenr_T)0) > 0 - && expr_cmd) + && (eap->cmdidx == CMD_cexpr + || eap->cmdidx == CMD_lexpr)) qf_jump(qi, 0, 0, eap->forceit); /* display first error */ } else diff --git a/src/regexp.c b/src/regexp.c --- a/src/regexp.c +++ b/src/regexp.c @@ -6854,6 +6854,23 @@ vim_regsub_both(source, dest, copy, magi } if (no < 0) /* Ordinary character. */ { + if (c == K_SPECIAL && src[0] != NUL && src[1] != NUL) + { + /* Copy a specialy key as-is. */ + if (copy) + { + *dst++ = c; + *dst++ = *src++; + *dst++ = *src++; + } + else + { + dst += 3; + src += 2; + } + continue; + } + if (c == '\\' && *src != NUL) { /* Check for abbreviations -- webb */ @@ -6877,13 +6894,12 @@ vim_regsub_both(source, dest, copy, magi c = *src++; } } +#ifdef FEAT_MBYTE + else if (has_mbyte) + c = mb_ptr2char(src - 1); +#endif /* Write to buffer, if copy is set. */ -#ifdef FEAT_MBYTE - if (has_mbyte) - c = mb_ptr2char(src - 1); -#endif - if (func == (fptr_T)NULL) /* just copy */ cc = c; else diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -8791,7 +8791,7 @@ draw_tabline() redraw_tabline = FALSE; #ifdef FEAT_GUI_TABLINE - /* When the GUI has the tabline then this always returns zero. */ + /* Take care of a GUI tabline. */ if (gui_use_tabline()) { gui_update_tabline(); diff --git a/src/undo.c b/src/undo.c --- a/src/undo.c +++ b/src/undo.c @@ -88,7 +88,7 @@ static int undo_allowed __ARGS((void)); static int u_savecommon __ARGS((linenr_T, linenr_T, linenr_T)); static void u_doit __ARGS((int count)); static void u_undoredo __ARGS((int undo)); -static void u_undo_end __ARGS((int did_undo)); +static void u_undo_end __ARGS((int did_undo, int absolute)); static void u_add_time __ARGS((char_u *buf, size_t buflen, time_t tt)); static void u_freeheader __ARGS((buf_T *buf, u_header_T *uhp, u_header_T **uhpp)); static void u_freebranch __ARGS((buf_T *buf, u_header_T *uhp, u_header_T **uhpp)); @@ -638,7 +638,7 @@ u_doit(startcount) curbuf->b_u_curhead = curbuf->b_u_curhead->uh_prev; } } - u_undo_end(undo_undoes); + u_undo_end(undo_undoes, FALSE); } static int lastmark = 0; @@ -704,7 +704,7 @@ undo_time(step, sec, absolute) else { if (sec) - closest = time(NULL) - starttime + 1; + closest = (long)(time(NULL) - starttime + 1); else closest = curbuf->b_u_seq_last + 2; if (target >= closest) @@ -739,7 +739,7 @@ undo_time(step, sec, absolute) while (uhp != NULL) { uhp->uh_walk = mark; - val = (dosec ? (uhp->uh_time - starttime) : uhp->uh_seq); + val = (long)(dosec ? (uhp->uh_time - starttime) : uhp->uh_seq); if (round == 1) { @@ -788,7 +788,12 @@ undo_time(step, sec, absolute) else if (uhp->uh_next != NULL && uhp->uh_alt_prev == NULL && uhp->uh_next->uh_walk != nomark && uhp->uh_next->uh_walk != mark) + { + /* If still at the start we don't go through this change. */ + if (uhp == curbuf->b_u_curhead) + uhp->uh_walk = nomark; uhp = uhp->uh_next; + } else { @@ -880,7 +885,10 @@ undo_time(step, sec, absolute) /* Stop when going backwards in time and didn't find the exact * header we were looking for. */ if (uhp->uh_seq == target && above) + { + curbuf->b_u_seq_cur = target - 1; break; + } u_undoredo(FALSE); @@ -903,7 +911,7 @@ undo_time(step, sec, absolute) } } } - u_undo_end(did_undo); + u_undo_end(did_undo, absolute); } /* @@ -1176,8 +1184,9 @@ u_undoredo(undo) * in some cases, but it's better than nothing). */ static void -u_undo_end(did_undo) +u_undo_end(did_undo, absolute) int did_undo; /* just did an undo */ + int absolute; /* used ":undo N" */ { char *msg; u_header_T *uhp; @@ -1215,7 +1224,13 @@ u_undo_end(did_undo) if (curbuf->b_u_curhead != NULL) { - if (did_undo) + /* For ":undo N" we prefer a "after #N" message. */ + if (absolute && curbuf->b_u_curhead->uh_next != NULL) + { + uhp = curbuf->b_u_curhead->uh_next; + did_undo = FALSE; + } + else if (did_undo) uhp = curbuf->b_u_curhead; else uhp = curbuf->b_u_curhead->uh_next; diff --git a/src/version.h b/src/version.h --- a/src/version.h +++ b/src/version.h @@ -36,5 +36,5 @@ #define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_MEDIUM "7.0aa ALPHA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 21)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 21, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 23)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 23, compiled "