Conflicting error code E812 in patches 7.2.132 and 7.2.192

2009-06-16 Fir de Conversatie Dominique Pellé

Patches 7.2.132 and 7.2.192 introduced new error messages,
with the same number E812.  However, the error messages in
those patches are completely unrelated:
- the first (7.2.132) one is about autocommands changing buffer
- the second one (7.2.192) is about MzScheme.

They should have a different error numbers.

":help E812" in latest doc files (ftp.nluug.nl::Vim/runtime/) only
describes the error message about MzScheme.


$ grep E812 vim7/src/*
vim7/src/fileio.c:static char *e_auchangedbuf = N_("E812: Autocommands
changed buffer or buffer name");
vim7/src/if_mzsch.c:EMSG(_("E812: Sorry, this command is
disabled, the MzScheme libraries could not be loaded."));


$ grep E812 vim7/doc/*
vim7/doc/if_mzsch.txt:5. Dynamic loading
  *mzscheme-dynamic* *E812*

Regards
-- Dominique

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



Re: scim_bridge_client_imcontext_set_cursor_location -- an annoying error message

2009-06-16 Fir de Conversatie Charles E Campbell Jr

Tony Mechelynck wrote:
> On 10/06/09 21:31, Charles Campbell wrote:
>   
>> Hello!
>>
>> In running a not too trivial script I've written, I keep getting
>> messages of the following sort (even when the script is quiescent, ie.
>> after its opened its 8 windows):
>>   (Centos 5.2/Linux/gtk)
>>
>> CALC/ xorn? An IOException occurred at
>> scim_bridge_client_imcontext_set_cursor_location ()
>> 
...snip...
>> An IOException occurred at
>>
>> 
> I don't remember ever having seen those messages on my system, but scim 
> is one possible XIM; it has settings for a lot of languages (including 
> "English (American)"!). Are you sure your Input Method settings are 
> correct? Or at least that they won't cause you trouble if you aren't 
> aware that an IM is running? You may want to check the settings by 
> clicking right, then "SCIM setup", on the keyboard-like icon in the 
> system tray (or at least that's what it looks like to me on my KDE3 
> winmanager).
>
> In Vim, you may want to
>
>   :setlocal imi=0 ims=-1
>
> in any window where you want neither IM nor keymap handling at the moment.
>   

I'll definitely do that.  I probably next-to-never use deliberately scim 
(mostly its ctrl- to
toggle back to normal because of a typo).  Hopefully I won't see those 
messages again!

As far as having the correct settings, I'm afraid that I have no idea -- 
they're whatever the defaults
happen to be.  That "keyboard icon" doesn't look very keyboard-ish on my 
screen, but it did bring
up the SCIM setup you mentioned.

Thank you, Tony!
Chip Campbell


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



Re: [PATCH] Allow the default compiler to be overridden in xxd/Make_cyg.mak

2009-06-16 Fir de Conversatie Tony Mechelynck

On 11/06/09 15:41, Chris Sutcliffe wrote:
>
>> This un-hardcoding is part of my patch for cross-compiling with mingw
>> from 2009-03-18, which is still on the todo list.
>
> Ah, excellent!  I'll just have to sit tight and wait for your patch to
> make it in to an official patch.
>
> Cheers!
>
> Chris
>

Yes, but remember that the todo list is a long one, and that Bram still 
has a job, where IIUC he's supposed to dedicate 4/5 of his time to other 
stuff than Vim.

Best regards,
Tony.
-- 
Hartley's First Law:
You can lead a horse to water, but if you can get him to float
on his back, you've got something.

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



Re: scim_bridge_client_imcontext_set_cursor_location -- an annoying error message

2009-06-16 Fir de Conversatie Tony Mechelynck

On 10/06/09 21:31, Charles Campbell wrote:
>
> Hello!
>
> In running a not too trivial script I've written, I keep getting
> messages of the following sort (even when the script is quiescent, ie.
> after its opened its 8 windows):
>   (Centos 5.2/Linux/gtk)
>
> CALC/ xorn? An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
> Another agent is running...
> Failed to allocate the agent. Exitting...
> Failed to invoking the agent: Connection refused
> Cannot launch the agent
> Another agent is running...
> Failed to allocate the agent. Exitting...
> Failed to invoking the agent: Connection refused
> Cannot launch the agent
> An IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location ()
>
> In applying google to "IOException occurred at
> scim_bridge_client_imcontext_set_cursor_location", I see numerous bugs
> like this reported against various programs.  I suspect that this
> problem may be a vim+gtk+linux problem.  Anyone else see this, and any
> suggestions for how to figure out what's causing it?   BTW, these
> messages go to the launching GnomeTerminal even though I'm using gvim.
>
> Regards,
> Chip Campbell

I don't remember ever having seen those messages on my system, but scim 
is one possible XIM; it has settings for a lot of languages (including 
"English (American)"!). Are you sure your Input Method settings are 
correct? Or at least that they won't cause you trouble if you aren't 
aware that an IM is running? You may want to check the settings by 
clicking right, then "SCIM setup", on the keyboard-like icon in the 
system tray (or at least that's what it looks like to me on my KDE3 
winmanager).

In Vim, you may want to

:setlocal imi=0 ims=-1

in any window where you want neither IM nor keymap handling at the moment.

See also
:help 'iminsert'
:help 'imsearch'
:help 'imactivatekey'
:help 'imdisable'

:help mbyte-XIM
and start scrolling from there

Note that the "Note" at lines 862 sqq of mbyte.txt (Last change: 2009 
Feb 28) seems a little outdated: my gvim with GTK2-GNOME GUI has 
"-xfontset +xim" compiled-in, which according to that note would be 
impossible. ":help 'guifontset'" correctly states that that option 
doesn't exist on GTK2 GUIs.

Best regards,
Tony.
-- 
hundred-and-one symptoms of being an internet addict:
49. You never have to deal with busy signals when calling your ISP...because
 you never log off.

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



Patch 7.2.209

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.209
Problem:For xxd setmode() is undefined on Cygwin.
Solution:   Include io.h. (Dominique Pelle)
Files:  src/xxd/xxd.c


*** ../vim-7.2.208/src/xxd/xxd.c2007-12-03 21:32:21.0 +0100
--- src/xxd/xxd.c   2009-06-16 18:03:14.0 +0200
***
*** 64,69 
--- 64,72 
  # define _CRT_SECURE_NO_DEPRECATE
  # define _CRT_NONSTDC_NO_DEPRECATE
  #endif
+ #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || 
defined(__CYGWIN32__))
+ # define CYGWIN
+ #endif
  
  #include 
  #ifdef VAXC
***
*** 77,83 
  #if !defined(OS2) && defined(__EMX__)
  # define OS2
  #endif
! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__)
  # include   /* for setmode() */
  #else
  # ifdef UNIX
