Hi,

2013/7/19 Fri 1:34:32 UTC+9 [email protected] wrote:
> latest svn.
> 
> Borland builds but the executable fails to show menus, toolbars, etc.
> 
> Error message pops up:
> 
> Error detected while processing C:\build\vim\runtime\menu.vim:
> 
> 
> line  156:
> 
> E121: Undefined variable: paste#paste_cmd
> 
> E15: Invalid expression: 'vnoremenu <script> &Edit.&Paste<Tab>"+gP^I' . 
> paste#paste_cmd['v']

I found the cause of this problem. It was caused by 7.3.1182.
The type of st.st_mode is unsigned short on MSVC, but it is signed short
on BCC. Thus, when casting st_mode to long, the value may become a minus
which is handled as an error.

I also found some problems with BCC:
* Can not build with python as reported here:
  https://groups.google.com/d/topic/vim_use/_layXHD5hUk/discussion
* Some temporary files are not ignored by mercurial.
* When build with 'make -f Make_bc5.mak DEBUG=yes', DEBUG is defined but
  _DEBUG is not defined.  TRACE macros defined in os_win32.h cannot be used
  because of this.

Attached patch fixes them.

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
# HG changeset patch
# Parent c7bcb04f613e5bb4cdc3aff9084242ded6066029

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -37,6 +37,14 @@
 src/Obj*/pathdef.c
 gvimext.dll
 gvimext.lib
+# Borland C++
+bcc.cfg
+*.ilc
+*.ild
+*.ilf
+*.ils
+*.map
+*.tds
 
 # Mac OSX
 src/xxd/xxd.dSYM
diff --git a/src/Make_bc5.mak b/src/Make_bc5.mak
--- a/src/Make_bc5.mak
+++ b/src/Make_bc5.mak
@@ -419,7 +419,7 @@
 ALIGNARG = -a$(ALIGN)
 #
 !if ("$(DEBUG)"=="yes")
-DEFINES=$(DEFINES) -DDEBUG
+DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
 !endif
 #
 !if ("$(OLE)"=="yes")
diff --git a/src/if_py_both.h b/src/if_py_both.h
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -13,6 +13,11 @@
  * Common code for if_python.c and if_python3.c.
  */
 
+#ifdef __BORLANDC__
+/* Disable Warning W8060: Possibly incorrect assignment in function ... */
+# pragma warn -8060
+#endif
+
 static char_u e_py_systemexit[]	= "E880: Can't handle SystemExit of %s exception in vim";
 
 #if PY_VERSION_HEX < 0x02050000
diff --git a/src/os_win32.c b/src/os_win32.c
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -2894,7 +2894,7 @@
 	/* UNC path */
 	return (long)win32_getattrs(name);
     n = mch_stat(name, &st);
-    return n == 0 ? (long)st.st_mode : -1L;
+    return n == 0 ? (long)(unsigned short)st.st_mode : -1L;
 }
 
 

Raspunde prin e-mail lui