On 12-May-2019 03:15, Bram Moolenaar wrote:
Patch 8.1.1320
Problem: It is not possible to track changes to a buffer.
Solution: Add listener_add() and listener_remove(). No docs or tests yet.
Files: src/structs.h, src/change.c, src/proto/change.pro
After this patch I get this linker error from mingw64 (gcc 9.1.1):
<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/autocmd.o gobjnative/beval.o
gobjnative/blob.o gobjnative/blowfish.o gobjnative/buffer.o
gobjnative/change.o gobjnative/charset.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/ex_cmds.o
gobjnative/ex_cmds2.o gobjnative/ex_docmd.o gobjnative/ex_eval.o
gobjnative/ex_getln.o gobjnative/fileio.o gobjnative/findfile.o
gobjnative/fold.o gobjnative/getchar.o gobjnative/hardcopy.o
gobjnative/hashtab.o gobjnative/indent.o gobjnative/insexpand.o
gobjnative/json.o gobjnative/list.o gobjnative/main.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/quickfix.o gobjnative/regexp.o gobjnative/screen.o
gobjnative/search.o gobjnative/sha256.o gobjnative/sign.o
gobjnative/spell.o gobjnative/spellfile.o gobjnative/syntax.o
gobjnative/tag.o gobjnative/term.o gobjnative/textprop.o gobjnative/ui.o
gobjnative/undo.o gobjnative/usercmd.o gobjnative/userfunc.o
gobjnative/version.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
gobjnative/change.o:change.c:(.text+0x87f): undefined reference to
`get_callback'
gobjnative/change.o:change.c:(.text+0x918): undefined reference to
`free_callback'
gobjnative/change.o:change.c:(.text+0x972): undefined reference to
`free_callback'
collect2.exe: error: ld returned 1 exit status
make: *** [Make_cyg_ming.mak:1012: gvim.exe] Error 1
</snip>
It seems we have a mismatch of FEAT_* symbols.
In change.c, get_callback() is called from f_listener_add().
free_callback() is called from f_listener_add() and f_listener_remove().
These two f_listener*() functions are defined if FEAT_EVAL is set (line
154 to line 289).
In evalfunc.c get_callback() and free_callback() are defined if
FEAT_JOB_CHANNEL or FEAT_TIMERS or PROTO are set (line 14678 to line 14719).
Note that these line numbers are after the inclusion of patch 8.1.1321.
Cheers
John
--
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/f349b3d2-4712-5d20-5c6d-f5ca7e4e66d3%40internode.on.net.
For more options, visit https://groups.google.com/d/optout.