--- 80,87 
  #if !defined(OS2) && defined(__EMX__)
  # define OS2
  #endif
! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__) 
\
!   || defined(CYGWIN)
  # include   /* for setmode() */
  #else
  # ifdef UNIX
***
*** 150,158 
  # endif
  #endif
  
- #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || 
defined(__CYGWIN32__))
- # define CYGWIN
- #endif
  #if defined(MSDOS) || defined(WIN32) || defined(OS2)
  # define BIN_READ(yes)  ((yes) ? "rb" : "rt")
  # define BIN_WRITE(yes) ((yes) ? "wb" : "wt")
--- 154,159 
*** ../vim-7.2.208/src/version.c2009-06-16 17:50:56.0 +0200
--- src/version.c   2009-06-16 18:16:08.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 209,
  /**/

-- 
"So this is it," said Arthur, "we are going to die."
"Yes," said Ford, "except...no!  Wait a minute!"  He suddenly lunged across
the chamber at something behind Arthur's line of vision.  "What's this
switch?" he cried.
"What?   Where?" cried Arthur, twisting around.
"No, I was only fooling," said Ford, "we are going to die after all."
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.208

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.208
Problem:"set novice" gives an error message, it should be ignored.
Solution:   Don't see "no" in "novice" as unsetting an option.  (Patrick
Texier)
Files:  src/option.c


*** ../vim-7.2.207/src/option.c 2009-06-16 15:23:07.0 +0200
--- src/option.c2009-06-16 17:35:08.0 +0200
***
*** 4006,4012 
else
{
prefix = 1;
!   if (STRNCMP(arg, "no", 2) == 0)
{
prefix = 0;
arg += 2;
--- 4006,4012 
else
{
prefix = 1;
!   if (STRNCMP(arg, "no", 2) == 0 && STRNCMP(arg, "novice", 6) != 0)
{
prefix = 0;
arg += 2;
***
*** 9757,9763 
}
--p;
  }
! if (STRNCMP(p, "no", 2) == 0)
  {
xp->xp_context = EXPAND_BOOL_SETTINGS;
p += 2;
--- 9757,9763 
}
--p;
  }
! if (STRNCMP(p, "no", 2) == 0 && STRNCMP(p, "novice", 6) != 0)
  {
xp->xp_context = EXPAND_BOOL_SETTINGS;
p += 2;
*** ../vim-7.2.207/src/version.c2009-06-16 17:22:38.0 +0200
--- src/version.c   2009-06-16 17:50:33.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 208,
  /**/

-- 
Now it is such a bizarrely improbable coincidence that anything as
mind-bogglingly useful as the Babel fish could have evolved purely by chance
that some thinkers have chosen to see it as a final and clinching proof of the
NON-existence of God.
The argument goes something like this: 'I refuse to prove that I exist,' says
God, 'for proof denies faith, and without faith I am nothing.'
'But,' says Man, 'the Babel fish is a dead giveaway, isn't it?  It could not
have evolved by chance.  It proves you exist, and so therefore, by your own
arguments, you don't.  QED.'
'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a
puff of logic.
'Oh, that was easy,' says Man, and for an encore goes on to prove that black
is white and gets himself killed on the next pedestrian crossing.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.207

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.207
Problem:Using freed memory with ":redrawstatus" when it works recursively.
Solution:   Prevent recursively updating the status line. (partly by Dominique
Pelle)
Files:  src/screen.c


*** ../vim-7.2.206/src/screen.c 2009-06-16 16:01:34.0 +0200
--- src/screen.c2009-06-16 17:04:53.0 +0200
***
*** 5743,5748 
--- 5743,5755 
  int   fillchar;
  int   attr;
  int   this_ru_col;
+ static int  busy = FALSE;
+ 
+ /* It's possible to get here recursively when 'statusline' (indirectly)
+  * invokes ":redrawstatus".  Simply ignore the call then. */
+ if (busy)
+   return;
+ busy = TRUE;
  
  wp->w_redr_status = FALSE;
  if (wp->w_status_height == 0)
***
*** 5881,5886 
--- 5888,5894 
attr);
  }
  #endif
