On Sat, May 26, 2018 at 5:10 AM Ni Va <[email protected]> wrote: > Le jeudi 24 mai 2018 21:13:35 UTC+2, Ni Va a écrit : > > Le jeudi 24 mai 2018 15:21:34 UTC+2, Kazunobu Kuriyama a écrit : > > > On Wed, May 23, 2018 at 5:56 PM Ni Va <[email protected]> wrote: > > > > > > Hi, > > > > > > > > > > > > On Windows 10, > > > > > > > > > > > > 1. After download and build lua 5.4 current work I got a the > lua.5.4.0.dll 32 bits and rename it to lua54.dll > > > > > > > > > > > > guidelines : > https://blog.spreendigital.de/2015/01/16/how-to-compile-lua-5-3-0-for-windows/ > > > > > > > > > Is that article, which was apparently written for 5.3, really > applicable to 5.4.0-work1? (N.B. There's no official 5.4 yet; They say, > "Work on Lua 5.4 has begun but there is no release date yet nor a roadmap. > ... Note that all details may change in the final version."---excerpt from > https://www.lua.org/versions.html#5.4 ) > > > > > > > > > According to Numbering scheme, https://www.lua.org/versions.html : > "The releases of Lua are numbered x.y.z, where x.y is the version and z is > the release. ... Different versions are really different. The API is likely > to be a little different (but with compatibility switches), and there is no > ABI compatibility: applications that embed Lua and C libraries for Lua must > be recompiled. " > > > > > > > > > Note that, as they think it standard that Lua client programs are > statically linked against Lua library, they don't explicitly mention the > case where the linkage is carried out dynamically. However, because of the > very same reason, it is obvious that recompilation is needed for the latter > case as well. > > > > > > > > > 2. From gvim 32 bits 8.1.020 > > > > > > lua print('hell') says E448: Could not load library function > lua_newuserdata > > > > > > Lua library cannot be loaded. > > > > > > > > > > > > You could read https://www.lua.org/work/doc/manual.html#8.3 first to > avoid the trouble. As stated explicitly there, 5.4.0-work1 has already > dropped the function lua_newuserdata() and replaces it > with lua_newuserdatauv(). Also, they say, "For compatibility, the old > names still work as macros assuming one single user value." > > > > > > > > > In fact, lua-5.4.0-work1/src/lua.h:396 gives > > > > > > > > > > > > #define lua_newuserdata(L,s) lua_newuserdatauv(L,s,1) > > > > > > > > > So, with one thing or another, it seems like your gvim hasn't been > recompiled against 5.4.0-work1 yet for some reason. > > > > > > > > > Regards, > > > Kazunobu > > > > > > > > > > > > > > > in _vimrc I have put these lines : > > > > > > let dllPath = fnamemodify($vimruntime.'/extDlls',':p:h:gs?/?\\?') > > > > > > " Lua > > > > > > let $path.=';'.dllPath.'/lua' > > > > > > if has('win32') > > > > > > set luadll=lua54.dll > > > > > > endif > > > > > > > > > > > > > > > > > > > > > > > > Here is detailed on vim build > > > > > > > > > > > > > > > > > > VIM - Vi IMproved 8.1 (2018 May 17, compiled May 23 2018 09:59:48) > > > > > > MS-Windows 32-bit GUI version with OLE support > > > > > > Included patches: 1-20 > > > > > > Compiled by niva > > > > > > Huge version with GUI. Features included (+) or not (-): > > > > > > +acl +byte_offset +comments +digraphs > +farsi +iconv/dyn +linebreak +mouse > +packages +python3/dyn +startuptime > -termguicolors +user_commands +wildignore > > > > > > +arabic +channel +conceal +directx > +file_in_path +insert_expand +lispindent +mouseshape > +path_extra +quickfix +statusline +terminal > +vertsplit +wildmenu > > > > > > +autocmd +cindent +cryptv -dnd > +find_in_path +job +listcmds +multi_byte > -perl +reltime -sun_workshop -tgetent > +virtualedit +windows > > > > > > +autoservername +clientserver -cscope -ebcdic > +float +jumplist +localmap +multi_lang > +persistent_undo +rightleft +syntax > -termresponse +visual +writebackup > > > > > > +balloon_eval +clipboard +cursorbind +emacs_tags > +folding +keymap +lua/dyn -mzscheme > -postscript +ruby/dyn +tag_binary > +textobjects +visualextra -xfontset > > > > > > -balloon_eval_term +cmdline_compl +cursorshape +eval > -footer +lambda +menu > -netbeans_intg +printer +scrollbind +tag_old_static > +timers +viminfo -xim > > > > > > +browse +cmdline_hist +dialog_con_gui +ex_extra > +gettext/dyn +langmap +mksession +num64 > +profile +signs -tag_any_white +title > +vreplace -xpm_w32 > > > > > > ++builtin_terms +cmdline_info +diff > +extra_search -hangul_input +libcall +modify_fname > +ole +python/dyn +smartindent -tcl > +toolbar -vtp -xterm_save > > > > > > system vimrc file: "$VIM\vimrc" > > > > > > user vimrc file: "$HOME\_vimrc" > > > > > > 2nd user vimrc file: "$HOME\vimfiles\vimrc" > > > > > > 3rd user vimrc file: "$VIM\_vimrc" > > > > > > user exrc file: "$HOME\_exrc" > > > > > > 2nd user exrc file: "$VIM\_exrc" > > > > > > system gvimrc file: "$VIM\gvimrc" > > > > > > user gvimrc file: "$HOME\_gvimrc" > > > > > > 2nd user gvimrc file: "$HOME\vimfiles\gvimrc" > > > > > > 3rd user gvimrc file: "$VIM\_gvimrc" > > > > > > defaults file: "$VIMRUNTIME\defaults.vim" > > > > > > system menu file: "$VIMRUNTIME\menu.vim" > > > > > > Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 > -DFEAT_TERMINAL -DFEAT_JOB_CHANNEL -DWINVER=0x0501 > -D_WIN32_WINNT=0x0501 /MP -DHAVE_STDINT_H /O2 /GL -DNDEBUG /arch:IA32 /Zl > /MT -DFEAT_OLE -DFEAT_MBYTE -DFEAT_GUI_W32 -DFEAT_DIRECTX -DDYNAMIC_DIRECTX > -DFEAT_DIRECTX_COLOR_EMOJI -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_LUA > -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua54.dll\" -DFEAT_PYTHON > -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 > -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python36.dll\" -DFEAT_RUBY > -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=25 > -DDYNAMIC_RUBY_DLL=\"msvcrt-ruby250.dll\" -DFEAT_HUGE /Fd.\ObjGXOUYHRi386/ > /Zi > > > > > > Linking: link /RELEASE /nologo /subsystem:windows /opt:ref > /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib > comdlg32.lib ole32.lib uuid.lib /machine:i386 gdi32.lib version.lib > winspool.lib comctl32.lib advapi32.lib shell32.lib /machine:i386 > libcmt.lib oleaut32.lib user32.lib /nodefaultlib:lua54.lib > /nodefaultlib:python27.lib /nodefaultlib:python36.lib WSock32.lib > /PDB:gvim.pdb -debug > > > > > > > > > > > > -- > > > > > > -- > > > > > > 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/d/optout. > > > > Thank you very much for this answer. > > > > > > This is my daily vim build cmd batch. > > > > @echo off > > > > > > > > > > set mainversion=81 > > set version=8.1.22 > > set /P version=Enter git vim version (%version%): > > set /P build64=Would you like to compile 64bits vim version (1 or 0): > > > > :: Windows SDK Include directory. No quotation marks. > > :: > > set SDK_INCLUDE_DIR=C:\Program Files (x86)\Windows Kits\8.1\Include > > > > :: Visual Studio 2017 > > :: > > set VC_VARS=%ProgramFiles(x86)%\Microsoft Visual > Studio\2017\Community\VC\Auxiliary\Build > > set VS_TOOLS=%ProgramFiles(x86)%\Microsoft Visual > Studio\2017\Community\VC\Tools\MSVC\14.12.25827\bin > > > > :: Target architecture, AMD64 (64-bit) or I386 (32-bit) > > :: > > > > if "%build64%"=="1" ( > > set CPU=%PROCESSOR_ARCHITECTURE% > > set PLATFORM=x64 > > ) else ( > > set CPU=i386 > > set PLATFORM=x86 > > ) > > > > :: TINY, SMALL, NORMAL, BIG or HUGE. NORMAL or above recommended > > set FEATURES=HUGE > > > > > > :: GUI, OLE enable > > :: > > set OLE=yes > > set GUI=yes > > set XPM=no > > > > :: DirectX > > :: > > set DIRECTX=yes > > > > set OPTIMIZE=SPEED > > > > :: IDE integrations we don't need > > :: > > set NETBEANS=no > > set CSCOPE=no > > > > :: UTF-8 encoding > > :: > > set MBYTE=yes > > > > :: Enable Lua > > :: > > set DYNAMIC_LUA=yes > > set LUA=.\lua-5.4\src > > set LUA_VER=54 > > > > :: Enable Python scripting > > :: > > set DYNAMIC_PYTHON=yes > > set PYTHON=C:\ThirdParty\Python27 > > set PYTHON_VER=27 > > > > set DYNAMIC_PYTHON3=yes > > set PYTHON3=C:\ThirdParty\Python37 > > set PYTHON3_VER=37 > > > > :: Enable Ruby scripting > > :: > > set DYNAMIC_RUBY=yes > > set RUBY_VER=25 > > set RUBY_API_VER_LONG=2.5.0 > > set RUBY_MSVCRT_NAME=msvcrt > > if "%build64%"=="1" ( > > set RUBY=C:\ThirdParty\Ruby%RUBY_VER%-x64 > > set RUBY_PLATFORM=x64-mswin64_140 > > ) else ( > > set RUBY=C:\ThirdParty\Ruby%RUBY_VER%-x86 > > set RUBY_PLATFORM=i386-mswin32_140 > > ) > > > > :: Enable Python scripting > > :: > > set EVENT_LOOP=yes > > > > set outf="%tmp%\vimBuildOut.log" > > call :LogInit > > > > :: Configure Visual Studio for %CPU% > > :: > > set "VSCMD_START_DIR=%CD%" > > call "%VC_VARS%\vcvarsall.bat" %PLATFORM% > > > > :: Cleaning Building > > :: > > call :MakeMvc clean > > call :MakeMvc > > > > :: Deploying > > :: > > set dest=d:\logiciels\vim > > if exist "gvim.exe" ( > > call tskill "gvim" 2>NUL > > call :Robocopy %cd% %dest%\vim%mainversion% *.exe > > call :Robocopy %cd%\..\runtime\doc %dest%\vim%mainversion%\doc *.txt > > call :Robocopy %cd%\..\runtime\plugin %dest%\vim%mainversion%\plugin > *.vim > > call :Robocopy %cd%\..\runtime\syntax %dest%\vim%mainversion%\syntax > *.vim > > :: archive distro > > call :7z %userprofile%\desktop\Vim.7z %dest% > > :: archive source > > call :7z %userprofile%\desktop\vim.%version%.7z %cd%\.. > > ) > > > > exit /b > > Here is the buildlog.txt, it appears gvim 8.1.22 is built with lua54.lib > on x86 arch. >
I'm afraid you cannot conclude anything from that because that's the nature of --enable-luainterp=dynamic, where Vim isn't effectively linked against the Lua library at build time. You won't come across any error until you actually run Vim and issue one of the :lua command family members. For the --enable-luainterp=dynamic build against Lua 5.4.0-work1, I wrote a patch. Please find it attached to this email. I think it sufficient for UNIX-like systems but am not sure if it works well for Windows. > -- > -- > 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/d/optout. > -- -- 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/d/optout.
if_lua_for_lua5.4.0-work1.diff
Description: Binary data
