Couple of small fixes for conceal feature. (Dominique Pelle)
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index b1176a0..418b64c 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -3135,8 +3135,10 @@
conceal *conceal* *:syn-conceal*
When the "conceal" argument is given, the item is marked as concealable.
-Whether or not it is actually concealed depends on the setting on the
-'conceallevel' option.
+Whether or not it is actually concealed depends on the value of the
+'conceallevel' option. If 'modifiable' option is on, concealable items
+in the current line are always displayed unconcealed to be able to edit
+the line.
concealends *:syn-concealends*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 2405457..06be30b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1088,11 +1088,8 @@
- using NSIS 2.46: install on Windows 7 works, but no "Edit with Vim" menu.
Use register_shell_extension()? (George Reilly, 2010 May 26)
Ron's version: http://dev.ronware.org/p/vim/finfo?name=gvim.nsi
-- Patch for conceal feature and 'foldcolumn'. (Dominique Pelle, 2010 Jun 10,
- second patch)
- Also patch from Vince, 2010 Jun 15. And another June 16.
+- Patch for conceal from Vince, 2010 Jun 15. And another June 16.
However: more generic patch on the way.
-- patch for conceal feature and 'modifiable'. (Dominique Pelle, 2010 Jun 9)
- undofile: keep markers where the file was written/read, so that it's easy to
go back to a saved version of the file: ":earlier 1f" (f for file)?
Also add ":earlier 1d" (d for day).
diff --git a/src/option.c b/src/option.c
index face9fd..fdca36f 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7334,12 +7334,21 @@
#endif
}
-#ifdef FEAT_TITLE
- /* when 'modifiable' is changed, redraw the window title */
+#if defined(FEAT_TITLE) || defined(FEAT_CONCEAL)
+ /* when 'modifiable' is changed, redraw the window title and
+ * update current line for concealable items */
else if ((int *)varp == &curbuf->b_p_ma)
{
+# ifdef FEAT_TITLE
redraw_titles();
+# endif
+# ifdef FEAT_CONCEAL
+ if (curwin->w_p_conceal)
+ update_single_line(curwin, curwin->w_cursor.lnum);
+# endif
}
+#endif
+#ifdef FEAT_TITLE
/* when 'endofline' is changed, redraw the window title */
else if ((int *)varp == &curbuf->b_p_eol)
{
@@ -8443,7 +8452,7 @@
get_option_value(name, numval, stringval, opt_flags)
char_u *name;
long *numval;
- char_u **stringval; /* NULL when only checking existance */
+ char_u **stringval; /* NULL when only checking existence */
int opt_flags;
{
int opt_idx;
diff --git a/src/screen.c b/src/screen.c
index 1753330..f2108be 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -595,7 +595,7 @@
int j;
if (lnum >= wp->w_topline && lnum < wp->w_botline
- && foldedCount(wp, lnum, NULL) == 0)
+ && foldedCount(wp, lnum, &win_foldinfo) == 0)
{
# ifdef FEAT_GUI
/* Remove the cursor before starting to do anything, because scrolling