Re: Stuff in testdir

2008-09-14 Fir de Conversatie Bram Moolenaar


Bill McCarthy wrote:

  There is a `testdir' located in $VIMRUNTIME/src.  There
  doesn't appear to be any documentation of this, but there is
  a set of tests that run from within various make files.
 
  I'm running in Windows.using Mingw.  The makefile for
  windows is apparently Make_dos.mak.  The top of that file
  mentioned that one needs typical unix utilities.  However,
  if you have the unix utilities, you very likely have at
  least sh.exe and probably zsh.exe (the Bourne and Z-Shell).
 
  Can't you use Makefile, as used for Unix?  However, I thought that
  MingW was supposed to just supply the compiler, not all the Unix tools
  like Cygwin.  So Make_dos.mak would be more appropriate.
 
 Thanks for your speedy reply.  No, Makefile does not work:
 
  make
 rm -f test.log
 make: *** No rule to make target `../vim', needed by `test1.out'.  Stop.
 
 You are correct that Mingw is not a complete package.  One
 needs to download the various unix utilities separately.
 But one usually gets sh.exe also - I also got zsh.exe in one
 of my downloads of unix utilities.  [They don't all play well
 with Windows, so one needs to test quite a bit.]

Isn't it possible to make the tests work without the extra downloads?
Using a testdir/Make_ming.mak, which mostly uses the DOS way of doing
things should work, right?  Adding a dependency on installing various
other tools is not nice.

  The GNU make command will use zsh (or sh if zsh is not
  present).  Only if neither of these are in your path is CMD
  used - and you CAN use Make_dos.mak.
 
  I've created Make_dos_sh.mak which should work with either
  sh.exe or zsh.exe - this is attached.  When I ran it with
  `make -f Make_dos_sh.mak', test54 failed with the following:
 
cp test54.ok test.ok
../vim -u dos.vim -U NONE --noplugin -s dotest.in test54.in
diff test.out test54.ok
diff: test.out: No such file or directory
make: *** [test54.out] Error 2
 
  Am I the first one to ever run these tests in Windows?
 
  This test uses Unix commands.  They can probably be avoided, since the
  buffer-local autocommands don't require a shell command.
 
 Yes, the CMD command `rm -f' is a problem.  I've removed
 this bad test and added a comment to the top of the new file
 (see attached).

