diff -ruN mc-4.6.2.orig/debian/patches/all.series mc-4.6.2/debian/patches/all.series --- mc-4.6.2.orig/debian/patches/all.series 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/all.series 2008-11-23 14:09:31.000000000 +0200 @@ -27,7 +27,6 @@ syntax/08_c-vs-cxx.patch syntax/09_spec-syntax.patch syntax/10_vhdl-syntax.patch -syntax/12_asm-syntax.patch syntax/11_mail-syntax.patch syntax/13_procmail-syntax.patch utf8/mc-utf8.patch diff -ruN mc-4.6.2.orig/debian/patches/autgen-run.patch mc-4.6.2/debian/patches/autgen-run.patch --- mc-4.6.2.orig/debian/patches/autgen-run.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/autgen-run.patch 2008-11-23 14:09:32.000000000 +0200 @@ -138964,31 +138964,6 @@ am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/codeset.m4~ mc-4.6.2~git20080311/m4/codeset.m4~ ---- orig/mc-4.6.2~git20080311/m4/codeset.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/codeset.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,21 @@ -+# codeset.m4 serial 2 (gettext-0.16) -+dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+AC_DEFUN([AM_LANGINFO_CODESET], -+[ -+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, -+ [AC_TRY_LINK([#include ], -+ [char* cs = nl_langinfo(CODESET); return !cs;], -+ am_cv_langinfo_codeset=yes, -+ am_cv_langinfo_codeset=no) -+ ]) -+ if test $am_cv_langinfo_codeset = yes; then -+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1, -+ [Define if you have and nl_langinfo(CODESET).]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/iconv.m4 mc-4.6.2~git20080311/m4/iconv.m4 --- orig/mc-4.6.2~git20080311/m4/iconv.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/iconv.m4 2008-06-17 12:00:46.000000000 +0200 @@ -139104,190 +139079,6 @@ fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/iconv.m4~ mc-4.6.2~git20080311/m4/iconv.m4~ ---- orig/mc-4.6.2~git20080311/m4/iconv.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/iconv.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,180 @@ -+# iconv.m4 serial AM6 (gettext-0.16.2) -+dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -+[ -+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ AC_REQUIRE([AC_LIB_RPATH]) -+ -+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV -+ dnl accordingly. -+ AC_LIB_LINKFLAGS_BODY([iconv]) -+]) -+ -+AC_DEFUN([AM_ICONV_LINK], -+[ -+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and -+ dnl those with the standalone portable GNU libiconv installed). -+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles -+ -+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV -+ dnl accordingly. -+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) -+ -+ dnl Add $INCICONV to CPPFLAGS before performing the following checks, -+ dnl because if the user has installed libiconv and not disabled its use -+ dnl via --without-libiconv-prefix, he wants to use it. The first -+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. -+ am_save_CPPFLAGS="$CPPFLAGS" -+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) -+ -+ AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ -+ am_cv_func_iconv="no, consider installing GNU libiconv" -+ am_cv_lib_iconv=no -+ AC_TRY_LINK([#include -+#include ], -+ [iconv_t cd = iconv_open("",""); -+ iconv(cd,NULL,NULL,NULL,NULL); -+ iconv_close(cd);], -+ am_cv_func_iconv=yes) -+ if test "$am_cv_func_iconv" != yes; then -+ am_save_LIBS="$LIBS" -+ LIBS="$LIBS $LIBICONV" -+ AC_TRY_LINK([#include -+#include ], -+ [iconv_t cd = iconv_open("",""); -+ iconv(cd,NULL,NULL,NULL,NULL); -+ iconv_close(cd);], -+ am_cv_lib_iconv=yes -+ am_cv_func_iconv=yes) -+ LIBS="$am_save_LIBS" -+ fi -+ ]) -+ if test "$am_cv_func_iconv" = yes; then -+ AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ -+ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. -+ am_save_LIBS="$LIBS" -+ if test $am_cv_lib_iconv = yes; then -+ LIBS="$LIBS $LIBICONV" -+ fi -+ AC_TRY_RUN([ -+#include -+#include -+int main () -+{ -+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful -+ returns. */ -+ { -+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); -+ if (cd_utf8_to_88591 != (iconv_t)(-1)) -+ { -+ static const char input[] = "\342\202\254"; /* EURO SIGN */ -+ char buf[10]; -+ const char *inptr = input; -+ size_t inbytesleft = strlen (input); -+ char *outptr = buf; -+ size_t outbytesleft = sizeof (buf); -+ size_t res = iconv (cd_utf8_to_88591, -+ (char **) &inptr, &inbytesleft, -+ &outptr, &outbytesleft); -+ if (res == 0) -+ return 1; -+ } -+ } -+#if 0 /* This bug could be worked around by the caller. */ -+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ -+ { -+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); -+ if (cd_88591_to_utf8 != (iconv_t)(-1)) -+ { -+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; -+ char buf[50]; -+ const char *inptr = input; -+ size_t inbytesleft = strlen (input); -+ char *outptr = buf; -+ size_t outbytesleft = sizeof (buf); -+ size_t res = iconv (cd_88591_to_utf8, -+ (char **) &inptr, &inbytesleft, -+ &outptr, &outbytesleft); -+ if ((int)res > 0) -+ return 1; -+ } -+ } -+#endif -+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is -+ provided. */ -+ if (/* Try standardized names. */ -+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) -+ /* Try IRIX, OSF/1 names. */ -+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) -+ /* Try AIX names. */ -+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) -+ /* Try HP-UX names. */ -+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) -+ return 1; -+ return 0; -+}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], -+ [case "$host_os" in -+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; -+ *) am_cv_func_iconv_works="guessing yes" ;; -+ esac]) -+ LIBS="$am_save_LIBS" -+ ]) -+ case "$am_cv_func_iconv_works" in -+ *no) am_func_iconv=no am_cv_lib_iconv=no ;; -+ *) am_func_iconv=yes ;; -+ esac -+ else -+ am_func_iconv=no am_cv_lib_iconv=no -+ fi -+ if test "$am_func_iconv" = yes; then -+ AC_DEFINE(HAVE_ICONV, 1, -+ [Define if you have the iconv() function and it works.]) -+ fi -+ if test "$am_cv_lib_iconv" = yes; then -+ AC_MSG_CHECKING([how to link with libiconv]) -+ AC_MSG_RESULT([$LIBICONV]) -+ else -+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV -+ dnl either. -+ CPPFLAGS="$am_save_CPPFLAGS" -+ LIBICONV= -+ LTLIBICONV= -+ fi -+ AC_SUBST(LIBICONV) -+ AC_SUBST(LTLIBICONV) -+]) -+ -+AC_DEFUN([AM_ICONV], -+[ -+ AM_ICONV_LINK -+ if test "$am_cv_func_iconv" = yes; then -+ AC_MSG_CHECKING([for iconv declaration]) -+ AC_CACHE_VAL(am_cv_proto_iconv, [ -+ AC_TRY_COMPILE([ -+#include -+#include -+extern -+#ifdef __cplusplus -+"C" -+#endif -+#if defined(__STDC__) || defined(__cplusplus) -+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -+#else -+size_t iconv(); -+#endif -+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") -+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) -+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` -+ AC_MSG_RESULT([$]{ac_t:- -+ }[$]am_cv_proto_iconv) -+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, -+ [Define as const if the declaration of iconv() needs const.]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/intdiv0.m4 mc-4.6.2~git20080311/m4/intdiv0.m4 --- orig/mc-4.6.2~git20080311/m4/intdiv0.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/intdiv0.m4 2008-06-17 12:00:46.000000000 +0200 @@ -139349,94 +139140,6 @@ ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; -diff -Nurwd orig/mc-4.6.2~git20080311/m4/intdiv0.m4~ mc-4.6.2~git20080311/m4/intdiv0.m4~ ---- orig/mc-4.6.2~git20080311/m4/intdiv0.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/intdiv0.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,84 @@ -+# intdiv0.m4 serial 2 (gettext-0.16.2) -+dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+AC_DEFUN([gt_INTDIV0], -+[ -+ AC_REQUIRE([AC_PROG_CC])dnl -+ AC_REQUIRE([AC_CANONICAL_HOST])dnl -+ -+ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], -+ gt_cv_int_divbyzero_sigfpe, -+ [ -+ gt_cv_int_divbyzero_sigfpe= -+changequote(,)dnl -+ case "$host_os" in -+ macos* | darwin[6-9]* | darwin[1-9][0-9]*) -+ # On MacOS X 10.2 or newer, just assume the same as when cross- -+ # compiling. If we were to perform the real test, 1 Crash Report -+ # dialog window would pop up. -+ case "$host_cpu" in -+ i[34567]86 | x86_64) -+ gt_cv_int_divbyzero_sigfpe="guessing yes" ;; -+ esac -+ ;; -+ esac -+changequote([,])dnl -+ if test -z "$gt_cv_int_divbyzero_sigfpe"; then -+ AC_TRY_RUN([ -+#include -+#include -+ -+static void -+sigfpe_handler (int sig) -+{ -+ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ -+ exit (sig != SIGFPE); -+} -+ -+int x = 1; -+int y = 0; -+int z; -+int nan; -+ -+int main () -+{ -+ signal (SIGFPE, sigfpe_handler); -+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ -+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) -+ signal (SIGTRAP, sigfpe_handler); -+#endif -+/* Linux/SPARC yields signal SIGILL. */ -+#if defined (__sparc__) && defined (__linux__) -+ signal (SIGILL, sigfpe_handler); -+#endif -+ -+ z = x / y; -+ nan = y / y; -+ exit (1); -+} -+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, -+ [ -+ # Guess based on the CPU. -+changequote(,)dnl -+ case "$host_cpu" in -+ alpha* | i[34567]86 | x86_64 | m68k | s390*) -+ gt_cv_int_divbyzero_sigfpe="guessing yes";; -+ *) -+ gt_cv_int_divbyzero_sigfpe="guessing no";; -+ esac -+changequote([,])dnl -+ ]) -+ fi -+ ]) -+ case "$gt_cv_int_divbyzero_sigfpe" in -+ *yes) value=1;; -+ *) value=0;; -+ esac -+ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, -+ [Define if integer division by zero raises signal SIGFPE.]) -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/intmax.m4 mc-4.6.2~git20080311/m4/intmax.m4 --- orig/mc-4.6.2~git20080311/m4/intmax.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/intmax.m4 2008-06-17 12:00:46.000000000 +0200 @@ -139458,43 +139161,6 @@ if test $gt_cv_c_intmax_t = yes; then AC_DEFINE(HAVE_INTMAX_T, 1, [Define if you have the 'intmax_t' type in or .]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/intmax.m4~ mc-4.6.2~git20080311/m4/intmax.m4~ ---- orig/mc-4.6.2~git20080311/m4/intmax.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/intmax.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,33 @@ -+# intmax.m4 serial 3 (gettext-0.16) -+dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+dnl Test whether the system has the 'intmax_t' type, but don't attempt to -+dnl find a replacement if it is lacking. -+ -+AC_DEFUN([gt_TYPE_INTMAX_T], -+[ -+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) -+ AC_REQUIRE([gl_AC_HEADER_STDINT_H]) -+ AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, -+ [AC_TRY_COMPILE([ -+#include -+#include -+#if HAVE_STDINT_H_WITH_UINTMAX -+#include -+#endif -+#if HAVE_INTTYPES_H_WITH_UINTMAX -+#include -+#endif -+], [intmax_t x = -1; -+ return !x;], -+ gt_cv_c_intmax_t=yes, -+ gt_cv_c_intmax_t=no)]) -+ if test $gt_cv_c_intmax_t = yes; then -+ AC_DEFINE(HAVE_INTMAX_T, 1, -+ [Define if you have the 'intmax_t' type in or .]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/inttypes_h.m4 mc-4.6.2~git20080311/m4/inttypes_h.m4 --- orig/mc-4.6.2~git20080311/m4/inttypes_h.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/inttypes_h.m4 2008-06-17 12:00:46.000000000 +0200 @@ -139515,36 +139181,6 @@ gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=no)]) if test $gl_cv_header_inttypes_h = yes; then -diff -Nurwd orig/mc-4.6.2~git20080311/m4/inttypes_h.m4~ mc-4.6.2~git20080311/m4/inttypes_h.m4~ ---- orig/mc-4.6.2~git20080311/m4/inttypes_h.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/inttypes_h.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,26 @@ -+# inttypes_h.m4 serial 7 -+dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Paul Eggert. -+ -+# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, -+# doesn't clash with , and declares uintmax_t. -+ -+AC_DEFUN([gl_AC_HEADER_INTTYPES_H], -+[ -+ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, -+ [AC_TRY_COMPILE( -+ [#include -+#include ], -+ [uintmax_t i = (uintmax_t) -1; return !i;], -+ gl_cv_header_inttypes_h=yes, -+ gl_cv_header_inttypes_h=no)]) -+ if test $gl_cv_header_inttypes_h = yes; then -+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, -+ [Define if exists, doesn't clash with , -+ and declares uintmax_t. ]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/inttypes-pri.m4 mc-4.6.2~git20080311/m4/inttypes-pri.m4 --- orig/mc-4.6.2~git20080311/m4/inttypes-pri.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/inttypes-pri.m4 2008-06-17 12:00:46.000000000 +0200 @@ -139583,46 +139219,6 @@ fi - AC_SUBST([PRI_MACROS_BROKEN]) ]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/inttypes-pri.m4~ mc-4.6.2~git20080311/m4/inttypes-pri.m4~ ---- orig/mc-4.6.2~git20080311/m4/inttypes-pri.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/inttypes-pri.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,36 @@ -+# inttypes-pri.m4 serial 4 (gettext-0.16) -+dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+AC_PREREQ(2.52) -+ -+# Define PRI_MACROS_BROKEN if exists and defines the PRI* -+# macros to non-string values. This is the case on AIX 4.3.3. -+ -+AC_DEFUN([gt_INTTYPES_PRI], -+[ -+ AC_CHECK_HEADERS([inttypes.h]) -+ if test $ac_cv_header_inttypes_h = yes; then -+ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], -+ gt_cv_inttypes_pri_broken, -+ [ -+ AC_TRY_COMPILE([#include -+#ifdef PRId32 -+char *p = PRId32; -+#endif -+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) -+ ]) -+ fi -+ if test "$gt_cv_inttypes_pri_broken" = yes; then -+ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, -+ [Define if exists and defines unusable PRI* macros.]) -+ PRI_MACROS_BROKEN=1 -+ else -+ PRI_MACROS_BROKEN=0 -+ fi -+ AC_SUBST([PRI_MACROS_BROKEN]) -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/isc-posix.m4 mc-4.6.2~git20080311/m4/isc-posix.m4 --- orig/mc-4.6.2~git20080311/m4/isc-posix.m4 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.6.2~git20080311/m4/isc-posix.m4 2008-06-17 12:00:46.000000000 +0200 @@ -140088,719 +139684,6 @@ - fi - AC_SUBST([$1]) -]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/lib-link.m4~ mc-4.6.2~git20080311/m4/lib-link.m4~ ---- orig/mc-4.6.2~git20080311/m4/lib-link.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/lib-link.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,709 @@ -+# lib-link.m4 serial 13 (gettext-0.16.2) -+dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+AC_PREREQ(2.54) -+ -+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -+dnl the libraries corresponding to explicit and implicit dependencies. -+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -+dnl augments the CPPFLAGS variable. -+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -+AC_DEFUN([AC_LIB_LINKFLAGS], -+[ -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ AC_REQUIRE([AC_LIB_RPATH]) -+ define([Name],[translit([$1],[./-], [___])]) -+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], -+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ -+ AC_LIB_LINKFLAGS_BODY([$1], [$2]) -+ ac_cv_lib[]Name[]_libs="$LIB[]NAME" -+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" -+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME" -+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" -+ ]) -+ LIB[]NAME="$ac_cv_lib[]Name[]_libs" -+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" -+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags" -+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" -+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) -+ AC_SUBST([LIB]NAME) -+ AC_SUBST([LTLIB]NAME) -+ AC_SUBST([LIB]NAME[_PREFIX]) -+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the -+ dnl results of this search when this library appears as a dependency. -+ HAVE_LIB[]NAME=yes -+ undefine([Name]) -+ undefine([NAME]) -+]) -+ -+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) -+dnl searches for libname and the libraries corresponding to explicit and -+dnl implicit dependencies, together with the specified include files and -+dnl the ability to compile and link the specified testcode. If found, it -+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and -+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -+[ -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ AC_REQUIRE([AC_LIB_RPATH]) -+ define([Name],[translit([$1],[./-], [___])]) -+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], -+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ -+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME -+ dnl accordingly. -+ AC_LIB_LINKFLAGS_BODY([$1], [$2]) -+ -+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, -+ dnl because if the user has installed lib[]Name and not disabled its use -+ dnl via --without-lib[]Name-prefix, he wants to use it. -+ ac_save_CPPFLAGS="$CPPFLAGS" -+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) -+ -+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ -+ ac_save_LIBS="$LIBS" -+ LIBS="$LIBS $LIB[]NAME" -+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) -+ LIBS="$ac_save_LIBS" -+ ]) -+ if test "$ac_cv_lib[]Name" = yes; then -+ HAVE_LIB[]NAME=yes -+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) -+ AC_MSG_CHECKING([how to link with lib[]$1]) -+ AC_MSG_RESULT([$LIB[]NAME]) -+ else -+ HAVE_LIB[]NAME=no -+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need -+ dnl $INC[]NAME either. -+ CPPFLAGS="$ac_save_CPPFLAGS" -+ LIB[]NAME= -+ LTLIB[]NAME= -+ LIB[]NAME[]_PREFIX= -+ fi -+ AC_SUBST([HAVE_LIB]NAME) -+ AC_SUBST([LIB]NAME) -+ AC_SUBST([LTLIB]NAME) -+ AC_SUBST([LIB]NAME[_PREFIX]) -+ undefine([Name]) -+ undefine([NAME]) -+]) -+ -+dnl Determine the platform dependent parameters needed to use rpath: -+dnl acl_libext, -+dnl acl_shlibext, -+dnl acl_hardcode_libdir_flag_spec, -+dnl acl_hardcode_libdir_separator, -+dnl acl_hardcode_direct, -+dnl acl_hardcode_minus_L. -+AC_DEFUN([AC_LIB_RPATH], -+[ -+ dnl Tell automake >= 1.10 to complain if config.rpath is missing. -+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) -+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS -+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld -+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host -+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir -+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ -+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ -+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh -+ . ./conftest.sh -+ rm -f ./conftest.sh -+ acl_cv_rpath=done -+ ]) -+ wl="$acl_cv_wl" -+ acl_libext="$acl_cv_libext" -+ acl_shlibext="$acl_cv_shlibext" -+ acl_libname_spec="$acl_cv_libname_spec" -+ acl_library_names_spec="$acl_cv_library_names_spec" -+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" -+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" -+ acl_hardcode_direct="$acl_cv_hardcode_direct" -+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" -+ dnl Determine whether the user wants rpath handling at all. -+ AC_ARG_ENABLE(rpath, -+ [ --disable-rpath do not hardcode runtime library paths], -+ :, enable_rpath=yes) -+]) -+ -+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -+dnl the libraries corresponding to explicit and implicit dependencies. -+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -+AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -+[ -+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) -+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], -+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) -+ dnl Autoconf >= 2.61 supports dots in --with options. -+ define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) -+ dnl By default, look in $includedir and $libdir. -+ use_additional=yes -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], -+[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib -+ --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], -+[ -+ if test "X$withval" = "Xno"; then -+ use_additional=no -+ else -+ if test "X$withval" = "X"; then -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ else -+ additional_includedir="$withval/include" -+ additional_libdir="$withval/$acl_libdirstem" -+ fi -+ fi -+]) -+ dnl Search the library and its dependencies in $additional_libdir and -+ dnl $LDFLAGS. Using breadth-first-seach. -+ LIB[]NAME= -+ LTLIB[]NAME= -+ INC[]NAME= -+ LIB[]NAME[]_PREFIX= -+ rpathdirs= -+ ltrpathdirs= -+ names_already_handled= -+ names_next_round='$1 $2' -+ while test -n "$names_next_round"; do -+ names_this_round="$names_next_round" -+ names_next_round= -+ for name in $names_this_round; do -+ already_handled= -+ for n in $names_already_handled; do -+ if test "$n" = "$name"; then -+ already_handled=yes -+ break -+ fi -+ done -+ if test -z "$already_handled"; then -+ names_already_handled="$names_already_handled $name" -+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS -+ dnl or AC_LIB_HAVE_LINKFLAGS call. -+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` -+ eval value=\"\$HAVE_LIB$uppername\" -+ if test -n "$value"; then -+ if test "$value" = yes; then -+ eval value=\"\$LIB$uppername\" -+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" -+ eval value=\"\$LTLIB$uppername\" -+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" -+ else -+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined -+ dnl that this library doesn't exist. So just drop it. -+ : -+ fi -+ else -+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS -+ dnl and the already constructed $LIBNAME/$LTLIBNAME. -+ found_dir= -+ found_la= -+ found_so= -+ found_a= -+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name -+ if test -n "$acl_shlibext"; then -+ shrext=".$acl_shlibext" # typically: shrext=.so -+ else -+ shrext= -+ fi -+ if test $use_additional = yes; then -+ dir="$additional_libdir" -+ dnl The same code as in the loop below: -+ dnl First look for a shared library. -+ if test -n "$acl_shlibext"; then -+ if test -f "$dir/$libname$shrext"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext" -+ else -+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then -+ ver=`(cd "$dir" && \ -+ for f in "$libname$shrext".*; do echo "$f"; done \ -+ | sed -e "s,^$libname$shrext\\\\.,," \ -+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ -+ | sed 1q ) 2>/dev/null` -+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext.$ver" -+ fi -+ else -+ eval library_names=\"$acl_library_names_spec\" -+ for f in $library_names; do -+ if test -f "$dir/$f"; then -+ found_dir="$dir" -+ found_so="$dir/$f" -+ break -+ fi -+ done -+ fi -+ fi -+ fi -+ dnl Then look for a static library. -+ if test "X$found_dir" = "X"; then -+ if test -f "$dir/$libname.$acl_libext"; then -+ found_dir="$dir" -+ found_a="$dir/$libname.$acl_libext" -+ fi -+ fi -+ if test "X$found_dir" != "X"; then -+ if test -f "$dir/$libname.la"; then -+ found_la="$dir/$libname.la" -+ fi -+ fi -+ fi -+ if test "X$found_dir" = "X"; then -+ for x in $LDFLAGS $LTLIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ case "$x" in -+ -L*) -+ dir=`echo "X$x" | sed -e 's/^X-L//'` -+ dnl First look for a shared library. -+ if test -n "$acl_shlibext"; then -+ if test -f "$dir/$libname$shrext"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext" -+ else -+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then -+ ver=`(cd "$dir" && \ -+ for f in "$libname$shrext".*; do echo "$f"; done \ -+ | sed -e "s,^$libname$shrext\\\\.,," \ -+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ -+ | sed 1q ) 2>/dev/null` -+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then -+ found_dir="$dir" -+ found_so="$dir/$libname$shrext.$ver" -+ fi -+ else -+ eval library_names=\"$acl_library_names_spec\" -+ for f in $library_names; do -+ if test -f "$dir/$f"; then -+ found_dir="$dir" -+ found_so="$dir/$f" -+ break -+ fi -+ done -+ fi -+ fi -+ fi -+ dnl Then look for a static library. -+ if test "X$found_dir" = "X"; then -+ if test -f "$dir/$libname.$acl_libext"; then -+ found_dir="$dir" -+ found_a="$dir/$libname.$acl_libext" -+ fi -+ fi -+ if test "X$found_dir" != "X"; then -+ if test -f "$dir/$libname.la"; then -+ found_la="$dir/$libname.la" -+ fi -+ fi -+ ;; -+ esac -+ if test "X$found_dir" != "X"; then -+ break -+ fi -+ done -+ fi -+ if test "X$found_dir" != "X"; then -+ dnl Found the library. -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" -+ if test "X$found_so" != "X"; then -+ dnl Linking with a shared library. We attempt to hardcode its -+ dnl directory into the executable's runpath, unless it's the -+ dnl standard /usr/lib. -+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then -+ dnl No hardcoding is needed. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ else -+ dnl Use an explicit option to hardcode DIR into the resulting -+ dnl binary. -+ dnl Potentially add DIR to ltrpathdirs. -+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. -+ haveit= -+ for x in $ltrpathdirs; do -+ if test "X$x" = "X$found_dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ ltrpathdirs="$ltrpathdirs $found_dir" -+ fi -+ dnl The hardcoding into $LIBNAME is system dependent. -+ if test "$acl_hardcode_direct" = yes; then -+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the -+ dnl resulting binary. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ else -+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then -+ dnl Use an explicit option to hardcode DIR into the resulting -+ dnl binary. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ dnl Potentially add DIR to rpathdirs. -+ dnl The rpathdirs will be appended to $LIBNAME at the end. -+ haveit= -+ for x in $rpathdirs; do -+ if test "X$x" = "X$found_dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ rpathdirs="$rpathdirs $found_dir" -+ fi -+ else -+ dnl Rely on "-L$found_dir". -+ dnl But don't add it if it's already contained in the LDFLAGS -+ dnl or the already constructed $LIBNAME -+ haveit= -+ for x in $LDFLAGS $LIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$found_dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" -+ fi -+ if test "$acl_hardcode_minus_L" != no; then -+ dnl FIXME: Not sure whether we should use -+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" -+ dnl here. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" -+ else -+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH -+ dnl here, because this doesn't fit in flags passed to the -+ dnl compiler. So give up. No hardcoding. This affects only -+ dnl very old systems. -+ dnl FIXME: Not sure whether we should use -+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" -+ dnl here. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" -+ fi -+ fi -+ fi -+ fi -+ else -+ if test "X$found_a" != "X"; then -+ dnl Linking with a static library. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" -+ else -+ dnl We shouldn't come here, but anyway it's good to have a -+ dnl fallback. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" -+ fi -+ fi -+ dnl Assume the include files are nearby. -+ additional_includedir= -+ case "$found_dir" in -+ */$acl_libdirstem | */$acl_libdirstem/) -+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` -+ LIB[]NAME[]_PREFIX="$basedir" -+ additional_includedir="$basedir/include" -+ ;; -+ esac -+ if test "X$additional_includedir" != "X"; then -+ dnl Potentially add $additional_includedir to $INCNAME. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/include, -+ dnl 2. if it's /usr/local/include and we are using GCC on Linux, -+ dnl 3. if it's already present in $CPPFLAGS or the already -+ dnl constructed $INCNAME, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_includedir" != "X/usr/include"; then -+ haveit= -+ if test "X$additional_includedir" = "X/usr/local/include"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux* | gnu* | k*bsd*-gnu) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ for x in $CPPFLAGS $INC[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-I$additional_includedir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test -d "$additional_includedir"; then -+ dnl Really add $additional_includedir to $INCNAME. -+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" -+ fi -+ fi -+ fi -+ fi -+ fi -+ dnl Look for dependencies. -+ if test -n "$found_la"; then -+ dnl Read the .la file. It defines the variables -+ dnl dlname, library_names, old_library, dependency_libs, current, -+ dnl age, revision, installed, dlopen, dlpreopen, libdir. -+ save_libdir="$libdir" -+ case "$found_la" in -+ */* | *\\*) . "$found_la" ;; -+ *) . "./$found_la" ;; -+ esac -+ libdir="$save_libdir" -+ dnl We use only dependency_libs. -+ for dep in $dependency_libs; do -+ case "$dep" in -+ -L*) -+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` -+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/lib, -+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux, -+ dnl 3. if it's already present in $LDFLAGS or the already -+ dnl constructed $LIBNAME, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then -+ haveit= -+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux* | gnu* | k*bsd*-gnu) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ haveit= -+ for x in $LDFLAGS $LIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$additional_libdir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test -d "$additional_libdir"; then -+ dnl Really add $additional_libdir to $LIBNAME. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" -+ fi -+ fi -+ haveit= -+ for x in $LDFLAGS $LTLIB[]NAME; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$additional_libdir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test -d "$additional_libdir"; then -+ dnl Really add $additional_libdir to $LTLIBNAME. -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" -+ fi -+ fi -+ fi -+ fi -+ ;; -+ -R*) -+ dir=`echo "X$dep" | sed -e 's/^X-R//'` -+ if test "$enable_rpath" != no; then -+ dnl Potentially add DIR to rpathdirs. -+ dnl The rpathdirs will be appended to $LIBNAME at the end. -+ haveit= -+ for x in $rpathdirs; do -+ if test "X$x" = "X$dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ rpathdirs="$rpathdirs $dir" -+ fi -+ dnl Potentially add DIR to ltrpathdirs. -+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. -+ haveit= -+ for x in $ltrpathdirs; do -+ if test "X$x" = "X$dir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ ltrpathdirs="$ltrpathdirs $dir" -+ fi -+ fi -+ ;; -+ -l*) -+ dnl Handle this in the next round. -+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` -+ ;; -+ *.la) -+ dnl Handle this in the next round. Throw away the .la's -+ dnl directory; it is already contained in a preceding -L -+ dnl option. -+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` -+ ;; -+ *) -+ dnl Most likely an immediate library name. -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" -+ ;; -+ esac -+ done -+ fi -+ else -+ dnl Didn't find the library; assume it is in the system directories -+ dnl known to the linker and runtime loader. (All the system -+ dnl directories known to the linker should also be known to the -+ dnl runtime loader, otherwise the system is severely misconfigured.) -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" -+ fi -+ fi -+ fi -+ done -+ done -+ if test "X$rpathdirs" != "X"; then -+ if test -n "$acl_hardcode_libdir_separator"; then -+ dnl Weird platform: only the last -rpath option counts, the user must -+ dnl pass all path elements in one option. We can arrange that for a -+ dnl single library, but not when more than one $LIBNAMEs are used. -+ alldirs= -+ for found_dir in $rpathdirs; do -+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" -+ done -+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. -+ acl_save_libdir="$libdir" -+ libdir="$alldirs" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" -+ else -+ dnl The -rpath options are cumulative. -+ for found_dir in $rpathdirs; do -+ acl_save_libdir="$libdir" -+ libdir="$found_dir" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" -+ done -+ fi -+ fi -+ if test "X$ltrpathdirs" != "X"; then -+ dnl When using libtool, the option that works for both libraries and -+ dnl executables is -R. The -R options are cumulative. -+ for found_dir in $ltrpathdirs; do -+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" -+ done -+ fi -+]) -+ -+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -+dnl unless already present in VAR. -+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -+dnl contains two or three consecutive elements that belong together. -+AC_DEFUN([AC_LIB_APPENDTOVAR], -+[ -+ for element in [$2]; do -+ haveit= -+ for x in $[$1]; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X$element"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ [$1]="${[$1]}${[$1]:+ }$element" -+ fi -+ done -+]) -+ -+dnl For those cases where a variable contains several -L and -l options -+dnl referring to unknown libraries and directories, this macro determines the -+dnl necessary additional linker options for the runtime path. -+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -+dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -+dnl otherwise linking without libtool is assumed. -+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -+[ -+ AC_REQUIRE([AC_LIB_RPATH]) -+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) -+ $1= -+ if test "$enable_rpath" != no; then -+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then -+ dnl Use an explicit option to hardcode directories into the resulting -+ dnl binary. -+ rpathdirs= -+ next= -+ for opt in $2; do -+ if test -n "$next"; then -+ dir="$next" -+ dnl No need to hardcode the standard /usr/lib. -+ if test "X$dir" != "X/usr/$acl_libdirstem"; then -+ rpathdirs="$rpathdirs $dir" -+ fi -+ next= -+ else -+ case $opt in -+ -L) next=yes ;; -+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` -+ dnl No need to hardcode the standard /usr/lib. -+ if test "X$dir" != "X/usr/$acl_libdirstem"; then -+ rpathdirs="$rpathdirs $dir" -+ fi -+ next= ;; -+ *) next= ;; -+ esac -+ fi -+ done -+ if test "X$rpathdirs" != "X"; then -+ if test -n ""$3""; then -+ dnl libtool is used for linking. Use -R options. -+ for dir in $rpathdirs; do -+ $1="${$1}${$1:+ }-R$dir" -+ done -+ else -+ dnl The linker is used for linking directly. -+ if test -n "$acl_hardcode_libdir_separator"; then -+ dnl Weird platform: only the last -rpath option counts, the user -+ dnl must pass all path elements in one option. -+ alldirs= -+ for dir in $rpathdirs; do -+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" -+ done -+ acl_save_libdir="$libdir" -+ libdir="$alldirs" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ $1="$flag" -+ else -+ dnl The -rpath options are cumulative. -+ for dir in $rpathdirs; do -+ acl_save_libdir="$libdir" -+ libdir="$dir" -+ eval flag=\"$acl_hardcode_libdir_flag_spec\" -+ libdir="$acl_save_libdir" -+ $1="${$1}${$1:+ }$flag" -+ done -+ fi -+ fi -+ fi -+ fi -+ fi -+ AC_SUBST([$1]) -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/lib-prefix.m4 mc-4.6.2~git20080311/m4/lib-prefix.m4 --- orig/mc-4.6.2~git20080311/m4/lib-prefix.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/lib-prefix.m4 2008-06-17 12:00:46.000000000 +0200 @@ -140880,195 +139763,6 @@ - IFS="$acl_save_IFS" - fi -]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/lib-prefix.m4~ mc-4.6.2~git20080311/m4/lib-prefix.m4~ ---- orig/mc-4.6.2~git20080311/m4/lib-prefix.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/lib-prefix.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,185 @@ -+# lib-prefix.m4 serial 5 (gettext-0.15) -+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -+dnl require excessive bracketing. -+ifdef([AC_HELP_STRING], -+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) -+ -+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -+dnl to access previously installed libraries. The basic assumption is that -+dnl a user will want packages to use other packages he previously installed -+dnl with the same --prefix option. -+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -+dnl libraries, but is otherwise very convenient. -+AC_DEFUN([AC_LIB_PREFIX], -+[ -+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) -+ AC_REQUIRE([AC_PROG_CC]) -+ AC_REQUIRE([AC_CANONICAL_HOST]) -+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) -+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) -+ dnl By default, look in $includedir and $libdir. -+ use_additional=yes -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ AC_LIB_ARG_WITH([lib-prefix], -+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib -+ --without-lib-prefix don't search for libraries in includedir and libdir], -+[ -+ if test "X$withval" = "Xno"; then -+ use_additional=no -+ else -+ if test "X$withval" = "X"; then -+ AC_LIB_WITH_FINAL_PREFIX([ -+ eval additional_includedir=\"$includedir\" -+ eval additional_libdir=\"$libdir\" -+ ]) -+ else -+ additional_includedir="$withval/include" -+ additional_libdir="$withval/$acl_libdirstem" -+ fi -+ fi -+]) -+ if test $use_additional = yes; then -+ dnl Potentially add $additional_includedir to $CPPFLAGS. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/include, -+ dnl 2. if it's already present in $CPPFLAGS, -+ dnl 3. if it's /usr/local/include and we are using GCC on Linux, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_includedir" != "X/usr/include"; then -+ haveit= -+ for x in $CPPFLAGS; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-I$additional_includedir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test "X$additional_includedir" = "X/usr/local/include"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux* | gnu* | k*bsd*-gnu) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ if test -d "$additional_includedir"; then -+ dnl Really add $additional_includedir to $CPPFLAGS. -+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" -+ fi -+ fi -+ fi -+ fi -+ dnl Potentially add $additional_libdir to $LDFLAGS. -+ dnl But don't add it -+ dnl 1. if it's the standard /usr/lib, -+ dnl 2. if it's already present in $LDFLAGS, -+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux, -+ dnl 4. if it doesn't exist as a directory. -+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then -+ haveit= -+ for x in $LDFLAGS; do -+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) -+ if test "X$x" = "X-L$additional_libdir"; then -+ haveit=yes -+ break -+ fi -+ done -+ if test -z "$haveit"; then -+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then -+ if test -n "$GCC"; then -+ case $host_os in -+ linux*) haveit=yes;; -+ esac -+ fi -+ fi -+ if test -z "$haveit"; then -+ if test -d "$additional_libdir"; then -+ dnl Really add $additional_libdir to $LDFLAGS. -+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" -+ fi -+ fi -+ fi -+ fi -+ fi -+]) -+ -+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -+dnl acl_final_exec_prefix, containing the values to which $prefix and -+dnl $exec_prefix will expand at the end of the configure script. -+AC_DEFUN([AC_LIB_PREPARE_PREFIX], -+[ -+ dnl Unfortunately, prefix and exec_prefix get only finally determined -+ dnl at the end of configure. -+ if test "X$prefix" = "XNONE"; then -+ acl_final_prefix="$ac_default_prefix" -+ else -+ acl_final_prefix="$prefix" -+ fi -+ if test "X$exec_prefix" = "XNONE"; then -+ acl_final_exec_prefix='${prefix}' -+ else -+ acl_final_exec_prefix="$exec_prefix" -+ fi -+ acl_save_prefix="$prefix" -+ prefix="$acl_final_prefix" -+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" -+ prefix="$acl_save_prefix" -+]) -+ -+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -+dnl variables prefix and exec_prefix bound to the values they will have -+dnl at the end of the configure script. -+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -+[ -+ acl_save_prefix="$prefix" -+ prefix="$acl_final_prefix" -+ acl_save_exec_prefix="$exec_prefix" -+ exec_prefix="$acl_final_exec_prefix" -+ $1 -+ exec_prefix="$acl_save_exec_prefix" -+ prefix="$acl_save_prefix" -+]) -+ -+dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing -+dnl the basename of the libdir, either "lib" or "lib64". -+AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -+[ -+ dnl There is no formal standard regarding lib and lib64. The current -+ dnl practice is that on a system supporting 32-bit and 64-bit instruction -+ dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit -+ dnl libraries go under $prefix/lib. We determine the compiler's default -+ dnl mode by looking at the compiler's library search path. If at least -+ dnl of its elements ends in /lib64 or points to a directory whose absolute -+ dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the -+ dnl default, namely "lib". -+ acl_libdirstem=lib -+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` -+ if test -n "$searchpath"; then -+ acl_save_IFS="${IFS= }"; IFS=":" -+ for searchdir in $searchpath; do -+ if test -d "$searchdir"; then -+ case "$searchdir" in -+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; -+ *) searchdir=`cd "$searchdir" && pwd` -+ case "$searchdir" in -+ */lib64 ) acl_libdirstem=lib64 ;; -+ esac ;; -+ esac -+ fi -+ done -+ IFS="$acl_save_IFS" -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/longlong.m4 mc-4.6.2~git20080311/m4/longlong.m4 --- orig/mc-4.6.2~git20080311/m4/longlong.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/longlong.m4 2008-06-17 12:00:46.000000000 +0200 @@ -141152,82 +139846,6 @@ if test $ac_cv_type_long_long = yes; then AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have the 'long long' type.]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/longlong.m4~ mc-4.6.2~git20080311/m4/longlong.m4~ ---- orig/mc-4.6.2~git20080311/m4/longlong.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/longlong.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,72 @@ -+# longlong.m4 serial 10 -+dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Paul Eggert. -+ -+# Define HAVE_LONG_LONG_INT if 'long long int' works. -+# This fixes a bug in Autoconf 2.60, but can be removed once we -+# assume 2.61 everywhere. -+ -+# Note: If the type 'long long int' exists but is only 32 bits large -+# (as on some very old compilers), HAVE_LONG_LONG_INT will not be -+# defined. In this case you can treat 'long long int' like 'long int'. -+ -+AC_DEFUN([AC_TYPE_LONG_LONG_INT], -+[ -+ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], -+ [AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [[long long int ll = 9223372036854775807ll; -+ long long int nll = -9223372036854775807LL; -+ typedef int a[((-9223372036854775807LL < 0 -+ && 0 < 9223372036854775807ll) -+ ? 1 : -1)]; -+ int i = 63;]], -+ [[long long int llmax = 9223372036854775807ll; -+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) -+ | (llmax / ll) | (llmax % ll));]])], -+ [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. -+ dnl If cross compiling, assume the bug isn't important, since -+ dnl nobody cross compiles for this platform as far as we know. -+ AC_RUN_IFELSE( -+ [AC_LANG_PROGRAM( -+ [[@%:@include -+ @%:@ifndef LLONG_MAX -+ @%:@ define HALF \ -+ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) -+ @%:@ define LLONG_MAX (HALF - 1 + HALF) -+ @%:@endif]], -+ [[long long int n = 1; -+ int i; -+ for (i = 0; ; i++) -+ { -+ long long int m = n << i; -+ if (m >> i != n) -+ return 1; -+ if (LLONG_MAX / 2 < m) -+ break; -+ } -+ return 0;]])], -+ [ac_cv_type_long_long_int=yes], -+ [ac_cv_type_long_long_int=no], -+ [ac_cv_type_long_long_int=yes])], -+ [ac_cv_type_long_long_int=no])]) -+ if test $ac_cv_type_long_long_int = yes; then -+ AC_DEFINE([HAVE_LONG_LONG_INT], 1, -+ [Define to 1 if the system has the type `long long int'.]) -+ fi -+]) -+ -+# This macro is obsolescent and should go away soon. -+AC_DEFUN([gl_AC_TYPE_LONG_LONG], -+[ -+ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) -+ ac_cv_type_long_long=$ac_cv_type_long_long_int -+ if test $ac_cv_type_long_long = yes; then -+ AC_DEFINE(HAVE_LONG_LONG, 1, -+ [Define if you have the 'long long' type.]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/Makefile.in mc-4.6.2~git20080311/m4/Makefile.in --- orig/mc-4.6.2~git20080311/m4/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.6.2~git20080311/m4/Makefile.in 2008-06-17 12:01:03.000000000 +0200 @@ -141662,54 +140280,6 @@ notposix #endif ], gt_cv_func_printf_posix="guessing no", -diff -Nurwd orig/mc-4.6.2~git20080311/m4/printf-posix.m4~ mc-4.6.2~git20080311/m4/printf-posix.m4~ ---- orig/mc-4.6.2~git20080311/m4/printf-posix.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/printf-posix.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,44 @@ -+# printf-posix.m4 serial 3 (gettext-0.16.2) -+dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+dnl Test whether the printf() function supports POSIX/XSI format strings with -+dnl positions. -+ -+AC_DEFUN([gt_PRINTF_POSIX], -+[ -+ AC_REQUIRE([AC_PROG_CC]) -+ AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], -+ gt_cv_func_printf_posix, -+ [ -+ AC_TRY_RUN([ -+#include -+#include -+/* The string "%2$d %1$d", with dollar characters protected from the shell's -+ dollar expansion (possibly an autoconf bug). */ -+static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -+static char buf[100]; -+int main () -+{ -+ sprintf (buf, format, 33, 55); -+ return (strcmp (buf, "55 33") != 0); -+}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, -+ [ -+ AC_EGREP_CPP(notposix, [ -+#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ -+ notposix -+#endif -+ ], gt_cv_func_printf_posix="guessing no", -+ gt_cv_func_printf_posix="guessing yes") -+ ]) -+ ]) -+ case $gt_cv_func_printf_posix in -+ *yes) -+ AC_DEFINE(HAVE_POSIX_PRINTF, 1, -+ [Define if your printf() function supports format strings with positions.]) -+ ;; -+ esac -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/size_max.m4 mc-4.6.2~git20080311/m4/size_max.m4 --- orig/mc-4.6.2~git20080311/m4/size_max.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/size_max.m4 2008-06-17 12:00:46.000000000 +0200 @@ -141800,78 +140370,6 @@ -m4_ifdef([AC_COMPUTE_INT], [], [ - AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/size_max.m4~ mc-4.6.2~git20080311/m4/size_max.m4~ ---- orig/mc-4.6.2~git20080311/m4/size_max.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/size_max.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,68 @@ -+# size_max.m4 serial 6 -+dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+ -+AC_DEFUN([gl_SIZE_MAX], -+[ -+ AC_CHECK_HEADERS(stdint.h) -+ dnl First test whether the system already has SIZE_MAX. -+ AC_MSG_CHECKING([for SIZE_MAX]) -+ AC_CACHE_VAL([gl_cv_size_max], [ -+ gl_cv_size_max= -+ AC_EGREP_CPP([Found it], [ -+#include -+#if HAVE_STDINT_H -+#include -+#endif -+#ifdef SIZE_MAX -+Found it -+#endif -+], gl_cv_size_max=yes) -+ if test -z "$gl_cv_size_max"; then -+ dnl Define it ourselves. Here we assume that the type 'size_t' is not wider -+ dnl than the type 'unsigned long'. Try hard to find a definition that can -+ dnl be used in a preprocessor #if, i.e. doesn't contain a cast. -+ AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], -+ [#include -+#include ], size_t_bits_minus_1=) -+ AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], -+ [#include ], fits_in_uint=) -+ if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then -+ if test $fits_in_uint = 1; then -+ dnl Even though SIZE_MAX fits in an unsigned int, it must be of type -+ dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. -+ AC_TRY_COMPILE([#include -+ extern size_t foo; -+ extern unsigned long foo; -+ ], [], fits_in_uint=0) -+ fi -+ dnl We cannot use 'expr' to simplify this expression, because 'expr' -+ dnl works only with 'long' integers in the host environment, while we -+ dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. -+ if test $fits_in_uint = 1; then -+ gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" -+ else -+ gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" -+ fi -+ else -+ dnl Shouldn't happen, but who knows... -+ gl_cv_size_max='((size_t)~(size_t)0)' -+ fi -+ fi -+ ]) -+ AC_MSG_RESULT([$gl_cv_size_max]) -+ if test "$gl_cv_size_max" != yes; then -+ AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], -+ [Define as the maximum value of type 'size_t', if the system doesn't define it.]) -+ fi -+]) -+ -+dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. -+dnl Remove this when we can assume autoconf >= 2.61. -+m4_ifdef([AC_COMPUTE_INT], [], [ -+ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/stdint_h.m4 mc-4.6.2~git20080311/m4/stdint_h.m4 --- orig/mc-4.6.2~git20080311/m4/stdint_h.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/stdint_h.m4 2008-06-17 12:00:46.000000000 +0200 @@ -141892,36 +140390,6 @@ gl_cv_header_stdint_h=yes, gl_cv_header_stdint_h=no)]) if test $gl_cv_header_stdint_h = yes; then -diff -Nurwd orig/mc-4.6.2~git20080311/m4/stdint_h.m4~ mc-4.6.2~git20080311/m4/stdint_h.m4~ ---- orig/mc-4.6.2~git20080311/m4/stdint_h.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/stdint_h.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,26 @@ -+# stdint_h.m4 serial 6 -+dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Paul Eggert. -+ -+# Define HAVE_STDINT_H_WITH_UINTMAX if exists, -+# doesn't clash with , and declares uintmax_t. -+ -+AC_DEFUN([gl_AC_HEADER_STDINT_H], -+[ -+ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, -+ [AC_TRY_COMPILE( -+ [#include -+#include ], -+ [uintmax_t i = (uintmax_t) -1; return !i;], -+ gl_cv_header_stdint_h=yes, -+ gl_cv_header_stdint_h=no)]) -+ if test $gl_cv_header_stdint_h = yes; then -+ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, -+ [Define if exists, doesn't clash with , -+ and declares uintmax_t. ]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/ulonglong.m4 mc-4.6.2~git20080311/m4/ulonglong.m4 --- orig/mc-4.6.2~git20080311/m4/ulonglong.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/ulonglong.m4 2008-06-17 12:00:46.000000000 +0200 @@ -141981,58 +140449,6 @@ if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the 'unsigned long long' type.]) -diff -Nurwd orig/mc-4.6.2~git20080311/m4/ulonglong.m4~ mc-4.6.2~git20080311/m4/ulonglong.m4~ ---- orig/mc-4.6.2~git20080311/m4/ulonglong.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/ulonglong.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,48 @@ -+# ulonglong.m4 serial 6 -+dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Paul Eggert. -+ -+# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. -+# This fixes a bug in Autoconf 2.60, but can be removed once we -+# assume 2.61 everywhere. -+ -+# Note: If the type 'unsigned long long int' exists but is only 32 bits -+# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT -+# will not be defined. In this case you can treat 'unsigned long long int' -+# like 'unsigned long int'. -+ -+AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], -+[ -+ AC_CACHE_CHECK([for unsigned long long int], -+ [ac_cv_type_unsigned_long_long_int], -+ [AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [[unsigned long long int ull = 18446744073709551615ULL; -+ typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 -+ ? 1 : -1)]; -+ int i = 63;]], -+ [[unsigned long long int ullmax = 18446744073709551615ull; -+ return (ull << 63 | ull >> 63 | ull << i | ull >> i -+ | ullmax / ull | ullmax % ull);]])], -+ [ac_cv_type_unsigned_long_long_int=yes], -+ [ac_cv_type_unsigned_long_long_int=no])]) -+ if test $ac_cv_type_unsigned_long_long_int = yes; then -+ AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, -+ [Define to 1 if the system has the type `unsigned long long int'.]) -+ fi -+]) -+ -+# This macro is obsolescent and should go away soon. -+AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], -+[ -+ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) -+ ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int -+ if test $ac_cv_type_unsigned_long_long = yes; then -+ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, -+ [Define if you have the 'unsigned long long' type.]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/m4/wint_t.m4 mc-4.6.2~git20080311/m4/wint_t.m4 --- orig/mc-4.6.2~git20080311/m4/wint_t.m4 2008-06-17 11:55:44.000000000 +0200 +++ mc-4.6.2~git20080311/m4/wint_t.m4 2008-06-17 12:00:46.000000000 +0200 @@ -142061,38 +140477,6 @@ wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then -diff -Nurwd orig/mc-4.6.2~git20080311/m4/wint_t.m4~ mc-4.6.2~git20080311/m4/wint_t.m4~ ---- orig/mc-4.6.2~git20080311/m4/wint_t.m4~ 1970-01-01 00:00:00.000000000 +0000 -+++ mc-4.6.2~git20080311/m4/wint_t.m4~ 2008-06-17 11:59:19.000000000 +0200 -@@ -0,0 +1,28 @@ -+# wint_t.m4 serial 2 (gettext-0.16.2) -+dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. -+dnl This file is free software; the Free Software Foundation -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+ -+dnl From Bruno Haible. -+dnl Test whether has the 'wint_t' type. -+dnl Prerequisite: AC_PROG_CC -+ -+AC_DEFUN([gt_TYPE_WINT_T], -+[ -+ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, -+ [AC_TRY_COMPILE([ -+/* Tru64 with Desktop Toolkit C has a bug: must be included before -+ . -+ BSD/OS 4.0.1 has a bug: , and must be included -+ before . */ -+#include -+#include -+#include -+#include -+ wint_t foo = (wchar_t)'\0';], , -+ gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) -+ if test $gt_cv_c_wint_t = yes; then -+ AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) -+ fi -+]) diff -Nurwd orig/mc-4.6.2~git20080311/Makefile.in mc-4.6.2~git20080311/Makefile.in --- orig/mc-4.6.2~git20080311/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.6.2~git20080311/Makefile.in 2008-06-17 12:01:04.000000000 +0200 @@ -144311,8 +142695,8 @@ +top_srcdir = @top_srcdir@ +AM_CFLAGS = $(GLIB_CFLAGS) +pkglibexecdir = $(libexecdir)/@PACKAGE@ -+@CONS_SAVER_FALSE@AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" -+@CONS_SAVER_TRUE@AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" \ ++@CONS_SAVER_FALSE@AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" -DSYSCONFDIR=\""$(sysconfdir)/@PACKAGE@/"\" ++@CONS_SAVER_TRUE@AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" -DSYSCONFDIR=\""$(sysconfdir)/@PACKAGE@/"\" \ +@CONS_SAVER_TRUE@ -DSAVERDIR=\""$(pkglibexecdir)"\" + +man2hlp_LDADD = $(GLIB_LIBS) @@ -145057,9 +143441,9 @@ +SYNTAXFILES = \ + Syntax \ + ada95.syntax \ -+ asm.syntax \ + aspx.syntax \ + assembler.syntax \ ++ awk.syntax \ + cxx.syntax \ + c.syntax \ + changelog.syntax \ diff -ruN mc-4.6.2.orig/debian/patches/syntax/03_cxx.syntax.patch mc-4.6.2/debian/patches/syntax/03_cxx.syntax.patch --- mc-4.6.2.orig/debian/patches/syntax/03_cxx.syntax.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/syntax/03_cxx.syntax.patch 2008-11-23 14:09:32.000000000 +0200 @@ -15,7 +15,7 @@ index 0000000..7deef6d --- /dev/null +++ b/syntax/cxx.syntax -@@ -0,0 +1,128 @@ +@@ -0,0 +1,165 @@ +context default + keyword whole auto yellow + keyword whole break yellow @@ -57,9 +57,9 @@ + keyword whole inline yellow + keyword whole new yellow + keyword whole operator yellow -+ keyword whole private yellow -+ keyword whole protected yellow -+ keyword whole public yellow ++ keyword whole private brightred ++ keyword whole protected brightred ++ keyword whole public brightred + keyword whole this yellow + keyword whole throw yellow + keyword whole template yellow @@ -82,6 +82,43 @@ + keyword whole ... yellow + keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta + ++ keyword whole Q_D brightred ++ keyword whole Q_Q brightred ++ keyword whole Q_ENUMS brightred ++ keyword whole Q_OBJECT brightred ++ keyword whole Q_PROPERTY brightred ++ keyword whole Q_CLASSINFO brightred ++ keyword whole Q_DECLARE_METATYPE brightred ++ keyword whole Q_SLOTS brightred ++ keyword whole Q_SIGNALS brightred ++ keyword whole Q_PRIVATE_SLOT brightred ++ keyword whole Q_DISABLE_COPY brightred ++ keyword whole Q_INVOKABLE brightred ++ keyword whole Q_SCRIPTABLE brightred ++ keyword whole Q_GADGET brightred ++ keyword whole Q_SETS brightred ++ keyword whole Q_FLAGS brightred ++ keyword whole Q_OVERRIDE brightred ++ keyword whole Q_INTERFACES brightred ++ keyword whole Q_NOREPLY brightred ++ ++ keyword whole signals brightred ++ keyword whole slots brightred ++ ++ keyword whole SIGNAL brightred ++ keyword whole SLOT brightred ++ ++ keyword whole foreach yellow ++ ++ keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen ++ keyword whole \{0123456789\}\[0123456789\] brightgreen ++ keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen ++ keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen ++ keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen ++ keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen ++ keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen ++ keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen ++ + keyword /\* brown + keyword \*/ brown + keyword // brown diff -ruN mc-4.6.2.orig/debian/patches/syntax/08_c-vs-cxx.patch mc-4.6.2/debian/patches/syntax/08_c-vs-cxx.patch --- mc-4.6.2.orig/debian/patches/syntax/08_c-vs-cxx.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/syntax/08_c-vs-cxx.patch 2008-11-23 14:09:32.000000000 +0200 @@ -22,7 +22,7 @@ +file ..\*\\.c$ C\sProgram include c.syntax -+file ..\*\\.([hC]|CC|cxx|cc|cpp|CPP|CXX|hxx|h\.in)$ C/C\+\+\sProgram ++file ..\*\\.([hHCc]|CC|cxx|cc|cpp|moc|CPP|CXX|hxx|hpp|HPP|h\.in)$ C/C\+\+\sProgram +include cxx.syntax + file ..\*\\.d$ D\sProgram diff -ruN mc-4.6.2.orig/debian/patches/syntax/12_asm-syntax.patch mc-4.6.2/debian/patches/syntax/12_asm-syntax.patch --- mc-4.6.2.orig/debian/patches/syntax/12_asm-syntax.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/syntax/12_asm-syntax.patch 2008-11-23 14:09:32.000000000 +0200 @@ -6,6 +6,7 @@ SYNTAXFILES = \ Syntax \ ada95.syntax \ + awk.syntax \ + asm.syntax \ aspx.syntax \ assembler.syntax \ diff -ruN mc-4.6.2.orig/debian/patches/syntax/13_procmail-syntax.patch mc-4.6.2/debian/patches/syntax/13_procmail-syntax.patch --- mc-4.6.2.orig/debian/patches/syntax/13_procmail-syntax.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/syntax/13_procmail-syntax.patch 2008-11-23 14:09:32.000000000 +0200 @@ -288,8 +288,8 @@ --- mc-4.6.2~git20080311/syntax/Syntax 2008-06-17 14:19:01.000000000 +0200 +++ orig/mc-4.6.2~git20080311/syntax/Syntax 2008-06-17 14:17:58.000000000 +0200 @@ -182,5 +182,8 @@ - file ..\*\\.(S|asm)$ Assembler\sSource - include asm.syntax + file Don_t_match_me Mail\sfolder ^(From|Return-(P|p)ath:|From:|Date:)\s + include mail.syntax +file \.procmailrc$ Procmail\sRC\sFile ^#/usr/bin/procmail +include procmail.syntax diff -ruN mc-4.6.2.orig/debian/patches/utf8/mc-utf8-look-and-feel.patch mc-4.6.2/debian/patches/utf8/mc-utf8-look-and-feel.patch --- mc-4.6.2.orig/debian/patches/utf8/mc-utf8-look-and-feel.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/utf8/mc-utf8-look-and-feel.patch 2008-11-23 14:09:32.000000000 +0200 @@ -9,8 +9,8 @@ +/* Is the LANG UTF-8 ? */ +gboolean is_utf8 = FALSE; + - /* mc_home: The home of MC */ - char *mc_home = NULL; + /* The xterm title */ + char *xterm_title_str = NULL; @@ -2141,6 +2144,16 @@ /* if on, it displays the information that files have been moved to ~/.mc */ diff -ruN mc-4.6.2.orig/debian/patches/utf8/mc-utf8.patch mc-4.6.2/debian/patches/utf8/mc-utf8.patch --- mc-4.6.2.orig/debian/patches/utf8/mc-utf8.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/utf8/mc-utf8.patch 2008-11-23 14:09:32.000000000 +0200 @@ -23,81 +23,6 @@ if test x$with_screen = xslang; then AC_DEFINE(HAVE_SYSTEM_SLANG, 1, ---- mc/src/layout.c.utf8 2006-11-10 01:22:30.000000000 +0100 -+++ mc/src/layout.c 2007-01-04 16:20:56.000000000 +0100 -@@ -366,36 +366,36 @@ init_layout (void) - - while (i--) { - s_split_direction[i] = _(s_split_direction[i]); -- l1 = strlen (s_split_direction[i]) + 7; -+ l1 = mbstrlen (s_split_direction[i]) + 7; - if (l1 > first_width) - first_width = l1; - } - - for (i = 0; i <= 8; i++) { - check_options[i].text = _(check_options[i].text); -- l1 = strlen (check_options[i].text) + 7; -+ l1 = mbstrlen (check_options[i].text) + 7; - if (l1 > first_width) - first_width = l1; - } - -- l1 = strlen (title1) + 1; -+ l1 = mbstrlen (title1) + 1; - if (l1 > first_width) - first_width = l1; - -- l1 = strlen (title2) + 1; -+ l1 = mbstrlen (title2) + 1; - if (l1 > first_width) - first_width = l1; - - -- second_width = strlen (title3) + 1; -+ second_width = mbstrlen (title3) + 1; - for (i = 0; i < 6; i++) { - check_options[i].text = _(check_options[i].text); -- l1 = strlen (check_options[i].text) + 7; -+ l1 = mbstrlen (check_options[i].text) + 7; - if (l1 > second_width) - second_width = l1; - } - if (console_flag) { -- l1 = strlen (output_lines_label) + 13; -+ l1 = mbstrlen (output_lines_label) + 13; - if (l1 > second_width) - second_width = l1; - } -@@ -409,14 +409,14 @@ init_layout (void) - * - * Now the last thing to do - properly space buttons... - */ -- l1 = 11 + strlen (ok_button) /* 14 - all brackets and inner space */ -- +strlen (save_button) /* notice: it is 3 char less because */ -- +strlen (cancel_button); /* of '&' char in button text */ -+ l1 = 11 + mbstrlen (ok_button) /* 14 - all brackets and inner space */ -+ +mbstrlen (save_button) /* notice: it is 3 char less because */ -+ +mbstrlen (cancel_button); /* of '&' char in button text */ - - i = (first_width + second_width - l1) / 4; - b1 = 5 + i; -- b2 = b1 + strlen (ok_button) + i + 6; -- b3 = b2 + strlen (save_button) + i + 4; -+ b2 = b1 + mbstrlen (ok_button) + i + 6; -+ b3 = b2 + mbstrlen (save_button) + i + 4; - - i18n_layt_flag = 1; - } -@@ -684,7 +684,7 @@ setup_panels (void) - panel_do_cols (0); - panel_do_cols (1); - -- promptl = strlen (prompt); -+ promptl = mbstrlen (prompt); - - widget_set_size (&the_menubar->widget, 0, 0, 1, COLS); - --- mc/src/tty.c.utf8 2006-05-23 16:20:39.000000000 +0200 +++ mc/src/tty.c 2007-01-04 16:20:56.000000000 +0100 @@ -134,10 +134,12 @@ tty_print_char(int c) diff -ruN mc-4.6.2.orig/debian/patches/utf8/recode.patch mc-4.6.2/debian/patches/utf8/recode.patch --- mc-4.6.2.orig/debian/patches/utf8/recode.patch 2008-11-23 13:49:38.000000000 +0200 +++ mc-4.6.2/debian/patches/utf8/recode.patch 2008-11-23 14:09:32.000000000 +0200 @@ -813,7 +813,7 @@ directory = *new_dir ? new_dir : home_dir; + ret_panel=panel; - if (mc_chdir (directory) == -1) { + if (strchr(directory,'\n') || mc_chdir (directory) == -1) { strcpy (panel->cwd, olddir); g_free (olddir); @@ -808,6 +811,10 @@ @@ -1234,8 +1234,8 @@ +#ifdef HAVE_CHARSET + { XCTRL('t'), mark_file }, /* was 'fnc_c_cmd' */ +#endif - { ALT('o'), chdir_other_panel }, - { ALT('i'), sync_other_panel }, + { ALT('i'), chdir_other_panel }, + { ALT('o'), sync_other_panel }, { ALT('l'), chdir_to_readlink }, Index: mc-4.6.2~git20080311/src/screen.h =================================================================== diff -ruN mc-4.6.2.orig/doc/mc.1.in mc-4.6.2/doc/mc.1.in --- mc-4.6.2.orig/doc/mc.1.in 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/doc/mc.1.in 2008-11-23 14:09:32.000000000 +0200 @@ -3033,7 +3033,9 @@ dhotnormal, dhotfocus. Help colors are: helpnormal, helpitalic, helpbold, helplink, helpslink. Viewer color is: viewunderline. Special highlighting colors are: executable, directory, link, stalelink, device, -special, core. Editor colors are: editnormal, editbold, editmarked. +special, core. Filetype highlighting colors are: hidden, temp, doc, +archive, source, media, graph, database. Editor colors are: editnormal, +editbold, editmarked. .PP .I input determines the color of input lines used in query dialogs. @@ -3091,6 +3093,25 @@ .I core is for core files. .PP +Also filetype highlight colors determine how files displayed depending +on file type such as (below are colors named as filetypes): +.I hidden +is used for hidden files and directories that begin with dot; +.I temp +is used for temporary files; +.I doc +is used for document and text files; +.I archive +is used for archive files; +.I source +is used for files with source codes; +.I media +is used for multimedia files; +.I graph +is used for files with graphic data; +.I database +is used for database files. +.PP The possible colors are: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray and white. And there is a special keyword diff -ruN mc-4.6.2.orig/doc/ru/mc.1.in mc-4.6.2/doc/ru/mc.1.in --- mc-4.6.2.orig/doc/ru/mc.1.in 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/doc/ru/mc.1.in 2008-11-23 14:09:32.000000000 +0200 @@ -3351,8 +3351,9 @@ dnormal, dfocus, dhotnormal, dhotfocus; Цвета в окне подсказки: helpnormal, helpitalic, helpbold, helplink, helpslink; в окне программы просмотра: viewunderline; специальные подсветки: executable, directory, -link, device, special, core; в окне редактора: editnormal, editbold, -editmarked. +link, device, special, core; подсветка файлов по типам: hidden, temp, +doc, archive, source, media, graph, database; в окне редактора: +editnormal, editbold, editmarked. .PP Цвета задавать не обязательно. Цвет какого именно поля определяется каждым ключевым словом, можно понять из перевода этого ключевого слова. @@ -3416,6 +3417,25 @@ .I core \- для файлов с дампами (core). .PP +Аналогично подсветка файлов по типам используется для подсветки файлов +в зависимости от их расширения: +.I hidden +используется для скрытых файлов и каталогов, которые начинаются с точки; +.I temp +\- для временных файлов; +.I doc +\- для файлов документов; +.I archive +\- для файлов архивов; +.I source +\- для файлов исходных текстов; +.I media +\- для мультимедиа-файлов; +.I graph +\- для графических файлов; +.I database +\- для файлов баз данных. +.PP Возможные цвета: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray и white. diff -ruN mc-4.6.2.orig/src/boxes.c mc-4.6.2/src/boxes.c --- mc-4.6.2.orig/src/boxes.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/boxes.c 2008-11-23 14:09:32.000000000 +0200 @@ -644,6 +644,72 @@ #endif /* HAVE_CHARSET */ +/* +* File highlighting setup dialog +*/ +#define FILEHLY 20 +#define FILEHLX 56 + +static char *ret_ftmp; +static char *ret_fdoc; +static char *ret_farch; +static char *ret_fsrc; +static char *ret_fmedia; +static char *ret_fgraph; +static char *ret_fdbase; + +static QuickWidget filehl_widgets [] = { +{ quick_button, 30, FILEHLX, FILEHLY - 3, FILEHLY, N_("&Cancel"), 0, B_CANCEL, 0, 0, "button-cancel" }, +{ quick_button, 12, FILEHLX, FILEHLY - 3, FILEHLY, N_("&Ok"), 0, B_ENTER, 0, 0, "button-ok" }, +{ quick_input, 4, FILEHLX, 15, FILEHLY, "", 48, 0, 0, &ret_fdbase, "input-ft-dbase"}, +{ quick_label, 4, FILEHLX, 14, FILEHLY, N_("Databases"), 0, 0, 0, 0, "label-ft-dbase" }, +{ quick_input, 4, FILEHLX, 13, FILEHLY, "", 48, 0, 0, &ret_fgraph, "input-ft-graph"}, +{ quick_label, 4, FILEHLX, 12, FILEHLY, N_("Graphics"), 0, 0, 0, 0, "label-ft-graph" }, +{ quick_input, 4, FILEHLX, 11, FILEHLY, "", 48, 0, 0, &ret_fmedia, "input-ft-media" }, +{ quick_label, 4, FILEHLX, 10, FILEHLY, N_("Multimedia"), 0, 0, 0, 0, "label-ft-media" }, +{ quick_input, 4, FILEHLX, 9, FILEHLY, "", 48, 0, 0, &ret_fsrc, "input-ft-src" }, +{ quick_label, 4, FILEHLX, 8, FILEHLY, N_("Sources"), 0, 0, 0, 0, "label-ft-src" }, +{ quick_input, 4, FILEHLX, 7, FILEHLY, "", 48, 0, 0, &ret_farch, "input-ft-arch" }, +{ quick_label, 4, FILEHLX, 6, FILEHLY, N_("Archives"), 0, 0, 0, 0, "label-ft-arch" }, +{ quick_input, 4, FILEHLX, 5, FILEHLY, "", 48, 0, 0, &ret_fdoc, "input-ft-doc" }, +{ quick_label, 4, FILEHLX, 4, FILEHLY, N_("Text/Doc Files"), 0, 0, 0, 0, "label-ft-doc" }, +{ quick_input, 4, FILEHLX, 3, FILEHLY, "", 48, 0, 0, &ret_ftmp, "input-ft-tmp" }, +{ quick_label, 4, FILEHLX, 2, FILEHLY, N_("Temp Files"), 0, 0, 0, 0, "label-ft-tmp" }, +{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static QuickDialog filehl_dlg = +{ FILEHLX, FILEHLY, -1, -1, N_(" File highlighting "), "[File highlighting]", filehl_widgets, 0 }; + +void +file_highlighting_box (void) +{ + filehl_widgets [2].text = file_types.fdbase; + filehl_widgets [4].text = file_types.fgraph; + filehl_widgets [6].text = file_types.fmedia; + filehl_widgets [8].text = file_types.fsrc; + filehl_widgets [10].text = file_types.farch; + filehl_widgets [12].text = file_types.fdoc; + filehl_widgets [14].text = file_types.ftmp; + + if (quick_dialog (&filehl_dlg) != B_CANCEL) { + g_free(file_types.ftmp); + file_types.ftmp = ret_ftmp; + g_free(file_types.fdoc); + file_types.fdoc = ret_fdoc; + g_free(file_types.farch); + file_types.farch = ret_farch; + g_free(file_types.fsrc); + file_types.fsrc = ret_fsrc; + g_free(file_types.fmedia); + file_types.fmedia = ret_fmedia; + g_free(file_types.fgraph); + file_types.fgraph = ret_fgraph; + g_free(file_types.fdbase); + file_types.fdbase = ret_fdbase; + } +} +//end File highlighting setup dialog #define TREE_Y 20 #define TREE_X 60 diff -ruN mc-4.6.2.orig/src/boxes.h mc-4.6.2/src/boxes.h --- mc-4.6.2.orig/src/boxes.h 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/boxes.h 2008-11-23 14:09:32.000000000 +0200 @@ -10,6 +10,7 @@ int *case_sensitive); void confirm_box (void); void display_bits_box (void); +void file_highlighting_box (void); void configure_vfs (void); void jobs_cmd (void); char *cd_dialog (void); diff -ruN mc-4.6.2.orig/src/color.c mc-4.6.2/src/color.c --- mc-4.6.2.orig/src/color.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/color.c 2008-11-23 14:09:32.000000000 +0200 @@ -91,13 +91,24 @@ { "special=", 0, 0 }, /* sockets, fifo */ { "core=", 0, 0 }, /* core files */ /* 29 */ - { 0, 0, 0 }, /* not usable (DEFAULT_COLOR_INDEX) *//* 30 */ + /* colors for specific file types */ + + { "hidden=", 0, 0 }, /* hidden files */ /*30*/ + { "temp=", 0, 0 }, /* temp file type */ /*31*/ + { "doc=", 0, 0 }, /* doc file type */ /*32*/ + { "archive=", 0, 0 }, /* archive file type */ /*33*/ + { "source=", 0, 0 }, /* sources file type */ /*34*/ + { "media=", 0, 0 }, /* multimedia file type */ /*35*/ + { "graph=", 0, 0 }, /* graphics file type */ /*36*/ + { "database=", 0, 0 }, /* database file type */ /*37*/ + + { 0, 0, 0 }, /* not usable (DEFAULT_COLOR_INDEX) *//* 38 */ { 0, 0, 0 }, /* unused */ { 0, 0, 0 }, /* not usable (A_REVERSE) */ { 0, 0, 0 }, /* not usable (A_REVERSE_BOLD) */ -/* editor colors start at 34 */ - { "editnormal=", 0, 0 }, /* normal */ /* 34 */ +/* editor colors start at 42 */ + { "editnormal=", 0, 0 }, /* normal */ /* 42 */ { "editbold=", 0, 0 }, /* search->found */ { "editmarked=", 0, 0 }, /* marked/selected */ { "editwhitespace=", 0, 0 }, /* whitespace */ @@ -163,6 +174,14 @@ "device=brightmagenta,blue:" "core=red,blue:" "special=black,blue:" +"hidden=black,blue:" +"temp=gray,blue:" +"doc=brown,blue:" +"archive=brightmagenta,blue:" +"source=cyan,blue:" +"media=green,blue:" +"graph=brightcyan,blue:" +"database=brightred,blue:" "editnormal=lightgray,blue:" "editbold=yellow,blue:" "editmarked=black,cyan:" @@ -267,7 +286,7 @@ } #ifndef HAVE_SLANG -#define MAX_PAIRS 64 +#define MAX_PAIRS 84 int attr_pairs [MAX_PAIRS]; #endif diff -ruN mc-4.6.2.orig/src/color.h mc-4.6.2/src/color.h --- mc-4.6.2.orig/src/color.h 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/color.h 2008-11-23 14:09:32.000000000 +0200 @@ -65,9 +65,18 @@ #define SPECIAL_COLOR IF_COLOR (28, 0) #define CORE_COLOR IF_COLOR (29, 0) +/* colors for specific files */ +#define HIDDEN_COLOR IF_COLOR (30, 0) +#define TEMP_COLOR IF_COLOR (31, 0) +#define DOC_COLOR IF_COLOR (32, 0) +#define ARCH_COLOR IF_COLOR (33, 0) +#define SRC_COLOR IF_COLOR (34, 0) +#define MEDIA_COLOR IF_COLOR (35, 0) +#define GRAPH_COLOR IF_COLOR (36, 0) +#define DBASE_COLOR IF_COLOR (37, 0) /* For the default color any unused index may be chosen. */ -#define DEFAULT_COLOR_INDEX 30 +#define DEFAULT_COLOR_INDEX 38 #define DEFAULT_COLOR IF_COLOR (DEFAULT_COLOR_INDEX, 0) /* @@ -75,15 +84,15 @@ * respectively * Last is defined to view color. */ -#define EDITOR_NORMAL_COLOR_INDEX 34 +#define EDITOR_NORMAL_COLOR_INDEX 42 #define EDITOR_NORMAL_COLOR IF_COLOR (EDITOR_NORMAL_COLOR_INDEX, 0) -#define EDITOR_BOLD_COLOR IF_COLOR (35, A_BOLD) -#define EDITOR_MARKED_COLOR IF_COLOR (36, A_REVERSE) +#define EDITOR_BOLD_COLOR IF_COLOR (43, A_BOLD) +#define EDITOR_MARKED_COLOR IF_COLOR (44, A_REVERSE) #define EDITOR_WHITESPACE_COLOR IF_COLOR (37, 0 /* irrelevant */) /* Error dialog colors */ -#define ERROR_HOT_NORMAL IF_COLOR (38, 0) -#define ERROR_HOT_FOCUS IF_COLOR (39, 0) +#define ERROR_HOT_NORMAL IF_COLOR (45, 0) +#define ERROR_HOT_FOCUS IF_COLOR (46, 0) #ifdef HAVE_SLANG # define CTYPE const char * @@ -91,6 +100,19 @@ # define CTYPE int #endif +/* File Types for file highlighting */ +struct file_types_t { + char *ftmp; + char *fdoc; + char *farch; + char *fsrc; + char *fmedia; + char *fgraph; + char *fdbase; +}; + +extern struct file_types_t file_types; + void init_colors (void); void done_colors (void); void mc_init_pair (int index, CTYPE foreground, CTYPE background); diff -ruN mc-4.6.2.orig/src/layout.c mc-4.6.2/src/layout.c --- mc-4.6.2.orig/src/layout.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/layout.c 2008-11-23 14:09:32.000000000 +0200 @@ -97,6 +97,9 @@ /* Set to show current working dir in xterm window title */ int xterm_title = 1; +/* Set to show free space on device assigned to current directory */ +int free_space = 1; + /* The starting line for the output of the subprogram */ int output_start_y = 0; @@ -126,8 +129,10 @@ static int _keybar_visible; static int _message_visible; static int _xterm_title; +static int _free_space; static int _permission_mode; static int _filetype_mode; +static int _colorize_hidden_mode; static int height; @@ -135,7 +140,7 @@ #define MINWIDTH 12 #define MINHEIGHT 5 -#define BY 12 +#define BY 14 #define B_2LEFT B_USER #define B_2RIGHT (B_USER + 1) @@ -157,6 +162,7 @@ WCheck *widget; } check_options [] = { { N_("&Xterm window title"), &xterm_title, 0 }, + { N_("Show free sp&Ace"), &free_space, 0 }, { N_("h&Intbar visible"), &message_visible, 0 }, { N_("&Keybar visible"), &keybar_visible, 0 }, { N_("command &Prompt"), &command_prompt, 0 }, @@ -165,6 +171,7 @@ { N_("&Equal split"), &equal_split, 0 }, { N_("pe&Rmissions"), &permission_mode, 0 }, { N_("&File types"), &filetype_mode, 0 }, + { N_("&Hidden files"), &colorize_hidden_mode,0 }, { 0, 0, 0 } }; @@ -227,8 +234,8 @@ if (_equal_split){ /* Turn equal split off */ _equal_split = 0; - check_options [6].widget->state = check_options [6].widget->state & ~C_BOOL; - dlg_select_widget (check_options [6].widget); + check_options [7].widget->state = check_options [7].widget->state & ~C_BOOL; + dlg_select_widget (check_options [7].widget); dlg_select_widget (bleft_widget); } _first_panel_size++; @@ -242,8 +249,8 @@ if (_equal_split){ /* Turn equal split off */ _equal_split = 0; - check_options [6].widget->state = check_options [6].widget->state & ~C_BOOL; - dlg_select_widget (check_options [6].widget); + check_options [7].widget->state = check_options [7].widget->state & ~C_BOOL; + dlg_select_widget (check_options [7].widget); dlg_select_widget (bright_widget); } _first_panel_size--; @@ -298,14 +305,16 @@ return MSG_HANDLED; case DLG_POST_KEY: - _filetype_mode = check_options [8].widget->state & C_BOOL; - _permission_mode = check_options [7].widget->state & C_BOOL; - _equal_split = check_options [6].widget->state & C_BOOL; - _menubar_visible = check_options [5].widget->state & C_BOOL; + _colorize_hidden_mode = check_options [10].widget->state & C_BOOL; + _filetype_mode = check_options [9].widget->state & C_BOOL; + _permission_mode = check_options [8].widget->state & C_BOOL; + _equal_split = check_options [7].widget->state & C_BOOL; + _menubar_visible = check_options [6].widget->state & C_BOOL; _command_prompt = check_options [4].widget->state & C_BOOL; - _keybar_visible = check_options [2].widget->state & C_BOOL; - _message_visible = check_options [1].widget->state & C_BOOL; + _keybar_visible = check_options [3].widget->state & C_BOOL; + _message_visible = check_options [2].widget->state & C_BOOL; _xterm_title = check_options [0].widget->state & C_BOOL; + _free_space = check_options [1].widget->state & C_BOOL; if (console_flag){ int minimum; if (_output_lines < 0) @@ -367,36 +376,36 @@ while (i--) { s_split_direction[i] = _(s_split_direction[i]); - l1 = strlen (s_split_direction[i]) + 7; + l1 = mbstrlen (s_split_direction[i]) + 7; if (l1 > first_width) first_width = l1; } - for (i = 0; i <= 8; i++) { + for (i = 0; i <= 10; i++) { check_options[i].text = _(check_options[i].text); - l1 = strlen (check_options[i].text) + 7; + l1 = mbstrlen (check_options[i].text) + 7; if (l1 > first_width) first_width = l1; } - l1 = strlen (title1) + 1; + l1 = mbstrlen (title1) + 1; if (l1 > first_width) first_width = l1; - l1 = strlen (title2) + 1; + l1 = mbstrlen (title2) + 1; if (l1 > first_width) first_width = l1; - second_width = strlen (title3) + 1; - for (i = 0; i < 6; i++) { + second_width = mbstrlen (title3) + 1; + for (i = 0; i < 7; i++) { check_options[i].text = _(check_options[i].text); - l1 = strlen (check_options[i].text) + 7; + l1 = mbstrlen (check_options[i].text) + 7; if (l1 > second_width) second_width = l1; } if (console_flag) { - l1 = strlen (output_lines_label) + 13; + l1 = mbstrlen (output_lines_label) + 13; if (l1 > second_width) second_width = l1; } @@ -410,27 +419,27 @@ * * Now the last thing to do - properly space buttons... */ - l1 = 11 + strlen (ok_button) /* 14 - all brackets and inner space */ - +strlen (save_button) /* notice: it is 3 char less because */ - +strlen (cancel_button); /* of '&' char in button text */ + l1 = 11 + mbstrlen (ok_button) /* 14 - all brackets and inner space */ + +mbstrlen (save_button) /* notice: it is 3 char less because */ + +mbstrlen (cancel_button); /* of '&' char in button text */ i = (first_width + second_width - l1) / 4; b1 = 5 + i; - b2 = b1 + strlen (ok_button) + i + 6; - b3 = b2 + strlen (save_button) + i + 4; + b2 = b1 + mbstrlen (ok_button) + i + 6; + b3 = b2 + mbstrlen (save_button) + i + 4; i18n_layt_flag = 1; } layout_dlg = - create_dlg (0, 0, 15, first_width + second_width + 9, + create_dlg (0, 0, 17, first_width + second_width + 9, dialog_colors, layout_callback, "[Layout]", _("Layout"), DLG_CENTER | DLG_REVERSE); add_widget (layout_dlg, groupbox_new (4, 2, first_width, 6, title1)); - add_widget (layout_dlg, groupbox_new (4, 8, first_width, 4, title2)); + add_widget (layout_dlg, groupbox_new (4, 8, first_width, 6, title2)); add_widget (layout_dlg, - groupbox_new (5 + first_width, 2, second_width, 10, + groupbox_new (5 + first_width, 2, second_width, 12, title3)); add_widget (layout_dlg, @@ -452,16 +461,21 @@ } #define XTRACT(i) *check_options[i].variable, check_options[i].text - for (i = 0; i < 6; i++) { + for (i = 0; i < 7; i++) { check_options[i].widget = - check_new (8 - i, 7 + first_width, XTRACT (i)); + check_new (9 - i, 8 + first_width, XTRACT (i)); add_widget (layout_dlg, check_options[i].widget); } + check_options[10].widget = check_new (12, 6, XTRACT (10)); + add_widget (layout_dlg, check_options[10].widget); + check_options[9].widget = check_new (11, 6, XTRACT (9)); + add_widget (layout_dlg, check_options[9].widget); check_options[8].widget = check_new (10, 6, XTRACT (8)); add_widget (layout_dlg, check_options[8].widget); check_options[7].widget = check_new (9, 6, XTRACT (7)); add_widget (layout_dlg, check_options[7].widget); + _colorize_hidden_mode = colorize_hidden_mode; _filetype_mode = filetype_mode; _permission_mode = permission_mode; _equal_split = equal_split; @@ -470,28 +484,27 @@ _keybar_visible = keybar_visible; _message_visible = message_visible; _xterm_title = xterm_title; + _free_space = free_space; bright_widget = button_new (6, 15, B_2RIGHT, NARROW_BUTTON, "&>", b2right_cback); add_widget (layout_dlg, bright_widget); bleft_widget = button_new (6, 9, B_2LEFT, NARROW_BUTTON, "&<", b2left_cback); add_widget (layout_dlg, bleft_widget); - check_options[6].widget = check_new (5, 6, XTRACT (6)); + check_options[7].widget = check_new (5, 6, XTRACT (7)); old_first_panel_size = -1; old_horizontal_split = -1; old_output_lines = -1; _first_panel_size = first_panel_size; _output_lines = output_lines; - add_widget (layout_dlg, check_options[6].widget); + add_widget (layout_dlg, check_options[7].widget); radio_widget = radio_new (3, 6, 2, s_split_direction); add_widget (layout_dlg, radio_widget); radio_widget->sel = horizontal_split; } -static void -layout_change (void) -{ +void layout_change(void) { setup_panels (); /* re-init the menu, because perhaps there was a change in the way how the panel are split (horizontal/vertical). */ @@ -681,7 +694,7 @@ panel_do_cols (0); panel_do_cols (1); - promptl = strlen (prompt); + promptl = mbstrlen (prompt); widget_set_size (&the_menubar->widget, 0, 0, 1, COLS); diff -ruN mc-4.6.2.orig/src/layout.h mc-4.6.2/src/layout.h --- mc-4.6.2.orig/src/layout.h 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/layout.h 2008-11-23 14:09:32.000000000 +0200 @@ -8,6 +8,7 @@ void init_curses (void); void done_screen (void); void setup_panels (void); +void layout_change(void); void destroy_panels (void); void move_resize_panel (void); void flag_winch (int dummy); @@ -39,6 +40,7 @@ extern int output_start_y; extern int message_visible; extern int xterm_title; +extern int free_space; extern int horizontal_split; extern int nice_rotating_dash; diff -ruN mc-4.6.2.orig/src/main.c mc-4.6.2/src/main.c --- mc-4.6.2.orig/src/main.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/main.c 2008-11-23 14:09:32.000000000 +0200 @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -61,6 +62,7 @@ #include "listmode.h" #include "execute.h" #include "ext.h" /* For flush_extension_file() */ +#include "mountlist.h" /* my_statfs */ /* Listbox for the command history feature */ #include "widget.h" @@ -231,6 +233,12 @@ /* We need to paint it after CONSOLE_RESTORE, see: load_prompt */ int update_prompt = 0; +/* Old current working directory for displaying free space */ +char *old_cwd = NULL; + +/* Used to figure out how many free space we have */ +struct my_statfs myfs_stats; + /* The home directory */ const char *home_dir = NULL; @@ -276,7 +284,10 @@ /* The user's shell */ const char *shell = NULL; -/* mc_home: The home of MC */ +/* The xterm title */ +char *xterm_title_str = NULL; + +/* mc_home: The home of MC - /etc/mc or defined by MC_DATADIR */ char *mc_home = NULL; char cmd_buf[512]; @@ -406,6 +417,7 @@ panel = (WPanel *) get_panel_widget (get_other_index ()); mc_chdir (panel->cwd); + show_free_space(current_panel); } /* Save current stat of directories to avoid reloading the panels */ @@ -461,6 +473,41 @@ } } +void +show_free_space(WPanel *panel) +{ + if (!show_mini_info) + return; + + /* Don't try to stat non-local fs */ + if (!free_space || !vfs_file_is_local(panel->cwd)) + return; + + if (old_cwd == NULL || strcmp(old_cwd, panel->cwd) != 0) { + char rpath[PATH_MAX]; + + init_my_statfs(); + g_free(old_cwd); + old_cwd = g_strdup(panel->cwd); + + if (mc_realpath (panel->cwd, rpath) == NULL) + return; + my_statfs (&myfs_stats, rpath); + } + + if (myfs_stats.avail > 0 || myfs_stats.total > 0) { + char buffer1 [6], buffer2[6], *tmp; + size_trunc_len (buffer1, 5, myfs_stats.avail, 1); + size_trunc_len (buffer2, 5, myfs_stats.total, 1); + tmp = g_strdup_printf (_("%s (%d%%) of %s"), buffer1, myfs_stats.total > 0 ? + (int)(100 * (double)myfs_stats.avail / myfs_stats.total) : 0, + buffer2); + widget_move (&panel->widget, panel->widget.lines-1, panel->widget.cols-2-strlen(tmp)); + addstr (tmp); + g_free (tmp); + } +} + static int quit_cmd_internal (int quiet) { @@ -587,7 +634,7 @@ } directory = *new_dir ? new_dir : home_dir; - if (mc_chdir (directory) == -1) { + if (strchr(directory,'\n') || mc_chdir (directory) == -1) { strcpy (panel->cwd, olddir); g_free (olddir); g_free (translated_url); @@ -919,6 +966,7 @@ {' ', N_("c&Onfirmation..."), 'O', confirm_box}, {' ', N_("&Display bits..."), 'D', display_bits_box}, {' ', N_("learn &Keys..."), 'K', learn_keys}, + {' ', N_("file &Highlighting..."),'H', file_highlighting_box}, #ifdef USE_VFS {' ', N_("&Virtual FS..."), 'V', configure_vfs}, #endif /* !USE_VFS */ @@ -1019,6 +1067,13 @@ { show_dot_files = !show_dot_files; update_panels (UP_RELOAD, UP_KEEPSEL); + do_refresh(); +} + +void toggle_horiz_vert_layout(void) { + horizontal_split = !horizontal_split; + layout_change(); + do_refresh(); } /* @@ -1293,6 +1348,12 @@ /* Swap panels */ {XCTRL ('u'), swap_cmd}, + /* Toggle Hidden Files */ + {ALT ('.'), toggle_show_hidden}, + + /* Toggle Horizontal/Vertical layout */ + {ALT (','), toggle_horiz_vert_layout}, + /* View output */ {XCTRL ('o'), view_other_cmd}, @@ -1434,6 +1495,15 @@ save_hotlist (); done_screen (); vfs_add_current_stamps (); + + /* Free file highlighting variables */ + g_free(file_types.ftmp); + g_free(file_types.fdoc); + g_free(file_types.farch); + g_free(file_types.fsrc); + g_free(file_types.fmedia); + g_free(file_types.fgraph); + g_free(file_types.fdbase); } /* This should be called after destroy_dlg since panel widgets @@ -1607,16 +1677,30 @@ update_xterm_title_path (void) { char *p, *s; + char h[64]; + struct passwd *pw; if (xterm_flag && xterm_title) { + if ( xterm_title_str ) g_free (xterm_title_str); p = s = g_strdup (strip_home_and_password (current_panel->cwd)); + if ( !gethostname (h, 64) ) { + h[63] = '\0'; /* Be sure the hostname is NUL terminated */ + s = g_strdup_printf ("%s:%s", h, s); + g_free (p); + p = s; + } + if ( (pw = getpwuid(getuid())) ) { + s = g_strdup_printf ("%s@%s", pw->pw_name, s); + g_free (p); + p = s; + } do { if (!is_printable ((unsigned char) *s)) *s = '?'; } while (*++s); fprintf (stdout, "\33]0;mc - %s\7", p); fflush (stdout); - g_free (p); + xterm_title_str = p; } } @@ -1884,7 +1968,9 @@ " Menus: menu, menuhot, menusel, menuhotsel\n" " Editor: editnormal, editbold, editmarked\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" - " File types: directory, executable, link, stalelink, device, special, core\n" + " File types: directory, executable, link, stalelink, device, special,\n" + " core, hidden, temp, doc, archive, source, media, graph,\n" + " database\n" "\n" "Colors:\n" " black, gray, red, brightred, green, brightgreen, brown,\n" " yellow, blue, brightblue, magenta, brightmagenta, cyan,\n" diff -ruN mc-4.6.2.orig/src/main.h mc-4.6.2/src/main.h --- mc-4.6.2.orig/src/main.h 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/main.h 2008-11-23 14:09:32.000000000 +0200 @@ -100,6 +100,7 @@ int load_prompt (int, void *); void save_cwds_stat (void); void quiet_quit_cmd (void); /* For cmd.c and command.c */ +void show_free_space(WPanel *panel); void touch_bar (void); void update_xterm_title_path (void); diff -ruN mc-4.6.2.orig/src/Makefile.am mc-4.6.2/src/Makefile.am --- mc-4.6.2.orig/src/Makefile.am 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/Makefile.am 2008-11-23 14:09:32.000000000 +0200 @@ -8,9 +8,9 @@ if CONS_SAVER pkglibexec_PROGRAMS = cons.saver AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" \ - -DSAVERDIR=\""$(pkglibexecdir)"\" + -DSAVERDIR=\""$(pkglibexecdir)"\" -DSYSCONFDIR=\""$(sysconfdir)/@PACKAGE@/"\" else -AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" +AM_CPPFLAGS = -DDATADIR=\""$(pkgdatadir)/"\" -DLOCALEDIR=\""$(localedir)"\" -DSYSCONFDIR=\""$(sysconfdir)/@PACKAGE@/"\" endif noinst_PROGRAMS = man2hlp diff -ruN mc-4.6.2.orig/src/panel.h mc-4.6.2/src/panel.h --- mc-4.6.2.orig/src/panel.h 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/panel.h 2008-11-23 14:09:32.000000000 +0200 @@ -79,6 +79,7 @@ extern int torben_fj_mode; extern int permission_mode; extern int filetype_mode; +extern int colorize_hidden_mode; extern int show_mini_info; extern int panel_scroll_pages; extern int fast_reload; diff -ruN mc-4.6.2.orig/src/screen.c mc-4.6.2/src/screen.c --- mc-4.6.2.orig/src/screen.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/screen.c 2008-11-23 14:09:32.000000000 +0200 @@ -104,9 +104,15 @@ /* If 1 - then add per file type hilighting */ int filetype_mode = 1; +/* If 1 - then hidden files will be highlighted as normal files */ +int colorize_hidden_mode = 0; + /* The hook list for the select file function */ Hook *select_file_hook = 0; +/* File Types for file highlighting */ +struct file_types_t file_types; + static cb_ret_t panel_callback (Widget *, widget_msg_t msg, int parm); static int panel_event (Gpm_Event *event, void *); static void paint_frame (WPanel *panel); @@ -488,23 +494,75 @@ } static int +is_file_type(char *extension, char *file_type) +{ + char *ft; + char *buf; + char *ext; + +/* skip empty file types */ + if (!file_type || !*file_type) + return 0; + + buf = ft = g_strdup(file_type); + while (buf) + { + ext = +#if defined(SUNOS) || defined(SOLARIS) || defined(SUNOS41x) || defined(SUNOS5x) + sunos_get_token(&buf, ","); +#else + strsep(&buf, ","); +#endif + if (!strcasecmp(extension, ext)) + { + g_free(ft); + return 1; + } + } + g_free(ft); + return 0; +} + +static int + file_compute_color (int attr, file_entry *fe) { + int color; + switch (attr) { case SELECTED: - return (SELECTED_COLOR); + color = SELECTED_COLOR; + break; case MARKED: - return (MARKED_COLOR); + color = MARKED_COLOR; + break; case MARKED_SELECTED: - return (MARKED_SELECTED_COLOR); + color = MARKED_SELECTED_COLOR; + break; case STATUS: - return (NORMAL_COLOR); + color = NORMAL_COLOR; + break; case NORMAL: default: - if (!filetype_mode) - return (NORMAL_COLOR); + color = file_entry_color(fe); } + + return color; +} + +int +file_entry_color (file_entry *fe) +{ + char *ext = extension(fe->fname); + + if (filetype_mode) + { + + if (fe->fname[0]=='.' && strcmp(fe->fname, "..") && colorize_hidden_mode==0) + return (HIDDEN_COLOR); + else + /* if filetype_mode == true */ if (S_ISDIR (fe->st.st_mode)) return (DIRECTORY_COLOR); @@ -534,8 +592,46 @@ else if (fe->fname && (!strcmp (fe->fname, "core") || !strcmp (extension (fe->fname), "core"))) return (CORE_COLOR); - + else + { /* file-extentions groups colorizing */ + int tmpi; + char *new_ext = g_malloc(strlen(ext)+3); + for(tmpi=0;tmpi <= strlen(ext);tmpi++) + new_ext[tmpi] = tolower(ext[tmpi]); + + if (is_file_type(new_ext, file_types.ftmp)) { + g_free(new_ext); + return (TEMP_COLOR); + } else if (is_file_type(new_ext, file_types.fdoc)) { + g_free(new_ext); + return (DOC_COLOR); + } else if (is_file_type(new_ext, file_types.farch)) { + g_free(new_ext); + return (ARCH_COLOR); + } else if (is_file_type(new_ext, file_types.fsrc)) { + g_free(new_ext); + return (SRC_COLOR); + } else if (is_file_type(new_ext, file_types.fmedia)) { + g_free(new_ext); + return (MEDIA_COLOR); + } else if (is_file_type(new_ext, file_types.fgraph)) { + g_free(new_ext); + return (GRAPH_COLOR); + } else if (is_file_type(new_ext, file_types.fdbase)) { + g_free(new_ext); + return (DBASE_COLOR); + } + g_free(new_ext); + } return (NORMAL_COLOR); + } else { + /* if filetype_mode == false */ + if (fe->fname[0]=='.' && strcmp(fe->fname, "..") && colorize_hidden_mode==1) + return (HIDDEN_COLOR); + else + return (NORMAL_COLOR); + } + } /* Formats the file number file_index of panel in the buffer dest */ @@ -660,7 +756,10 @@ display_mini_info (WPanel *panel) { if (!show_mini_info) + { + show_free_space (panel); return; + } widget_move (&panel->widget, llines (panel)+3, 1); @@ -668,6 +767,7 @@ attrset (INPUT_COLOR); tty_printf ("/%-*s", panel->widget.cols-3, panel->search_buffer); attrset (NORMAL_COLOR); + show_free_space (panel); return; } @@ -699,6 +799,7 @@ } else cols -= 2; tty_printf (p, cols, buffer); + show_free_space (panel); return; } @@ -718,11 +819,13 @@ name_trunc (link_target, panel->widget.cols - 5)); } else tty_printf ("%-*s", panel->widget.cols - 2, _("")); + show_free_space (panel); return; } /* Default behavior */ repaint_file (panel, panel->selected, 0, STATUS, 1); + show_free_space (panel); return; } @@ -762,6 +865,7 @@ hline ((slow_terminal ? '-' : ACS_HLINE) | NORMAL_COLOR, panel->widget.cols - 2); #endif /* !HAVE_SLANG */ + show_free_space (panel); } static void @@ -2159,8 +2263,8 @@ { XCTRL('s'), start_search }, /* C-s like emacs */ { ALT('s'), start_search }, /* M-s not like emacs */ { XCTRL('t'), mark_file }, - { ALT('o'), chdir_other_panel }, - { ALT('i'), sync_other_panel }, + { ALT('i'), chdir_other_panel }, + { ALT('o'), sync_other_panel }, { ALT('l'), chdir_to_readlink }, { ALT('H'), directory_history_list }, { KEY_F(13), cmd_view_simple }, @@ -2272,6 +2376,8 @@ buttonbar_set_label (h, 7, _("Mkdir"), mkdir_cmd); buttonbar_set_label (h, 8, _("Delete"), delete_cmd); buttonbar_redraw (h); + attrset (NORMAL_COLOR); + show_free_space (panel); return MSG_HANDLED; case WIDGET_UNFOCUS: @@ -2283,6 +2389,7 @@ panel->active = 0; show_dir (panel); unselect_item (panel); + show_free_space (panel); return MSG_HANDLED; case WIDGET_KEY: diff -ruN mc-4.6.2.orig/src/setup.c mc-4.6.2/src/setup.c --- mc-4.6.2.orig/src/setup.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/setup.c 2008-11-23 14:09:32.000000000 +0200 @@ -42,6 +42,7 @@ #include "win.h" /* lookup_key */ #include "cmd.h" #include "file.h" /* safe_delete */ +#include "color.h" /* safe_delete */ #ifdef USE_VFS #include "../vfs/gc.h" @@ -60,7 +61,6 @@ # include "../edit/edit.h" #endif - extern char *find_ignore_dirs; extern int num_history_items_recorded; @@ -135,6 +135,8 @@ { "show_mini_info", &show_mini_info }, { "permission_mode", &permission_mode }, { "filetype_mode", &filetype_mode }, + { "colorize_hidden_mode", &colorize_hidden_mode }, + { "free_space", &free_space }, { 0, 0 } }; @@ -369,6 +371,15 @@ ftpfs_proxy_host, profile); #endif /* USE_VFS && USE_NETCODE */ + /* Save file highlighting info */ + save_string ("File Types", "temp", file_types.ftmp, profile_name); + save_string ("File Types", "doc", file_types.fdoc, profile_name); + save_string ("File Types", "archive", file_types.farch, profile_name); + save_string ("File Types", "source", file_types.fsrc, profile_name); + save_string ("File Types", "media", file_types.fmedia, profile_name); + save_string ("File Types", "graphics", file_types.fgraph, profile_name); + save_string ("File Types", "database", file_types.fdbase, profile_name); + #ifdef HAVE_CHARSET save_string( "Misc", "display_codepage", get_codepage_id( display_codepage ), profile_name ); @@ -458,10 +469,10 @@ static char * do_load_string (const char *s, const char *ss, const char *def) { - char *buffer = g_malloc (BUF_SMALL); + char *buffer = g_malloc (BUF_MEDIUM); char *p; - load_string (s, ss, def, buffer, BUF_SMALL); + load_string (s, ss, def, buffer, BUF_MEDIUM); p = g_strdup (buffer); g_free (buffer); @@ -558,6 +569,22 @@ load_string ("Colors", "color_terminals", "", color_terminal_string, sizeof (color_terminal_string)); + /* Load file highlighting info */ + file_types.ftmp = do_load_string ("File Types", "temp", + "tmp,$$$,~,bak"); + file_types.fdoc = do_load_string ("File Types", "doc", + "txt,doc,rtf,diz,ctl,me,ps,pdf,xml,xsd,xslt,dtd,html,shtml,htm,mail,msg,lsm,po,nroff,man,tex,sgml,css,text,letter"); + file_types.farch = do_load_string ("File Types", "archive", + "gz,bz2,tar,tgz,rpm,Z,rar,zip,arj,cab,lzh,lha,zoo,arc,ark"); + file_types.fsrc = do_load_string ("File Types", "source", + "c,h,cc,hh,cpp,hpp,asm,py,pl,pm,inc,cgi,php,phps,js,java,jav,jasm,sh,bash,diff,patch,pas,tcl,tk,awk,m4,st,mak,sl,ada,caml,ml,mli,mly,mll,mlp,sas,prg"); + file_types.fmedia = do_load_string ("File Types", "media", + "mp2,mp3,mpg,ogg,mpeg,wav,avi,asf,mov,mol,mpl,xm,mod,it,med,mid,midi,s3m,umx"); + file_types.fgraph = do_load_string ("File Types", "graphics", + "jpg,jpeg,gif,png,tif,pcx,bmp,xpm,xbm,eps,pic,rle,ico,wmf,omf,ai,cdr"); + file_types.fdbase = do_load_string ("File Types", "database", + "dbf,mdn,db,mdb,dat,fox,dbx,mdx,sql,mssql,msql,ssql,pgsql,xls,cdx,dbi"); + /* Load the directory history */ /* directory_history_load (); */ /* Remove the temporal entries */ diff -ruN mc-4.6.2.orig/src/subshell.c mc-4.6.2/src/subshell.c --- mc-4.6.2.orig/src/subshell.c 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/src/subshell.c 2008-11-23 14:09:32.000000000 +0200 @@ -794,12 +794,14 @@ p_current_panel_cwd = current_panel->cwd; bPathNotEq = strcmp (p_subshell_cwd, p_current_panel_cwd); } - - if (bPathNotEq && strcmp (current_panel->cwd, ".")) { +/* + if (bPathNotEq && strcmp (current_panel->cwd, ".")) + { char *cwd = strip_password (g_strdup (current_panel->cwd), 1); fprintf (stderr, _("Warning: Cannot change to %s.\n"), cwd); g_free (cwd); } +*/ } if (reset_prompt) @@ -887,6 +889,7 @@ struct timeval wtime; /* Maximum time we wait for the subshell */ struct timeval *wptr; + char lastChar = 0; // for remove stupid 'The shell is already running a command' /* we wait up to 10 seconds if fail_on_error, forever otherwise */ wtime.tv_sec = 10; @@ -984,12 +987,19 @@ for (i = 0; i < bytes; ++i) if (pty_buffer[i] == subshell_switch_key) { write_all (subshell_pty, pty_buffer, i); - if (subshell_ready) + if (subshell_ready){ subshell_state = INACTIVE; + } else { + if (lastChar != 0xd ){ + subshell_ready = TRUE; + subshell_state = INACTIVE; + } + } return TRUE; } write_all (subshell_pty, pty_buffer, bytes); + lastChar = (char) pty_buffer[bytes-1]; subshell_ready = FALSE; } else { return FALSE; diff -ruN mc-4.6.2.orig/syntax/awk.syntax mc-4.6.2/syntax/awk.syntax --- mc-4.6.2.orig/syntax/awk.syntax 1970-01-01 03:00:00.000000000 +0300 +++ mc-4.6.2/syntax/awk.syntax 2008-11-23 14:09:32.000000000 +0200 @@ -0,0 +1,129 @@ +# AWK syntax by Olegarch +# Possible *.AWK +# GPL v2 +# +# (c) 2003 +# + +context default + + keyword whole linestart #!\[\s\]/bin/\[msg\]awk yellow magenta + keyword whole linestart #!\[\s\]/usr/bin/\[msg\]awk yellow magenta +# Keywords + keyword whole return white/26 + keyword whole print white/26 + keyword whole printf white/26 + keyword whole if white/26 + keyword whole else white/26 + keyword whole while white/26 + keyword whole for white/26 + keyword whole in white/26 + keyword whole do white/26 + keyword whole break white/26 + keyword whole continue white/26 + keyword whole next white/26 + keyword whole exit white/26 + keyword whole close white/26 + keyword whole system white/26 + keyword whole getline white/26 +# Builtin functions: + keyword whole atan2 white black + keyword whole cos white black + keyword whole exp white black + keyword whole int white black + keyword whole log white black + keyword whole rand white black + keyword whole sin white black + keyword whole sqrt white black + keyword whole srand white black + keyword whole gsub white black + keyword whole index white black + keyword whole length white black + keyword whole match white black + keyword whole split white black + keyword whole sprintf white black + keyword whole sub white black + keyword whole substr white black +# Gawk builtin functions: + keyword whole fflush white black + keyword whole gensub white black + keyword whole tolower white black + keyword whole toupper white black + keyword whole systime white black + keyword whole strftime white black +# Builtin variables: + keyword whole ARGC brightblue + keyword whole ARGV brightblue + keyword whole FILENAME brightblue + keyword whole FNR brightblue + keyword whole FS brightblue + keyword whole NF brightblue + keyword whole NR brightblue + keyword whole OFMT brightblue + keyword whole OFS brightblue + keyword whole ORS brightblue + keyword whole RLENGTH brightblue + keyword whole RS brightblue + keyword whole RSTART brightblue + keyword whole SUBSEP brightblue +# Gawk builtin variables: + keyword whole ARGIND brightblue + keyword whole ERRNO brightblue + keyword whole RT brightblue + keyword whole IGNORECASE brightblue + keyword whole FIELDWIDTHS brightblue + + keyword '\s' brightgreen/16 + keyword '+' brightgreen/16 + keyword > yellow/24 + keyword < yellow/24 + keyword \+ yellow/24 + keyword - yellow/24 + keyword \* yellow/24 + keyword % yellow/24 + keyword = yellow/24 + keyword != yellow/24 + keyword == yellow/24 + keyword { white/25 + keyword } white/25 + keyword ( white/25 + keyword ) white/25 + keyword [*] magenta + keyword , white/25 + keyword : white/25 + keyword ; lightgray/19 + keyword $\[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\] brightred/18 +# Begin/End: + keyword whole BEGIN red + keyword whole END red +# Function keyword: + keyword whole function brightmagenta +# Hex constant: + keyword 0\{xX\}\[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\] magenta/6 +# Tab: \t +# keyword linestart \t lightgray/13 blue/6 + +# Sed: +keyword linestart /^ red +keyword linestart /^# red +context /^#*/ red + +# Comments: +context linestart # \n brown +context linestart $ \n brown + +# String: +context " " green/6 + keyword \\" brightgreen/16 + keyword \\\n brightgreen/16 + keyword %% brightgreen/16 + keyword %\[#0\s-\+,\]\[0123456789\]\[.\]\[0123456789\]\[L\]\{eEfgGoxX\} brightgreen/16 + keyword %\[0\s-\+,\]\[0123456789\]\[.\]\[0123456789\]\[hl\]\{diu\} brightgreen/16 + keyword %\[hl\]n brightgreen/16 + keyword %\[.\]\[0123456789\]s brightgreen/16 + keyword %[*] brightgreen/16 + keyword %c brightgreen/16 + keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen/16 + keyword \\\\ brightgreen/16 + keyword \\' brightgreen/16 + keyword \\\{abtnvfr\} brightgreen/16 diff -ruN mc-4.6.2.orig/syntax/css.syntax mc-4.6.2/syntax/css.syntax --- mc-4.6.2.orig/syntax/css.syntax 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/syntax/css.syntax 2008-11-23 15:49:04.000000000 +0200 @@ -32,6 +32,86 @@ keyword whole option white keyword whole optgroup white + keyword whole QAbstractSpinBox white + keyword whole QAbstractScrollArea white + keyword whole QCheckBox white + keyword whole QColumnView white + keyword whole QComboBox white + keyword whole QDateEdit white + keyword whole QDateTimeEdit white + keyword whole QDialog white + keyword whole QDialogButtonBox white + keyword whole QDockWidget white + keyword whole QDoubleSpinBox white + keyword whole QFrame white + keyword whole QGroupBox white + keyword whole QHeaderView white + keyword whole QLabel white + keyword whole QLineEdit white + keyword whole QListView white + keyword whole QListWidget white + keyword whole QMainWindow white + keyword whole QMenu white + keyword whole QMenuBar white + keyword whole QMessageBox white + keyword whole QProgressBar white + keyword whole QPushButton white + keyword whole QRadioButton white + keyword whole QScrollBar white + keyword whole QSizeGrip white + keyword whole QSlider white + keyword whole QSpinBox white + keyword whole QSplitter white + keyword whole QStatusBar white + keyword whole QTabBar white + keyword whole QTabWidget white + keyword whole QTableView white + keyword whole QTableWidget white + keyword whole QTextEdit white + keyword whole QTimeEdit white + keyword whole QToolBar white + keyword whole QToolButton white + keyword whole QToolBox white + keyword whole QToolTip white + keyword whole QTreeView white + keyword whole QTreeWidget white + keyword whole QWidget white + + keyword \:\:add-line white + keyword \:\:add-page white + keyword \:\:branch white + keyword \:\:chunk white + keyword \:\:close-button white + keyword \:\:down-arrow white + keyword \:\:down-button white + keyword \:\:drop-down white + keyword \:\:float-button white + keyword \:\:groove white + keyword \:\:indicator white + keyword \:\:handle white + keyword \:\:icon white + keyword \:\:item white + keyword \:\:left-arrow white + keyword \:\:left-corner white + keyword \:\:menu-arrow white + keyword \:\:menu-button white + keyword \:\:menu-indicator white + keyword \:\:right-arrow white + keyword \:\:pane white + keyword \:\:right-corner white + keyword \:\:scroller white + keyword \:\:section white + keyword \:\:separator white + keyword \:\:sub-line white + keyword \:\:sub-page white + keyword \:\:tab white + keyword \:\:tab-bar white + keyword \:\:tear white + keyword \:\:tear-off white + keyword \:\:text white + keyword \:\:title white + keyword \:\:up-arrow white + keyword \:\:up-button white keyword \:active brightmagenta keyword \:after brightmagenta @@ -43,107 +123,155 @@ keyword \:focus brightmagenta keyword \:lang brightmagenta keyword \:link brightmagenta - keyword \:hover brightmagenta - - keyword whole background-attachment yellow - keyword whole background-color yellow - keyword whole background-image yellow - keyword whole background-position yellow - keyword whole background-repeat yellow - keyword whole background yellow - keyword whole bidi-override yellow - keyword whole border-bottom yellow - keyword whole border-bottom-color yellow - keyword whole border-bottom-style yellow - keyword whole border-bottom-width yellow - keyword whole border-collapse yellow - keyword whole border-color yellow - keyword whole border-left yellow - keyword whole border-left-color yellow - keyword whole border-left-style yellow - keyword whole border-left-width yellow - keyword whole border-right yellow - keyword whole border-right-color yellow - keyword whole border-right-style yellow - keyword whole border-right-width yellow - keyword whole border-spacing yellow - keyword whole border-style yellow - keyword whole border-top yellow - keyword whole border-top-color yellow - keyword whole border-top-style yellow - keyword whole border-top-width yellow - keyword whole border-width yellow - keyword whole border yellow - keyword whole bottom yellow - keyword whole caption-side yellow - keyword whole clear yellow - keyword whole clip yellow - keyword whole color yellow - keyword whole content yellow - keyword whole counter-increment yellow - keyword whole cursor yellow - keyword whole direction yellow - keyword whole display yellow - keyword whole empty-cells yellow - keyword whole fixed yellow - keyword whole float yellow - keyword whole font-size-adjust yellow - keyword whole font-stretch yellow - keyword whole font-family yellow - keyword whole font-size yellow - keyword whole font-family yellow - keyword whole font-style yellow - keyword whole font-variant yellow - keyword whole font-weight yellow - keyword whole font yellow - keyword whole generic-family yellow - keyword whole height yellow - keyword whole identifier yellow - keyword whole justify yellow - keyword whole left yellow - keyword whole length yellow - keyword whole letter-spacing yellow - keyword whole line-height yellow - keyword whole list-style-image yellow - keyword whole list-style-position yellow - keyword whole list-style-type yellow - keyword whole list-style yellow - keyword whole margin-left yellow - keyword whole margin-top yellow - keyword whole margin yellow - keyword whole marker-offset yellow - keyword whole max-height yellow - keyword whole max-width yellow - keyword whole min-height yellow - keyword whole min-width yellow - keyword whole nowrap yellow - keyword whole outline-color yellow - keyword whole outline-style yellow - keyword whole outline-width yellow - keyword whole outline yellow - keyword whole padding-left yellow - keyword whole padding-top yellow - keyword whole padding yellow - keyword whole position yellow - keyword whole quotes yellow - keyword whole right yellow - keyword whole table-caption yellow - keyword whole table-layout yellow - keyword whole text-align yellow - keyword whole text-decoration yellow - keyword whole text-indent yellow - keyword whole text-shadow yellow - keyword whole text-transform yellow - keyword whole top yellow - keyword whole unicode-bidi yellow - keyword whole vertical-align yellow - keyword whole visibility yellow - keyword whole white-space yellow - keyword whole width yellow - keyword whole word-spacing yellow + keyword \:active brightmagenta + keyword \:adjoins-item brightmagenta + keyword \:alternate brightmagenta + keyword \:bottom brightmagenta + keyword \:checked brightmagenta + keyword \:closable brightmagenta + keyword \:closed brightmagenta + keyword \:default brightmagenta + keyword \:disabled brightmagenta + keyword \:editable brightmagenta + keyword \:edit-focus brightmagenta + keyword \:enabled brightmagenta + keyword \:exclusive brightmagenta + keyword \:first brightmagenta + keyword \:flat brightmagenta + keyword \:floatable brightmagenta + keyword \:focus brightmagenta + keyword \:has-children brightmagenta + keyword \:has-siblings brightmagenta + keyword \:horizontal brightmagenta + keyword \:hover brightmagenta + keyword \:indeterminate brightmagenta + keyword \:last brightmagenta + keyword \:left brightmagenta + keyword \:maximized brightmagenta + keyword \:middle brightmagenta + keyword \:minimized brightmagenta + keyword \:movable brightmagenta + keyword \:no-frame brightmagenta + keyword \:non-exclusive brightmagenta + keyword \:off brightmagenta + keyword \:on brightmagenta + keyword \:only-one brightmagenta + keyword \:open brightmagenta + keyword \:next-selected brightmagenta + keyword \:pressed brightmagenta + keyword \:previous-selected brightmagenta + keyword \:read-only brightmagenta + keyword \:right brightmagenta + keyword \:selected brightmagenta + keyword \:top brightmagenta + keyword \:unchecked brightmagenta + keyword \:vertical brightmagenta + keyword \:window brightmagenta + + keyword whole background-attachment lightgray + keyword whole background-color lightgray + keyword whole background-image lightgray + keyword whole background-position lightgray + keyword whole background-repeat lightgray + keyword whole background lightgray + keyword whole bidi-override lightgray + keyword whole border-bottom lightgray + keyword whole border-bottom-color lightgray + keyword whole border-bottom-style lightgray + keyword whole border-bottom-width lightgray + keyword whole border-collapse lightgray + keyword whole border-color lightgray + keyword whole border-left lightgray + keyword whole border-left-color lightgray + keyword whole border-left-style lightgray + keyword whole border-left-width lightgray + keyword whole border-right lightgray + keyword whole border-right-color lightgray + keyword whole border-right-style lightgray + keyword whole border-right-width lightgray + keyword whole border-spacing lightgray + keyword whole border-style lightgray + keyword whole border-top lightgray + keyword whole border-top-color lightgray + keyword whole border-top-style lightgray + keyword whole border-top-width lightgray + keyword whole border-width lightgray + keyword whole border lightgray + keyword whole bottom lightgray + keyword whole caption-side lightgray + keyword whole clear lightgray + keyword whole clip lightgray + keyword whole color lightgray + keyword whole content lightgray + keyword whole counter-increment lightgray + keyword whole cursor lightgray + keyword whole direction lightgray + keyword whole display lightgray + keyword whole empty-cells lightgray + keyword whole fixed lightgray + keyword whole float lightgray + keyword whole font-size-adjust lightgray + keyword whole font-stretch lightgray + keyword whole font-family lightgray + keyword whole font-size lightgray + keyword whole font-family lightgray + keyword whole font-style lightgray + keyword whole font-variant lightgray + keyword whole font-weight lightgray + keyword whole font lightgray + keyword whole generic-family lightgray + keyword whole height lightgray + keyword whole identifier lightgray + keyword whole image lightgray + keyword whole justify lightgray + keyword whole left lightgray + keyword whole length lightgray + keyword whole letter-spacing lightgray + keyword whole line-height lightgray + keyword whole list-style-image lightgray + keyword whole list-style-position lightgray + keyword whole list-style-type lightgray + keyword whole list-style lightgray + keyword whole margin-left lightgray + keyword whole margin-top lightgray + keyword whole margin lightgray + keyword whole marker-offset lightgray + keyword whole max-height lightgray + keyword whole max-width lightgray + keyword whole min-height lightgray + keyword whole min-width lightgray + keyword whole nowrap lightgray + keyword whole outline-color lightgray + keyword whole outline-style lightgray + keyword whole outline-width lightgray + keyword whole outline lightgray + keyword whole padding-left lightgray + keyword whole padding-top lightgray + keyword whole padding lightgray + keyword whole position lightgray + keyword whole quotes lightgray + keyword whole right lightgray + keyword whole subcontrol-origin lightgray + keyword whole subcontrol-position lightgray + keyword whole table-caption lightgray + keyword whole table-layout lightgray + keyword whole text-align lightgray + keyword whole text-decoration lightgray + keyword whole text-indent lightgray + keyword whole text-shadow lightgray + keyword whole text-transform lightgray + keyword whole top lightgray + keyword whole unicode-bidi lightgray + keyword whole vertical-align lightgray + keyword whole visibility lightgray + keyword whole white-space lightgray + keyword whole width lightgray + keyword whole word-spacing lightgray - + keyword whole qconicalgradient brightgreen + keyword whole qlineargradient brightgreen + keyword whole qradialgradient brightgreen keyword whole left brightgreen keyword whole right brightgreen keyword whole center brightgreen @@ -155,6 +283,7 @@ keyword whole italic brightgreen keyword whole bolder brightgreen keyword whole underline brightgreen + keyword whole absolute brightgreen keyword whole none brightgreen keyword whole auto brightgreen @@ -189,6 +318,9 @@ keyword whole invert brightgreen keyword whole oblique brightgreen keyword whole no-close-quote brightgreen + keyword whole repeat-x brightgreen + keyword whole repeat-y brightgreen + keyword whole repeat brightgreen keyword whole no-repeat brightgreen keyword whole small-caps brightgreen keyword whole transparent brightgreen @@ -278,15 +410,9 @@ keyword whole uppercase brightgreen keyword whole lowercase brightgreen - keyword whole pre brightgreen keyword whole nowrap brightgreen - - - - - keyword whole aliceblue brightgreen keyword whole antiquewhite brightgreen keyword whole aqua brightgreen @@ -431,9 +557,6 @@ keyword whole yellow brightgreen keyword whole yellowgreen brightgreen - - - keyword counter(\{*\}*) magenta keyword counters(\{*\}*) magenta keyword url(\{*\}*) magenta @@ -447,9 +570,8 @@ keyword /\* brown keyword \*/ brown - - keyword whole Arial brightgreen + keyword whole Narrow brightgreen keyword whole arial brightgreen keyword whole Trebuchet MS brightgreen keyword whole trebuchet ms brightgreen @@ -471,7 +593,8 @@ keyword \{0123456789\}*ex brightgreen keyword \{0123456789\}*pt brightgreen keyword \{0123456789\}*pc brightgreen - keyword \{0123456789\}*% brightred + keyword \{0123456789\}*% brightred + keyword \{0123456789\} brightgreen keyword { brightcyan keyword } brightcyan @@ -484,4 +607,3 @@ context exclusive /\* \*/ brown spellcheck - diff -ruN mc-4.6.2.orig/syntax/c.syntax mc-4.6.2/syntax/c.syntax --- mc-4.6.2.orig/syntax/c.syntax 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/syntax/c.syntax 2008-11-23 14:09:32.000000000 +0200 @@ -67,6 +67,15 @@ keyword whole \[\s\t\]default yellow keyword whole linestart \[\s\t\]\{ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]: cyan + keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen + keyword whole \{0123456789\}\[0123456789\] brightgreen + keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen + keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen + keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen + keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen + keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen + keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen + keyword /\* brown keyword \*/ brown keyword // brown diff -ruN mc-4.6.2.orig/syntax/Makefile.am mc-4.6.2/syntax/Makefile.am --- mc-4.6.2.orig/syntax/Makefile.am 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/syntax/Makefile.am 2008-11-23 14:09:32.000000000 +0200 @@ -1,6 +1,7 @@ SYNTAXFILES = \ Syntax \ ada95.syntax \ + awk.syntax \ aspx.syntax \ assembler.syntax \ c.syntax \ diff -ruN mc-4.6.2.orig/syntax/Syntax mc-4.6.2/syntax/Syntax --- mc-4.6.2.orig/syntax/Syntax 2008-02-19 19:25:27.000000000 +0200 +++ mc-4.6.2/syntax/Syntax 2008-11-23 14:09:32.000000000 +0200 @@ -121,6 +121,12 @@ file ..\*\\.(spec|spec\.in)$ RPM\sSpecfile include spec.syntax +file ..\*\\.(awk)$ AWK\sFile +include awk.syntax + +file ..\*\\.(css|qss|CSS|QSS)$ CSS\sFile +include css.syntax + file .\*ChangeLog[\\\.A-Za-z0-9_]\*$ GNU\sChangeLog\sFile include changelog.syntax