mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.2294: VMS: a few remaining problems
Problem: VMS: a few remaining problems. Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy)
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
# Makefile for Vim on OpenVMS
|
# Makefile for Vim on OpenVMS
|
||||||
#
|
#
|
||||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||||
# Last change: 2020 Dec 30
|
# Last change: 2021 Jan 04
|
||||||
#
|
#
|
||||||
# This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64
|
# This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64
|
||||||
# with MMS and MMK
|
# with MMS and MMK
|
||||||
@@ -38,7 +38,7 @@ MODEL = HUGE
|
|||||||
# GUI or terminal mode executable.
|
# GUI or terminal mode executable.
|
||||||
# Comment out if you want just the character terminal mode only.
|
# Comment out if you want just the character terminal mode only.
|
||||||
# GUI with Motif
|
# GUI with Motif
|
||||||
GUI = YES
|
# GUI = YES
|
||||||
|
|
||||||
# GUI with GTK
|
# GUI with GTK
|
||||||
# If you have GTK installed you might want to enable this option.
|
# If you have GTK installed you might want to enable this option.
|
||||||
@@ -49,7 +49,7 @@ GUI = YES
|
|||||||
|
|
||||||
# GUI/Motif with XPM
|
# GUI/Motif with XPM
|
||||||
# If you have XPM installed you might want to build Motif version with toolbar
|
# If you have XPM installed you might want to build Motif version with toolbar
|
||||||
XPM = YES
|
# XPM = YES
|
||||||
|
|
||||||
# Comment out if you want the compiler version with :ver command.
|
# Comment out if you want the compiler version with :ver command.
|
||||||
# NOTE: This part can make some complications if you're using some
|
# NOTE: This part can make some complications if you're using some
|
||||||
@@ -68,6 +68,7 @@ CCVER = YES
|
|||||||
# VIM_PERL = YES
|
# VIM_PERL = YES
|
||||||
# VIM_PYTHON = YES
|
# VIM_PYTHON = YES
|
||||||
# VIM_RUBY = YES
|
# VIM_RUBY = YES
|
||||||
|
# VIM_LUA = YES
|
||||||
|
|
||||||
# X Input Method. For entering special languages like chinese and
|
# X Input Method. For entering special languages like chinese and
|
||||||
# Japanese.
|
# Japanese.
|
||||||
@@ -237,6 +238,15 @@ RUBY_LIB = ,OS_VMS_RUBY.OPT/OPT
|
|||||||
RUBY_INC =
|
RUBY_INC =
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
|
.IFDEF VIM_LUA
|
||||||
|
# LUA related setup.
|
||||||
|
LUA_DEF = ,"FEAT_LUA"
|
||||||
|
LUA_SRC = if_lua.c
|
||||||
|
LUA_OBJ = if_lua.obj
|
||||||
|
LUA_LIB = ,OS_VMS_LUA.OPT/OPT
|
||||||
|
LUA_INC = ,LUA$ROOT:[INCLUDE]
|
||||||
|
.ENDIF
|
||||||
|
|
||||||
.IFDEF VIM_XIM
|
.IFDEF VIM_XIM
|
||||||
# XIM related setup.
|
# XIM related setup.
|
||||||
.IFDEF GUI
|
.IFDEF GUI
|
||||||
@@ -275,7 +285,7 @@ VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TRNLNM("UCX$INET_HOST")'.''F$TRNLNM("UCX$I
|
|||||||
.SUFFIXES : .obj .c
|
.SUFFIXES : .obj .c
|
||||||
|
|
||||||
ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||||
$(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
|
$(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
|
||||||
$(ICONV_DEF)) -
|
$(ICONV_DEF)) -
|
||||||
$(CFLAGS)$(GUI_FLAG) -
|
$(CFLAGS)$(GUI_FLAG) -
|
||||||
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) -
|
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) -
|
||||||
@@ -286,14 +296,14 @@ ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
|||||||
# as $(GUI_INC) - replaced with $(GUI_INC_VER)
|
# as $(GUI_INC) - replaced with $(GUI_INC_VER)
|
||||||
# Otherwise should not be any other difference.
|
# Otherwise should not be any other difference.
|
||||||
ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||||
$(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
|
$(TCL_DEF)$(RUBY_DEF)$(LUA_DEF)$(XIM_DEF)$(TAG_DEF)$(MZSCH_DEF) -
|
||||||
$(ICONV_DEF)) -
|
$(ICONV_DEF)) -
|
||||||
$(CFLAGS)$(GUI_FLAG) -
|
$(CFLAGS)$(GUI_FLAG) -
|
||||||
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) -
|
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) -
|
||||||
$(TCL_INC)$(XDIFF_INC)$(XPM_INC))
|
$(TCL_INC)$(XDIFF_INC)$(XPM_INC))
|
||||||
|
|
||||||
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) $(XPM_LIB)\
|
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) $(XPM_LIB)\
|
||||||
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
|
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB) $(LUA_LIB)
|
||||||
|
|
||||||
SRC = \
|
SRC = \
|
||||||
arabic.c \
|
arabic.c \
|
||||||
@@ -408,6 +418,7 @@ SRC = \
|
|||||||
$(PYTHON_SRC) \
|
$(PYTHON_SRC) \
|
||||||
$(TCL_SRC) \
|
$(TCL_SRC) \
|
||||||
$(RUBY_SRC) \
|
$(RUBY_SRC) \
|
||||||
|
$(LUA_SRC) \
|
||||||
$(MZSCH_SRC) \
|
$(MZSCH_SRC) \
|
||||||
$(XDIFF_SRC)
|
$(XDIFF_SRC)
|
||||||
|
|
||||||
@@ -525,11 +536,12 @@ OBJ = \
|
|||||||
$(PYTHON_OBJ) \
|
$(PYTHON_OBJ) \
|
||||||
$(TCL_OBJ) \
|
$(TCL_OBJ) \
|
||||||
$(RUBY_OBJ) \
|
$(RUBY_OBJ) \
|
||||||
|
$(LUA_OBJ) \
|
||||||
$(MZSCH_OBJ) \
|
$(MZSCH_OBJ) \
|
||||||
$(XDIFF_OBJ)
|
$(XDIFF_OBJ)
|
||||||
|
|
||||||
# Default target is making the executable
|
# Default target is making the executable
|
||||||
all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env $(TARGET)
|
all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env lua_env $(TARGET)
|
||||||
! $@
|
! $@
|
||||||
|
|
||||||
[.auto]config.h : $(CONFIG_H)
|
[.auto]config.h : $(CONFIG_H)
|
||||||
@@ -709,6 +721,19 @@ ruby_env :
|
|||||||
-@ !
|
-@ !
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
|
.IFDEF VIM_LUA
|
||||||
|
lua_env :
|
||||||
|
-@ write sys$output "using LUA environment:"
|
||||||
|
-@ write sys$output " include path: ""$(LUA_INC)"""
|
||||||
|
-@ write sys$output "creating OS_VMS_LUA.OPT file."
|
||||||
|
-@ open/write opt_file OS_VMS_LUA.OPT
|
||||||
|
-@ write opt_file "LUA$ROOT:[LIB]LUA$SHR.EXE /share"
|
||||||
|
-@ close opt_file
|
||||||
|
.ELSE
|
||||||
|
lua_env :
|
||||||
|
-@ !
|
||||||
|
.ENDIF
|
||||||
|
|
||||||
arabic.obj : arabic.c vim.h
|
arabic.obj : arabic.c vim.h
|
||||||
arglist.obj : arglist.c vim.h [.auto]config.h feature.h os_unix.h
|
arglist.obj : arglist.c vim.h [.auto]config.h feature.h os_unix.h
|
||||||
autocmd.obj : autocmd.c vim.h [.auto]config.h feature.h os_unix.h
|
autocmd.obj : autocmd.c vim.h [.auto]config.h feature.h os_unix.h
|
||||||
@@ -1167,6 +1192,8 @@ if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \
|
|||||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||||
errors.h globals.h version.h
|
errors.h globals.h version.h
|
||||||
|
if_lua.obj : if_lua.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||||
|
errors.h globals.h version.h
|
||||||
beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
|
beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||||
gui.h beval.h option.h ex_cmds.h proto.h \
|
gui.h beval.h option.h ex_cmds.h proto.h \
|
||||||
|
@@ -16,10 +16,13 @@
|
|||||||
#if defined(__TANDEM)
|
#if defined(__TANDEM)
|
||||||
# include <limits.h> // for SSIZE_MAX
|
# include <limits.h> // for SSIZE_MAX
|
||||||
#endif
|
#endif
|
||||||
#if defined(UNIX) && defined(FEAT_EVAL)
|
#if (defined(UNIX) || defined(VMS)) && defined(FEAT_EVAL)
|
||||||
# include <pwd.h>
|
# include <pwd.h>
|
||||||
# include <grp.h>
|
# include <grp.h>
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(VMS) && defined(HAVE_XOS_R_H)
|
||||||
|
# include <x11/xos_r.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
// Is there any system that doesn't have access()?
|
// Is there any system that doesn't have access()?
|
||||||
#define USE_MCH_ACCESS
|
#define USE_MCH_ACCESS
|
||||||
@@ -338,7 +341,7 @@ readfile(
|
|||||||
|
|
||||||
if (!read_stdin && !read_buffer && !read_fifo)
|
if (!read_stdin && !read_buffer && !read_fifo)
|
||||||
{
|
{
|
||||||
#ifdef UNIX
|
#if defined(UNIX) || defined(VMS)
|
||||||
/*
|
/*
|
||||||
* On Unix it is possible to read a directory, so we have to
|
* On Unix it is possible to read a directory, so we have to
|
||||||
* check for it before the mch_open().
|
* check for it before the mch_open().
|
||||||
@@ -4623,11 +4626,13 @@ create_readdirex_item(char_u *path, char_u *name)
|
|||||||
q = (char_u*)pw->pw_name;
|
q = (char_u*)pw->pw_name;
|
||||||
if (dict_add_string(item, "user", q) == FAIL)
|
if (dict_add_string(item, "user", q) == FAIL)
|
||||||
goto theend;
|
goto theend;
|
||||||
|
# if !defined(VMS) || (defined(VMS) && defined(HAVE_XOS_R_H))
|
||||||
gr = getgrgid(st.st_gid);
|
gr = getgrgid(st.st_gid);
|
||||||
if (gr == NULL)
|
if (gr == NULL)
|
||||||
q = (char_u*)"";
|
q = (char_u*)"";
|
||||||
else
|
else
|
||||||
q = (char_u*)gr->gr_name;
|
q = (char_u*)gr->gr_name;
|
||||||
|
# endif
|
||||||
if (dict_add_string(item, "group", q) == FAIL)
|
if (dict_add_string(item, "group", q) == FAIL)
|
||||||
goto theend;
|
goto theend;
|
||||||
}
|
}
|
||||||
|
@@ -69,6 +69,20 @@
|
|||||||
_XmDrawHighlight(a, b, c, d, e, f, g, h, LineSolid)
|
_XmDrawHighlight(a, b, c, d, e, f, g, h, LineSolid)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Older VMS systems do not have xos_r.h and cannot haldle XtProcessLocking
|
||||||
|
#if defined(VMS)
|
||||||
|
# if defined(HAVE_XOS_R_H)
|
||||||
|
# define XTPROCESS_LOCK XtProcessLock()
|
||||||
|
# define XTPROCESS_UNLOCK XtProcessUnlock()
|
||||||
|
# else
|
||||||
|
# define XTPROCESS_LOCK
|
||||||
|
# define XTPROCESS_UNLOCK
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define XTPROCESS_LOCK XtProcessLock()
|
||||||
|
# define XTPROCESS_UNLOCK XtProcessUnlock()
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Motif internals we have to cheat around with.
|
* Motif internals we have to cheat around with.
|
||||||
*/
|
*/
|
||||||
@@ -714,9 +728,9 @@ draw_label(XmEnhancedButtonWidget eb, XEvent *event, Region region)
|
|||||||
{
|
{
|
||||||
XtExposeProc expose;
|
XtExposeProc expose;
|
||||||
|
|
||||||
XtProcessLock();
|
XTPROCESS_LOCK;
|
||||||
expose = xmLabelClassRec.core_class.expose;
|
expose = xmLabelClassRec.core_class.expose;
|
||||||
XtProcessUnlock();
|
XTPROCESS_UNLOCK;
|
||||||
(*expose)((Widget) eb, event, region);
|
(*expose)((Widget) eb, event, region);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -809,9 +823,9 @@ Enter(Widget wid,
|
|||||||
_XmPrimitiveEnter((Widget) eb, event, NULL, NULL);
|
_XmPrimitiveEnter((Widget) eb, event, NULL, NULL);
|
||||||
if (eb->pushbutton.armed == TRUE)
|
if (eb->pushbutton.armed == TRUE)
|
||||||
{
|
{
|
||||||
XtProcessLock();
|
XTPROCESS_LOCK;
|
||||||
expose = XtClass(eb)->core_class.expose;
|
expose = XtClass(eb)->core_class.expose;
|
||||||
XtProcessUnlock();
|
XTPROCESS_UNLOCK;
|
||||||
(*expose) (wid, event, (Region) NULL);
|
(*expose) (wid, event, (Region) NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -887,9 +901,9 @@ Leave(Widget wid,
|
|||||||
{
|
{
|
||||||
XtExposeProc expose;
|
XtExposeProc expose;
|
||||||
eb->pushbutton.armed = FALSE;
|
eb->pushbutton.armed = FALSE;
|
||||||
XtProcessLock();
|
XTPROCESS_LOCK;
|
||||||
expose = XtClass(eb)->core_class.expose;
|
expose = XtClass(eb)->core_class.expose;
|
||||||
XtProcessUnlock();
|
XTPROCESS_UNLOCK;
|
||||||
(*expose) (wid, event, (Region)NULL);
|
(*expose) (wid, event, (Region)NULL);
|
||||||
draw_unhighlight(eb);
|
draw_unhighlight(eb);
|
||||||
draw_pixmap(eb, event, NULL);
|
draw_pixmap(eb, event, NULL);
|
||||||
@@ -973,9 +987,9 @@ set_size(XmEnhancedButtonWidget newtb)
|
|||||||
// Invoke Label's Resize procedure.
|
// Invoke Label's Resize procedure.
|
||||||
{
|
{
|
||||||
XtWidgetProc resize;
|
XtWidgetProc resize;
|
||||||
XtProcessLock();
|
XTPROCESS_LOCK;
|
||||||
resize = xmLabelClassRec.core_class.resize;
|
resize = xmLabelClassRec.core_class.resize;
|
||||||
XtProcessUnlock();
|
XTPROCESS_UNLOCK;
|
||||||
|
|
||||||
(* resize) ((Widget) newtb);
|
(* resize) ((Widget) newtb);
|
||||||
}
|
}
|
||||||
@@ -988,9 +1002,9 @@ Initialize(Widget rq, Widget ebw, ArgList args UNUSED, Cardinal *n UNUSED)
|
|||||||
XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)ebw;
|
XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)ebw;
|
||||||
XtWidgetProc resize;
|
XtWidgetProc resize;
|
||||||
|
|
||||||
XtProcessLock();
|
XTPROCESS_LOCK;
|
||||||
resize = xmLabelClassRec.core_class.resize;
|
resize = xmLabelClassRec.core_class.resize;
|
||||||
XtProcessUnlock();
|
XTPROCESS_UNLOCK;
|
||||||
|
|
||||||
// Create a bitmap for stippling (Drawable resources are cheap).
|
// Create a bitmap for stippling (Drawable resources are cheap).
|
||||||
if (STIPPLE_BITMAP == None)
|
if (STIPPLE_BITMAP == None)
|
||||||
|
@@ -161,7 +161,6 @@
|
|||||||
# define mch_fstat(n, p) fstat((n), (p))
|
# define mch_fstat(n, p) fstat((n), (p))
|
||||||
# undef HAVE_LSTAT // VMS does not have lstat()
|
# undef HAVE_LSTAT // VMS does not have lstat()
|
||||||
# define mch_stat(n, p) stat(vms_fixfilename(n), (p))
|
# define mch_stat(n, p) stat(vms_fixfilename(n), (p))
|
||||||
# define mch_rmdir(n) rmdir(vms_fixfilename(n))
|
|
||||||
#else
|
#else
|
||||||
# ifndef MSWIN
|
# ifndef MSWIN
|
||||||
# define mch_access(n, p) access((n), (p))
|
# define mch_access(n, p) access((n), (p))
|
||||||
|
@@ -73,8 +73,9 @@
|
|||||||
// always use unlink() to remove files
|
// always use unlink() to remove files
|
||||||
#ifndef PROTO
|
#ifndef PROTO
|
||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
# define mch_remove(x) delete((char *)(x))
|
# define vim_mkdir(x, y) mkdir((char *)vms_fixfilename(x), y)
|
||||||
# define vim_mkdir(x, y) mkdir((char *)(x), y)
|
# define mch_rmdir(x) delete((char *)vms_fixfilename(x))
|
||||||
|
# define mch_remove(x) delete((char *)vms_fixfilename(x))
|
||||||
# else
|
# else
|
||||||
# define vim_mkdir(x, y) mkdir((char *)(x), y)
|
# define vim_mkdir(x, y) mkdir((char *)(x), y)
|
||||||
# define mch_rmdir(x) rmdir((char *)(x))
|
# define mch_rmdir(x) rmdir((char *)(x))
|
||||||
|
13
src/os_vms.c
13
src/os_vms.c
@@ -672,10 +672,19 @@ vms_fixfilename(void *instring)
|
|||||||
else if (strchr(instring,'"') == NULL) // password in the path?
|
else if (strchr(instring,'"') == NULL) // password in the path?
|
||||||
{
|
{
|
||||||
// Seems it is a regular file, let guess that it is pure Unix fspec
|
// Seems it is a regular file, let guess that it is pure Unix fspec
|
||||||
if (decc$to_vms(instring, vms_fspec_proc, 0, 0) <= 0)
|
if ( (strchr(instring,'[') == NULL) && (strchr(instring,'<') == NULL) &&
|
||||||
// No... it must be mixed
|
(strchr(instring,']') == NULL) && (strchr(instring,'>') == NULL) &&
|
||||||
|
(strchr(instring,':') == NULL) )
|
||||||
|
{
|
||||||
|
// It must be a truly unix fspec
|
||||||
|
decc$to_vms(instring, vms_fspec_proc, 0, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// It is a mixed fspec
|
||||||
vms_unix_mixed_filespec(instring, buf);
|
vms_unix_mixed_filespec(instring, buf);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
// we have a password in the path
|
// we have a password in the path
|
||||||
// decc$ functions can not handle
|
// decc$ functions can not handle
|
||||||
|
@@ -147,7 +147,6 @@
|
|||||||
#undef HAVE_FCHDIR
|
#undef HAVE_FCHDIR
|
||||||
#undef HAVE_LSTAT
|
#undef HAVE_LSTAT
|
||||||
#undef HAVE_STDINT_H
|
#undef HAVE_STDINT_H
|
||||||
#undef HAVE_XOS_R_H
|
|
||||||
|
|
||||||
// Hardware specific
|
// Hardware specific
|
||||||
#ifdef VAX
|
#ifdef VAX
|
||||||
@@ -157,12 +156,12 @@
|
|||||||
#undef HAVE_STRINGS_H
|
#undef HAVE_STRINGS_H
|
||||||
#undef HAVE_SIGSETJMP
|
#undef HAVE_SIGSETJMP
|
||||||
#undef HAVE_ISNAN
|
#undef HAVE_ISNAN
|
||||||
|
#undef HAVE_XOS_R_H
|
||||||
#define HAVE_NO_LONG_LONG
|
#define HAVE_NO_LONG_LONG
|
||||||
#define VIM_SIZEOF_LONG 4
|
#define VIM_SIZEOF_LONG 4
|
||||||
#define LONG_LONG_MIN (-2147483647-1)
|
#define LONG_LONG_MIN (-2147483647-1)
|
||||||
#define LONG_LONG_MAX (2147483647)
|
#define LONG_LONG_MAX (2147483647)
|
||||||
#define ULONG_LONG_MAX (4294967295U)
|
#define ULONG_LONG_MAX (4294967295U)
|
||||||
#undef XTHREADS
|
|
||||||
#else // AXP and IA64
|
#else // AXP and IA64
|
||||||
#define HAVE_GETTIMEOFDAY
|
#define HAVE_GETTIMEOFDAY
|
||||||
#define HAVE_USLEEP
|
#define HAVE_USLEEP
|
||||||
@@ -170,12 +169,12 @@
|
|||||||
#define HAVE_STRINGS_H
|
#define HAVE_STRINGS_H
|
||||||
#define HAVE_SIGSETJMP
|
#define HAVE_SIGSETJMP
|
||||||
#define HAVE_ISNAN
|
#define HAVE_ISNAN
|
||||||
|
#define HAVE_XOS_R_H
|
||||||
#define HAVE_NO_LONG_LONG
|
#define HAVE_NO_LONG_LONG
|
||||||
#define VIM_SIZEOF_LONG 8
|
#define VIM_SIZEOF_LONG 8
|
||||||
#define LONG_LONG_MIN (-9223372036854775807-1)
|
#define LONG_LONG_MIN (-9223372036854775807-1)
|
||||||
#define LONG_LONG_MAX (9223372036854775807)
|
#define LONG_LONG_MAX (9223372036854775807)
|
||||||
#define ULONG_LONG_MAX (18446744073709551615U)
|
#define ULONG_LONG_MAX (18446744073709551615U)
|
||||||
#define XTHREADS
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Compiler specific
|
// Compiler specific
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2294,
|
||||||
/**/
|
/**/
|
||||||
2293,
|
2293,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -3389,7 +3389,7 @@ ex_disassemble(exarg_T *eap)
|
|||||||
break;
|
break;
|
||||||
case ISN_EXECCONCAT:
|
case ISN_EXECCONCAT:
|
||||||
smsg("%4d EXECCONCAT %lld", current,
|
smsg("%4d EXECCONCAT %lld", current,
|
||||||
(long long)iptr->isn_arg.number);
|
(varnumber_T)iptr->isn_arg.number);
|
||||||
break;
|
break;
|
||||||
case ISN_ECHO:
|
case ISN_ECHO:
|
||||||
{
|
{
|
||||||
@@ -3402,15 +3402,15 @@ ex_disassemble(exarg_T *eap)
|
|||||||
break;
|
break;
|
||||||
case ISN_EXECUTE:
|
case ISN_EXECUTE:
|
||||||
smsg("%4d EXECUTE %lld", current,
|
smsg("%4d EXECUTE %lld", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_ECHOMSG:
|
case ISN_ECHOMSG:
|
||||||
smsg("%4d ECHOMSG %lld", current,
|
smsg("%4d ECHOMSG %lld", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_ECHOERR:
|
case ISN_ECHOERR:
|
||||||
smsg("%4d ECHOERR %lld", current,
|
smsg("%4d ECHOERR %lld", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_LOAD:
|
case ISN_LOAD:
|
||||||
case ISN_LOADOUTER:
|
case ISN_LOADOUTER:
|
||||||
@@ -3419,11 +3419,11 @@ ex_disassemble(exarg_T *eap)
|
|||||||
|
|
||||||
if (iptr->isn_arg.number < 0)
|
if (iptr->isn_arg.number < 0)
|
||||||
smsg("%4d LOAD%s arg[%lld]", current, add,
|
smsg("%4d LOAD%s arg[%lld]", current, add,
|
||||||
(long long)(iptr->isn_arg.number
|
(varnumber_T)(iptr->isn_arg.number
|
||||||
+ STACK_FRAME_SIZE));
|
+ STACK_FRAME_SIZE));
|
||||||
else
|
else
|
||||||
smsg("%4d LOAD%s $%lld", current, add,
|
smsg("%4d LOAD%s $%lld", current, add,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ISN_LOADV:
|
case ISN_LOADV:
|
||||||
@@ -3496,10 +3496,10 @@ ex_disassemble(exarg_T *eap)
|
|||||||
|
|
||||||
if (iptr->isn_arg.number < 0)
|
if (iptr->isn_arg.number < 0)
|
||||||
smsg("%4d STORE%s arg[%lld]", current, add,
|
smsg("%4d STORE%s arg[%lld]", current, add,
|
||||||
(long long)(iptr->isn_arg.number + STACK_FRAME_SIZE));
|
(varnumber_T)(iptr->isn_arg.number + STACK_FRAME_SIZE));
|
||||||
else
|
else
|
||||||
smsg("%4d STORE%s $%lld", current, add,
|
smsg("%4d STORE%s $%lld", current, add,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ISN_STOREV:
|
case ISN_STOREV:
|
||||||
@@ -3578,7 +3578,7 @@ ex_disassemble(exarg_T *eap)
|
|||||||
// constants
|
// constants
|
||||||
case ISN_PUSHNR:
|
case ISN_PUSHNR:
|
||||||
smsg("%4d PUSHNR %lld", current,
|
smsg("%4d PUSHNR %lld", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_PUSHBOOL:
|
case ISN_PUSHBOOL:
|
||||||
case ISN_PUSHSPEC:
|
case ISN_PUSHSPEC:
|
||||||
@@ -3653,11 +3653,11 @@ ex_disassemble(exarg_T *eap)
|
|||||||
break;
|
break;
|
||||||
case ISN_NEWLIST:
|
case ISN_NEWLIST:
|
||||||
smsg("%4d NEWLIST size %lld", current,
|
smsg("%4d NEWLIST size %lld", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_NEWDICT:
|
case ISN_NEWDICT:
|
||||||
smsg("%4d NEWDICT size %lld", current,
|
smsg("%4d NEWDICT size %lld", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// function call
|
// function call
|
||||||
@@ -3924,10 +3924,10 @@ ex_disassemble(exarg_T *eap)
|
|||||||
smsg("%4d 2BOOL (!!val)", current);
|
smsg("%4d 2BOOL (!!val)", current);
|
||||||
break;
|
break;
|
||||||
case ISN_2STRING: smsg("%4d 2STRING stack[%lld]", current,
|
case ISN_2STRING: smsg("%4d 2STRING stack[%lld]", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_2STRING_ANY: smsg("%4d 2STRING_ANY stack[%lld]", current,
|
case ISN_2STRING_ANY: smsg("%4d 2STRING_ANY stack[%lld]", current,
|
||||||
(long long)(iptr->isn_arg.number));
|
(varnumber_T)(iptr->isn_arg.number));
|
||||||
break;
|
break;
|
||||||
case ISN_RANGE: smsg("%4d RANGE %s", current, iptr->isn_arg.string);
|
case ISN_RANGE: smsg("%4d RANGE %s", current, iptr->isn_arg.string);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user