comparison src/ChangeLog @ 4834:b3ea9c582280

Use new cygwin_conv_path API with Cygwin 1.7 for converting names between Win32 and POSIX, UTF-8-aware, with attendant changes elsewhere
author Ben Wing <ben@xemacs.org>
date Tue, 12 Jan 2010 01:38:04 -0600
parents e6dec75ded0e
children 1e90dc478938
comparison
equal deleted inserted replaced
4833:4dd2389173fc 4834:b3ea9c582280
1 2010-01-11 Ben Wing <ben@xemacs.org>
2
3 * database.c:
4 * intl-encap-win32.c (qxeUpdateICMRegKey):
5 Cosmetic fixes.
6
7 * device-x.c (signal_if_x_error):
8 * editfns.c (Fformat_time_string):
9 * editfns.c (Fencode_time):
10 * editfns.c (Fcurrent_time_zone):
11 * editfns.c (Fset_time_zone_rule):
12 * event-gtk.c (gtk_reset_key_mapping):
13 * fileio.c (Fsysnetunam):
14 * font-mgr.c:
15 * font-mgr.c (Ffc_config_app_font_add_dir):
16 * font-mgr.c (Ffc_config_filename):
17 * glyphs-eimage.c (my_jpeg_output_message):
18 * glyphs-eimage.c (jpeg_instantiate):
19 * glyphs-shared.c (read_bitmap_data_from_file):
20 * glyphs-x.c (x_redisplay_widget):
21 * glyphs-x.c (x_widget_instantiate):
22 * glyphs-x.c (x_widget_property):
23 * glyphs-x.c (x_tab_control_redisplay):
24 * hpplay.c (player_error_internal):
25 * hpplay.c (play_sound_file):
26 * hpplay.c (play_sound_data):
27 * process-unix.c:
28 * process-unix.c (unix_canonicalize_host_name):
29 * process.c (init_xemacs_process):
30 * sound.h (sound_perror):
31 * sysdep.c:
32 * sysdep.c (qxe_execve):
33 * sysdep.c (copy_in_passwd):
34 * sysdep.c (qxe_getpwnam):
35 * sysdep.c (qxe_ctime):
36 * sysdll.c (dll_error):
37 * sysdll.c (dll_open):
38 * tooltalk.c (check_status):
39 * tooltalk.c (Fadd_tooltalk_message_arg):
40 * tooltalk.c (Fadd_tooltalk_pattern_attribute):
41 * tooltalk.c (Fadd_tooltalk_pattern_arg):
42 Change all occurrences of Qnative to some more specific encoding.
43 Create Qtime_function_encoding, Qtime_zone_encoding,
44 Quser_name_encoding, Qerror_message_encoding,
45 Qjpeg_error_message_encoding, Qtooltalk_encoding, Qgtk_encoding,
46 Qx_error_message_encoding.
47
48 * intl-win32.c (init_intl_win32):
49 Provide cygwin-use-utf-8 if this is the case.
50
51 * fileio.c (Ffile_truename):
52 * realpath.c:
53 * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR):
54 * syswindows.h (TSTR_TO_LOCAL_FILE_FORMAT):
55 * syswindows.h (LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN):
56 * syswindows.h (INTERNAL_MSWIN_TO_LOCAL_FILE_FORMAT):
57 * syswindows.h (LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR):
58 * win32.c (urlify_filename):
59 * win32.c (tstr_to_local_file_format):
60 * win32.c (Fmswindows_cygwin_to_win32_path):
61 Rename LOCAL_FILE_FORMAT_TO_INTERNAL_WIN32 and
62 INTERNAL_WIN32_TO_LOCAL_FILE_FORMAT to
63 LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN and
64 INTERNAL_MSWIN_TO_LOCAL_FILE_FORMAT, since "win32" is a misnomer.
65
66 2010-01-11 Ben Wing <ben@xemacs.org>
67
68 * config.h.in:
69 Add def for HAVE_CYGWIN_CONV_PATH.
70
71 * dialog-msw.c (handle_directory_dialog_box):
72 * dialog-msw.c (handle_file_dialog_box):
73 * fileio.c:
74 * fileio.c (Ffile_truename):
75 * syswindows.h:
76 * syswindows.h (CCP_POSIX_TO_WIN_T):
77 * syswindows.h (LISP_LOCAL_FILE_FORMAT_TO_TSTR):
78 * syswindows.h (INTERNAL_WIN32_TO_LOCAL_FILE_FORMAT):
79 * syswindows.h (LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR):
80 * win32.c (urlify_filename):
81 * win32.c (tstr_to_local_file_format):
82 * win32.c (Fmswindows_shell_execute):
83 * win32.c (Fmswindows_cygwin_to_win32_path):
84 Rename LOCAL_FILE_FORMAT_TO_TSTR to LISP_LOCAL_FILE_FORMAT_TO_TSTR.
85 Rename LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR to
86 LISP_LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR. Both of these renames
87 reflect the fact that their 'in' argument is a Lisp object.
88
89 Create new LOCAL_FILE_FORMAT_TO_TSTR that accepts an Ibyte *.
90
91 Rename LOCAL_TO_WIN32_FILE_FORMAT to
92 LOCAL_FILE_FORMAT_TO_INTERNAL_WIN32; rename WIN32_TO_LOCAL_FILE_FORMAT
93 to INTERNAL_WIN32_TO_LOCAL_FILE_FORMAT similarly.
94 This clarifies the fact that the result is a file in MS-Windows format
95 rather than POSIX format, but still in internal-format instead of
96 UTF-16.
97
98 Fix up the *LOCAL_FILE_FORMAT* functions to use cygwin_conv_path()
99 if available. This converts between a UTF-8 POSIX path and a
100 UTF-16 Windows path (or ANSI Windows path, in the increasingly
101 unlikely situation that we're using Windows 9x). Previously, we
102 used an old API and operated on internal-format data, because the
103 external format was unpredictable. This doesn't work any more,
104 even with the old API (it tries to convert to UTF-8). So instead,
105 when the new API is available we use the new API and operate on
106 external-format data. This necessitates that if we want to convert
107 to/from internal-format Windows-style paths, we need to first convert
108 to external format, do the conversion, and convert back to
109 internal format. To avoid this, we change some callers of the
110 macros to use the right version (internal or external format
111 destination) and avoid doing the internal/external conversions
112 themselves.
113
114 * realpath.c:
115 * fileio.c (check_writable):
116 Cosmetic fixes to check_writable.
117
118 Avoid directly calling cygwin_conv_to_full_win32_path
119 (fileio.c:check_writable did this) or cygwin_posix_to_win32_path_list
120 (realpath.c:readlink_or_correct_case did this); use the
121 *LOCAL_FILE_FORMAT* macros instead.
122
123 * fileio.c (Ffile_exists_p):
124 * glyphs-msw.c (mswindows_resource_instantiate):
125 * sysdll.c (dll_open):
126 * sysfile.h:
127 * sysfile.h (PATHNAME_CONVERT_OUT_TSTR):
128 Add PATHNAME_CONVERT_OUT_TSTR and PATHNAME_CONVERT_OUT_UTF_8 for
129 conversion involving specified coding systems rather than `file-name'.
130 Use them in *LOCAL_FILE_FORMAT* macros.
131
132 * emacs.c (main_1):
133 * symsinit.h:
134 * unicode.c:
135 New function complex_vars_of_unicode(). In it, create the utf-8
136 coding system. Call it appropriately in emacs.c. Sort the
137 prototypes of complex_vars_of_*() in symsinit.h, for cosmetic
138 reasons.
139
140
141 2010-01-11 Ben Wing <ben@xemacs.org>
142
143 * regex.c (re_compile_fastmap):
144 The code to compute the fastmap in charset_mule_not was totally
145 messed up. I'm surprised it hasn't led to more visible bugs.
146
147 2010-01-11 Ben Wing <ben@xemacs.org>
148
149 * rangetab.c:
150 * rangetab.c (external_to_internal_adjust_ends):
151 * rangetab.c (put_range_table):
152 * rangetab.c (Fmap_range_table):
153 * rangetab.c (struct unified_range_table):
154 * rangetab.c (unified_range_table_copy_data):
155 * rangetab.c (unified_range_table_get_range):
156 Add an entry to unified range tables to keep track of their type.
157 Factor out code to adjust the endpoints of ranges between the
158 external format (either end can be open or closed) and internal
159 format (always closed/open). Use code also when returning
160 ranges out of unified range tables. Fixes an off-by-one error
161 in regex.c where it was getting ranges with an end one greater
162 than expected, since it creates closed-closed range tables and
163 was getting passed the internal-format ranges.
164
165 2010-01-11 Ben Wing <ben@xemacs.org>
166
167 * file-coding.c (default_query_method):
168 OOOOOPS! Had = instead of ==.
169
170 2010-01-11 Ben Wing <ben@xemacs.org>
171
172 * config.h.in:
173 * config.h.in (ERROR_CHECK_GLYPHS):
174 Trying to avoid link errors referring to the ERROR_CHECK_TYPES
175 functions, either in eldap.o (if we don't include references to
176 ERROR_CHECK_TYPES in xemacs.def.in.in) or xemacs-export.o (if
177 we do include such references):
178
179 Add line for USE_GPLUSPLUS, set by configure.
180 Define INLINE_HEADERS_ARE_STATIC when we add static to inline headers.
181 (Possibly used when setting NEED_ERROR_CHECK_TYPES_INLINES.)
182 Currently, set NEED_ERROR_CHECK_TYPES_INLINES when ERROR_CHECK_TYPES
183 and USE_GPLUSPLUS.
184
185 * xemacs.def.in.in:
186 Use NEED_ERROR_CHECK_TYPES_INLINES here to bracket things like
187 `error_check_cons' instead of just ERROR_CHECK_TYPES.
188
189 * faces.c (complex_vars_of_faces):
190 Bracket various font variables with defined(USE_XFT or MULE) to
191 avoid warnings.
192
193 * fileio.c:
194 Make sure the `expand-file-name' handler returns a string, to
195 avoid a potential crash.
196
197 * floatfns.c (round_one_bigfloat_1):
198 #if-0 out an assert that can never be triggered and which
199 generates warnings "dereferencing type-punned pointer will break
200 strict-aliasing rules".
201
202 * redisplay-x.c (separate_textual_runs_nomule):
203 Remove unused variable in non-Mule case.
204
205 * specifier.c (charset_matches_specifier_tag_set_p):
206 Variable CHARSET is unused when not Mule.
207
208 * specifier.c (specifier_instance_from_inst_list):
209 Add a comment questioning why font-specific stuff is littering
210 specifier.c.
211
212 * syswindows.h:
213 Expand on the comments on a #if 0 I added in a previous patch.
214
215 * vdb-win32.c:
216 * vdb-win32.c (win32_fault_handler):
217 * vdb-win32.c (vdb_install_signal_handler):
218 Change return type to LONG instead of DWORD to avoid warning or
219 error.
220
221 2010-01-11 Ben Wing <ben@xemacs.org>
222
223 * database.c: Cygwin prototypes in ndbm.h are incomplete and
224 cause C++ compile errors; fix them.
225
226 * fileio.c (check_writable):
227 Fix compile errors. Also move the call to C_STRING_TO_TSTR
228 earlier, which is probably wrong, but fixed in a later patch.
229
230 * intl-encap-win32.c (qxeGetICMProfile):
231 Ifdef out a fix to work around a previous bogosity in Cygwin
232 header files which has now been fixed. Keeping in the fix
233 led to compile errors. #### Proper way to do it is to figure
234 out when it got fixed, perhaps put in a configure test, but it
235 seems not worth it.
236
237 * intl-encap-win32.c (qxeUpdateICMRegKey):
238 Cosmetic change, undone in a later patch.
239 * mule-charset.c (Fset_charset_ccl_program):
240 Remove unused variable.
241 * nas.c:
242 #if-0 out some unused static code to avoid a warning.
243 * syswindows.h:
244 Don't declare prototypes for GetCurrentFiber and GetFiberData,
245 it causes a compile error.
246 * unicode.c (unicode_query):
247 invalid_lower_limit might have been used uninitted, so initialize it.
248
1 2010-01-09 Didier Verna <didier@xemacs.org> 249 2010-01-09 Didier Verna <didier@xemacs.org>
2 250
3 * glyphs.c (query_string_font): Use proper domain for cachel 251 * glyphs.c (query_string_font): Use proper domain for cachel
4 updating. 252 updating.
5 253