Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
V
Vim
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Someone-Else
Vim
Commits
a5b6ad13
Commit
a5b6ad13
authored
19 years ago
by
Bram Moolenaar
Browse files
Options
Downloads
Patches
Plain Diff
updated for version 7.0221
parent
eb94e559
Loading
Loading
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/ex_cmds.c
+56
-50
56 additions, 50 deletions
src/ex_cmds.c
src/proto/edit.pro
+1
-1
1 addition, 1 deletion
src/proto/edit.pro
with
57 additions
and
51 deletions
src/ex_cmds.c
+
56
−
50
View file @
a5b6ad13
...
...
@@ -5175,8 +5175,9 @@ free_old_sub()
#if (defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)) || defined(PROTO)
/*
* Set up for a tagpreview.
* Return TRUE when it was created.
*/
void
int
prepare_tagpreview
()
{
win_T
*
wp
;
...
...
@@ -5202,7 +5203,7 @@ prepare_tagpreview()
*/
if
(
win_split
(
g_do_tagpreview
>
0
?
g_do_tagpreview
:
0
,
0
)
==
FAIL
)
return
;
return
FALSE
;
curwin
->
w_p_pvw
=
TRUE
;
curwin
->
w_p_wfh
=
TRUE
;
# ifdef FEAT_SCROLLBIND
...
...
@@ -5214,8 +5215,10 @@ prepare_tagpreview()
# ifdef FEAT_FOLDING
curwin
->
w_p_fdc
=
0
;
/* no 'foldcolumn' */
# endif
return
TRUE
;
}
}
return
FALSE
;
}
#endif
...
...
@@ -6837,11 +6840,11 @@ ex_drop(eap)
exarg_T
*
eap
;
{
int
split
=
FALSE
;
int
incurwin
=
FALSE
;
char_u
*
arg
;
char_u
*
first
=
NULL
;
win_T
*
wp
;
buf_T
*
buf
;
# ifdef FEAT_WINDOWS
tabpage_T
*
tp
;
# endif
/*
* Check if the first argument is already being edited in a window. If
...
...
@@ -6851,67 +6854,70 @@ ex_drop(eap)
* This also ignores wildcards, since it is very unlikely the user is
* editing a file name with a wildcard character.
*/
arg
=
vim_strsave
(
eap
->
arg
);
if
(
arg
!=
NULL
)
set_arglist
(
eap
->
arg
);
# ifdef FEAT_WINDOWS
if
(
cmdmod
.
tab
)
{
/* Get the first argument, remove quotes, make it a full path. */
first
=
fix_fname
(
arg
);
if
(
first
!=
NULL
)
/* ":tab drop file ...": open a tab for each argument that isn't
* edited in a window yet. It's like ":tab all" but without closing
* windows or tabs. */
ex_all
(
eap
);
}
else
# endif
{
/* ":drop file ...": Edit the first argument. Jump to an existing
* window if possible, edit in current window if the current buffer
* can be abandoned, otherwise open a new window. */
buf
=
buflist_findnr
(
ARGLIST
[
0
].
ae_fnum
);
FOR_ALL_TAB_WINDOWS
(
tp
,
wp
)
{
buf
=
buflist_findname
(
first
);
FOR_ALL_WINDOWS
(
wp
)
if
(
wp
->
w_buffer
==
buf
)
{
if
(
wp
->
w_buffer
==
buf
)
{
incurwin
=
TRUE
;
# ifdef FEAT_WINDOWS
win_enter
(
wp
,
TRUE
);
break
;
goto_tabpage_tp
(
tp
);
win_enter
(
wp
,
TRUE
);
# ifdef FEAT_GUI_TABLINE
if
(
gui_use_tabline
())
gui_mch_set_curtab
(
tabpage_index
(
curtab
));
# endif
# endif
}
}
vim_free
(
first
);
if
(
incurwin
)
{
/* Already editing the file. Redefine the argument list. */
set_arglist
(
eap
->
arg
);
curwin
->
w_arg_idx
=
0
;
vim_free
(
arg
);
return
;
}
}
vim_free
(
arg
);
}
/*
* Check whether the current buffer is changed. If so, we will need
* to split the current window or data could be lost.
* Skip the check if the 'hidden' option is set, as in this case the
* buffer won't be lost.
*/
if
(
!
P_HID
(
curbuf
))
{
/*
* Check whether the current buffer is changed. If so, we will need
* to split the current window or data could be lost.
* Skip the check if the 'hidden' option is set, as in this case the
* buffer won't be lost.
*/
if
(
!
P_HID
(
curbuf
))
{
# ifdef FEAT_WINDOWS
++
emsg_off
;
++
emsg_off
;
# endif
split
=
check_changed
(
curbuf
,
TRUE
,
FALSE
,
FALSE
,
FALSE
);
split
=
check_changed
(
curbuf
,
TRUE
,
FALSE
,
FALSE
,
FALSE
);
# ifdef FEAT_WINDOWS
--
emsg_off
;
--
emsg_off
;
# else
if
(
split
)
return
;
if
(
split
)
return
;
# endif
}
}
/* Fake a ":snext" or ":next" command, redefine the arglist. */
if
(
split
)
{
eap
->
cmdidx
=
CMD_snext
;
eap
->
cmd
[
0
]
=
's'
;
/* Fake a ":sfirst" or ":first" command edit the first argument. */
if
(
split
)
{
eap
->
cmdidx
=
CMD_sfirst
;
eap
->
cmd
[
0
]
=
's'
;
}
else
eap
->
cmdidx
=
CMD_first
;
ex_rewind
(
eap
);
}
else
eap
->
cmdidx
=
CMD_next
;
ex_next
(
eap
);
}
#endif
This diff is collapsed.
Click to expand it.
src/proto/edit.pro
+
1
−
1
View file @
a5b6ad13
...
...
@@ -8,7 +8,7 @@ void truncate_spaces __ARGS((char_u *line));
void
backspace_until_column
__ARGS
((
int
col
));
int
vim_is_ctrl_x_key
__ARGS
((
int
c
));
int
ins_compl_add_infercase
__ARGS
((
char_u
*
str
,
int
len
,
int
icase
,
char_u
*
fname
,
int
dir
,
int
flags
));
int
ins_compl_add
__ARGS
((
char_u
*
str
,
int
len
,
int
icase
,
char_u
*
fname
,
char_u
*
extra
,
int
cdir
,
int
flags
));
int
ins_compl_add
__ARGS
((
char_u
*
str
,
int
len
,
int
icase
,
char_u
*
fname
,
char_u
*
kind
,
char_u
*
extra
,
char_u
*
info
,
int
cdir
,
int
flags
));
void
set_completion
__ARGS
((
int
startcol
,
list_T
*
list
));
void
ins_compl_show_pum
__ARGS
((
void
));
char_u
*
find_word_start
__ARGS
((
char_u
*
ptr
));
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment