# HG changeset patch # User vimboss # Date 1125958312 0 # Node ID 35cde31bdcbd2bf6fe860e49101243905579ebba # Parent c9ec7077a1958da36b19970a5a506ed2671ec498 updated for version 7.0141 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: 2005 Aug 31 +*eval.txt* For Vim version 7.0aa. Last change: 2005 Sep 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1607,6 +1607,7 @@ repeat( {expr}, {count}) String repeat { resolve( {filename}) String get filename a shortcut points to reverse( {list}) List reverse {list} in-place search( {pattern} [, {flags}]) Number search for {pattern} +searchdecl({name} [, {global}]) Number search for variable declaration searchpair( {start}, {middle}, {end} [, {flags} [, {skip}]]) Number search for other end of start/end pair server2client( {clientid}, {string}) @@ -1622,7 +1623,7 @@ simplify( {filename}) String simplify f sort( {list} [, {func}]) List sort {list}, using {func} to compare soundfold( {word}) String sound-fold {word} spellbadword() String badly spelled word at cursor -spellsuggest({word} [, {max}]) List spelling suggestions +spellsuggest( {word} [, {max}]) List spelling suggestions split( {expr} [, {pat} [, {keepempty}]]) List make List from {pat} separated {expr} strftime( {format}[, {time}]) String time in specified format @@ -3709,6 +3710,18 @@ search({pattern} [, {flags}]) *search : let n = n + 1 :endwhile < + +searchdecl({name} [, {global}]) *searchdecl()* + Search for the declaration of {name}. Without {global} or + with a zero {global} argument this works like |gd|. With a + non-zero {global} argument it works like |gD|. + Moves the cursor to the found match. + Returns zero for success, non-zero for failure. + Example: > + if searchdecl('myvar') == 0 + echo getline('.') + endif +< *searchpair()* searchpair({start}, {middle}, {end} [, {flags} [, {skip}]]) Search for the match of a nested start-end pair. This can be @@ -4668,7 +4681,8 @@ builtin functions. To prevent from usin avoid obvious, short names. A good habit is to start the function name with the name of the script, e.g., "HTMLcolor()". -It's also possible to use curly braces, see |curly-braces-names|. +It's also possible to use curly braces, see |curly-braces-names|. And the +|autoload| facility is useful to define a function only when it's called. *local-function* A function local to a script must start with "s:". A local script function @@ -4684,6 +4698,10 @@ instead of "s:" when the mapping is expa {name} can also be a Dictionary entry that is a Funcref: > :function dict.init + +:fu[nction] /{pattern} List functions with a name matching {pattern}. + Example that lists all functions ending with "File": > + :function /File$ < *:function-verbose* When 'verbose' is non-zero, listing a function will also display where it was diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -218,6 +218,12 @@ Specific exception: For German these spe de_at Austria de_ch Switzerland + *spell-russian* +Specific exception: For Russian these special regions are used: + ru all Russian words accepted + ru_ru "IE" letter spelling + ru_yo "YO" letter spelling + *spell-yiddish* Yiddish requires using "utf-8" encoding, because of the special characters used. If you are using latin1 Vim will use transliterated (romanized) Yiddish diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -5291,7 +5291,6 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* -help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* @@ -6457,6 +6456,7 @@ spell-midword spell.txt /*spell-midword* spell-mkspell spell.txt /*spell-mkspell* spell-quickstart spell.txt /*spell-quickstart* spell-remarks spell.txt /*spell-remarks* +spell-russian spell.txt /*spell-russian* spell-syntax spell.txt /*spell-syntax* spell-wordlist-format spell.txt /*spell-wordlist-format* spell-yiddish spell.txt /*spell-yiddish* diff --git a/runtime/ftplugin/verilog.vim b/runtime/ftplugin/verilog.vim --- a/runtime/ftplugin/verilog.vim +++ b/runtime/ftplugin/verilog.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: Verilog HDL " Maintainer: Chih-Tsun Huang -" Last Change: Wed Oct 31 16:16:19 CST 2001 +" Last Change: Mon Sep 5 11:05:54 CST 2005 " URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim " Only do this when not done yet for this buffer @@ -12,6 +12,10 @@ endif " Don't load another plugin for this buffer let b:did_ftplugin = 1 +" Undo the plugin effect +let b:undo_ftplugin = "setlocal fo< com< tw<" + \ . "| unlet b:browsefilter b:match_ignorecase b:match_words" + " Set 'formatoptions' to break comment lines but not other lines, " and insert the comment leader when hitting or using "o". setlocal fo-=t fo+=croqlm1 @@ -20,7 +24,9 @@ setlocal fo-=t fo+=croqlm1 setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// " Format comments to be up to 78 characters long -setlocal tw=75 +if &textwidth == 0 + setlocal tw=78 +endif set cpo-=C diff --git a/runtime/spell/ru/main.aap b/runtime/spell/ru/main.aap --- a/runtime/spell/ru/main.aap +++ b/runtime/spell/ru/main.aap @@ -6,7 +6,7 @@ @else: :progsearch VIM vim -REGIONS = RU IE YO +REGIONS = RU YO SPELLDIR = .. FILES = ru_$*(REGIONS).aff ru_$*(REGIONS).dic @@ -14,21 +14,18 @@ all: $SPELLDIR/ru.koi8-r.spl $SPELLDIR/r $SPELLDIR/ru.cp1251.spl ../README_ru.txt $SPELLDIR/ru.koi8-r.spl : $FILES - :sys env LANG=ru_RU.KOI8-R $VIM -u NONE -e -c "mkspell! $SPELLDIR/ru ru_RU ru_IE ru_YO" -c q + :sys env LANG=ru_RU.KOI8-R $VIM -u NONE -e -c "mkspell! $SPELLDIR/ru ru_RU ru_YO" -c q $SPELLDIR/ru.utf-8.spl : $FILES - :sys env LANG=ru_RU.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ru ru_RU ru_IE ru_YO" -c q + :sys env LANG=ru_RU.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ru ru_RU ru_YO" -c q $SPELLDIR/ru.cp1251.spl : $FILES - :sys env LANG=ru_RU.CP1251 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ru ru_RU ru_IE ru_YO" -c q + :sys env LANG=ru_RU.CP1251 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ru ru_RU ru_YO" -c q ../README_ru.txt: README_ru_$*(REGIONS).txt :print ru_RU >! $target :cat README_ru_RU.txt >> $target :print =================================================== >>$target - :print ru_IE >> $target - :cat README_ru_IE.txt >> $target - :print =================================================== >>$target :print ru_YO >> $target :cat README_ru_YO.txt >> $target @@ -36,7 +33,7 @@ all: $SPELLDIR/ru.koi8-r.spl $SPELLDIR/r # Fetching the files from OpenOffice.org. # OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries -:attr {fetch = $OODIR/%file%} ru_RU.zip ru_RU_ye.zip ru_RU_yo.zip +:attr {fetch = $OODIR/%file%} ru_RU.zip ru_RU_yo.zip # The files don't depend on the .zip file so that we can delete it. # Only download the zip file if the targets don't exist. @@ -53,21 +50,6 @@ ru_RU.aff ru_RU.dic: {buildcheck=} @if os.path.exists('ru_RU.diff'): :sys patch ru_RU.diff :sys {force} diff -a -C 1 ru_RU.orig.dic ru_RU.dic >>ru_RU.diff - :sys {force} diff -a -C 1 ru_IE.orig.aff ru_IE.aff >ru_IE.diff - :sys {force} diff -a -C 1 ru_IE.orig.dic ru_IE.dic >>ru_IE.diff :sys {force} diff -a -C 1 ru_YO.orig.aff ru_YO.aff >ru_YO.diff :sys {force} diff -a -C 1 ru_YO.orig.dic ru_YO.dic >>ru_YO.diff diff --git a/runtime/spell/ru/ru_RU.diff b/runtime/spell/ru/ru_RU.diff --- a/runtime/spell/ru/ru_RU.diff +++ b/runtime/spell/ru/ru_RU.diff @@ -1,5 +1,21 @@ -*** ru_RU.orig.dic Sat Aug 27 22:54:55 2005 ---- ru_RU.dic Sun Aug 28 11:46:34 2005 +*** ru_RU.orig.aff Sun Aug 28 21:12:27 2005 +--- ru_RU.aff Sun Sep 4 17:21:40 2005 +*************** +*** 3,4 **** +--- 3,13 ---- + ++ FOL ÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑ ++ LOW ÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑ ++ UPP áâ÷çäå³öúéêëìíîïðòóôõæèãþûýøùÿüàñ ++ ++ SOFOFROM ÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑáâ÷çäå³öúéêëìíîïðòóôõæèãþûýøùÿüàñ ++ SOFOTO ÅÂ×ÇÄÅÅÖÚÅÊËÌÎÎÅÐÒÓÔÅÆÈÃÞÛÛØÅ'ÅÅÅåâ÷çäååöúåêëìîîåðòóôåæèãþûûøå'ååå ++ ++ MIDWORD '- ++ + SFX L Y 52 +*** ru_RU.orig.dic Sun Aug 28 21:12:27 2005 +--- ru_RU.dic Sun Sep 4 17:23:27 2005 *************** *** 8767,8769 **** ÂÌÅËÌÏÓÔØ/F @@ -13,11 +29,15 @@ ÒÁÚÕÂÅÄÉ×ÛÉÊ/A --- 98085,98086 ---- *************** -*** 115007,115009 **** - ÔÏÌËÉ/B -- ÔÏÌËÉ/O +*** 115006,115009 **** + ÔÏÌËÁÀÝÉÊÓÑ/A +! ÔÏÌËÉ/B +! ÔÏÌËÉ/O ÔÏÌËÌÁ/L ---- 115005,115006 ---- +--- 115004,115006 ---- + ÔÏÌËÁÀÝÉÊÓÑ/A +! ÔÏÌËÉ/BO + ÔÏÌËÌÁ/L *************** *** 119209,119211 **** ÕÎÉÖÅÎÎÙÊ/ASX diff --git a/runtime/spell/ru/ru_YO.diff b/runtime/spell/ru/ru_YO.diff --- a/runtime/spell/ru/ru_YO.diff +++ b/runtime/spell/ru/ru_YO.diff @@ -1,5 +1,21 @@ -*** ru_YO.orig.dic Sat Aug 27 22:54:55 2005 ---- ru_YO.dic Sun Aug 28 11:46:58 2005 +*** ru_YO.orig.aff Sun Aug 28 21:12:35 2005 +--- ru_YO.aff Sun Sep 4 17:23:51 2005 +*************** +*** 3,4 **** +--- 3,13 ---- + ++ FOL ÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑ ++ LOW ÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑ ++ UPP áâ÷çäå³öúéêëìíîïðòóôõæèãþûýøùÿüàñ ++ ++ SOFOFROM ÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑáâ÷çäå³öúéêëìíîïðòóôõæèãþûýøùÿüàñ ++ SOFOTO ÅÂ×ÇÄÅÅÖÚÅÊËÌÎÎÅÐÒÓÔÅÆÈÃÞÛÛØÅ'ÅÅÅåâ÷çäååöúåêëìîîåðòóôåæèãþûûøå'ååå ++ ++ MIDWORD '- ++ + SFX L Y 56 +*** ru_YO.orig.dic Sun Aug 28 21:12:35 2005 +--- ru_YO.dic Sun Sep 4 17:24:26 2005 *************** *** 86471,86473 **** ÐÏÞÔ£ÎÎÙÊ/AS @@ -7,8 +23,12 @@ ÐÏÞÔÉ/B --- 86471,86472 ---- *************** -*** 115246,115248 **** - ÔÏÌËÉ/B -- ÔÏÌËÉ/O +*** 115245,115248 **** + ÔÏÌËÁÀÝÉÊÓÑ/A +! ÔÏÌËÉ/B +! ÔÏÌËÉ/O ÔÏÌËÌÁ/L ---- 115245,115246 ---- +--- 115244,115246 ---- + ÔÏÌËÁÀÝÉÊÓÑ/A +! ÔÏÌËÉ/BO + ÔÏÌËÌÁ/L diff --git a/src/globals.h b/src/globals.h --- a/src/globals.h +++ b/src/globals.h @@ -152,7 +152,7 @@ EXTERN int info_message INIT(= FALSE); / #ifdef FEAT_EVAL EXTERN int emsg_skip INIT(= 0); /* don't display errors for expression that is skipped */ -EXTERN int emsg_severe INIT(=FALSE); /* use message of next of several +EXTERN int emsg_severe INIT(= FALSE); /* use message of next of several emsg() calls for throw */ EXTERN int did_endif INIT(= FALSE); /* just had ":endif" */ #endif @@ -1242,187 +1242,190 @@ EXTERN int usingNetbeans INIT(= 0); /* s * The error messages that can be shared are included here. * Excluded are errors that are only used once and debugging messages. */ -EXTERN char_u e_abort[] INIT(=N_("E470: Command aborted")); -EXTERN char_u e_argreq[] INIT(=N_("E471: Argument required")); -EXTERN char_u e_backslash[] INIT(=N_("E10: \\ should be followed by /, ? or &")); +EXTERN char_u e_abort[] INIT(= N_("E470: Command aborted")); +EXTERN char_u e_argreq[] INIT(= N_("E471: Argument required")); +EXTERN char_u e_backslash[] INIT(= N_("E10: \\ should be followed by /, ? or &")); #ifdef FEAT_CMDWIN -EXTERN char_u e_cmdwin[] INIT(=N_("E11: Invalid in command-line window; executes, CTRL-C quits")); +EXTERN char_u e_cmdwin[] INIT(= N_("E11: Invalid in command-line window; executes, CTRL-C quits")); #endif -EXTERN char_u e_curdir[] INIT(=N_("E12: Command not allowed from exrc/vimrc in current dir or tag search")); +EXTERN char_u e_curdir[] INIT(= N_("E12: Command not allowed from exrc/vimrc in current dir or tag search")); #ifdef FEAT_EVAL -EXTERN char_u e_endif[] INIT(=N_("E171: Missing :endif")); -EXTERN char_u e_endtry[] INIT(=N_("E600: Missing :endtry")); -EXTERN char_u e_endwhile[] INIT(=N_("E170: Missing :endwhile")); -EXTERN char_u e_endfor[] INIT(=N_("E170: Missing :endfor")); -EXTERN char_u e_while[] INIT(=N_("E588: :endwhile without :while")); -EXTERN char_u e_for[] INIT(=N_("E588: :endfor without :for")); +EXTERN char_u e_endif[] INIT(= N_("E171: Missing :endif")); +EXTERN char_u e_endtry[] INIT(= N_("E600: Missing :endtry")); +EXTERN char_u e_endwhile[] INIT(= N_("E170: Missing :endwhile")); +EXTERN char_u e_endfor[] INIT(= N_("E170: Missing :endfor")); +EXTERN char_u e_while[] INIT(= N_("E588: :endwhile without :while")); +EXTERN char_u e_for[] INIT(= N_("E588: :endfor without :for")); #endif -EXTERN char_u e_exists[] INIT(=N_("E13: File exists (add ! to override)")); -EXTERN char_u e_failed[] INIT(=N_("E472: Command failed")); +EXTERN char_u e_exists[] INIT(= N_("E13: File exists (add ! to override)")); +EXTERN char_u e_failed[] INIT(= N_("E472: Command failed")); #if defined(FEAT_GUI) && defined(FEAT_XFONTSET) -EXTERN char_u e_fontset[] INIT(=N_("E234: Unknown fontset: %s")); +EXTERN char_u e_fontset[] INIT(= N_("E234: Unknown fontset: %s")); #endif #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(MACOS) \ || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MSWIN) -EXTERN char_u e_font[] INIT(=N_("E235: Unknown font: %s")); +EXTERN char_u e_font[] INIT(= N_("E235: Unknown font: %s")); #endif #if (defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)) && !defined(HAVE_GTK2) -EXTERN char_u e_fontwidth[] INIT(=N_("E236: Font \"%s\" is not fixed-width")); +EXTERN char_u e_fontwidth[] INIT(= N_("E236: Font \"%s\" is not fixed-width")); #endif -EXTERN char_u e_internal[] INIT(=N_("E473: Internal error")); -EXTERN char_u e_interr[] INIT(=N_("Interrupted")); -EXTERN char_u e_invaddr[] INIT(=N_("E14: Invalid address")); -EXTERN char_u e_invarg[] INIT(=N_("E474: Invalid argument")); -EXTERN char_u e_invarg2[] INIT(=N_("E475: Invalid argument: %s")); +EXTERN char_u e_internal[] INIT(= N_("E473: Internal error")); +EXTERN char_u e_interr[] INIT(= N_("Interrupted")); +EXTERN char_u e_invaddr[] INIT(= N_("E14: Invalid address")); +EXTERN char_u e_invarg[] INIT(= N_("E474: Invalid argument")); +EXTERN char_u e_invarg2[] INIT(= N_("E475: Invalid argument: %s")); #ifdef FEAT_EVAL -EXTERN char_u e_invexpr2[] INIT(=N_("E15: Invalid expression: %s")); +EXTERN char_u e_invexpr2[] INIT(= N_("E15: Invalid expression: %s")); #endif -EXTERN char_u e_invrange[] INIT(=N_("E16: Invalid range")); -EXTERN char_u e_invcmd[] INIT(=N_("E476: Invalid command")); +EXTERN char_u e_invrange[] INIT(= N_("E16: Invalid range")); +EXTERN char_u e_invcmd[] INIT(= N_("E476: Invalid command")); #if defined(UNIX) || (defined(FEAT_SYN_HL) && defined(FEAT_MBYTE)) -EXTERN char_u e_isadir2[] INIT(=N_("E17: \"%s\" is a directory")); +EXTERN char_u e_isadir2[] INIT(= N_("E17: \"%s\" is a directory")); #endif #ifdef FEAT_LIBCALL -EXTERN char_u e_libcall[] INIT(=N_("E364: Library call failed for \"%s()\"")); +EXTERN char_u e_libcall[] INIT(= N_("E364: Library call failed for \"%s()\"")); #endif #if defined(DYNAMIC_PERL) || defined(DYNAMIC_PYTHON) || defined(DYNAMIC_RUBY) \ || defined(DYNAMIC_TCL) || defined(DYNAMIC_ICONV) \ || defined(DYNAMIC_GETTEXT) || defined(DYNAMIC_MZSCHEME) -EXTERN char_u e_loadlib[] INIT(=N_("E370: Could not load library %s")); -EXTERN char_u e_loadfunc[] INIT(=N_("E448: Could not load library function %s")); +EXTERN char_u e_loadlib[] INIT(= N_("E370: Could not load library %s")); +EXTERN char_u e_loadfunc[] INIT(= N_("E448: Could not load library function %s")); #endif -EXTERN char_u e_markinval[] INIT(=N_("E19: Mark has invalid line number")); -EXTERN char_u e_marknotset[] INIT(=N_("E20: Mark not set")); -EXTERN char_u e_modifiable[] INIT(=N_("E21: Cannot make changes, 'modifiable' is off")); -EXTERN char_u e_nesting[] INIT(=N_("E22: Scripts nested too deep")); -EXTERN char_u e_noalt[] INIT(=N_("E23: No alternate file")); -EXTERN char_u e_noabbr[] INIT(=N_("E24: No such abbreviation")); -EXTERN char_u e_nobang[] INIT(=N_("E477: No ! allowed")); +EXTERN char_u e_markinval[] INIT(= N_("E19: Mark has invalid line number")); +EXTERN char_u e_marknotset[] INIT(= N_("E20: Mark not set")); +EXTERN char_u e_modifiable[] INIT(= N_("E21: Cannot make changes, 'modifiable' is off")); +EXTERN char_u e_nesting[] INIT(= N_("E22: Scripts nested too deep")); +EXTERN char_u e_noalt[] INIT(= N_("E23: No alternate file")); +EXTERN char_u e_noabbr[] INIT(= N_("E24: No such abbreviation")); +EXTERN char_u e_nobang[] INIT(= N_("E477: No ! allowed")); #ifndef FEAT_GUI -EXTERN char_u e_nogvim[] INIT(=N_("E25: GUI cannot be used: Not enabled at compile time")); +EXTERN char_u e_nogvim[] INIT(= N_("E25: GUI cannot be used: Not enabled at compile time")); #endif #ifndef FEAT_RIGHTLEFT -EXTERN char_u e_nohebrew[] INIT(=N_("E26: Hebrew cannot be used: Not enabled at compile time\n")); +EXTERN char_u e_nohebrew[] INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n")); #endif #ifndef FEAT_FKMAP -EXTERN char_u e_nofarsi[] INIT(=N_("E27: Farsi cannot be used: Not enabled at compile time\n")); +EXTERN char_u e_nofarsi[] INIT(= N_("E27: Farsi cannot be used: Not enabled at compile time\n")); #endif #ifndef FEAT_ARABIC -EXTERN char_u e_noarabic[] INIT(=N_("E800: Arabic cannot be used: Not enabled at compile time\n")); +EXTERN char_u e_noarabic[] INIT(= N_("E800: Arabic cannot be used: Not enabled at compile time\n")); #endif #if defined(FEAT_SEARCH_EXTRA) || defined(FEAT_SYN_HL) -EXTERN char_u e_nogroup[] INIT(=N_("E28: No such highlight group name: %s")); +EXTERN char_u e_nogroup[] INIT(= N_("E28: No such highlight group name: %s")); #endif -EXTERN char_u e_noinstext[] INIT(=N_("E29: No inserted text yet")); -EXTERN char_u e_nolastcmd[] INIT(=N_("E30: No previous command line")); -EXTERN char_u e_nomap[] INIT(=N_("E31: No such mapping")); -EXTERN char_u e_nomatch[] INIT(=N_("E479: No match")); -EXTERN char_u e_nomatch2[] INIT(=N_("E480: No match: %s")); -EXTERN char_u e_noname[] INIT(=N_("E32: No file name")); -EXTERN char_u e_nopresub[] INIT(=N_("E33: No previous substitute regular expression")); -EXTERN char_u e_noprev[] INIT(=N_("E34: No previous command")); -EXTERN char_u e_noprevre[] INIT(=N_("E35: No previous regular expression")); -EXTERN char_u e_norange[] INIT(=N_("E481: No range allowed")); +EXTERN char_u e_noinstext[] INIT(= N_("E29: No inserted text yet")); +EXTERN char_u e_nolastcmd[] INIT(= N_("E30: No previous command line")); +EXTERN char_u e_nomap[] INIT(= N_("E31: No such mapping")); +EXTERN char_u e_nomatch[] INIT(= N_("E479: No match")); +EXTERN char_u e_nomatch2[] INIT(= N_("E480: No match: %s")); +EXTERN char_u e_noname[] INIT(= N_("E32: No file name")); +EXTERN char_u e_nopresub[] INIT(= N_("E33: No previous substitute regular expression")); +EXTERN char_u e_noprev[] INIT(= N_("E34: No previous command")); +EXTERN char_u e_noprevre[] INIT(= N_("E35: No previous regular expression")); +EXTERN char_u e_norange[] INIT(= N_("E481: No range allowed")); #ifdef FEAT_WINDOWS -EXTERN char_u e_noroom[] INIT(=N_("E36: Not enough room")); +EXTERN char_u e_noroom[] INIT(= N_("E36: Not enough room")); #endif #ifdef FEAT_CLIENTSERVER -EXTERN char_u e_noserver[] INIT(=N_("E247: no registered server named \"%s\"")); +EXTERN char_u e_noserver[] INIT(= N_("E247: no registered server named \"%s\"")); #endif -EXTERN char_u e_notcreate[] INIT(=N_("E482: Can't create file %s")); -EXTERN char_u e_notmp[] INIT(=N_("E483: Can't get temp file name")); -EXTERN char_u e_notopen[] INIT(=N_("E484: Can't open file %s")); -EXTERN char_u e_notread[] INIT(=N_("E485: Can't read file %s")); -EXTERN char_u e_nowrtmsg[] INIT(=N_("E37: No write since last change (add ! to override)")); -EXTERN char_u e_null[] INIT(=N_("E38: Null argument")); +EXTERN char_u e_notcreate[] INIT(= N_("E482: Can't create file %s")); +EXTERN char_u e_notmp[] INIT(= N_("E483: Can't get temp file name")); +EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s")); +EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s")); +EXTERN char_u e_nowrtmsg[] INIT(= N_("E37: No write since last change (add ! to override)")); +EXTERN char_u e_null[] INIT(= N_("E38: Null argument")); #ifdef FEAT_DIGRAPHS -EXTERN char_u e_number_exp[] INIT(=N_("E39: Number expected")); +EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected")); #endif #ifdef FEAT_QUICKFIX -EXTERN char_u e_openerrf[] INIT(=N_("E40: Can't open errorfile %s")); +EXTERN char_u e_openerrf[] INIT(= N_("E40: Can't open errorfile %s")); #endif #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) -EXTERN char_u e_opendisp[] INIT(=N_("E233: cannot open display")); +EXTERN char_u e_opendisp[] INIT(= N_("E233: cannot open display")); #endif -EXTERN char_u e_outofmem[] INIT(=N_("E41: Out of memory!")); +EXTERN char_u e_outofmem[] INIT(= N_("E41: Out of memory!")); #ifdef FEAT_INS_EXPAND -EXTERN char_u e_patnotf[] INIT(=N_("Pattern not found")); +EXTERN char_u e_patnotf[] INIT(= N_("Pattern not found")); #endif -EXTERN char_u e_patnotf2[] INIT(=N_("E486: Pattern not found: %s")); -EXTERN char_u e_positive[] INIT(=N_("E487: Argument must be positive")); +EXTERN char_u e_patnotf2[] INIT(= N_("E486: Pattern not found: %s")); +EXTERN char_u e_positive[] INIT(= N_("E487: Argument must be positive")); #if defined(UNIX) || defined(FEAT_SESSION) -EXTERN char_u e_prev_dir[] INIT(=N_("E459: Cannot go back to previous directory")); +EXTERN char_u e_prev_dir[] INIT(= N_("E459: Cannot go back to previous directory")); #endif #ifdef FEAT_QUICKFIX -EXTERN char_u e_quickfix[] INIT(=N_("E42: No Errors")); +EXTERN char_u e_quickfix[] INIT(= N_("E42: No Errors")); #endif -EXTERN char_u e_re_damg[] INIT(=N_("E43: Damaged match string")); -EXTERN char_u e_re_corr[] INIT(=N_("E44: Corrupted regexp program")); -EXTERN char_u e_readonly[] INIT(=N_("E45: 'readonly' option is set (add ! to override)")); +EXTERN char_u e_re_damg[] INIT(= N_("E43: Damaged match string")); +EXTERN char_u e_re_corr[] INIT(= N_("E44: Corrupted regexp program")); +EXTERN char_u e_readonly[] INIT(= N_("E45: 'readonly' option is set (add ! to override)")); #ifdef FEAT_EVAL -EXTERN char_u e_readonlyvar[] INIT(=N_("E46: Cannot change read-only variable \"%s\"")); -EXTERN char_u e_readonlysbx[] INIT(=N_("E46: Cannot set variable in the sandbox: \"%s\"")); +EXTERN char_u e_readonlyvar[] INIT(= N_("E46: Cannot change read-only variable \"%s\"")); +EXTERN char_u e_readonlysbx[] INIT(= N_("E46: Cannot set variable in the sandbox: \"%s\"")); #endif #ifdef FEAT_QUICKFIX -EXTERN char_u e_readerrf[] INIT(=N_("E47: Error while reading errorfile")); +EXTERN char_u e_readerrf[] INIT(= N_("E47: Error while reading errorfile")); #endif #ifdef HAVE_SANDBOX -EXTERN char_u e_sandbox[] INIT(=N_("E48: Not allowed in sandbox")); +EXTERN char_u e_sandbox[] INIT(= N_("E48: Not allowed in sandbox")); #endif -EXTERN char_u e_secure[] INIT(=N_("E523: Not allowed here")); +EXTERN char_u e_secure[] INIT(= N_("E523: Not allowed here")); #if defined(AMIGA) || defined(MACOS) || defined(MSWIN) || defined(RISCOS) \ || defined(UNIX) || defined(VMS) || defined(OS2) -EXTERN char_u e_screenmode[] INIT(=N_("E359: Screen mode setting not supported")); +EXTERN char_u e_screenmode[] INIT(= N_("E359: Screen mode setting not supported")); #endif -EXTERN char_u e_scroll[] INIT(=N_("E49: Invalid scroll size")); -EXTERN char_u e_shellempty[] INIT(=N_("E91: 'shell' option is empty")); +EXTERN char_u e_scroll[] INIT(= N_("E49: Invalid scroll size")); +EXTERN char_u e_shellempty[] INIT(= N_("E91: 'shell' option is empty")); #if defined(FEAT_SIGN_ICONS) && !defined(HAVE_GTK2) -EXTERN char_u e_signdata[] INIT(=N_("E255: Couldn't read in sign data!")); +EXTERN char_u e_signdata[] INIT(= N_("E255: Couldn't read in sign data!")); #endif -EXTERN char_u e_swapclose[] INIT(=N_("E72: Close error on swap file")); -EXTERN char_u e_tagstack[] INIT(=N_("E73: tag stack empty")); -EXTERN char_u e_toocompl[] INIT(=N_("E74: Command too complex")); -EXTERN char_u e_longname[] INIT(=N_("E75: Name too long")); -EXTERN char_u e_toomsbra[] INIT(=N_("E76: Too many [")); -EXTERN char_u e_toomany[] INIT(=N_("E77: Too many file names")); -EXTERN char_u e_trailing[] INIT(=N_("E488: Trailing characters")); -EXTERN char_u e_umark[] INIT(=N_("E78: Unknown mark")); -EXTERN char_u e_wildexpand[] INIT(=N_("E79: Cannot expand wildcards")); +EXTERN char_u e_swapclose[] INIT(= N_("E72: Close error on swap file")); +EXTERN char_u e_tagstack[] INIT(= N_("E73: tag stack empty")); +EXTERN char_u e_toocompl[] INIT(= N_("E74: Command too complex")); +EXTERN char_u e_longname[] INIT(= N_("E75: Name too long")); +EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many [")); +EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names")); +EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters")); +EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark")); +EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards")); #ifdef FEAT_WINDOWS -EXTERN char_u e_winheight[] INIT(=N_("E591: 'winheight' cannot be smaller than 'winminheight'")); +EXTERN char_u e_winheight[] INIT(= N_("E591: 'winheight' cannot be smaller than 'winminheight'")); # ifdef FEAT_VERTSPLIT -EXTERN char_u e_winwidth[] INIT(=N_("E592: 'winwidth' cannot be smaller than 'winminwidth'")); +EXTERN char_u e_winwidth[] INIT(= N_("E592: 'winwidth' cannot be smaller than 'winminwidth'")); # endif #endif -EXTERN char_u e_write[] INIT(=N_("E80: Error while writing")); -EXTERN char_u e_zerocount[] INIT(=N_("Zero count")); +EXTERN char_u e_write[] INIT(= N_("E80: Error while writing")); +EXTERN char_u e_zerocount[] INIT(= N_("Zero count")); #ifdef FEAT_EVAL -EXTERN char_u e_usingsid[] INIT(=N_("E81: Using not in a script context")); +EXTERN char_u e_usingsid[] INIT(= N_("E81: Using not in a script context")); #endif #ifdef FEAT_CLIENTSERVER -EXTERN char_u e_invexprmsg[] INIT(=N_("E449: Invalid expression received")); +EXTERN char_u e_invexprmsg[] INIT(= N_("E449: Invalid expression received")); #endif #ifdef FEAT_NETBEANS_INTG -EXTERN char_u e_guarded[] INIT(=N_("E463: Region is guarded, cannot modify")); -EXTERN char_u e_nbreadonly[] INIT(=N_("E744: NetBeans does not allow changes in read-only files")); +EXTERN char_u e_guarded[] INIT(= N_("E463: Region is guarded, cannot modify")); +EXTERN char_u e_nbreadonly[] INIT(= N_("E744: NetBeans does not allow changes in read-only files")); #endif #if defined(FEAT_INS_EXPAND) || defined(FEAT_EVAL) || defined(FEAT_SYN_HL) \ || defined(PROTO) -EXTERN char_u e_intern2[] INIT(=N_("E685: Internal error: %s")); +EXTERN char_u e_intern2[] INIT(= N_("E685: Internal error: %s")); #endif -EXTERN char_u e_maxmempat[] INIT(=N_("E363: pattern uses more memory than 'maxmempattern'")); -EXTERN char_u e_emptybuf[] INIT(=N_("E749: empty buffer")); +EXTERN char_u e_maxmempat[] INIT(= N_("E363: pattern uses more memory than 'maxmempattern'")); +EXTERN char_u e_emptybuf[] INIT(= N_("E749: empty buffer")); #ifdef FEAT_EX_EXTRA -EXTERN char_u e_invalpat[] INIT(=N_("E682: Invalid search pattern or delimiter")); +EXTERN char_u e_invalpat[] INIT(= N_("E682: Invalid search pattern or delimiter")); #endif -EXTERN char_u e_bufloaded[] INIT(=N_("E139: File is loaded in another buffer")); +EXTERN char_u e_bufloaded[] INIT(= N_("E139: File is loaded in another buffer")); #ifdef MACOS_X_UNIX EXTERN short disallow_gui INIT(= FALSE); #endif +EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM")); +EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP")); + /* * Comms. with the session manager (XSMP) */ diff --git a/src/proto/normal.pro b/src/proto/normal.pro --- a/src/proto/normal.pro +++ b/src/proto/normal.pro @@ -16,6 +16,7 @@ void push_showcmd __ARGS((void)); void pop_showcmd __ARGS((void)); void do_check_scrollbind __ARGS((int check)); void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff)); +int find_decl __ARGS((char_u *ptr, int len, int locally, int searchflags)); void scroll_redraw __ARGS((int up, long count)); void do_nv_ident __ARGS((int c1, int c2)); int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp)); diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -3026,7 +3026,7 @@ win_line(wp, lnum, startrow, endrow) } #endif - off = (unsigned) (current_ScreenLine - ScreenLines); + off = (unsigned)(current_ScreenLine - ScreenLines); col = 0; #ifdef FEAT_RIGHTLEFT if (wp->w_p_rl) @@ -3423,13 +3423,16 @@ win_line(wp, lnum, startrow, endrow) else if (mb_l > 1) mb_c = (c << 8) + p_extra[1]; } + if (mb_l == 0) /* at the NUL at end-of-line */ + mb_l = 1; + /* If a double-width char doesn't fit display a '>' in the * last column. */ - if ( + if (( # ifdef FEAT_RIGHTLEFT wp->w_p_rl ? (col <= 0) : # endif - (col >= W_WIDTH(wp) - 1) + (col >= W_WIDTH(wp) - 1)) && (*mb_char2cells)(mb_c) == 2) { c = '>'; diff --git a/src/search.c b/src/search.c --- a/src/search.c +++ b/src/search.c @@ -34,9 +34,6 @@ static void show_pat_in_path __ARGS((cha static void wvsp_one __ARGS((FILE *fp, int idx, char *s, int sc)); #endif -static char_u *top_bot_msg = (char_u *)N_("search hit TOP, continuing at BOTTOM"); -static char_u *bot_top_msg = (char_u *)N_("search hit BOTTOM, continuing at TOP"); - /* * This file contains various searching-related routines. These fall into * three groups: @@ -854,17 +851,12 @@ searchit(win, buf, pos, dir, pat, count, * written. */ if (dir == BACKWARD) /* start second loop at the other end */ - { lnum = buf->b_ml.ml_line_count; - if (!shortmess(SHM_SEARCH) && (options & SEARCH_MSG)) - give_warning((char_u *)_(top_bot_msg), TRUE); - } else - { lnum = 1; - if (!shortmess(SHM_SEARCH) && (options & SEARCH_MSG)) - give_warning((char_u *)_(bot_top_msg), TRUE); - } + if (!shortmess(SHM_SEARCH) && (options & SEARCH_MSG)) + give_warning((char_u *)_(dir == BACKWARD + ? top_bot_msg : bot_top_msg), TRUE); } if (got_int || called_emsg || break_loop) break; @@ -2519,12 +2511,12 @@ found: * Return TRUE if the next paragraph or section was found. */ int -findpar(oap, dir, count, what, both) - oparg_T *oap; - int dir; - long count; - int what; - int both; +findpar(pincl, dir, count, what, both) + int *pincl; /* Return: TRUE if last char is to be included */ + int dir; + long count; + int what; + int both; { linenr_T curr; int did_skip; /* TRUE after separating lines have been skipped */ @@ -2586,7 +2578,7 @@ findpar(oap, dir, count, what, both) if ((curwin->w_cursor.col = (colnr_T)STRLEN(ml_get(curr))) != 0) { --curwin->w_cursor.col; - oap->inclusive = TRUE; + *pincl = TRUE; } } else 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 (2005 Sep 1)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 1, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 5)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 5, compiled "