You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of May 4, 2019 (notepad-plus-plus/notepad-plus-plus@37c4b89), building TLDatLexer against the current notepad-plus-plus master branch no longer works. This is presumably related to one or more changes brought by updating Scintilla to the 4.1.x branch, the most significant of which being that Scintilla 4.x uses features from C++17.
However, changing the AppVeyor build settings to MSVS 2017 does not fix the problem.
This issue will likely be a blocker for installing the plugin on any future notepad-plus-plus versions.
Correction: The existing plugin (built against Scintilla v3.5.6) still seems to work OK when run with the official release build of notepad-plus-plus v7.7.0. Identifying and fixing incompatibilities between TLDatLexer and Scintilla 4.1.4 is still top priority.
All Errors (x64)
C:\projects\tldatlexer\tldatlexer\stdafx.cpp(20): warning C4710: 'std::exception_ptr std::exception_ptr::_Current_exception(void) throw()': function not inlined
C:\projects\tldatlexer\tldatlexer\stdafx.cpp(20): warning C4710: 'std::exception_ptr std::current_exception(void) noexcept': function not inlined
C:\projects\tldatlexer\tldatlexer\lexer.h(53): warning C4820: 'TlDatLexer': '7' bytes padding added after data member 'TlDatLexer::doneOnce_'
C:\projects\tldatlexer\tldatlexer\plugin.cpp(42): warning C4365: 'argument': conversion from 'int' to 'WPARAM', signed/unsigned mismatch
C:\projects\tldatlexer\tldatlexer\plugin.cpp(42): warning C4365: 'initializing': conversion from 'LRESULT' to 'std::size_t', signed/unsigned mismatch
C:\projects\tldatlexer\tldatlexer\plugin.cpp(45): warning C4459: declaration of 'name' hides global declaration
C:\projects\tldatlexer\tldatlexer\plugin.cpp(46): warning C4365: 'argument': conversion from 'int' to 'WPARAM', signed/unsigned mismatch
C:\projects\tldatlexer\tldatlexer\plugin.cpp(114): warning C4244: 'initializing': conversion from 'sptr_t' to 'unsigned int', possible loss of data
C:\projects\tldatlexer\tldatlexer\plugin.cpp(114): warning C4365: 'initializing': conversion from 'sptr_t' to 'unsigned int', signed/unsigned mismatch
C:\projects\tldatlexer\tldatlexer\plugin.cpp(132): warning C4459: declaration of 'name' hides global declaration
C:\projects\tldatlexer\tldatlexer\plugin.cpp(134): warning C4365: 'argument': conversion from 'int' to 'std::size_t', signed/unsigned mismatch
C:\projects\tldatlexer\tldatlexer\plugin.cpp(141): warning C4365: 'argument': conversion from 'int' to 'std::size_t', signed/unsigned mismatch
C:\projects\tldatlexer\tldatlexer\lexer.h(53): warning C4820: 'TlDatLexer': '7' bytes padding added after data member 'TlDatLexer::doneOnce_'
C:\projects\tldatlexer\tldatlexer\lexer.h(24): error C2143: syntax error: missing ';' before '*'
C:\projects\tldatlexer\tldatlexer\lexer.h(24): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\projects\tldatlexer\tldatlexer\lexer.h(26): error C2516: 'ILexer': is not a legal base class
C:\projects\tldatlexer\tldatlexer\lexer.h(47): error C2061: syntax error: identifier 'IDocument'
C:\projects\tldatlexer\tldatlexer\lexer.h(48): error C2061: syntax error: identifier 'IDocument'
C:\projects\tldatlexer\tldatlexer\lexer.h(37): error C3668: 'TlDatLexer::Version': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(38): error C3668: 'TlDatLexer::Release': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(39): error C3668: 'TlDatLexer::PropertyNames': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(40): error C3668: 'TlDatLexer::PropertyType': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(41): error C3668: 'TlDatLexer::DescribeProperty': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(42): error C3668: 'TlDatLexer::PropertySet': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(43): error C3668: 'TlDatLexer::DescribeWordListSets': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(44): error C3668: 'TlDatLexer::WordListSet': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(45): error C3668: 'TlDatLexer::PrivateCall': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(47): error C3668: 'TlDatLexer::Lex': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(48): error C3668: 'TlDatLexer::Fold': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(33): error C2440: 'return': cannot convert from 'TlDatLexer *' to 'ILexer *'
C:\projects\tldatlexer\tldatlexer\lexer.h(37): error C2065: 'lvOriginal': undeclared identifier
C:\projects\tldatlexer\tldatlexer\plugin.cpp(146): error C2143: syntax error: missing ';' before '__cdecl'
C:\projects\tldatlexer\tldatlexer\plugin.cpp(146): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\projects\tldatlexer\tldatlexer\plugin.cpp(146): error C2373: 'LexerFactoryFunction': redefinition; different type modifiers
C:\projects\tldatlexer\tldatlexer\plugin.cpp(147): error C2440: 'return': cannot convert from 'ILexer *(__cdecl *)(void)' to 'int'
C:\projects\tldatlexer\tldatlexer\plugin.cpp(148): error C2617: 'GetLexerFactory': inconsistent return statement
C:\projects\tldatlexer\tldatlexer\lexer.h(24): error C2143: syntax error: missing ';' before '*'
C:\projects\tldatlexer\tldatlexer\lexer.h(24): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\projects\tldatlexer\tldatlexer\lexer.h(26): error C2516: 'ILexer': is not a legal base class
C:\projects\tldatlexer\tldatlexer\lexer.h(47): error C2061: syntax error: identifier 'IDocument'
C:\projects\tldatlexer\tldatlexer\lexer.h(48): error C2061: syntax error: identifier 'IDocument'
C:\projects\tldatlexer\tldatlexer\lexer.h(37): error C3668: 'TlDatLexer::Version': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(38): error C3668: 'TlDatLexer::Release': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(39): error C3668: 'TlDatLexer::PropertyNames': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(40): error C3668: 'TlDatLexer::PropertyType': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(41): error C3668: 'TlDatLexer::DescribeProperty': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(42): error C3668: 'TlDatLexer::PropertySet': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(43): error C3668: 'TlDatLexer::DescribeWordListSets': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(44): error C3668: 'TlDatLexer::WordListSet': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(45): error C3668: 'TlDatLexer::PrivateCall': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(47): error C3668: 'TlDatLexer::Lex': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(48): error C3668: 'TlDatLexer::Fold': method with override specifier 'override' did not override any base class methods
C:\projects\tldatlexer\tldatlexer\lexer.h(33): error C2440: 'return': cannot convert from 'TlDatLexer *' to 'ILexer *'
C:\projects\tldatlexer\tldatlexer\lexer.h(37): error C2065: 'lvOriginal': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(51): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(52): error C2065: 'val': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(53): error C2065: 'val': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(54): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(54): error C2065: 'val': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(59): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(63): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(64): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(67): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(70): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(71): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(74): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(77): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(78): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(81): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(87): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(91): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(95): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(97): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(97): error C2228: left of '.SafeGetCharAt' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(100): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(103): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(105): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(109): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(118): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(123): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(132): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(137): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(146): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(151): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(155): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(156): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(157): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(161): error C2061: syntax error: identifier 'LexAccessor'
C:\projects\tldatlexer\tldatlexer\lexer.cpp(166): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(169): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(169): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(174): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(176): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(179): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(179): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(180): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(180): error C2228: left of '.SetLineState' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(182): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(182): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(183): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(183): error C2228: left of '.SetLineState' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(188): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(190): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(192): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(192): error C2228: left of '.IndicatorFill' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(196): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(196): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(202): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(204): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(205): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(205): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(208): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(208): error C2228: left of '.IndicatorFill' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(211): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(212): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(212): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(216): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(216): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(219): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(219): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(222): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(222): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(224): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(224): error C2228: left of '.ColourTo' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(227): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(232): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(236): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(237): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(237): error C2228: left of '.IndicatorFill' must have class/struct/union
C:\projects\tldatlexer\tldatlexer\lexer.cpp(244): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(247): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(250): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(253): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(256): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(257): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(261): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(262): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(266): error C2065: 'doc': undeclared identifier
C:\projects\tldatlexer\tldatlexer\lexer.cpp(266): fatal error C1003: error count exceeds 100; stopping compilation
285 Warning(s)
126 Error(s)
The text was updated successfully, but these errors were encountered:
So a couple things have changed between v3 and v4 of Scintilla.
Some types, such as ILexer and IDocument, have been put in the Scintilla namespace. They were global before.
The interface switched from using int as the position type to using the Sci_Position and Sci_UPosition typedefs (ptrdiff_t and size_t respectively).
ILexer is now ILexer4. Both it and the IDocument interface look a little different.
Most of the errors are because of the namespacing which is an easy fix. You'll then have to go through and fix all the position types. I'll have more time this weekend to see if there's anything else.
As of May 4, 2019 (notepad-plus-plus/notepad-plus-plus@37c4b89), building TLDatLexer against the current notepad-plus-plus master branch no longer works. This is presumably related to one or more changes brought by updating Scintilla to the 4.1.x branch, the most significant of which being that Scintilla 4.x uses features from C++17.
However, changing the AppVeyor build settings to MSVS 2017 does not fix the problem.
This issue will likely be a blocker for installing the plugin on any future notepad-plus-plus versions.Correction: The existing plugin (built against Scintilla v3.5.6) still seems to work OK when run with the official release build of notepad-plus-plus v7.7.0. Identifying and fixing incompatibilities between TLDatLexer and Scintilla 4.1.4 is still top priority.
All Errors (x64)
The text was updated successfully, but these errors were encountered: