Bash-4.3 distribution sources and documentation
[platform/upstream/bash.git] / lib / readline / rldefs.h
index 4e094bf..dab1beb 100644 (file)
@@ -2,26 +2,24 @@
    for readline.  This should be included after any files that define
    system-specific constants like _POSIX_VERSION or USG. */
 
-/* Copyright (C) 1987,1989 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2011 Free Software Foundation, Inc.
 
-   This file contains the Readline Library (the Library), a set of
-   routines for providing Emacs style line input to programs that ask
-   for it.
+   This file is part of the GNU Readline Library (Readline), a library
+   for reading lines of text with interactive input and history editing.      
 
-   The Library is free software; you can redistribute it and/or modify
+   Readline is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
 
-   The Library is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
+   Readline is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-   The GNU General Public License is often shipped with GNU software, and
-   is generally kept in a file called COPYING or LICENSE.  If you do not
-   have a copy of the license, write to the Free Software Foundation,
-   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+   You should have received a copy of the GNU General Public License
+   along with Readline.  If not, see <http://www.gnu.org/licenses/>.
+*/
 
 #if !defined (_RLDEFS_H_)
 #define _RLDEFS_H_
 
 #include "rlstdc.h"
 
+#if defined (STRCOLL_BROKEN)
+#  undef HAVE_STRCOLL
+#endif
+
 #if defined (_POSIX_VERSION) && !defined (TERMIOS_MISSING)
 #  define TERMIOS_TTY_DRIVER
 #else
 #  if defined (HAVE_TERMIO_H)
 #    define TERMIO_TTY_DRIVER
 #  else
-#    define NEW_TTY_DRIVER
+#    if !defined (__MINGW32__)
+#      define NEW_TTY_DRIVER
+#    else
+#      define NO_TTY_DRIVER
+#    endif
 #  endif
 #endif
 
@@ -73,8 +79,14 @@ extern char *strchr (), *strrchr ();
 #define _rl_stricmp strcasecmp
 #define _rl_strnicmp strncasecmp
 #else
-extern int _rl_stricmp __P((char *, char *);
-extern int _rl_strnicmp __P((char *, char *));
+extern int _rl_stricmp PARAMS((const char *, const char *));
+extern int _rl_strnicmp PARAMS((const char *, const char *, int));
+#endif
+
+#if defined (HAVE_STRPBRK) && !defined (HAVE_MULTIBYTE)
+#  define _rl_strpbrk(a,b)     strpbrk((a),(b))
+#else
+extern char *_rl_strpbrk PARAMS((const char *, const char *));
 #endif
 
 #if !defined (emacs_mode)
@@ -83,6 +95,13 @@ extern int _rl_strnicmp __P((char *, char *));
 #  define emacs_mode 1
 #endif
 
+#if !defined (RL_IM_INSERT)
+#  define RL_IM_INSERT         1
+#  define RL_IM_OVERWRITE      0
+#
+#  define RL_IM_DEFAULT                RL_IM_INSERT
+#endif
+
 /* If you cast map[key].function to type (Keymap) on a Cray,
    the compiler takes the value of map[key].function and
    divides it by 4 to convert between pointer types (pointers
@@ -97,8 +116,7 @@ extern int _rl_strnicmp __P((char *, char *));
 #endif
 
 #ifndef savestring
-extern char *xmalloc __P((int));
-#define savestring(x) strcpy (xmalloc (1 + strlen (x)), (x))
+#define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x))
 #endif
 
 /* Possible values for _rl_bell_preference. */
@@ -116,9 +134,10 @@ extern char *xmalloc __P((int));
 /* Possible values for the found_quote flags word used by the completion
    functions.  It says what kind of (shell-like) quoting we found anywhere
    in the line. */
-#define RL_QF_SINGLE_QUOTE     0x1
-#define RL_QF_DOUBLE_QUOTE     0x2
-#define RL_QF_BACKSLASH                0x4
+#define RL_QF_SINGLE_QUOTE     0x01
+#define RL_QF_DOUBLE_QUOTE     0x02
+#define RL_QF_BACKSLASH                0x04
+#define RL_QF_OTHER_QUOTE      0x08
 
 /* Default readline line buffer length. */
 #define DEFAULT_BUFFER_SIZE 256
@@ -129,10 +148,18 @@ extern char *xmalloc __P((int));
                                    : ((a)[0] == (b)[0]) && (strncmp ((a), (b), (n)) == 0))
 #endif
 
+#if !defined (RL_STRLEN)
+#  define RL_STRLEN(s) (((s) && (s)[0]) ? ((s)[1] ? ((s)[2] ? strlen(s) : 2) : 1) : 0)
+#endif
+
 #if !defined (FREE)
 #  define FREE(x)      if (x) free (x)
 #endif
 
+#if !defined (SWAP)
+#  define SWAP(s, e)  do { int t; t = s; s = e; e = t; } while (0)
+#endif
+
 /* CONFIGURATION SECTION */
 #include "rlconf.h"