+ busy = FALSE;
  }
  
  #ifdef FEAT_STL_OPT
*** ../vim-7.2.206/src/version.c2009-06-16 16:57:53.0 +0200
--- src/version.c   2009-06-16 17:21:56.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 207,
  /**/

-- 
In many of the more relaxed civilizations on the Outer Eastern Rim of the
Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
great "Encyclopedia Galactica" as the standard repository of all knowledge
and wisdom, for though it has many omissions and contains much that is
apocryphal, or at least wildly inaccurate, it scores over the older, more
pedestrian work in two important respects.
First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
inscribed in large friendly letters on its cover.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.206

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.206
Problem:Win32: Can't build netbeans interface with Visual Studio 2010.
Solution:   Undefine ECONNREFUSED. (George Reilly)
Files:  src/netbeans.c


*** ../vim-7.2.205/src/netbeans.c   2009-05-17 23:25:16.0 +0200
--- src/netbeans.c  2009-06-16 16:39:17.0 +0200
***
*** 32,37 
--- 32,38 
  /* WinSock API is separated from C API, thus we can't use read(), write(),
   * errno... */
  # define sock_errno WSAGetLastError()
+ # undef ECONNREFUSED
  # define ECONNREFUSED WSAECONNREFUSED
  # ifdef EINTR
  #  undef EINTR
*** ../vim-7.2.205/src/version.c2009-06-16 16:45:14.0 +0200
--- src/version.c   2009-06-16 16:57:45.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 206,
  /**/

-- 
How To Keep A Healthy Level Of Insanity:
18. When leaving the zoo, start running towards the parking lot,
yelling "run for your lives, they're loose!!"

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 because you are subscribed to the Google Groups 
"vim_dev" group.
To post to this group, send email to vim_dev@googlegroups.com
To unsubscribe from this group, send email to 
vim_dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/vim_dev?hl=en
-~--~~~~--~~--~--~---



Patch 7.2.205 (extra)

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.205 (extra)
Problem:Win32: No support for High DPI awarenes.
Solution:   Fix the manifest file. (George Reilly)
Files:  src/Make_mvc.mak, src/gvim.exe.mnf


*** ../vim-7.2.204/src/Make_mvc.mak 2009-06-16 16:34:12.0 +0200
--- src/Make_mvc.mak2009-06-16 16:36:32.0 +0200
***
*** 1040,1046 
  $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
