Loading ...
Sorry, an error occurred while loading the content.

Re: [PATCH] Gui colorschemes in terminal

Expand Messages
  • ZyX
    ... “make autoconf” does not support specfying exact version, and due to the location of configure script autoconf-wrapper fails to guess the correct
    Message 1 of 14 , Jan 27, 2013
    • 0 Attachment
      > I suggest you do not send a diff in the body. Just a unified diff in
      > the attachment will do.
      >
      > Also, you do not really need to include the diff for src/auto/configure.
      > If you do, please use the same version of autoconf, otherwise we get all
      > these irrelevant differences.

      “make autoconf” does not support specfying exact version, and due to the location of configure script autoconf-wrapper fails to guess the correct version.

      And with the following patch:

      diff -r dd91804ae7ec src/Makefile
      --- a/src/Makefile Sun Jan 27 04:43:03 2013 +0400
      +++ b/src/Makefile Mon Jan 28 07:56:26 2013 +0400
      @@ -1697,7 +1697,7 @@
      # - Uses ">config.log" instead of "./config.log".
      autoconf:
      if test ! -f configure.save; then mv configure configure.save; fi
      - autoconf
      + WANT_AUTOCONF="2.1" autoconf
      sed -e 's+>config.log+>auto/config.log+' -e 's+\./config.log+auto/config.log+' configure > auto/configure
      chmod 755 auto/configure
      mv -f configure.save configure

      it just fails with

      autoconf: Undefined macros:
      configure.in:1007: AC_MSG_RESULT(too old)

      (and a big bunch of complains about further AC_MSG_RESULT and AC_MSG_ERROR). Autoconf version is 2.13 in this case.

      It fails on upstream, not only on my changes.

      --
      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    • ZyX
      Some updates: 1. Make the patch use t_8b and t_8f options in place of hardcoding values. 2. Add necessary changes to syntax/vim.vim. diff -r c7bcb04f613e -r
      Message 2 of 14 , Dec 14, 2013
      • 0 Attachment
        Some updates:
        1. Make the patch use t_8b and t_8f options in place of hardcoding values.
        2. Add necessary changes to syntax/vim.vim.

        diff -r c7bcb04f613e -r 60ce289f8720 runtime/doc/options.txt
        --- a/runtime/doc/options.txt Sat Dec 14 13:06:17 2013 +0100
        +++ b/runtime/doc/options.txt Sat Dec 14 19:47:34 2013 +0400
        @@ -3361,6 +3361,16 @@
        This option cannot be set from a |modeline| or in the |sandbox|, for
        security reasons.

        + *'guicolors'* *'gcol'*
        +'guicolors' 'gcol' boolean (default off)
        + global
        + {not in Vi}
        + {not available when compiled without the
        + |+termtruecolor| feature}
        + When on, uses |highlight-guifg| and |highlight-guibg| attributes in
        + terminal (thus using 24-bit color). Requires ISO-8613-3 compatible
        + terminal.
        +
        *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
        'guicursor' 'gcr' string (default "n-v-c:block-Cursor/lCursor,
        ve:ver35-Cursor,
        diff -r c7bcb04f613e -r 60ce289f8720 runtime/doc/term.txt
        --- a/runtime/doc/term.txt Sat Dec 14 13:06:17 2013 +0100
        +++ b/runtime/doc/term.txt Sat Dec 14 19:47:34 2013 +0400
        @@ -296,6 +296,8 @@
        |xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
        t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
        see |'ambiwidth'|
        + t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
        + t_8b set background color (R, G, B) *t_8b* *'t_8b'*

        KEY CODES
        Note: Use the <> form if possible
        diff -r c7bcb04f613e -r 60ce289f8720 runtime/doc/various.txt
        --- a/runtime/doc/various.txt Sat Dec 14 13:06:17 2013 +0100
        +++ b/runtime/doc/various.txt Sat Dec 14 19:47:34 2013 +0400
        @@ -410,6 +410,7 @@
        m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
        *+terminfo* uses |terminfo| instead of termcap
        N *+termresponse* support for |t_RV| and |v:termresponse|
        +m *+termtruecolor* 24-bit color in xterm-compatible terminals support
        N *+textobjects* |text-objects| selection
        *+tgetent* non-Unix only: able to use external termcap
        N *+title* Setting the window 'title' and 'icon'
        diff -r c7bcb04f613e -r 60ce289f8720 runtime/syntax/vim.vim
        --- a/runtime/syntax/vim.vim Sat Dec 14 13:06:17 2013 +0100
        +++ b/runtime/syntax/vim.vim Sat Dec 14 19:47:34 2013 +0400
        @@ -33,20 +33,20 @@
        syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wig wildmode winfixwidth wiw wrap writedelay
        syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildchar wildoptions winheight wm wrapmargin ws
        syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildcharm wim winminheight wmh wrapscan ww
        -syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring
        +syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring guicolors

        " vimOptions: These are the turn-off setting variants {{{2
        syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopetag nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildignorecase* * nowinfixheight nowiv nowrap nowrite nowritebackup
        syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopeverbose nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
        -syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol
        +syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol noguicolors

        " vimOptions: These are the invertible variants {{{2
        syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscopetag invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invesckeys invex invexrc invfk invfoldenable invgdefault invhid invhk invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invvb invwa invwb invwfh invwildignorecase* * invwinfixheight invwiv invwrap invwrite invwritebackup
        syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopeverbose invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invet invexpandtab invfen invfkmap invgd invguipty invhidden invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invvisualbell invwarn invweirdinvert invwfw invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
        -syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol
        +syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol invguicolors

        " termcap codes (which can also be set) {{{2
        -syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_cs t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR
        +syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_cs t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR t_8f t_8b
        syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm
        syn match vimOption contained "t_%1"
        syn match vimOption contained "t_#2"
        diff -r c7bcb04f613e -r 60ce289f8720 src/auto/configure
        --- a/src/auto/configure Sat Dec 14 13:06:17 2013 +0100
        +++ b/src/auto/configure Sat Dec 14 19:47:34 2013 +0400
        @@ -1,11 +1,9 @@
        #! /bin/sh
        # Guess values for system-dependent variables and create Makefiles.
        -# Generated by GNU Autoconf 2.65.
        +# Generated by GNU Autoconf 2.69.
        #
        #
        -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
        -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
        -# Inc.
        +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
        #
        #
        # This configure script is free software; the Free Software Foundation
        @@ -89,6 +87,7 @@
        IFS=" "" $as_nl"

        # Find who we are. Look in the path if we contain no directory separator.
        +as_myself=
        case $0 in #((
        *[\\/]* ) as_myself=$0 ;;
        *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
        @@ -133,6 +132,31 @@
        # CDPATH.
        (unset CDPATH) >/dev/null 2>&1 && unset CDPATH

        +# Use a proper internal environment variable to ensure we don't fall
        + # into an infinite loop, continuously re-executing ourselves.
        + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
        + _as_can_reexec=no; export _as_can_reexec;
        + # We cannot yet assume a decent shell, so we have to provide a
        +# neutralization value for shells without unset; and this also
        +# works around shells that cannot unset nonexistent variables.
        +# Preserve -v and -x to the replacement shell.
        +BASH_ENV=/dev/null
        +ENV=/dev/null
        +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
        +case $- in # ((((
        + *v*x* | *x*v* ) as_opts=-vx ;;
        + *v* ) as_opts=-v ;;
        + *x* ) as_opts=-x ;;
        + * ) as_opts= ;;
        +esac
        +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
        +# Admittedly, this is quite paranoid, since all the known shells bail
        +# out after a failed `exec'.
        +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
        +as_fn_exit 255
        + fi
        + # We don't want this to propagate to other subprocesses.
        + { _as_can_reexec=; unset _as_can_reexec;}
        if test "x$CONFIG_SHELL" = x; then
        as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
        emulate sh
        @@ -166,7 +190,8 @@
        else
        exitcode=1; echo positional parameters were not saved.
        fi
        -test x\$exitcode = x0 || exit 1"
        +test x\$exitcode = x0 || exit 1
        +test -x / || exit 1"
        as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
        as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
        eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
        @@ -211,14 +236,25 @@


        if test "x$CONFIG_SHELL" != x; then :
        - # We cannot yet assume a decent shell, so we have to provide a
        - # neutralization value for shells without unset; and this also
        - # works around shells that cannot unset nonexistent variables.
        - BASH_ENV=/dev/null
        - ENV=/dev/null
        - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
        - export CONFIG_SHELL
        - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
        + export CONFIG_SHELL
        + # We cannot yet assume a decent shell, so we have to provide a
        +# neutralization value for shells without unset; and this also
        +# works around shells that cannot unset nonexistent variables.
        +# Preserve -v and -x to the replacement shell.
        +BASH_ENV=/dev/null
        +ENV=/dev/null
        +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
        +case $- in # ((((
        + *v*x* | *x*v* ) as_opts=-vx ;;
        + *v* ) as_opts=-v ;;
        + *x* ) as_opts=-x ;;
        + * ) as_opts= ;;
        +esac
        +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
        +# Admittedly, this is quite paranoid, since all the known shells bail
        +# out after a failed `exec'.
        +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
        +exit 255
        fi

        if test x$as_have_required = xno; then :
        @@ -316,10 +352,18 @@
        test -d "$as_dir" && break
        done
        test -z "$as_dirs" || eval "mkdir $as_dirs"
        - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
        + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


        } # as_fn_mkdir_p
        +
        +# as_fn_executable_p FILE
        +# -----------------------
        +# Test if FILE is an executable regular file.
        +as_fn_executable_p ()
        +{
        + test -f "$1" && test -x "$1"
        +} # as_fn_executable_p
        # as_fn_append VAR VALUE
        # ----------------------
        # Append the text in VALUE to the end of the definition contained in VAR. Take
        @@ -356,19 +400,19 @@
        fi # as_fn_arith


        -# as_fn_error ERROR [LINENO LOG_FD]
        -# ---------------------------------
        +# as_fn_error STATUS ERROR [LINENO LOG_FD]
        +# ----------------------------------------
        # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
        # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
        -# script with status $?, using 1 if that was 0.
        +# script with STATUS, using 1 if that was 0.
        as_fn_error ()
        {
        - as_status=$?; test $as_status -eq 0 && as_status=1
        - if test "$3"; then
        - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
        - fi
        - $as_echo "$as_me: error: $1" >&2
        + as_status=$1; test $as_status -eq 0 && as_status=1
        + if test "$4"; then
        + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
        + fi
        + $as_echo "$as_me: error: $2" >&2
        as_fn_exit $as_status
        } # as_fn_error

        @@ -441,6 +485,10 @@
        chmod +x "$as_me.lineno" ||
        { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

        + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
        + # already done that, so ensure we don't try to do so again and fall
        + # in an infinite loop. This has already happened in practice.
        + _as_can_reexec=no; export _as_can_reexec
        # Don't try to exec as it changes $[0], causing all sort of problems
        # (the dirname of $[0] is not the place where we might find the
        # original and so on. Autoconf is especially sensitive to this).
        @@ -475,16 +523,16 @@
        # ... but there are two gotchas:
        # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
        # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
        - # In both cases, we have to default to `cp -p'.
        + # In both cases, we have to default to `cp -pR'.
        ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
        - as_ln_s='cp -p'
        + as_ln_s='cp -pR'
        elif ln conf$$.file conf$$ 2>/dev/null; then
        as_ln_s=ln
        else
        - as_ln_s='cp -p'
        - fi
        -else
        - as_ln_s='cp -p'
        + as_ln_s='cp -pR'
        + fi
        +else
        + as_ln_s='cp -pR'
        fi
        rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
        rmdir conf$$.dir 2>/dev/null
        @@ -496,28 +544,8 @@
        as_mkdir_p=false
        fi

        -if test -x / >/dev/null 2>&1; then
        - as_test_x='test -x'
        -else
        - if ls -dL / >/dev/null 2>&1; then
        - as_ls_L_option=L
        - else
        - as_ls_L_option=
        - fi
        - as_test_x='
        - eval sh -c '\''
        - if test -d "$1"; then
        - test -d "$1/.";
        - else
        - case $1 in #(
        - -*)set "./$1";;
        - esac;
        - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
        - ???[sx]*):;;*)false;;esac;fi
        - '\'' sh
        - '
        -fi
        -as_executable_p=$as_test_x
        +as_test_x='test -x'
        +as_executable_p=as_fn_executable_p

        # Sed expression to map a string onto a valid CPP name.
        as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
        @@ -530,7 +558,7 @@
        exec 6>&1

        # Name of the host.
        -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
        +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
        # so uname gets run too.
        ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`

        @@ -773,6 +801,7 @@
        enable_rubyinterp
        with_ruby_command
        enable_cscope
        +enable_termtruecolor
        enable_workshop
        enable_netbeans
        enable_sniff
        @@ -872,8 +901,9 @@
        fi

        case $ac_option in
        - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
        - *) ac_optarg=yes ;;
        + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
        + *=) ac_optarg= ;;
        + *) ac_optarg=yes ;;
        esac

        # Accept the important Cygnus configure options, so we can diagnose typos.
        @@ -918,7 +948,7 @@
        ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
        # Reject names that are not valid shell variable names.
        expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
        - as_fn_error "invalid feature name: $ac_useropt"
        + as_fn_error $? "invalid feature name: $ac_useropt"
        ac_useropt_orig=$ac_useropt
        ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
        case $ac_user_opts in
        @@ -944,7 +974,7 @@
        ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
        # Reject names that are not valid shell variable names.
        expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
        - as_fn_error "invalid feature name: $ac_useropt"
        + as_fn_error $? "invalid feature name: $ac_useropt"
        ac_useropt_orig=$ac_useropt
        ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
        case $ac_user_opts in
        @@ -1148,7 +1178,7 @@
        ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
        # Reject names that are not valid shell variable names.
        expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
        - as_fn_error "invalid package name: $ac_useropt"
        + as_fn_error $? "invalid package name: $ac_useropt"
        ac_useropt_orig=$ac_useropt
        ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
        case $ac_user_opts in
        @@ -1164,7 +1194,7 @@
        ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
        # Reject names that are not valid shell variable names.
        expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
        - as_fn_error "invalid package name: $ac_useropt"
        + as_fn_error $? "invalid package name: $ac_useropt"
        ac_useropt_orig=$ac_useropt
        ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
        case $ac_user_opts in
        @@ -1194,8 +1224,8 @@
        | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
        x_libraries=$ac_optarg ;;

        - -*) as_fn_error "unrecognized option: \`$ac_option'
        -Try \`$0 --help' for more information."
        + -*) as_fn_error $? "unrecognized option: \`$ac_option'
        +Try \`$0 --help' for more information"
        ;;

        *=*)
        @@ -1203,7 +1233,7 @@
        # Reject names that are not valid shell variable names.
        case $ac_envvar in #(
        '' | [0-9]* | *[!_$as_cr_alnum]* )
        - as_fn_error "invalid variable name: \`$ac_envvar'" ;;
        + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
        esac
        eval $ac_envvar=\$ac_optarg
        export $ac_envvar ;;
        @@ -1213,7 +1243,7 @@
        $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
        expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
        $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
        - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
        + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
        ;;

        esac
        @@ -1221,13 +1251,13 @@

        if test -n "$ac_prev"; then
        ac_option=--`echo $ac_prev | sed 's/_/-/g'`
        - as_fn_error "missing argument to $ac_option"
        + as_fn_error $? "missing argument to $ac_option"
        fi

        if test -n "$ac_unrecognized_opts"; then
        case $enable_option_checking in
        no) ;;
        - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
        + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
        *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
        esac
        fi
        @@ -1250,7 +1280,7 @@
        [\\/$]* | ?:[\\/]* ) continue;;
        NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
        esac
        - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
        + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
        done

        # There might be people who depend on the old broken behavior: `$host'
        @@ -1264,8 +1294,6 @@
        if test "x$host_alias" != x; then
        if test "x$build_alias" = x; then
        cross_compiling=maybe
        - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
        - If a cross compiler is detected then cross compile mode will be used." >&2
        elif test "x$build_alias" != "x$host_alias"; then
        cross_compiling=yes
        fi
        @@ -1280,9 +1308,9 @@
        ac_pwd=`pwd` && test -n "$ac_pwd" &&
        ac_ls_di=`ls -di .` &&
        ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
        - as_fn_error "working directory cannot be determined"
        + as_fn_error $? "working directory cannot be determined"
        test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
        - as_fn_error "pwd does not report name of working directory"
        + as_fn_error $? "pwd does not report name of working directory"


        # Find the source files, if location was not specified.
        @@ -1321,11 +1349,11 @@
        fi
        if test ! -r "$srcdir/$ac_unique_file"; then
        test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
        - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
        + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
        fi
        ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
        ac_abs_confdir=`(
        - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
        + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
        pwd)`
        # When building in place, set srcdir=.
        if test "$ac_abs_confdir" = "$ac_pwd"; then
        @@ -1365,7 +1393,7 @@
        --help=short display options specific to this package
        --help=recursive display the short help of all the included packages
        -V, --version display version information and exit
        - -q, --quiet, --silent do not print \`checking...' messages
        + -q, --quiet, --silent do not print \`checking ...' messages
        --cache-file=FILE cache test results in FILE [disabled]
        -C, --config-cache alias for \`--cache-file=config.cache'
        -n, --no-create do not create output files
        @@ -1436,6 +1464,7 @@
        --enable-tclinterp Include Tcl interpreter.
        --enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
        --enable-cscope Include cscope interface.
        + --enable-termtruecolor Include support for 24-bit colors in ISO-8613-3 compatible terminals
        --enable-workshop Include Sun Visual Workshop support.
        --disable-netbeans Disable NetBeans integration support.
        --enable-sniff Include Sniff interface.
        @@ -1563,9 +1592,9 @@
        if $ac_init_version; then
        cat <<\_ACEOF
        configure
        -generated by GNU Autoconf 2.65
        -
        -Copyright (C) 2009 Free Software Foundation, Inc.
        +generated by GNU Autoconf 2.69
        +
        +Copyright (C) 2012 Free Software Foundation, Inc.
        This configure script is free software; the Free Software Foundation
        gives unlimited permission to copy, distribute and modify it.
        _ACEOF
        @@ -1609,7 +1638,7 @@

        ac_retval=1
        fi
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
        as_fn_set_status $ac_retval

        } # ac_fn_c_try_compile
        @@ -1635,7 +1664,7 @@
        mv -f conftest.er1 conftest.err
        fi
        $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
        - test $ac_status = 0; } >/dev/null && {
        + test $ac_status = 0; } > conftest.i && {
        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
        test ! -s conftest.err
        }; then :
        @@ -1646,7 +1675,7 @@

        ac_retval=1
        fi
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
        as_fn_set_status $ac_retval

        } # ac_fn_c_try_cpp
        @@ -1678,7 +1707,7 @@
        test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
        test "$cross_compiling" = yes ||
        - $as_test_x conftest$ac_exeext
        + test -x conftest$ac_exeext
        }; then :
        ac_retval=0
        else
        @@ -1692,7 +1721,7 @@
        # interfere with the next link command; also delete a directory that is
        # left behind by Apple's compiler. We do this before executing the actions.
        rm -rf conftest.dSYM conftest_ipa8_conftest.oo
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
        as_fn_set_status $ac_retval

        } # ac_fn_c_try_link
        @@ -1734,7 +1763,7 @@
        ac_retval=$ac_status
        fi
        rm -rf conftest.dSYM conftest_ipa8_conftest.oo
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
        as_fn_set_status $ac_retval

        } # ac_fn_c_try_run
        @@ -1747,10 +1776,10 @@
        ac_fn_c_check_header_mongrel ()
        {
        as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        + if eval \${$3+:} false; then :
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
        $as_echo_n "checking for $2... " >&6; }
        -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${$3+:} false; then :
        $as_echo_n "(cached) " >&6
        fi
        eval ac_res=\$$3
        @@ -1786,7 +1815,7 @@
        else
        ac_header_preproc=no
        fi
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.err conftest.i conftest.$ac_ext
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
        $as_echo "$ac_header_preproc" >&6; }

        @@ -1813,7 +1842,7 @@
        esac
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
        $as_echo_n "checking for $2... " >&6; }
        -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${$3+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        eval "$3=\$ac_header_compiler"
        @@ -1822,7 +1851,7 @@
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
        $as_echo "$ac_res" >&6; }
        fi
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

        } # ac_fn_c_check_header_mongrel

        @@ -1835,7 +1864,7 @@
        as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
        $as_echo_n "checking for $2... " >&6; }
        -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${$3+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        @@ -1853,7 +1882,7 @@
        eval ac_res=\$$3
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
        $as_echo "$ac_res" >&6; }
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

        } # ac_fn_c_check_header_compile

        @@ -1865,7 +1894,7 @@
        as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
        $as_echo_n "checking for $2... " >&6; }
        -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${$3+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        @@ -1920,7 +1949,7 @@
        eval ac_res=\$$3
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
        $as_echo "$ac_res" >&6; }
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

        } # ac_fn_c_check_func

        @@ -1933,7 +1962,7 @@
        as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
        $as_echo_n "checking for $2... " >&6; }
        -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${$3+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        eval "$3=no"
        @@ -1974,7 +2003,7 @@
        eval ac_res=\$$3
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
        $as_echo "$ac_res" >&6; }
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

        } # ac_fn_c_check_type

        @@ -1987,7 +2016,7 @@
        as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
        $as_echo_n "checking for uint$2_t... " >&6; }
        -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${$3+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        eval "$3=no"
        @@ -2002,7 +2031,8 @@
        main ()
        {
        static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
        -test_array [0] = 0
        +test_array [0] = 0;
        +return test_array [0];

        ;
        return 0;
        @@ -2017,8 +2047,7 @@
        esac
        fi
        rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        - eval as_val=\$$3
        - if test "x$as_val" = x""no; then :
        + if eval test \"x\$"$3"\" = x"no"; then :

        else
        break
        @@ -2028,7 +2057,7 @@
        eval ac_res=\$$3
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
        $as_echo "$ac_res" >&6; }
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno

        } # ac_fn_c_find_uintX_t

        @@ -2049,7 +2078,8 @@
        main ()
        {
        static int test_array [1 - 2 * !(($2) >= 0)];
        -test_array [0] = 0
        +test_array [0] = 0;
        +return test_array [0];

        ;
        return 0;
        @@ -2065,7 +2095,8 @@
        main ()
        {
        static int test_array [1 - 2 * !(($2) <= $ac_mid)];
        -test_array [0] = 0
        +test_array [0] = 0;
        +return test_array [0];

        ;
        return 0;
        @@ -2091,7 +2122,8 @@
        main ()
        {
        static int test_array [1 - 2 * !(($2) < 0)];
        -test_array [0] = 0
        +test_array [0] = 0;
        +return test_array [0];

        ;
        return 0;
        @@ -2107,7 +2139,8 @@
        main ()
        {
        static int test_array [1 - 2 * !(($2) >= $ac_mid)];
        -test_array [0] = 0
        +test_array [0] = 0;
        +return test_array [0];

        ;
        return 0;
        @@ -2141,7 +2174,8 @@
        main ()
        {
        static int test_array [1 - 2 * !(($2) <= $ac_mid)];
        -test_array [0] = 0
        +test_array [0] = 0;
        +return test_array [0];

        ;
        return 0;
        @@ -2205,7 +2239,7 @@
        rm -f conftest.val

        fi
        - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
        + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
        as_fn_set_status $ac_retval

        } # ac_fn_c_compute_int
        @@ -2214,7 +2248,7 @@
        running configure, to aid debugging if configure makes a mistake.

        It was created by $as_me, which was
        -generated by GNU Autoconf 2.65. Invocation command line was
        +generated by GNU Autoconf 2.69. Invocation command line was

        $ $0 $@

        @@ -2324,11 +2358,9 @@
        {
        echo

        - cat <<\_ASBOX
        -## ---------------- ##
        + $as_echo "## ---------------- ##
        ## Cache variables. ##
        -## ---------------- ##
        -_ASBOX
        +## ---------------- ##"
        echo
        # The following way of writing the cache mishandles newlines in values,
        (
        @@ -2362,11 +2394,9 @@
        )
        echo

        - cat <<\_ASBOX
        -## ----------------- ##
        + $as_echo "## ----------------- ##
        ## Output variables. ##
        -## ----------------- ##
        -_ASBOX
        +## ----------------- ##"
        echo
        for ac_var in $ac_subst_vars
        do
        @@ -2379,11 +2409,9 @@
        echo

        if test -n "$ac_subst_files"; then
        - cat <<\_ASBOX
        -## ------------------- ##
        + $as_echo "## ------------------- ##
        ## File substitutions. ##
        -## ------------------- ##
        -_ASBOX
        +## ------------------- ##"
        echo
        for ac_var in $ac_subst_files
        do
        @@ -2397,11 +2425,9 @@
        fi

        if test -s confdefs.h; then
        - cat <<\_ASBOX
        -## ----------- ##
        + $as_echo "## ----------- ##
        ## confdefs.h. ##
        -## ----------- ##
        -_ASBOX
        +## ----------- ##"
        echo
        cat confdefs.h
        echo
        @@ -2456,7 +2482,12 @@
        ac_site_file1=NONE
        ac_site_file2=NONE
        if test -n "$CONFIG_SITE"; then
        - ac_site_file1=$CONFIG_SITE
        + # We do not want a PATH search for config.site.
        + case $CONFIG_SITE in #((
        + -*) ac_site_file1=./$CONFIG_SITE;;
        + */*) ac_site_file1=$CONFIG_SITE;;
        + *) ac_site_file1=./$CONFIG_SITE;;
        + esac
        elif test "x$prefix" != xNONE; then
        ac_site_file1=$prefix/share/config.site
        ac_site_file2=$prefix/etc/config.site
        @@ -2471,7 +2502,11 @@
        { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
        $as_echo "$as_me: loading site script $ac_site_file" >&6;}
        sed 's/^/| /' "$ac_site_file" >&5
        - . "$ac_site_file"
        + . "$ac_site_file" \
        + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        +as_fn_error $? "failed to load site script $ac_site_file
        +See \`config.log' for more details" "$LINENO" 5; }
        fi
        done

        @@ -2547,7 +2582,7 @@
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
        $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
        - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
        + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
        fi
        ## -------------------- ##
        ## Main body of script. ##
        @@ -2569,7 +2604,7 @@
        $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
        set x ${MAKE-make}
        ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
        -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
        +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat >conftest.make <<\_ACEOF
        @@ -2577,7 +2612,7 @@
        all:
        @echo '@@@%%%=$(MAKE)=@@@%%%'
        _ACEOF
        -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
        +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
        case `${MAKE-make} -f conftest.make 2>/dev/null` in
        *@@@%%%=?*=@@@%%%*)
        eval ac_cv_prog_make_${ac_make}_set=yes;;
        @@ -2607,7 +2642,7 @@
        set dummy ${ac_tool_prefix}gcc; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_CC+set}" = set; then :
        +if ${ac_cv_prog_CC+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$CC"; then
        @@ -2619,7 +2654,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_CC="${ac_tool_prefix}gcc"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -2647,7 +2682,7 @@
        set dummy gcc; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
        +if ${ac_cv_prog_ac_ct_CC+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$ac_ct_CC"; then
        @@ -2659,7 +2694,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_ac_ct_CC="gcc"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -2700,7 +2735,7 @@
        set dummy ${ac_tool_prefix}cc; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_CC+set}" = set; then :
        +if ${ac_cv_prog_CC+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$CC"; then
        @@ -2712,7 +2747,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_CC="${ac_tool_prefix}cc"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -2740,7 +2775,7 @@
        set dummy cc; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_CC+set}" = set; then :
        +if ${ac_cv_prog_CC+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$CC"; then
        @@ -2753,7 +2788,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
        @@ -2799,7 +2834,7 @@
        set dummy $ac_tool_prefix$ac_prog; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_CC+set}" = set; then :
        +if ${ac_cv_prog_CC+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$CC"; then
        @@ -2811,7 +2846,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -2843,7 +2878,7 @@
        set dummy $ac_prog; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
        +if ${ac_cv_prog_ac_ct_CC+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$ac_ct_CC"; then
        @@ -2855,7 +2890,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_ac_ct_CC="$ac_prog"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -2897,8 +2932,8 @@

        test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        -as_fn_error "no acceptable C compiler found in \$PATH
        -See \`config.log' for more details." "$LINENO" 5; }
        +as_fn_error $? "no acceptable C compiler found in \$PATH
        +See \`config.log' for more details" "$LINENO" 5; }

        # Provide some information about the compiler.
        $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
        @@ -3012,9 +3047,8 @@

        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        -{ as_fn_set_status 77
        -as_fn_error "C compiler cannot create executables
        -See \`config.log' for more details." "$LINENO" 5; }; }
        +as_fn_error 77 "C compiler cannot create executables
        +See \`config.log' for more details" "$LINENO" 5; }
        else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        $as_echo "yes" >&6; }
        @@ -3056,8 +3090,8 @@
        else
        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        -as_fn_error "cannot compute suffix of executables: cannot compile and link
        -See \`config.log' for more details." "$LINENO" 5; }
        +as_fn_error $? "cannot compute suffix of executables: cannot compile and link
        +See \`config.log' for more details" "$LINENO" 5; }
        fi
        rm -f conftest conftest$ac_cv_exeext
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
        @@ -3114,9 +3148,9 @@
        else
        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        -as_fn_error "cannot run C compiled programs.
        +as_fn_error $? "cannot run C compiled programs.
        If you meant to cross compile, use \`--host'.
        -See \`config.log' for more details." "$LINENO" 5; }
        +See \`config.log' for more details" "$LINENO" 5; }
        fi
        fi
        fi
        @@ -3127,7 +3161,7 @@
        ac_clean_files=$ac_clean_files_save
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
        $as_echo_n "checking for suffix of object files... " >&6; }
        -if test "${ac_cv_objext+set}" = set; then :
        +if ${ac_cv_objext+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        @@ -3167,8 +3201,8 @@

        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        -as_fn_error "cannot compute suffix of object files: cannot compile
        -See \`config.log' for more details." "$LINENO" 5; }
        +as_fn_error $? "cannot compute suffix of object files: cannot compile
        +See \`config.log' for more details" "$LINENO" 5; }
        fi
        rm -f conftest.$ac_cv_objext conftest.$ac_ext
        fi
        @@ -3178,7 +3212,7 @@
        ac_objext=$OBJEXT
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
        $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
        -if test "${ac_cv_c_compiler_gnu+set}" = set; then :
        +if ${ac_cv_c_compiler_gnu+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        @@ -3215,7 +3249,7 @@
        ac_save_CFLAGS=$CFLAGS
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
        $as_echo_n "checking whether $CC accepts -g... " >&6; }
        -if test "${ac_cv_prog_cc_g+set}" = set; then :
        +if ${ac_cv_prog_cc_g+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        ac_save_c_werror_flag=$ac_c_werror_flag
        @@ -3293,7 +3327,7 @@
        fi
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
        $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
        -if test "${ac_cv_prog_cc_c89+set}" = set; then :
        +if ${ac_cv_prog_cc_c89+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        ac_cv_prog_cc_c89=no
        @@ -3302,8 +3336,7 @@
        /* end confdefs.h. */
        #include <stdarg.h>
        #include <stdio.h>
        -#include <sys/types.h>
        -#include <sys/stat.h>
        +struct stat;
        /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
        struct buf { int x; };
        FILE * (*rcsopen) (struct buf *, struct stat *, int);
        @@ -3399,7 +3432,7 @@
        CPP=
        fi
        if test -z "$CPP"; then
        - if test "${ac_cv_prog_CPP+set}" = set; then :
        + if ${ac_cv_prog_CPP+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        # Double quotes because CPP needs to be expanded
        @@ -3429,7 +3462,7 @@
        # Broken: fails on valid input.
        continue
        fi
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.err conftest.i conftest.$ac_ext

        # OK, works on sane cases. Now check whether nonexistent headers
        # can be detected and how.
        @@ -3445,11 +3478,11 @@
        ac_preproc_ok=:
        break
        fi
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.err conftest.i conftest.$ac_ext

        done
        # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.i conftest.err conftest.$ac_ext
        if $ac_preproc_ok; then :
        break
        fi
        @@ -3488,7 +3521,7 @@
        # Broken: fails on valid input.
        continue
        fi
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.err conftest.i conftest.$ac_ext

        # OK, works on sane cases. Now check whether nonexistent headers
        # can be detected and how.
        @@ -3504,18 +3537,18 @@
        ac_preproc_ok=:
        break
        fi
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.err conftest.i conftest.$ac_ext

        done
        # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
        -rm -f conftest.err conftest.$ac_ext
        +rm -f conftest.i conftest.err conftest.$ac_ext
        if $ac_preproc_ok; then :

        else
        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
        $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
        -as_fn_error "C preprocessor \"$CPP\" fails sanity check
        -See \`config.log' for more details." "$LINENO" 5; }
        +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
        +See \`config.log' for more details" "$LINENO" 5; }
        fi

        ac_ext=c
        @@ -3527,7 +3560,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
        $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
        -if test "${ac_cv_path_GREP+set}" = set; then :
        +if ${ac_cv_path_GREP+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -z "$GREP"; then
        @@ -3541,7 +3574,7 @@
        for ac_prog in grep ggrep; do
        for ac_exec_ext in '' $ac_executable_extensions; do
        ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
        - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
        + as_fn_executable_p "$ac_path_GREP" || continue
        # Check for GNU ac_path_GREP and select it if it is found.
        # Check for GNU $ac_path_GREP
        case `"$ac_path_GREP" --version 2>&1` in
        @@ -3576,7 +3609,7 @@
        done
        IFS=$as_save_IFS
        if test -z "$ac_cv_path_GREP"; then
        - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
        + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
        fi
        else
        ac_cv_path_GREP=$GREP
        @@ -3590,7 +3623,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
        $as_echo_n "checking for egrep... " >&6; }
        -if test "${ac_cv_path_EGREP+set}" = set; then :
        +if ${ac_cv_path_EGREP+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
        @@ -3607,7 +3640,7 @@
        for ac_prog in egrep; do
        for ac_exec_ext in '' $ac_executable_extensions; do
        ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
        - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
        + as_fn_executable_p "$ac_path_EGREP" || continue
        # Check for GNU ac_path_EGREP and select it if it is found.
        # Check for GNU $ac_path_EGREP
        case `"$ac_path_EGREP" --version 2>&1` in
        @@ -3642,7 +3675,7 @@
        done
        IFS=$as_save_IFS
        if test -z "$ac_cv_path_EGREP"; then
        - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
        + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
        fi
        else
        ac_cv_path_EGREP=$EGREP
        @@ -3666,7 +3699,7 @@
        rm -f conftest*
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
        $as_echo_n "checking for library containing strerror... " >&6; }
        -if test "${ac_cv_search_strerror+set}" = set; then :
        +if ${ac_cv_search_strerror+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        ac_func_search_save_LIBS=$LIBS
        @@ -3700,11 +3733,11 @@
        fi
        rm -f core conftest.err conftest.$ac_objext \
        conftest$ac_exeext
        - if test "${ac_cv_search_strerror+set}" = set; then :
        + if ${ac_cv_search_strerror+:} false; then :
        break
        fi
        done
        -if test "${ac_cv_search_strerror+set}" = set; then :
        +if ${ac_cv_search_strerror+:} false; then :

        else
        ac_cv_search_strerror=no
        @@ -3725,7 +3758,7 @@
        set dummy $ac_prog; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_AWK+set}" = set; then :
        +if ${ac_cv_prog_AWK+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$AWK"; then
        @@ -3737,7 +3770,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_AWK="$ac_prog"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -3765,7 +3798,7 @@
        set dummy strip; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_prog_STRIP+set}" = set; then :
        +if ${ac_cv_prog_STRIP+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        if test -n "$STRIP"; then
        @@ -3777,7 +3810,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_prog_STRIP="strip"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -3804,7 +3837,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
        $as_echo_n "checking for ANSI C header files... " >&6; }
        -if test "${ac_cv_header_stdc+set}" = set; then :
        +if ${ac_cv_header_stdc+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        @@ -3916,7 +3949,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
        $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
        -if test "${ac_cv_header_sys_wait_h+set}" = set; then :
        +if ${ac_cv_header_sys_wait_h+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        @@ -4107,7 +4140,7 @@
        set dummy xcode-select; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_XCODE_SELECT+set}" = set; then :
        +if ${ac_cv_path_XCODE_SELECT+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $XCODE_SELECT in
        @@ -4121,7 +4154,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -4230,8 +4263,7 @@
        as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
        ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
        "
        -eval as_val=\$$as_ac_Header
        - if test "x$as_val" = x""yes; then :
        +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
        cat >>confdefs.h <<_ACEOF
        #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
        _ACEOF
        @@ -4242,7 +4274,7 @@


        ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
        -if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
        +if test "x$ac_cv_header_Carbon_Carbon_h" = xyes; then :
        CARBON=yes
        fi

        @@ -4296,7 +4328,7 @@
        have_local_include=yes
        have_local_lib=yes
        ;;
        - *) as_fn_error "must pass path argument to --with-local-dir" "$LINENO" 5 ;;
        + *) as_fn_error $? "must pass path argument to --with-local-dir" "$LINENO" 5 ;;
        esac
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5
        $as_echo "$local_dir" >&6; }
        @@ -4505,7 +4537,7 @@
        $as_echo "no" >&6; }
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
        $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
        -if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then :
        +if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        ac_check_lib_save_LIBS=$LIBS
        @@ -4539,7 +4571,7 @@
        fi
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
        $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
        -if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then :
        +if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
        LIBS="$LIBS -lselinux"
        $as_echo "#define HAVE_SELINUX 1" >>confdefs.h

        @@ -4701,7 +4733,7 @@
        set dummy luajit; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_vi_cv_path_luajit+set}" = set; then :
        +if ${ac_cv_path_vi_cv_path_luajit+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $vi_cv_path_luajit in
        @@ -4715,7 +4747,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_path_vi_cv_path_luajit="$as_dir/$ac_word$ac_exec_ext"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -4740,7 +4772,7 @@
        if test "X$vi_cv_path_luajit" != "X"; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
        $as_echo_n "checking LuaJIT version... " >&6; }
        -if test "${vi_cv_version_luajit+set}" = set; then :
        +if ${vi_cv_version_luajit+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
        @@ -4749,7 +4781,7 @@
        $as_echo "$vi_cv_version_luajit" >&6; }
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version of LuaJIT" >&5
        $as_echo_n "checking Lua version of LuaJIT... " >&6; }
        -if test "${vi_cv_version_lua_luajit+set}" = set; then :
        +if ${vi_cv_version_lua_luajit+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
        @@ -4764,7 +4796,7 @@
        set dummy lua; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_vi_cv_path_plain_lua+set}" = set; then :
        +if ${ac_cv_path_vi_cv_path_plain_lua+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $vi_cv_path_plain_lua in
        @@ -4778,7 +4810,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_path_vi_cv_path_plain_lua="$as_dir/$ac_word$ac_exec_ext"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -4803,7 +4835,7 @@
        if test "X$vi_cv_path_plain_lua" != "X"; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
        $as_echo_n "checking Lua version... " >&6; }
        -if test "${vi_cv_version_plain_lua+set}" = set; then :
        +if ${vi_cv_version_plain_lua+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
        @@ -4963,7 +4995,7 @@
        fi
        fi
        if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then
        - as_fn_error "could not configure lua" "$LINENO" 5
        + as_fn_error $? "could not configure lua" "$LINENO" 5
        fi


        @@ -5017,7 +5049,7 @@
        set dummy mzscheme; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_vi_cv_path_mzscheme+set}" = set; then :
        +if ${ac_cv_path_vi_cv_path_mzscheme+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $vi_cv_path_mzscheme in
        @@ -5031,7 +5063,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -5064,7 +5096,7 @@
        if test "X$vi_cv_path_mzscheme" != "X"; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5
        $as_echo_n "checking MzScheme install prefix... " >&6; }
        -if test "${vi_cv_path_mzscheme_pfx+set}" = set; then :
        +if ${vi_cv_path_mzscheme_pfx+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        echo "(display (simplify-path \
        @@ -5216,7 +5248,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5
        $as_echo_n "checking for ffi_type_void in -lffi... " >&6; }
        -if test "${ac_cv_lib_ffi_ffi_type_void+set}" = set; then :
        +if ${ac_cv_lib_ffi_ffi_type_void+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        ac_check_lib_save_LIBS=$LIBS
        @@ -5250,7 +5282,7 @@
        fi
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5
        $as_echo "$ac_cv_lib_ffi_ffi_type_void" >&6; }
        -if test "x$ac_cv_lib_ffi_ffi_type_void" = x""yes; then :
        +if test "x$ac_cv_lib_ffi_ffi_type_void" = xyes; then :
        MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"
        fi

        @@ -5326,7 +5358,7 @@
        set dummy perl; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_vi_cv_path_perl+set}" = set; then :
        +if ${ac_cv_path_vi_cv_path_perl+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $vi_cv_path_perl in
        @@ -5340,7 +5372,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -5488,7 +5520,7 @@
        fi

        if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
        - as_fn_error "could not configure perl" "$LINENO" 5
        + as_fn_error $? "could not configure perl" "$LINENO" 5
        fi
        fi

        @@ -5516,7 +5548,7 @@
        set dummy $ac_prog; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_vi_cv_path_python+set}" = set; then :
        +if ${ac_cv_path_vi_cv_path_python+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $vi_cv_path_python in
        @@ -5530,7 +5562,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
        + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
        $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        break 2
        @@ -5559,7 +5591,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
        $as_echo_n "checking Python version... " >&6; }
        -if test "${vi_cv_var_python_version+set}" = set; then :
        +if ${vi_cv_var_python_version+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_var_python_version=`
        @@ -5579,7 +5611,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
        $as_echo_n "checking Python's install prefix... " >&6; }
        -if test "${vi_cv_path_python_pfx+set}" = set; then :
        +if ${vi_cv_path_python_pfx+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_path_python_pfx=`
        @@ -5591,7 +5623,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
        $as_echo_n "checking Python's execution prefix... " >&6; }
        -if test "${vi_cv_path_python_epfx+set}" = set; then :
        +if ${vi_cv_path_python_epfx+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_path_python_epfx=`
        @@ -5602,7 +5634,7 @@
        $as_echo "$vi_cv_path_python_epfx" >&6; }


        - if test "${vi_cv_path_pythonpath+set}" = set; then :
        + if ${vi_cv_path_pythonpath+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        vi_cv_path_pythonpath=`
        @@ -5622,7 +5654,7 @@

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
        $as_echo_n "checking Python's configuration directory... " >&6; }
        -if test "${vi_cv_path_python_conf+set}" = set; then :
        +if ${vi_cv_path_python_conf+:} false; then :
        $as_echo_n "(cached) " >&6
        else

        @@ -5652,7 +5684,7 @@
        $as_echo "can't find it!" >&6; }
        else

        - if test "${vi_cv_path_python_plibs+set}" = set; then :
        + if ${vi_cv_path_python_plibs+:} false; then :
        $as_echo_n "(cached) " >&6
        else

        @@ -5793,7 +5825,7 @@
        fi

        if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
        - as_fn_error "could not configure python" "$LINENO" 5
        + as_fn_error $? "could not configure python" "$LINENO" 5
        fi
        fi

        @@ -5823,7 +5855,7 @@
        set dummy $ac_prog; ac_word=$2
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        $as_echo_n "checking for $ac_word... " >&6; }
        -if test "${ac_cv_path_vi_cv_path_python3+set}" = set; then :
        +if ${ac_cv_path_vi_cv_path_python3+:} false; then :
        $as_echo_n "(cached) " >&6
        else
        case $vi_cv_path_python3 in
        @@ -5837,7 +5869,7 @@
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for ac_exec_ext in '' $ac_executable_extensions; do
        - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; <br/><br/>(Message over 64 KB, truncated)
      • Hayaki Saito
        ZyX, I respect to your huge efforts for this works. I saw the default value of KS_8F/KS_8B in built-in caps for xterm is Konsole-style . ... Please consider
        Message 3 of 14 , Dec 14, 2013
        • 0 Attachment
          ZyX,

          I respect to your huge efforts for this works.

          I saw the default value of KS_8F/KS_8B in built-in caps for xterm is "Konsole-style".

          > +# ifdef FEAT_TERMTRUECOLOR
          > + {(int)KS_8F, IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")},
          > + {(int)KS_8B, IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")},
          > +# endif

          Please consider that Konsole-style 3-byte color mode extension(separated by semi-colon) is not ISO-8613-3 compatible.
          Konsole just followed in past Xterm's wrong footsteps(semi-colon separated 256 color sequence).
          Now I fear that this sequence brings us confusion because it breaks backward and forward compatibility.
          The detailed reasons of this is explained here. http://code.google.com/p/iterm2/issues/detail?id=218#c16

          These days, xterm seems to trying amending past mistakes.
          For example, the bogus mouse reporting sequence can be replaced by "SGR style”,
          the bogus OSC title sequence (it can include C1 control character) can be replaced with "title mode”.
          And now, Xterm accepts colon separators with 256color/3-byte-color sequence.
          I approve of this efforts for that improvements of xterm. At least we shouldn't make things worse any more.
          Please take attention for above‐mentioned issues.

          One more question,
          Why do you use direct 3-byte color sequence, instead of
          doing dynamic palette operation using initc("\e ] 4 ; r ; g ; b \e \”) which already defined by terminfo.
          I think most of color schemas don't require more than 256 colors at once.

          Best regards,

          — Hayaki Saito

          --
          --
          You received this message from the "vim_dev" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php

          ---
          You received this message because you are subscribed to the Google Groups "vim_dev" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        • Nikolay Pavlov
          ... Konsole-style . ... [38;2;%lu;%lu;%lum )}, ... [48;2;%lu;%lu;%lum )}, ... by semi-colon) is not ISO-8613-3 compatible. ... separated 256 color
          Message 4 of 14 , Dec 15, 2013
          • 0 Attachment


            On Dec 15, 2013 4:30 AM, "Hayaki Saito" <user@...> wrote:
            >
            > ZyX,
            >
            > I respect to your huge efforts for this works.
            >
            > I saw the default value of KS_8F/KS_8B in built-in caps for xterm is "Konsole-style".
            >
            > > +# ifdef FEAT_TERMTRUECOLOR
            > > +    {(int)KS_8F,        IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")},
            > > +    {(int)KS_8B,        IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")},
            > > +# endif
            >
            > Please consider that Konsole-style 3-byte color mode extension(separated by semi-colon) is not ISO-8613-3 compatible.
            > Konsole just followed in past Xterm's wrong footsteps(semi-colon separated 256 color sequence).
            > Now I fear that this sequence brings us confusion because it breaks backward and forward compatibility.
            > The detailed reasons of this is explained here. http://code.google.com/p/iterm2/issues/detail?id=218#c16
            >
            > These days, xterm seems to trying amending past mistakes.
            > For example, the bogus mouse reporting sequence can be replaced by "SGR style”,
            > the bogus OSC title sequence (it can include C1 control character) can be replaced with "title mode”.
            > And now, Xterm accepts colon separators with 256color/3-byte-color sequence.
            > I approve of this efforts for that improvements of xterm. At least we shouldn't make things worse any more.
            > Please take attention for above‐mentioned issues.

            You meant there that sequence should be ESC [ 48 : 2 : R : G : B? At least, this seems to work in xterm.

            If I am not mistaking this sequence is supported by xterm and iterm2, while current one is supported by xterm, iterm2, st, konsole, conemu (though you will probably have trouble setting vim to work here even in 8-bit mode). Xterm is to be ignored for no real support for true color (it uses nearest color from 8-bit palette), leaving us with 0+1 vs 3+1 terminals supporting each variant (+1 indicates that these terminals support both variants).

            In any case you will have to set t_8f/t_8b by hand if $TERM is not xterm. Replacing all semicolons with colons works fine in xterm.

            >
            > One more question,
            > Why do you use direct 3-byte color sequence, instead of
            > doing dynamic palette operation using initc("\e ] 4 ; r ; g ; b \e \”) which already defined by terminfo.
            > I think most of color schemas don't require more than 256 colors at once.

            Powerline uses 100 colors per each gradient. Given the fact that there is more then one gradient 256 colors is completely not enough. Also what colors will one see once he does :susp/CTRL-Z?

            > Best regards,
            >
            > — Hayaki Saito
            >
            > --
            > --
            > You received this message from the "vim_dev" maillist.
            > Do not top-post! Type your reply below the text you are replying to.
            > For more information, visit http://www.vim.org/maillist.php
            >
            > ---
            > You received this message because you are subscribed to the Google Groups "vim_dev" group.
            > To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
            > For more options, visit https://groups.google.com/groups/opt_out.

            --
            --
            You received this message from the "vim_dev" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php
             
            ---
            You received this message because you are subscribed to the Google Groups "vim_dev" group.
            To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
            For more options, visit https://groups.google.com/groups/opt_out.
          • Hayaki Saito
            ZyX, I m sorry for late reply. 2013/12/15 22:10、Nikolay Pavlov : ... Yes, I certainly feel xterm s colon separated style (ESC [ 48 : 2
            Message 5 of 14 , Jan 10, 2014
            • 0 Attachment
              ZyX, I'm sorry for late reply.

              2013/12/15 22:10、Nikolay Pavlov <zyx.vim@...> :

              > You meant there that sequence should be ESC [ 48 : 2 : R : G : B?

              Yes, I certainly feel xterm's colon separated style (ESC [ 48 : 2 : R : G : B m) is better than konsole-style (ESC [ 48 ; 2 ; R ; G ; B m).
              But I think the best way for this is to propose yet another new control sequence.
              (colon separated style is very hard to be implemented by some existing terminals.)

              In any case, I belive Konsole-style is the worst way for the terminal world in the long view.

              It lacks forward compatibility:
              "CSI 38/48 ; n ;" takes variable length arguments, so this sequence can not extend safely in future.
              It will kill the flexibility of control sequence.

              It lacks backward compatibility:
              This sequence causes wrong Interpretation by many terminals, terminal multiplexers, and terminal filters.
              Furthermore it breaks the design rule of SGR.
              Consequently, we saw the following ugly patch for linux console:
              http://www.spinics.net/lists/kernel/msg1598784.html?utm_medium=twitter&utm_source=twitterfeed&utm_term=%23kernel+%23Linux

              To tell the truth, I used to agree with this feature.
              I implemented 24bit SGR sequence experimentally on the terminal which I developed, in Oct. 2012, but dropped it on Sep. 2013,
              because during this period I found out above compatibility problems and other performance problems.
              I think it requires more arguments and improvements about this feature.

              > > One more question,
              > > Why do you use direct 3-byte color sequence, instead of
              > > doing dynamic palette operation using initc("\e ] 4 ; r ; g ; b \e \”) which already defined by terminfo.
              > > I think most of color schemas don't require more than 256 colors at once.
              >
              > Powerline uses 100 colors per each gradient.

              Oh.. I see.

              > Also what colors will one see once he does :susp/CTRL-Z?

              It can be theoretically possible to do this using "ESC ] 104 ; … ST”.
              But for current vim, this way may cause another problems so vim’s suspend behavior is very sensitive.

              Best regards,

              — Hayaki Saito

              --
              --
              You received this message from the "vim_dev" maillist.
              Do not top-post! Type your reply below the text you are replying to.
              For more information, visit http://www.vim.org/maillist.php

              ---
              You received this message because you are subscribed to the Google Groups "vim_dev" group.
              To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
              For more options, visit https://groups.google.com/groups/opt_out.
            • ZyX
              Update: merged with upstream and extended documentation regarding &t_8f and &t_8b. diff -r 03a813f2cf51 -r 64d20b6d9488 runtime/doc/options.txt ... +++
              Message 6 of 14 , Nov 22, 2014
              • 0 Attachment
                Update: merged with upstream and extended documentation regarding &t_8f and &t_8b.

                diff -r 03a813f2cf51 -r 64d20b6d9488 runtime/doc/options.txt
                --- a/runtime/doc/options.txt Thu Nov 20 23:07:05 2014 +0100
                +++ b/runtime/doc/options.txt Sat Nov 22 18:38:22 2014 +0300
                @@ -3401,6 +3401,18 @@
                This option cannot be set from a |modeline| or in the |sandbox|, for
                security reasons.

                + *'guicolors'* *'gcol'*
                +'guicolors' 'gcol' boolean (default off)
                + global
                + {not in Vi}
                + {not available when compiled without the
                + |+termtruecolor| feature}
                + When on, uses |highlight-guifg| and |highlight-guibg| attributes in
                + terminal (thus using 24-bit color). Requires ISO-8613-3 compatible
                + terminal.
                + If just setting this option does not work (produces colorless UI)
                + reading |xterm-true-color| might help.
                +
                *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
                'guicursor' 'gcr' string (default "n-v-c:block-Cursor/lCursor,
                ve:ver35-Cursor,
                diff -r 03a813f2cf51 -r 64d20b6d9488 runtime/doc/term.txt
                --- a/runtime/doc/term.txt Thu Nov 20 23:07:05 2014 +0100
                +++ b/runtime/doc/term.txt Sat Nov 22 18:38:22 2014 +0300
                @@ -296,6 +296,10 @@
                |xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
                t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
                see |'ambiwidth'|
                + t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
                + |xterm-true-color|
                + t_8b set background color (R, G, B) *t_8b* *'t_8b'*
                + |xterm-true-color|

                KEY CODES
                Note: Use the <> form if possible
                @@ -412,6 +416,21 @@
                Note: This is only done on startup. If the xterm options are changed after
                Vim has started, the escape sequences may not be recognized any more.

                + *xterm-true-color*
                +Vim supports using true colors in terminal (taken from |highlight-guifg| and
                +|highlight-guibg|), given that terminal supports this as well. To make this
                +work 'guicolors' option needs to be set. Sometimes setting it is not enough
                +and one may have to set |t_8f| and |t_8b| options explicitly for GUI colors to
                +work. Default values of these options are `^[[38;2;%lu;%lu;%lum` and
                +`^[[48;2;%lu;%lu;%lum` (replace `^[` with real escape) respectively, but it is
                +only set only when `$TERM` is `xterm`. Some terminals accept the same
                +sequences, but with all semicolons replaced by colons (this is actually more
                +compatible, but less widely supported). These options contain printf strings,
                +with |printf()| (actually, its C equivalent hence `l` modifier) invoked with
                +the t_ option value and three unsigned long integers that may have any value
                +between 0 and 255 (inclusive) representing red, green and blue colors
                +respectively.
                +
                *xterm-resize*
                Window resizing with xterm only works if the allowWindowOps resource is
                enabled. On some systems and versions of xterm it's disabled by default
                diff -r 03a813f2cf51 -r 64d20b6d9488 runtime/doc/various.txt
                --- a/runtime/doc/various.txt Thu Nov 20 23:07:05 2014 +0100
                +++ b/runtime/doc/various.txt Sat Nov 22 18:38:22 2014 +0300
                @@ -428,6 +428,7 @@
                m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
                *+terminfo* uses |terminfo| instead of termcap
                N *+termresponse* support for |t_RV| and |v:termresponse|
                +m *+termtruecolor* 24-bit color in xterm-compatible terminals support
                N *+textobjects* |text-objects| selection
                *+tgetent* non-Unix only: able to use external termcap
                N *+title* Setting the window 'title' and 'icon'
                diff -r 03a813f2cf51 -r 64d20b6d9488 runtime/syntax/vim.vim
                --- a/runtime/syntax/vim.vim Thu Nov 20 23:07:05 2014 +0100
                +++ b/runtime/syntax/vim.vim Sat Nov 22 18:38:22 2014 +0300
                @@ -33,21 +33,21 @@
                syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt re restorescreen rnu rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfh wig wildmode winfixwidth wiw wrap writedelay
                syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight readonly revins ro runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wfw wildchar wildoptions winheight wm wrapmargin ws
                syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime ri rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc wh wildcharm wim winminheight wmh wrapscan ww
                -syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell
                +syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell guicolors

                " vimOptions: These are the turn-off setting variants {{{2
                syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofk nogd nohid nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
                syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofkmap nogdefault nohidden nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
                -syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofoldenable noguipty nohk
                +syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofoldenable noguipty nohk noguicolors

                " vimOptions: These are the invertible variants {{{2
                syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfk invgd invhid invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
                syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfkmap invgdefault invhidden invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
                -syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfoldenable invguipty invhk
                +syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfoldenable invguipty invhk invguicolors

                " termcap codes (which can also be set) {{{2
                syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR
                -syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs
                +syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_8f t_8b
                syn match vimOption contained "t_%1"
                syn match vimOption contained "t_#2"
                syn match vimOption contained "t_#4"
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/auto/configure
                --- a/src/auto/configure Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/auto/configure Sat Nov 22 18:38:22 2014 +0300
                @@ -804,6 +804,7 @@
                enable_rubyinterp
                with_ruby_command
                enable_cscope
                +enable_termtruecolor
                enable_workshop
                enable_netbeans
                enable_sniff
                @@ -1467,6 +1468,7 @@
                --enable-tclinterp Include Tcl interpreter.
                --enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
                --enable-cscope Include cscope interface.
                + --enable-termtruecolor Include support for 24-bit colors in ISO-8613-3 compatible terminals
                --enable-workshop Include Sun Visual Workshop support.
                --disable-netbeans Disable NetBeans integration support.
                --enable-sniff Include Sniff interface.
                @@ -7087,6 +7089,22 @@

                fi

                +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-termtruecolor argument" >&5
                +$as_echo_n "checking --enable-termtruecolor argument... " >&6; }
                +# Check whether --enable-termtruecolor was given.
                +if test "${enable_termtruecolor+set}" = set; then :
                + enableval=$enable_termtruecolor;
                +else
                + enable_termtruecolor="no"
                +fi
                +
                +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_termtruecolor" >&5
                +$as_echo "$enable_termtruecolor" >&6; }
                +if test "$enable_termtruecolor" = "yes"; then
                + $as_echo "#define FEAT_TERMTRUECOLOR 1" >>confdefs.h
                +
                +fi
                +
                { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-workshop argument" >&5
                $as_echo_n "checking --enable-workshop argument... " >&6; }
                # Check whether --enable-workshop was given.
                @@ -11447,7 +11465,7 @@
                We can't simply define LARGE_OFF_T to be 9223372036854775807,
                since some C++ compilers masquerading as C compilers
                incorrectly reject 9223372036854775807. */
                -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
                +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
                int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
                && LARGE_OFF_T % 2147483647 == 1)
                ? 1 : -1];
                @@ -11493,7 +11511,7 @@
                We can't simply define LARGE_OFF_T to be 9223372036854775807,
                since some C++ compilers masquerading as C compilers
                incorrectly reject 9223372036854775807. */
                -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
                +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
                int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
                && LARGE_OFF_T % 2147483647 == 1)
                ? 1 : -1];
                @@ -11517,7 +11535,7 @@
                We can't simply define LARGE_OFF_T to be 9223372036854775807,
                since some C++ compilers masquerading as C compilers
                incorrectly reject 9223372036854775807. */
                -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
                +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
                int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
                && LARGE_OFF_T % 2147483647 == 1)
                ? 1 : -1];
                @@ -11562,7 +11580,7 @@
                We can't simply define LARGE_OFF_T to be 9223372036854775807,
                since some C++ compilers masquerading as C compilers
                incorrectly reject 9223372036854775807. */
                -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
                +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
                int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
                && LARGE_OFF_T % 2147483647 == 1)
                ? 1 : -1];
                @@ -11586,7 +11604,7 @@
                We can't simply define LARGE_OFF_T to be 9223372036854775807,
                since some C++ compilers masquerading as C compilers
                incorrectly reject 9223372036854775807. */
                -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
                +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
                int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
                && LARGE_OFF_T % 2147483647 == 1)
                ? 1 : -1];
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/config.h.in
                --- a/src/config.h.in Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/config.h.in Sat Nov 22 18:38:22 2014 +0300
                @@ -360,6 +360,9 @@
                /* Define if you want to include the Tcl interpreter. */
                #undef FEAT_TCL

                +/* Define if you want 24-bit colors in ISO-8613-3 compatible terminals. */
                +#undef FEAT_TERMTRUECOLOR
                +
                /* Define if you want to include the Sniff interface. */
                #undef FEAT_SNIFF

                diff -r 03a813f2cf51 -r 64d20b6d9488 src/configure.in
                --- a/src/configure.in Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/configure.in Sat Nov 22 18:38:22 2014 +0300
                @@ -1818,6 +1818,15 @@
                AC_DEFINE(FEAT_CSCOPE)
                fi

                +AC_MSG_CHECKING(--enable-termtruecolor argument)
                +AC_ARG_ENABLE(termtruecolor,
                + [ --enable-termtruecolor Include support for 24-bit colors in ISO-8613-3 compatible terminals], ,
                + [enable_termtruecolor="no"])
                +AC_MSG_RESULT($enable_termtruecolor)
                +if test "$enable_termtruecolor" = "yes"; then
                + AC_DEFINE(FEAT_TERMTRUECOLOR)
                +fi
                +
                AC_MSG_CHECKING(--enable-workshop argument)
                AC_ARG_ENABLE(workshop,
                [ --enable-workshop Include Sun Visual Workshop support.], ,
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/eval.c
                --- a/src/eval.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/eval.c Sat Nov 22 18:38:22 2014 +0300
                @@ -12783,6 +12783,9 @@
                #ifdef FEAT_TERMRESPONSE
                "termresponse",
                #endif
                +#ifdef FEAT_TERMTRUECOLOR
                + "termtruecolor",
                +#endif
                #ifdef FEAT_TEXTOBJ
                "textobjects",
                #endif
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/globals.h
                --- a/src/globals.h Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/globals.h Sat Nov 22 18:38:22 2014 +0300
                @@ -368,6 +368,10 @@
                EXTERN int cterm_normal_fg_color INIT(= 0);
                EXTERN int cterm_normal_fg_bold INIT(= 0);
                EXTERN int cterm_normal_bg_color INIT(= 0);
                +#ifdef FEAT_TERMTRUECOLOR
                +EXTERN long_u cterm_normal_fg_gui_color INIT(= INVALCOLOR);
                +EXTERN long_u cterm_normal_bg_gui_color INIT(= INVALCOLOR);
                +#endif

                #ifdef FEAT_AUTOCMD
                EXTERN int autocmd_busy INIT(= FALSE); /* Is apply_autocmds() busy? */
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/hardcopy.c
                --- a/src/hardcopy.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/hardcopy.c Sat Nov 22 18:38:22 2014 +0300
                @@ -284,8 +284,8 @@
                pattr->underline = (highlight_has_attr(hl_id, HL_UNDERLINE, modec) != NULL);
                pattr->undercurl = (highlight_has_attr(hl_id, HL_UNDERCURL, modec) != NULL);

                -# ifdef FEAT_GUI
                - if (gui.in_use)
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                + if (USE_24BIT)
                {
                bg_color = highlight_gui_color_rgb(hl_id, FALSE);
                if (bg_color == PRCOLOR_BLACK)
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/option.c
                --- a/src/option.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/option.c Sat Nov 22 18:38:22 2014 +0300
                @@ -1296,6 +1296,15 @@
                {(char_u *)NULL, (char_u *)0L}
                #endif
                SCRIPTID_INIT},
                + {"guicolors", "gcol", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
                +#ifdef FEAT_TERMTRUECOLOR
                + (char_u *)&p_guicolors, PV_NONE,
                + {(char_u *)FALSE, (char_u *)FALSE}
                +#else
                + (char_u*)NULL, PV_NONE,
                + {(char_u *)FALSE, (char_u *)FALSE}
                +#endif
                + SCRIPTID_INIT},
                {"guicursor", "gcr", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
                #ifdef CURSOR_SHAPE
                (char_u *)&p_guicursor, PV_NONE,
                @@ -2981,6 +2990,8 @@
                p_term("t_xs", T_XS)
                p_term("t_ZH", T_CZH)
                p_term("t_ZR", T_CZR)
                + p_term("t_8f", T_8F)
                + p_term("t_8b", T_8B)

                /* terminal key codes are not in here */

                @@ -8203,6 +8214,17 @@

                #endif

                +#ifdef FEAT_TERMTRUECOLOR
                + /* 'guicolors' */
                + else if ((int *)varp == &p_guicolors)
                + {
                +# ifdef FEAT_GUI
                + if (!gui.in_use && !gui.starting)
                +# endif
                + highlight_gui_started();
                + }
                +#endif
                +
                /*
                * End of handling side effects for bool options.
                */
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/option.h
                --- a/src/option.h Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/option.h Sat Nov 22 18:38:22 2014 +0300
                @@ -497,6 +497,9 @@
                EXTERN char_u *p_header; /* 'printheader' */
                #endif
                EXTERN int p_prompt; /* 'prompt' */
                +#ifdef FEAT_TERMTRUECOLOR
                +EXTERN int p_guicolors; /* 'guicolors' */
                +#endif
                #ifdef FEAT_GUI
                EXTERN char_u *p_guifont; /* 'guifont' */
                # ifdef FEAT_XFONTSET
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/proto/term.pro
                --- a/src/proto/term.pro Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/proto/term.pro Sat Nov 22 18:38:22 2014 +0300
                @@ -59,4 +59,9 @@
                int show_one_termcode __ARGS((char_u *name, char_u *code, int printit));
                char_u *translate_mapping __ARGS((char_u *str, int expmap));
                void update_tcap __ARGS((int attr));
                +guicolor_T termtrue_mch_get_color __ARGS((char_u *name));
                +guicolor_T termtrue_get_color __ARGS((char_u *name));
                +long_u termtrue_mch_get_rgb __ARGS((guicolor_T color));
                +void term_fg_rgb_color __ARGS((long_u rgb));
                +void term_bg_rgb_color __ARGS((long_u rgb));
                /* vim: set ft=c : */
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/screen.c
                --- a/src/screen.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/screen.c Sat Nov 22 18:38:22 2014 +0300
                @@ -7716,7 +7716,7 @@
                {
                if (attr > HL_ALL) /* special HL attr. */
                {
                - if (t_colors > 1)
                + if (IS_CTERM)
                aep = syn_cterm_attr2entry(attr);
                else
                aep = syn_term_attr2entry(attr);
                @@ -7727,8 +7727,16 @@
                }
                if ((attr & HL_BOLD) && T_MD != NULL) /* bold */
                out_str(T_MD);
                - else if (aep != NULL && t_colors > 1 && aep->ae_u.cterm.fg_color
                - && cterm_normal_fg_bold)
                + else if (aep != NULL && cterm_normal_fg_bold &&
                +#ifdef FEAT_TERMTRUECOLOR
                + (p_guicolors ?
                + (aep->ae_u.cterm.fg_rgb != INVALCOLOR):
                +#endif
                + (t_colors > 1 && aep->ae_u.cterm.fg_color)
                +#ifdef FEAT_TERMTRUECOLOR
                + )
                +#endif
                + )
                /* If the Normal FG color has BOLD attribute and the new HL
                * has a FG color defined, clear BOLD. */
                out_str(T_ME);
                @@ -7748,17 +7756,29 @@
                */
                if (aep != NULL)
                {
                - if (t_colors > 1)
                - {
                - if (aep->ae_u.cterm.fg_color)
                - term_fg_color(aep->ae_u.cterm.fg_color - 1);
                - if (aep->ae_u.cterm.bg_color)
                - term_bg_color(aep->ae_u.cterm.bg_color - 1);
                +#ifdef FEAT_TERMTRUECOLOR
                + if (p_guicolors)
                + {
                + if (aep->ae_u.cterm.fg_rgb != INVALCOLOR)
                + term_fg_rgb_color(aep->ae_u.cterm.fg_rgb);
                + if (aep->ae_u.cterm.bg_rgb != INVALCOLOR)
                + term_bg_rgb_color(aep->ae_u.cterm.bg_rgb);
                }
                else
                - {
                - if (aep->ae_u.term.start != NULL)
                - out_str(aep->ae_u.term.start);
                +#endif
                + {
                + if (t_colors > 1)
                + {
                + if (aep->ae_u.cterm.fg_color)
                + term_fg_color(aep->ae_u.cterm.fg_color - 1);
                + if (aep->ae_u.cterm.bg_color)
                + term_bg_color(aep->ae_u.cterm.bg_color - 1);
                + }
                + else
                + {
                + if (aep->ae_u.term.start != NULL)
                + out_str(aep->ae_u.term.start);
                + }
                }
                }
                }
                @@ -7792,14 +7812,23 @@
                {
                attrentry_T *aep;

                - if (t_colors > 1)
                + if (IS_CTERM)
                {
                /*
                * Assume that t_me restores the original colors!
                */
                aep = syn_cterm_attr2entry(screen_attr);
                - if (aep != NULL && (aep->ae_u.cterm.fg_color
                - || aep->ae_u.cterm.bg_color))
                + if (aep != NULL &&
                +#ifdef FEAT_TERMTRUECOLOR
                + (p_guicolors ?
                + (aep->ae_u.cterm.fg_rgb != INVALCOLOR ||
                + aep->ae_u.cterm.bg_rgb != INVALCOLOR):
                +#endif
                + (aep->ae_u.cterm.fg_color || aep->ae_u.cterm.bg_color)
                +#ifdef FEAT_TERMTRUECOLOR
                + )
                +#endif
                + )
                do_ME = TRUE;
                }
                else
                @@ -7847,15 +7876,27 @@
                if (do_ME || (screen_attr & (HL_BOLD | HL_INVERSE)))
                out_str(T_ME);

                - if (t_colors > 1)
                - {
                - /* set Normal cterm colors */
                - if (cterm_normal_fg_color != 0)
                - term_fg_color(cterm_normal_fg_color - 1);
                - if (cterm_normal_bg_color != 0)
                - term_bg_color(cterm_normal_bg_color - 1);
                - if (cterm_normal_fg_bold)
                - out_str(T_MD);
                +#ifdef FEAT_TERMTRUECOLOR
                + if (p_guicolors)
                + {
                + if (cterm_normal_fg_gui_color != INVALCOLOR)
                + term_fg_rgb_color(cterm_normal_fg_gui_color);
                + if (cterm_normal_bg_gui_color != INVALCOLOR)
                + term_bg_rgb_color(cterm_normal_bg_gui_color);
                + }
                + else
                +#endif
                + {
                + if (t_colors > 1)
                + {
                + /* set Normal cterm colors */
                + if (cterm_normal_fg_color != 0)
                + term_fg_color(cterm_normal_fg_color - 1);
                + if (cterm_normal_bg_color != 0)
                + term_bg_color(cterm_normal_bg_color - 1);
                + if (cterm_normal_fg_bold)
                + out_str(T_MD);
                + }
                }
                }
                }
                @@ -7869,10 +7910,17 @@
                void
                reset_cterm_colors()
                {
                - if (t_colors > 1)
                + if (IS_CTERM)
                {
                /* set Normal cterm colors */
                +#ifdef FEAT_TERMTRUECOLOR
                + if (p_guicolors ?
                + (cterm_normal_fg_gui_color != INVALCOLOR
                + || cterm_normal_bg_gui_color != INVALCOLOR):
                + (cterm_normal_fg_color > 0 || cterm_normal_bg_color > 0))
                +#else
                if (cterm_normal_fg_color > 0 || cterm_normal_bg_color > 0)
                +#endif
                {
                out_str(T_OP);
                screen_attr = -1;
                @@ -8118,7 +8166,7 @@
                #ifdef FEAT_GUI
                !gui.in_use &&
                #endif
                - t_colors <= 1);
                + !IS_CTERM);
                for (row = start_row; row < end_row; ++row)
                {
                #ifdef FEAT_MBYTE
                @@ -8812,6 +8860,9 @@
                #ifdef FEAT_GUI
                || gui.in_use
                #endif
                +#ifdef FEAT_TERMTRUECOLOR
                + || (p_guicolors && cterm_normal_bg_gui_color != INVALCOLOR)
                +#endif
                || cterm_normal_bg_color == 0 || *T_UT != NUL));
                }

                @@ -10122,6 +10173,9 @@
                #ifdef FEAT_GUI
                && !gui.in_use
                #endif
                +#ifdef FEAT_TERMTRUECOLOR
                + && !p_guicolors
                +#endif
                );

                redraw_tabline = FALSE;
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/structs.h
                --- a/src/structs.h Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/structs.h Sat Nov 22 18:38:22 2014 +0300
                @@ -84,7 +84,9 @@
                # ifdef FEAT_XCLIPBOARD
                # include <X11/Intrinsic.h>
                # endif
                -# define guicolor_T int /* avoid error in prototypes */
                +# define guicolor_T long_u /* avoid error in prototypes and
                + * make FEAT_TERMTRUECOLOR work */
                +# define INVALCOLOR ((guicolor_T)0x1ffffff)
                #endif

                /*
                @@ -911,6 +913,10 @@
                /* These colors need to be > 8 bits to hold 256. */
                short_u fg_color; /* foreground color number */
                short_u bg_color; /* background color number */
                +# ifdef FEAT_TERMTRUECOLOR
                + long_u fg_rgb; /* foreground color RGB */
                + long_u bg_rgb; /* background color RGB */
                +# endif
                } cterm;
                # ifdef FEAT_GUI
                struct
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/syntax.c
                --- a/src/syntax.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/syntax.c Sat Nov 22 18:38:22 2014 +0300
                @@ -33,10 +33,12 @@
                int sg_cterm_fg; /* terminal fg color number + 1 */
                int sg_cterm_bg; /* terminal bg color number + 1 */
                int sg_cterm_attr; /* Screen attr for color term mode */
                -#ifdef FEAT_GUI
                /* for when using the GUI */
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                guicolor_T sg_gui_fg; /* GUI foreground color handle */
                guicolor_T sg_gui_bg; /* GUI background color handle */
                +#endif
                +#ifdef FEAT_GUI
                guicolor_T sg_gui_sp; /* GUI special color handle */
                GuiFont sg_font; /* GUI font handle */
                #ifdef FEAT_XFONTSET
                @@ -97,10 +99,12 @@
                static int hl_has_settings __ARGS((int idx, int check_link));
                static void highlight_clear __ARGS((int idx));

                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                +static void gui_do_one_color __ARGS((int idx, int do_menu, int do_tooltip));
                +static guicolor_T color_name2handle __ARGS((char_u *name));
                +#endif
                #ifdef FEAT_GUI
                -static void gui_do_one_color __ARGS((int idx, int do_menu, int do_tooltip));
                static int set_group_colors __ARGS((char_u *name, guicolor_T *fgp, guicolor_T *bgp, int do_menu, int use_norm, int do_tooltip));
                -static guicolor_T color_name2handle __ARGS((char_u *name));
                static GuiFont font_name2handle __ARGS((char_u *name));
                # ifdef FEAT_XFONTSET
                static GuiFontset fontset_name2handle __ARGS((char_u *name, int fixed_width));
                @@ -7302,8 +7306,8 @@
                for (idx = 0; idx < highlight_ga.ga_len; ++idx)
                highlight_clear(idx);
                init_highlight(TRUE, TRUE);
                -#ifdef FEAT_GUI
                - if (gui.in_use)
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                + if (USE_24BIT)
                highlight_gui_started();
                #endif
                highlight_changed();
                @@ -7760,10 +7764,16 @@
                if (!init)
                HL_TABLE()[idx].sg_set |= SG_GUI;

                -# ifdef FEAT_GUI
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                /* In GUI guifg colors are only used when recognized */
                i = color_name2handle(arg);
                - if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !gui.in_use)
                + if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0
                +# ifdef FEAT_GUI
                + || !(USE_24BIT)
                +# else
                + || !p_guicolors
                +# endif
                + )
                {
                HL_TABLE()[idx].sg_gui_fg = i;
                # endif
                @@ -7772,7 +7782,7 @@
                HL_TABLE()[idx].sg_gui_fg_name = vim_strsave(arg);
                else
                HL_TABLE()[idx].sg_gui_fg_name = NULL;
                -# ifdef FEAT_GUI
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                # ifdef FEAT_GUI_X11
                if (is_menu_group)
                gui.menu_fg_pixel = i;
                @@ -7797,10 +7807,10 @@
                if (!init)
                HL_TABLE()[idx].sg_set |= SG_GUI;

                -# ifdef FEAT_GUI
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                /* In GUI guifg colors are only used when recognized */
                i = color_name2handle(arg);
                - if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !gui.in_use)
                + if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !USE_24BIT)
                {
                HL_TABLE()[idx].sg_gui_bg = i;
                # endif
                @@ -7809,7 +7819,7 @@
                HL_TABLE()[idx].sg_gui_bg_name = vim_strsave(arg);
                else
                HL_TABLE()[idx].sg_gui_bg_name = NULL;
                -# ifdef FEAT_GUI
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                # ifdef FEAT_GUI_X11
                if (is_menu_group)
                gui.menu_bg_pixel = i;
                @@ -7969,7 +7979,9 @@
                * Need to update all groups, because they might be using "bg"
                * and/or "fg", which have been changed now.
                */
                - if (gui.in_use)
                +#endif
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                + if (USE_24BIT)
                highlight_gui_started();
                #endif
                }
                @@ -8040,6 +8052,10 @@
                cterm_normal_fg_color = 0;
                cterm_normal_fg_bold = 0;
                cterm_normal_bg_color = 0;
                +# ifdef FEAT_TERMTRUECOLOR
                + cterm_normal_fg_gui_color = INVALCOLOR;
                + cterm_normal_bg_gui_color = INVALCOLOR;
                +# endif
                #endif
                }

                @@ -8093,9 +8109,11 @@
                vim_free(HL_TABLE()[idx].sg_gui_sp_name);
                HL_TABLE()[idx].sg_gui_sp_name = NULL;
                #endif
                -#ifdef FEAT_GUI
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                HL_TABLE()[idx].sg_gui_fg = INVALCOLOR;
                HL_TABLE()[idx].sg_gui_bg = INVALCOLOR;
                +#endif
                +#ifdef FEAT_GUI
                HL_TABLE()[idx].sg_gui_sp = INVALCOLOR;
                gui_mch_free_font(HL_TABLE()[idx].sg_font);
                HL_TABLE()[idx].sg_font = NOFONT;
                @@ -8115,7 +8133,7 @@
                #endif
                }

                -#if defined(FEAT_GUI) || defined(PROTO)
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
                /*
                * Set the normal foreground and background colors according to the "Normal"
                * highlighting group. For X11 also set "Menu", "Scrollbar", and
                @@ -8124,44 +8142,78 @@
                void
                set_normal_colors()
                {
                - if (set_group_colors((char_u *)"Normal",
                - &gui.norm_pixel, &gui.back_pixel,
                - FALSE, TRUE, FALSE))
                - {
                - gui_mch_new_colors();
                - must_redraw = CLEAR;
                - }
                -#ifdef FEAT_GUI_X11
                - if (set_group_colors((char_u *)"Menu",
                - &gui.menu_fg_pixel, &gui.menu_bg_pixel,
                - TRUE, FALSE, FALSE))
                - {
                -# ifdef FEAT_MENU
                - gui_mch_new_menu_colors();
                +#ifdef FEAT_GUI
                +# ifdef FEAT_TERMTRUECOLOR
                + if (gui.in_use)
                # endif
                - must_redraw = CLEAR;
                - }
                -# ifdef FEAT_BEVAL
                - if (set_group_colors((char_u *)"Tooltip",
                - &gui.tooltip_fg_pixel, &gui.tooltip_bg_pixel,
                - FALSE, FALSE, TRUE))
                - {
                -# ifdef FEAT_TOOLBAR
                - gui_mch_new_tooltip_colors();
                + {
                + if (set_group_colors((char_u *)"Normal",
                + &gui.norm_pixel, &gui.back_pixel,
                + FALSE, TRUE, FALSE))
                + {
                + gui_mch_new_colors();
                + must_redraw = CLEAR;
                + }
                +# ifdef FEAT_GUI_X11
                + if (set_group_colors((char_u *)"Menu",
                + &gui.menu_fg_pixel, &gui.menu_bg_pixel,
                + TRUE, FALSE, FALSE))
                + {
                +# ifdef FEAT_MENU
                + gui_mch_new_menu_colors();
                +# endif
                + must_redraw = CLEAR;
                + }
                +# ifdef FEAT_BEVAL
                + if (set_group_colors((char_u *)"Tooltip",
                + &gui.tooltip_fg_pixel, &gui.tooltip_bg_pixel,
                + FALSE, FALSE, TRUE))
                + {
                +# ifdef FEAT_TOOLBAR
                + gui_mch_new_tooltip_colors();
                +# endif
                + must_redraw = CLEAR;
                + }
                +# endif
                + if (set_group_colors((char_u *)"Scrollbar",
                + &gui.scroll_fg_pixel, &gui.scroll_bg_pixel,
                + FALSE, FALSE, FALSE))
                + {
                + gui_new_scrollbar_colors();
                + must_redraw = CLEAR;
                + }
                # endif
                - must_redraw = CLEAR;
                - }
                -#endif
                - if (set_group_colors((char_u *)"Scrollbar",
                - &gui.scroll_fg_pixel, &gui.scroll_bg_pixel,
                - FALSE, FALSE, FALSE))
                - {
                - gui_new_scrollbar_colors();
                - must_redraw = CLEAR;
                - }
                -#endif
                -}
                -
                + }
                +#endif
                +#ifdef FEAT_TERMTRUECOLOR
                +# ifdef FEAT_GUI
                + else
                +# endif
                + {
                + int idx;
                +
                + idx = syn_name2id((char_u *)"Normal") - 1;
                + if (idx >= 0)
                + {
                + gui_do_one_color(idx, FALSE, FALSE);
                +
                + if (HL_TABLE()[idx].sg_gui_fg != INVALCOLOR)
                + {
                + cterm_normal_fg_gui_color = HL_TABLE()[idx].sg_gui_fg;
                + must_redraw = CLEAR;
                + }
                + if (HL_TABLE()[idx].sg_gui_bg != INVALCOLOR)
                + {
                + cterm_normal_bg_gui_color = HL_TABLE()[idx].sg_gui_bg;
                + must_redraw = CLEAR;
                + }
                + }
                + }
                +#endif
                +}
                +#endif
                +
                +#if defined(FEAT_GUI) || defined(PROTO)
                /*
                * Set the colors for "Normal", "Menu", "Tooltip" or "Scrollbar".
                */
                @@ -8275,25 +8327,6 @@
                }

                /*
                - * Return the handle for a color name.
                - * Returns INVALCOLOR when failed.
                - */
                - static guicolor_T
                -color_name2handle(name)
                - char_u *name;
                -{
                - if (STRCMP(name, "NONE") == 0)
                - return INVALCOLOR;
                -
                - if (STRICMP(name, "fg") == 0 || STRICMP(name, "foreground") == 0)
                - return gui.norm_pixel;
                - if (STRICMP(name, "bg") == 0 || STRICMP(name, "background") == 0)
                - return gui.back_pixel;
                -
                - return gui_get_color(name);
                -}
                -
                -/*
                * Return the handle for a font name.
                * Returns NOFONT when failed.
                */
                @@ -8419,6 +8452,53 @@

                #endif /* FEAT_GUI */

                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
                +/*
                + * Return the handle for a color name.
                + * Returns INVALCOLOR when failed.
                + */
                + static guicolor_T
                +color_name2handle(name)
                + char_u *name;
                +{
                + if (STRCMP(name, "NONE") == 0)
                + return INVALCOLOR;
                +
                + if (STRICMP(name, "fg") == 0 || STRICMP(name, "foreground") == 0)
                + {
                +#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
                + if (gui.in_use)
                +#endif
                +#ifdef FEAT_GUI
                + return gui.norm_pixel;
                +#endif
                +#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
                + else
                +#endif
                +#ifdef FEAT_TERMTRUECOLOR
                + return cterm_normal_fg_gui_color;
                +#endif
                + }
                + if (STRICMP(name, "bg") == 0 || STRICMP(name, "background") == 0)
                + {
                +#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
                + if (gui.in_use)
                +#endif
                +#ifdef FEAT_GUI
                + return gui.back_pixel;
                +#endif
                +#if defined(FEAT_TERMTRUECOLOR) && defined(FEAT_GUI)
                + else
                +#endif
                +#ifdef FEAT_TERMTRUECOLOR
                + return cterm_normal_bg_gui_color;
                +#endif
                + }
                +
                + return GUI_GET_COLOR(name);
                +}
                +#endif
                +
                /*
                * Table with the specifications for an attribute number.
                * Note that this table is used by ALL buffers. This is required because the
                @@ -8496,8 +8576,15 @@
                && aep->ae_u.cterm.fg_color
                == taep->ae_u.cterm.fg_color
                && aep->ae_u.cterm.bg_color
                - == taep->ae_u.cterm.bg_color)
                - ))
                + == taep->ae_u.cterm.bg_color
                +#ifdef FEAT_TERMTRUECOLOR
                + && aep->ae_u.cterm.fg_rgb
                + == taep->ae_u.cterm.fg_rgb
                + && aep->ae_u.cterm.bg_rgb
                + == taep->ae_u.cterm.bg_rgb
                +#endif
                +
                + )))

                return i + ATTR_OFF;
                }
                @@ -8562,6 +8649,10 @@
                {
                taep->ae_u.cterm.fg_color = aep->ae_u.cterm.fg_color;
                taep->ae_u.cterm.bg_color = aep->ae_u.cterm.bg_color;
                +#ifdef FEAT_TERMTRUECOLOR
                + taep->ae_u.cterm.fg_rgb = aep->ae_u.cterm.fg_rgb;
                + taep->ae_u.cterm.bg_rgb = aep->ae_u.cterm.bg_rgb;
                +#endif
                }
                ++table->ga_len;
                return (table->ga_len - 1 + ATTR_OFF);
                @@ -8655,7 +8746,7 @@
                }
                #endif

                - if (t_colors > 1)
                + if (IS_CTERM)
                {
                if (char_attr > HL_ALL)
                char_aep = syn_cterm_attr2entry(char_attr);
                @@ -8680,6 +8771,12 @@
                new_en.ae_u.cterm.fg_color = spell_aep->ae_u.cterm.fg_color;
                if (spell_aep->ae_u.cterm.bg_color > 0)
                new_en.ae_u.cterm.bg_color = spell_aep->ae_u.cterm.bg_color;
                +#ifdef FEAT_TERMTRUECOLOR
                + if (spell_aep->ae_u.cterm.fg_rgb != INVALCOLOR)
                + new_en.ae_u.cterm.fg_rgb = spell_aep->ae_u.cterm.fg_rgb;
                + if (spell_aep->ae_u.cterm.bg_rgb != INVALCOLOR)
                + new_en.ae_u.cterm.bg_rgb = spell_aep->ae_u.cterm.bg_rgb;
                +#endif
                }
                }
                return get_attr_entry(&cterm_attr_table, &new_en);
                @@ -8743,10 +8840,10 @@
                aep = syn_gui_attr2entry(attr);
                else
                #endif
                - if (t_colors > 1)
                - aep = syn_cterm_attr2entry(attr);
                - else
                - aep = syn_term_attr2entry(attr);
                + if (IS_CTERM)
                + aep = syn_cterm_attr2entry(attr);
                + else
                + aep = syn_term_attr2entry(attr);

                if (aep == NULL) /* highlighting not set */
                return 0;
                @@ -8948,13 +9045,15 @@
                return NULL;
                if (modec == 'g')
                {
                -# ifdef FEAT_GUI
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                +# ifdef FEAT_GUI
                /* return font name */
                if (font)
                return HL_TABLE()[id - 1].sg_font_name;
                +# endif

                /* return #RRGGBB form (only possible when GUI is running) */
                - if (gui.in_use && what[2] == '#')
                + if ((USE_24BIT) && what[2] == '#')
                {
                guicolor_T color;
                long_u rgb;
                @@ -8963,19 +9062,23 @@
                if (fg)
                color = HL_TABLE()[id - 1].sg_gui_fg;
                else if (sp)
                +# ifdef FEAT_GUI
                color = HL_TABLE()[id - 1].sg_gui_sp;
                +# else
                + color = INVALCOLOR;
                +# endif
                else
                color = HL_TABLE()[id - 1].sg_gui_bg;
                if (color == INVALCOLOR)
                return NULL;
                - rgb = gui_mch_get_rgb(color);
                + rgb = GUI_MCH_GET_RGB(color);
                sprintf((char *)buf, "#%02x%02x%02x",
                (unsigned)(rgb >> 16),
                (unsigned)(rgb >> 8) & 255,
                (unsigned)rgb & 255);
                return buf;
                }
                -#endif
                +# endif
                if (fg)
                return (HL_TABLE()[id - 1].sg_gui_fg_name);
                if (sp)
                @@ -8998,8 +9101,9 @@
                }
                #endif

                -#if (defined(FEAT_SYN_HL) && defined(FEAT_GUI) && defined(FEAT_PRINTER)) \
                - || defined(PROTO)
                +#if (defined(FEAT_SYN_HL) \
                + && (defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)) \
                + && defined(FEAT_PRINTER)) || defined(PROTO)
                /*
                * Return color name of highlight group "id" as RGB value.
                */
                @@ -9021,7 +9125,7 @@
                if (color == INVALCOLOR)
                return 0L;

                - return gui_mch_get_rgb(color);
                + return GUI_MCH_GET_RGB(color);
                }
                #endif

                @@ -9137,13 +9241,22 @@
                * For the color term mode: If there are other than "normal"
                * highlighting attributes, need to allocate an attr number.
                */
                - if (sgp->sg_cterm_fg == 0 && sgp->sg_cterm_bg == 0)
                + if (sgp->sg_cterm_fg == 0 && sgp->sg_cterm_bg == 0
                +# ifdef FEAT_TERMTRUECOLOR
                + && sgp->sg_gui_fg == INVALCOLOR
                + && sgp->sg_gui_bg == INVALCOLOR
                +# endif
                + )
                sgp->sg_cterm_attr = sgp->sg_cterm;
                else
                {
                at_en.ae_attr = sgp->sg_cterm;
                at_en.ae_u.cterm.fg_color = sgp->sg_cterm_fg;
                at_en.ae_u.cterm.bg_color = sgp->sg_cterm_bg;
                +# ifdef FEAT_TERMTRUECOLOR
                + at_en.ae_u.cterm.fg_rgb = GUI_MCH_GET_RGB(sgp->sg_gui_fg);
                + at_en.ae_u.cterm.bg_rgb = GUI_MCH_GET_RGB(sgp->sg_gui_bg);
                +# endif
                sgp->sg_cterm_attr = get_attr_entry(&cterm_attr_table, &at_en);
                }
                }
                @@ -9302,10 +9415,12 @@
                vim_memset(&(HL_TABLE()[highlight_ga.ga_len]), 0, sizeof(struct hl_group));
                HL_TABLE()[highlight_ga.ga_len].sg_name = name;
                HL_TABLE()[highlight_ga.ga_len].sg_name_u = vim_strsave_up(name);
                -#ifdef FEAT_GUI
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                HL_TABLE()[highlight_ga.ga_len].sg_gui_bg = INVALCOLOR;
                HL_TABLE()[highlight_ga.ga_len].sg_gui_fg = INVALCOLOR;
                +# ifdef FEAT_GUI
                HL_TABLE()[highlight_ga.ga_len].sg_gui_sp = INVALCOLOR;
                +# endif
                #endif
                ++highlight_ga.ga_len;

                @@ -9345,7 +9460,7 @@
                attr = sgp->sg_gui_attr;
                else
                #endif
                - if (t_colors > 1)
                + if (IS_CTERM)
                attr = sgp->sg_cterm_attr;
                else
                attr = sgp->sg_term_attr;
                @@ -9403,7 +9518,7 @@
                return hl_id;
                }

                -#ifdef FEAT_GUI
                +#if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                /*
                * Call this function just after the GUI has started.
                * It finds the font and color handles for the highlighting groups.
                @@ -9414,7 +9529,12 @@
                int idx;

                /* First get the colors from the "Normal" and "Menu" group, if set */
                - set_normal_colors();
                +# if defined(FEAT_GUI) || defined(FEAT_TERMTRUECOLOR)
                +# ifdef FEAT_TERMTRUECOLOR
                + if (USE_24BIT)
                +# endif
                + set_normal_colors();
                +# endif

                for (idx = 0; idx < highlight_ga.ga_len; ++idx)
                gui_do_one_color(idx, FALSE, FALSE);
                @@ -9430,12 +9550,17 @@
                {
                int didit = FALSE;

                - if (HL_TABLE()[idx].sg_font_name != NULL)
                - {
                - hl_do_font(idx, HL_TABLE()[idx].sg_font_name, FALSE, do_menu,
                +# ifdef FEAT_GUI
                +# ifdef FEAT_TERMTRUECOLOR
                + if (gui.in_use)
                +# endif
                + if (HL_TABLE()[idx].sg_font_name != NULL)
                + {
                + hl_do_font(idx, HL_TABLE()[idx].sg_font_name, FALSE, do_menu,
                do_tooltip, TRUE);
                - didit = TRUE;
                - }
                + didit = TRUE;
                + }
                +# endif
                if (HL_TABLE()[idx].sg_gui_fg_name != NULL)
                {
                HL_TABLE()[idx].sg_gui_fg =
                @@ -9448,16 +9573,17 @@
                color_name2handle(HL_TABLE()[idx].sg_gui_bg_name);
                didit = TRUE;
                }
                +# ifdef FEAT_GUI
                if (HL_TABLE()[idx].sg_gui_sp_name != NULL)
                {
                HL_TABLE()[idx].sg_gui_sp =
                color_name2handle(HL_TABLE()[idx].sg_gui_sp_name);
                didit = TRUE;
                }
                +# endif
                if (didit) /* need to get a new attr number */
                set_hl_attr(idx);
                }
                -
                #endif

                /*
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/term.c
                --- a/src/term.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/term.c Sat Nov 22 18:38:22 2014 +0300
                @@ -77,6 +77,9 @@
                static struct builtin_term *find_builtin_term __ARGS((char_u *name));
                static void parse_builtin_tcap __ARGS((char_u *s));
                static void term_color __ARGS((char_u *s, int n));
                +#ifdef FEAT_TERMTRUECOLOR
                +static void term_rgb_color __ARGS((char_u *s, long_u rgb));
                +#endif
                static void gather_termleader __ARGS((void));
                #ifdef FEAT_TERMRESPONSE
                static void req_codes_from_term __ARGS((void));
                @@ -376,9 +379,9 @@
                # else
                {(int)KS_CRI, "\033[%dC"},
                # endif
                -#if defined(BEOS_DR8)
                +# if defined(BEOS_DR8)
                {(int)KS_DB, ""}, /* hack! see screen.c */
                -#endif
                +# endif

                {K_UP, "\033[A"},
                {K_DOWN, "\033[B"},
                @@ -882,8 +885,10 @@
                # endif
                # endif

                +# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS) || defined(__EMX__) || defined(FEAT_TERMTRUECOLOR)
                + {(int)KS_NAME, "xterm"},
                +# endif
                # if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS) || defined(__EMX__)
                - {(int)KS_NAME, "xterm"},
                {(int)KS_CE, IF_EB("\033[K", ESC_STR "[K")},
                {(int)KS_AL, IF_EB("\033[L", ESC_STR "[L")},
                # ifdef TERMINFO
                @@ -1030,6 +1035,10 @@
                {TERMCAP2KEY('F', 'Q'), IF_EB("\033[57;*~", ESC_STR "[57;*~")}, /* F36 */
                {TERMCAP2KEY('F', 'R'), IF_EB("\033[58;*~", ESC_STR "[58;*~")}, /* F37 */
                # endif
                +# ifdef FEAT_TERMTRUECOLOR
                + {(int)KS_8F, IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")},
                + {(int)KS_8B, IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")},
                +# endif

                # if defined(UNIX) || defined(ALL_BUILTIN_TCAPS)
                /*
                @@ -1346,6 +1355,173 @@

                }; /* end of builtin_termcaps */

                +#if defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
                +# define RGB(r, g, b) ((r<<16) | (g<<8) | (b))
                +struct rgbcolor_table_S {
                + char_u *color_name;
                + guicolor_T color;
                +};
                +static struct rgbcolor_table_S rgb_table[] = {
                + {(char_u *)"black", RGB(0x00, 0x00, 0x00)},
                + {(char_u *)"blue", RGB(0x00, 0x00, 0xD4)},
                + {(char_u *)"brown", RGB(0x80, 0x40, 0x40)},
                + {(char_u *)"cyan", RGB(0x02, 0xAB, 0xEA)},
                + {(char_u *)"darkblue", RGB(0x00, 0x00, 0x80)},
                + {(char_u *)"darkcyan", RGB(0x00, 0x80, 0x80)},
                + {(char_u *)"darkgray", RGB(0x80, 0x80, 0x80)},
                + {(char_u *)"darkgreen", RGB(0x00, 0x80, 0x00)},
                + {(char_u *)"darkgrey", RGB(0x80, 0x80, 0x80)},
                + {(char_u *)"darkmagenta", RGB(0x80, 0x00, 0x80)},
                + {(char_u *)"darkred", RGB(0x80, 0x00, 0x00)},
                + {(char_u *)"darkyellow", RGB(0xBB, 0xBB, 0x00)},
                + {(char_u *)"gray", RGB(0xC0, 0xC0, 0xC0)},
                + {(char_u *)"gray10", RGB(0x1A, 0x1A, 0x1A)},
                + {(char_u *)"gray20", RGB(0x33, 0x33, 0x33)},
                + {(char_u *)"gray30", RGB(0x4D, 0x4D, 0x4D)},
                + {(char_u *)"gray40", RGB(0x66, 0x66, 0x66)},
                + {(char_u *)"gray50", RGB(0x7F, 0x7F, 0x7F)},
                + {(char_u *)"gray60", RGB(0x99, 0x99, 0x99)},
                + {(char_u *)"gray70", RGB(0xB3, 0xB3, 0xB3)},
                + {(char_u *)"gray80", RGB(0xCC, 0xCC, 0xCC)},
                + {(char_u *)"gray90", RGB(0xE5, 0xE5, 0xE5)},
                + {(char_u *)"green", RGB(0x00, 0x64, 0x11)},
                + {(char_u *)"grey", RGB(0xC0, 0xC0, 0xC0)},
                + {(char_u *)"grey10", RGB(0x1A, 0x1A, 0x1A)},
                + {(char_u *)"grey20", RGB(0x33, 0x33, 0x33)},
                + {(char_u *)"grey30", RGB(0x4D, 0x4D, 0x4D)},
                + {(char_u *)"grey40", RGB(0x66, 0x66, 0x66)},
                + {(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)},
                + {(char_u *)"grey60", RGB(0x99, 0x99, 0x99)},
                + {(char_u *)"grey70", RGB(0xB3, 0xB3, 0xB3)},
                + {(char_u *)"grey80", RGB(0xCC, 0xCC, 0xCC)},
                + {(char_u *)"grey90", RGB(0xE5, 0xE5, 0xE5)},
                + {(char_u *)"lightblue", RGB(0xA0, 0xA0, 0xFF)},
                + {(char_u *)"lightcyan", RGB(0xA0, 0xFF, 0xFF)},
                + {(char_u *)"lightgray", RGB(0xE0, 0xE0, 0xE0)},
                + {(char_u *)"lightgreen", RGB(0xA0, 0xFF, 0xA0)},
                + {(char_u *)"lightgrey", RGB(0xE0, 0xE0, 0xE0)},
                + {(char_u *)"lightmagenta",RGB(0xF0, 0xA0, 0xF0)},
                + {(char_u *)"lightred", RGB(0xFF, 0xA0, 0xA0)},
                + {(char_u *)"lightyellow", RGB(0xFF, 0xFF, 0xA0)},
                + {(char_u *)"magenta", RGB(0xF2, 0x08, 0x84)},
                + {(char_u *)"orange", RGB(0xFC, 0x80, 0x00)},
                + {(char_u *)"purple", RGB(0xA0, 0x20, 0xF0)},
                + {(char_u *)"red", RGB(0xDD, 0x08, 0x06)},
                + {(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)},
                + {(char_u *)"slateblue", RGB(0x6A, 0x5A, 0xCD)},
                + {(char_u *)"violet", RGB(0x8D, 0x38, 0xC9)},
                + {(char_u *)"white", RGB(0xFF, 0xFF, 0xFF)},
                + {(char_u *)"yellow", RGB(0xFC, 0xF3, 0x05)},
                +};
                +
                + static int
                +hex_digit(int c)
                +{
                + if (isdigit(c))
                + return c - '0';
                + c = TOLOWER_ASC(c);
                + if (c >= 'a' && c <= 'f')
                + return c - 'a' + 10;
                + return 0x1ffffff;
                +}
                +
                + guicolor_T
                +termtrue_mch_get_color(char_u *name)
                +{
                + guicolor_T color;
                + int i;
                +
                + if (*name == '#' && strlen((char *) name) == 7)
                + {
                + color = RGB(((hex_digit(name[1])<<4) + hex_digit(name[2])),
                + ((hex_digit(name[3])<<4) + hex_digit(name[4])),
                + ((hex_digit(name[5])<<4) + hex_digit(name[6])));
                + if (color > 0xffffff)
                + return INVALCOLOR;
                + return color;
                + }
                + else
                + {
                + /* Check if the name is one of the colors we know */
                + for (i = 0; i < sizeof(rgb_table) / sizeof(rgb_table[0]); i++)
                + if (STRICMP(name, rgb_table[i].color_name) == 0)
                + return rgb_table[i].color;
                + }
                +
                + /*
                + * Last attempt. Look in the file "$VIM/rgb.txt".
                + */
                + {
                +#define LINE_LEN 100
                + FILE *fd;
                + char line[LINE_LEN];
                + char_u *fname;
                + int r, g, b;
                +
                + fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
                + if (fname == NULL)
                + return INVALCOLOR;
                +
                + fd = fopen((char *)fname, "rt");
                + vim_free(fname);
                + if (fd == NULL)
                + return INVALCOLOR;
                +
                + while (!feof(fd))
                + {
                + int len;
                + int pos;
                + char *color;
                +
                + fgets(line, LINE_LEN, fd);
                + len = strlen(line);
                +
                + if (len <= 1 || line[len-1] != '\n')
                + continue;
                +
                + line[len-1] = '\0';
                +
                + i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
                + if (i != 3)
                + continue;
                +
                + color = line + pos;
                +
                + if (STRICMP(color, name) == 0)
                + {
                + fclose(fd);
                + return (guicolor_T) RGB(r, g, b);
                + }
                + }
                + fclose(fd);
                + }
                +
                + return INVALCOLOR;
                +}
                +
                + guicolor_T
                +termtrue_get_color(name)
                + char_u *name;
                +{
                + guicolor_T t;
                +
                + if (*name == NUL)
                + return INVALCOLOR;
                + t = termtrue_mch_get_color(name);
                +
                + if (t == INVALCOLOR)
                + EMSG2(_("E254: Cannot allocate color %s"), name);
                + return t;
                +}
                +
                + long_u
                +termtrue_mch_get_rgb(color)
                + guicolor_T color;
                +{
                + return (long_u) color;
                +}
                +#endif
                +
                /*
                * DEFAULT_TERM is used, when no terminal is specified with -T option or $TERM.
                */
                @@ -1612,6 +1788,7 @@
                {KS_CWP, "WP"}, {KS_CWS, "WS"},
                {KS_CSI, "SI"}, {KS_CEI, "EI"},
                {KS_U7, "u7"},
                + {KS_8F, "8f"}, {KS_8B, "8b"},
                {(enum SpecialKey)0, NULL}
                };

                @@ -2758,6 +2935,35 @@
                OUT_STR(tgoto((char *)s, 0, n));
                }

                +#if defined(FEAT_TERMTRUECOLOR) || defined(PROTO)
                + void
                +term_fg_rgb_color(rgb)
                + long_u rgb;
                +{
                + term_rgb_color(T_8F, rgb);
                +}
                +
                + void
                +term_bg_rgb_color(rgb)
                + long_u rgb;
                +{
                + term_rgb_color(T_8B, rgb);
                +}
                +
                +#define RED(rgb) ((rgb>>16)&0xFF)
                +#define GREEN(rgb) ((rgb>> 8)&0xFF)
                +#define BLUE(rgb) ((rgb )&0xFF)
                + static void
                +term_rgb_color(s, rgb)
                + char_u *s;
                + long_u rgb;
                +{
                + char buf[7+3*3+2+1+1];
                + sprintf(buf, (char *)s, RED(rgb), GREEN(rgb), BLUE(rgb));
                + OUT_STR(buf);
                +}
                +#endif
                +
                #if (defined(FEAT_TITLE) && (defined(UNIX) || defined(OS2) || defined(VMS) || defined(MACOS_X))) || defined(PROTO)
                /*
                * Generic function to set window title, using t_ts and t_fs.
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/term.h
                --- a/src/term.h Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/term.h Sat Nov 22 18:38:22 2014 +0300
                @@ -84,10 +84,12 @@
                KS_CSV, /* scroll region vertical */
                #endif
                KS_OP, /* original color pair */
                - KS_U7 /* request cursor position */
                + KS_U7, /* request cursor position */
                + KS_8F, /* set foreground color (RGB) */
                + KS_8B /* set background color (RGB) */
                };

                -#define KS_LAST KS_U7
                +#define KS_LAST KS_8B

                /*
                * the terminal capabilities are stored in this array
                @@ -160,6 +162,8 @@
                #define T_CRV (term_str(KS_CRV)) /* request version string */
                #define T_OP (term_str(KS_OP)) /* original color pair */
                #define T_U7 (term_str(KS_U7)) /* request cursor position */
                +#define T_8F (term_str(KS_8F)) /* set foreground color (RGB) */
                +#define T_8B (term_str(KS_8B)) /* set background color (RGB) */

                #define TMODE_COOK 0 /* terminal mode for external cmds and Ex mode */
                #define TMODE_SLEEP 1 /* terminal mode for sleeping (cooked but no echo) */
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/version.c
                --- a/src/version.c Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/version.c Sat Nov 22 18:38:22 2014 +0300
                @@ -619,6 +619,11 @@
                #else
                "-termresponse",
                #endif
                +#ifdef FEAT_TERMTRUECOLOR
                + "+termtruecolor",
                +#else
                + "-termtruecolor",
                +#endif
                #ifdef FEAT_TEXTOBJ
                "+textobjects",
                #else
                diff -r 03a813f2cf51 -r 64d20b6d9488 src/vim.h
                --- a/src/vim.h Thu Nov 20 23:07:05 2014 +0100
                +++ b/src/vim.h Sat Nov 22 18:38:22 2014 +0300
                @@ -1598,6 +1598,31 @@
                #define MSG_PUTS_LONG(s) msg_puts_long_attr((char_u *)(s), 0)
                #define MSG_PUTS_LONG_ATTR(s, a) msg_puts_long_attr((char_u *)(s), (a))

                +#ifdef FEAT_GUI
                +# ifdef FEAT_TERMTRUECOLOR
                +# define GUI_FUNCTION(f) (gui.in_use ? gui_##f : termtrue_##f)
                +# define USE_24BIT (gui.in_use || p_guicolors)
                +# else
                +# define GUI_FUNCTION(f) gui_##f
                +# define USE_24BIT gui.in_use
                +# endif
                +#else
                +# ifdef FEAT_TERMTRUECOLOR
                +# define GUI_FUNCTION(f) termtrue_##f
                +# define USE_24BIT p_guicolors
                +# endif
                +#endif
                +#ifdef FEAT_TERMTRUECOLOR
                +# define IS_CTERM (t_colors > 1 || p_guicolors)
                +#else
                +# define IS_CTERM (t_colors > 1)
                +#endif
                +#ifdef GUI_FUNCTION
                +# define GUI_MCH_GET_RGB GUI_FUNCTION(mch_get_rgb)
                +# define GUI_MCH_GET_COLOR GUI_FUNCTION(mch_get_color)
                +# define GUI_GET_COLOR GUI_FUNCTION(get_color)
                +#endif
                +
                /* Prefer using emsg3(), because perror() may send the output to the wrong
                * destination and mess up the screen. */
                #ifdef HAVE_STRERROR

                --
                --
                You received this message from the "vim_dev" maillist.
                Do not top-post! Type your reply below the text you are replying to.
                For more information, visit http://www.vim.org/maillist.php

                ---
                You received this message because you are subscribed to the Google Groups "vim_dev" group.
                To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
                For more options, visit https://groups.google.com/d/optout.
              • Bruno Sutic
                I m not sure if I add any value to the discussion here, but I would be so glad to see this merged/included into vim. Also, there s a discussion about this on
                Message 7 of 14 , Dec 11, 2014
                • 0 Attachment
                  I'm not sure if I add any value to the discussion here, but I would be so glad to see this merged/included into vim.

                  Also, there's a discussion about this on vim reddit here: http://www.reddit.com/r/vim/comments/2ozwe4/24_bit_vim_in_osx_iterm2_a_reality/

                  (that's how I found about this in the first place).

                  On Saturday, January 26, 2013 10:09:49 PM UTC+1, ZyX wrote:
                  > The following patch adds support for guifg/guibg properties of highlight groups in ISO-8613-3 (at least http://invisible-island.net/xterm/ctlseqs/ctlseqs.html page states it is ISO-8613-3) supporting terminals (only Konsole and ConEmu are currently known to support this). This patch have two intentions: add actual gui colorschemes support for konsole users and create a reason for other terminal emulator authors to add support for true color.
                  >
                  > diff -r 274c841f033a -r f15e368e2fc6 runtime/doc/options.txt
                  > --- a/runtime/doc/options.txt Fri Jan 25 20:11:01 2013 +0100
                  > +++ b/runtime/doc/options.txt Sun Jan 27 00:44:09 2013 +0400
                  > @@ -3341,6 +3341,16 @@
                  > This option cannot be set from a |modeline| or in the |sandbox|, for
                  > security reasons.
                  >
                  > + *'guicolors'* *'gcol'*
                  > +'guicolors' 'gcol' boolean (default off)
                  > + global
                  > + {not in Vi}
                  > + {not available when compiled without the
                  > + |+termtruecolor| feature}
                  > + When on, uses |highlight-guifg| and |highlight-guibg| attributes in
                  > + terminal (thus using 24-bit color). Requires ISO-8613-3 compatible
                  > + terminal.
                  > +
                  > *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
                  > 'guicursor' 'gcr' string (default "n-v-c:block-Cursor/lCursor,
                  > ve:ver35-Cursor,
                  > diff -r 274c841f033a -r f15e368e2fc6 runtime/doc/various.txt
                  > --- a/runtime/doc/various.txt Fri Jan 25 20:11:01 2013 +0100
                  > +++ b/runtime/doc/various.txt Sun Jan 27 00:44:09 2013 +0400
                  > @@ -399,6 +399,7 @@
                  > m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
                  > *+terminfo* uses |terminfo| instead of termcap
                  > N *+termresponse* support for |t_RV| and |v:termresponse|
                  > +m *+termtruecolor* 24-bit color in xterm-compatible terminals support
                  > N *+textobjects* |text-objects| selection
                  > *+tgetent* non-Unix only: able to use external termcap
                  > N *+title* Setting the window 'title' and 'icon'
                  > diff -r 274c841f033a -r f15e368e2fc6 src/auto/configure
                  > --- a/src/auto/configure Fri Jan 25 20:11:01 2013 +0100
                  > +++ b/src/auto/configure Sun Jan 27 00:44:09 2013 +0400
                  > @@ -1,11 +1,9 @@
                  > #! /bin/sh
                  > # Guess values for system-dependent variables and create Makefiles.
                  > -# Generated by GNU Autoconf 2.65.
                  > +# Generated by GNU Autoconf 2.69.
                  > #
                  > #
                  > -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
                  > -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
                  > -# Inc.
                  > +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
                  > #
                  > #
                  > # This configure script is free software; the Free Software Foundation
                  > @@ -89,6 +87,7 @@
                  > IFS=" "" $as_nl"
                  >
                  > # Find who we are. Look in the path if we contain no directory separator.
                  > +as_myself=
                  > case $0 in #((
                  > *[\\/]* ) as_myself=$0 ;;
                  > *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
                  > @@ -133,6 +132,31 @@
                  > # CDPATH.
                  > (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
                  >
                  > +# Use a proper internal environment variable to ensure we don't fall
                  > + # into an infinite loop, continuously re-executing ourselves.
                  > + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
                  > + _as_can_reexec=no; export _as_can_reexec;
                  > + # We cannot yet assume a decent shell, so we have to provide a
                  > +# neutralization value for shells without unset; and this also
                  > +# works around shells that cannot unset nonexistent variables.
                  > +# Preserve -v and -x to the replacement shell.
                  > +BASH_ENV=/dev/null
                  > +ENV=/dev/null
                  > +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
                  > +case $- in # ((((
                  > + *v*x* | *x*v* ) as_opts=-vx ;;
                  > + *v* ) as_opts=-v ;;
                  > + *x* ) as_opts=-x ;;
                  > + * ) as_opts= ;;
                  > +esac
                  > +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
                  > +# Admittedly, this is quite paranoid, since all the known shells bail
                  > +# out after a failed `exec'.
                  > +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
                  > +as_fn_exit 255
                  > + fi
                  > + # We don't want this to propagate to other subprocesses.
                  > + { _as_can_reexec=; unset _as_can_reexec;}
                  > if test "x$CONFIG_SHELL" = x; then
                  > as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
                  > emulate sh
                  > @@ -166,7 +190,8 @@
                  > else
                  > exitcode=1; echo positional parameters were not saved.
                  > fi
                  > -test x\$exitcode = x0 || exit 1"
                  > +test x\$exitcode = x0 || exit 1
                  > +test -x / || exit 1"
                  > as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
                  > as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
                  > eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
                  > @@ -211,14 +236,25 @@
                  >
                  >
                  > if test "x$CONFIG_SHELL" != x; then :
                  > - # We cannot yet assume a decent shell, so we have to provide a
                  > - # neutralization value for shells without unset; and this also
                  > - # works around shells that cannot unset nonexistent variables.
                  > - BASH_ENV=/dev/null
                  > - ENV=/dev/null
                  > - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
                  > - export CONFIG_SHELL
                  > - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
                  > + export CONFIG_SHELL
                  > + # We cannot yet assume a decent shell, so we have to provide a
                  > +# neutralization value for shells without unset; and this also
                  > +# works around shells that cannot unset nonexistent variables.
                  > +# Preserve -v and -x to the replacement shell.
                  > +BASH_ENV=/dev/null
                  > +ENV=/dev/null
                  > +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
                  > +case $- in # ((((
                  > + *v*x* | *x*v* ) as_opts=-vx ;;
                  > + *v* ) as_opts=-v ;;
                  > + *x* ) as_opts=-x ;;
                  > + * ) as_opts= ;;
                  > +esac
                  > +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
                  > +# Admittedly, this is quite paranoid, since all the known shells bail
                  > +# out after a failed `exec'.
                  > +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
                  > +exit 255
                  > fi
                  >
                  > if test x$as_have_required = xno; then :
                  > @@ -316,10 +352,18 @@
                  > test -d "$as_dir" && break
                  > done
                  > test -z "$as_dirs" || eval "mkdir $as_dirs"
                  > - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
                  > + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
                  >
                  >
                  > } # as_fn_mkdir_p
                  > +
                  > +# as_fn_executable_p FILE
                  > +# -----------------------
                  > +# Test if FILE is an executable regular file.
                  > +as_fn_executable_p ()
                  > +{
                  > + test -f "$1" && test -x "$1"
                  > +} # as_fn_executable_p
                  > # as_fn_append VAR VALUE
                  > # ----------------------
                  > # Append the text in VALUE to the end of the definition contained in VAR. Take
                  > @@ -356,19 +400,19 @@
                  > fi # as_fn_arith
                  >
                  >
                  > -# as_fn_error ERROR [LINENO LOG_FD]
                  > -# ---------------------------------
                  > +# as_fn_error STATUS ERROR [LINENO LOG_FD]
                  > +# ----------------------------------------
                  > # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
                  > # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
                  > -# script with status $?, using 1 if that was 0.
                  > +# script with STATUS, using 1 if that was 0.
                  > as_fn_error ()
                  > {
                  > - as_status=$?; test $as_status -eq 0 && as_status=1
                  > - if test "$3"; then
                  > - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
                  > - fi
                  > - $as_echo "$as_me: error: $1" >&2
                  > + as_status=$1; test $as_status -eq 0 && as_status=1
                  > + if test "$4"; then
                  > + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
                  > + fi
                  > + $as_echo "$as_me: error: $2" >&2
                  > as_fn_exit $as_status
                  > } # as_fn_error
                  >
                  > @@ -441,6 +485,10 @@
                  > chmod +x "$as_me.lineno" ||
                  > { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
                  >
                  > + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
                  > + # already done that, so ensure we don't try to do so again and fall
                  > + # in an infinite loop. This has already happened in practice.
                  > + _as_can_reexec=no; export _as_can_reexec
                  > # Don't try to exec as it changes $[0], causing all sort of problems
                  > # (the dirname of $[0] is not the place where we might find the
                  > # original and so on. Autoconf is especially sensitive to this).
                  > @@ -475,16 +523,16 @@
                  > # ... but there are two gotchas:
                  > # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
                  > # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
                  > - # In both cases, we have to default to `cp -p'.
                  > + # In both cases, we have to default to `cp -pR'.
                  > ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
                  > - as_ln_s='cp -p'
                  > + as_ln_s='cp -pR'
                  > elif ln conf$$.file conf$$ 2>/dev/null; then
                  > as_ln_s=ln
                  > else
                  > - as_ln_s='cp -p'
                  > - fi
                  > -else
                  > - as_ln_s='cp -p'
                  > + as_ln_s='cp -pR'
                  > + fi
                  > +else
                  > + as_ln_s='cp -pR'
                  > fi
                  > rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
                  > rmdir conf$$.dir 2>/dev/null
                  > @@ -496,28 +544,8 @@
                  > as_mkdir_p=false
                  > fi
                  >
                  > -if test -x / >/dev/null 2>&1; then
                  > - as_test_x='test -x'
                  > -else
                  > - if ls -dL / >/dev/null 2>&1; then
                  > - as_ls_L_option=L
                  > - else
                  > - as_ls_L_option=
                  > - fi
                  > - as_test_x='
                  > - eval sh -c '\''
                  > - if test -d "$1"; then
                  > - test -d "$1/.";
                  > - else
                  > - case $1 in #(
                  > - -*)set "./$1";;
                  > - esac;
                  > - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
                  > - ???[sx]*):;;*)false;;esac;fi
                  > - '\'' sh
                  > - '
                  > -fi
                  > -as_executable_p=$as_test_x
                  > +as_test_x='test -x'
                  > +as_executable_p=as_fn_executable_p
                  >
                  > # Sed expression to map a string onto a valid CPP name.
                  > as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
                  > @@ -530,7 +558,7 @@
                  > exec 6>&1
                  >
                  > # Name of the host.
                  > -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
                  > +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
                  > # so uname gets run too.
                  > ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
                  >
                  > @@ -770,6 +798,7 @@
                  > enable_rubyinterp
                  > with_ruby_command
                  > enable_cscope
                  > +enable_termtruecolor
                  > enable_workshop
                  > enable_netbeans
                  > enable_sniff
                  > @@ -869,8 +898,9 @@
                  > fi
                  >
                  > case $ac_option in
                  > - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
                  > - *) ac_optarg=yes ;;
                  > + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
                  > + *=) ac_optarg= ;;
                  > + *) ac_optarg=yes ;;
                  > esac
                  >
                  > # Accept the important Cygnus configure options, so we can diagnose typos.
                  > @@ -915,7 +945,7 @@
                  > ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
                  > # Reject names that are not valid shell variable names.
                  > expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
                  > - as_fn_error "invalid feature name: $ac_useropt"
                  > + as_fn_error $? "invalid feature name: $ac_useropt"
                  > ac_useropt_orig=$ac_useropt
                  > ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
                  > case $ac_user_opts in
                  > @@ -941,7 +971,7 @@
                  > ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
                  > # Reject names that are not valid shell variable names.
                  > expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
                  > - as_fn_error "invalid feature name: $ac_useropt"
                  > + as_fn_error $? "invalid feature name: $ac_useropt"
                  > ac_useropt_orig=$ac_useropt
                  > ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
                  > case $ac_user_opts in
                  > @@ -1145,7 +1175,7 @@
                  > ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
                  > # Reject names that are not valid shell variable names.
                  > expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
                  > - as_fn_error "invalid package name: $ac_useropt"
                  > + as_fn_error $? "invalid package name: $ac_useropt"
                  > ac_useropt_orig=$ac_useropt
                  > ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
                  > case $ac_user_opts in
                  > @@ -1161,7 +1191,7 @@
                  > ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
                  > # Reject names that are not valid shell variable names.
                  > expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
                  > - as_fn_error "invalid package name: $ac_useropt"
                  > + as_fn_error $? "invalid package name: $ac_useropt"
                  > ac_useropt_orig=$ac_useropt
                  > ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
                  > case $ac_user_opts in
                  > @@ -1191,8 +1221,8 @@
                  > | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
                  > x_libraries=$ac_optarg ;;
                  >
                  > - -*) as_fn_error "unrecognized option: \`$ac_option'
                  > -Try \`$0 --help' for more information."
                  > + -*) as_fn_error $? "unrecognized option: \`$ac_option'
                  > +Try \`$0 --help' for more information"
                  > ;;
                  >
                  > *=*)
                  > @@ -1200,7 +1230,7 @@
                  > # Reject names that are not valid shell variable names.
                  > case $ac_envvar in #(
                  > '' | [0-9]* | *[!_$as_cr_alnum]* )
                  > - as_fn_error "invalid variable name: \`$ac_envvar'" ;;
                  > + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
                  > esac
                  > eval $ac_envvar=\$ac_optarg
                  > export $ac_envvar ;;
                  > @@ -1210,7 +1240,7 @@
                  > $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
                  > expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
                  > $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
                  > - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
                  > + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
                  > ;;
                  >
                  > esac
                  > @@ -1218,13 +1248,13 @@
                  >
                  > if test -n "$ac_prev"; then
                  > ac_option=--`echo $ac_prev | sed 's/_/-/g'`
                  > - as_fn_error "missing argument to $ac_option"
                  > + as_fn_error $? "missing argument to $ac_option"
                  > fi
                  >
                  > if test -n "$ac_unrecognized_opts"; then
                  > case $enable_option_checking in
                  > no) ;;
                  > - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
                  > + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
                  > *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
                  > esac
                  > fi
                  > @@ -1247,7 +1277,7 @@
                  > [\\/$]* | ?:[\\/]* ) continue;;
                  > NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
                  > esac
                  > - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
                  > + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
                  > done
                  >
                  > # There might be people who depend on the old broken behavior: `$host'
                  > @@ -1261,8 +1291,6 @@
                  > if test "x$host_alias" != x; then
                  > if test "x$build_alias" = x; then
                  > cross_compiling=maybe
                  > - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
                  > - If a cross compiler is detected then cross compile mode will be used." >&2
                  > elif test "x$build_alias" != "x$host_alias"; then
                  > cross_compiling=yes
                  > fi
                  > @@ -1277,9 +1305,9 @@
                  > ac_pwd=`pwd` && test -n "$ac_pwd" &&
                  > ac_ls_di=`ls -di .` &&
                  > ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
                  > - as_fn_error "working directory cannot be determined"
                  > + as_fn_error $? "working directory cannot be determined"
                  > test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
                  > - as_fn_error "pwd does not report name of working directory"
                  > + as_fn_error $? "pwd does not report name of working directory"
                  >
                  >
                  > # Find the source files, if location was not specified.
                  > @@ -1318,11 +1346,11 @@
                  > fi
                  > if test ! -r "$srcdir/$ac_unique_file"; then
                  > test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
                  > - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
                  > + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
                  > fi
                  > ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
                  > ac_abs_confdir=`(
                  > - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
                  > + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
                  > pwd)`
                  > # When building in place, set srcdir=.
                  > if test "$ac_abs_confdir" = "$ac_pwd"; then
                  > @@ -1362,7 +1390,7 @@
                  > --help=short display options specific to this package
                  > --help=recursive display the short help of all the included packages
                  > -V, --version display version information and exit
                  > - -q, --quiet, --silent do not print \`checking...' messages
                  > + -q, --quiet, --silent do not print \`checking ...' messages
                  > --cache-file=FILE cache test results in FILE [disabled]
                  > -C, --config-cache alias for \`--cache-file=config.cache'
                  > -n, --no-create do not create output files
                  > @@ -1433,6 +1461,7 @@
                  > --enable-tclinterp Include Tcl interpreter.
                  > --enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
                  > --enable-cscope Include cscope interface.
                  > + --enable-termtruecolor Include support for 24-bit colors in ISO-8613-3 compatible terminals
                  > --enable-workshop Include Sun Visual Workshop support.
                  > --disable-netbeans Disable NetBeans integration support.
                  > --enable-sniff Include Sniff interface.
                  > @@ -1559,9 +1588,9 @@
                  > if $ac_init_version; then
                  > cat <<\_ACEOF
                  > configure
                  > -generated by GNU Autoconf 2.65
                  > -
                  > -Copyright (C) 2009 Free Software Foundation, Inc.
                  > +generated by GNU Autoconf 2.69
                  > +
                  > +Copyright (C) 2012 Free Software Foundation, Inc.
                  > This configure script is free software; the Free Software Foundation
                  > gives unlimited permission to copy, distribute and modify it.
                  > _ACEOF
                  > @@ -1605,7 +1634,7 @@
                  >
                  > ac_retval=1
                  > fi
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  > as_fn_set_status $ac_retval
                  >
                  > } # ac_fn_c_try_compile
                  > @@ -1631,7 +1660,7 @@
                  > mv -f conftest.er1 conftest.err
                  > fi
                  > $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
                  > - test $ac_status = 0; } >/dev/null && {
                  > + test $ac_status = 0; } > conftest.i && {
                  > test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
                  > test ! -s conftest.err
                  > }; then :
                  > @@ -1642,7 +1671,7 @@
                  >
                  > ac_retval=1
                  > fi
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  > as_fn_set_status $ac_retval
                  >
                  > } # ac_fn_c_try_cpp
                  > @@ -1674,7 +1703,7 @@
                  > test ! -s conftest.err
                  > } && test -s conftest$ac_exeext && {
                  > test "$cross_compiling" = yes ||
                  > - $as_test_x conftest$ac_exeext
                  > + test -x conftest$ac_exeext
                  > }; then :
                  > ac_retval=0
                  > else
                  > @@ -1688,7 +1717,7 @@
                  > # interfere with the next link command; also delete a directory that is
                  > # left behind by Apple's compiler. We do this before executing the actions.
                  > rm -rf conftest.dSYM conftest_ipa8_conftest.oo
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  > as_fn_set_status $ac_retval
                  >
                  > } # ac_fn_c_try_link
                  > @@ -1730,7 +1759,7 @@
                  > ac_retval=$ac_status
                  > fi
                  > rm -rf conftest.dSYM conftest_ipa8_conftest.oo
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  > as_fn_set_status $ac_retval
                  >
                  > } # ac_fn_c_try_run
                  > @@ -1743,10 +1772,10 @@
                  > ac_fn_c_check_header_mongrel ()
                  > {
                  > as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > + if eval \${$3+:} false; then :
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
                  > $as_echo_n "checking for $2... " >&6; }
                  > -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${$3+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > fi
                  > eval ac_res=\$$3
                  > @@ -1782,7 +1811,7 @@
                  > else
                  > ac_header_preproc=no
                  > fi
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.err conftest.i conftest.$ac_ext
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
                  > $as_echo "$ac_header_preproc" >&6; }
                  >
                  > @@ -1809,7 +1838,7 @@
                  > esac
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
                  > $as_echo_n "checking for $2... " >&6; }
                  > -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${$3+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > eval "$3=\$ac_header_compiler"
                  > @@ -1818,7 +1847,7 @@
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
                  > $as_echo "$ac_res" >&6; }
                  > fi
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  >
                  > } # ac_fn_c_check_header_mongrel
                  >
                  > @@ -1831,7 +1860,7 @@
                  > as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
                  > $as_echo_n "checking for $2... " >&6; }
                  > -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${$3+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > cat confdefs.h - <<_ACEOF >conftest.$ac_ext
                  > @@ -1849,7 +1878,7 @@
                  > eval ac_res=\$$3
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
                  > $as_echo "$ac_res" >&6; }
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  >
                  > } # ac_fn_c_check_header_compile
                  >
                  > @@ -1861,7 +1890,7 @@
                  > as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
                  > $as_echo_n "checking for $2... " >&6; }
                  > -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${$3+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > cat confdefs.h - <<_ACEOF >conftest.$ac_ext
                  > @@ -1916,7 +1945,7 @@
                  > eval ac_res=\$$3
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
                  > $as_echo "$ac_res" >&6; }
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  >
                  > } # ac_fn_c_check_func
                  >
                  > @@ -1929,7 +1958,7 @@
                  > as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
                  > $as_echo_n "checking for $2... " >&6; }
                  > -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${$3+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > eval "$3=no"
                  > @@ -1970,7 +1999,7 @@
                  > eval ac_res=\$$3
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
                  > $as_echo "$ac_res" >&6; }
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  >
                  > } # ac_fn_c_check_type
                  >
                  > @@ -1983,7 +2012,7 @@
                  > as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
                  > $as_echo_n "checking for uint$2_t... " >&6; }
                  > -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${$3+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > eval "$3=no"
                  > @@ -1998,7 +2027,8 @@
                  > main ()
                  > {
                  > static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
                  > -test_array [0] = 0
                  > +test_array [0] = 0;
                  > +return test_array [0];
                  >
                  > ;
                  > return 0;
                  > @@ -2013,8 +2043,7 @@
                  > esac
                  > fi
                  > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
                  > - eval as_val=\$$3
                  > - if test "x$as_val" = x""no; then :
                  > + if eval test \"x\$"$3"\" = x"no"; then :
                  >
                  > else
                  > break
                  > @@ -2024,7 +2053,7 @@
                  > eval ac_res=\$$3
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
                  > $as_echo "$ac_res" >&6; }
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  >
                  > } # ac_fn_c_find_uintX_t
                  >
                  > @@ -2045,7 +2074,8 @@
                  > main ()
                  > {
                  > static int test_array [1 - 2 * !(($2) >= 0)];
                  > -test_array [0] = 0
                  > +test_array [0] = 0;
                  > +return test_array [0];
                  >
                  > ;
                  > return 0;
                  > @@ -2061,7 +2091,8 @@
                  > main ()
                  > {
                  > static int test_array [1 - 2 * !(($2) <= $ac_mid)];
                  > -test_array [0] = 0
                  > +test_array [0] = 0;
                  > +return test_array [0];
                  >
                  > ;
                  > return 0;
                  > @@ -2087,7 +2118,8 @@
                  > main ()
                  > {
                  > static int test_array [1 - 2 * !(($2) < 0)];
                  > -test_array [0] = 0
                  > +test_array [0] = 0;
                  > +return test_array [0];
                  >
                  > ;
                  > return 0;
                  > @@ -2103,7 +2135,8 @@
                  > main ()
                  > {
                  > static int test_array [1 - 2 * !(($2) >= $ac_mid)];
                  > -test_array [0] = 0
                  > +test_array [0] = 0;
                  > +return test_array [0];
                  >
                  > ;
                  > return 0;
                  > @@ -2137,7 +2170,8 @@
                  > main ()
                  > {
                  > static int test_array [1 - 2 * !(($2) <= $ac_mid)];
                  > -test_array [0] = 0
                  > +test_array [0] = 0;
                  > +return test_array [0];
                  >
                  > ;
                  > return 0;
                  > @@ -2201,7 +2235,7 @@
                  > rm -f conftest.val
                  >
                  > fi
                  > - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
                  > + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
                  > as_fn_set_status $ac_retval
                  >
                  > } # ac_fn_c_compute_int
                  > @@ -2210,7 +2244,7 @@
                  > running configure, to aid debugging if configure makes a mistake.
                  >
                  > It was created by $as_me, which was
                  > -generated by GNU Autoconf 2.65. Invocation command line was
                  > +generated by GNU Autoconf 2.69. Invocation command line was
                  >
                  > $ $0 $@
                  >
                  > @@ -2320,11 +2354,9 @@
                  > {
                  > echo
                  >
                  > - cat <<\_ASBOX
                  > -## ---------------- ##
                  > + $as_echo "## ---------------- ##
                  > ## Cache variables. ##
                  > -## ---------------- ##
                  > -_ASBOX
                  > +## ---------------- ##"
                  > echo
                  > # The following way of writing the cache mishandles newlines in values,
                  > (
                  > @@ -2358,11 +2390,9 @@
                  > )
                  > echo
                  >
                  > - cat <<\_ASBOX
                  > -## ----------------- ##
                  > + $as_echo "## ----------------- ##
                  > ## Output variables. ##
                  > -## ----------------- ##
                  > -_ASBOX
                  > +## ----------------- ##"
                  > echo
                  > for ac_var in $ac_subst_vars
                  > do
                  > @@ -2375,11 +2405,9 @@
                  > echo
                  >
                  > if test -n "$ac_subst_files"; then
                  > - cat <<\_ASBOX
                  > -## ------------------- ##
                  > + $as_echo "## ------------------- ##
                  > ## File substitutions. ##
                  > -## ------------------- ##
                  > -_ASBOX
                  > +## ------------------- ##"
                  > echo
                  > for ac_var in $ac_subst_files
                  > do
                  > @@ -2393,11 +2421,9 @@
                  > fi
                  >
                  > if test -s confdefs.h; then
                  > - cat <<\_ASBOX
                  > -## ----------- ##
                  > + $as_echo "## ----------- ##
                  > ## confdefs.h. ##
                  > -## ----------- ##
                  > -_ASBOX
                  > +## ----------- ##"
                  > echo
                  > cat confdefs.h
                  > echo
                  > @@ -2452,7 +2478,12 @@
                  > ac_site_file1=NONE
                  > ac_site_file2=NONE
                  > if test -n "$CONFIG_SITE"; then
                  > - ac_site_file1=$CONFIG_SITE
                  > + # We do not want a PATH search for config.site.
                  > + case $CONFIG_SITE in #((
                  > + -*) ac_site_file1=./$CONFIG_SITE;;
                  > + */*) ac_site_file1=$CONFIG_SITE;;
                  > + *) ac_site_file1=./$CONFIG_SITE;;
                  > + esac
                  > elif test "x$prefix" != xNONE; then
                  > ac_site_file1=$prefix/share/config.site
                  > ac_site_file2=$prefix/etc/config.site
                  > @@ -2467,7 +2498,11 @@
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
                  > $as_echo "$as_me: loading site script $ac_site_file" >&6;}
                  > sed 's/^/| /' "$ac_site_file" >&5
                  > - . "$ac_site_file"
                  > + . "$ac_site_file" \
                  > + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > +as_fn_error $? "failed to load site script $ac_site_file
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  > fi
                  > done
                  >
                  > @@ -2543,7 +2578,7 @@
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
                  > $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
                  > - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
                  > + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
                  > fi
                  > ## -------------------- ##
                  > ## Main body of script. ##
                  > @@ -2565,7 +2600,7 @@
                  > $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
                  > set x ${MAKE-make}
                  > ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
                  > -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
                  > +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > cat >conftest.make <<\_ACEOF
                  > @@ -2573,7 +2608,7 @@
                  > all:
                  > @echo '@@@%%%=$(MAKE)=@@@%%%'
                  > _ACEOF
                  > -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
                  > +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
                  > case `${MAKE-make} -f conftest.make 2>/dev/null` in
                  > *@@@%%%=?*=@@@%%%*)
                  > eval ac_cv_prog_make_${ac_make}_set=yes;;
                  > @@ -2603,7 +2638,7 @@
                  > set dummy ${ac_tool_prefix}gcc; ac_word=$2
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
                  > $as_echo_n "checking for $ac_word... " >&6; }
                  > -if test "${ac_cv_prog_CC+set}" = set; then :
                  > +if ${ac_cv_prog_CC+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -n "$CC"; then
                  > @@ -2615,7 +2650,7 @@
                  > IFS=$as_save_IFS
                  > test -z "$as_dir" && as_dir=.
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
                  > + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
                  > ac_cv_prog_CC="${ac_tool_prefix}gcc"
                  > $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
                  > break 2
                  > @@ -2643,7 +2678,7 @@
                  > set dummy gcc; ac_word=$2
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
                  > $as_echo_n "checking for $ac_word... " >&6; }
                  > -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
                  > +if ${ac_cv_prog_ac_ct_CC+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -n "$ac_ct_CC"; then
                  > @@ -2655,7 +2690,7 @@
                  > IFS=$as_save_IFS
                  > test -z "$as_dir" && as_dir=.
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
                  > + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
                  > ac_cv_prog_ac_ct_CC="gcc"
                  > $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
                  > break 2
                  > @@ -2696,7 +2731,7 @@
                  > set dummy ${ac_tool_prefix}cc; ac_word=$2
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
                  > $as_echo_n "checking for $ac_word... " >&6; }
                  > -if test "${ac_cv_prog_CC+set}" = set; then :
                  > +if ${ac_cv_prog_CC+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -n "$CC"; then
                  > @@ -2708,7 +2743,7 @@
                  > IFS=$as_save_IFS
                  > test -z "$as_dir" && as_dir=.
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
                  > + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
                  > ac_cv_prog_CC="${ac_tool_prefix}cc"
                  > $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
                  > break 2
                  > @@ -2736,7 +2771,7 @@
                  > set dummy cc; ac_word=$2
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
                  > $as_echo_n "checking for $ac_word... " >&6; }
                  > -if test "${ac_cv_prog_CC+set}" = set; then :
                  > +if ${ac_cv_prog_CC+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -n "$CC"; then
                  > @@ -2749,7 +2784,7 @@
                  > IFS=$as_save_IFS
                  > test -z "$as_dir" && as_dir=.
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
                  > + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
                  > if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
                  > ac_prog_rejected=yes
                  > continue
                  > @@ -2795,7 +2830,7 @@
                  > set dummy $ac_tool_prefix$ac_prog; ac_word=$2
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
                  > $as_echo_n "checking for $ac_word... " >&6; }
                  > -if test "${ac_cv_prog_CC+set}" = set; then :
                  > +if ${ac_cv_prog_CC+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -n "$CC"; then
                  > @@ -2807,7 +2842,7 @@
                  > IFS=$as_save_IFS
                  > test -z "$as_dir" && as_dir=.
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
                  > + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
                  > ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
                  > $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
                  > break 2
                  > @@ -2839,7 +2874,7 @@
                  > set dummy $ac_prog; ac_word=$2
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
                  > $as_echo_n "checking for $ac_word... " >&6; }
                  > -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
                  > +if ${ac_cv_prog_ac_ct_CC+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -n "$ac_ct_CC"; then
                  > @@ -2851,7 +2886,7 @@
                  > IFS=$as_save_IFS
                  > test -z "$as_dir" && as_dir=.
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
                  > + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
                  > ac_cv_prog_ac_ct_CC="$ac_prog"
                  > $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
                  > break 2
                  > @@ -2893,8 +2928,8 @@
                  >
                  > test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > -as_fn_error "no acceptable C compiler found in \$PATH
                  > -See \`config.log' for more details." "$LINENO" 5; }
                  > +as_fn_error $? "no acceptable C compiler found in \$PATH
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  >
                  > # Provide some information about the compiler.
                  > $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
                  > @@ -3008,9 +3043,8 @@
                  >
                  > { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > -{ as_fn_set_status 77
                  > -as_fn_error "C compiler cannot create executables
                  > -See \`config.log' for more details." "$LINENO" 5; }; }
                  > +as_fn_error 77 "C compiler cannot create executables
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  > else
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
                  > $as_echo "yes" >&6; }
                  > @@ -3052,8 +3086,8 @@
                  > else
                  > { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > -as_fn_error "cannot compute suffix of executables: cannot compile and link
                  > -See \`config.log' for more details." "$LINENO" 5; }
                  > +as_fn_error $? "cannot compute suffix of executables: cannot compile and link
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  > fi
                  > rm -f conftest conftest$ac_cv_exeext
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
                  > @@ -3110,9 +3144,9 @@
                  > else
                  > { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > -as_fn_error "cannot run C compiled programs.
                  > +as_fn_error $? "cannot run C compiled programs.
                  > If you meant to cross compile, use \`--host'.
                  > -See \`config.log' for more details." "$LINENO" 5; }
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  > fi
                  > fi
                  > fi
                  > @@ -3123,7 +3157,7 @@
                  > ac_clean_files=$ac_clean_files_save
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
                  > $as_echo_n "checking for suffix of object files... " >&6; }
                  > -if test "${ac_cv_objext+set}" = set; then :
                  > +if ${ac_cv_objext+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > cat confdefs.h - <<_ACEOF >conftest.$ac_ext
                  > @@ -3163,8 +3197,8 @@
                  >
                  > { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > -as_fn_error "cannot compute suffix of object files: cannot compile
                  > -See \`config.log' for more details." "$LINENO" 5; }
                  > +as_fn_error $? "cannot compute suffix of object files: cannot compile
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  > fi
                  > rm -f conftest.$ac_cv_objext conftest.$ac_ext
                  > fi
                  > @@ -3174,7 +3208,7 @@
                  > ac_objext=$OBJEXT
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
                  > $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
                  > -if test "${ac_cv_c_compiler_gnu+set}" = set; then :
                  > +if ${ac_cv_c_compiler_gnu+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > cat confdefs.h - <<_ACEOF >conftest.$ac_ext
                  > @@ -3211,7 +3245,7 @@
                  > ac_save_CFLAGS=$CFLAGS
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
                  > $as_echo_n "checking whether $CC accepts -g... " >&6; }
                  > -if test "${ac_cv_prog_cc_g+set}" = set; then :
                  > +if ${ac_cv_prog_cc_g+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > ac_save_c_werror_flag=$ac_c_werror_flag
                  > @@ -3289,7 +3323,7 @@
                  > fi
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
                  > $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
                  > -if test "${ac_cv_prog_cc_c89+set}" = set; then :
                  > +if ${ac_cv_prog_cc_c89+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > ac_cv_prog_cc_c89=no
                  > @@ -3298,8 +3332,7 @@
                  > /* end confdefs.h. */
                  > #include <stdarg.h>
                  > #include <stdio.h>
                  > -#include <sys/types.h>
                  > -#include <sys/stat.h>
                  > +struct stat;
                  > /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
                  > struct buf { int x; };
                  > FILE * (*rcsopen) (struct buf *, struct stat *, int);
                  > @@ -3395,7 +3428,7 @@
                  > CPP=
                  > fi
                  > if test -z "$CPP"; then
                  > - if test "${ac_cv_prog_CPP+set}" = set; then :
                  > + if ${ac_cv_prog_CPP+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > # Double quotes because CPP needs to be expanded
                  > @@ -3425,7 +3458,7 @@
                  > # Broken: fails on valid input.
                  > continue
                  > fi
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.err conftest.i conftest.$ac_ext
                  >
                  > # OK, works on sane cases. Now check whether nonexistent headers
                  > # can be detected and how.
                  > @@ -3441,11 +3474,11 @@
                  > ac_preproc_ok=:
                  > break
                  > fi
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.err conftest.i conftest.$ac_ext
                  >
                  > done
                  > # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.i conftest.err conftest.$ac_ext
                  > if $ac_preproc_ok; then :
                  > break
                  > fi
                  > @@ -3484,7 +3517,7 @@
                  > # Broken: fails on valid input.
                  > continue
                  > fi
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.err conftest.i conftest.$ac_ext
                  >
                  > # OK, works on sane cases. Now check whether nonexistent headers
                  > # can be detected and how.
                  > @@ -3500,18 +3533,18 @@
                  > ac_preproc_ok=:
                  > break
                  > fi
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.err conftest.i conftest.$ac_ext
                  >
                  > done
                  > # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
                  > -rm -f conftest.err conftest.$ac_ext
                  > +rm -f conftest.i conftest.err conftest.$ac_ext
                  > if $ac_preproc_ok; then :
                  >
                  > else
                  > { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
                  > $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
                  > -as_fn_error "C preprocessor \"$CPP\" fails sanity check
                  > -See \`config.log' for more details." "$LINENO" 5; }
                  > +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
                  > +See \`config.log' for more details" "$LINENO" 5; }
                  > fi
                  >
                  > ac_ext=c
                  > @@ -3523,7 +3556,7 @@
                  >
                  > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
                  > $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
                  > -if test "${ac_cv_path_GREP+set}" = set; then :
                  > +if ${ac_cv_path_GREP+:} false; then :
                  > $as_echo_n "(cached) " >&6
                  > else
                  > if test -z "$GREP"; then
                  > @@ -3537,7 +3570,7 @@
                  > for ac_prog in grep ggrep; do
                  > for ac_exec_ext in '' $ac_executable_extensions; do
                  > ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
                  > - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
                  > + as_fn_executable_p "$ac_path_GREP" || continue
                  > # Check for GNU ac_path_GREP and sel...

                  --
                  --
                  You received this message from the "vim_dev" maillist.
                  Do not top-post! Type your reply below the text you are replying to.
                  For more information, visit http://www.vim.org/maillist.php

                  ---
                  You received this message because you are subscribed to the Google Groups "vim_dev" group.
                  To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
                  For more options, visit https://groups.google.com/d/optout.
                • Claudia Hardman
                  One thing missing is guisp/undercurl support. It appears there is no definition for KS_UCE/KS_UCS elsewhere than #if defined(FEAT_GUI) so one coudln t even set
                  Message 8 of 14 , Feb 13
                  • 0 Attachment
                    One thing missing is guisp/undercurl support. It appears there is no definition for KS_UCE/KS_UCS elsewhere than #if defined(FEAT_GUI) so one coudln't even set t_Cs/t_Ce, it just renders the themes default bg in its place (see attached screenshot.

                    I recognize the terminal would need to be patched to support true undercurl with color set by guisp value (feature request made to hterm team is linked here: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-hterm/ncWSu-hV7r8)

                    But this would also I think need to be supported within # ifdef FEAT_TERMTRUECOLOR to expose these two capabilities, yes?

                    --
                    --
                    You received this message from the "vim_dev" maillist.
                    Do not top-post! Type your reply below the text you are replying to.
                    For more information, visit http://www.vim.org/maillist.php

                    ---
                    You received this message because you are subscribed to the Google Groups "vim_dev" group.
                    To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
                    For more options, visit https://groups.google.com/d/optout.
                  Your message has been successfully submitted and would be delivered to recipients shortly.