Age | Commit message (Collapse) | Author | Files | Lines |
|
Allows building Scinterm without removing references to RunStyles.o.
63cee0686964d789e6b53406abcc0bdbed50206a, which removed RunStyles.cxx,
is still experimental and not yet merged upstream.
|
|
storage size as int, but does *not* alias it
* This is the case e.g. on NetBSD 10 for ARMv6 where Sci::Position == ptrdiff_t == long int,
but obviously for other platforms as well, where it causes "invalid conversion"
and "undefined symbol" errors.
Scintilla was testing for aliasability by comparing the storage size with sizeof()
or PTRDIFF_MAX == INT_MAX at the preprocessor level.
This was fundamentally flawed.
* In LineVector<T>::InsertLines() we are now using the C++17 construct
std::is_convertible_v<From*,To*> instead.
* We need RunStyles<ptrdiff_t> as well on the affected platforms.
AFAIK this is impossible to test for in a constant expression that can be used
with the preprocessor.
A workaround has been added previously for Haiku:
https://groups.google.com/g/scintilla-interest/c/xPXquJUIXo8/m/BLXBpTTgBwAJ
The workaround is not very robust, as probably nobody guarantees that ptrdiff_t
never aliases on Haiku. If it does, you will suddenly get errors about duplicate
template instantiations.
Quite possibly, the explicit instantiations of RunStyles were wrong on certain
32-bit Linux variants as well.
* We could have tried to explicitly instantiate RunStyles for all scalar types that could possibly be behind ptrdiff_t.
Unfortunately, it would result in "possible loss of data" warnings on MSVC.
Instead, we now implicitly instantiate RunStyles.
|
|
*not* alias it"
This reverts commit 0953ffeee80abdd8e79ddacc7066eb02c78968e7.
|
|
alias it
* This is the case e.g. on NetBSD 10 for ARMv6 where Sci::Position == ptrdiff_t == long int,
but obviously for other platforms as well, where it causes "invalid conversion"
and "undefined symbol" errors.
Scintilla was testing for aliasability by comparing the storage size with sizeof()
or PTRDIFF_MAX == INT_MAX at the preprocessor level.
This was fundamentally flawed.
* In LineVector<T>::InsertLines() we are now using the C++17 construct
std::is_convertible_v<From*,To*> instead.
* We need RunStyles<ptrdiff_t> as well on the affected platforms.
AFAIK this is impossible to test for in a constant expression that can be used
with the preprocessor.
A workaround has been added previously for Haiku:
https://groups.google.com/g/scintilla-interest/c/xPXquJUIXo8/m/BLXBpTTgBwAJ
The workaround is not very robust, as probably nobody guarantees that ptrdiff_t
never aliases on Haiku. If it does, you will suddenly get errors about duplicate
template instantiations.
Instead we now instantiate RunStyles for all scalar types that could possibly be behind ptrdiff_t.
This will always be more than what is required on any particular platform,
but the linker should eliminate unused symbols.
|
|
* SciTECO needs to avoid automatic scrolling as an optimization.
While this works partially by avoiding certain messages like SCI_GOTOPOS (in favor of SCI_SETEMPTYSELECTION),
there aren't alternatives for all messages that scroll.
For instance SCI_UNDO will always call EnsureCaretVisible().
Also, even if we could avoid all scrolling messages, there is no guarantee that will not suddenly
and unexpectedly break in the future.
* Instead, every scrolling is now disabled except for an explicit SCI_SCROLLCARET.
SciTECO can therefore use the more intuitive messages like SCI_GOTOPOS.
* SetLastXChosen() (choosing the X that caret sticks to) has been found to be a major slow down
during UNDO and serves no purpose on SciTECO anyway - we have to implement such an algorithm
at the SciTECO language level.
We therefore simply disable SetLastXChosen().
|
|
* This sets the default key representations on every SCI_SETDOCPOINTER
which is very inefficient considering the way that SciTECO uses the
Q-Register view.
Furthermore it meant, we had to reset the representations to their
SciTECO versions again after every SCI_SETDOCPOINTER.
* This patch only does not cause problems because we initialize
the representations anyway for every Scintilla view.
This patch is not meant to be upstreamed!
|
|
Avoid processing characters multiple times by relying on from_chars munching
digit characters instead of searching for delimiters.
|
|
|
|
|
|
bidirectional mode which is used for accessibility on macOS with VoiceOver.
Avoid out-of-bounds access.
|
|
|
|
|
|
Enlarge bitmap to avoid visible blank background between items.
|
|
|
|
|
|
|
|
|
|
allocations succeed and others fail.
|
|
|
|
for validity check.
|
|
|
|
|
|
Clarify code a little.
|
|
|
|
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16373
|
|
surrounding to better position candidate window.
|
|
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16373
|
|
|
|
|
|
|
|
|
|
|
|
composition active.
|
|
|
|
|
|
bug where scroll position not restored in non-wrap mode.
|
|
|
|
|
|
|
|
|
|
through this now.
|
|
folding symbols for many years.
|
|
|
|
parameter naming.
|
|
|
|
pointers as integers to window procedures.
|
|
member function ListBoxX::ListProc so it can directly access state.
Stop using GWLP_USERDATA to hold the previous window procedure of subclassed
window since it can be stored in the ListBoxX object with better type-safety.
Decrease warnings for reinterpret_cast since it is a common Win32 idiom to pass
pointers as integers to window procedures.
|
|
SC_UNDO_SELECTION_HISTORY_SCROLL flag to SCI_SETUNDOSELECTIONHISTORY.
|
|
|
|
|