Commit Graph

718 Commits

Author SHA1 Message Date
Juergen Spitzmueller
cc4ed5e04b Do not try to pop from an empty stack 2022-02-04 17:23:52 +01:00
Jean-Marc Lasgouttes
0789f2f2ae Fix font inside footnote inset
An inset that resets its font (like Footnote) does not care at all
about enclosing font. Therefore the real starting point is the class
default font. This avoid cases where the footnote contents is forced
to \normalsize.

It turns out that the Greyedout note inset, did inherit font but was
declared as not doing it. This commmit changes the definition by
adding \normalfont\normalsize so that no inheritance happens.

Note that actually \normalfont resets everything but the font size.
This does not matter for footnote (which has its own font size) and
greyedout (which is fixed now), but may matter elsewhere. Also, I do
not know what the situation with HTML is.
2021-12-31 13:40:53 +01:00
Juergen Spitzmueller
a5b7eeacaa Remove remaining math cprotection test.
We'll see if someone comes up with a reproducible case, and if so,
whether ordinary protection works here as well.

See #6243
2021-12-27 11:52:25 +01:00
Juergen Spitzmueller
582fe0990f \protect xymatrix in fragile context
(\cprotect'ion not needed then).
2021-12-27 11:42:30 +01:00
Juergen Spitzmueller
596b2d16ee \protect substack in fragile context
(\cprotect'ion not needed then).
2021-12-27 11:37:59 +01:00
Juergen Spitzmueller
3e4c831f1e Remove obsolete \cprotect'ion (#6243) 2021-12-27 10:24:58 +01:00
Jean-Marc Lasgouttes
542445d07d When pasting text, keep line breaks when "parbreak is newline"
This is much easier for listings, ERT or Verbatim.

Fixes bug #8026.
2021-12-26 20:22:01 +01:00
Juergen Spitzmueller
c2f2ba57f1 Do not repeatedly call main_font_encoding()
This method impacts on performance and we store the value anyway in
the output params.
2021-12-20 12:09:12 +01:00
Juergen Spitzmueller
61b8afd893 Paragraph::needsCProtection(): use inset list
rather than checking each pos whether it's an inset or not.

This was a significant performance bottleneck (particularly getInset()
itself seems slow).
2021-12-19 15:39:49 +01:00
Juergen Spitzmueller
a9eb3c9990 Whitespace 2021-11-25 18:47:23 +01:00
Juergen Spitzmueller
5a6498c3d3 Let paragraph::requestSpellcheck() consider contained insets
if "check whole paragraph" has been requested.
2021-11-25 17:04:58 +01:00
Juergen Spitzmueller
f0126b9fdf \\noindent in a paragraph that starts with \\vspace is possible
But the \\vspace must precede \\noindent (the latter leaves vmode)
2021-10-31 11:56:53 +01:00
Juergen Spitzmueller
fbc64ea7ee Amend comment 2021-10-31 10:38:52 +01:00
Juergen Spitzmueller
456a72b62a Do not output \\noindent for paragraphs starting with a vspace
These are not indented anyway, and the extra \\noindent causes whitespace
2021-10-31 10:22:11 +01:00
Juergen Spitzmueller
18a91852e1 Properly terminate \\noindent 2021-10-31 09:58:10 +01:00
Juergen Spitzmueller
633013453e Factor out Paragraph::isPartOfTextSequence
Amends 045c25cf76
2021-10-31 09:26:57 +01:00
Juergen Spitzmueller
045c25cf76 Prevent unneeded (and wrong) \noindent
* When a paragraph is logically empty (only contains stuff which is not
  part of the text sequence

* In centered paragraphs
2021-10-30 14:19:46 +02:00
Juergen Spitzmueller
b55aea6776 Prevent unneeded cprotection in branches (#12378) 2021-10-21 10:27:05 +02:00
Juergen Spitzmueller
9eab66ebb4 Close font switches before comments 2021-09-30 12:53:41 +02:00
Jean-Marc Lasgouttes
b08a653f35 We only support gcc >= 4.9. 2021-04-07 17:17:05 +02:00
Jean-Marc Lasgouttes
ac8948b8e0 Fixup 86bfa10a: add checks before updating bookmarks
When doing cut and paste, it can happen that inset_owner_ is null, or
that the inset is not related to a buffer.
2021-03-12 17:42:02 +01:00
Jean-Marc Lasgouttes
86bfa10abb Adjust bookmark position when inserting/deleting from paragraph
Without this, bookmarks positions drift when editing.
2021-03-11 16:00:32 +01:00
Jean-Marc Lasgouttes
87e59caebe Constify some Paragraph::Private methods 2021-03-09 16:46:05 +01:00
Stephan Witt
6273c1f66d Amend change 07122f066b - correct string access. 2021-03-08 21:26:58 +01:00
Juergen Spitzmueller
c8feef2e23 Add way to remove items from document dictionary 2021-03-07 18:23:07 +01:00
Stephan Witt
07122f066b Refactoring: move check for match in spellignore() to buffer params. 2021-03-07 17:46:01 +01:00
Juergen Spitzmueller
430327152a Fix per-document dictionary with Mac 2021-03-07 17:25:31 +01:00
Juergen Spitzmueller
07396ab244 Meet per-document spelling dictionaries (fixes #86 [sic!])
Now who can beat that? ;-)
2021-03-06 16:53:33 +01:00
Pavel Sanda
9e734339e9 Compile with gcc 4.9 again. 2021-02-21 20:05:06 +01:00
Thibaut Cuvelier
358e4ace56 DocBook: implement prepended/appended arguments for all kinds of elements.
Previously, it was just in InsetText.
2021-02-19 17:38:38 +01:00
Enrico Forestieri
7114de5175 Fix bug #12148 2021-02-19 02:19:06 +01:00
Enrico Forestieri
2fdee24959 Correctly show deleted url with change tracking
This fixes the issue reported here:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg202545.html

I could not find an open ticket about it.
2021-02-17 19:51:01 +01:00
Juergen Spitzmueller
ab1cc8e1c2 Consider case (in)sensitivity when querying special char insets 2021-02-17 15:50:54 +01:00
Thibaut Cuvelier
d18dff22b5 DocBook: add the DocBookNoFontInside layout configuration. 2021-02-13 05:09:59 +01:00
Enrico Forestieri
22ee249c3e Allow pasting references to mathed
A reference can be directly inserted into mathed but cannot be pasted
because the pasted material is returned in plain text format. This patch
allows getting a string from the cut stack in a suitable format allowing
the math parser to actually create an InsetRef.

Fixes #11539
2021-01-30 01:32:40 +01:00
Jean-Marc Lasgouttes
ef091ca0ea ChangesMonitor: beware of exceptions in destructor
There may be an exception is the paragraph does not have an owner. In
this case, there is nothing to do anyway.

Spotted by coverity.
2021-01-29 18:45:50 +01:00
Jean-Marc Lasgouttes
f3a0e8ff9a Run updateBuffer when adding/merging changes
Following 4a4ded22, the enabling of some change-related functions is
handled in updateBuffer. However, this method is not ran at every
document change for performance reasons.

This patch adds code to every place that modifies
Paragraph::Private::changes_ that checks whether the `changedness' of
the paragraph, err... changes.

To this end, a new helper struct is introduced that remembers
paragraph state at contruction time, and compares it to new state in
the destructor.

New forceUpdate/needUpdate methods are added to Buffer class, since
the cursor is in general not available in the places where these
changes are made.

Fixes bug #12074.
2021-01-28 11:30:05 +01:00
Kornel Benko
961e393b95 FindAdv: Make search for text in deleted regions configurable.
The function call 'search-ignore deleted false'
makes findadv to search also deleted parts,
while 'search-ignore deleted true' will omit these parts.
2021-01-22 21:11:28 +01:00
Kornel Benko
3259f3c73e FindAdv: Remove dead code
+ correct detection of backspaced '{' and '}' in regex with format search enabled
2021-01-18 17:06:05 +01:00
Kornel Benko
ec387b6d65 FindAdv: Handle search for '{' and '}'
In format-search the chars '{' and '}' are understood as latex parentheses, which normally are not
part of text and are discarded.
Instead we fake them as if they were a char like \backslash or \guilemotright or such.
2021-01-18 01:10:07 +01:00
Kornel Benko
9bdd0b31db Fix #12069: Broken search
Do not count ignored characters as matching
2021-01-14 14:36:07 +01:00
Juergen Spitzmueller
22efd5a5ef Simple Search: find isChar() insets (#11462) 2021-01-13 08:19:54 +01:00
Juergen Spitzmueller
c049527941 Consider inset strings in simple find/replaceAll (#12049) 2021-01-12 16:45:32 +01:00
Juergen Spitzmueller
d87511308b Ignore tracked deletions in simple find (#11051) 2021-01-12 16:11:58 +01:00
Kornel Benko
6211469b5f FindAdv: A try to handle backslashes in text
Otherwise we are unable to distinguish text from latex commands.
For instance '\color{blue}' in text-part is normal text, while othervise
it defines following characters as being blue colored)
2021-01-06 02:20:15 +01:00
Kornel Benko
b3d4271e78 Adv-Find: Try to use some more unicode chars (instead of latex macros) 2020-12-15 18:08:02 +01:00
Richard Kimberly Heck
41216228c0 Change name in source files 2020-12-05 17:17:02 -05:00
Juergen Spitzmueller
7b6bb23b87 Move dummy bool a bit closer to context 2020-12-03 08:50:43 +01:00
Juergen Spitzmueller
098c16f153 Assure \par is output when needed with fontswitch 2020-12-02 14:32:05 +01:00
Juergen Spitzmueller
95fed10131 Exclude insets without output from fontswitch_insets 2020-12-02 14:31:26 +01:00