home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer) / NeXT_Developer-3.3.iso / NextDeveloper / Source / GNU / debug / gdb / readline / chardefs.h next >
Encoding:
C/C++ Source or Header  |  1994-11-29  |  1.5 KB  |  55 lines

  1. /* chardefs.h -- Character definitions for readline. */
  2. #ifndef _CHARDEFS_
  3.  
  4. #ifndef savestring
  5. #ifdef NeXT
  6. #define savestring(x) (char *)strcpy ((char *)malloc (1 + strlen (x)), (x))
  7. #else
  8. #define savestring(x) (char *)strcpy (xmalloc (1 + strlen (x)), (x))
  9. #endif /* NeXT */
  10. #endif
  11.  
  12. #ifndef whitespace
  13. #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
  14. #endif
  15.  
  16. #ifdef CTRL
  17. #undef CTRL
  18. #endif
  19.  
  20. /* Some character stuff. */
  21. #define control_character_threshold 0x020   /* smaller than this is control */
  22. #define meta_character_threshold 0x07f        /* larger than this is Meta. */
  23. #define control_character_bit 0x40        /* 0x000000, must be off. */
  24. #define meta_character_bit 0x080        /* x0000000, must be on. */
  25.  
  26. #define CTRL(c) ((c) & (~control_character_bit))
  27. #define META(c) ((c) | meta_character_bit)
  28.  
  29. #define UNMETA(c) ((c) & (~meta_character_bit))
  30. #define UNCTRL(c) to_upper(((c)|control_character_bit))
  31.  
  32. #define lowercase_p(c) (((c) > ('a' - 1) && (c) < ('z' + 1)))
  33. #define uppercase_p(c) (((c) > ('A' - 1) && (c) < ('Z' + 1)))
  34.  
  35. #define pure_alphabetic(c) (lowercase_p(c) || uppercase_p(c))
  36.  
  37. #ifndef to_upper
  38. #define to_upper(c) (lowercase_p(c) ? ((c) - 32) : (c))
  39. #define to_lower(c) (uppercase_p(c) ? ((c) + 32) : (c))
  40. #endif
  41.  
  42. #define CTRL_P(c) ((c) < control_character_threshold)
  43. #define META_P(c) ((c) > meta_character_threshold)
  44.  
  45. #define NEWLINE '\n'
  46. #define RETURN CTRL('M')
  47. #define RUBOUT 0x07f
  48. #define TAB '\t'
  49. #define ABORT_CHAR CTRL('G')
  50. #define PAGE CTRL('L')
  51. #define SPACE 0x020
  52. #define ESC CTRL('[')
  53.  
  54. #endif  /* _CHARDEFS_ */
  55.