Never hide text for conceal in cursor line. Do hide when there is
highlighting.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index cbf0994..acfbf60 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1724,10 +1724,10 @@
2 Concealed text is completely hidden unless it has a
custom replacement character defined (see
|:syn-cchar|.
- 3 Concealed text is completely hidden. Note: when
- moving the cursor after concealed items the position
- will be wrong.
+ 3 Concealed text is completely hidden.
+ Note: in the cursor line concealed text is not hidden, so that you can
+ edit and copy the text.
*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf' boolean (default off)
diff --git a/src/screen.c b/src/screen.c
index 7d6985a..de405e1 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4377,12 +4377,9 @@
}
#ifdef FEAT_CONCEAL
- if ( wp->w_p_conc > 0
- && !area_highlighting
- && (lnum != wp->w_cursor.lnum
- || curwin != wp || wp->w_buffer->b_p_ma == FALSE)
- && (syntax_flags & HL_CONCEAL) != 0)
-
+ if ( wp->w_p_conc > 0
+ && (lnum != wp->w_cursor.lnum || curwin != wp)
+ && (syntax_flags & HL_CONCEAL) != 0)
{
char_attr = conceal_attr;
if (first_conceal