I've put a remark on the todo list to change test54.  However, the todo
list is very, very long...

  When I run `make Make_dos_sh.mak clean' it cleans things up.
   Are there other targets I should use for a full test or is
   that accomplished with the make file?
 
   One little problem.  The unix utility command `rm -f X*'
   produces an error message with there are no X* files.  What
   is the way around that?
 
  I think that's normal.
 
 OK.  With test54 removed, I've run several tests and they
 each produced an `ALL DONE'.  Apparently that means
 everything worked?

Or that nothing was tested :-).

 Here are the tests I ran:
 
   make -f Make_dos_sh.mak nongui
   make -f Make_dos_sh.mak small
   make -f Make_dos_sh.mak gui
   make -f Make_dos_sh.mak win32
 
 The second test isn't much of a test :-)

-- 
Never go to the toilet in a paperless office.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Patch 7.2.016

2008-09-14 Fir de Conversatie Bram Moolenaar


Patch 7.2.016
Problem:The pattern being completed may be in freed memory when the
command line is being reallocated. (Dominique Pelle)
Solution:   Keep a pointer to the expand_T in the command line structure.
Don't use S-Tab as CTRL-P when there are no results.  Clear the
completion when using a command line from the history.
Files:  src/ex_getln.c


*** ../vim-7.2.015/src/ex_getln.c   Fri Aug  8 12:58:59 2008
--- src/ex_getln.c  Wed Sep 10 22:43:41 2008
***
*** 31,36 
--- 31,38 
  int   cmdattr;/* attributes for prompt */
  int   overstrike; /* Typing mode on the command line.  
Shared by
   getcmdline() and put_on_cmdline(). */
+ expand_T  *xpc;   /* struct being used for expansion, xp_pattern
+  may point into cmdbuff */
  int   xp_context; /* type of expansion */
  # ifdef FEAT_EVAL
  char_u*xp_arg;/* user-defined expansion arg */
***
*** 38,44 
  # endif
  };
  
! static struct cmdline_info ccline;/* current cmdline_info */
  
  static intcmd_showtail;   /* Only show path tail in lists ? */
  
--- 40,50 
  # endif
  };
  
! /* The current cmdline_info.  It is initialized in getcmdline() and after that
!  * used by other functions.  When invoking getcmdline() recursively it needs
!  * to be saved with save_cmdline() and restored with restore_cmdline().
!  * TODO: make it local to getcmdline() and pass it around. */
! static struct cmdline_info ccline;
  
  static intcmd_showtail;   /* Only show path tail in lists ? */
  
***
*** 238,243 
--- 244,250 
  }
  
  ExpandInit(xpc);
+ ccline.xpc = xpc;
  
  #ifdef FEAT_RIGHTLEFT
  if (curwin-w_p_rl  *curwin-w_p_rlc == 's'
***
*** 408,416 
  #endif
  
/*
!* S-Tab works like CTRL-P (unless 'wc' is S-Tab).
 */
!   if (c != p_wc  c == K_S_TAB  xpc.xp_numfiles != -1)
c = Ctrl_P;
  
  #ifdef FEAT_WILDMENU
--- 415,424 
  #endif
  
/*
!* When there are matching completions to select S-Tab works like
!* CTRL-P (unless 'wc' is S-Tab).
 */
!   if (c != p_wc  c == K_S_TAB  xpc.xp_numfiles  0)
c = Ctrl_P;
  
  #ifdef FEAT_WILDMENU
***
*** 1513,1518 
--- 1521,1527 
int old_firstc;
  
vim_free(ccline.cmdbuff);
+   xpc.xp_context = EXPAND_NOTHING;
if (hiscnt == hislen)
p = lookfor;/* back to the old one */
else
***
*** 1839,1844 
--- 1848,1854 
  #endif
  
  ExpandCleanup(xpc);
+ ccline.xpc = NULL;
  
  #ifdef FEAT_SEARCH_EXTRA
  if (did_incsearch)
***
*** 2508,2513 
--- 2518,2537 
  }
  mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1);
  vim_free(p);
+ 
+ if (ccline.xpc != NULL
+ccline.xpc-xp_pattern != NULL
+ccline.xpc-xp_context != EXPAND_NOTHING
+ccline.xpc-xp_context != EXPAND_UNSUCCESSFUL)
+ {
+   int i = ccline.xpc-xp_pattern - p;
+ 
+   /* If xp_pattern points inside the old cmdbuff it needs to be adjusted
+* to point into the newly allocated memory. */
+   if (i = 0  i = ccline.cmdlen)
+   ccline.xpc-xp_pattern = ccline.cmdbuff + i;
+ }
+ 
  return OK;
  }
  
***
*** 2875,2880 
--- 2899,2905 
  prev_ccline = ccline;
  ccline.cmdbuff = NULL;
  ccline.cmdprompt = NULL;
+ ccline.xpc = NULL;
  }
  
  /*
***
*** 3582,3587 
--- 3607,3613 
  ExpandInit(xp)
  expand_T  *xp;
  {
+ xp-xp_pattern = NULL;
  xp-xp_backslash = XP_BS_NONE;
  #ifndef BACKSLASH_IN_FILENAME
  xp-xp_shell = FALSE;
*** ../vim-7.2.015/src/version.cWed Sep 10 18:25:18 2008
--- src/version.c   Sun Sep 14 14:38:47 2008
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 16,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
53. To find out what time it is, you send yourself an e-mail and check the
Date: field.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Patch 7.2.017

2008-09-14 Fir de Conversatie Bram Moolenaar


Patch 7.2.017
Problem:strlen() used on text that may not end in a NUL. (Dominique Pelle)
Pasting a very big selection doesn't work.
Solution:   Use the length passed to the XtSelectionCallbackProc() function.
After getting the SelectionNotify event continue dispatching
events until the callback is actually called.  Also dispatch the
PropertyNotify event.
Files:  src/ui.c


*** ../vim-7.2.016/src/ui.c Sun Sep  7 21:47:51 2008
--- src/ui.cSun Sep 14 15:52:19 2008
***
*** 2020,2026 
  
  if (value == NULL || *length == 0)
  {
!   clip_free_selection(cbd);   /* ???  [what's the query?] */
*(int *)success = FALSE;
return;
  }
--- 2020,2026 
  
  if (value == NULL || *length == 0)
  {
!   clip_free_selection(cbd);   /* nothing received, clear register */
*(int *)success = FALSE;
return;
  }
***
*** 2076,2082 
text_prop.value = (unsigned char *)value;
text_prop.encoding = *type;
text_prop.format = *format;
!   text_prop.nitems = STRLEN(value);
status = XmbTextPropertyToTextList(X_DISPLAY, text_prop,
 text_list, n_text);
if (status != Success || n_text  1)
--- 2076,2082 
text_prop.value = (unsigned char *)value;
text_prop.encoding = *type;
text_prop.format = *format;
!   text_prop.nitems = len;
status = XmbTextPropertyToTextList(X_DISPLAY, text_prop,
 text_list, n_text);
if (status != Success || n_text  1)
***
*** 2131,2137 
case 3:  type = text_atom;  break;
default: type = XA_STRING;
}
!   success = FALSE;
XtGetSelectionValue(myShell, cbd-sel_atom, type,
clip_x11_request_selection_cb, (XtPointer)success, CurrentTime);
  
--- 2131,2137 
case 3:  type = text_atom;  break;
default: type = XA_STRING;
}
!   success = MAYBE;
XtGetSelectionValue(myShell, cbd-sel_atom, type,
clip_x11_request_selection_cb, (XtPointer)success, CurrentTime);
  
***
*** 2145,2169 
 * paste!  Don't worry, we will catch up with any other events later.
 */
start_time = time(NULL);
!   for (;;)
{
!   if (XCheckTypedEvent(dpy, SelectionNotify, event))
{
!   /* this is where clip_x11_request_selection_cb() is actually
!* called */
XtDispatchEvent(event);
!   break;
}
-   if (XCheckTypedEvent(dpy, SelectionRequest, event))
-   /* We may get a SelectionRequest here and if we don't handle
-* it we hang.  KDE klipper does this, for example. */
-   XtDispatchEvent(event);
  
/* Time out after 2 to 3 seconds to avoid that we hang when the
 * other process doesn't respond.  Note that the SelectionNotify
 * event may still come later when the selection owner comes back
!* to life and the text gets inserted unexpectedly (by xterm).
!* Don't know how to avoid that :-(. */
if (time(NULL)  start_time + 2)
{
timed_out = TRUE;
--- 2145,2171 
 * paste!  Don't worry, we will catch up with any other events later.
 */
start_time = time(NULL);
!   while (success == MAYBE)
{
!   if (XCheckTypedEvent(dpy, SelectionNotify, event)
!   || XCheckTypedEvent(dpy, SelectionRequest, event)
!   || XCheckTypedEvent(dpy, PropertyNotify, event))
{
!   /* This is where clip_x11_request_selection_cb() should be
!* called.  It may actually happen a bit later, so we loop
!* until success changes.
!* We may get a SelectionRequest here and if we don't handle
!* it we hang.  KDE klipper does this, for example.
!* We need to handle a PropertyNotify for large selections. */
XtDispatchEvent(event);
!   continue;
}
  
/* Time out after 2 to 3 seconds to avoid that we hang when the
 * other process doesn't respond.  Note that the SelectionNotify
 * event may still come later when the selection owner comes back
!* to life and the text gets inserted unexpectedly.  Don't know
!* why that happens or how to avoid that :-(. */
if (time(NULL)  start_time + 2)
{
timed_out = TRUE;
***
*** 2177,2183 
ui_delay(1L, TRUE);
}
  
!   if (success)
return;
  
/* don't do a retry with another type after timing out, otherwise we
--- 

Re: Stuff in testdir

2008-09-14 Fir de Conversatie Bill McCarthy
On Sun 14-Sep-08 6:21am -0600, Bram Moolenaar wrote:

 Bill McCarthy wrote:

 There is a `testdir' located in $VIMRUNTIME/src.  There
 doesn't appear to be any documentation of this, but there is
 a set of tests that run from within various make files.

 I'm running in Windows.using Mingw.  The makefile for
 windows is apparently Make_dos.mak.  The top of that file
 mentioned that one needs typical unix utilities.  However,
 if you have the unix utilities, you very likely have at
 least sh.exe and probably zsh.exe (the Bourne and Z-Shell).

 Can't you use Makefile, as used for Unix?  However, I thought that
 MingW was supposed to just supply the compiler, not all the Unix tools
 like Cygwin.  So Make_dos.mak would be more appropriate.

 Thanks for your speedy reply.  No, Makefile does not work:
 
  make
 rm -f test.log
 make: *** No rule to make target `../vim', needed by `test1.out'.  Stop.
 
 You are correct that Mingw is not a complete package.  One
 needs to download the various unix utilities separately.
 But one usually gets sh.exe also - I also got zsh.exe in one
 of my downloads of unix utilities.  [They don't all play well
 with Windows, so one needs to test quite a bit.]

 Isn't it possible to make the tests work without the extra downloads?
 Using a testdir/Make_ming.mak, which mostly uses the DOS way of doing
 things should work, right?  Adding a dependency on installing various
 other tools is not nice.

