comparison src/syswindows.h @ 2421:ab71ad6ff3dd

[xemacs-hg @ 2004-12-06 03:50:53 by ben] (none) README.packages: Document use of --package-prefix. Fix error in specifying standard package location. make-docfile.c: Use QXE_PATH_MAX. info.el: Correct doc string giving example package path. menubar-items.el: Move Prefix Rectangle command up one level. xemacs/packages.texi: Add long form of Lisp Reference Manual to links. Add links pointing to Lisp Reference Manual for more detailed package discussion. lispref/range-tables.texi: Document range-table changes. internals/internals.texi: Update history section. elhash.c, elhash.h, profile.c: Create inchash_eq() to allow direct incrementing of hash-table entry. Use in profile.c to try to reduce profiling overhead. Increase initial size of profile hash tables to reduce profiling overhead. buffer.c, device-msw.c, dialog-msw.c, dired-msw.c, editfns.c, event-msw.c, events.c, glyphs-msw.c, keymap.c, objects-msw.c, process-nt.c, syswindows.h, text.c, text.h, unexnt.c: Rename xetcs* -> qxetcs* for consistency with qxestr*. Rename ei*_c(_*) -> ei*_ascii(_*) since they work with ASCII-only strings not "C strings", whatever those are. This is the last place where "c" was incorrectly being used for "ascii". dialog-msw.c, dumper.c, event-msw.c, fileio.c, glyphs-gtk.c, glyphs-x.c, nt.c, process-nt.c, realpath.c, sysdep.c, sysfile.h, unexcw.c, unexnext.c, unexnt.c: Try to avoid differences in systems that do or do not include final null byte in PATH_MAX. Create PATH_MAX_INTERNAL and PATH_MAX_EXTERNAL and use them everywhere. Rewrite code in dumper.c to avoid use of PATH_MAX. When necessary in nt.c, use _MAX_PATH instead of MAX_PATH to be consistent with other places. text.c: Code to short-circuit when binary or Unicode was not working due to EOL wrapping. Fix this code to work when either no EOL autodetection or no CR's or LF's in the text. lisp.h, rangetab.c, rangetab.h, regex.c, search.c: Implement different types of ranges (open/closed start and end). Change default to be start-closed, end-open.
author ben
date Mon, 06 Dec 2004 03:52:23 +0000
parents ecf1ebac70d8
children 3d8143fc88e1
comparison
equal deleted inserted replaced
2420:ad56e5a6d09f 2421:ab71ad6ff3dd
758 /* We need to do this indirection in case ARG is also a manifest constant. 758 /* We need to do this indirection in case ARG is also a manifest constant.
759 I don't really understand why. --ben */ 759 I don't really understand why. --ben */
760 #define XETEXT(arg) XETEXT1(arg) 760 #define XETEXT(arg) XETEXT1(arg)
761 #define XECOPY_TCHAR(ptr, ch) \ 761 #define XECOPY_TCHAR(ptr, ch) \
762 (XEUNICODE_P ? (* (LPWSTR) (ptr) = L##ch) : (* (LPSTR) (ptr) = (ch))) 762 (XEUNICODE_P ? (* (LPWSTR) (ptr) = L##ch) : (* (LPSTR) (ptr) = (ch)))
763 #define xetcslen(arg) \ 763 #define qxetcslen(arg) \
764 (XEUNICODE_P ? wcslen ((wchar_t *) arg) : strlen (arg)) 764 (XEUNICODE_P ? wcslen ((wchar_t *) arg) : strlen (arg))
765 #define xetcsbytelen(arg) \ 765 #define qxetcsbytelen(arg) \
766 (XEUNICODE_P ? wcslen ((wchar_t *) arg) * XETCHAR_SIZE : strlen (arg)) 766 (XEUNICODE_P ? wcslen ((wchar_t *) arg) * XETCHAR_SIZE : strlen (arg))
767 #define xetcscmp(s1, s2) \ 767 #define qxetcscmp(s1, s2) \
768 (XEUNICODE_P ? wcscmp ((wchar_t *) s1, (wchar_t *) s2) \ 768 (XEUNICODE_P ? wcscmp ((wchar_t *) s1, (wchar_t *) s2) \
769 : strcmp (s1, s2)) 769 : strcmp (s1, s2))
770 #define xetcscpy(s1, s2) \ 770 #define qxetcscpy(s1, s2) \
771 (XEUNICODE_P ? (char *) wcscpy ((wchar_t *) s1, (wchar_t *) s2) \ 771 (XEUNICODE_P ? (char *) wcscpy ((wchar_t *) s1, (wchar_t *) s2) \
772 : strcpy (s1, s2)) 772 : strcpy (s1, s2))
773 #define xetcsncpy(s1, s2, n) \ 773 #define qxetcsncpy(s1, s2, n) \
774 (XEUNICODE_P ? (char *) wcsncpy ((wchar_t *) s1, (wchar_t *) s2, n) \ 774 (XEUNICODE_P ? (char *) wcsncpy ((wchar_t *) s1, (wchar_t *) s2, n) \
775 : strncpy (s1, s2, n)) 775 : strncpy (s1, s2, n))
776 #define xetcschr(s, ch) \ 776 #define qxetcschr(s, ch) \
777 (XEUNICODE_P ? (char *) wcschr ((wchar_t *) s, (WCHAR) ch) \ 777 (XEUNICODE_P ? (char *) wcschr ((wchar_t *) s, (WCHAR) ch) \
778 : strchr (s, ch)) 778 : strchr (s, ch))
779 #define xetcsrchr(s, ch) \ 779 #define qxetcsrchr(s, ch) \
780 (XEUNICODE_P ? (char *) wcsrchr ((wchar_t *) s, (WCHAR) ch) \ 780 (XEUNICODE_P ? (char *) wcsrchr ((wchar_t *) s, (WCHAR) ch) \
781 : strrchr (s, ch)) 781 : strrchr (s, ch))
782 #define xetcsdup(s) \ 782 #define qxetcsdup(s) \
783 (XEUNICODE_P ? (char *) wcsdup ((wchar_t *) s) \ 783 (XEUNICODE_P ? (char *) wcsdup ((wchar_t *) s) \
784 : xstrdup (s)) 784 : xstrdup (s))
785 785
786 #define C_STRING_TO_TSTR(in, out) \ 786 #define C_STRING_TO_TSTR(in, out) \
787 C_STRING_TO_EXTERNAL (in, out, Qmswindows_tstr) 787 C_STRING_TO_EXTERNAL (in, out, Qmswindows_tstr)
791 EXTERNAL_TO_C_STRING (in, out, Qmswindows_tstr) 791 EXTERNAL_TO_C_STRING (in, out, Qmswindows_tstr)
792 #define TSTR_TO_C_STRING_MALLOC(in, out) \ 792 #define TSTR_TO_C_STRING_MALLOC(in, out) \
793 EXTERNAL_TO_C_STRING_MALLOC (in, out, Qmswindows_tstr) 793 EXTERNAL_TO_C_STRING_MALLOC (in, out, Qmswindows_tstr)
794 794
795 #define build_tstr_string(in) \ 795 #define build_tstr_string(in) \
796 make_ext_string (in, xetcsbytelen ((Extbyte *) in), Qmswindows_tstr) 796 make_ext_string (in, qxetcsbytelen ((Extbyte *) in), Qmswindows_tstr)
797 797
798 #define MAX_ANSI_CHAR_LEN 1 798 #define MAX_ANSI_CHAR_LEN 1
799 #define MAX_UNICODE_CHAR_LEN 2 799 #define MAX_UNICODE_CHAR_LEN 2
800 800
801 DECLARE_INLINE_HEADER (int ansi_char_to_text (int ch, Extbyte *t)) 801 DECLARE_INLINE_HEADER (int ansi_char_to_text (int ch, Extbyte *t))