diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-03-16 21:35:52 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-03-16 21:35:52 +0000 |
commit | d3667a2e2971a879194084f4b61b8ff7ff9765a2 (patch) | |
tree | b4dcab4066674ba9bfa268bff3ee9b2be20aa320 /src | |
parent | cf03447964a76bd37b14d208fc524f40a84f6e64 (diff) | |
download | vim-git-d3667a2e2971a879194084f4b61b8ff7ff9765a2.tar.gz |
updated for version 7.0226
Diffstat (limited to 'src')
-rw-r--r-- | src/buffer.c | 28 | ||||
-rw-r--r-- | src/ex_docmd.c | 7 | ||||
-rw-r--r-- | src/gui.c | 4 | ||||
-rw-r--r-- | src/normal.c | 3 | ||||
-rw-r--r-- | src/proto/undo.pro | 3 |
5 files changed, 35 insertions, 10 deletions
diff --git a/src/buffer.c b/src/buffer.c index 44aac3453..7e848f6ff 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -3017,15 +3017,23 @@ maketitle() if (*p_titlestring != NUL) { #ifdef FEAT_STL_OPT - int use_sandbox = FALSE; + if (stl_syntax & STL_IN_TITLE) + { + int use_sandbox = FALSE; + int save_called_emsg = called_emsg; # ifdef FEAT_EVAL - use_sandbox = was_set_insecurely((char_u *)"titlestring", 0); + use_sandbox = was_set_insecurely((char_u *)"titlestring", 0); # endif - if (stl_syntax & STL_IN_TITLE) + called_emsg = FALSE; build_stl_str_hl(curwin, t_str, sizeof(buf), p_titlestring, use_sandbox, 0, maxlen, NULL, NULL); + if (called_emsg) + set_string_option_direct((char_u *)"titlestring", -1, + (char_u *)"", OPT_FREE, SID_ERROR); + called_emsg |= save_called_emsg; + } else #endif t_str = p_titlestring; @@ -3114,15 +3122,23 @@ maketitle() if (*p_iconstring != NUL) { #ifdef FEAT_STL_OPT - int use_sandbox = FALSE; + if (stl_syntax & STL_IN_ICON) + { + int use_sandbox = FALSE; + int save_called_emsg = called_emsg; # ifdef FEAT_EVAL - use_sandbox = was_set_insecurely((char_u *)"iconstring", 0); + use_sandbox = was_set_insecurely((char_u *)"iconstring", 0); # endif - if (stl_syntax & STL_IN_ICON) + called_emsg = FALSE; build_stl_str_hl(curwin, i_str, sizeof(buf), p_iconstring, use_sandbox, 0, 0, NULL, NULL); + if (called_emsg) + set_string_option_direct((char_u *)"iconstring", -1, + (char_u *)"", OPT_FREE, SID_ERROR); + called_emsg |= save_called_emsg; + } else #endif i_str = p_iconstring; diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 3ba0d37ef..cfb55df7e 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -8196,7 +8196,10 @@ ex_bang(eap) ex_undo(eap) exarg_T *eap; { - u_undo(1); + if (eap->addr_count == 1) /* :undo 123 */ + undo_time(eap->line2, FALSE, TRUE); + else + u_undo(1); } /* @@ -8238,7 +8241,7 @@ ex_later(eap) if (*p != NUL) EMSG2(_(e_invarg2), eap->arg); else - undo_time(eap->cmdidx == CMD_earlier ? -count : count, sec); + undo_time(eap->cmdidx == CMD_earlier ? -count : count, sec, FALSE); } /* @@ -4394,6 +4394,10 @@ gui_mouse_moved(x, y) win_T *wp; char_u st[6]; + /* Ignore this while still starting up. */ + if (!gui.in_use || gui.starting) + return; + #ifdef FEAT_MOUSESHAPE /* Get window pointer, and update mouse shape as well. */ wp = xy2win(x, y); diff --git a/src/normal.c b/src/normal.c index cf82d681b..aae515ca5 100644 --- a/src/normal.c +++ b/src/normal.c @@ -8009,7 +8009,8 @@ nv_g_cmd(cap) case '+': case '-': /* "g+" and "g-": undo or redo along the timeline */ if (!checkclearopq(oap)) - undo_time(cap->nchar == '-' ? -cap->count1 : cap->count1, FALSE); + undo_time(cap->nchar == '-' ? -cap->count1 : cap->count1, + FALSE, FALSE); break; default: diff --git a/src/proto/undo.pro b/src/proto/undo.pro index 01ef5183d..58c6db854 100644 --- a/src/proto/undo.pro +++ b/src/proto/undo.pro @@ -6,8 +6,9 @@ int u_inssub __ARGS((linenr_T lnum)); int u_savedel __ARGS((linenr_T lnum, long nlines)); void u_undo __ARGS((int count)); void u_redo __ARGS((int count)); -void undo_time __ARGS((long step, int sec)); +void undo_time __ARGS((long step, int sec, int absolute)); void u_sync __ARGS((void)); +void ex_undolist __ARGS((exarg_T *eap)); void ex_undojoin __ARGS((exarg_T *eap)); void u_unchanged __ARGS((buf_T *buf)); void u_clearall __ARGS((buf_T *buf)); |