Permalink
Browse files

updated for version 7.0177

  • Loading branch information...
1 parent 790e734 commit 960b19591503187063104dd83ba0bab5f1e45da9 vimboss committed Dec 28, 2005
View
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
+*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Dec 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -153,7 +153,8 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
*c_CTRL-R_=*
'=' the expression register: you are prompted to
enter an expression (see |expression|)
- (doesn't work at the expression prompt)
+ (doesn't work at the expression prompt; uses
+ the |sandbox| to avoid side effects)
See |registers| about registers. {not in Vi}
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
View
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0aa. Last change: 2005 Dec 19
+*eval.txt* For Vim version 7.0aa. Last change: 2005 Dec 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6804,7 +6804,7 @@ The 'foldexpr', 'includeexpr', 'indentexpr', 'statusline' and 'foldtext'
options are evaluated in a sandbox. This means that you are protected from
these expressions having nasty side effects. This gives some safety for when
these options are set from a modeline. It is also used when the command from
-a tags file is executed.
+a tags file is executed and for CTRL-R = in the command line.
The sandbox is also used for the |:sandbox| command.
These items are not allowed in the sandbox:
View
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.0aa. Last change: 2005 Dec 18
+*insert.txt* For Vim version 7.0aa. Last change: 2005 Dec 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -953,7 +953,7 @@ CTRL-P Find previous match for words that start with the
INSERT COMPLETION POPUP MENU *ins-completion-menu*
-
+ *popupmenu-completion*
Vim can display the matches in a simplistic popup menu.
The menu is used when:
View
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
+*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,6 +30,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
+Win32: test52 fails.
+
ccomplete:
- When an option is set: In completion mode and the user types (identifier)
characters, advance to the first match instead of removing the popup menu.
@@ -1860,8 +1862,6 @@ Robustness:
Performance:
7 For strings up to 3 bytes don't allocate memory, use v_list itself as a
character array. Use VAR_SSTRING (short string).
-8 Loading plugins takes startup time. Only load the part that is used to
- trigger the rest, and load the rest when it's needed?
8 Turn b_syn_ic and b_syn_containedin into b_syn_flags.
9 Loading menu.vim still takes quite a bit of time. How to make it faster?
8 in_id_list() takes much time for syntax highlighting. Cache the result?
@@ -2243,6 +2243,7 @@ Autocommands:
8 Use another option than 'updatetime' for the CursorHold event. The two
things are unrelated for the user (but the implementation is more
difficult).
+8 Add an event like CursorHold that is triggered repeatedly, not just once.
8 Also trigger CursorHold in Insert mode?
7 Add autocommand event for when a buffer cannot be abandoned. So that user
can define the action taking (autowrite, dialog, fail) based on the kind
@@ -2312,8 +2313,7 @@ Autocommands:
that marks can be updated. HierAssist has patch to add
BufChangePre, BufChangePost and RevertBuf. (Shah)
WinResized - When a window has been resized
-- Add autocommand to be executed every so many seconds? For writing the
- file now and then ('autosave').
+- Write the file now and then ('autosave'):
*'autosave'* *'as'* *'noautosave'* *'noas'*
'autosave' 'aw' number (default 0)
Automatically write the current buffer to file N seconds after the
@@ -3356,6 +3356,7 @@ Various improvements:
8 Add "g^E" and "g^Y", to scroll a screen-full line up and down.
6 Add ":timer" command, to set a command to be executed at a certain
interval, or once after some time has elapsed. (Aaron)
+ Perhaps an autocommand event like CursorHold is better?
8 Add ":confirm" handling in open_exfile(), for when file already exists.
8 When quitting with changed files, make the dialog list the changed file
and allow "write all", "discard all", "write some". The last one would
View
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0aa. Last change: 2005 Dec 23
+*version7.txt* For Vim version 7.0aa. Last change: 2005 Dec 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1517,4 +1517,20 @@ writing file "a" to create "b" and then ":split b" resulted in two buffers on
the same file with two different swapfile names. Now set the inode in the
buffer when creating a new file.
+When 'esckeys' is not set don't send the xterm code to request the version
+string, because it may cause trouble in Insert mode.
+
+When evaluating an expression for CTRL-R = on the command line it was possible
+to open a new window, resulting in errors for incremental search, and many
+other nasty things were possible. Now evaluate the expression in the sandbox
+to protect from unexpected behavior.
+
+"d(" deleted the character under the cursor, while the documentation specified
+an exclusive motion. Vi also doesn't delete the character under the cursor.
+
+Shift-Insert in Insert mode could put the cursor before the last character
+when it just fits in the window. In coladvance() don't stop at the window
+edge when filling with spaces and when in Insert mode. In mswin.vim avoid
+getting a beep from the "l" command.
+
vim:tw=78:ts=8:ft=help:norl:
View
@@ -1,7 +1,7 @@
" Set options and add mapping such that Vim behaves a lot like MS-Windows
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last change: 2004 Jul 27
+" Last change: 2005 Dec 28
" bail out if this isn't wanted (mrsvim.vim uses this).
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
@@ -54,7 +54,13 @@ if has("virtualedit")
let c = col(".")
normal i
if col(".") < c " compensate for i<ESC> moving the cursor left
+ " Avoid a beep when the text ends at the window edge.
+ let vb_save = &vb
+ let t_vb_save = &t_vb
+ set vb t_vb=
normal l
+ let &vb = vb_save
+ let &t_vb = t_vb_save
endif
let &ve = ove
endfunc
View
@@ -2657,7 +2657,7 @@ ins_compl_prep(c)
}
for (temp = 0; p[temp]; ++temp)
AppendCharToRedobuff(K_BS);
- AppendToRedobuffLit(ptr);
+ AppendToRedobuffLit(ptr, -1);
}
#ifdef FEAT_CINDENT
@@ -4240,7 +4240,7 @@ insert_special(c, allow_modmask, ctrlv)
return;
p[len - 1] = NUL;
ins_str(p);
- AppendToRedobuffLit(p);
+ AppendToRedobuffLit(p, -1);
ctrlv = FALSE;
}
}
@@ -4756,7 +4756,7 @@ insertchar(c, flags, second_indent)
else
i = 0;
if (buf[i] != NUL)
- AppendToRedobuffLit(buf + i);
+ AppendToRedobuffLit(buf + i, -1);
}
else
{
View
@@ -921,7 +921,7 @@ do_bang(addr_count, eap, forceit, do_in, do_out)
if (bangredo) /* put cmd in redo buffer for ! command */
{
- AppendToRedobuffLit(prevcmd);
+ AppendToRedobuffLit(prevcmd, -1);
AppendToRedobuff((char_u *)"\n");
bangredo = FALSE;
}
View
@@ -2826,11 +2826,7 @@ find_ucmd(eap, p, full, xp, compl)
if (k == len && found && *np != NUL)
{
if (gap == &ucmds)
- {
- if (xp != NULL)
- xp->xp_context = EXPAND_UNSUCCESSFUL;
return NULL;
- }
amb_local = TRUE;
}
@@ -3091,6 +3087,8 @@ set_one_cmd_context(xp, buff)
NULL
# endif
);
+ if (p == NULL)
+ ea.cmdidx = CMD_SIZE; /* ambiguous user command */
}
#endif
}
View
@@ -2765,9 +2765,17 @@ cmdline_paste(regname, literally)
regname = may_get_selection(regname);
#endif
- /* Need to save and restore ccline. */
+ /* Need to save and restore ccline. And go into the sandbox to avoid
+ * nasty things like going to another buffer when evaluating an
+ * expression. */
save_cmdline(&save_ccline);
+#ifdef HAVE_SANDBOX
+ ++sandbox;
+#endif
i = get_spec_reg(regname, &arg, &allocated, TRUE);
+#ifdef HAVE_SANDBOX
+ --sandbox;
+#endif
restore_cmdline(&save_ccline);
if (i)
View
@@ -529,16 +529,18 @@ AppendToRedobuff(s)
* K_SPECIAL and CSI are escaped as well.
*/
void
-AppendToRedobuffLit(s)
- char_u *s;
+AppendToRedobuffLit(str, len)
+ char_u *str;
+ int len; /* length of "str" or -1 for up to the NUL */
{
+ char_u *s = str;
int c;
char_u *start;
if (block_redo)
return;
- while (*s != NUL)
+ while (len < 0 ? *s != NUL : s - str < len)
{
/* Put a string of normal characters in the redo buffer (that's
* faster). */
@@ -547,7 +549,7 @@ AppendToRedobuffLit(s)
#ifndef EBCDIC
&& *s < DEL /* EBCDIC: all chars above space are normal */
#endif
- )
+ && (len < 0 || s - str < len))
++s;
/* Don't put '0' or '^' as last character, just in case a CTRL-D is
@@ -557,29 +559,29 @@ AppendToRedobuffLit(s)
if (s > start)
add_buff(&redobuff, start, (long)(s - start));
- if (*s != NUL)
- {
- /* Handle a special or multibyte character. */
+ if (*s == NUL || (len >= 0 && s - str >= len))
+ break;
+
+ /* Handle a special or multibyte character. */
#ifdef FEAT_MBYTE
- if (has_mbyte)
- /* Handle composing chars separately. */
- c = mb_cptr2char_adv(&s);
- else
+ if (has_mbyte)
+ /* Handle composing chars separately. */
+ c = mb_cptr2char_adv(&s);
+ else
#endif
- c = *s++;
- if (c < ' ' || c == DEL || (*s == NUL && (c == '0' || c == '^')))
- add_char_buff(&redobuff, Ctrl_V);
+ c = *s++;
+ if (c < ' ' || c == DEL || (*s == NUL && (c == '0' || c == '^')))
+ add_char_buff(&redobuff, Ctrl_V);
- /* CTRL-V '0' must be inserted as CTRL-V 048 (EBCDIC: xf0) */
- if (*s == NUL && c == '0')
+ /* CTRL-V '0' must be inserted as CTRL-V 048 (EBCDIC: xf0) */
+ if (*s == NUL && c == '0')
#ifdef EBCDIC
- add_buff(&redobuff, (char_u *)"xf0", 3L);
+ add_buff(&redobuff, (char_u *)"xf0", 3L);
#else
- add_buff(&redobuff, (char_u *)"048", 3L);
+ add_buff(&redobuff, (char_u *)"048", 3L);
#endif
- else
- add_char_buff(&redobuff, c);
- }
+ else
+ add_char_buff(&redobuff, c);
}
}
View
@@ -247,6 +247,7 @@ enum key_extra
, KE_DROP /* DnD data is available */
, KE_CURSORHOLD /* CursorHold event */
+ , KE_NOP /* doesn't do something */
};
/*
@@ -422,6 +423,7 @@ enum key_extra
#define K_X2RELEASE TERMCAP2KEY(KS_EXTRA, KE_X2RELEASE)
#define K_IGNORE TERMCAP2KEY(KS_EXTRA, KE_IGNORE)
+#define K_NOP TERMCAP2KEY(KS_EXTRA, KE_NOP)
#define K_SNIFF TERMCAP2KEY(KS_EXTRA, KE_SNIFF)
View
@@ -871,7 +871,7 @@ main
/* If ":startinsert" command used, stuff a dummy command to be able to
* call normal_cmd(), which will then start Insert mode. */
if (restart_edit != 0)
- stuffcharReadbuff(K_IGNORE);
+ stuffcharReadbuff(K_NOP);
#ifdef FEAT_NETBEANS_INTG
if (usingNetbeans)
View
@@ -177,7 +177,7 @@ coladvance2(pos, addspaces, finetune, wcol)
#ifdef FEAT_VIRTUALEDIT
int width = W_WIDTH(curwin) - win_col_off(curwin);
- if ((addspaces || finetune)
+ if (finetune
&& curwin->w_p_wrap
# ifdef FEAT_VERTSPLIT
&& curwin->w_width != 0
@@ -188,10 +188,13 @@ coladvance2(pos, addspaces, finetune, wcol)
if (csize > 0)
csize--;
- if (wcol / width > (colnr_T)csize / width)
+ if (wcol / width > (colnr_T)csize / width
+ && ((State & INSERT) == 0 || (int)wcol > csize + 1))
{
/* In case of line wrapping don't move the cursor beyond the
- * right screen edge. */
+ * right screen edge. In Insert mode allow going just beyond
+ * the last character (like what happens when typing and
+ * reaching the right window edge). */
wcol = (csize / width + 1) * width - 1;
}
}
@@ -501,7 +504,7 @@ check_cursor_col()
{
/* Allow cursor past end-of-line in Insert mode, restarting Insert
* mode or when in Visual mode and 'selection' isn't "old" */
- if (State & INSERT || restart_edit
+ if ((State & INSERT) || restart_edit
#ifdef FEAT_VISUAL
|| (VIsual_active && *p_sel != 'o')
#endif
Oops, something went wrong.

0 comments on commit 960b195

Please sign in to comment.