Yes, I've created Make_ming.mak which works whether running
from CMD, sh or zsh.  I've borrowed from your Make_ming.mak
in src for compiling.  See attached.

Test has been tested under my environment and under CMD
after removing both sh.exe and zsh.exe from my path.

 The GNU make command will use zsh (or sh if zsh is not
 present).  Only if neither of these are in your path is CMD
 used - and you CAN use Make_dos.mak.

 I've created Make_dos_sh.mak which should work with either
 sh.exe or zsh.exe - this is attached.  When I ran it with
 `make -f Make_dos_sh.mak', test54 failed with the following:

   cp test54.ok test.ok
   ../vim -u dos.vim -U NONE --noplugin -s dotest.in test54.in
   diff test.out test54.ok
   diff: test.out: No such file or directory
   make: *** [test54.out] Error 2

 Am I the first one to ever run these tests in Windows?

 This test uses Unix commands.  They can probably be avoided, since the
 buffer-local autocommands don't require a shell command.
 
 Yes, the CMD command `rm -f' is a problem.  I've removed
 this bad test and added a comment to the top of the new file
 (see attached).

 I've put a remark on the todo list to change test54.  However, the todo
 list is very, very long...

I misspoke.  The `rm -f' is NOT a problem - the user should
have that utility.  There is another problem with test54.

 When I run `make Make_dos_sh.mak clean' it cleans things up.
  Are there other targets I should use for a full test or is
  that accomplished with the make file?

  One little problem.  The unix utility command `rm -f X*'
  produces an error message with there are no X* files.  What
  is the way around that?

 I think that's normal.

 OK.  With test54 removed, I've run several tests and they
 each produced an `ALL DONE'.  Apparently that means
 everything worked?

 Or that nothing was tested :-).

 Here are the tests I ran:
 
   make -f Make_dos_sh.mak nongui
   make -f Make_dos_sh.mak small
   make -f Make_dos_sh.mak gui
   make -f Make_dos_sh.mak win32
 
 The second test isn't much of a test :-)

