summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-03-15 22:50:43 +0000
committerBram Moolenaar <Bram@vim.org>2005-03-15 22:50:43 +0000
commit5b743bfc4da86c3b15073acee25d3e2afc684106 (patch)
treed3762959aba64fec37e51b7db8a29e94d8b4a3eb
parentf36d3693dd743d46449d3fbfd88969589a62bb38 (diff)
downloadvim-git-5b743bfc4da86c3b15073acee25d3e2afc684106.tar.gz
updated for version 7.0060
-rw-r--r--src/eval.c9
-rw-r--r--src/ex_cmds.h2
-rw-r--r--src/os_amiga.c41
3 files changed, 18 insertions, 34 deletions
diff --git a/src/eval.c b/src/eval.c
index 42556b537..52d0a14ff 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -13024,8 +13024,13 @@ f_synIDattr(argvars, rettv)
p = highlight_has_attr(id, HL_STANDOUT, modec);
break;
- case 'u': /* underline */
- p = highlight_has_attr(id, HL_UNDERLINE, modec);
+ case 'u':
+ if (STRLEN(what) <= 5 || TOLOWER_ASC(what[5]) != 'c')
+ /* underline */
+ p = highlight_has_attr(id, HL_UNDERLINE, modec);
+ else
+ /* undercurl */
+ p = highlight_has_attr(id, HL_UNDERCURL, modec);
break;
}
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 9b105feea..f4a13025b 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -110,7 +110,7 @@ EX(CMD_anoremenu, "anoremenu", ex_menu,
EX(CMD_args, "args", ex_args,
BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
EX(CMD_argadd, "argadd", ex_argadd,
- BANG|NEEDARG|RANGE|NOTADR|ZEROR|COUNT|FILES|TRLBAR),
+ BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR),
EX(CMD_argdelete, "argdelete", ex_argdelete,
BANG|RANGE|NOTADR|COUNT|FILES|TRLBAR),
EX(CMD_argdo, "argdo", ex_listdo,
diff --git a/src/os_amiga.c b/src/os_amiga.c
index 772bdcf80..1c15dc1f9 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -119,9 +119,6 @@ mch_inchar(buf, maxlen, time, tb_change_cnt)
{
int len;
long utime;
-#ifdef FEAT_AUTOCMD
- static int once_already = 0;
-#endif
if (time >= 0)
{
@@ -130,43 +127,28 @@ mch_inchar(buf, maxlen, time, tb_change_cnt)
else
utime = time * 1000L; /* convert from milli to micro secs */
if (WaitForChar(raw_in, utime) == 0) /* no character available */
- {
-#ifdef FEAT_AUTOCMD
- once_already = 0;
-#endif
return 0;
- }
}
else /* time == -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 2 seconds (default)
- * write the autoscript file to disk
+ * write the autoscript file to disk. Or cause the CursorHold event
+ * to be triggered.
*/
- if (WaitForChar(raw_in, p_ut * 1000L) == 0)
+ if (WaitForChar(raw_in, p_ut * 1000L) == 0)
{
#ifdef FEAT_AUTOCMD
- if (has_cursorhold() && get_real_state() == NORMAL_BUSY)
+ if (!did_cursorhold && has_cursorhold()
+ && get_real_state() == NORMAL_BUSY && maxlen >= 3)
{
- 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);
}
}
@@ -179,9 +161,6 @@ mch_inchar(buf, maxlen, time, tb_change_cnt)
# endif
if (len > 0)
{
-#ifdef FEAT_AUTOCMD
- once_already = 0;
-#endif
#ifdef FEAT_MBYTE
/* Convert from 'termencoding' to 'encoding'. */
if (input_conv.vc_type != CONV_NONE)