# HG changeset patch # User vimboss # Date 1110927043 0 # Node ID f922db5a1fb390da50f911851e8ee7b1807b824b # Parent 4968de5559411dc3d53512cd05212b2fb29c858e updated for version 7.0060 diff --git a/src/eval.c b/src/eval.c --- 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 --- 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 --- a/src/os_amiga.c +++ b/src/os_amiga.c @@ -119,9 +119,6 @@ mch_inchar(buf, maxlen, time, tb_change_ { 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_ 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_ # 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)