Can't create a macro with 2.4.0~devel

Jean-Marc Lasgouttes lasgouttes at lyx.org
Tue Feb 27 17:34:50 UTC 2024


Le 27/02/2024 à 14:46, Jean-Marc Lasgouttes a écrit :
> Le 26/02/2024 à 17:44, Jean-Pierre Chrétien a écrit :
>> Le 26/02/2024 à 16:14, Jean-Marc Lasgouttes a écrit :
>>
>>>
>>> Now I have to understand why it crashes.
>>
>> I tried in a fresh lyx file with a single table. LyX crashes with the 
>> same trace as the one I posted previously, I guess that you can 
>> reproduce.
>>
> 
> Indeed, I see the crash too. But it is still mysterious.

I finally fixed it. The inset was not inserted (because it is actually 
not allowed) but LyX still tried to put the cursor inside this new inset.

Question is now: why is inserting a macro definition in a table cell 
forbidden? Archaeology research shows that it was inserted by Stefan 
Schimanski in the commit below, but I see no reason for it.

JMarc


commit 36dbec45069bf3d9db923200835e44f44d904eb8
Author: Stefan Schimanski <sts at lyx.org>
Date:   Fri Dec 21 20:42:46 2007 +0000

     * Lazy MathData to avoid unneeded interpretation of macro definitions
     * DocIterator as MacroPosition
     * Iterative search for macro in scope until a visible one is found.
     This include the ability to resolve macro inside nested text insets.
     * Speed up macro lookups by factor 2: only getMacro(name) call, no
     further hasMacro(name) call before
     * Both way child/master support
     * Correct macro scope for multi-paragraph environments
     * Correct macro scope for multi-depth-paragraphs
     * Buffer::updateMacros made const
     * Update macros when loaded (of master and child)
     * Do not remove too many braces when unfolding a macro. This could
     lead to a data loss because the relationship between arguments of
     macros can be mixed up if nested macros are unfold at once.
     * Reduce dependencies to MetricsInfo in MathMacro
     * Update macros when needed. Normally it's done just before doing
     metrics. But in cases without a brace around some constructs (like
     \left(bla\right)) there is some help needed.






More information about the lyx-devel mailing list