$(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c
  
! $(OUTDIR)/vim.res:$(OUTDIR) vim.rc version.h tools.bmp tearoff.bmp \
vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
$(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
  
--- 1040,1046 
  $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
$(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c
  
! $(OUTDIR)/vim.res:$(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp 
tearoff.bmp \
vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
$(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
  
*** ../vim-7.2.204/src/gvim.exe.mnf 2008-08-09 19:37:29.0 +0200
--- src/gvim.exe.mnf2009-06-16 16:36:32.0 +0200
***
*** 1,5 
  
! 

! 

  

+   
+   
+ http://schemas.microsoft.com/SMI/2005/WindowsSettings";>
+   true
+ 
+   
  
*** ../vim-7.2.204/src/version.c2009-06-16 16:34:12.0 +0200
--- src/version.c   2009-06-16 16:43:04.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 205,
  /**/

-- 
How To Keep A Healthy Level Of Insanity:
17. When the money comes out the ATM, scream "I won!, I won! 3rd
time this week!"

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.204 (extra)

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.204 (extra)
Problem:Win32: Can't build with Visual Studio 2010 beta 1.
Solution:   Fix the makefile. (George Reilly)
Files:  src/Make_mvc.mak


*** ../vim-7.2.203/src/Make_mvc.mak 2009-05-26 22:58:43.0 +0200
--- src/Make_mvc.mak2009-06-16 16:27:59.0 +0200
***
*** 1,18 
  # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
  # and Win64, using the Microsoft Visual C++ compilers. Known to work with
  # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
! # and VC9 (VS2008).
  #
  # To build using other Windows compilers, see INSTALLpc.txt
  #
  # This makefile can build the console, GUI, OLE-enable, Perl-enabled and
! # Python-enabled versions of vim for Win32 platforms.
  #
! # The basic command line to build vim is:
  #
  # nmake -f Make_mvc.mak
  #
! # This will build the console version of vim with no additional interfaces.
  # To add features, define any of the following:
  #
  #   After changing features do "nmake clean" first  
--- 1,18 
  # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
  # and Win64, using the Microsoft Visual C++ compilers. Known to work with
  # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
! # VC9 (VS2008), and VC10 (VS2010).
  #
  # To build using other Windows compilers, see INSTALLpc.txt
  #
  # This makefile can build the console, GUI, OLE-enable, Perl-enabled and
! # Python-enabled versions of Vim for Win32 platforms.
  #
! # The basic command line to build Vim is:
  #
  # nmake -f Make_mvc.mak
  #
! # This will build the console version of Vim with no additional interfaces.
  # To add features, define any of the following:
  #
  #   After changing features do "nmake clean" first  
***
*** 358,363 
--- 358,366 
  !if "$(_NMAKE_VER)" == "9.00.30729.01"
  MSVCVER = 9.0
  !endif
+ !if "$(_NMAKE_VER)" == "10.00.20506.01"
+ MSVCVER = 10.0
+ !endif
  !endif
  
  # Abort bulding VIM if version of VC is unrecognised.
***
*** 372,378 
  !endif
  
  # Convert processor ID to MVC-compatible number
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0")
  !if "$(CPUNR)" == "i386"
  CPUARG = /G3
  !elseif "$(CPUNR)" == "i486"
--- 375,381 
  !endif
  
  # Convert processor ID to MVC-compatible number
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != 
"10.0")
  !if "$(CPUNR)" == "i386"
  CPUARG = /G3
  !elseif "$(CPUNR)" == "i486"
***
*** 405,411 
  !else # MAXSPEED
  OPTFLAG = /Ox
  !endif
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0")
  # Use link time code generation if not worried about size
  !if "$(OPTIMIZE)" != "SPACE"
  OPTFLAG = $(OPTFLAG) /GL
--- 408,414 
  !else # MAXSPEED
  OPTFLAG = /Ox
  !endif
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == 
"10.0")
  # Use link time code generation if not worried about size
  !if "$(OPTIMIZE)" != "SPACE"
  OPTFLAG = $(OPTFLAG) /GL
***
*** 793,799 
  
  # Report link time code generation progress if used. 
  !ifdef NODEBUG
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0")
  !if "$(OPTIMIZE)" != "SPACE"
  LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
  !endif
--- 796,802 
  
  # Report link time code generation progress if used. 
  !ifdef NODEBUG
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == 
"10.0")
  !if "$(OPTIMIZE)" != "SPACE"
  LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
  !endif
*** ../vim-7.2.203/src/version.c2009-06-16 16:01:34.0 +0200
--- src/version.c   2009-06-16 16:32:41.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 204,
  /**/

-- 
How To Keep A Healthy Level Of Insanity:
16. Have your coworkers address you by your wrestling name, Rock Hard Kim.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.203

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.203
Problem:When reloading a buffer or doing anything else with a buffer that
is not displayed in a visible window, autocommands may be applied
to the current window, folds messed up, etc.
Solution:   Instead of using the current window for the hidden buffer use a
special window, splitting the current one temporarily.
Files:  src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs,
src/proto/gui.pro, src/proto/window.pro, src/screen.c,
src/structs.h, src/window.c


*** ../vim-7.2.202/src/fileio.c 2009-06-16 15:35:46.0 +0200
--- src/fileio.c2009-06-11 21:22:37.0 +0200
***
*** 8365,8371 
  
/* Execute the modeline settings, but don't set window-local
 * options if we are using the current window for another buffer. */
!   do_modelines(aco.save_curwin == NULL ? OPT_NOWIN : 0);
  
/* restore the current window */
aucmd_restbuf(&aco);
--- 8365,8371 
  
/* Execute the modeline settings, but don't set window-local
 * options if we are using the current window for another buffer. */
!   do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
  
/* restore the current window */
aucmd_restbuf(&aco);
***
*** 8381,8388 
  
  /*
   * Prepare for executing autocommands for (hidden) buffer "buf".
!  * Search a window for the current buffer.  Save the cursor position and
!  * screen offset.
   * Set "curbuf" and "curwin" to match "buf".
   * When FEAT_AUTOCMD is not defined another version is used, see below.
   */
--- 8381,8388 
  
  /*
   * Prepare for executing autocommands for (hidden) buffer "buf".
!  * Search for a visible window containing the current buffer.  If there isn't
!  * one then use "aucmd_win".
   * Set "curbuf" and "curwin" to match "buf".
   * When FEAT_AUTOCMD is not defined another version is used, see below.
   */
***
*** 8392,8399 
  buf_T *buf;   /* new curbuf */
  {
  win_T *win;
! 
! aco->new_curbuf = buf;
  
  /* Find a window that is for the new buffer */
  if (buf == curbuf)/* be quick when buf is curbuf */
--- 8392,8400 
  buf_T *buf;   /* new curbuf */
  {
  win_T *win;
! #ifdef FEAT_WINDOWS
! int   save_ea;
! #endif
  
  /* Find a window that is for the new buffer */
  if (buf == curbuf)/* be quick when buf is curbuf */
***
*** 8407,8448 
win = NULL;
  #endif
  
! /*
!  * Prefer to use an existing window for the buffer, it has the least side
!  * effects (esp. if "buf" is curbuf).
!  * Otherwise, use curwin for "buf".  It might make some items in the
!  * window invalid.  At least save the cursor and topline.
!  */
  if (win != NULL)
  {
!   /* there is a window for "buf", make it the curwin */
!   aco->save_curwin = curwin;
curwin = win;
-   aco->save_buf = win->w_buffer;
-   aco->new_curwin = win;
  }
  else
  {
!   /* there is no window for "buf", use curwin */
!   aco->save_curwin = NULL;
!   aco->save_buf = curbuf;
!   --curbuf->b_nwindows;
curwin->w_buffer = buf;
++buf->b_nwindows;
  
!   /* save cursor and topline, set them to safe values */
!   aco->save_cursor = curwin->w_cursor;
!   curwin->w_cursor.lnum = 1;
!   curwin->w_cursor.col = 0;
!   aco->save_topline = curwin->w_topline;
!   curwin->w_topline = 1;
! #ifdef FEAT_DIFF
!   aco->save_topfill = curwin->w_topfill;
!   curwin->w_topfill = 0;
  #endif
  }
- 
  curbuf = buf;
  }
  
  /*
--- 8408,8460 
win = NULL;
  #endif
  
! /* Allocate "aucmd_win" when needed.  If this fails (out of memory) fall
!  * back to using the current window. */
! if (win == NULL && aucmd_win == NULL)
! {
!   win_alloc_aucmd_win();
!   if (aucmd_win == NULL)
!   win = curwin;
! }
! 
! aco->save_curwin = curwin;
! aco->save_curbuf = curbuf;
  if (win != NULL)
  {
!   /* There is a window for "buf" in the current tab page, make it the
!* curwin.  This is preferred, it has the least side effects (esp. if
!* "buf" is curbuf). */
curwin = win;
  }
  else
  {
!   /* There is no window for "buf", use "aucmd_win".  To minimize the side
!* effects, insert it in a the current tab page.
!* Anything related to a window (e.g., setting folds) may have
!* unexpected results. */
!   curwin = aucmd_win;
curwin->w_buffer = buf;
++buf->b_nwindows;
  
! #ifdef FEAT_WINDOWS
!   /* Split the current window, put the aucmd_win in the upper half. */
!   make_snapshot(SNAP_AUCMD_IDX);
!   save_ea = p_ea;
!   p_ea = FALSE;
!   (void)win_split_ins(0, WSP_TOP, aucmd_win, 

Patch 7.2.202

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.202
Problem:BufWipeout autocommand that edits another buffer causes problems.
Solution:   Check for the situation, give an error and quit the operation.
Files:  src/fileio.c


*** ../vim-7.2.201/src/fileio.c 2009-05-16 17:29:37.0 +0200
--- src/fileio.c2009-06-11 21:22:37.0 +0200
***
*** 4824,4829 
--- 4824,4831 
  char_u*sfname;
  {
  #ifdef FEAT_AUTOCMD
+ buf_T *buf = curbuf;
+ 
  /* It's like the unnamed buffer is deleted */
  if (curbuf->b_p_bl)
apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
***
*** 4832,4837 
--- 4834,4845 
  if (aborting())   /* autocmds may abort script processing */
return FAIL;
  # endif
+ if (curbuf != buf)
+ {
+   /* We are in another buffer now, don't do the renaming. */
+   EMSG(_(e_auchangedbuf));
+   return FAIL;
+ }
  #endif
  
  if (setfname(curbuf, fname, sfname, FALSE) == OK)
*** ../vim-7.2.201/src/version.c2009-06-16 15:23:07.0 +0200
--- src/version.c   2009-06-16 15:28:31.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 202,
  /**/

-- 
How To Keep A Healthy Level Of Insanity:
14. Put mosquito netting around your work area. Play a tape of jungle
sounds all day.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.201

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.201
Problem:Cannot copy/paste HTML to/from Firefox via the clipboard.
Solution:   Implement this for GTK.  Add the "html" value to 'clipboard'.
Files:  runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c,
src/mbyte.c, src/proto/mbyte.pro, src/option.c


*** ../vim-7.2.200/runtime/doc/options.txt  2009-02-21 20:27:00.0 
+0100
--- runtime/doc/options.txt 2009-06-12 22:25:22.0 +0200
***
*** 1443,1448 
--- 1444,1457 
autoselectmlLike "autoselect", but for the modeless selection
only.  Compare to the 'A' flag in 'guioptions'.
  
+   htmlWhen the clipboard contains HTML, use this when
+   pasting.  When putting text on the clipboard, mark it
+   as HTML.  This works to copy rendered HTML from
+   Firefox, paste it as raw HTML in Vim, select the HTML
+   in Vim and paste it in a rich edit box in Firefox.
+   Only supported for GTK version 2 and later.
+   Only available with the |+multi_byte| feature.
+ 
exclude:{pattern}
Defines a pattern that is matched against the name of
the terminal 'term'.  If there is a match, no
*** ../vim-7.2.200/src/globals.h2009-06-16 15:12:11.0 +0200
--- src/globals.h   2009-06-12 21:10:30.0 +0200
***
*** 509,514 
--- 509,515 
  EXTERN intclip_unnamed INIT(= FALSE);
  EXTERN intclip_autoselect INIT(= FALSE);
  EXTERN intclip_autoselectml INIT(= FALSE);
+ EXTERN intclip_html INIT(= FALSE);
  EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
  #endif
  
*** ../vim-7.2.200/src/gui_gtk_x11.c2009-06-16 15:12:11.0 +0200
--- src/gui_gtk_x11.c   2009-06-16 14:44:19.0 +0200
***
*** 107,112 
--- 107,113 
  TARGET_UTF8_STRING,
  TARGET_STRING,
  TARGET_COMPOUND_TEXT,
+ TARGET_HTML,
  TARGET_TEXT,
  TARGET_TEXT_URI_LIST,
  TARGET_TEXT_PLAIN,
***
*** 123,128 
--- 124,130 
  {VIMENC_ATOM_NAME,0, TARGET_VIMENC},
  {VIM_ATOM_NAME,   0, TARGET_VIM},
  #ifdef FEAT_MBYTE
+ {"text/html", 0, TARGET_HTML},
  {"UTF8_STRING",   0, TARGET_UTF8_STRING},
  #endif
  {"COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT},
***
*** 140,145 
--- 142,148 
  {
  {"text/uri-list", 0, TARGET_TEXT_URI_LIST},
  # ifdef FEAT_MBYTE
+ {"text/html", 0, TARGET_HTML},
  {"UTF8_STRING",   0, TARGET_UTF8_STRING},
  # endif
  {"STRING",0, TARGET_STRING},
***
*** 178,183 
--- 181,187 
   * Atoms used to control/reference X11 selections.
   */
  #ifdef FEAT_MBYTE
+ static GdkAtom html_atom = GDK_NONE;
  static GdkAtom utf8_string_atom = GDK_NONE;
  #endif
  #ifndef HAVE_GTK2
***
*** 1364,1369 
--- 1368,1391 
else
text = tmpbuf_utf8;
}
+   else if (len >= 2 && text[0] == 0xff && text[1] == 0xfe)
+   {
+   vimconv_T conv;
+ 
+   /* UTF-16, we get this for HTML */
+   conv.vc_type = CONV_NONE;
+   convert_setup_ext(&conv, (char_u *)"utf-16le", FALSE, p_enc, TRUE);
+ 
+   if (conv.vc_type != CONV_NONE)
+   {
+   text += 2;
+   len -= 2;
+   tmpbuf = string_convert(&conv, text, &len);
+   convert_setup(&conv, NULL, NULL);
+   }
+   if (tmpbuf != NULL)
+   text = tmpbuf;
+   }
  }
  #else /* !HAVE_GTK2 */
  # ifdef FEAT_MBYTE
***
*** 1451,1456 
--- 1473,1479 
  
  if (info != (guint)TARGET_STRING
  #ifdef FEAT_MBYTE
+   && (!clip_html || info != (guint)TARGET_HTML)
&& info != (guint)TARGET_UTF8_STRING
&& info != (guint)TARGET_VIMENC
  #endif
***
*** 1486,1491 
--- 1509,1548 
  }
  
  #ifdef FEAT_MBYTE
+ else if (info == (guint)TARGET_HTML)
+ {
+   vimconv_T conv;
+ 
+   /* Since we get utf-16, we probably should set it as well. */
+   conv.vc_type = CONV_NONE;
+   convert_setup_ext(&conv, p_enc, TRUE, (char_u *)"utf-16le", FALSE);
+   if (conv.vc_type != CONV_NONE)
+   {
+   tmpbuf = string_convert(&conv, string, &length);
+   convert_setup(&conv, NULL, NULL);
+   vim_free(string);
+   string = tmpbuf;
+   }
+ 
+   /* Prepend the BOM: "fffe" */
+   if (string != NULL)
+   {
+   tmpbuf = alloc(length + 2);
+   tmpbuf[0] = 0xff;
+   tmpbuf[1] = 0xfe;
+   mch_memmove(tmpbuf + 2, string, (size_t)length);
+   vim_free(string);
+   string = tmpbuf;
+   length += 2;
+ 
+   selection_data->type = selection_data->target;
+   selection_data->format = 16;/* 16 bits per char 

Patch 7.2.200

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.200
Problem:Reading past end of string when navigating the menu bar or
resizing the window.
Solution:   Add and use mb_ptr2len_len(). (partly by Dominique Pelle)
Also add mb_ptr2cells_len() to prevent more trouble.
Files:  src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c,
src/proto/mbyte.pro


*** ../vim-7.2.199/src/gui_gtk_x11.c2009-06-03 16:20:09.0 +0200
--- src/gui_gtk_x11.c   2009-06-16 14:44:19.0 +0200
***
*** 6077,6088 
  # ifdef FEAT_MBYTE
if (enc_utf8)
{
!   c = utf_ptr2char(p);
if (c >= 0x1)   /* show chars > 0x as ? */
c = 0xbf;
buf[textlen].byte1 = c >> 8;
buf[textlen].byte2 = c;
!   p += utf_ptr2len(p);
width += utf_char2cells(c);
}
else
--- 6135,6149 
  # ifdef FEAT_MBYTE
if (enc_utf8)
{
!   int pcc[MAX_MCO];
! 
!   /* TODO: use the composing characters */
!   c = utfc_ptr2char_len(p, &pcc, len - (p - s));
if (c >= 0x1)   /* show chars > 0x as ? */
c = 0xbf;
buf[textlen].byte1 = c >> 8;
buf[textlen].byte2 = c;
!   p += utfc_ptr2len_len(p, len - (p - s));
width += utf_char2cells(c);
}
else
***
*** 6106,6113 
if (has_mbyte)
{
width = 0;
!   for (p = s; p < s + len; p += (*mb_ptr2len)(p))
!   width += (*mb_ptr2cells)(p);
}
else
  # endif
--- 6167,6174 
if (has_mbyte)
{
width = 0;
!   for (p = s; p < s + len; p += (*mb_ptr2len_len)(p, len - (p - s)))
!   width += (*mb_ptr2cells_len)(p, len - (p - s));
}
else
  # endif
*** ../vim-7.2.199/src/os_unix.c2009-05-17 13:30:58.0 +0200
--- src/os_unix.c   2009-06-03 12:35:59.0 +0200
***
*** 4305,4311 
ta_buf[i] = '\n';
  # ifdef FEAT_MBYTE
if (has_mbyte)
!   i += (*mb_ptr2len)(ta_buf + i) - 1;
  # endif
}
  
--- 4305,4312 
ta_buf[i] = '\n';
  # ifdef FEAT_MBYTE
if (has_mbyte)
!   i += (*mb_ptr2len_len)(ta_buf + i,
!   ta_len + len - i) - 1;
  # endif
}
  
*** ../vim-7.2.199/src/globals.h2009-06-10 18:15:49.0 +0200
--- src/globals.h   2009-06-12 21:10:30.0 +0200
***
*** 810,820 
--- 815,828 
   */
  /* length of char in bytes, including following composing chars */
  EXTERN int (*mb_ptr2len) __ARGS((char_u *p)) INIT(= latin_ptr2len);
+ /* idem, with limit on string length */
+ EXTERN int (*mb_ptr2len_len) __ARGS((char_u *p, int size)) INIT(= 
latin_ptr2len_len);
  /* byte length of char */
  EXTERN int (*mb_char2len) __ARGS((int c)) INIT(= latin_char2len);
  /* convert char to bytes, return the length */
  EXTERN int (*mb_char2bytes) __ARGS((int c, char_u *buf)) INIT(= 
latin_char2bytes);
  EXTERN int (*mb_ptr2cells) __ARGS((char_u *p)) INIT(= latin_ptr2cells);
+ EXTERN int (*mb_ptr2cells_len) __ARGS((char_u *p, int size)) INIT(= 
latin_ptr2cells_len);
  EXTERN int (*mb_char2cells) __ARGS((int c)) INIT(= latin_char2cells);
  EXTERN int (*mb_off2cells) __ARGS((unsigned off, unsigned max_off)) INIT(= 
latin_off2cells);
  EXTERN int (*mb_ptr2char) __ARGS((char_u *p)) INIT(= latin_ptr2char);
*** ../vim-7.2.199/src/mbyte.c  2009-05-17 13:30:58.0 +0200
--- src/mbyte.c 2009-06-16 15:01:30.0 +0200
***
*** 127,133 
--- 127,136 
  static int dbcs_char2len __ARGS((int c));
  static int dbcs_char2bytes __ARGS((int c, char_u *buf));
  static int dbcs_ptr2len __ARGS((char_u *p));
+ static int dbcs_ptr2len_len __ARGS((char_u *p, int size));
+ static int utf_ptr2cells_len __ARGS((char_u *p, int size));
  static int dbcs_char2cells __ARGS((int c));
+ static int dbcs_ptr2cells_len __ARGS((char_u *p, int size));
  static int dbcs_ptr2char __ARGS((char_u *p));
  
  /* Lookup table to quickly get the length in bytes of a UTF-8 character from
***
*** 606,614 
--- 609,619 
  if (enc_utf8)
  {
mb_ptr2len = utfc_ptr2len;
+   mb_ptr2len_len = utfc_ptr2len_len;
mb_char2len = utf_char2len;
mb_char2bytes = utf_char2bytes;
mb_ptr2cells = utf_ptr2cells;
+   mb_ptr2cells_len = utf_ptr2cells_len;
mb_char2cells = utf_char2cells;
mb_off2cells = utf_off2cells;
mb_ptr2char = utf_ptr2char;
***
*** 617,625 
--- 622,632 
  else if (enc_dbcs != 0)
  {
mb_ptr2len = dbc

Patch 7.2.199

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.199
Problem:Strange character in comment.
Solution:   Change to "message". (Yongwei Wu)
Files:  src/term.c


*** ../vim-7.2.198/src/term.c   2009-05-17 13:30:58.0 +0200
--- src/term.c  2009-06-16 11:16:17.0 +0200
***
*** ,5561 
   * respects the current B/k/< settings of 'cpoption'.
   *
   * This function is called when expanding mappings/abbreviations on the
!  * command-line, and for building the "Ambiguous mapping..." error messæge.
   *
   * It uses a growarray to build the translation string since the
   * latter can be wider than the original description. The caller has to
--- ,5561 
   * respects the current B/k/< settings of 'cpoption'.
   *
   * This function is called when expanding mappings/abbreviations on the
!  * command-line, and for building the "Ambiguous mapping..." error message.
   *
   * It uses a growarray to build the translation string since the
   * latter can be wider than the original description. The caller has to
*** ../vim-7.2.198/src/version.c2009-06-16 11:08:13.0 +0200
--- src/version.c   2009-06-16 14:31:03.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 199,
  /**/

-- 
How To Keep A Healthy Level Of Insanity:
10. Ask people what sex they are. Laugh hysterically after they answer.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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: A typo in term.c

2009-06-16 Fir de Conversatie Andy Wokula

Bram Moolenaar schrieb:
> 
> Yongwei -
> 
>> L. 5558 is (in Latin-1):
>>
>>  * command-line, and for building the "Ambiguous mapping..." error
>> messæge.
>>
>> "messæge" seems to be a typo for "message".
>>
>> I found this when my fencs (ucs-bom,utf-8,cp936,latin1) recognized
>> this file as CP936, and my curiosity pushed me to find the character
>> that caused the misjudgement.
> 
> Strange that this got there.  Thanks for noticing!
> 
> - Bram

Somebody with enabled 'digraph' typed

messeage

in Insert mode?

-- 
Andy

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



Re: A typo in term.c

2009-06-16 Fir de Conversatie Bram Moolenaar


Yongwei -

> L. 5558 is (in Latin-1):
> 
>  * command-line, and for building the "Ambiguous mapping..." error
> messæge.
> 
> "messæge" seems to be a typo for "message".
> 
> I found this when my fencs (ucs-bom,utf-8,cp936,latin1) recognized
> this file as CP936, and my curiosity pushed me to find the character
> that caused the misjudgement.

Strange that this got there.  Thanks for noticing!

- Bram

-- 
How To Keep A Healthy Level Of Insanity:
8. Don't use any punctuation marks.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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: VERY slow switching buffers for files loaded from network share

2009-06-16 Fir de Conversatie Bram Moolenaar


Cháo wrote:

> > > I recently ran into a very annoying issue with GVim's performance while
> > > editing files from a network shared from Ubuntu mapped mapped as a drive
> > in
> > > Windows XP.  The main issue was saving a file taking a very long time
> > *(10-12
> > > secs!!!)* and it turns out that most of the time VIM is spending
> > traversing
> > > each subdirs of the file same as switching buffers, such as these dirs:
> > >
> > > K:\
> > > K:\main\
> > > K:\main\comp\
> > > K:\main\comp\base\
> > > K:\main\comp\base\app\
> > > K:\main\comp\base\app\admin\
> > > K:\main\comp\base\app\admin\comp\
> > > K:\main\comp\base\app\admin\comp\resource\
> > > K:\main\comp\base\app\admin\comp\resource\en_US\
> > > K:\main\comp\base\app\admin\comp\resource\en_US\strings\
> > >
> > >
> > > I've attached a detailed log from FileMon (sysinternals) when I switch
> > from
> > > 1 buffer to another in GVIM and it took *about 7 seconds*.  So the deeper
> > > the directory structure the file is located, the longer it would take
> > GVIM
> > > to save a file or to switch buffers.
> > >
> > > *Is this the wanted or correct behavior for GVIM to query / traverse each
> > > directory like so?*  Maybe someone who's familiar with the GVIM code
> > could
> > > give me some light regarding the slow performance for traversing dirs
> > while
> > > working on a network share through VPN or any slow connection for that
> > > matter.
> > >
> > > Also attached is the logs for very slow saving of a file, maybe both are
> > > related.  Both zip files each contain 2 diff formats for viewing
> > pleasure.
> > >  I've decided to email vim_dev as well since it might have more dev
> > people
> > > who are watching this list, hope it's OK.
> >
> > This is probably caused by the code that figures out the full path name
> > on Unix.  This is required to avoid any trouble with symbolic links.
> > Especially editing the same file under different names.
> >
> > Your directory is actually on a network share that doesn't support
> > symbolic links.  But that's very difficult to detect.
> >
> > I'm not sure if there is any way to avoid this without compromising
> > reliability.  Perhaps the expansion can be postponed or done in the
> > background.  That would make it more complex.
> >
> > --
> > How To Keep A Healthy Level Of Insanity:
> > 4. Put your garbage can on your desk and label it "in".
> >
> >  /// Bram Moolenaar -- b...@moolenaar.net -- 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
> >  ///
> >
> 
> Thanks for the quick reply, Bram!
> I thought there were a reason for traversing each dir like that.  So can we
> have an option to turn this behavior off for those instances we know that we
> don't need to do such extra potentially slow work?  Or if not, can you tell
> me where in code that I might be able to disable and compile myself a
> version without this behavior?  It's really painful to a level where I am
> consider copying to locally and copy back to original server location!  But
> that's not very ideal.

The simplest workaround is to use an absolute path name when editing the
file.

I don't think there is any other way.  Vim invokes getcwd() and that's a
C library function, you probably can't do better than that.

I have tried to avoid repeating calls to get the full file name.  I know
there is one more, when executing autocommands.  It's not easy to avoid.
You might make it faster by not having any autocommands trigger on
write.

-- 
How To Keep A Healthy Level Of Insanity:
9. As often as possible, skip rather than walk.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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.198

2009-06-16 Fir de Conversatie Bram Moolenaar


Patch 7.2.198
Problem:Size of buffer used for tgetent() may be too small.
Solution:   Use the largest known size everywhere.
Files:  src/vim.h


*** ../vim-7.2.197/src/vim.h2009-05-14 22:19:19.0 +0200
--- src/vim.h   2009-06-07 20:37:48.0 +0200
***
*** 1345,1355 
  # define MSG_BUF_CLEN  MSG_BUF_LEN/* cell length */
  #endif
  
! #if defined(AMIGA) || defined(__linux__) || defined(__QNX__) || 
defined(__CYGWIN32__) || defined(_AIX)
! # define TBUFSZ 2048  /* buffer size for termcap entry */
! #else
! # define TBUFSZ 1024  /* buffer size for termcap entry */
! #endif
  
  /*
   * Maximum length of key sequence to be mapped.
--- 1345,1355 
  # define MSG_BUF_CLEN  MSG_BUF_LEN/* cell length */
  #endif
  
! /* Size of the buffer used for tgetent().  Unfortunately this is largely
!  * undocumented, some systems use 1024.  Using a buffer that is too small
!  * causes a buffer overrun and a crash.  Use the maximum known value to stay
!  * on the safe side. */
! #define TBUFSZ 2048   /* buffer size for termcap entry */
  
  /*
   * Maximum length of key sequence to be mapped.
*** ../vim-7.2.197/src/version.c2009-06-10 18:15:49.0 +0200
--- src/version.c   2009-06-16 11:06:45.0 +0200
***
*** 678,679 
--- 678,681 
  {   /* Add new patch number below this line */
+ /**/
+ 198,
  /**/

-- 
How To Keep A Healthy Level Of Insanity:
7. Finish all your sentences with "in accordance with the prophecy".

 /// Bram Moolenaar -- b...@moolenaar.net -- 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
-~--~~~~--~~--~--~---