From d4c21b42dd09875720ed90d8dcabcc486a4a38a4 Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Mon, 26 May 2014 21:29:33 +0200 Subject: [PATCH] Allow inserting a blank line also after a nested environment. --- src/Text3.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Text3.cpp b/src/Text3.cpp index 707a4e204d..b78ba15ce9 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -1071,15 +1071,20 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) cap::replaceSelection(cur); pit_type pit = cur.pit(); Paragraph const & par = pars_[pit]; - pit_type prev = - pit > 0 && pars_[pit - 1].getDepth() >= par.getDepth() ? - depthHook(pit, par.getDepth()) : pit; + pit_type prev = pit; + if (pit > 0) { + if (!pars_[pit - 1].layout().isEnvironment()) + prev = depthHook(pit, par.getDepth()); + else if (pars_[pit - 1].getDepth() >= par.getDepth()) + prev = pit - 1; + } if (prev < pit && cur.pos() == par.beginOfBody() && !par.isEnvSeparator(cur.pos()) && !par.layout().isCommand() && pars_[prev].layout() != par.layout() && pars_[prev].layout().isEnvironment()) { - if (par.layout().isEnvironment()) { + if (par.layout().isEnvironment() + && pars_[prev].getDepth() == par.getDepth()) { docstring const layout = par.layout().name(); DocumentClass const & tc = bv->buffer().params().documentClass(); lyx::dispatch(FuncRequest(LFUN_LAYOUT, tc.plainLayout().name())); -- 2.39.2