Why not have a test that tests all of them:

  vimall:TABfixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32)

Otherwise we appear to redundantly test.  This should be the
first (default) test.  I've added it to Make_ming.mak for
testdir.

-- 
Best regards,
Bill

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---

#
# Makefile to run tests for Vim, on Dos-like machines
# with sh.exe or zsh.exe in the path or not.
#
# Note that test54 has been removed until it is fixed.
#
# Requires a set of Unix tools: echo, diff, etc.

ifneq (sh.exe, $(SHELL))
DEL = rm -f
MV = mv
CP = cp
DIRSLASH = /
else
DEL = del
MV = rename
CP = copy
DIRSLASH = \\
endif

VIMPROG = ..$(DIRSLASH)vim

# Omitted:
# test2 \\tmp doesn't work.
# test10'errorformat' is different
# test12can't unlink a swap file
# test25uses symbolic link
# test27can't edit file with * in file name
# test3116 bit version runs out of memory...

SCRIPTS16 = test1.out test19.out test20.out test22.out \
test23.out test24.out test28.out test29.out \
test35.out test36.out test43.out \
test44.out test45.out test46.out test47.out \
test48.out test51.out test53.out\
test55.out 

Re: ANNC: Relative Numbering plugin

2008-09-14 Fir de Conversatie Rhialto

On Mon 18 Aug 2008 at 16:15:10 -0400, Charles Campbell wrote:
 
 Hello!
 
 I've issued a new plugin on my website:  
 http://mysite.verizon.net/astronaut/vim/index.html#RLTVNMBR .  It uses 

The link you have there,
http://groups.google.com/group/vim_dev/attach/10fa0944a8b643b4/vim-7.2-relativenumber-02.patch?part=2
, redirects (now, maybe not before?) to
http://vim_dev.googlegroups.com/attach/10fa0944a8b643b4/vim-7.2-relativenumber-02.patch?part=2
which Firefox complains that it cannot find (Address Not Found Firefox
can't find the server at vim_dev.googlegroups.com.). That is probably
because host names with an underscore (vim_dev.googlegroups.com) are not
allowed.

Doesn't anyone else notice that?

 Chip Campbell
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl-- Cetero censeo authored delendum esse.

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Re: ANNC: Relative Numbering plugin

2008-09-14 Fir de Conversatie Tony Mechelynck

On 14/09/08 20:57, Rhialto wrote:
 On Mon 18 Aug 2008 at 16:15:10 -0400, Charles Campbell wrote:
 Hello!

 I've issued a new plugin on my website:
 http://mysite.verizon.net/astronaut/vim/index.html#RLTVNMBR .  It uses

 The link you have there,
 http://groups.google.com/group/vim_dev/attach/10fa0944a8b643b4/vim-7.2-relativenumber-02.patch?part=2
 , redirects (now, maybe not before?) to
 http://vim_dev.googlegroups.com/attach/10fa0944a8b643b4/vim-7.2-relativenumber-02.patch?part=2
 which Firefox complains that it cannot find (Address Not Found Firefox
 can't find the server at vim_dev.googlegroups.com.). That is probably
 because host names with an underscore (vim_dev.googlegroups.com) are not
 allowed.

 Doesn't anyone else notice that?

 Chip Campbell
 -Olaf.

What do you mean, they aren't allowed? Not only do all the Vim Google 
Groups include an underscore in their names, when I click that link (in 
SeaMonkey on openSUSE Linux 11.0) I get a page saying Found. Please 
click the following link to continue: with a much longer link.

Best regards,
Tony.
-- 
I could dance till the cows come home.  On second thought, I'd rather
dance with the cows till you come home.
-- Groucho Marx

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Patch 7.2.018

2008-09-14 Fir de Conversatie Bram Moolenaar


Patch 7.2.018
Problem:Memory leak when substitute is aborted.
Solution:   Free the buffer allocated for the new text. (Dominique Pelle)
Files:  src/ex_cmds.c


*** ../vim-7.2.017/src/ex_cmds.cWed Aug  6 15:03:07 2008
--- src/ex_cmds.c   Sun Sep 14 13:45:03 2008
***
*** 5059,5064 
--- 5059,5065 
  
if (did_sub)
++sub_nlines;
+   vim_free(new_start);/* for when substitute was cancelled */
vim_free(sub_firstline);/* free the copy of the original line */
sub_firstline = NULL;
}
*** ../vim-7.2.017/src/version.cSun Sep 14 15:57:54 2008
--- src/version.c   Sun Sep 14 21:38:25 2008
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 18,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
55. You ask your doctor to implant a gig in your brain.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Re: Stuff in testdir

2008-09-14 Fir de Conversatie Bram Moolenaar


Bill McCarthy wrote:

  You are correct that Mingw is not a complete package.  One
  needs to download the various unix utilities separately.
  But one usually gets sh.exe also - I also got zsh.exe in one
  of my downloads of unix utilities.  [They don't all play well
  with Windows, so one needs to test quite a bit.]
 
  Isn't it possible to make the tests work without the extra downloads?
  Using a testdir/Make_ming.mak, which mostly uses the DOS way of doing
  things should work, right?  Adding a dependency on installing various
  other tools is not nice.
 
 Yes, I've created Make_ming.mak which works whether running
 from CMD, sh or zsh.  I've borrowed from your Make_ming.mak
 in src for compiling.  See attached.
 
 Test has been tested under my environment and under CMD
 after removing both sh.exe and zsh.exe from my path.

Great.  I'll include this.  Please send a new version when you make
improvements.

  The GNU make command will use zsh (or sh if zsh is not
  present).  Only if neither of these are in your path is CMD
  used - and you CAN use Make_dos.mak.
 
  I've created Make_dos_sh.mak which should work with either
  sh.exe or zsh.exe - this is attached.  When I ran it with
  `make -f Make_dos_sh.mak', test54 failed with the following:
 
cp test54.ok test.ok
../vim -u dos.vim -U NONE --noplugin -s dotest.in test54.in
diff test.out test54.ok
diff: test.out: No such file or directory
make: *** [test54.out] Error 2
 
  Am I the first one to ever run these tests in Windows?
 
  This test uses Unix commands.  They can probably be avoided, since the
  buffer-local autocommands don't require a shell command.
  
  Yes, the CMD command `rm -f' is a problem.  I've removed
  this bad test and added a comment to the top of the new file
  (see attached).
 
  I've put a remark on the todo list to change test54.  However, the todo
  list is very, very long...
 
 I misspoke.  The `rm -f' is NOT a problem - the user should
 have that utility.  There is another problem with test54.
 
  When I run `make Make_dos_sh.mak clean' it cleans things up.
   Are there other targets I should use for a full test or is
   that accomplished with the make file?
 
   One little problem.  The unix utility command `rm -f X*'
   produces an error message with there are no X* files.  What
   is the way around that?
 
  I think that's normal.
 
  OK.  With test54 removed, I've run several tests and they
  each produced an `ALL DONE'.  Apparently that means
  everything worked?
 
  Or that nothing was tested :-).
 
  Here are the tests I ran:
  
