updated for version 7.0061
diff --git a/src/Makefile b/src/Makefile
index 9f3c4fc..a15398a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1278,9 +1278,15 @@
DEST_SCRIPT = $(DESTDIR)$(SCRIPTLOC)
DEST_PRINT = $(DESTDIR)$(PRINTSUBLOC)
DEST_MAN_TOP = $(DESTDIR)$(MANDIR)
+
+# We assume that the ".../man/xx/man1/" directory is for latin1 manual pages.
+# Some systems use UTF-8, but these should find the ".../man/xx.UTF-8/man1/"
+# directory first.
DEST_MAN = $(DEST_MAN_TOP)$(MAN1DIR)
DEST_MAN_IT = $(DEST_MAN_TOP)/it$(MAN1DIR)
-DEST_MAN_RU = $(DEST_MAN_TOP)/ru$(MAN1DIR)
+DEST_MAN_IT_U = $(DEST_MAN_TOP)/it.UTF-8$(MAN1DIR)
+DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
+DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
# BASIC_SRC: files that are always used
# GUI_SRC: extra GUI files for current configuration
@@ -1798,7 +1804,9 @@
chmod $(BINMOD) $(DEST_BIN)/xxd$(EXEEXT)
-$(SHELL) ./installman.sh xxd $(DEST_MAN) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
# install the runtime tools
$(INSTALL_DATA_R) $(TOOLSSOURCE)/* $(DEST_TOOLS)
# When using CVS some CVS directories might have been copied.
@@ -1817,11 +1825,17 @@
# install the language specific files, if they were unpacked
install-languages: languages $(DEST_LANG) $(DEST_KMAP)
-$(SHELL) ./installman.sh install $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh install $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_IT) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_IT_U) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_RU_U) $(INSTALLMLARGS)
if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) LOCALEDIR=$(DEST_LANG) \
INSTALL_DATA=$(INSTALL_DATA) FILEMOD=$(FILEMOD) install; \
@@ -1967,15 +1981,23 @@
# Note: the "rmdir" will fail if any files were added after "make install"
uninstall_runtime:
-$(SHELL) ./installman.sh uninstall $(DEST_MAN) "" $(INSTALLMANARGS)
- -$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT) "-it" $(INSTALLMANARGS)
- -$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT) "" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT_U) "" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
+ -$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_IT) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_IT_U) $(INSTALLMLARGS)
+ -$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU) $(INSTALLMLARGS)
- -rm -f $(DEST_MAN)/xxd.1 $(DEST_MAN_IT)/xxd.1 $(DEST_MAN_RU)/xxd.1
+ -$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+ $(DEST_MAN_RU_U) $(INSTALLMLARGS)
+ -rm -f $(DEST_MAN)/xxd.1
+ -rm -f $(DEST_MAN_IT)/xxd.1 $(DEST_MAN_IT_U)/xxd.1
+ -rm -f $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1
-rm -f $(DEST_HELP)/*.txt $(DEST_HELP)/tags $(DEST_HELP)/*.pl
-rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-??
-rm -f $(SYS_MENU_FILE) $(SYS_SYNMENU_FILE) $(SYS_DELMENU_FILE)
@@ -2423,6 +2445,9 @@
gui_bundle: $(APPDIR) bundle-dir bundle-executable bundle-info bundle-resource \
bundle-language
+$(APPDIR):
+ mkdir -p $@
+
bundle-dir: $(APPDIR)/Contents $(VIMTARGET)
-@srcdir=`pwd`; cd $(HELPSOURCE); $(MAKE) VIMEXE=$$srcdir/$(VIMTARGET) vimtags
cp -R ../runtime $(APPDIR)
diff --git a/src/fileio.c b/src/fileio.c
index 4e5104a..a5e888a 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3701,7 +3701,7 @@
while ((fd = mch_open((char *)wfname, O_WRONLY | O_EXTRA | (append
? (forceit ? (O_APPEND | O_CREAT) : O_APPEND)
: (O_CREAT | O_TRUNC))
- , perm & 0777)) < 0)
+ , perm < 0 ? 0666 : (perm & 0777))) < 0)
{
/*
* A forced write will try to create a new file if the old one is
@@ -4269,7 +4269,7 @@
if (org == NULL
|| (empty_fd = mch_open(org, O_CREAT | O_EXTRA | O_EXCL,
- perm & 0777)) < 0)
+ perm < 0 ? 0666 : (perm & 0777))) < 0)
EMSG(_("E206: patchmode: can't touch empty original file"));
else
close(empty_fd);
diff --git a/src/globals.h b/src/globals.h
index 69a3bc4..48738d0 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1073,9 +1073,11 @@
#ifdef FEAT_BEVAL
EXTERN BalloonEval *balloonEval INIT(= NULL);
+# if defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)
EXTERN int bevalServers INIT(= 0);
-# define BEVAL_NETBEANS 0x01
-# define BEVAL_WORKSHOP 0x02
+# define BEVAL_NETBEANS 0x01
+# define BEVAL_WORKSHOP 0x02
+# endif
#endif
#ifdef CURSOR_SHAPE
diff --git a/src/gui.c b/src/gui.c
index 68f9777..82124d0 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -553,11 +553,11 @@
balloonEval = gui_mch_create_beval_area(gui.drawarea, NULL,
&general_beval_cb, NULL);
# else
-# ifdef FEAT_GUI_MOTIF
+# if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
{
extern Widget textArea;
balloonEval = gui_mch_create_beval_area(textArea, NULL,
- &general_beval_cb, NULL);
+ &general_beval_cb, NULL);
}
# else
# ifdef FEAT_GUI_W32
diff --git a/src/gui_motif.c b/src/gui_motif.c
index a1da3d0..408b588 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -1372,7 +1372,7 @@
parent = XtParent(menu->id);
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)
- if ((parent == toolBar) && (menu->tip != NULL))
+ if (parent == toolBar && menu->tip != NULL)
{
/* We try to destroy this before the actual menu, because there are
* callbacks, etc. that will be unregistered during the tooltip
diff --git a/src/message.c b/src/message.c
index 9b0045d..a813b6b 100644
--- a/src/message.c
+++ b/src/message.c
@@ -920,7 +920,7 @@
* CTRL-C, but we need to loop then. */
had_got_int = got_int;
c = safe_vgetc();
- if (!global_busy)
+ if (had_got_int && !global_busy)
got_int = FALSE;
#ifdef FEAT_CLIPBOARD
/* Strange way to allow copying (yanking) a modeless selection at
diff --git a/src/normal.c b/src/normal.c
index d367318..458b815 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -2098,7 +2098,7 @@
stuffReadbuff((char_u *)"fmt");
else
stuffReadbuff(p_fp);
- stuffReadbuff((char_u *)"\n");
+ stuffReadbuff((char_u *)"\n']");
}
/*
diff --git a/src/ops.c b/src/ops.c
index 31c23bf..9a257ee 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -648,6 +648,13 @@
linenr_T last_changed = 0;
linenr_T start_lnum = curwin->w_cursor.lnum;
+ /* Don't even try when 'modifiable' is off. */
+ if (!curbuf->b_p_ma)
+ {
+ EMSG(_(e_modifiable));
+ return;
+ }
+
for (i = oap->line_count; --i >= 0 && !got_int; )
{
/* it's a slow thing to do, so give feedback so there's no worry that
diff --git a/src/os_unix.c b/src/os_unix.c
index c23d88b..284a68e 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -330,9 +330,6 @@
int tb_change_cnt;
{
int len;
-#ifdef FEAT_AUTOCMD
- static int once_already = 0;
-#endif
/* Check if window changed size while we were busy, perhaps the ":set
* columns=99" command was used. */
@@ -344,46 +341,33 @@
while (WaitForChar(wtime) == 0) /* no character available */
{
if (!do_resize) /* return if not interrupted by resize */
- {
-#ifdef FEAT_AUTOCMD
- once_already = 0;
-#endif
return 0;
- }
handle_resize();
}
}
else /* wtime == -1 */
{
-#ifdef FEAT_AUTOCMD
- if (once_already == 2)
- updatescript(0);
- else if (once_already == 1)
- {
- setcursor();
- once_already = 2;
- return 0;
- }
- else
-#endif
/*
* If there is no character available within 'updatetime' seconds
- * flush all the swap files to disk
+ * flush all the swap files to disk.
* Also done when interrupted by SIGWINCH.
*/
if (WaitForChar(p_ut) == 0)
{
#ifdef FEAT_AUTOCMD
- if (has_cursorhold() && get_real_state() == NORMAL_BUSY)
+ if (!did_cursorhold
+ && has_cursorhold()
+ && get_real_state() == NORMAL_BUSY
+ && maxlen >= 3
+ && !typebuf_changed(tb_change_cnt))
{
- apply_autocmds(EVENT_CURSORHOLD, NULL, NULL, FALSE, curbuf);
- update_screen(VALID);
- once_already = 1;
- return 0;
+ buf[0] = K_SPECIAL;
+ buf[1] = KS_EXTRA;
+ buf[2] = (int)KE_CURSORHOLD;
+ return 3;
}
- else
#endif
- updatescript(0);
+ updatescript(0);
}
}
@@ -419,9 +403,6 @@
if (buf[i] == 0)
buf[i] = K_NUL;
#endif
-#ifdef FEAT_AUTOCMD
- once_already = 0;
-#endif
return len;
}
}
diff --git a/src/screen.c b/src/screen.c
index 4e7dcbe..933326f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2023,6 +2023,7 @@
int col;
int txtcol;
int off = (int)(current_ScreenLine - ScreenLines);
+ int ri;
/* Build the fold line:
* 1. Add the cmdwin_type for the command-line window
@@ -2078,13 +2079,19 @@
}
#ifdef FEAT_RIGHTLEFT
-# define RL_MEMSET(p, v, l) vim_memset(ScreenAttrs + off + (wp->w_p_rl ? (W_WIDTH(wp) - (p) - (l)) : (p)), v, l)
+# define RL_MEMSET(p, v, l) if (wp->w_p_rl) \
+ for (ri = 0; ri < l; ++ri) \
+ ScreenAttrs[off + (W_WIDTH(wp) - (p) - (l)) + ri] = v; \
+ else \
+ for (ri = 0; ri < l; ++ri) \
+ ScreenAttrs[off + (p) + ri] = v
#else
-# define RL_MEMSET(p, v, l) vim_memset(ScreenAttrs + off + p, v, l)
+# define RL_MEMSET(p, v, l) for (ri = 0; ri < l; ++ri) \
+ ScreenAttrs[off + (p) + ri] = v
#endif
/* Set all attributes of the 'number' column and the text */
- RL_MEMSET(col, hl_attr(HLF_FL), (size_t)(W_WIDTH(wp) - col));
+ RL_MEMSET(col, hl_attr(HLF_FL), W_WIDTH(wp) - col);
#ifdef FEAT_SIGNS
/* If signs are being displayed, add two spaces. */
@@ -2330,13 +2337,14 @@
else
len = W_WIDTH(wp) - txtcol;
RL_MEMSET(wp->w_old_cursor_fcol + txtcol, hl_attr(HLF_V),
- (size_t)(len - wp->w_old_cursor_fcol));
+ len - wp->w_old_cursor_fcol);
}
}
else
+ {
/* Set all attributes of the text */
- RL_MEMSET(txtcol, hl_attr(HLF_V),
- (size_t)(W_WIDTH(wp) - txtcol));
+ RL_MEMSET(txtcol, hl_attr(HLF_V), W_WIDTH(wp) - txtcol);
+ }
}
}
#endif
@@ -2370,12 +2378,15 @@
int len;
int attr;
{
+ int i;
+
mch_memmove(ScreenLines + off, buf, (size_t)len);
# ifdef FEAT_MBYTE
if (enc_utf8)
vim_memset(ScreenLinesUC + off, 0, sizeof(u8char_T) * (size_t)len);
# endif
- vim_memset(ScreenAttrs + off, attr, (size_t)len);
+ for (i = 0; i < len; ++i)
+ ScreenAttrs[off + i] = attr;
}
/*
diff --git a/src/version.h b/src/version.h
index 4cf0316..2eaf3a3 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Mar 15)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Mar 15, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Mar 18)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Mar 18, compiled "
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index 499f762..299ba37 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -40,7 +40,7 @@
* 29.08.96 Added size_t to strncmp() for Amiga.
* 24.03.97 Windows NT support (Phil Hanna). Clean exit for Amiga WB (Bram)
* 02.04.97 Added -E option, to have EBCDIC translation instead of ASCII
- * (antonio.colombo@jrc.it)
+ * (azc10@yahoo.com)
* 22.05.97 added -g (group octets) option (jcook@namerica.kla.com).
* 23.09.98 nasty -p -r misfeature fixed: slightly wrong output, when -c was
* missing or wrong.