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;
}