Patch 8.1.1991

18 views
Skip to first unread message

Bram Moolenaar

unread,
Sep 5, 2019, 5:04:32 PM9/5/19
to vim...@googlegroups.com

Patch 8.1.1991
Problem: Still cannot build with eval but without cscope.
Solution: Move f_cscope_connection() outside of #ifdef.
Files: src/if_cscope.c


*** ../vim-8.1.1990/src/if_cscope.c 2019-09-05 22:33:23.268963478 +0200
--- src/if_cscope.c 2019-09-05 23:02:33.702490135 +0200
***************
*** 432,464 ****
return FALSE;
}

- /*
- * "cscope_connection([{num} , {dbpath} [, {prepend}]])" function
- *
- * Checks the existence of a cscope connection.
- */
- void
- f_cscope_connection(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
- {
- #ifdef FEAT_CSCOPE
- int num = 0;
- char_u *dbpath = NULL;
- char_u *prepend = NULL;
- char_u buf[NUMBUFLEN];
-
- if (argvars[0].v_type != VAR_UNKNOWN
- && argvars[1].v_type != VAR_UNKNOWN)
- {
- num = (int)tv_get_number(&argvars[0]);
- dbpath = tv_get_string(&argvars[1]);
- if (argvars[2].v_type != VAR_UNKNOWN)
- prepend = tv_get_string_buf(&argvars[2], buf);
- }
-
- rettv->vval.v_number = cs_connection(num, dbpath, prepend);
- #endif
- }
-
#endif


--- 432,437 ----
***************
*** 2527,2530 ****

#endif /* FEAT_CSCOPE */

! /* the end */
--- 2500,2532 ----

#endif /* FEAT_CSCOPE */

! #if defined(FEAT_EVAL) || defined(PROTO)
!
! /*
! * "cscope_connection([{num} , {dbpath} [, {prepend}]])" function
! *
! * Checks the existence of a cscope connection.
! */
! void
! f_cscope_connection(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
! {
! # ifdef FEAT_CSCOPE
! int num = 0;
! char_u *dbpath = NULL;
! char_u *prepend = NULL;
! char_u buf[NUMBUFLEN];
!
! if (argvars[0].v_type != VAR_UNKNOWN
! && argvars[1].v_type != VAR_UNKNOWN)
! {
! num = (int)tv_get_number(&argvars[0]);
! dbpath = tv_get_string(&argvars[1]);
! if (argvars[2].v_type != VAR_UNKNOWN)
! prepend = tv_get_string_buf(&argvars[2], buf);
! }
!
! rettv->vval.v_number = cs_connection(num, dbpath, prepend);
! # endif
! }
!
! #endif // FEAT_EVAL
*** ../vim-8.1.1990/src/version.c 2019-09-05 22:50:08.453226267 +0200
--- src/version.c 2019-09-05 23:03:19.158323586 +0200
***************
*** 759,760 ****
--- 759,762 ----
{ /* Add new patch number below this line */
+ /**/
+ 1991,
/**/

--
% cat /usr/include/sys/errno.h
#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
[...]
#define EMACS 666 /* Too many macros */
%

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

John Marriott

unread,
Sep 6, 2019, 2:50:42 PM9/6/19
to vim...@googlegroups.com


On 06-Sep-2019 07:04, Bram Moolenaar wrote:
> Patch 8.1.1991
> Problem: Still cannot build with eval but without cscope.
> Solution: Move f_cscope_connection() outside of #ifdef.
> Files: src/if_cscope.c
>
>
>
After this patch gcc throws this linker error (FEAT_CSCOPE is disabled):

<snip>

gcc -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603
-DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -DFEAT_GUI_MSWIN
-DFEAT_CLIPBOARD -pipe -march=native -Wall -O3 -fomit-frame-pointer
-freg-struct-return -Wl,-nxcompat,-dynamicbase -mwindows -municode -s -o
gvim.exe gobjnative/arabic.o gobjnative/arglist.o gobjnative/autocmd.o
gobjnative/beval.o gobjnative/blob.o gobjnative/blowfish.o
gobjnative/buffer.o gobjnative/change.o gobjnative/charset.o
gobjnative/cmdexpand.o gobjnative/cmdhist.o gobjnative/crypt.o
gobjnative/crypt_zip.o gobjnative/debugger.o gobjnative/dict.o
gobjnative/diff.o gobjnative/digraph.o gobjnative/edit.o
gobjnative/eval.o gobjnative/evalfunc.o gobjnative/evalvars.o
gobjnative/ex_cmds.o gobjnative/ex_cmds2.o gobjnative/ex_docmd.o
gobjnative/ex_eval.o gobjnative/ex_getln.o gobjnative/fileio.o
gobjnative/filepath.o gobjnative/findfile.o gobjnative/fold.o
gobjnative/getchar.o gobjnative/hardcopy.o gobjnative/hashtab.o
gobjnative/highlight.o gobjnative/indent.o gobjnative/insexpand.o
gobjnative/json.o gobjnative/list.o gobjnative/main.o gobjnative/map.o
gobjnative/mark.o gobjnative/memfile.o gobjnative/memline.o
gobjnative/menu.o gobjnative/message.o gobjnative/misc1.o
gobjnative/misc2.o gobjnative/move.o gobjnative/mbyte.o
gobjnative/normal.o gobjnative/ops.o gobjnative/option.o
gobjnative/os_mswin.o gobjnative/os_win32.o gobjnative/pathdef.o
gobjnative/popupmnu.o gobjnative/popupwin.o gobjnative/profiler.o
gobjnative/quickfix.o gobjnative/regexp.o gobjnative/scriptfile.o
gobjnative/screen.o gobjnative/search.o gobjnative/session.o
gobjnative/sha256.o gobjnative/sign.o gobjnative/spell.o
gobjnative/spellfile.o gobjnative/syntax.o gobjnative/tag.o
gobjnative/term.o gobjnative/testing.o gobjnative/textprop.o
gobjnative/ui.o gobjnative/undo.o gobjnative/usercmd.o
gobjnative/userfunc.o gobjnative/version.o gobjnative/viminfo.o
gobjnative/winclip.o gobjnative/window.o gobjnative/os_w32exe.o
gobjnative/vimrc.o gobjnative/xdiffi.o gobjnative/xemit.o
gobjnative/xprepare.o gobjnative/xutils.o gobjnative/xhistogram.o
gobjnative/xpatience.o gobjnative/gui.o gobjnative/gui_w32.o
gobjnative/gui_beval.o -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32
-lcomctl32 -lnetapi32 -lversion -lole32 -luuid
D:/Users/John/Documents/software/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.1/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/evalfunc.o:evalfunc.c:(.rdata+0x1e08): undefined reference to
`f_cscope_connection'
collect2.exe: error: ld returned 1 exit status
make: *** [Make_cyg_ming.mak:1034: gvim.exe] Error 1
make: Leaving directory
'D:/Users/John/Documents/software/Utility/Vim/vim/vim/src'

</snip>

I have attached a patch, which might not be the right fix, but it works
for me. :-)

Cheers

John

8.1.1991.evalfunc.c.patch

Bram Moolenaar

unread,
Sep 6, 2019, 3:47:10 PM9/6/19
to vim...@googlegroups.com, John Marriott
That's not the right one. We need to fix the build file. Also for
MSVC.

--
hundred-and-one symptoms of being an internet addict:
202. You're amazed to find out Spam is a food.
Reply all
Reply to author
Forward
0 new messages