comparison src/ex_getln.c @ 1318:eb57516376d4 v7.1.032

updated for version 7.1-032
author vimboss
date Tue, 17 Jul 2007 16:15:36 +0000
parents a91a2e0c4108
children 4ce0a7e4c6b3
comparison
equal deleted inserted replaced
1317:45bae37de037 1318:eb57516376d4
482 #ifdef FEAT_WILDMENU 482 #ifdef FEAT_WILDMENU
483 /* Special translations for 'wildmenu' */ 483 /* Special translations for 'wildmenu' */
484 if (xpc.xp_context == EXPAND_MENUNAMES && p_wmnu) 484 if (xpc.xp_context == EXPAND_MENUNAMES && p_wmnu)
485 { 485 {
486 /* Hitting <Down> after "emenu Name.": complete submenu */ 486 /* Hitting <Down> after "emenu Name.": complete submenu */
487 if (ccline.cmdbuff[ccline.cmdpos - 1] == '.' && c == K_DOWN) 487 if (c == K_DOWN && ccline.cmdpos > 0
488 && ccline.cmdbuff[ccline.cmdpos - 1] == '.')
488 c = p_wc; 489 c = p_wc;
489 else if (c == K_UP) 490 else if (c == K_UP)
490 { 491 {
491 /* Hitting <Up>: Remove one submenu name in front of the 492 /* Hitting <Up>: Remove one submenu name in front of the
492 * cursor */ 493 * cursor */
531 upseg[1] = '.'; 532 upseg[1] = '.';
532 upseg[2] = '.'; 533 upseg[2] = '.';
533 upseg[3] = PATHSEP; 534 upseg[3] = PATHSEP;
534 upseg[4] = NUL; 535 upseg[4] = NUL;
535 536
536 if (ccline.cmdbuff[ccline.cmdpos - 1] == PATHSEP 537 if (c == K_DOWN
537 && c == K_DOWN 538 && ccline.cmdpos > 0
538 && (ccline.cmdbuff[ccline.cmdpos - 2] != '.' 539 && ccline.cmdbuff[ccline.cmdpos - 1] == PATHSEP
540 && (ccline.cmdpos < 3
541 || ccline.cmdbuff[ccline.cmdpos - 2] != '.'
539 || ccline.cmdbuff[ccline.cmdpos - 3] != '.')) 542 || ccline.cmdbuff[ccline.cmdpos - 3] != '.'))
540 { 543 {
541 /* go down a directory */ 544 /* go down a directory */
542 c = p_wc; 545 c = p_wc;
543 } 546 }
728 && (!KeyTyped || vim_strchr(p_cpo, CPO_ESC) != NULL))) 731 && (!KeyTyped || vim_strchr(p_cpo, CPO_ESC) != NULL)))
729 { 732 {
730 /* In Ex mode a backslash escapes a newline. */ 733 /* In Ex mode a backslash escapes a newline. */
731 if (exmode_active 734 if (exmode_active
732 && c != ESC 735 && c != ESC
736 && ccline.cmdpos == ccline.cmdlen
733 && ccline.cmdpos > 0 737 && ccline.cmdpos > 0
734 && ccline.cmdpos == ccline.cmdlen
735 && ccline.cmdbuff[ccline.cmdpos - 1] == '\\') 738 && ccline.cmdbuff[ccline.cmdpos - 1] == '\\')
736 { 739 {
737 if (c == K_KENTER) 740 if (c == K_KENTER)
738 c = '\n'; 741 c = '\n';
739 } 742 }