summaryrefslogtreecommitdiffstats
path: root/src/change.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-10-15 16:05:33 +0100
committerBram Moolenaar <Bram@vim.org>2022-10-15 16:05:33 +0100
commit49846fb1a31de99f49d6a7e70efe685197423c84 (patch)
tree98b3debbaafbd79b05fe941382086792c1aab8ba /src/change.c
parent297164cb7972beff35e375ccac4fbad8196ccbd7 (diff)
patch 9.0.0761: cannot use 'indentexpr' for Lisp indentingv9.0.0761
Problem: Cannot use 'indentexpr' for Lisp indenting. Solution: Add the 'lispoptions' option.
Diffstat (limited to 'src/change.c')
-rw-r--r--src/change.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/change.c b/src/change.c
index c409acdadd..f036a3767c 100644
--- a/src/change.c
+++ b/src/change.c
@@ -2269,20 +2269,23 @@ open_line(
else
vreplace_mode = 0;
- if (!p_paste
- && leader == NULL
- && curbuf->b_p_lisp
- && curbuf->b_p_ai)
+ if (!p_paste)
{
- // do lisp indenting
- fixthisline(get_lisp_indent);
- ai_col = (colnr_T)getwhitecols_curline();
- }
- else if (do_cindent)
- {
- // do 'cindent' or 'indentexpr' indenting
- do_c_expr_indent();
- ai_col = (colnr_T)getwhitecols_curline();
+ if (leader == NULL
+ && !use_indentexpr_for_lisp()
+ && curbuf->b_p_lisp
+ && curbuf->b_p_ai)
+ {
+ // do lisp indenting
+ fixthisline(get_lisp_indent);
+ ai_col = (colnr_T)getwhitecols_curline();
+ }
+ else if (do_cindent || (curbuf->b_p_ai && use_indentexpr_for_lisp()))
+ {
+ // do 'cindent' or 'indentexpr' indenting
+ do_c_expr_indent();
+ ai_col = (colnr_T)getwhitecols_curline();
+ }
}
if (vreplace_mode != 0)