comparison src/win32.c @ 867:804517e16990

[xemacs-hg @ 2002-06-05 09:54:39 by ben] Textual renaming: text/char names abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, callint.c, casefiddle.c, casetab.c, charset.h, chartab.c, chartab.h, cmds.c, console-gtk.h, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console-x.h, console.h, data.c, device-msw.c, device-x.c, dialog-msw.c, dired-msw.c, dired.c, doc.c, doprnt.c, editfns.c, eldap.c, emodules.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, event-unixoid.c, events.c, events.h, file-coding.c, file-coding.h, fileio.c, filelock.c, fns.c, font-lock.c, frame-gtk.c, frame-msw.c, frame-x.c, frame.c, glyphs-eimage.c, glyphs-msw.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-x.c, gui-x.h, gui.c, gui.h, hpplay.c, indent.c, insdel.c, insdel.h, intl-win32.c, keymap.c, line-number.c, line-number.h, lisp-disunion.h, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, md5.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, mule-ccl.c, mule-charset.c, mule-coding.c, mule-wnnfns.c, ndir.h, nt.c, objects-gtk.c, objects-gtk.h, objects-msw.c, objects-tty.c, objects-x.c, objects.c, objects.h, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, procimpl.h, realpath.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, redisplay.h, regex.c, search.c, select-common.h, select-gtk.c, select-x.c, sound.h, symbols.c, syntax.c, syntax.h, sysdep.c, sysdep.h, sysdir.h, sysfile.h, sysproc.h, syspwd.h, systime.h, syswindows.h, termcap.c, tests.c, text.c, text.h, toolbar-common.c, tooltalk.c, ui-gtk.c, unexnt.c, unicode.c, win32.c: Text/char naming rationalization. [a] distinguish between "charptr" when it refers to operations on the pointer itself and when it refers to operations on text; and [b] use consistent naming for everything referring to internal format, i.e. Itext == text in internal format Ibyte == a byte in such text Ichar == a char as represented in internal character format thus e.g. set_charptr_emchar -> set_itext_ichar The pre and post tags on either side of this change are: pre-internal-format-textual-renaming post-internal-format-textual-renaming See the Internals Manual for details of exactly how this was done, how to handle the change in your workspace, etc.
author ben
date Wed, 05 Jun 2002 09:58:45 +0000
parents 84762348c6f9
children 04bc9d2f42c7
comparison
equal deleted inserted replaced
866:613552a02607 867:804517e16990
45 turn it into a file: URL. Return a newly malloc()ed string. 45 turn it into a file: URL. Return a newly malloc()ed string.
46 46
47 #### This comes from code that just prepended `file:', which is not 47 #### This comes from code that just prepended `file:', which is not
48 good. See comment in mswindows_dde_callback(), case XTYP_EXECUTE. 48 good. See comment in mswindows_dde_callback(), case XTYP_EXECUTE.
49 */ 49 */
50 Intbyte * 50 Ibyte *
51 urlify_filename (Intbyte *filename) 51 urlify_filename (Ibyte *filename)
52 { 52 {
53 Intbyte *pseudo_url; 53 Ibyte *pseudo_url;
54 54
55 WIN32_TO_LOCAL_FILE_FORMAT (filename, filename); 55 WIN32_TO_LOCAL_FILE_FORMAT (filename, filename);
56 pseudo_url = xnew_array (Intbyte, 5 + qxestrlen (filename) + 1); 56 pseudo_url = xnew_array (Ibyte, 5 + qxestrlen (filename) + 1);
57 qxestrcpy_c (pseudo_url, "file:"); 57 qxestrcpy_c (pseudo_url, "file:");
58 qxestrcat (pseudo_url, filename); 58 qxestrcat (pseudo_url, filename);
59 /* URL's only have /, no backslash */ 59 /* URL's only have /, no backslash */
60 for (filename = pseudo_url; *filename; filename++) 60 for (filename = pseudo_url; *filename; filename++)
61 { 61 {
70 in internal format. */ 70 in internal format. */
71 71
72 Lisp_Object 72 Lisp_Object
73 tstr_to_local_file_format (Extbyte *path) 73 tstr_to_local_file_format (Extbyte *path)
74 { 74 {
75 Intbyte *ttlff; 75 Ibyte *ttlff;
76 76
77 TSTR_TO_C_STRING (path, ttlff); 77 TSTR_TO_C_STRING (path, ttlff);
78 WIN32_TO_LOCAL_FILE_FORMAT (ttlff, ttlff); 78 WIN32_TO_LOCAL_FILE_FORMAT (ttlff, ttlff);
79 79
80 return build_intstring (ttlff); 80 return build_intstring (ttlff);
83 /* Normalize filename by converting all path separators to the specified 83 /* Normalize filename by converting all path separators to the specified
84 separator. Also conditionally convert all-upper-case path name 84 separator. Also conditionally convert all-upper-case path name
85 components to lower case. Return a newly malloc()ed string. 85 components to lower case. Return a newly malloc()ed string.
86 */ 86 */
87 87
88 Intbyte * 88 Ibyte *
89 mswindows_canonicalize_filename (Intbyte *name) 89 mswindows_canonicalize_filename (Ibyte *name)
90 { 90 {
91 Intbyte *fp = name; 91 Ibyte *fp = name;
92 DECLARE_EISTRING (newname); 92 DECLARE_EISTRING (newname);
93 DECLARE_EISTRING (component); 93 DECLARE_EISTRING (component);
94 int do_casefrob = 1; 94 int do_casefrob = 1;
95 95
96 /* Always lower-case drive letters a-z, even if the filesystem 96 /* Always lower-case drive letters a-z, even if the filesystem
105 fp += 2; 105 fp += 2;
106 } 106 }
107 107
108 while (1) 108 while (1)
109 { 109 {
110 Emchar ch = charptr_emchar (fp); 110 Ichar ch = itext_ichar (fp);
111 if (LOWERCASEP (0, ch)) 111 if (LOWERCASEP (0, ch))
112 do_casefrob = 0; /* don't convert this element */ 112 do_casefrob = 0; /* don't convert this element */
113 113
114 if (ch == 0 || IS_ANY_SEP (ch)) 114 if (ch == 0 || IS_ANY_SEP (ch))
115 { 115 {
126 break; 126 break;
127 } 127 }
128 else 128 else
129 eicat_ch (component, ch); 129 eicat_ch (component, ch);
130 130
131 INC_CHARPTR (fp); 131 INC_IBYTEPTR (fp);
132 } 132 }
133 133
134 return eicpyout_malloc (newname, 0); 134 return eicpyout_malloc (newname, 0);
135 } 135 }
136 136
180 static Lisp_Object 180 static Lisp_Object
181 mswindows_lisp_error_1 (int errnum, int no_recurse) 181 mswindows_lisp_error_1 (int errnum, int no_recurse)
182 { 182 {
183 LPTSTR lpMsgBuf; 183 LPTSTR lpMsgBuf;
184 Lisp_Object result; 184 Lisp_Object result;
185 Intbyte *inres; 185 Ibyte *inres;
186 Bytecount len; 186 Bytecount len;
187 int i; 187 int i;
188 188
189 /* The docs for FormatMessage say: 189 /* The docs for FormatMessage say:
190 190
373 Get the cygwin environment to convert the Unix PATH to win32 format. 373 Get the cygwin environment to convert the Unix PATH to win32 format.
374 No expansion is performed, all conversion is done by the cygwin runtime. 374 No expansion is performed, all conversion is done by the cygwin runtime.
375 */ 375 */
376 (path)) 376 (path))
377 { 377 {
378 Intbyte *p; 378 Ibyte *p;
379 CHECK_STRING (path); 379 CHECK_STRING (path);
380 380
381 /* There appears to be a bug in the cygwin conversion routines in 381 /* There appears to be a bug in the cygwin conversion routines in
382 that they are not idempotent. */ 382 that they are not idempotent. */
383 p = XSTRING_DATA (path); 383 p = XSTRING_DATA (path);