On 16-Aug-2021 06:11, Bram Moolenaar wrote:
John Marriott wrote:
On 15-Aug-2021 22:32, Bram Moolenaar wrote:
Patch 8.2.3348
Problem: line2byte() returns wrong value after adding textprop. (Yuto
Kimura)
Solution: Reduce the length by the size of the text property. (closes #8759)
Files: src/memline.c, src/testdir/test_textprop.vim
Hi All,
After this patch, mingw64 (gcc 11.2.0) spits out this error message if
FEAT_PROP_POPUP is not defined:
<snip>
gcc -c -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603
-DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -D__USE_MINGW_ANSI_STDIO
-pipe -march=native -Wall -O3 -fomit-frame-pointer -freg-struct-return
-fpie -fPIE memline.c -o objnative/memline.o memline.c: In function
'ml_flush_line':
memline.c:4002:24: error: 'buf_T' {aka 'struct file_buffer'} has no
member named 'b_has_textprop'
4002 | if (buf->b_has_textprop)
| ^~
memline.c:4011:24: error: 'buf_T' {aka 'struct file_buffer'} has no
member named 'b_has_textprop'
4011 | if (buf->b_has_textprop)
| ^~
make: *** [Make_cyg_ming.mak:1159: objnative/memline.o] Error 1
</snip>
...
The #ifdef should check both FEAT_BYTEOFF and FEAT_PROP_POPUP, the code
is only needed when both are defined. I'll make a patch.
Hi Bram,
Now something definitely isn't right. After patch 8.2.3354 I get this
link error (FEAT_PROP_POPUP, FEAT_QUICKFIX and FEAT_SPELL are all
disabled for this build):
<snip>
gcc -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603
-DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -D__USE_MINGW_ANSI_STDIO
-pipe -march=native -Wall -O3 -fomit-frame-pointer -freg-struct-return
-fpie -fPIE -DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD -Wl,-nxcompat,-dynamicbase
-municode -s -mwindows -o gvim.exe gobjnative/alloc.o
gobjnative/arabic.o gobjnative/arglist.o gobjnative/autocmd.o
gobjnative/beval.o gobjnative/blob.o gobjnative/blowfish.o
gobjnative/buffer.o gobjnative/bufwrite.o gobjnative/change.o
gobjnative/charset.o gobjnative/cindent.o gobjnative/clientserver.o
gobjnative/clipboard.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/drawline.o gobjnative/drawscreen.o gobjnative/edit.o
gobjnative/eval.o gobjnative/evalbuffer.o gobjnative/evalfunc.o
gobjnative/evalvars.o gobjnative/evalwindow.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/float.o gobjnative/fold.o
gobjnative/getchar.o gobjnative/gui_xim.o gobjnative/hardcopy.o
gobjnative/hashtab.o gobjnative/help.o gobjnative/highlight.o
gobjnative/if_cscope.o gobjnative/indent.o gobjnative/insexpand.o
gobjnative/json.o gobjnative/list.o gobjnative/locale.o
gobjnative/main.o gobjnative/map.o gobjnative/mark.o gobjnative/match.o
gobjnative/memfile.o gobjnative/memline.o gobjnative/menu.o
gobjnative/message.o gobjnative/misc1.o gobjnative/misc2.o
gobjnative/mouse.o gobjnative/move.o gobjnative/mbyte.o
gobjnative/normal.o gobjnative/ops.o gobjnative/option.o
gobjnative/optionstr.o gobjnative/os_mswin.o gobjnative/os_win32.o
gobjnative/pathdef.o gobjnative/popupmenu.o gobjnative/popupwin.o
gobjnative/profiler.o gobjnative/quickfix.o gobjnative/regexp.o
gobjnative/register.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/spellsuggest.o gobjnative/strings.o gobjnative/syntax.o
gobjnative/tag.o gobjnative/term.o gobjnative/testing.o
gobjnative/textformat.o gobjnative/textobject.o gobjnative/textprop.o
gobjnative/time.o gobjnative/typval.o gobjnative/ui.o gobjnative/undo.o
gobjnative/usercmd.o gobjnative/userfunc.o gobjnative/version.o
gobjnative/vim9compile.o gobjnative/vim9execute.o
gobjnative/vim9script.o gobjnative/vim9type.o gobjnative/viminfo.o
gobjnative/winclip.o gobjnative/window.o gobjnative/os_w32exe.o
gobjnative/vimres.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/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/drawline.o:drawline.c:(.text+0x238): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/drawline.o:drawline.c:(.text+0x6bc): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/edit.o:edit.c:(.text+0x5ede): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/edit.o:edit.c:(.text+0x645f): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/evalwindow.o:evalwindow.c:(.text+0x125): undefined reference
to `bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/evalwindow.o:evalwindow.c:(.text+0x140): more undefined
references to `bt_quickfix' follow
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/ex_docmd.o:ex_docmd.c:(.text+0xf520): undefined reference to
`prepare_tagpreview'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/ex_docmd.o:ex_docmd.c:(.text+0xf852): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/ex_docmd.o:ex_docmd.c:(.text+0xfb79): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/mouse.o:mouse.c:(.text+0x2abe): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/normal.o:normal.c:(.text+0x3f9b): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/popupmenu.o:popupmenu.c:(.text+0xe79): undefined reference to
`prepare_tagpreview'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/popupwin.o:popupwin.c:(.text+0xe36): undefined reference to
`ml_append_buf'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/popupwin.o:popupwin.c:(.text+0xe95): undefined reference to
`ml_append_buf'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/popupwin.o:popupwin.c:(.text+0xeea): undefined reference to
`ml_append_buf'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0xf69): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x115e): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x1228): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x12f4): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x18a3): undefined reference to
`ml_append_buf'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x1c98): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x1d17): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x4514): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x5cdc): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x6054): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/quickfix.o:quickfix.c:(.text+0x60b2): more undefined
references to `bt_quickfix' follow
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/search.o:search.c:(.text+0x90b9): undefined reference to
`prepare_tagpreview'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/sign.o:sign.c:(.text+0x175f): undefined reference to
`gui_mch_destroy_sign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/sign.o:sign.c:(.text+0x1768): undefined reference to
`gui_mch_register_sign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/sign.o:sign.c:(.text+0x1af4): undefined reference to
`gui_mch_destroy_sign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/sign.o:sign.c:(.text+0x2d22): undefined reference to
`gui_mch_register_sign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/sign.o:sign.c:(.text+0x2dbf): undefined reference to
`gui_mch_destroy_sign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/sign.o:sign.c:(.text+0x3b17): undefined reference to
`gui_mch_destroy_sign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/tag.o:tag.c:(.text+0x454c): undefined reference to
`prepare_tagpreview'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/window.o:window.c:(.text+0x55cc): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/window.o:window.c:(.text+0xda97): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/window.o:window.c:(.text+0xdc03): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/window.o:window.c:(.text+0x1094b): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/window.o:window.c:(.text+0x10ba1): undefined reference to
`bt_quickfix'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/window.o:window.c:(.text+0x10da1): more undefined references
to `bt_quickfix' follow
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/gui.o:gui.c:(.text+0xa5a): undefined reference to
`gui_mch_drawsign'
d:/users/john/documents/software/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
gobjnative/gui.o:gui.c:(.text+0x17ed): undefined reference to
`gui_mch_drawsign'
collect2.exe: error: ld returned 1 exit status
make: *** [Make_cyg_ming.mak:1089: gvim.exe] Error 1
<snip>
Enabling FEAT_SPELL or FEAT_QUICKFIX fixes it.
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/d73ddabc-97a1-ecfe-1af4-6b46694c67f3%40internode.on.net.