Commit Graph

22 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
3c4e567d44 Run codespell on src/mathed
codespell -w -i 3 -S Makefile.in -L mathed,afe,tthe,ue,fro,uint,larg,alph,te,thes,alle,Claus,wit,nd,numer  src/mathed/
2020-06-25 23:31:42 +02:00
Thibaut Cuvelier
718eede94b MathML: Convert HTML entities to XML entities. 2020-06-18 19:37:08 +02:00
Thibaut Cuvelier
054bdc5d18 MathML stream allows for name spaces. 2020-06-18 19:32:51 +02:00
Richard Kimberly Heck
d6a7ec506e s/requires_/required_/ for code consistency 2020-05-04 14:05:44 -04:00
Richard Kimberly Heck
62af7ee772 More requires --> required, for C++2a. 2020-02-28 00:36:55 -05:00
Jean-Marc Lasgouttes
49ed5b4626 Add a setBuffer method to InsetArgumentProxy
This is needed to set the buffer of default values of optional arguments.

Fixes bug #11695.
2019-11-15 20:43:00 +01:00
Jean-Marc Lasgouttes
19abf29ea0 Set buffer when expanding macro
This avoids a crash in InsetMathSplit which uses the buffer() value.

Fixes bug #11686.
2019-10-20 12:54:59 +02:00
Jean-Marc Lasgouttes
02d55ab0b3 Avoid useless test
Spotted by cppcheck
2019-09-15 23:30:29 +02:00
Enrico Forestieri
1cb2a443b5 Fix bug #11595
Avoid an endless loop when in the definition of a macro the macro
itself is used in the LyX representation part.
2019-06-09 22:36:59 +02:00
Enrico Forestieri
2731c5dc55 Correctly protect macros with optionals inserted in an optional argument
The trick turns out to be inserting in braces the whole optional
argument, rather than the single macro.

See #11552 for the long history.
2019-04-26 15:30:08 +02:00
Enrico Forestieri
e763f90244 Revert [60ac25a4/lyxgit], [30f16463/lyxgit], and part of [e8f480e7/lyxgit]
As evidenced in #11552, at loading time there is no way to tell
whether braces were added by LyX with certainty. However, after
[503f7db2/lyxgit], LyX does not automatically removes brace insets.
So, in case one faces the problems mentioned in [e8f480e7/lyxgit],
the workaround of adding a brace inset now will not be frustrated.
In essence, after [503f7db2/lyxgit], the real fix for #11552 would
have been reverting the part in [e8f480e7/lyxgit] that was adding
the braces on output.
2019-04-26 12:34:29 +02:00
Enrico Forestieri
30f1646369 Write braces around macros only when actually needed
When a macro with optionals appeared inside the optional argument of
another one, the onscreen display and latex output were wrong. This
issue was addressed at [e8f480e7/lyxgit] by enclosing in braces macros
with optional arguments. However, this was done even when the macro
with optionals was in a non-optional argument of another macro.
This commit limits the bracing to the cases where it is really needed
and allows to address some particular issues evidenced in #11552.
2019-04-25 11:11:51 +02:00
Enrico Forestieri
60ac25a435 Yet another attempt at properly fixing #11552
This commit supercedes [54147a71/lyxgit] and [acba8476/lyxgit].
2019-04-24 17:28:53 +02:00
Enrico Forestieri
b3cba2a09c Amend [2dcb7300/lyxgit]
Avoid a crash by checking that a cell is not empty before
accessing its content.
2019-01-02 09:08:39 +01:00
Enrico Forestieri
2dcb730026 Fix bug 11346
Enclose in braces an optional argument of a math macro when it
starts with an incomplete script inset or ends with a delimiter
size-modifier macro.
2018-12-18 11:39:21 +01:00
Enrico Forestieri
95bc273a59 Fix display of single-char macro names
Essentially, all characters are allowed in single-char macro names.

Part of #11158.
2018-12-13 19:41:56 +01:00
Richard Heck
f130f7713f Fix bug #10951.
The Buffer member for the remembered definition_ was not being set.
2018-01-04 15:12:16 -05:00
Guillaume MM
6503073070 Fix math mode for InsetMathMacro on output
After 6642152e, user macros were no longer wrapped in \ensuremath. In 2.2 and
before, InsetMathMacro behaved as follow:

* Textmode global symbols are wrapped in \text when in math.

* Other global symbols, and user macros, are wrapped in \ensuremath when in
  text.

* Undefined macros (ERT) are wrapped neither in \text nor in \ensuremath.

This is also consistent with the documentation of MathEnsurer in
mathed/MathStream.h.

This patch defines InsetMathMacro::currentMode() accordingly (respectively
TEXT_MODE, MATH_MODE and UNDECIDED_MODE) and uses it to determine the output.

After this patch, there is a mismatch between screen and pdf output for user
macros in \text. This is not a regression wrt 2.2 and is because linearization
does not satisfy currentMode() currently.
2017-10-23 00:08:19 +02:00
Jean-Marc Lasgouttes
29378af4cd Rename some macro-related insets
These classes should have names that start with "Inset". Renaming done:
MathMacro => InsetMathMacro
MathMacroTemplate => InsetMathMacroTemplate
MathMacroArgument => InsetMathMacroArgument
ArgumentProxy => InsetArgumentProxy
DisplayLabelBox => InsetDisplayLabelBox
CommandInset => InsetMathCommand
2017-07-05 14:46:34 +02:00
Bo Peng
176715bd56 Fix a few rename inconsistencies discovered by JMarc in insets and mathed, step 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17992 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 16:12:54 +00:00
Bo Peng
6e3a75969b Fix a few rename inconsistencies discovered by JMarc in insets and mathed, step 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17991 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 16:11:45 +00:00
Bo Peng
f497296c30 Rename files in src/mathed and src/graphics from .C to .cpp, step 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17969 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 03:03:25 +00:00