make -f Make_dos_sh.mak nongui
make -f Make_dos_sh.mak small
make -f Make_dos_sh.mak gui
make -f Make_dos_sh.mak win32
  
  The second test isn't much of a test :-)
 
 Why not have a test that tests all of them:
 
   vimall:TABfixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32)
 
 Otherwise we appear to redundantly test.  This should be the
 first (default) test.  I've added it to Make_ming.mak for
 testdir.

The idea is that make gui runs all the tests that are possible for a
Vim compiled with GUI, nongui for console Vim, etc.  If you add them
all together there won't be a Vim that manages to pass all the tests.

-- 
I simultaneously try to keep my head in the clouds and my feet on the
ground.  Sometimes it's a stretch, though.  -- Larry Wall

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Patch to try out: v:oldfiles

2008-09-14 Fir de Conversatie Bram Moolenaar
Now and then I start editing a file and want to go back to a file I
edited in a previous edit session.  But the name doesn't appear in the
marks or buffer list.  Still, I know the file name is in the viminfo
file.  There are plugins for this, but I thought it would be nice if Vim
could retrieve file names natively.

The idea is simple: when reading the viminfo file on startup, store the
file names from the list of buffer marks in v:oldfiles.  This already
makes it possible to use them.  For convenience I added the :oldfiles
command to list them (nicer than :echo v:oldfiles).  And the #N item
to be able to use the file name in most places on the command line.

