aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/change.c89
-rw-r--r--src/nvim/misc1.c49
2 files changed, 35 insertions, 103 deletions
diff --git a/src/nvim/change.c b/src/nvim/change.c
index 3604c96944..18fd14f1b2 100644
--- a/src/nvim/change.c
+++ b/src/nvim/change.c
@@ -60,64 +60,45 @@ void change_warning(int col)
*
* Careful: may trigger autocommands that reload the buffer.
*/
- void
-changed(void)
+void changed(void)
{
-#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
- if (p_imst == IM_ON_THE_SPOT)
- {
- // The text of the preediting area is inserted, but this doesn't
- // mean a change of the buffer yet. That is delayed until the
- // text is committed. (this means preedit becomes empty)
- if (im_is_preediting() && !xim_changed_while_preediting)
- return;
- xim_changed_while_preediting = FALSE;
- }
-#endif
-
- if (!curbuf->b_changed)
- {
- int save_msg_scroll = msg_scroll;
-
- // Give a warning about changing a read-only file. This may also
- // check-out the file, thus change "curbuf"!
- change_warning(0);
-
- // Create a swap file if that is wanted.
- // Don't do this for "nofile" and "nowrite" buffer types.
- if (curbuf->b_may_swap
-#ifdef FEAT_QUICKFIX
- && !bt_dontwrite(curbuf)
-#endif
- )
- {
- int save_need_wait_return = need_wait_return;
-
- need_wait_return = FALSE;
- ml_open_file(curbuf);
- // The ml_open_file() can cause an ATTENTION message.
- // Wait two seconds, to make sure the user reads this unexpected
- // message. Since we could be anywhere, call wait_return() now,
- // and don't let the emsg() set msg_scroll.
- if (need_wait_return && emsg_silent == 0)
- {
- out_flush();
- ui_delay(2000L, TRUE);
- wait_return(TRUE);
- msg_scroll = save_msg_scroll;
- }
- else
- need_wait_return = save_need_wait_return;
- }
- changed_internal();
+ if (!curbuf->b_changed) {
+ int save_msg_scroll = msg_scroll;
+
+ // Give a warning about changing a read-only file. This may also
+ // check-out the file, thus change "curbuf"!
+ change_warning(0);
+
+ // Create a swap file if that is wanted.
+ // Don't do this for "nofile" and "nowrite" buffer types.
+ if (curbuf->b_may_swap
+ && !bt_dontwrite(curbuf)
+ ) {
+ int save_need_wait_return = need_wait_return;
+
+ need_wait_return = false;
+ ml_open_file(curbuf);
+
+ // The ml_open_file() can cause an ATTENTION message.
+ // Wait two seconds, to make sure the user reads this unexpected
+ // message. Since we could be anywhere, call wait_return() now,
+ // and don't let the emsg() set msg_scroll.
+ if (need_wait_return && emsg_silent == 0) {
+ ui_flush();
+ os_delay(2000L, true);
+ wait_return(TRUE);
+ msg_scroll = save_msg_scroll;
+ } else {
+ need_wait_return = save_need_wait_return;
+ }
}
- ++CHANGEDTICK(curbuf);
+ changed_int();
+ }
+ buf_inc_changedtick(curbuf);
-#ifdef FEAT_SEARCH_EXTRA
- // If a pattern is highlighted, the position may now be invalid.
- highlight_match = FALSE;
-#endif
+ // If a pattern is highlighted, the position may now be invalid.
+ highlight_match = false;
}
/*
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index 6589ef67de..386c8ae39d 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -1786,55 +1786,6 @@ int gchar_pos(pos_T *pos)
}
/*
- * Call this function when something in the current buffer is changed.
- *
- * Most often called through changed_bytes() and changed_lines(), which also
- * mark the area of the display to be redrawn.
- *
- * Careful: may trigger autocommands that reload the buffer.
- */
-void changed(void)
-{
-
- if (!curbuf->b_changed) {
- int save_msg_scroll = msg_scroll;
-
- /* Give a warning about changing a read-only file. This may also
- * check-out the file, thus change "curbuf"! */
- change_warning(0);
-
- /* Create a swap file if that is wanted.
- * Don't do this for "nofile" and "nowrite" buffer types. */
- if (curbuf->b_may_swap
- && !bt_dontwrite(curbuf)
- ) {
- int save_need_wait_return = need_wait_return;
-
- need_wait_return = false;
- ml_open_file(curbuf);
-
- /* The ml_open_file() can cause an ATTENTION message.
- * Wait two seconds, to make sure the user reads this unexpected
- * message. Since we could be anywhere, call wait_return() now,
- * and don't let the emsg() set msg_scroll. */
- if (need_wait_return && emsg_silent == 0) {
- ui_flush();
- os_delay(2000L, true);
- wait_return(TRUE);
- msg_scroll = save_msg_scroll;
- } else {
- need_wait_return = save_need_wait_return;
- }
- }
- changed_int();
- }
- buf_inc_changedtick(curbuf);
-
- // If a pattern is highlighted, the position may now be invalid.
- highlight_match = false;
-}
-
-/*
* Internal part of changed(), no user interaction.
*/
void changed_int(void)