diff src/syswindows.h @ 593:5fd7ba8b56e7

[xemacs-hg @ 2001-05-31 12:45:27 by ben] xemacs-faq.texi: Major rewrite. Update all MS Windows info to current. Redo section 6.1 almost completely. Incorporate sections 1 and 2 of Hrvoje's FAQ. etags.el: Fix infloop when going up to the root. s\cygwin32.h: Don't unilaterally include ntplay, but only when we're compiling with native sound (look in configure now). event-msw.c: Fix yet more problems with C-g handling. Implement debug-mswindows-events. event-stream.c, events.h, signal.c, sysdep.h: Rearrange the signal-handling code to eliminate the former spaghetti logic paths in it. Document clearly what "low-level" and "high-level" timeouts are. Rename some functions with unclear names (e.g. "...alarm...") to names that reflect what they actually do (e.g. "...async_timeout..."). Fix numerous bugs discovered in the process. console-x.h, event-Xt.c, event-msw.c, frame-x.c: Hopefully make XEmacs properly maintain the "iconified" state on frames at all times. This should fix the "can't delete a frame with C-x 5 0 when there's another iconified frame out there" bug. Put a notice in of further changes that should probably be made to clean up the frame-visibility support. (especially directed at Jan Vroonhof) lisp.h, miscplay.c: Rename SBufbyte to CBufbyte to avoid a misleading name. Eliminate UChar, which is not used anywhere and contributes no semantic info. Add a comment about the documentation-only properties of the char/unsigned char typedefs. Add SChar_Binary as an explicitly `signed' version of Char_Binary and put back the `signed' declarations in miscplay.c. alloc.c: Use char typedefs. console-msw.c, device-msw.c, dialog-msw.c, editfns.c, fileio.c, glyphs-eimage.c, menubar-msw.c, ntplay.c, objects-msw.c, realpath.c, redisplay-msw.c, select-msw.c, syswindows.h, win32.c: Eliminate numerous C++ errors. frame-msw.c: Eliminate numerous C++ errors and Mule-ize. glyphs-msw.c: Eliminate numerous C++ errors and use char typedefs. configure.in: Fix problems detecting both native and Linux sound on Cygwin when compiled with --with-msw=no. Rearrange file-coding handling a bit to avoid warning when compiling with Mule. configure.in, configure.usage, INSTALL: Document XEMACS_CC and corresponding compiler option --xemacs-compiler. Explain how to build xemacs using a C++ compiler.
author ben
date Thu, 31 May 2001 12:45:41 +0000
parents ed498ef2108b
children fdefd0186b75
line wrap: on
line diff
--- a/src/syswindows.h	Thu May 31 12:03:39 2001 +0000
+++ b/src/syswindows.h	Thu May 31 12:45:41 2001 +0000
@@ -236,11 +236,20 @@
 #ifdef CYGWIN
 #define LOCAL_TO_WIN32_FILE_FORMAT(path, pathout)			\
 do {									\
+  /* NOTE: It is a bit evil that here and below we are passing		\
+     internal-format data to a function that (nominally) should work	\
+     with external-format data.  But in point of fact, the Cygwin	\
+     conversion functions are *NOT* localized, and will fail if they	\
+     get 7-bit ISO2022-encoded data.  We know that our internal format	\
+     is ASCII-compatible, and so these functions will work fine with	\
+     this data. */							\
   Lisp_Object ltwff1 = (path);						\
   int ltwff2 =								\
-    cygwin_posix_to_win32_path_list_buf_size (XSTRING_DATA (ltwff1));	\
+    cygwin_posix_to_win32_path_list_buf_size ((char *)			\
+					      XSTRING_DATA (ltwff1));	\
   pathout = (Bufbyte *) alloca (ltwff2);				\
-  cygwin_posix_to_win32_path_list (XSTRING_DATA (ltwff1), pathout);	\
+  cygwin_posix_to_win32_path_list ((char *) XSTRING_DATA (ltwff1),	\
+				   (char *) pathout);			\
 } while (0)
 #else
 #define LOCAL_TO_WIN32_FILE_FORMAT(path, pathout)	\
@@ -250,19 +259,19 @@
 #endif
 
 #ifdef CYGWIN
-#define WIN32_TO_LOCAL_FILE_FORMAT(path, pathout)	\
-do {							\
-  Bufbyte *wtlff1 = (path);				\
-  int wtlff2 =						\
-    cygwin_win32_to_posix_path_list_buf_size (wtlff1);	\
-  Bufbyte *wtlff3 = (Bufbyte *) alloca (wtlff2);	\
-  cygwin_win32_to_posix_path_list (wtlff1, wtlff3);	\
-  (pathout) = build_string (wtlff3);			\
+#define WIN32_TO_LOCAL_FILE_FORMAT(path, pathout)			\
+do {									\
+  Bufbyte *wtlff1 = (path);						\
+  int wtlff2 =								\
+    cygwin_win32_to_posix_path_list_buf_size ((char *) wtlff1);		\
+  Bufbyte *wtlff3 = (Bufbyte *) alloca (wtlff2);			\
+  cygwin_win32_to_posix_path_list ((char *) wtlff1, (char *) wtlff3);	\
+  (pathout) = build_string ((CBufbyte *) wtlff3);			\
 } while (0)
 #else
 #define WIN32_TO_LOCAL_FILE_FORMAT(path, pathout)	\
 do {							\
-  (pathout) = build_string (path);			\
+  (pathout) = build_string ((CBufbyte *) path);		\
 } while (0)
 #endif