Please try the patch and tell me what you think.

- 
ERROR 047: Keyboard not found.  Press RETURN to continue.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



oldfiles_patch.diff
Description: Binary data


Bug in exception handling with :return

2008-09-14 Fir de Conversatie Matt Wozniski

These two functions ought to behave identically, but don't... For some
reason, the :catch never gets triggered for the Broken one.

function! Working()
  try
let y = x
return y
  catch /^Vim\%((\a\+)\)\=:E121/
 Handle 'Undefined variable' errors
return 42
  endtry
endfunction

function! Broken()
  try
return x
  catch /^Vim\%((\a\+)\)\=:E121/
 Handle 'Undefined variable' errors
return 42
  endtry
endfunction

~Matt

--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---



Problem with CursorMoved AutoCommand when Editing Files on a Remote WIndows Share

2008-09-14 Fir de Conversatie David Kotchan

Hello fellow Vimmers

I've discovered a problem with Vim 7.2 when using the CursorMoved 
autocommand under Windows. The problem is only evident when editing 
files on a Windows share, rather than editing a file on the local 
machine. (Presumably the same issue is occurring even when editing on 
the local machine, but is only obvious when editing files on a Windows 
share.)

The problem does not occur under Vim 7.1, so I conclude something has 
changed with how CursorMoved events are handled in Vim 7.2.

Repro steps: I use the clever 'halfmove.vim' script created by Andy 
Spencer, which uses the CursorMoved autocommand on each keystroke. My 
problem can be easily repro'd: with the halfmove script in the \plugin 
folder, simply use Vim 7.2 to edit a file on some remote share (eg. 'vim 
\\FRED\barney.txt', barney.txt being some file on a remote machine named 
FRED). Then hold down the 'j' or 'k' keys to scroll the text window. The 
window scrolls very slowly and with fits and starts. In worst cases 
scrolling is so slow that barney.txt cannot usefully be edited. Network 
activity is also very high during the scrolling.

Deleting the 'halfmove.vim' script from the \plugin folder, or 
(alternately) commenting out the CursorMoved autocommand from that 
script, cures the problem. Vim 7.2 then becomes as speedy as Vim 7.1.

Since the issue does not occur for Vim 7.1, I'm sticking with Vim 7.1 
for now (because I really like the functionality offered by the 
halfmove.vim script, and I have to edit quite a few files on remote 
shares). But evidently something significant has changed in how Vim 7.2 
handles the CursorMoved event.

Experiments show that the slowdown occurs even when CursorMoved is set 
up to call an empty (no-op) function; that is, it's not the work being 
done in the function that causes the slowdown, but the fact that 
CursorMoved is calling a Vim function at all.

I've experimented with several of the source code files for 7.2 in an 
attempt to figure out why/where the issue is occurring, but so far 
haven't found a solution. Can anyone offer any insight? What changes 
were made in 7.2's handling of CursorMoved that might be causing this 
problem?

I've seen the issue under both Vista and WinXP. I'm using the console 
mode version of Vim 7.2.

Any help appreciated.

Thanks
--David Kotchan



--~--~-~--~~~---~--~~
You received this message from the vim_dev maillist.
For more information, visit http://www.vim.org/maillist.php
-~--~~~~--~~--~--~---