(x_produce_glyphs): Don't set it->ascent and it->descent
[bpt/emacs.git] / src / ChangeLog
CommitLineData
c62c8ddb
SM
12008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
2
ca319910
SM
3 * process.c (Fstart_process):
4 * callproc.c (Fcall_process): Handle the case where
5 Funhandled_file_name_directory returns nil.
6
76860cbb
SM
7 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
9 * font.c (check_gstring): Use them and AREF to access the vector before
10 we know it's really a gstring.
11 (Ffont_shape_text): Fix typo.
12 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 13
15139d67
SM
14 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
15 Declare.
16
c62c8ddb
SM
17 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
18
04b65d2b
JR
192008-02-05 Jason Rumney <jasonr@gnu.org>
20
21 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
22 Set smallest_font_height and smallest_char_width in display info.
23
fccaebfd
KH
242008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
25
26 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
27
e7d7fd8c
MB
282008-02-05 Miles Bader <miles@gnu.org>
29
30 * xfaces.c (get_lface_attributes, merge_named_face)
31 (lookup_named_face, lookup_derived_face, realize_named_face):
32 Revert 2008-02-01 change by cyd@stupidchicken.com.
33
3d4448a8
KH
342008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
35
36 * fontset.c (Ffontset_info): Handle the case of inhibitting the
37 fallback fonts.
15139d67 38 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 39
5ace1ec1
JR
402008-02-04 Jason Rumney <jasonr@gnu.org>
41
42 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
43 set full_name.
e3a77b22 44 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 45
ffe42183
JR
462008-02-03 Jason Rumney <jasonr@gnu.org>
47
48 * makefile.w32-in (OBJ1): Include font.o here.
49 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
50
526dc3b3
JR
512008-02-02 Jason Rumney <jasonr@gnu.org>
52
a0fece35 53 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 54
af805c82
JR
552008-02-01 Jason Rumney <jasonr@gnu.org>
56
57 * s/cygwin.h: Define VIRT_ADDR_VARIES.
58
59 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
60
7f6519c5
AS
612008-02-01 Andreas Schwab <schwab@suse.de>
62
1f45f627 63 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 64 ../lisp/language/myanmar.el.
7f6519c5 65
26f8aa27
CY
662008-02-01 Chong Yidong <cyd@stupidchicken.com>
67
1f45f627 68 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
69 (merge_named_face, lookup_named_face, lookup_derived_face)
70 (realize_named_face): Call lface_from_face_name directly, and use
71 the fact that merge_face_vectors does not alter its FROM argument.
72
73acf815 732008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
74
75 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 76 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 77
73acf815 782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
79
80 * fontset.c (reorder_font_vector): Exclude nil elements from the
81 font group. Don't try multiple fonts.
15139d67 82 (fontset_font): Adjust for the above change.
aca7a3d2
MB
83 (Finternal_char_font): Return nil if the found font doesn't
84 contain the character ch.
85
4c4475a8 86 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 87
73acf815 882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
89
90 * font.h (FONTP): Make it return 1 also for a font-object.
91
92 * .gdbinit (xfontset): New function.
93
94 * font.c (font_find_for_lface): Check if the character C is
95 supported or not only for the first font.
96
97 * fontset.c (reorder_font_vector): Fix typo.
98 (fontset_find_font): Don't add a font-spec specifying a script.
99 Use 0 (not Qt) for the indication of empty font-group. Change the
100 format of RFONT-DEF. Return Qt if no font in the font-group
101 support the character.
15139d67 102 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 103 found the character, remember that.
15139d67 104 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
105 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
106 no font for the target.
15139d67 107 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 108
73acf815 1092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
110
111 * font.c (font_load_for_face): Handle the case that the font in
112 face->lface is a string.
113
73acf815 1142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 115
1f45f627 116 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 117
73acf815 1182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
119
120 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
121 Fix previous change. If the frame is not on a window system,
122 signal an error.
123
73acf815 1242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 125
4c4475a8
GM
126 * coding.c (decode_coding_object, encode_coding_object): Adjust
127 marker positions after conversion.
aca7a3d2
MB
128
129 * lisp.h (struct Lisp_Marker): New member need_adjustment.
130
73acf815 1312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
132
133 * font.c (font_find_for_lface): Fix the handling of the return
134 value of font_has_char.
135 (Ffont_shape_text): Fix previous change.
136
137 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
138 (fontset_ref_and_range): Delete it.
139 (fontset_find_font): Call char_table_ref_and_range instead of
140 FONTSET_REF_AND_RANGE.
141 (make_fontset): Don't setup font groups of Latin here.
142 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
143 (new_fontset_from_font): Make the specified font the default for
144 all Latin characters.
145
73acf815 1462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
147
148 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
149 is on a window system before accessing the fontset of the frame.
150
73acf815 1512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 152
1f45f627 153 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
154
155 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
156 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
157
158 * font.c (Ffont_shape_text): If the font driver doesn't have a
159 shaper function, make zero-width glyphs to have at least one-pixel
160 width. Fix setting of `to' field of glyphs.
161
73acf815 1622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
163
164 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
165 glyphs.
166
1f45f627 167 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 168
73acf815 1692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
170
171 * composite.c (syms_of_composite): Fix docstring of
172 auto-composition-function.
173
174 * font.h (LGLYPH_SIZE): New macro.
175
176 * font.c (Ffont_fill_gstring): Stop filling when a character not
177 supported by the font is found.
178 (Ffont_shape_text): When a shape callback function returns nil,
179 try at most two more times with larger gstring.
15139d67 180 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
181
182 * xdisp.c (handle_auto_composed_prop): Change the argument to
183 auto-composition-function.
184
185 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
186 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
187 Lispy glyph and store it in the lgstring.
188
189 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
190
191 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
192
73acf815 1932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
194
195 * font.c (Ffont_shape_text): Avoid unnecessary composition.
196
197 * fontset.c (Vfont_encoding_charset_alist): New variable.
198 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
199 (reorder_font_vector, fontset_find_font): Optimize for the case of
200 no need of reordering.
aca7a3d2
MB
201 (face_for_char): Map the charset property by
202 Vfont_encoding_charset_alist.
203
73acf815 2042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
205
206 * w32font.c (logfonts_match): Don't check adstyle here.
207 (font_matches_spec): Check here against physical font instead.
208 (add_font_entity_to_list): Avoid some substitutions.
209
210 * font.c (font_parse_fcname): Default weight and slant to normal.
211 (font_score): Prefer normal fonts if weight or slant unspecified.
212 (font_score) [WINDOWSNT]: Scale weight difference down to closer
213 match freetype scores.
214
73acf815 2152008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
216
217 * w32font.c (w32font_text_extents): Don't use the frame stored in the
218 font, as it may have been deleted.
219 (w32_enumfont_pattern_entity): Map generic family to adstyle using
220 most common hyphenless variation.
221 (logfonts_match): Check generic family.
222 (font_matches_spec): Don't check generic family here.
223 (fill_in_logfont): Set generic family based on adstyle.
224
225 * w32font.h (w32font_get_cache): Update declaration.
226
73acf815 2272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
228
229 * ftfont.c (ftfont_get_cache): Adjust the argument type.
230
15139d67
SM
231 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
232 If none of the new drivers are available, call font_update_drviers
aca7a3d2
MB
233 with the old drivers.
234
235 * w32font.c (w32font_get_cache): Adjust the argument type.
236
237 * xfont.c (xfont_get_cache): Adjust the argument type.
238
239 * font.h (struct font_driver): Change argument type of get_cache.
240
241 * xftfont.c (xftfont_start_for_frame): Delete prototype.
242
243 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 244 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 245 (font_clear_cache): New function.
4c4475a8 246 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 247 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
248
249 * fontset.c (fontset_find_font): Fix previous change.
250
73acf815 2512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
252
253 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
254 dpyinfo->font_table.
255 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 256 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
257
258 * font.c (font_at): Handle the case that the arg C is negative.
259 Handle the unibyte case.
260 (Ffont_at): Call font_at with the arg C -1.
261
262 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
263 the position here, and call font_at with the arg C -1.
264 Don't check the range of the existing composition at the point.
aca7a3d2 265
73acf815 2662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 267
15139d67 268 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 269 Change caller.
4c4475a8
GM
270 (load_font_get_repertory, fontset_find_font): Assume that
271 font_spec is always a font-spec object.
aca7a3d2
MB
272 (Fset_fontset_font): Always store a font-spec object in a fontset.
273
274 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
275 instead of get_property_and_range.
276
73acf815 2772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
278
279 * xftfont.c (struct xftfont_info): Delete the member ft_face.
280 (xftfont_open): Don't keep locking face.
281 (xftfont_close): Don't unlock face.
4c4475a8 282 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
283
284 * fontset.c (fontset_find_font): Don't prefer a font of
285 supplementary charset.
286
73acf815 2872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 288
1f45f627
GM
289 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
290 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
291 (OTF_TAG_STR): Terminate by '\0'.
292 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
293 listing to the script specified in that property. Fix arg to
294 OTF_check_features.
295
73acf815 2962008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
297
298 * w32font.h: New file.
299
300 * w32font.c: Include it.
301 (struct w32font_info): Add owning_frame field. Move to w32font.h.
302 (w32font_open): Set owning_frame.
303 (w32font_text_extents): Use owning_frame.
304 (struct font_callback_data): Add opentype_only field.
305 (add_font_entity_to_list): Use it to filter fonts.
306 Don't check against full name.
307 (w32font_list_internal): New function.
308 (w32font_list): Use it.
309 (w32font_match_internal): New function.
310 (w32font_match): Use it.
311 (w32font_open_internal): New function.
312 (w32font_open): Use it.
313 (w32font_get_cache, w32font_close, w32font_has_char)
314 (w32font_encode_char, w32font_text_extents, w32font_draw):
315 Make non-static.
316
317 * makefile.w32-in (w32font.o): Depend on w32font.h.
318
73acf815 3192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
320
321 * charset.c (Fdefine_charset_internal): Record a supplementary
322 charset at the tail of Vcharset_order_list.
323
324 * font.c (Ffont_shape_text): Fix the return value.
325
326 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
327
328 * xdisp.c (handle_auto_composed_prop): Fix previous change.
329
73acf815 3302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
331
332 * ftfont.c (struct OpenTypeSpec): New struct.
333 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
334 (ftfont_get_open_type_spec): New function.
335 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
336
15139d67 337 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 338
73acf815 3392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
340
341 * w32font.c (add_font_entity_to_list): Compare only the beginning
342 of full name.
343
73acf815 3442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 345
15139d67
SM
346 * xdisp.c (handle_auto_composed_prop): Simplify the code.
347 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 348
73acf815 3492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
350
351 * font.c (font_gstring_produce): Delete it.
352
15139d67
SM
353 * composite.h (COMPOSITION_METHOD):
354 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 355
73acf815 3562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 357
15139d67 358 * xfont.c (Qx): Delete.
aca7a3d2
MB
359 (syms_of_xfont): Don't initialize Qx.
360
15139d67
SM
361 * composite.h (enum composition_method):
362 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 363
73acf815 3642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
365
366 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
367 (choose_face_font): Accept new form of font-spec.
368
369 * frame.h (font_driver_list): Declare it unconditionally.
370 (struct frame): Define members font_driver_list and font_data_list
371 unconditionally.
372
373 * fontset.c: Include "font.h" unconditionally.
15139d67 374 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
375 (Fset_fontset_font): Accept a font-spec object.
376
377 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
378 PIXEL_SIZE part a wild card.
379
380 * dispextern.h (struct glyph_string): Define members clip and
381 num_clips unconditionally.
382 (struct face): Define members font_info and extra unconditionally.
383
384 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
385 ftfont_info only when HAVE_LIBOTF is defined.
386
73acf815 3872008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
388
389 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
390 and end.
391
73acf815 3922008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
393
394 * w32font.c (w32font_driver): Add new fields.
395
73acf815 3962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 397
aca7a3d2
MB
398 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
399 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
400 (LIBES): Add @M17N_FLT_CFLAGS@.
401
402 * composite.c (compose_text): Don't treat the new style
403 composition specially.
404
405 * emacs.c (main): Call syms_of_font unconditionally.
406
407 * font.h (FONT_ENTITY_NOT_LOADABLE)
408 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 409 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 410 (struct font_driver): New member shape.
1f45f627 411 (font_registry_charsets): Extern it.
4c4475a8 412 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
413 (font_otf_capability, font_drive_otf): Delete their externs.
414
415 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
416 (font_charset_alist, font_registry_charsets): Move from xfont.c
417 and rename.
aca7a3d2
MB
418 (font_prop_validate_otf): New function.
419 (font_property_table): Register it for QCotf.
420 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 421 (font_drive_otf): Delete.
1f45f627 422 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
423 lispy gstring.
424 (font_find_for_lface): New arg C.
15139d67 425 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
426 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
427 lispy gstring.
aca7a3d2
MB
428 (Ffont_shape_text): New function.
429 (Fopen_font): If the font size is not given, use 12-pixel.
430 (Ffont_at): New arg STRING.
15139d67
SM
431 (syms_of_font): Initalize font_charset_alist.
432 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
433 conditionally.
434
435 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
436 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
437 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
438 Adjust for the change of RFONT-DEF.
15139d67 439 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
440
441 * ftfont.h: New file.
442
443 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
444 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
445 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
446 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
447 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 448 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
449 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
450 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
451 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
452 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s
453 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
454 (otf_gstring, gstring, m17n_flt_initialized): New variables.
455
15139d67
SM
456 * w32term.c (x_draw_composite_glyph_string_foreground):
457 Adjust for the change of lispy gstring.
aca7a3d2 458
15139d67 459 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 460 lispy gstring. Call a function for auto-composition with the
15139d67
SM
461 third arg it->window.
462 (fill_composite_glyph_string): Adjust for the change of lispy string.
463 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 464
15139d67 465 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
466 font_find_for_lface.
467
1f45f627
GM
468 * xfont.c (x_font_charset_alist): Move to font.c and rename.
469 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
470 (syms_of_xfont): Don't handle x_font_charset_alist.
471
472 * xftfont.c: Include "ftfont.h".
15139d67 473 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
474 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
475 (xftfont_close) [HAVE_LIBOTF]: Close otf.
476 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
477 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
478 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 479
15139d67 480 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
481 the change of lispy gstring.
482
73acf815 4832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
484
485 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
486
73acf815 4872008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
488
489 * w32font.c (w32font_draw): Fill background manually.
490
73acf815 4912008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
492
493 * font.c (Qfontp): Remove unused symbol.
494 (QCantialias): New symbol.
495 (syms_of_font): Define it.
496 (font_property_table): Set a validator for QCantialias.
497
15139d67
SM
498 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
499 Define if not already.
aca7a3d2
MB
500 (QCfamily): Share with xfaces.c.
501 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 502 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
503 (w32_antialias_type, lispy_antialias_type): New functions.
504 (w32_enumfont_pattern_entity): New arg requested_font.
505 Set antialias parameter if non-default was requested.
506 (fill_in_logfont): Fill in lfQuality if :antialias specified.
507
73acf815 5082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
509
510 * lread.c (read1): Undo the previous change.
511
73acf815 5122008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
513
514 * frame.c (Fdelete_frame): Call font_update_drivers only when
515 USE_FONT_BACKEND is defined..
516
73acf815 5172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
518
519 * font.h (struct font_bitmap): New member bits_per_pixel.
520 (struct font_driver): New members start_for_frame and end_for_frame.
521 (struct font_data_list): New struct.
522 (font_put_frame_data, font_get_frame_data): Extern them.
523
524 * frame.h (struct frame): New member font_data_list.
525
526 * font.c (font_update_drivers): Call driver->start_for_frame and
527 driver->end_for_frame at proper timings.
528 (font_put_frame_data, font_get_frame_data): New functions.
529 (Ffont_spec): Add usage in the docstring.
530
531 * frame.c (make_frame): Initialize f->font_data_list to NULL.
532 (Fdelete_frame): Call font_update_drivers.
533
534 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 535 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
536 (xftfont_get_xft_draw): New function.
537 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
538 (xftfont_end_for_frame): New function.
539 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
540
15139d67 541 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 542 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
543 (struct ftxfont_frame_data): New struct.
544 (ftxfont_draw_bitmap): New arg gc_fore and flush.
545 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 546 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
547 (ftxfont_end_for_frame): New function.
548 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
549
550 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
551
73acf815 5522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
553
554 * xselect.c (Vselection_coding_system)
555 (Vnext_selection_coding_system): Delete them.
556 (syms_of_xselect): Don't declare selection-coding-system and
557 next-selection-coding-system. They are declared in select.el.
558
73acf815 5592008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
560
561 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
562
563 * w32fns.c: Include imm.h.
564 (get_composition_string_fn, get_ime_context_fn): New optional
565 system functions.
566 (globals_of_w32fns): Load them from imm32.dll.
567 (ignore_ime_char): New flag.
568 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
569 WM_IME_ENDCOMPOSITION messages.
570
571 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
572 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
573
73acf815 5742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
575
576 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
577 (READCHAR_REPORT_MULTIBYTE): New macro.
578 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
579 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
580 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
581 source.
582
73acf815 5832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
584
585 * xfaces.c (face_for_overlay_string): Call lookup_face with
586 correct arguments (fix of synching with the trunk).
587
73acf815 5882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 589
4c4475a8
GM
590 * font.c (font_prop_validate_symbol, font_prop_validate_style)
591 (font_prop_validate_non_neg, font_prop_validate_spacing):
592 Delete argument prop_index.
15139d67
SM
593 (font_property_table): Change arguments to validater. Change Callers.
594 (font_lispy_object): Delete.
aca7a3d2
MB
595 (font_at): Use font_find_object instead fo font_lispy_object.
596
73acf815 5972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
598
599 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
600 and file names.
601
73acf815 6022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
603
604 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
605 (font_matches_spec): Remove debug output.
606 (add_font_entity_to_list): Avoid using substituted fonts.
607
73acf815 6082008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
609
610 * doc.c (Fsnarf_documentation):
611 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
612
73acf815 6132008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
614
615 * src/dispextern.h (struct glyph_row): Only define "clip" field if
616 HAVE_WINDOW_SYSTEM is defined.
617
73acf815 6182008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
619
620 Fix up multi-tty merge.
621
622 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
623 and indentation.
624
625 * xfaces.c (free_realized_face, clear_face_gcs):
626 Include font_done_for_face in the input_blocked section, just in case.
627
628 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
629 (get_char_face_and_encoding): Undo last change and remove the *other*
630 duplicate definition (i.e. keep the one that's better scoped and that
631 includes code for the font-backend).
632
633 * terminal.c (create_terminal): Default keyboard_coding to
634 `no-conversion' and terminal_coding to `undecided'.
635
636 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
637
638 * fontset.c (free_realized_fontsets): Check that the table entry does
639 contain a fontset before trying to compare it to `base'.
640
641 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
642 syms_of_charset, and syms_of_coding earlier because init_window_once
643 now needs Vcoding_system_hash_table to be setup.
644
645 * coding.h (default_buffer_file_coding): Remove.
646
647 * coding.c (default_buffer_file_coding): Remove.
648 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
649 than ->symbol, and use the terminal-local coding system.
650 (syms_of_coding): Don't setup the coding-systems that are not
651 terminal-local.
652 (Fdefine_coding_system_internal): Use XCAR/XCDR.
653
654 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
655 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
656
657 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
658 in chartab.c and were re-added here by mistake.
659 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
660
661 * doc.c (Fsnarf_documentation):
662 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
663 src to etc.
664
665 * ChangeLog.10: Add mistakenly removed entry.
666
73acf815 6672008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
668
669 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
670
73acf815 6712008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
672
673 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
674 Add extra args to FACE_FOR_CHAR.
675
73acf815 6762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
677
678 * keymap.c (where_is_internal_1): If key is a cons, store the copy
679 in sequence.
680
4c4475a8
GM
681 * chartab.c (map_sub_char_table, map_char_table): If the range
682 contains just one character, call the function with that character
683 even if the depth is not 3.
aca7a3d2 684
73acf815 6852008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
686
687 * w32font.c (w32font_text_extents): Calculate metrics for the
688 whole string.
689
73acf815 6902008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
691
692 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
693
73acf815 6942008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
695
696 * w32term.c (x_set_glyph_string_clipping): Use
697 get_glyph_string_clip_rects.
4c4475a8
GM
698 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
699 Adjust for the change of struct glyph_string.
aca7a3d2
MB
700
701 * w32font.c (w32font_draw): Do clipping here.
702
73acf815 7032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 704
1f45f627 705 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
706 glyph_string.
707
708 * xterm.c (x_set_glyph_string_clipping): Use
709 get_glyph_string_clip_rects.
4c4475a8
GM
710 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
711 Adjust for the change of struct glyph_string.
aca7a3d2
MB
712
713 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
714 the resulting clip(s}.
1f45f627 715 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
716 row->clip temporarily.
717 (expose_window): Redraw rows overlapping the exposed area.
718
719 * dispextern.h (struct glyph_row): New member clip.
720 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
721 clip_height, new member clip, and num_clips.
722
73acf815 7232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
724
725 * data.c (Fchar_or_string_p): Fix docstring.
726
73acf815 7272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
728
729 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
730 create a temporal XftDraw object.
731
73acf815 7322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
733
734 * font.c (Ffontp): Fix docstring.
735
736 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
737 strong evidence of ISO-2022.
738
73acf815 7392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
740
741 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
742 SYNTAX_ENTRY_FOLLOW_PARENT.
743
73acf815 7442008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
745
746 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
747 its type.
748 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
749 Update to the new type of weak_hash_tables and next_weak.
750
751 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
752 a plain C pointer to Lisp_Hash_Table.
753
754 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
755 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
756 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
757 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
758 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
759 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
760 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
761 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
762 (GC_EQ): Remove since they've been identical to their non-GC_
763 alter-egos ever since the markbit was eradicated.
764
765 * src/alloc.c:
766 * src/buffer.c:
767 * src/buffer.h:
768 * src/data.c:
769 * src/fileio.c:
770 * src/filelock.c:
771 * src/fns.c:
772 * src/frame.h:
773 * src/lisp.h:
774 * src/macterm.c:
775 * src/print.c:
776 * src/process.c:
777 * src/w32fns.c:
778 * src/w32menu.c:
779 * src/w32term.c:
780 * src/xfns.c:
781 * src/xmenu.c:
782 * src/xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
783
73acf815 7842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
785
786 * chartab.c (map_sub_char_table): Make it work for the top-level
787 char-table. Fix handling of parent char-table.
788 (map_char_table): Adjust for the above change.
789
73acf815 7902008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
791
792 * w32font.c (Qgdi): Rename from Qw32.
793
73acf815 7942008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
795
796 * w32bdf.c (get_quoted_string): Make function static.
797
73acf815 7982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
799
800 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
801 bigger ascent and descent than those of the font, use them as
802 font's ascent and descent.
803
73acf815 8042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
805
806 * Makefile.in (${lispsource}international/charprop.el): Move this
807 target within "#ifdef HAVE_UNIDATA" and "#endif".
808
73acf815 8092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
810
811 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
812 (shortlisp): Add ../lisp/language/tai-viet.el.
813
1f45f627 8142008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
815
816 * Makefile.in (${lispsource}international/charprop.el): Depend on
817 temacs${EXEEXT}.
818
73acf815 8192008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
820
821 * w32font.c (w32font_close): Delete the GDI font object.
822
823 * w32menu.c: Include character.h
824
825 * w32proc.c: Likewise.
826
827 * w32select.c: Likewise.
828
829 * makefile.w32-in (w32proc.o): Depend on character.h
830
73acf815 8312008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
832
833 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
834
835 * w32menu.c (syms_of_w32menu): Likewise.
836
837 * w32proc.c (syms_of_ntproc): Likewise.
838
839 * w32select.c (syms_of_w32select): Likewise.
840
841 * w32term.c (syms_of_w32term): Likewise.
842
73acf815 8432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
844
845 * w32font.c (w32font_draw): Delete brush after using it.
846
73acf815 8472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
848
849 * w32font.c (w32font_open): Don't set font_idx.
850 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
851 to font settings.
852 (w32font_draw): Fill background explicitly.
853
73acf815 8542008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
855
856 * w32term.c (w32_initialize): Don't call w32font_initialize.
857
858 * w32font.c (w32font_info): Remove subranges.
859 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
860 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
861 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
862 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
863 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
864 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
865 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
866 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
867 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
868 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
869 New symbols.
870 (font_callback_data): New struct.
871 (w32font_list, w32font_match): Use it.
872 (w32font_open): Don't populate subranges.
873 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
874 (w32font_encode_char): Always return unicode code-point as-is.
875 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
876 GetGlyphOutline. Never look up by glyph index. Avoid looping
877 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2
MB
878 glyph index version.
879 (set_fonts_frame): Remove
880 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
881 set frame parameter. Use backward compatible fake foundries.
882 Save generic family in extra slot under QCfamily. Make width slot
883 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
884 binary subranges.
885 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 886 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
887 unwanted fonts.
888 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
889 (w32_registry): Default to iso10646_1.
890 (fill_in_logfont): Use dpi from extra slot. Don't bother with
891 string font registries. Don't fill in font name if it is a generic
892 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
893 extra info to fill pitch, family and charset fields.
894 (list_all_matching_fonts): Use font_callback_data struct.
895 (unicode_range_for_char): Remove.
896 (font_supported_scripts): New function.
897 (w32font_initialize): Remove.
898 (syms_of_w32font): Update which symbols are defined.
899
73acf815 9002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
901
902 * font.c (font_pixel_size): Reverse assq_no_quit args.
903
904 * w32term.h (FONT_WIDTH): Report max width, not average.
905 (FONT_MAX_WIDTH): Remove.
906 (FONT_AVG_WIDTH): New macro.
907
908 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
909 redefinition of FONT_WIDTH.
910
911 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
912 (w32_cache_char_metrics): Use FONT_WIDTH.
913
914 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
915
73acf815 9162008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
917
918 * w32font.c (w32font_open): Make lfHeight negative.
919
920 * w32fns.c (x_default_font_parameter): Use new style font name.
921 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
922
73acf815 9232008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
924
925 * w32font.c (QCsubranges): New symbol.
926 (w32font_open, w32font_has_char): Get subranges from subproperty
927 of extra.
928 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
929 (syms_of_w32font): Define :subranges symbol.
930
931 * font.c (font_put_extra): Expose externally.
932
1f45f627 933 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
934
935 * font.c (Ffont_get): Use font driver to determine otf capability.
936 (adjust_anchor): Check if driver defines anchor_point before using.
937
938 * w32font.c (w32font_open): Handle size, height and pixel_size better.
939 (w32font_draw): Use options.
940 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
941 Fix detection of truetype fonts.
942 (registry_to_w32_charset): Handle charsets other than iso8859-1
943 expressed as lisp symbols.
944 (w32_registry): Express charset as lisp symbol.
945 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 946 Don't set width here. Set quality to default.
aca7a3d2
MB
947
948 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
949 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
950
951 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
952 Remove redundant loop and allocation.
953
954 * makefile.w32-in (font.o, w32font.o): New objects.
955 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h
956 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
957
958 * xdisp.c (fill_composite_glyph_string): Make the first arg to
959 STORE_XCHARB a valid l-value.
960
961 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
962 calculations for non-Truetype fonts.
963 (x_draw_glyph_string): Sync with xterm.c.
964 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: Remove
965 redundant code.
966 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
967
968 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
969 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
970
971 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
972 (x_to_w32_charset, w32_to_x_charset): Expose externally.
973
974 * w32font.c: New file for w32 font backend.
975
73acf815 9762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
977
978 * term.c: Don't include "buffer.h" twice.
979
73acf815 9802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
981
982 * character.c (Funibyte_string): New function.
983 (syms_of_character): Defsubr it.
984
73acf815 9852008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
986
987 * w32term.c [USE_FONT_BACKEND]:
988 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc):
989 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly):
990 (x_draw_glyph_string, x_draw_glyph_string_foreground):
991 (x_draw_composite_glyph_string_foreground, x_new_fontset2):
992 (x_free_frame_resources): Sync with xterm.c.
993
73acf815 9942008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
995
996 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
997 char-table size.
998
73acf815 9992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1000
1001 * font.c (check_otf_features): Define it regardless of
1002 HAVE_LIBOTF.
1003
73acf815 10042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1005
1006 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
1007 font_otf_gpos, add font_drive_otf.
1008
1009 * fontset.c (fontset_find_font): Pay attention to font size
1010 specified for a font.
1011 (reorder_font_vector): Check contents of font_def.
1012
1013 * font.c (struct otf_list): Delete it.
1014 (otf_list): Make it a lisp variable..
1015 (otf_open): Use lispy otf_list.
1f45f627 1016 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2
MB
1017 (check_otf_features): New function.
1018 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New
1019 functinos.
1020 (font_drive_otf): New function merging font_otf_gsub and
1021 font_otf_gpos.
1022 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 1023 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
1024 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
1025 Ffont_otf_gpos.
1026 (syms_of_font): Staticpro otf_list. Delete defsubr of
1027 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
1028
1f45f627 1029 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
1030 font_open_for_lface.
1031
1032 * font.h (font_open_for_lface): Adjust prototype.
1033 (struct font_driver): Delete members otf_gsub and otf_gpos, add
1034 member otf_drive.
1035 (font_otf_gsub, font_otf_gpos): Delete externs.
1036 (font_drive_otf): Extern it.
1037
73acf815 10382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1039
1040 * font.c (font_at): If the window W is not on a window system,
1041 return Qnil.
1042
4c4475a8
GM
1043 * coding.c (produce_chars, encode_coding): Don't call
1044 insert_from_gap if no characters to produce.
aca7a3d2 1045
73acf815 10462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1047
1048 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
1049 Fclear_face_cache.
1050
1051 * xfaces.c (face_for_font): Check also face->font==font->font.font.
1052
73acf815 10532008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1054
1055 * emacs.c (main): Change default value of `enable_font_backend' to 1.
1056 Parse "--disable-font-backend" option.
1057 (standard_args): Add "--disable-font-backend" option.
1058
73acf815 10592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1060
1061 * fontset.c (fontset_find_font): New function.
1062 (fontset_font): Use fontset_find_font.
1063 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
1064 Register the specified font for all Latin characters.
1065 (new_fontset_from_font): Register the specified font for all Latin
1066 characters.
1067 (dump_fontset): For a realized fontset, include the base fontset
1068 name in the returned vector.
1069
73acf815 10702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1071
1072 * character.h (CHAR_STRING): Cast C to unsigned on calling
1073 char_string.
1074
1075 * character.c (char_string): Type of arg C changed to unsigned.
1076 Signal an error if C is an invalid character code.
1077
4c4475a8
GM
1078 * editfns.c (general_insert_function, Fchar_to_string):
1079 Use CHARACTERP, not INTEGERP.
aca7a3d2 1080
73acf815 10812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1082
1083 * character.h (MIN_MULTIBYTE_LEADING_CODE)
1084 (MAX_MULTIBYTE_LEADING_CODE): New macros.
1085
1086 * regex.c (analyse_first): Fix for multibyte characters in "case
1087 charset:" and "case categoryspec:".
1088
73acf815 10892008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
1090
1091 * Makefile.in (LIBES): Move standard libraries to the end.
1092
73acf815 10932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1094
1095 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
1096 nonzero, don't shrink the buffer nextb.
1097
1098 * buffer.h (struct buffer_text): New member inhibit_shrinking.
1099
1100 * coding.c (coding_alloc_by_making_gap): New arg offset.
1101 (alloc_destination): Call coding_alloc_by_making_gap with the arg
1102 offset.
1103 (decode_coding_iso_2022): Update coding->safe_charsets.
1104 (decode_coding_gap): Temporarily set
1105 current_buffer->text->inhibit_shrinking to 1.
1106
73acf815 11072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1108
1109 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
1110 indexing into elements of s->cmp and s->char2b.
1111
73acf815 11122008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
1113
1114 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
1115
73acf815 11162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1117
1118 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
1119 target_multibyte instead of multibyte.
1120 (re_match_2_internal): Call bcmp_translate with target_multibyte.
1121 (bcmp_translate): Change the argument name from multibyte to
1122 target_multibyte.
1123
73acf815 11242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1125
1126 These changes are to compile a regexp into a pattern that can be
1127 used both for multibyte and unibyte targets.
1128
1129 * Makefile.in (search.o): Depend on charset.h.
1130
1131 * character.c (multibyte_char_to_unibyte_safe): New function.
1132
1133 * search.c: Include "charset.h".
1134 (compile_pattern_1): Delete argument multibyte. Don't set
1135 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
1136 (compile_pattern): Don't compare cp->buf.target_multibyte.
1137 Compare cp->buf.charset_unibyte.
1138 (compile_pattern): Set cp->buf.target_multibyte.
1139
1140 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
1141
1142 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
1143
1144 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 1145 multibyte. Change callers.
aca7a3d2 1146 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
1147 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
1148 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
1149 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
1150 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
1151 (regex_compile): Make the compiled pattern usable both for
1152 multibyte and unibyte targets.
1153 (analyse_first): Make the fastmap usable both for multibyte and
1154 unibyte targets.
1f45f627 1155 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
1156 (re_match_2_internal): Pay attention to the case that the
1157 multibyteness of bufp and target may be different.
1158
73acf815 11592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1160
1161 * xdisp.c (x_produce_glyphs): When a font is not found, make the
1162 empty box occupy at least one column width.
1163
73acf815 11642008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1165
1166 * Makefile.in: Remove redundant HAVE_XFT clause.
1167
73acf815 11682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1169
1170 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
1171
73acf815 11722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1173
1174 * fontset.c (Finternal_char_font): Fix for the case of POSITION
1175 being nil.
1176
73acf815 11772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1178
1179 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
1180
73acf815 11812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1182
1183 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
1184
73acf815 11852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1186
1187 * search.c (simple_search): Fix previous change.
1188
73acf815 11892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1190
1191 * xftfont.c (ftfont_font_format): Extern declaration.
1192
1193 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
1194
1195 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
1196 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
1197
1198 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
1199 (ftfont_font_format): Fix previous change.
1200
1201 * font.h (Ffont_xlfd_name): EXFUN it.
1202
1203 * font.c (font_parse_xlfd): Fix the array size of `f'.
1204 (register_font_driver): Use EQ to compare driver->type.
1205
1206 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
1207 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
1208 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
1209
73acf815 12102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1211
4c4475a8
GM
1212 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
1213 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 1214
73acf815 12152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1216
1217 * xfont.c (xfont_open): Set font->format.
1218
1219 * xftfont.c (xftfont_open): Set font->format.
1220
1221 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
1222 (ftfont_list): Include FC_FONTFORMAT in FcObject.
1223 (ftfont_open): Set font->format.
1224 (ftfont_font_format): New function.
1225
1226 * font.h (struct font): New memeber format.
1227
1228 * font.c (Qopentype): New variable.
1229 (syms_of_font): Defsym it.
1230 (Fquery_font): Change the format of the last element of the return
1231 value.
1232
73acf815 12332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1234
1235 * xfns.c (xic_create_xfontset): Try the default fontset name as a
1236 last resort.
1237
73acf815 12382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1239
1240 * coding.c (detect_coding_charset): Fix detection of multi-byte
1241 charset.
1242
73acf815 12432008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
1244
1245 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
1246
73acf815 12472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1248
1249 * xdisp.c (get_next_display_element): Set it->face_id for the
1250 first component of a composition.
1f45f627 1251 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 1252
73acf815 12532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1254
1255 (get_next_display_element): Set it->face_id for the
1256 first component of a composition.
1f45f627 1257 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 1258
73acf815 12592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1260
1261 * fontset.c (Qlatin): New variable.
1262 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 1263 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 1264
73acf815 12652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1266
1267 * font.c (font_unparse_fcname): Pay attention to the case that
1268 some of font property is a null string.
1269
73acf815 12702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1271
1272 * term.c: Include "composite.h".
1273 (encode_terminal_code): Output all components of composition.
1274 Check the size of encode_terminal_src.
1275 (produce_glyphs): For compostion, call produce_composite_glyph.
1276 (append_composite_glyph, produce_composite_glyph): New functions.
1277
1278 * xdisp.c (x_produce_glyphs): In handling composition, if a font
1279 is not found, get font_info from the current ascii face.
1280
73acf815 12812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1282
1283 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
1284 buffer-file-name to Qnil before calling insert_from_buffer.
1285
1286 * font.c (font_unparse_fcname): Pay attention to the case that
1287 foundry is a null string.
1288
73acf815 12892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1290
1291 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
1292
1293 * font.c (Qunicode_sip): New variable.
1294 (syms_of_font): Declare it as a Lisp symbol.
1295
1296 * font.h (Qunicode_sip): Extern it.
1297
73acf815 12982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1299
1f45f627 1300 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
1301
1302 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 1303 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
1304 the first elememnt of allocated memory.
1305
1f45f627 1306 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
1307
1308 * xdisp.c (handle_composition_prop): Set it->c to the first
1309 non-TAB component.
1f45f627
GM
1310 (fill_composite_glyph_string): Change argument.
1311 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
1312 (x_produce_glyphs): Fix handling of left/right padding.
1313
73acf815 13142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1315
1316 * coding.c (detect_coding_system): Fix for handling off
1317 inhibit_iso_escape_detection. Fix for the case that no coding
1318 system is defined for a specific coding category.
1319
73acf815 13202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1321
1f45f627 1322 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
1323
1324 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
1325 opening a font.
1326
1327 * fileio.c (Finsert_file_contents): On recovering a file, assume
1328 Unix-like eol.
1329 (choose_write_coding_system): On auto-saving a file, force
1330 Unix-like eol.
1331
1332 * coding.c (setup_coding_system): Fix setting of
1333 coding->common_flags based on eol_type.
1334 (coding_inherit_eol_type): If PARENT is not nil, be sure to
1335 inherit from it.
1336
73acf815 13372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1338
1f45f627 1339 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 1340
73acf815 13412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1342
1f45f627 1343 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
1344 (ftfont_list): Don't check :name property.
1345 (ftfont_match): New function.
1346 (ftfont_pattern_entity): If the pattern doesn't contain
1347 FC_SPACING, don't assuce FC_MONO.
1348
1349 * font.h (struct font_driver): New member `match'.
1f45f627 1350 (font_update_drivers): Adjust prototype.
aca7a3d2 1351
4c4475a8
GM
1352 * font.c (font_parse_fcname, font_parse_name): Don't change :name
1353 property of FONT.
aca7a3d2
MB
1354 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
1355 them unconditionally.
1356 (font_matching_entity): New function.
1357 (font_open_by_name): Try font_matching_entity if exact match is
1358 not found.
1359 (font_update_drivers): Delete the arg FONT. Return a list of
1360 actually used backends. Don't free faces, font caches here.
1361 Don't store data in frame parameters. Don't call x_set_font.
1362 (Ffont_spec): Store :name property as is.
1363 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
1364 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
1365 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
1366 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
1367 Call font->driver->otf_gsub instead of font_otf_gsub.
1368
1369 * frame.c (x_set_font_backend): Do more works that were done in
1370 font_update_drivers before.
1371
1372 * xfont.c (xfont_match): New function.
1373 (xfont_driver): Set xfont_driver.match to xfont_match.
1374 (xfont_draw): Set font in GC if necessary.
1375
1376 * ftxfont.c (ftxfont_match): New function.
1377 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
1378
1379 * xftfont.c (xftfont_match): New function.
1380 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
1381
73acf815 13822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1383
1384 * font.h (struct font): New member scalable.
1385 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 1386 (font_otf_gsub): Adjust prototype.
aca7a3d2 1387
1f45f627
GM
1388 * font.c (font_otf_capability): Fix handling of the default langsys.
1389 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
1390 Check the contents of SPEC.
1391 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
1392 (check_gstring): New function.
1393 (REPLACEMENT_CHARACTER): New macro.
1394 (font_otf_gsub): New arg alternate_subst. Be sure to set all
1395 glyph codes of GSTRING.
1396 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
1397 (font_prepare_composition): Set cmp->glyph_len.
1398 (font_open_entity): Set font->scalable.
1399 (Ffont_get): Handle :otf property.
1400 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
1401 functions.
1402 (Fquery_font): Use font->font.full_name.
1403 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
1404 Sfont_otf_alternates.
1405
1406 * ftfont.c (ftfont_open): Set font->font.full_name and
1407 font->font.name properly. Fix calculation of font->font.height
1408 and font->min_width.
1409
1410 * ftxfont.c (ftxfont_create_gcs): New function.
1411 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
1412 (ftxfont_draw_backgrond): Fix filling region.
1413 (ftxfont_default_fid): New function.
1414 (ftxfont_open): Set xfotn->fid to the return value of
1415 ftxfont_default_fid.
1416 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
1417 (ftxfont_done_face): Free only GCs that are created by
1418 ftxfont_create_gcs.
1419 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
1420
1421 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
1422 Clip to src->width, etc (not src->clip_XXX).
1423
1424 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
1425 FontBackend frame parameter.
1426
73acf815 14272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1428
1429 * font.h (struct font_driver_list): New member `on'.
1430 (Fclear_font_cache): EXFUN it.
1431 (font_update_drivers): Extern it.
1432
1433 * font.c (font_unparse_fcname): Fix typo (swidth->width).
1434 (font_list_entities): Check driver_list->on.
1435 (register_font_driver): Initalize `on' member to 0.
1436 (font_update_drivers): New function.
1437 (Fclear_font_cache): Check driver_list->on.
1438
1439 * frame.h (Qfont_backend): Extern it.
1440 (x_set_font_backend): Extern it.
1441
1442 * frame.c (Qfont_backend): New variable.
1443 (frame_parms): New element for font-backend.
1444 (x_set_font_backend): New function.
1445
1446 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
1447 FontBackend frame parameter.
1448 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
1449 x_set_font_backend.
1450
1451 * xfont.c (xfont_list): Don't try listing by :name property if the
1452 name is not for XLFD.
1453
73acf815 14542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1455
1456 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
1457 (LGLYPH_SET_TO): New macros.
1458 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
1459 element of G is vector or not.
1460 (font_at): Extern it.
1461
1462 * font.c: Include window.h.
1463 (font_lispy_object): New function.
1464 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
1465 end of valid glyph.
1466 (font_close_object): Fix getting (struct font *).
1467 (font_at): New function.
1468 (Ffont_get): If FONT is a font-object, get entity from it.
1469 (Ffont_make_gstring): Initialize elements of glyphs with nil.
1470 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
1471 range check.
1472 (Ffont_at): New function.
1473 (syms_of_font): Defsubr Sfont_at.
1474
1475 * xdisp.c (it_props): Move the entry for Qauto_composed to just
1476 before the entry for Qcompostion.
1f45f627 1477 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
1478 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
1479 the font in gstring.
1480 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
1481 LGLYPH_FORM (g) to detect the end of valid glyph.
1482 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
1483 we are composing with gstring.
1484
1485 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
1486 Check if adjustment is vector or not.
1487
1488 * Makefile.in (font.o): Make it depends on window.h.
1489
73acf815 14902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1491
1492 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
1493 adjustment is vector or not.
1494
73acf815 14952008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1496
1497 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
1498
73acf815 14992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1500
1501 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
1502 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
1503 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
1504
1f45f627 1505 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 1506 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
1507 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
1508 LGLYPH format.
aca7a3d2 1509
1f45f627 1510 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
1511 the change of LGLYPH format.
1512
73acf815 15132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1514
1515 * ftfont.c (ftfont_list): Fix typo.
1f45f627 1516 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 1517
73acf815 15182008-02-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
aca7a3d2
MB
1519
1520 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
1521
1522 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
1523 xftface_info is non-NULL.
1524
73acf815 15252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1526
1527 * ftfont.c (ftfont_list): Fix typo.
1f45f627 1528 (ftfont_build_basic_charsets): Don't include letters with diactrics.
aca7a3d2 1529
73acf815 15302008-02-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
aca7a3d2 1531
1f45f627 1532 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 1533
73acf815 15342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1535
1536 * ftfont.c (ftfont_list): Pay attention to the case that
1537 FC_CAPABILITY is not defined.
1538
73acf815 15392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1540
1541 * xftfont.c (xftfont_open): Set charset related members to -1.
1542
1f45f627
GM
1543 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
1544 QCname.
aca7a3d2
MB
1545 (ftfont_open): Set charset related members to -1.
1546
1547 * fontset.c (Votf_script_alist): New variable.
1548 (syms_of_fontset): Initialize it.
1549 (fontset_font): Delete unused variable.
1550
1551 * fontset.h (Votf_script_alist): Extern it.
1552
1f45f627 1553 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
1554
1555 * font.h (font_close_object, font_merge_old_spec): Extern them.
1556
73acf815 15572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1558
1559 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
1560 (syms_of_font): Initialize them.
1561 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
1562 (font_prop_validate_type): Delete.
1563 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
1564 Change caller.
1565 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
1566 (font_prop_validate_extra): Delete.
aca7a3d2
MB
1567 (font_prop_validate_spacing): New function.
1568 (font_property_table): Add elements for all known properties.
1f45f627
GM
1569 (get_font_prop_index): Rename from check_font_prop_name. New
1570 argument FROM. Change caller.
aca7a3d2 1571 (font_prop_validate): Validate all known properties.
1f45f627 1572 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
1573 (font_expand_wildcards): Make it static. Fix the way of shrinking
1574 the possible range.
1f45f627 1575 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 1576 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 1577 Change caller.
aca7a3d2 1578 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
1579 (font_parse_fcname): Delete argument merge. Fix parsing of point
1580 size. Don't validate properties values here. Change caller.
1581 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
1582 (font_open_by_name): Delete unused variable.
1583 (Ffont_spec): Likewise. Validate property values.
1584 (Ffont_match_p): New function.
1585
1586 * font.h (QCscalable): Extern it.
1f45f627 1587 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 1588
1f45f627 1589 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 1590
1f45f627 1591 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
1592 (xfont_list_pattern): New function.
1593 (xfont_list): Use xfont_list_pattern.
1594
73acf815 15952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1596
1597 * font.h (Flist_fonts): EXFUN it.
1598
73acf815 15992008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1600
1601 * w32term.c (w32_initialize): Add back smoothing_type and
1602 smoothing_enabled definitions.
1603
73acf815 16042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1605
1606 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
1607 s->face->font on determining underline position.
1608
73acf815 16092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1610
1611 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
1612 (font_has_char): Accept font-object too.
1613 (font_find_for_lface): Try at first with a size specified in face.
1614
73acf815 16152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1616
1617 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
1618 font_open_by_name.
1619
73acf815 16202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1621
1622 * font.h (QCspacing, QCdpi): Extern them.
1623 (enum font_spacing): New enum.
1624 (FONT_PIXEL_SIZE_QUANTUM): New macro.
1625
1626 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
1627 (QCspacing, QCdpi): New variables.
1628 (syms_of_font): Initialize them.
1629 (font_pixel_size): New function.
1630 (font_put_extra): New function.
1631 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
1632 in FONT_EXTRA.
1633 (font_parse_fcname): Handle enumenrated values (e.g. bold). Fix
1634 handling font size. Add QCname property that contains only
1635 unknown properties.
1f45f627 1636 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 1637 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
1638 (font_sort_entites, font_list_entities, font_find_for_lface)
1639 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 1640 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
1641
1642 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
1643 include weight in listing pattern, instead check weight of each
1644 listed font. Don't include scalable in pattern. Pay attention to
1645 FONT_PIXEL_SIZE_QUANTUM.
1646
73acf815 16472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1648
aca7a3d2 1649 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 1650 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
1651 (font_list_entities): Handle float size correctly.
1652 (font_open_by_name): Prefer `normal' property values if the name
1653 doesn't specify them.
1654
1655 * fontset.c (Finternal_char_font): Use font_get_name, not
1656 Ffont_xlfd_name.
1657
1658 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
1659 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
1660 pattern. Don't force scalable.
1661
1662 * xftfont.c (xftfont_open): For generating a name, start from
1663 96-byte buffer.
1664
73acf815 16652008-02-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
aca7a3d2
MB
1666
1667 * frame.h (x_new_fontset2): Fix prototype.
1668
73acf815 16692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1670
1f45f627 1671 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
1672 (font_match_p, font_get_spec, font_parse_fcname)
1673 (font_unparse_fcname): Extern them.
1f45f627 1674 (font_get_name): Adjust prototype.
aca7a3d2
MB
1675
1676 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
1677 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
1678 (font_expand_wildcards): Fix handling ENCODING field. Avoid
1679 unnecessary checks for weight, slant, and swidth.
1680 (font_parse_fcname): New function.
1681 (font_unparse_fcname): New function.
1682 (font_parse_name): New function.
1683 (font_match_p): New function.
1f45f627 1684 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
1685 (font_get_spec): New function.
1686 (Qunspecified, Qignore_defface): Don't extern them.
1687 (font_find_for_lface): Assume that LFACE is fully specified.
1688 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
1689 object, use it for FACE.
1690 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
1691 driver->parse_name.
1692 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
1693
1f45f627
GM
1694 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
1695 prototype.
aca7a3d2 1696
1f45f627
GM
1697 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
1698 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
1699 make_fontset.
1700
1f45f627 1701 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 1702
1f45f627 1703 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
1704 of x_new_fontset2.
1705
1706 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
1707 (Qsans__serif): New variables.
1708 (ftfont_generic_family_list): New variable.
1709 (syms_of_ftfont): Initialize the above variables.
1f45f627 1710 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
1711 (ftfont_list_generic_family): New function.
1712 (ftfont_parse_name): Delete this function.
1f45f627 1713 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
1714 (ftfont_list_family): Fix args to FcObjectSetBuild.
1715
1716 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
1717 object in attrs[LFACE_FONT_INDEX].
1718 (set_lface_from_font_name): Cancel all changes for font-backend.
1719 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
1720 function.
1721 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
1722 font object in QCfont attribute.
1723 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
1724 (realize_default_face) [USE_FONT_BACKEND]: Call
1725 set_lface_from_font_and_fontset.
1726
1727 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
1728 "fixed", and signal error here if no suitable font was found.
1729
1730 * xfont.c (xfont_parse_name): Delete this function.
1731
1732 * xftfont.c (xftfont_open): Change coding style of error
1733 handling. Generate fontconfig's fontname pattern.
1734
1735 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
1736 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
1737
1738 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
1739 Both args FONTSET and FONT_OBJECT must be existing ones.
1740
73acf815 17412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
1742
1743 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
1744
73acf815 17452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1746
1747 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
1748
1749 * font.h (struct font): Fix typo.
1750
1751 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
1752 XLFD_XXX_INDEX.
1753 (enum xlfd_field_mask): New enum.
1f45f627 1754 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
1755 are followed by non-digits, return a symbol.
1756 (font_expand_wildcards): New function.
1757 (font_parse_xlfd): Fix wildcard handling.
1758 (Ffont_spec): If :name is specified, reflect the info in the other
1759 properties.
1760
1761 * ftfont.c (ftfont_pattern_entity): Fix typo.
1762 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
1763 locale.
1764
73acf815 17652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1766
1767 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
1768
1f45f627 1769 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
1770 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
1771 registry doesn't specify encoding part.
1772 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
1773 (font_open_by_name): At first try parsing the name.
1774 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
1775 as Lisp symbols.
1776
1777 * fontset.c (reorder_font_vector): Pay attention to the case that
1778 the 3rd element of font_def is nil.
1779 (fontset_font): For the default fontset, append one more fontset
1780 elements for a script-based font specification. Don't add script
1781 attribute on finding a font.
1782 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
1783 font name.
1784 (fontset_ascii_font): If a font can't be opened, return nil.
1785
1f45f627 1786 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
1787 (ftfont_pattern_entity): New function.
1788 (ftfont_get_cache): Assume that freetype_font_cache is already
1789 initialized.
1790 (ftfont_list): Handle the case that a file is specified in font
1791 name. Use ftfont_pattern_entity to generate entities.
1792 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
1793 (syms_of_ftfont): Initialize freetype_font_cache.
1794
1795 * xftfont.c (xftfont_open): Make the font name fontconfig's
1796 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
1797 (xftfont_close): Free font->font.name if not NULL.
1798
1799 * xfont.c (xfont_list): If script is specified for a font, return
1800 null_vector.
1801 (xfont_list_family): Declare argument type.
1802
1803 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
1804 name, set LFACE_FONT (lface) to nil.
1805
1806 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
1807 return Qnil.
1808
73acf815 18092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1810
1f45f627 1811 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
1812 (standard_args): Add "-enable-font-backend".
1813
73acf815 18142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1815
1816 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
1817 (struct xftdraw_list, xftdraw_list): Delete them.
1818 (register_xftdraw, check_xftdraw): Delete them.
1819 (xftfont_prepare_face): Don't call register_xftdraw.
1820 (xftfont_done_face): Don't call check_xftdraw.
1821 (xftfont_draw): Get backroudn color only when with_background is
1822 nonzero.
1823
1824 * xfont.c (xfont_encode_char): Fix calculation of char2b.
1825
73acf815 18262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1827
1828 These changes are for the new font handling codes.
1829
1830 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
1831 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
1832 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
1833 (FONTSRC, FONTOBJ): New variables.
1834 (obj): Add $(FONTOBJ).
1835 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
1836 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
1837 @LIBOTF_LIBS@.
1838 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 1839 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 1840
1f45f627 1841 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
1842
1843 * character.h (Vscript_representative_chars): Extern it.
1844
1845 * character.c (Vscript_representative_chars): New variable.
1846 (syms_of_character): Declare it as a Lisp variable.
1847
1848 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
1849 enable_font_backend is nonzero, accept the composition method
1850 COMPOSITION_WITH_GLYPH_STRING.
1851
1852 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
1853 enumeration COMPOSITION_WITH_GLYPH_STRING.
1854
aca7a3d2
MB
1855 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
1856 members clip_x, clip_y, clip_width, and clip_height.
1857 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
1858
1859 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
1860 --enable-font-backend. Call syms_of_font.
1861
1862 * fns.c (assoc_no_quit): New function.
1863
1864 * fontset.h (FONT_INFO_FROM_FACE): New macro.
1865 (face_for_font, new_fontset_from_font)
1866 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
1867
1868 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
1869 (fontset_font, fontset_ascii, face_for_char)
1870 (make_fontset_for_ascii_face, Ffont_info)
1871 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
1872 is nonzero, use font-backend mechanism.
1873 (find_font_encoding): Make it non-static.
1874 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
1875 New functions.
1876
1877 * frame.h (struct frame): New members resx and resy.
1878 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
1879 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
1880
1881 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 1882 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
1883
1884 * lisp.h (assoc_no_quit): Extern it.
1885
1886 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
1887 Through out the file, use FONT_INFO_FROM_FACE instead of
1888 FONT_INFO_FROM_ID, use get_per_char_metric instead of
1889 rif->per_char_metric.
1890 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
1891 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
1892 (get_glyph_face_and_encoding, fill_composite_glyph_string)
1893 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
1894 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
1895 nonzero, use font-backend mechanism.
1896 (get_per_char_metric): New function.
1897
1898 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
1899 (set_lface_from_font_name)
1900 (set_font_frame_param, free_realized_face)
1901 (prepare_face_for_display, clear_face_gcs)
1902 (Finternal_set_font_selection_order, realize_x_face)
1903 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
1904 font-backend mechanism.
1f45f627 1905 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
1906 (load_face_font) [USE_FONT_BACKEND]: Abort.
1907 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 1908 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
1909
1910 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
1911 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
1912 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
1913 nonzero, register all available font drivers. Call
1914 x_default_font_parameter for deciding a font.
1915 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
1916
1917 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
1918 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
1919 (x_set_glyph_string_clipping_exactly)
1920 (x_compute_glyph_string_overhangs)
1921 (x_draw_glyph_string_foreground)
1922 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
1923 (x_free_frame_resources) [USE_FONT_BACKEND]: If
1924 enable_font_backend is nonzero, use font-backend mechanism.
1925 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
1926
73acf815 19272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1928
fcb314b2 1929 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
1930 system_eol_type.
1931 (syms_of_coding): Initialize system_eol_type.
1932
fcb314b2
GM
1933 * process.c (Fset_process_coding_system): Inherit system's eol
1934 format if necessary.
aca7a3d2 1935
73acf815 19362008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
1937
1938 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
1939
73acf815 19402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1941
1942 * coding.c (decode_eol): Pay attention to buffer relocation in
1943 del_range_2.
1944 (decode_coding): Call decode_eol before restoring undo_list.
1945
73acf815 19462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1947
1948 * charset.c (Fdefine_charset_internal): Fix setting of
1949 emacs_mule_bytes.
1950
73acf815 19512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1952
1953 * keyboard.c (read_char): Check if C is a character or not before
1954 looking up Vkeyboard_translate_table.
1955
73acf815 19562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1957
1958 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
1959 condition to terminate the loop.
1960
73acf815 19612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1962
1963 * coding.c (produce_composition): Compare charbuf[i] instead of
1964 args[i] against 0.
1965 (Fterminal_coding_system): Use EQ to compare Lisp objects.
1966
73acf815 19672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1968
1969 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
1970 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
1971 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
1972 detect_coding.
1973 (emacs_mule_char): Handle old style (Emacs 20) component character
1974 of a composition.
4c4475a8
GM
1975 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
1976 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
1977 composition rule.
aca7a3d2
MB
1978 (decode_coding_emacs_mule): Handle invalid bytes correctly.
1979
73acf815 19802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1981
1982 * coding.c (encode_coding_ccl): Allocate destination dynamically
1983 when necessary.
1984
73acf815 19852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1986
1987 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
1988 the loop. When quitted, show a proper error message.
1989
73acf815 19902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1991
aca7a3d2
MB
1992 * xterm.c (x_set_glyph_string_clipping_exactly): Set
1993 src->clip_head and src->clip_tail temporarily instead of src->hl.
1994
1995 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
1996 character sequence.
1997 (Fccl_execute_on_string): Use ASET, not XSET.
1998
73acf815 19992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2000
1f45f627 2001 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 2002
73acf815 20032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2004
2005 * coding.c (decode_coding): Fix the condition of terminating the
2006 decoding loop.
2007
73acf815 20082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2009
2010 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 2011 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 2012
73acf815 20132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2014
2015 * charset.c (map_charset_chars): Fix for ascii-compatible charset
2016 made by a mapping table.
2017
73acf815 20182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2019
2020 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
2021 not.
2022 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
2023 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
2024
2025 * xterm.c (x_draw_composite_glyph_string_foreground): Check
2026 s->face is NULL or not.
2027
73acf815 20282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2029
2030 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
2031 (x_draw_glyph_string): Fix drawing of right_overhang and
2032 left_overhang around/on cursor.
2033
1f45f627 2034 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 2035
73acf815 20362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2037
2038 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
2039
73acf815 20402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2041
4c4475a8
GM
2042 * coding.c (Fdefine_coding_system_internal)
2043 (Fdefine_coding_system_alias): Avoid a duplicated element in
2044 Vcoding_system_alist.
aca7a3d2 2045
73acf815 20462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2047
2048 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
2049
fcb314b2 2050 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
2051 (syms_of_coding): Intern and staticpro it.
2052 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 2053 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
2054
2055 * coding.h (CODING_SYSTEM_P): If ID is not available, call
2056 Fcoding_system_p.
2057 (CHECK_CODING_SYSTEM): If ID is not available, call
2058 Fcheck_coding_system.
4c4475a8
GM
2059 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
2060 Try also Fcheck_coding_system.
aca7a3d2 2061
73acf815 20622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2063
aca7a3d2
MB
2064 * coding.c (code_conversion_restore): GCPRO arg.
2065
73acf815 20662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2067
2068 * character.c (lisp_string_width): Check multibyteness of STRING.
2069
73acf815 20702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2071
2072 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
2073 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
2074 (decode_mac_font_name): Use decode_coding_c_string instead of
2075 decode_coding.
2076 (x_load_font): Initialize fontp->fontset to -1. Set
2077 fontp->encoding_type.
2078
73acf815 20792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2080
2081 * search.c (search_buffer): Give up BM search on case-fold-search
2082 if one of a target character has a case-equivalence of different
2083 byte length even if that target charcter is an ASCII.
1f45f627
GM
2084 (simple_search): Fix calculation of byte length of matched text.
2085 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 2086
73acf815 20872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2088
2089 * coding.c (decode_coding): Fix handling of invalid bytes.
2090
73acf815 20912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2092
2093 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
2094 Unicode characters.
2095
73acf815 20962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2097
2098 * coding.c (encode_coding_object): If a pre-write-conversion
2099 function makes a new buffer, kill it.
2100
73acf815 21012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2102
2103 * coding.c (QCascii_compatible_p): New variable.
2104 (syms_of_coding): Initialize it.
4c4475a8
GM
2105 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
2106 calling string_char.
aca7a3d2
MB
2107 (record_conversion_result): Add `default:' case.
2108 (coding_charset_list): Delete unused variable `coding_type'.
2109 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
2110 property in the plist of the coding system.
2111 (Fcoding_system_put): Check QCascii_compatible_p.
2112
73acf815 21132008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
2114
2115 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
2116 removed calculation of frame `f', as it's now used.
2117
73acf815 21182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2119
1f45f627 2120 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
2121 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
2122 (UNIDATA): New variable.
2123 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
2124 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
2125 $(RUN_TEMACS) unconditionally.
2126
73acf815 21272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2128
1f45f627 2129 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
2130 (admindir): New variable.
2131 ($(lispsource)international/charprop.el): New target.
2132
73acf815 21332008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 2134
1f45f627 2135 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
2136 (syms_of_character): Remove its initialization.
2137
73acf815 21382008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
2139
2140 * w32select.c (validate_coding_system)
2141 (setup_windows_coding_system): New functions.
2142 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
2143 setup_windows_coding_system.
2144 (setup_config, Fw32_get_clipboard_data): Use
2145 validate_coding_system.
2146 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 2147 where signals are allowed.
aca7a3d2
MB
2148
2149 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
2150 (Fcheck_coding_system): Add declarations.
2151
73acf815 21522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2153
1f45f627 2154 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 2155
73acf815 21562008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2157
2158 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
2159 string as the second argument for x_new_fontset.
2160
73acf815 21612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2162
2163 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
2164 (encode_coding_object): Use safe_call instead of call2.
2165
73acf815 21662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2167
1f45f627 2168 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
2169
2170 * Makefile.in (lisp): Include charprop.el.
2171
73acf815 21722008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2173
2174 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
2175 Not sure if it's unnecessary.
2176
73acf815 21772008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
2178
2179 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
2180 some possibly unnecessary fontset checking code that crashed
1f45f627 2181 when creating a new frame.
aca7a3d2 2182
73acf815 21832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2184
2185 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
2186 lookup_face.
2187
2188 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
2189
1f45f627 2190 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 2191
73acf815 21922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2193
73acf815 2194 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
2195 (coding_charset_list): New function.
2196
2197 * coding.h (coding_charset_list): Extern it.
2198
73acf815 21992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2200
2201 * fontset.c (Fset_fontset_font): Call find_font_encoding with
2202 concatenation of family and registry.
2203
73acf815 22042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2205
2206 * character.h (BYTE8_STRING): Fix typo.
2207
2208 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
2209 string to multibyte (sync to HEAD).
2210
2211 * casefiddle.c (casify_region): Handle changes in byte-length
2212 using replace_range_2 (sync to HEAD).
2213
73acf815 22142008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
2215
2216 * chartab.c (map_char_table): GCPRO table and arg.
2217
73acf815 22182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2219
2220 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
2221 already at limit.
2222
73acf815 22232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2224
2225 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
2226 instead of fast_c_string_match_ignore_case.
1f45f627 2227 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 2228 fast_string_match_ignore_case instead of
1f45f627 2229 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 2230
73acf815 22312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2232
2233 * xdisp.c (get_next_display_element): In unibyte case, decide to
2234 display in octal form by checking a chacter by
2235 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
2236
1f45f627 2237 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
2238
2239 * character.c (unibyte_has_multibyte_table): New variable.
2240
2241 * character.h (unibyte_has_multibyte_table): Extern it.
2242 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
2243
73acf815 22442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2245
2246 * coding.c (encode_coding_iso_2022): Fix handling of charset
2247 annotation.
2248
73acf815 22492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2250
2251 * coding.c (setup_coding_system): If coding_system is nil, use
2252 Qundecided.
2253 (Fterminal_coding_system): Return nil if terminal coding system is
2254 `undecided'.
2255 (syms_of_coding): Define coding-system `undecided' here. Setup
2256 terminal_coding as `undecided'.
2257
73acf815 22582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2259
2260 * xdisp.c (message_dolog, set_message_1): Call
2261 unibyte_char_to_multibyte with arg type int.
2262
aca7a3d2
MB
2263 * lread.c (read1): Fix reading of a char-table.
2264
2265 * print.c (print_object): Include sub char-table in cicularities
2266 detection.
2267
73acf815 22682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2269
2270 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 2271 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 2272
73acf815 22732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2274
2275 * fileio.c (report_file_error): Make a unibyte string from
2276 strerror (errorno).
2277 (Fsubstitute_in_file_name): Fix the arg to
2278 unibyte_char_to_multibyte. It is evaluated twice.
2279
73acf815 22802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2281
2282 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
2283
73acf815 22842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2285
2286 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
2287 BOM is not found.
4c4475a8
GM
2288 (detect_coding, detect_coding_system): Optimization for ISO-2022
2289 when no 8-bit data is found.
aca7a3d2 2290
73acf815 22912008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2292
2293 * w32fns.c (x_to_w32_font): Update to use new coding struct.
2294
73acf815 22952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2296
4c4475a8
GM
2297 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
2298 CHARS.
aca7a3d2 2299
73acf815 23002008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
2301
2302 * macterm.c (mac_encode_char): Add charset argument and update
2303 to use encoding_type.
2304 (x_new_font,x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
2305 switch to pure fontset.
2306 (decode_mac_font_name): Temporarily remove decoding.
2307 (x_font_name_to_mac_font_name): Temporarily remove encoding.
2308 (x_load_font): Temporarily remove encoding.
aca7a3d2 2309
73acf815 23102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2311
2312 * xfaces.c (Fface_font): If frame is not on a window system,
2313 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
2314 refer to face->font.
2315 (split_font_name_into_vector, build_font_name_from_vector)
2316 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
2317 whne HAVE_WINDOW_SYSTEM is defined.
2318
73acf815 23192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2320
2321 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
2322 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 2323 cmp->glyph_len is zero.
aca7a3d2 2324
1f45f627 2325 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
2326 (Ffontset_info): Make it backward compatible. New arg ALL.
2327
73acf815 23282008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
2329
2330 * process.c (read_process_output): Grow decoding_buf when needed;
2331 this could cause a crash in allocate_string and compact_small_strings.
2332
73acf815 23332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2334
1f45f627 2335 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 2336
73acf815 23372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2338
2339 * coding.c (setup_coding_system): Set coding->common_flags
2340 correctly for raw-text.
2341 (consume_chars): On encoding unibyte text by raw-text, don't check
2342 multibyte form.
1f45f627 2343 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
2344
2345 * fileio.c (e_write): Short cut for the case of no encoding.
2346
73acf815 23472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2348
4c4475a8
GM
2349 * coding.c (detect_coding, detect_coding_system): Delete unused
2350 variables.
aca7a3d2 2351
73acf815 23522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2353
2354 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
2355 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
2356
73acf815 23572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2358
2359 * coding.c (Ffind_coding_systems_region_internal): Include
2360 raw-text and no-conversion in the result.
2361
73acf815 23622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2363
1f45f627 2364 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
2365 (load_font_get_repertory): Delete unnecessary check of ENCODING of
2366 FONT_DEF.
2367 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 2368 (set_fontset_font): Change argument.
aca7a3d2
MB
2369 (Fset_fontset_font): Fix for the case that TARGET is a script
2370 name and charset name.
2371 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
2372
73acf815 23732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2374
1f45f627
GM
2375 * fontset.c (fontset_font): Rename from fontset_face. Change return
2376 value.
4c4475a8
GM
2377 (face_suitable_for_char_p, face_for_char): Adjust for the change
2378 of fontset_font.
aca7a3d2
MB
2379 (make_fontset_for_ascii_face): Fix setting of the fontset element
2380 for ASCII.
2381 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
2382 to get a font name.
1f45f627 2383 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 2384
fcb314b2 2385 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
2386
2387 * character.h (LEADING_CODE_LATIN_1_MIN)
2388 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
2389
73acf815 23902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2391
fcb314b2 2392 * editfns.c (check_translation): New function.
aca7a3d2
MB
2393 (Ftranslate_region_internal): Handle M:N mapping.
2394
73acf815 23952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2396
2397 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
2398
73acf815 23992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2400
2401 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
2402 goto invalid_code.
2403 (decode_coding_iso_2022): Fix handling of invalid designation.
2404
2405 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
2406 after calling code_conversion_save.
2407
73acf815 24082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2409
2410 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
2411
2412 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
2413
2414 * fontset.c: Include "intervals.h".
2415 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
2416 (free_face_fontset, new_fontset_from_font_name): Fix
2417 Lisp_Object/int mixup.
aca7a3d2
MB
2418
2419 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
2420
2421 * coding.c: Add many prototypes for static functions.
2422 (get_translation_table): Allow max_lookup to be NULL.
4c4475a8
GM
2423 (decode_coding,Ffind_coding_systems_region_internal)
2424 (Funencodable_char_position, Fcheck_coding_systems_region): Call
2425 get_translation_table with max_lookup NULL.
aca7a3d2 2426
73acf815 24272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2428
2429 * coding.c (get_translation_table): Declare it as Lisp_Object.
2430 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
2431 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
2432 instead of CHAR_TABLE_REF.
aca7a3d2 2433
73acf815 24342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2435
1f45f627 2436 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
2437 annotation data format.
2438 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 2439 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 2440 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 2441 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
2442 (decode_coding_ccl, decode_coding_charset): Pay attention to
2443 coding->charbuf_used.
aca7a3d2
MB
2444 (get_translation): New function.
2445 (produce_chars): New arguments translation_table and last_block.
2446 Translate characters here. Return number of carryover chars.
1f45f627
GM
2447 Change caller.
2448 (produce_composition): New argument pos. Change caller.
2449 Adjust for the change of annotation data format.
aca7a3d2
MB
2450 (produce_charset, produce_annotation): Likewise.
2451 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
2452 (consume_chars): New arg translation_table. Change caller.
2453 (translate_chars): Delete.
2454 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 2455
73acf815 24562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2457
2458 * search.c (simple_search): Fix setting this_pos_byte in backward
2459 search.
2460
2461 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
2462 byte sequence.
2463 (detect_coding_ccl): Fix setting of the variable valids.
2464
73acf815 24652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2466
2467 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
2468
2469 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
2470
1f45f627 2471 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
2472 Ftranslate_region. Accept a char-table in TABLE.
2473 (syms_of_editfns): Defsubr Stranslate_region_internal.
2474
2475 * xfaces.c (set_lface_from_font_name): If a font is specified for
2476 a frame, generate a fontset from the font.
2477 (build_scalable_font_name): If the scalable font is requested for
2478 a specific size, don't change that size.
2479 (try_font_list): Try a scalable font also in the case that a
1f45f627 2480 pattern string is specified.
aca7a3d2 2481
73acf815 24822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2483
2484 * xfaces.c (Fface_font): New optional arg CHARACTER.
2485
73acf815 24862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2487
2488 * charset.h (CHARSET_OFFSET): New macro.
2489
73acf815 24902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2491
2492 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
2493
2494 * fontset.c (fontset_face): Handle the case that repertory is a
2495 char-table.
2496 (find_font_encoding): Return nil for unknown encoding.
2497 (Fset_fontset_font): Ignore a font of unknown encoding.
2498
73acf815 24992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2500
1f45f627 2501 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
2502
2503 * fontset.c (fontset_face): Handle fallback fonts correctly.
2504 (Ffontset_info): Return infomation about fallback fonts.
2505
73acf815 25062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2507
2508 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 2509 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
2510 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
2511 the case that it is nil.
2512 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 2513 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
2514
2515 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
2516 subset or superset.
2517
73acf815 25182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2519
2520 * emacs.c (main): Call init_charset after syms_of_XXX.
2521
1f45f627 2522 * charset.c (Vcharset_map_directory): Delete.
aca7a3d2
MB
2523 (Vcharset_map_path): New variable
2524 (load_charset_map_from_file): Use Vcharset_map_path instead.
2525 (init_charset): Initialize Vcharset_map_path.
2526 (syms_of_charset): Delete declaration of "charset-map-directory",
2527 add declaration of "charset-map-path".
2528
73acf815 25292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2530
4c4475a8
GM
2531 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
2532 ASCII only string.
aca7a3d2
MB
2533
2534 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
2535
2536 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
4c4475a8 2537 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte..
aca7a3d2 2538
73acf815 25392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2540
2541 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
2542
2543 * coding.c (QCmnemonic, QCdefalut_char)
2544 (QCdecode_translation_table, QCencode_translation_table)
2545 (QCpost_read_conversion, QCpre_write_conversion): New variables.
2546 (get_translation_table): Return a list of translation tables if
2547 necessary.
2548 (decode_coding): Call get_translation_table with ENCODEP 0.
2549 (char_encodable_p): If translation_table is non-nil, always call
2550 translate_char.
2551 (Fdefine_coding_system_internal): Accept list of translation
2552 tables as :encode-translation-table and :decode-translation-table.
2553 (Fcoding_system_put): New function.
2554 (syms_of_coding): Declare new symbols. Defsubr
2555 Scoding_system_put.
4c4475a8
GM
2556 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
2557 typically JISX0212.
aca7a3d2
MB
2558
2559 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
2560 when the charset is superset type.
2561
2562 * character.c (translate_char): Accept list of translation tables.
2563
73acf815 25642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2565
1f45f627 2566 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
2567 (CODING_ATTR_TRANS_TBL): New macro.
2568
2569 * coding.c (get_translation_table): New function.
2570 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
2571 (decode_coding, encode_coding): Utilize get_translation_table.
2572 (char_encodable_p, Funencodable_char_position): Translate char if
2573 necessary.
2574 (Ffind_coding_systems_region_internal)
2575 (Fcheck_coding_systems_region): Setup translation table for encode
2576 in a coding system attribute vector in advance.
aca7a3d2
MB
2577 (Fdefine_coding_system_internal): Allow a symbol as translation
2578 table. For shift-jis type coding system, allow 4th charset.
2579
73acf815 25802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2581
2582 * coding.c (decode_coding_sjis): Check the first byte rigidly.
2583
2584 * xdisp.c (get_next_display_element): Pass -1 as POS to
2585 FACE_FOR_CHAR if displaying a C-string.
2586
73acf815 25872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2588
2589 * composite.c (get_composition_id): Handle xoff and yoff in a
2590 composition rule.
2591
2592 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
2593 (struct composition): New member lbearing and rbearing.
2594
2595 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
2596 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 2597 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
2598
2599 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
2600 composition glyph.
2601
73acf815 26022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2603
2604 * print.c: Include charset.h.
2605 (Vprint_charset_text_property): New variable.
2606 (Qdefault): Extern it.
2607 (PRINT_STRING_NON_CHARSET_FOUND)
2608 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
2609 (print_check_string_result): New variable.
2610 (print_check_string_charset_prop): New function.
2611 (print_prune_charset_plist): New variable.
2612 (print_prune_string_charset): New function.
2613 (print_object): Call print_prune_string_charset if
2614 Vprint_charset_text_property is not t.
2615 (print_interval): Print nothing if itnerval->plist is nil.
2616 (syms_of_print): Declare Vprint_charset_text_property as a lisp
2617 variable. Init and staticpro print_prune_charset_plist.
2618
73acf815 26192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2620
2621 * fontset.c (new_fontset_from_font_name): Use the specified font
2622 for all characters in the new fontset.
2623
2624 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
2625 OBJECT args.
2626
2627 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
2628 OBJECT args for composition too.
2629
2630 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
2631 OBJECT args.
2632
73acf815 26332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2634
2635 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
2636
1f45f627 2637 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 2638 FONT_DEF format.
1f45f627 2639 (fontset_face): New arg id. Change caller.
aca7a3d2 2640 (face_for_char): New args pos and object.
1f45f627 2641 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF
aca7a3d2
MB
2642 format.n
2643 (fs_query_fontset): Check NAME by Fassoc too.
2644 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 2645 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 2646
1f45f627 2647 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 2648
4c4475a8
GM
2649 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
2650 (append_space, extend_face_to_end_of_line)
2651 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
2652 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
2653
2654 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
2655 POS and OBJECT args.
2656
2657 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
2658 POS and OBJECT args.
2659
73acf815 26602008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2661
2662 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
2663 of GlobalAlloc'ed memory.
2664
73acf815 26652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2666
2667 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
2668
2669 * charset.h (charset_table_used): Delete extern.
2670
2671 * charset.c (charset_table_used): Make it static.
2672 (map_charset_chars): Fix args to c_function with.
2673
2674 * chartab.c (map_sub_char_table_for_charset): Fix args to
2675 c_function with.
2676
2677 * coding.h (enum coding_result_code): Delete
2678 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
2679
2680 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 2681 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
2682 (Vlast_code_conversion_error): New variables.
2683 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
2684 (ONE_MORE_BYTE): Record error if any instead of signaling an
2685 error. If non-ASCII multibyte char is found, return the negative
2686 value of the code. All callers changed to check it.
2687 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
2688 (record_conversion_result): New function. Change all codes setting
2689 coding->result to call this function.
4c4475a8
GM
2690 (detect_coding_utf_8, decode_coding_utf_8)
2691 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
2692 Don't use the local variable incomplete.
aca7a3d2 2693 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
2694 (decode_coding): Fix of flushing out unprocessed data.
2695 (make_conversion_work_buffer): Fix making of a work buffer.
2696 (decode_coding_object): Return coding->dst_object;
2697
2698 * fontset.c (set_fontset_font): Fix args.
2699
2700 * lisp.h (CHARACTERBITS): Define as 22.
2701
2702 * process.c (send_process): Be sure to set coding->src_multibyte.
2703
2704 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
2705
73acf815 27062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2707
2708 * xdisp.c (handle_auto_composed_prop): Give limit to
2709 Fnext_single_char_property_change.
2710
73acf815 27112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2712
2713 * composite.c (syms_of_composite): Don't make the compostion hash
1f45f627 2714 table weak.
aca7a3d2
MB
2715
2716 * fontset.c (Fset_fontset_font): Fix docstring.
2717
2718 * lisp.h (detect_coding_system): Adjust prototype.
2719
2720 * fileio.c (kill_workbuf_unwind): Delete this function.
2721 (Finsert_file_contents): Adjust the call of detect_coding_system.
2722 Get conversion_buffer by code_conversion_save. Use the macor
2723 CODING_MAY_REQUIRE_DECODING. After decoding, update
2724 coding_system.
2725
2726 * coding.h (make_conversion_work_buffer): Delete extern.
2727 (code_conversion_save): Extern it.
2728
2729 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 2730 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
2731 (decode_coding_utf_8): Don't do eol converion.
2732 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 2733 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
2734 (decode_coding_emacs_mule, decode_coding_iso_2022)
2735 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
2736 Don't do eol converion.
aca7a3d2
MB
2737 (adjust_coding_eol_type): Return a new coding system.
2738 (detect_coding): Don't detect eol. Fix for utf-16 detection.
2739 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
2740 each change.
2741 (decode_coding): Pay attention to undo_list. Do eol convesion for
2742 all types of coding-systems (if necessary).
2743 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 2744 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
2745 Vcode_conversion_reused_work_buf.
2746 (Vcode_conversion_workbuf_name): New variable.
2747 (reused_workbuf_in_use): New variable.
2748 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 2749 (code_conversion_restore): Change argument to cons.
1f45f627
GM
2750 (code_conversion_save): Delete the argument BUFFER. Change callers.
2751 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
2752 Fix for utf-16 detection.
2753 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 2754 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
2755 reused_workbuf_in_use.
2756
73acf815 27572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2758
2759 * keymap.c (store_in_keymap): Pay attention to the case that idx
2760 is a cons specifying a character range.
2761
73acf815 27622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2763
2764 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
2765 HANDLED_RECOMPUTE_PROPS.
2766
2767 * coding.c (Fdefine_coding_system_internal): Fix checking of
2768 ascii compatibility.
2769
73acf815 27702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2771
1f45f627 2772 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
2773 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
2774
2775 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
2776 Resync charset_list to Vemacs_mule_charset_list.
2777
2778 * keymap.c (store_in_keymap): Pay attention to the case that idx
2779 is a cons specifying a character range.
2780
73acf815 27812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2782
2783 * composite.c (update_compositions): Bind inhibit-read-only, etc
2784 to t before calling remove-list-of-text-properties.
2785
2786 * print.c (print_object): Always print ASCII chars as is.
2787
73acf815 27882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2789
1f45f627 2790 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 2791
4c4475a8
GM
2792 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
2793 is a char table.
aca7a3d2 2794
73acf815 27952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2796
1f45f627 2797 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 2798
73acf815 27992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2800
2801 * xfaces.c (set_lface_from_font_name): Fix for the case that
2802 FONTNAME is not fontset name.
2803
73acf815 28042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2805
2806 * fns.c (base64_encode_1): Fix previous change.
2807
73acf815 28082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2809
2810 * fontset.c (set_fontset_font): New function.
2811 (Fset_fontset_font): If a font is specified for a charset, use
2812 map_charset_chars to store the font spec in a fontset.
2813
73acf815 28142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2815
2816 * fontset.c (fontset_face): Create a fallback fontset on demand
2817 (make_fontset): Don't create a fallback fontset here.
2818 (free_face_fontset): Free a fallback fontset (if any) too.
2819 (n_auto_fontsets): Delete this variable.
2820 (auto_fontset_alist): New variable.
2821 (new_fontset_from_font_name): Check auto_fontset_alist.
2822 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
2823 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
2824 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
2825 Defsubr Sfontset_list_all.
2826
73acf815 28272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2828
2829 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
2830
73acf815 28312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2832
2833 * fontset.c (Fnew_fontset): Check NAME more rigidly.
2834
73acf815 28352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2836
2837 * editfns.c (Fgoto_char): Fix docstring.
2838
73acf815 28392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2840
2841 * insdel.c (insert_from_gap): Adjust intervals correctly.
2842
73acf815 28432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2844
2845 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
2846 (pfnGetFontUnicodeRanges): New dynamically loaded function.
2847 (w32_initialize): Try to load it.
2848 (x_get_font_repertory): Use it if available.
2849 (w32_encode_char): Add shortcut for unicode output.
2850
2851 * w32fns.c (w32_load_system_font): Default charset to -1.
2852 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 2853 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
2854 or wildcard charsets.
2855 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
2856 (w32_codepage_for_font): Return CP_UNICODE for unicode.
2857 (w32_to_x_font): Match charset to real charset.
2858 (enum_font_cb2): Always list unicode versions.
2859
2860 * makefile.w32-in (temacs): Increase EMHEAP.
2861
73acf815 28622008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2863
2864 * w32term.c (w32_encode_char): New charset parameter.
2865 font_info.encoding becomes encoding_type.
1f45f627 2866 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
2867 (x_new_font): Return quickly if font already set.
2868 (x_new_fontset): fontsetname parameter is Lisp_Object.
1f45f627 2869 Use new fs_query_fontset. Try new_fontset_from_font_name. Use
aca7a3d2
MB
2870 fontset_name for return value.
2871
2872 * w32term.h: Declare x_get_font_repertory.
2873
2874 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 2875 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
2876 of encode_coding.
2877 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
2878 decode_coding.
2879
2880 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
2881 of x_new_fontset.
2882 (w32_load_system_font): Initialize charset as unicode.
2883 font_info.encoding becomes encoding_type.
1f45f627
GM
2884 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
2885 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
2886 (syms_of_w32fns): Set get_font_repertory_func.
2887
1f45f627 2888 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 2889 from term.c.
1f45f627 2890 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
2891 encode_coding_object in place of encode_coding.
2892
2893 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
2894 encoding becomes encoding_type.
2895
2896 * term.c (terminal_encode_buffer): Make externally visible.
2897
2898 * makefile.w32-in: Add character.h dependancies.
2899 (character.o, chartab.o): New targets.
2900
73acf815 29012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2902
2903 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 2904 CODING_ID_EOL_TYPE.
aca7a3d2 2905
73acf815 29062008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
2907
2908 * coding.c (produce_chars): Revert last change.
2909
73acf815 29102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2911
2912 * charset.h (charset_unicode): Extern it.
2913
2914 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 2915 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 2916 arg MULTIBYTE.
1f45f627 2917 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
2918 change of find_charsets_in_text.
2919 (Fsplit_char): Fix doc. Never return unknown.
2920
2921 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
2922
2923 * coding.c (Fdefine_coding_system_alias): Update
2924 Vcoding_system_list.
2925
2926 * fontset.c (load_font_get_repertory): Pay attention to the case
2927 that ENCODING of a font is specified by a char-table.
2928
2929 * xterm.c (x_get_font_repertory): Handle the case that the
2930 encoding of font is other than Unicode.
2931
73acf815 29322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2933
2934 * term.c (encode_terminal_code): Don't handle glyph-table. Check
2935 if a character is encodable by the terminal coding system. If
2936 not, produces proper number of `?'s. Update
2937 terminal_encode_buffer and terminal_encode_buf_size if necessary.
2938 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
2939
73acf815 29402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2941
2942 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
2943 variables.
1f45f627 2944 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
2945 characters at once. Store the result of encoding in
2946 terminal_encode_buffer.
4c4475a8
GM
2947 (write_glyphs, insert_glyphs): Adjust for the change of
2948 encode_terminal_code.
aca7a3d2
MB
2949 (term_init): Initialize terminal_encode_buffer and
2950 terminal_encode_buf_size.
2951
2952 * coding.c (consume_chars): If coding->src_object is nil, don't
2953 check annotation.
2954
73acf815 29552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2956
2957 * character.c (char_string): Use ASCII_CHAR_P instead of
2958 SINGLE_BYTE_CHAR_P.
2959
73acf815 29602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2961
2962 * xdisp.c (handle_auto_composed_prop): Check if the last
2963 characters of auto-composed region is newly composed with the
2964 following characters.
2965 (handle_composition_prop): Fix checking of point being inside
2966 composition.
2967
73acf815 29682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2969
2970 * fns.c (concat): Don't change multibyteness of the result by
2971 concatenating an 8-bit character.
2972
2973 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
2974 multibyteness of the result when newelt is an 8-bit character.
2975
73acf815 29762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
2977
2978 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
2979 EMACS_INT.
2980
2981 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
2982
2983 * xfaces.c (face_numeric_value): Declare dim size_t.
2984 (Finternal_lisp_face_equal_p): Remove unused f.
2985
2986 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
2987 (MATRIX_ROW): Remove unused vars.
2988 (draw_glyphs, x_insert_glyphs, fast_find_position)
2989 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
2990 byte/char counts.
2991
2992 * regex.c (regex_compile): Remove unused var.
2993
2994 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
2995
2996 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
2997 (Faccessible_keymaps, where_is_internal): Remove unused vars.
2998
2999 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
3000
3001 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
3002
3003 * fileio.c (Fwrite_region): Remove unused var.
3004
3005 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
3006 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
3007
3008 * composite.c (Fremove_list_of_text_properties): Declare.
3009
1f45f627
GM
3010 * coding.c (inhibit_pre_post_conversion): Remove (unused).
3011 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
3012 (coding_inherit_eol_type): Remove unused attrs.
3013 (detect_coding): Cast arg of detect_eol.
3014
3015 * charset.c (syms_of_charset): Remove unused var p.
3016 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
3017 byte/char counts.
3018
3019 * casetab.c (set_case_table): Remove unused var.
3020
3021 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 3022 unused vars.
aca7a3d2 3023
73acf815 30242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3025
3026 * xterm.c (x_bitmap_mask): Declare.
3027
73acf815 30282008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3029
3030 * xterm.c (x_term_init): Fix type error.
3031
3032 * lisp.h: Add Funibyte_char_to_multibyte.
3033
3034 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
3035 (Fset_coding_system_priority): Doc fix.
3036
aca7a3d2
MB
3037 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
3038
3039 * indent.c (check_composition): Make start and end EMACS_INT.
3040
3041 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
3042
3043 * xdisp.c (handle_composition_prop, check_point_in_composition):
3044 Make buffer positions EMACS_INT.
3045
3046 * composite.c (find_composition, run_composition_function)
3047 (update_compositions, Ffind_composition_internal): Make buffer
3048 positions EMACS_INT.
3049
3050 * composite.h (find_composition, update_compositions): Make
3051 position args EMACS_INT.
3052
1f45f627 3053 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
3054
3055 * intervals.c (get_property_and_range):
3056 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
3057
3058 * unexalpha.c: Don't include varargs.h.
3059
73acf815 30602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3061
3062 * coding.h (ENCODE_UTF_8): New.
3063
3064 * Makefile.in (gtkutil.o): Depend on coding.h.
3065
3066 * coding.c (Fset_coding_system_priority): Doc fix.
3067
73acf815 30682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3069
3070 * fileio.c (Finsert_file_contents): Call setup_coding_system in
3071 the case of auto saving.
3072
73acf815 30732008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 3074
4c4475a8
GM
3075 * chartab.c (map_char_table, map_char_table_for_charset): Protect
3076 `range' from GC.
aca7a3d2 3077
73acf815 30782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3079
3080 * coding.c (decode_coding_sjis): Check bytes more rigidly.
3081
73acf815 30822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3083
1f45f627 3084 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
3085 (Fwrite_region): Set Vlast_coding_system_used to the return value
3086 of choose_write_coding_system.
3087
73acf815 30882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3089
3090 * charset.c (Fset_charset_priority): Pay attention to duplicated
3091 arguments.
3092
3093 * coding.c (QCcategory): New variable.
3094 (syms_of_coding): Defsym it. Set all elements of
3095 Vcoding_category_table and their symbol values.
3096 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
3097 coding-category-XXX, and coding-category-list.
3098 (Fdefine_coding_system_internal): Add category in the plist.
3099
73acf815 31002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3101
3102 * callproc.c (Fcall_process): Handle carryover correctly.
3103
1f45f627 3104 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
3105 (raw_text_coding_system): Check NILP (coding_system).
3106 (coding_inherit_eol_type): Check NILP (coding_system) and
3107 NILP (parent).
3108 (consume_chars): Fix for the case of raw-text.
3109
3110 * process.c (read_process_output): Handle carryover correctly.
3111
73acf815 31122008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3113
3114 * regex.c (re_search_2): Fix last change.
3115
73acf815 31162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3117
3118 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
3119 target_multibyte. Even in a unibyte case, return a converted
3120 multibyte char.
3121 (GET_CHAR_AFTER): New macro.
3122 (PATFETCH): Translate via multibyte char.
3123 (HANDLE_UNIBYTE_RANGE): Delete this macro.
3124 (SETUP_MULTIBYTE_RANGE): New macro.
3125 (regex_compile): Setup compiled code so that its multibyteness
3126 matches that of a target. Fix the handling of "[X-YZ]" using
3127 SETUP_MULTIBYTE_RANGE.
3128 (analyse_first) <charset>: For filling fastmap for all multibyte
3129 characters, don't check by BASE_LEADING_CODE_P.
3130 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
3131 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 3132 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
3133 (TARGET_CHAR_AND_LENGTH): Delete this macro.
3134 (TRANSLATE_VIA_MULTIBYTE): New macro.
3135 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
3136 It is the same as RE_MULTIBYTE_P (bufp) now.
3137 <exactn>: Translate via multibyte.
3138 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
3139 translate it.
3140 <charset, charset_not>: Fetch a character by
3141 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
3142 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
3143 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
3144 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
3145 by GET_CHAR_AFTER.
3146 (bcmp_translate): Likewise.
3147
3148 * search.c (compile_pattern): Check the member target_multibyte,
3149 not the member multibyte of buf.
3150
3151 * lread.c (read1): While reading a string, set force_singlebyte
3152 and force_multibyte correctly.
3153
4c4475a8
GM
3154 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
3155 up of unibyte_to_multibyte_table.
aca7a3d2 3156
73acf815 31572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3158
3159 * coding.c (setup_coding_system): If coding has
3160 post-read-conversion or pre-write-conversion, set
3161 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
3162 respectively.
3163 (decode_coding_gap): Run post-read-conversion if any.
3164
3165 * fileio.c (Finsert_file_contents): Even if we read into a
3166 unibyte buffer, check if we must decode the result or not.
3167
73acf815 31682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3169
3170 * coding.c (make_conversion_work_buffer): Change the work buffer
3171 name to the same one as that of Emacs 21.
3172
73acf815 31732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3174
1f45f627 3175 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
3176 (code_conversion_restore): Don't extern it.
3177
3178 * coding.c (detected_mask): Delete unused variable.
3179 (decode_coding_iso_2022): Pay attention to the byte sequence of
3180 CTEXT extended segment, and retain those bytes as is.
3181 (decode_coding_ccl): Delete unused variable `valids'.
3182 (setup_coding_system): Delete unused variable `category'.
3183 (consume_chars): Delete unused variable `category'. Make it work
3184 for non-multibyte case.
1f45f627 3185 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
3186 (saved_coding): Delete unused variable.
3187 (code_conversion_restore): Don't check saved_coding->destination.
3188 (code_conversion_save): New function.
3189 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
3190 instead of record_unwind_protect.
1f45f627 3191 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 3192 (detect_coding_system): Delete unused variable `mask'.
1f45f627 3193 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
3194
3195 * fileio.c (kill_workbuf_unwind): New function.
3196 (Finsert_file_contents): On replacing, call
3197 make_conversion_work_buffer with correct args, and call
3198 record_unwind_protect with the first arg kill_workbuf_unwind.
3199
3200 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
3201
73acf815 32022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3203
1f45f627 3204 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
3205 (fontset_add): Fix for the case that TO is less than TO1.
3206 (Ffontset_info): Don't use fallback fontset on checking the
3207 default fontset.
3208 (dump_fontset): New function for debugging.
3209
3210 * coding.c (Fdefine_coding_system_internal): Fix for the case that
3211 coding_type is Qcharset.
3212
73acf815 32132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3214
3215 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
3216 (map_char_table): Don't inherit the value from the parent on
1f45f627 3217 initializing VAL. Adjust for the above change.
aca7a3d2 3218
73acf815 32192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3220
3221 * coding.c (Qsignature, Qendian): Delete these variables.
3222 (syms_of_coding): Don't initialize them.
3223 (CATEGORY_MASK_UTF_16_AUTO): New macro.
3224 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
3225 detect_info->found.
3226 (decode_coding_utf_16): Don't detect BOM here.
3227 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
3228 is NOT utf_16_without_bom.
3229 (setup_coding_system): For a coding system of type utf-16, check
3230 if the attribute :endian is Qbig or not (not nil or not), and set
3231 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
3232 (detect_coding): If coding type is utf-16 and BOM detection is
3233 required, detect it.
3234 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 3235 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 3236
73acf815 32372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3238
3239 * coding.c (coding_set_source): Fix for the case that the current
3240 buffer is different from coding->src_object.
3241 (decode_coding_object): Don't use the conversion work buffer if
3242 DST_OBJECT is a buffer.
3243
73acf815 32442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3245
3246 * lread.c (read_emacs_mule_char) [len==2]: Index
3247 emacs_mule_charset correctly.
3248
73acf815 32492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3250
3251 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
3252 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 3253 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
3254 treated specially.)
3255 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
3256 (detected_mask): Remove Big5 bits.
3257
73acf815 32582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3259
3260 The following changes are to make the font rescaling facility
3261 compatible with Emacs 21.
3262
1f45f627 3263 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
3264 Vface_resizing_fonts.
3265 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 3266 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
3267 (split_font_name): Set font->rescale_ratio.
3268 (better_font_p): Pay attention to font->rescale_ratio.
3269 (build_scalable_font_name): Likewise. Change RESX, and RESY
3270 fields.
1f45f627 3271 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 3272
73acf815 32732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3274
3275 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
3276 (Qutf_16_le): Remove these variables.
3277 (syms_of_coding): Don't DEFSYM them.
3278 (decode_coding_utf_16): Fix handling of BOM.
3279 (encode_coding_utf_16): Fix handling of BOM.
3280
73acf815 32812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3282
3283 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 3284 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 3285
73acf815 32862008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3287
3288 * coding.c (Fcheck_coding_systems_region): Fix type errors.
3289
73acf815 32902008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3291
3292 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
3293 and fix C types.
3294
73acf815 32952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3296
3297 * xdisp.c (SKIP_GLYPHS): New macro.
3298 (set_cursor_from_row): Pay attention to string display properties.
3299
3300 * category.c (copy_category_entry): Fix for the case that RANGE
3301 is an integer.
3302
3303 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
3304
1f45f627 3305 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 3306
73acf815 33072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3308
3309 * charset.c (Fcharset_id_internal): New function.
3310 (syms_of_charset): Defsubr it.
3311
3312 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
3313 with the last arg charset_list acquired from coding.
3314 (Fdefine_coding_system_internal): For ccl-based coding system, fix
3315 the attribute coding_attr_ccl_valids.
3316
3317 * coding.h (enum define_coding_ccl_arg_index): Set the first
3318 member coding_arg_ccl_decoder to coding_arg_max.
3319
1f45f627 3320 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
3321
3322 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
3323 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
3324 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
3325 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
3326 last arg Qnil.
aca7a3d2 3327
73acf815 33282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3329
3330 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
3331 call encode_char.
3332
1f45f627 3333 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 3334
73acf815 33352008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 3336
1f45f627 3337 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 3338
73acf815 33392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3340
3341 * dispextern.h (check_face_attributes, generate_ascii_font_name)
3342 (font_name_registry): Don't extern them.
1f45f627 3343 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
3344
3345 * fontset.h (Qfontset): Don't extern it.
3346 (new_fontset_from_font_name): Extern it.
3347
3348 * fontset.c: Give 8 extra slots to fontset objects.
3349 (Qfontset_info): New variable.
3350 (syms_of_fontset): Defsym it.
3351 (FONTSET_FALLBACK): New macro.
3352 (fontset_face): Try also the default fontset.
1f45f627
GM
3353 (make_fontset): Realize a fallback fontset from the default fontset.
3354 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
3355 using split_font_name_into_vector and build_font_name_from_vector.
3356 (Fset_fontset_font): Access the elements of font_spec by enum
3357 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
3358 name by using split_font_name_into_vector.
3359 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
3360 generate a proper font name from the fontset name. Update
3361 Vfontset_alias_alist.
3362 (n_auto_fontsets): New variable.
3363 (new_fontset_from_font_name): New function.
3364 (Ffont_info): Store the information about fonts generated from the
1f45f627 3365 default fontset in the first extra slot of the returned char-table.
aca7a3d2 3366
1f45f627
GM
3367 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
3368 (font_name_registry): Delete function.
aca7a3d2
MB
3369 (split_font_name_into_vector): New function.
3370 (build_font_name_from_vector): New function.
1f45f627 3371 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
3372 (choose_face_font): If we are choosing an ASCII font, and ATTRS
3373 specifies an explicit font name, return the name as is. Make a
3374 list of registy names.
3375
1f45f627 3376 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
3377 of x_new_fontset.
3378 (Fx_create_frame): Don't call x_new_fontset here. Just use
3379 x_list_fonts to check the existence of fonts.
3380
1f45f627 3381 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
3382
3383 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
3384 string. Use new_fontset_from_font_name to create a fontset from a
3385 font name.
3386
73acf815 33872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3388
3389 * Makefile.in: Fix some dependencies.
3390
3391 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
3392 set it to nil before returning.
3393
3394 * composite.c (update_compositions): Fix type error.
3395
3396 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
3397
73acf815 33982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3399
3400 * xterm.c (x_new_font): Optimize for the case that the font is
3401 already set for the frame.
3402
73acf815 34032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3404
3405 * chartab.c (char_table_ascii): Check if the char table contents
3406 is sub-char-table or not.
4c4475a8
GM
3407 (char_table_set, char_table_set_range): Fix argument to
3408 char_table_ascii.
aca7a3d2
MB
3409
3410 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
3411 (detect_coding_utf_8, detect_coding_utf_16)
3412 (detect_coding_emacs_mule, detect_coding_iso_2022)
3413 (detect_coding_sjis, detect_coding_big5)
3414 (detect_coding_ccl, detect_coding_charset): Change argument MASK
3415 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 3416 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
3417 (MAX_ANNOTATION_LENGTH): New macro.
3418 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
3419 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
3420 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 3421 (ADD_CHARSET_DATA): New macro.
1f45f627 3422 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
3423 (decode_coding_emacs_mule, decode_coding_iso_2022)
3424 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
3425 Produce charset annotation data in coding->charbuf.
3426 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
3427 to charset annotation data in coding->charbuf.
3428 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
3429 coding->common_flags if the coding system is iso-2022 based and
3430 uses designation.
1f45f627 3431 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
3432 (produce_charset): New function.
3433 (produce_annotation): Handle charset annotation.
3434 (handle_composition_annotation, handle_charset_annotation): New
3435 functions.
3436 (consume_chars): Handle charset annotation. Utilize the above two
3437 functions.
3438 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
3439 buffer, get the deleted text as a string and set
3440 coding->src_object to that string.
3441 (detect_coding, detect_coding_system): Use the new struct
3442 coding_detection_info.
3443
3444 * coding.h (struct coding_detection_info): New structure.
1f45f627 3445 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
3446 (CODING_ANNOTATE_CHARSET_MASK): New macro.
3447
73acf815 34482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3449
3450 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
3451
73acf815 34522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 3453
1f45f627 3454 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
3455 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
3456 to new local and nullify apropos_accumulate before returning.
3457 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
3458
73acf815 34592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3460
3461 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
3462 correctly.
3463
73acf815 34642008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3465
3466 * fns.c (Flanginfo): Call synchronize_system_time_locale.
3467
73acf815 34682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3469
3470 The following changes are to make character composition happen
3471 automatically on displaying.
3472
3473 * Makefile.in (lisp, shortlisp): Add composite.elc
3474
1f45f627
GM
3475 * composite.h (Qauto_composed, Vauto_composition_function)
3476 (Qauto_composition_function): Extern them.
aca7a3d2 3477
1f45f627
GM
3478 * composite.c (Vcomposition_function_table)
3479 (Qcomposition_function_table): Delete variables.
3480 (Qauto_composed, Vauto_composition_function)
3481 (Qauto_composition_function): New variables.
aca7a3d2
MB
3482 (run_composition_function): Don't call
3483 compose-chars-after-function.
3484 (update_compositions): Clear `auto-composed' text property.
3485 (compose_chars_in_text): Delete this function.
3486 (syms_of_composite): Staticpro Qauto_composed and
3487 Qauto_composition_function. Declare Vauto_composition_function as
3488 a Lisp variable.
3489
3490 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
3491
3492 * xdisp.c (it_props): Add an entry for Qauto_composed.
3493 (handle_auto_composed_prop): New function.
3494
3495 * xselect.c (selection_data_to_lisp_data): Don't call
3496 compose_chars_in_text.
3497
73acf815 34982008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3499
3500 * keyboard.c (read_char): Modify checking around use of
3501 Vkeyboard_translate_table.
3502
3503 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
3504 and fix C types.
3505
73acf815 35062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3507
4c4475a8
GM
3508 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
3509 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3510 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 3511 the case that the last byte is '\r' correctly.
1f45f627
GM
3512 (decode_coding): Flush out the unprocessed data correctly.
3513 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 3514
73acf815 35152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3516
3517 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
3518 XK_ISO... case.
3519 (xaw_scroll_callback): Revert last change.
3520
73acf815 35212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3522
1f45f627 3523 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 3524
73acf815 35252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3526
3527 * xfaces.c (Vface_resizing_fonts): New variable.
3528 (struct font_name): New member `resizing_ratio'.
3529 (font_resizing_ratio): New function.
3530 (split_font_name): Set font->resizing_ratio.
3531 (better_font_p): Pay attention to font->resizing_ratio.
3532 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
3533 RESX, and RESY fields.
3534 (try_alternative_families): Try scalable fonts if
3535 Vscalable_fonts_allowed is not Qt.
3536 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
3537
73acf815 35382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3539
3540 * xterm.c (xaw_scroll_callback): Cast correctly.
3541
73acf815 35422008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3543
3544 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
3545 (lispy_kana_keys): Comment out.
3546 (make_lispy_event) [XK_kana_A]: Comment out.
3547
3548 * xterm.c (xaw_scroll_callback): Cast call_data.
3549 (XTread_socket): Deal with ASCII keysyms.
3550 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
3551
73acf815 35522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3553
3554 * xterm.c (Vx_keysym_table): New.
3555 (syms_of_xterm): Initialize it.
3556 (XTread_socket): Use it.
3557 From head: Eliminate incorrect optimization that tried to avoid
3558 decoding the output of X*LookupString.
3559 (x_get_font_repertory): Delete charset declaration.
3560
73acf815 35612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3562
1f45f627
GM
3563 * coding.c (detect_coding_charset): If only ASCII bytes are found,
3564 return 0.
aca7a3d2
MB
3565 (Fdefine_coding_system_internal): Setup
3566 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
3567
73acf815 35682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3569
3570 * coding.c (Fcheck_coding_system): Doc fix.
3571
3572 * editfns.c (Finsert_byte): Return a proper value.
3573
73acf815 35742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3575
3576 * coding.c (decode_coding): Fix args to translate_chars. Pay
3577 attention to Vstandard_translation_table_for_decode.
3578 (encode_coding): Fix args to translate_chars. Pay attention to
3579 Vstandard_translation_table_for_encode.
3580
3581 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
3582 SINGLE_BYTE_CHAR_P.
3583
3584 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
3585 not by SINGLE_BYTE_CHAR_P.
3586
3587 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
3588 SINGLE_BYTE_CHAR_P.
3589
3590 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
3591 SINGLE_BYTE_CHAR_P.
3592
3593 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
3594 by SINGLE_BYTE_CHAR_P.
3595
3596 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
3597 SINGLE_BYTE_CHAR_P.
3598
73acf815 35992008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3600
3601 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
3602
73acf815 36032008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3604
3605 * fns.c (Flanginfo): Fix typo.
3606
3607 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
3608
73acf815 36092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3610
4c4475a8
GM
3611 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
3612 (detect_coding_emacs_mule, detect_coding_iso_2022)
3613 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
3614 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 3615 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 3616 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 3617 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 3618
73acf815 36192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3620
1f45f627
GM
3621 * character.c (char_string): Rename from
3622 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
3623 (string_char): Rename from string_char.
aca7a3d2 3624
4c4475a8
GM
3625 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
3626 if C is greater than MAX_3_BYTE_CHAR.
3627 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
3628 string_char instead of string_char_with_unification.
aca7a3d2 3629
73acf815 36302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3631
3632 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
3633
73acf815 36342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3635
1f45f627 3636 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
3637
3638 * regex.c (re_search_2): Fix for the case of unibyte buffer.
3639
73acf815 36402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3641
3642 * charset.c (define_charset_internal): Rename `supprementary'.
3643
3644 * Makefile.in (lisp, shortlisp): Remove latin-N.
3645
73acf815 36462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3647
3648 * xfns.c (x_window, x_window): Use use_xim.
3649
3650 * xterm.c (use_xim): Initialize.
3651 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
3652 (x_term_init): Maybe set use_xim.
3653
3654 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
3655
73acf815 36562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3657
3658 * search.c (search_buffer): Fix case-fold-search of multibyte
3659 characters.
3660 (boyer_moore): Rename the last argument to char_high_bits.
3661
73acf815 36622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3663
3664 * xdisp.c (display_string): Fix for the case of zero width glyph.
3665
3666 * xfns.c (x_set_font): Change the error message of the case that
3667 x_new_fontset returns Qt.
3668
3669 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
3670 (Finternal_set_lisp_face_attribute): Use signal_error for the
3671 error of invalid fontset.
3672
3673 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
3674 fontset, return Qt.
3675
73acf815 36762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 3677
aca7a3d2
MB
3678 * unexelf.c (unexec): Make .got handling not SGI-specific.
3679
3680 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
3681
3682 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
3683
3684 * keyboard.c (read_key_sequence): Fix type error.
3685
3686 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
3687 type error.
3688
3689 * fontset.c (fontset_add): Return Lisp_Object.
3690
73acf815 36912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3692
3693 * charset.h (charset_ordered_list_tick): Declare extern.
3694
73acf815 36952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3696
73acf815 3697 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
3698 for handling syntax, category, and case conversion for unibyte
3699 characters by converting them to multibyte on the fly. With these
3700 changes, we don't have to setup syntax and case tables for unibyte
3701 characters in each language environment.
3702
3703 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
3704 multibyte if necessary.
3705
3706 * bytecode.c (Fbyte_code): Likewise.
3707
3708 * character.h (LEADING_CODE_LATIN_1_MIN)
3709 (LEADING_CODE_LATIN_1_MAX): New macros.
3710 (unibyte_to_multibyte_table): Extern it.
3711 (unibyte_char_to_multibyte): New macro.
3712 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
3713 (CHAR_LEADING_CODE): New macro.
3714 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
3715
3716 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 3717 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
3718 (multibyte_char_to_unibyte): If C is an eight-bit character,
3719 convert it to the corresponding byte value.
3720
3721 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
3722 not 1, singals an error. Update the elements of
3723 unibyte_to_multibyte_table.
3724 (init_charset_once): Initialize unibyte_to_multibyte_table.
3725 (syms_of_charset): Define the charset `iso-8859-1'.
3726
aca7a3d2
MB
3727 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
3728 as is without converting it to unibyte. In a unibyte buffer,
3729 convert C to multibyte before checking the syntax.
3730
1f45f627 3731 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
3732
3733 * minibuf.c (Fminibuffer_complete_word): Use the macro
3734 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
3735
3736 * regex.h (struct re_pattern_buffer): New member target_multibyte.
3737
3738 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
3739 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
3740 that is zero, convert an eight-bit char to multibyte.
3741 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
3742 non-emacs case.
3743 (PATFETCH): Convert an eight-bit char to multibyte.
3744 (HANDLE_UNIBYTE_RANGE): New macro.
3745 (regex_compile): Setup the compiled pattern for multibyte chars
3746 even if the given regex string is unibyte. Use PATFETCH_RAW
3747 instead of PATFETCH in many places. To handle `charset'
3748 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
3749 only for ASCII chars.
1f45f627 3750 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
3751 is multibyte.
3752 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
3753 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 3754 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
3755 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
3756 multibyte always 1.
3757 (re_search_2): In emacs, set the locale variable multibyte to 1,
3758 otherwise to 0. New local variable target_multibyte. Check it
3759 to decide the multibyteness of STR1 and STR2. If
3760 target_multibyte is zero, convert unibyte chars to multibyte
3761 before translating and checking fastmap.
3762 (TARGET_CHAR_AND_LENGTH): New macro.
3763 (re_match_2_internal): In emacs, set the locale variable multibyte
3764 to 1, otherwise to 0. New local variable target_multibyte. Check
3765 it to decide the multibyteness of STR1 and STR2. Use
3766 TARGET_CHAR_AND_LENGTH to fetch a character from D.
3767 <charset, charset_not>: If multibyte is nonzero, check fastmap
3768 only for ASCII chars. Call bcmp_translate with
3769 target_multibyte, not with multibyte.
3770 <begline>: Declare the local variable C as `unsigned'.
3771 (bcmp_translate): Change the last arg name to target_multibyte.
3772
3773 * search.c (compile_pattern_1): Don't adjust the multibyteness of
3774 the regexp pattern and the matching target. Set cp->buf.multibyte
3775 to the multibyteness of the regexp pattern. Set
1f45f627 3776 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
3777 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
3778 FETCH_STRING_CHAR_ADVANCE.
3779 (Freplace_match): Convert unibyte chars to multibyte.
3780
4c4475a8
GM
3781 * syntax.c (char_quoted, back_comment, scan_words)
3782 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
3783 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 3784 unibyte chars to multibyte.
1f45f627
GM
3785 (skip_chars): Delete the arg syntaxp, and move the code for
3786 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
3787 Fix the case that the multibyteness of STRING and the current
3788 buffer doesn't match.
3789 (skip_syntaxes): New function.
3790 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
3791 SINGLE_BYTE_CHAR_P.
aca7a3d2 3792
73acf815 37932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3794
3795 * xfaces.c (QCfontset): New variable.
3796 (LFACE_FONTSET): New macro.
3797 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
3798 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
3799 (Finternal_set_lisp_face_attribute)
3800 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
3801 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
3802 check also LFACE_FONTSET_INDEX.
3803 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
3804 attrs[LFACE_FONT_INDEX].
3805 (syms_of_xfaces): Intern and staticpro QCfontset.
3806
3807 * dispextern.h (enum lface_attribute_index): New member
3808 LFACE_FONTSET_INDEX.
3809
3810 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
3811
73acf815 38122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3813
3814 * coding.c (coding_set_destination): Fix coding->destination for
3815 the case converting a region.
3816 (encode_coding_utf_8): Encode eight-bit chars as single byte.
3817 (encode_coding_object): Fix coding->dst_pos and
3818 coding->dst_pos_byte for the case converting a region.
3819
3820 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
3821
3822 * character.h (BYTE8_STRING): New macro.
3823
3824 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
3825
73acf815 38262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3827
3828 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
3829 characters by octal form.
3830
3831 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
3832
1f45f627 3833 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
3834 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
3835 _fetch_multibyte_char_len.
aca7a3d2
MB
3836 (FETCH_CHAR_AS_MULTIBYTE): New macro.
3837
1f45f627 3838 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 3839
1f45f627 3840 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 3841 the case conversion change the byte length.
1f45f627 3842 (casify_region): Likewise.
aca7a3d2 3843
1f45f627 3844 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 3845
1f45f627 3846 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
3847 (syms_of_character): Setup Vprintable_chars.
3848
3849 * editfns.c (Fchar_equal): Fix for the unibyte case.
3850 (Finsert_byte): New function.
3851 (syms_of_editfns): Defsubr it.
3852
3853 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
3854 of direct code 0x3ffff.
3855
3856 * search.c (Freplace_match): Fix for the unibyte case.
3857
73acf815 38582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3859
3860 * lread.c (safe_to_load_p): Fix the logic.
3861
3862 * syntax.c (scan_words): Don't treat characters belonging to
3863 different scripts as constituting a word.
3864
3865 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
3866
1f45f627 3867 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
3868
3869 * emacs.c (main): In the case of --unibyte, instead of aborting on
3870 finding non-empty buffer, make it unibyte.
3871
73acf815 38722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3873
3874 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
3875 to create a fontset.
3876
73acf815 38772008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3878
3879 * character.c (Funibyte_char_to_multibyte): Doc fix.
3880
3881 * xfns.c [HAVE_STDLIB_H]: Fix last change.
3882
73acf815 38832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3884
3885 * fontset.c (fontset_add): Make the type `int'.
3886 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
3887
4c4475a8
GM
3888 * character.c (unibyte_char_to_multibyte)
3889 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 3890 charset_unibyte, not charset_primary.
aca7a3d2 3891
1f45f627 3892 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 3893
1f45f627
GM
3894 * charset.c (charset_unibyte): Rename from charset_primary.
3895 (Funibyte_charset): Rename from Fprimary_charset.
3896 (Fset_unibyte_charset): Rename from Fset_primary_charset.
3897 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
3898
3899 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
3900 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
3901 it->multibyte_p is zero.
3902
3903 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 3904 Delete extern.
aca7a3d2 3905
73acf815 39062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3907
3908 * coding.c (Fdefine_coding_system_internal): Fix category setting
3909 for a coding system of type iso-2022.
3910
73acf815 39112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3912
1f45f627 3913 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 3914
73acf815 39152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3916
3917 * syntax.c (Vnext_word_boundary_function_table): New variable.
3918 (syms_of_syntax): Declare it as a Lisp variable.
3919 (scan_words): Call functions in Vnext_word_boundary_function_table
3920 if any.
3921
3922 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
3923
3924 * fontset.c (fs_load_font): If fontp->charset is not negative,
3925 return fontp without setting its members.
3926
73acf815 39272008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 3928
aca7a3d2
MB
3929 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
3930
3931 * m/sparc.h (HAVE_ALLOCA): Delete.
3932
3933 * s/irix6-5.h: Don't include strings.h.
3934 (bcopy, bzero, bcmp): Don't undef.
3935
3936 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
3937
3938 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
3939 (TIOCSIGSEND): Don't test IRIX6.
3940 (bcopy, bzero, bcmp): Define conditionally.
3941
73acf815 39422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3943
3944 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 3945 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
3946 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
3947
3948 * callproc.c (Fcall_process): Don't call insert_1_both directly if
3949 we are inserting a process output into a multibyte buffer.
3950
3951 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
3952 multibyte_char_to_unibyte.
3953
3954 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
3955 by the primary charset, make it eight-bit char.
3956 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
3957
1f45f627
GM
3958 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
3959 (charset_8_bit__control, charset_8_bit_graphic)
3960 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
3961 (define_charset_internal): New function.
3962 (syms_of_charset): Call define_charset_internal for pre-defined
3963 charsets.
3964
3965 * charset.h (charset_8_bit): Extern it.
3966
1f45f627 3967 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
3968 of Fset_buffer_multibyte.
3969 (encode_coding_raw_text): Increment p0 in the loop.
3970
1f45f627 3971 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 3972
1f45f627 3973 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
3974 for the change of Fset_buffer_multibyte.
3975
3976 * fns.c (Fstring_to_multibyte): New function.
3977 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
3978
73acf815 39792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3980
3981 * xfns.c (x_put_x_image): Declare args.
3982
1f45f627 3983 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
3984 (try_font_list): Declare an arg.
3985
3986 * xdisp.c (message2_nolog, set_message): Declare an arg.
3987
3988 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
3989
3990 * syntax.c (scan_sexps_forward): Declare an arg.
3991
3992 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
3993 Declare an arg.
3994
3995 * lisp.h (Fnew_fontset): Declare.
3996
3997 * keymap.c (push_key_description): Call CHARACTERP correctly.
3998
1f45f627 3999 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
4000 (face_for_char): Delete unused vars.
4001 (Fset_fontset_font): Doc fix. Delete unused vars.
4002
4003 * doc.c (Fsubstitute_command_keys): Delete unused vars.
4004
4005 * composite.c (update_compositions): Declare arg.
4006
4007 * cm.c (calccost, cmgoto): Declare args.
4008
4009 * charset.c: Remove `emacs' conditional. Doc fixes.
4010 (map_char_table_for_charset): Declare.
4011
1f45f627 4012 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 4013
1f45f627 4014 * ccl.c: Remove `emacs' conditional.
aca7a3d2 4015
73acf815 40162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4017
4018 The following changes are to allow specifying multiple font
4019 patterns for a character range (specified by script or charset).
4020
4021 * Makefile.in (abbrev.o): Depend on syntax.h.
4022 (xfaces.o): Depend on charset.h.
4023
4024 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
4025 SINGLE_BYTE_CHAR_P.
4026
4027 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
4028
4029 * character.h (Vchar_script_table): Extern it.
4030
1f45f627 4031 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
4032 (Vchar_script_table, Qchar_script_table): New variable.
4033 (syms_of_character): Declare Vchar_script_table as a lisp variable
4034 and initialize it.
4035
1f45f627 4036 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
4037 have property char-table-extra-slots, make no extra slot.
4038
1f45f627 4039 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
4040 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
4041 SINGLE_BYTE_CHAR_P.
1f45f627
GM
4042 (choose_face_font, lookup_non_ascii_face, font_name_registry):
4043 Add prototypes.
4044 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
4045 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
4046
4047 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 4048 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
4049 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
4050
4051 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 4052 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
4053 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
4054 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
4055 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
4056 (fontset_ref_and_range, fontset_add, reorder_font_vector)
4057 (load_font_get_repertory): New functions.
1f45f627 4058 (fontset_set): Delete.
aca7a3d2 4059 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 4060 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
4061 (free_face_fontset): Use ASET istead of AREF (X) = Y.
4062 (face_for_char): Don't call lookup_face.
4063 (make_fontset_for_ascii_face): New arg FACE.
4064 (fs_load_font): New arg CHARSET_ID. Don't check
4065 Vfont_encoding_alist here.
4066 (find_font_encoding): New function.
4067 (list_fontsets): Use STRINGP, not ! NILP.
4068 (accumulate_script_ranges): New function.
4069 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
4070 re-written to handle new fontset structure.
4071 (Ffontset_font): Return a copy of element.
4072 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
4073 docstring of font-encoding-alist.
4074
4075 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
4076 (Fset_fotset_font): Fix arguments to 5.
4077
1f45f627 4078 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
4079
4080 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
4081 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 4082 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
4083 lookup_named_face.
4084
4085 * xfaces.c: Include charset.h.
1f45f627
GM
4086 (load_face_font): Delete argument C. Change caller.
4087 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
4088 (font_name_registry): New function.
4089 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 4090 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
4091 Lookup only ascii faces.
4092 (lookup_non_ascii_face): New function.
1f45f627
GM
4093 (lookup_named_face): Delete argument C. Change caller.
4094 (lookup_derived_face): Delete argument C. Change caller.
4095 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 4096 a string, just call font_list with it.
1f45f627
GM
4097 (choose_face_font): Delete arguments FACE and C. New arg
4098 FONT_SPEC. Change caller.
4c4475a8
GM
4099 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
4100 Change caller.
aca7a3d2
MB
4101 (realize_non_ascii_face): New function.
4102 (realize_x_face): Call load_face_font here.
1f45f627 4103 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
4104 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
4105 get a face ID.
4106 (dump_realized_face): Don't print charset of FACE.
4107
4108 * xfns.c (x_set_font): Always call x_new_fontset and
4109 store_frame_parameter.
4110 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 4111 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
4112
4113 * xterm.h (x_get_font_repertory): Extern it.
4114
4115 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
4116 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
4117 it->multibyte_p is zero.
4118 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
4119 (x_new_fontset): If FONTSETNAME doesn't match any existing
4120 fontsets, create a new one.
4121 (x_get_font_repertory): New function.
4122
73acf815 41232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4124
4125 * coding.c (Ffind_coding_systems_region_internal): Detect an
4126 ASCII only string correctly.
4127
4128 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
4129 version is 0.
4130
73acf815 41312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4132
4133 * lread.c: Include "coding.h".
1f45f627
GM
4134 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
4135 (load_each_byte, unread_char): New variables.
4136 (readchar_backlog): Delete.
aca7a3d2
MB
4137 (readchar): Return a character unless load_each_byte is nonzero.
4138 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
4139 cons. If unread_char is not -1, simply return it.
4140 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
4141 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
4142 (read_multibyte): Delete.
aca7a3d2
MB
4143 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
4144 (read_emacs_mule_char): New functions.
4145 (Fload): Even if the file doesn't have the extention ".elc", if
4146 safe_to_load_p returns a positive version number, assume that the
4147 file contains bytecompiled code. If the version is less than 22,
4148 load the file while decoding multibyte sequences by emacs-mule.
4149 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
4150 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
4151 (Fread_from_string): Pay attention to the case that STREAM is a cons.
4152 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
4153 (read1): Set load_each_byte to 1 temporarily while handling
4154 #@NUMBER. Don't call read_multibyte.
4155 (read_vector): Call Fread with a cons. If readcharfun is
4156 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 4157 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
4158 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
4159 and Qload_force_doc_strings.
4160
73acf815 41612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4162
4163 * xdisp.c (face_before_or_after_it_pos): Call
4164 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
4165
73acf815 41662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4167
4168 * character.h (TRAILING_CODE_P): New macro.
1f45f627 4169 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
4170 (string_char_with_unification): Fix prototype.
4171 (Vscript_alist): Extern it.
4172
4173 * character.c (Vscript_alist): New variable.
4c4475a8
GM
4174 (string_char_with_unification, str_as_unibyte)
4175 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
4176 (syms_of_character): Declare script-alist as a Lisp variable.
4177
4178 * charset.h (Vcharset_ordered_list): Extern it.
4179 (charset_ordered_list_tick): Extern it.
4180 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
4181 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
4182 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
4183 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
1f45f627 4184 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
4185
4186 * charset.c (charset_ordered_list_tick): New variable.
4187 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
4188 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
4189 deunify intead of unify a charset.
4190 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
4191 (find_charsets_in_text): Add `const' to arguemnts and local variables.
4192 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
4193 detecting of invalid code.
4194 (Fset_charset_priority): Increment charset_ordered_list_tick.
4195 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
4196 and TO_CODE.
4197
4198 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
4199 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
4200 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
4201 (decode_coding_ccl, consume_chars)
4202 (Ffind_coding_systems_region_internal)
4203 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
4204
4205 * print.c (print_object): Use octal form for printing the
4206 contents of a bool vector.
4207
73acf815 42082008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4209
4210 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
4211 <version == 20>: Refuse to load.
4212
73acf815 42132008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4214
4215 * fns.c: Move coding.h.
4216 (Qcodeset, Qdays, Qmonths): New.
4217 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 4218 (Flocale_codeset): Delete.
aca7a3d2 4219 (Flanginfo): New function.
1f45f627 4220 (syms_of_fns): Change accordingly.
aca7a3d2
MB
4221
4222 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
4223
73acf815 42242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4225
4226 * casetab.c (init_casetab_once, init_casetab_once): Fix
4227 CHAR_TABLE_SET call.
4228
4229 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
4230
4231 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
4232
4233 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
4234 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
4235 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
4236
4237 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
4238
4239 * coding.c (ENCODE_DESIGNATION, decode_eol)
4240 (make_conversion_work_buffer, code_conversion_restore)
4241 (Fdefine_coding_system_internal): Convert Lisp types.
4242 (code_conversion_restore): Use EQ, not ==.
4243 (Fencode_coding_string): Fix code_convert_string call.
4244
4245 * coding.h (code_convert_region): Fix prototype.
4246
1f45f627 4247 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
4248
4249 * fontset.c (fontset_ref, fontset_set, fs_load_font)
4250 (Ffontset_info): Convert Lisp types.
4251
4252 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
4253
4254 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
4255
4256 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
4257
4258 * chartab.c: Include "...h", not <...h> in some cases.
4259
4260 * callproc.c (Fcall_process): Remove unused variables.
4261
73acf815 42622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4263
4264 * coding.c (Fset_coding_system_priority): Allow null arg list.
4265
73acf815 42662008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4267
4268 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
4269 (Fself_insert_and_exit): Use CHARACTERP.
4270
4271 * callproc.c (Fcall_process): Remove unused vars.
4272
4273 * xterm.c (XTread_socket): Add extra dead keysyms.
4274
4275 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
4276
4277 * dispextern.h: Remove prototypes for redraw_frame,
4278 redraw_garbaged_frames.
4279
4280 * cmds.c (Fself_insert_command): Use CHARACTERP.
4281
4282 * chartab.c (make_sub_char_table): Remove unused var.
4283 (Fset_char_table_default, Fmap_char_table): Doc fix.
4284
4285 * keymap.c (access_keymap): Remove generic char code.
4286 (push_key_description): Use CHARACTERP.
4287
73acf815 42882008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4289
4290 * charset.c: Doc fixes.
4291 (Funify_charset): Extra checking.
4292
73acf815 42932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4294
4295 * lread.c: Remove some unused variables.
4296 (safe_to_load_p): If safe, return the magic number version byte.
4297 (Fload): Maybe use load-with-code-conversion.
4298
73acf815 42992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4300
4301 * category.c (Fmodify_category_entry): Don't modify the contents
4302 of category_set for characters out of the range. Avoid
4303 unnecessary modification.
4304
1f45f627 4305 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
4306 Vchar_unify_table. The default value of the table is now nil.
4307
4308 * character.c (syms_of_character): Setup Vchar_width_table for
4309 eight-bit-control and raw-byte chars.
4310
4311 * charset.h (enum define_charset_arg_index): Delete
4312 charset_arg_parents and add charset_arg_subset and
4313 charset_arg_superset.
4314 (enum charset_attr_index): Delete charset_parents and add
4315 charset_subset and charset_superset.
4316 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
4317 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 4318 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
4319 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
4320 (CHARSET_SUPERSET): New macros.
4321 (charset_work): Extern it.
4322 (ENCODE_CHAR): Use charset_work.
1f45f627 4323 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
4324 (map_charset_chars): Extern it.
4325
4326 * charset.c (load_charset_map): Set the default value of encoder
4327 and deunifier char-tables to nil.
1f45f627 4328 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
4329 map_char_table_for_charset instead of map_char_table.
4330 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 4331 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
4332 `define-charset' (:parents -> :subset or :superset).
4333 (charset_work): New variable.
4c4475a8
GM
4334 (encode_char, syms_of_charset): Adjust for the change of
4335 Fdefine_charset_internal.
aca7a3d2
MB
4336 (Ffind_charset_string): Setup the vector `charsets' correctly.
4337
1f45f627 4338 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 4339 the previous change.
1f45f627 4340 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
4341 (map_sub_char_table_for_charset): New function.
4342 (map_char_table_for_charset): New function.
4343
4344 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 4345 (describe_char_table): Delete.
aca7a3d2 4346
1f45f627 4347 * lisp.h (map_charset_chars): Delete.
aca7a3d2 4348
73acf815 43492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4350
4351 * fns.c (count_combining): Comment out (unused).
4352 (Flocale_codeset): New.
4353 (syms_of_fns): Defsubr it.
4354
4355 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 4356 (size_t): Remove.
aca7a3d2 4357
73acf815 43582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4359
4360 * Makefile.in (chartab.o): Depend on charset.h
4361
73acf815 43622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4363
4364 * character.c (syms_of_character): Set the default value of
4365 Vprintable_chars to Qnil.
4366
73acf815 43672008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4368
4369 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
4370
73acf815 43712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4372
4373 * charset.c (load_charset_map): Handle the case that from < to
4374 correctly.
4375
4c4475a8
GM
4376 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
4377 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
4378 Pay attention to raw-8-bit chars.
aca7a3d2 4379
73acf815 43802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4381
4c4475a8
GM
4382 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
4383 It is not bytecompiled now.
aca7a3d2
MB
4384
4385 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
4386 (charset_jisx0208): New variables.
4387 (Fdefine_charset_internal): Setup them if appropriate.
4388 (init_charset_once): Initialize them to -1.
4389
1f45f627
GM
4390 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
4391 (charset_jisx0208): Extern them.
aca7a3d2
MB
4392
4393 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
4394 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
4395 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
4396 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
4397 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
4398 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
4399 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
4400 (encode_coding_iso_2022): Change the 1st arg to
4401 ENCODE_ISO_CHARACTER to a variable.
4402
73acf815 44032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4404
4405 * charset.h (enum define_charset_arg_index): New enums
4406 charset_arg_min_code and charset_arg_max_code.
4407 (struct charset): New member char_index_offset.
4408
4c4475a8
GM
4409 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
4410 Take charset->char_index_offset into account.
aca7a3d2
MB
4411 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
4412 args[charset_arg_max_code]. Setup charset.char_index_offset.
4413 (syms_of_charset): Fix args to Fdefine_charset_internal.
4414
73acf815 44152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4416
4417 * coding.c (decode_coding_utf_8): Reject overlong sequences.
4418
73acf815 44192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4420
4421 * coding.c: Doc fixes.
4422 (Fcoding_system_aliases): Fix return value.
4423 (Qmac): Remove (duplicated) definition.
4424
73acf815 44252008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4426
4427 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
4428 functions.
4429
4430 * character.c (Fstring): Doc fix.
4431
4432 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
4433
4434 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
4435 ids.
4436 (font-encoding-alist): Doc fix.
4437
73acf815 44382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4439
4440 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 4441 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
4442
4443 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
4444 for K&R.
4445
4446 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
4447
4448 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 4449 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 4450
1f45f627 4451 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
4452
4453 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
4454
73acf815 44552008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4456
4457 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
4458
1f45f627 4459 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 4460
73acf815 44612008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
4462
4463 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
4464
1f45f627 4465 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 4466
73acf815 44672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4468
4c4475a8 4469 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 4470 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 4471
73acf815 44722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4473
1f45f627 4474 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
4475 Fdefine_coding_system_internal.
4476 (Fdefine_coding_system_internal): For a coding system of
4477 `charset' type, store a list of charset IDs in
4478 `charset_attr_charset_valids' element of coding attributes.
4479
73acf815 44802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4481
4482 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
4483 (emacs_mule_char): New arg src. Delete arg `composition'. Change
4484 caller. Handle 2-byte and 3-byte charsets correctly.
4485 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
4486 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
4487 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
4488 (DECODE_EMACS_MULE_21_COMPOSITION): Call
4489 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
4490 sequence.
4491 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 4492 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
4493 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
4494 and alt&rule composition.
4495 (decode_coding_iso_2022): Handle composition correctly.
4496 (init_coding_once): Setup emacs_mule_bytes for private charsets.
4497
4498 * charset.c (Fdefine_charset_internal): Fix bug for the case of
4499 re-defining a charset. If the charset has :emacs-mule-id, setup
4500 emacs_mule_bytes.
1f45f627 4501 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 4502
73acf815 45032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4504
4c4475a8
GM
4505 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
4506 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
4507 encoding, produce a character specified by
4508 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 4509
73acf815 45102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4511
4512 * xterm.c (XSetIMValues): Declare.
4513
4514 * process.c: Conditionally include sys/wait.h, pty.h.
4515
1f45f627 4516 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 4517
1f45f627 4518 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
4519
4520 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
4521
4522 * fontset.c (Fclear_face_cache): Declare.
1f45f627 4523 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
4524 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
4525 variables.
4526
4527 * character.h (string_escape_byte8): Declare.
4528
4529 * charset.c (load_charset_map, load_charset_map_from_file): Remove
4530 unused vars.
4531 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
4532 (Fmap_charset_chars): Doc fix.
4533
1f45f627 4534 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
4535 (Fset_coding_system_priority, Fset_coding_system_priority)
4536 (Fdefine_coding_system_internal): Doc fix.
4537
73acf815 45382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4539
4540 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
4541
73acf815 45422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4543
4544 * character.c (string_escape_byte8): Make multibyte string with
4545 correct size.
4546
4547 * charset.c (Fmake_char): Delete unnecessary code.
4548
73acf815 45492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4550
4551 * xfns.c (x_encode_text): Allocate coding.destination here, and
4552 call encode_coding_object with dst_object Qnil.
4553
4554 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
4555 multibyte form correctly.
4556
4557 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
4558 against Vfont_encoding_alist.
4559
4560 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
4561 handling of charset list.
4562 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
4563 (decode_coding_object): Move point to coding->dst_pos before
4564 calling post-read-conversion function.
4565 (encode_coding_object): Give correct arguments to
4566 pre-write-conversion. Ignore the return value of
4567 pre-write-conversion function. Pay attention to the case that
4568 pre-write-conversion changes the current buffer. If dst_object is
4569 Qt, even if coding->src_bytes is zero, allocate at least one byte
4570 to coding->destination.
4571
4572 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
4573
4574 * charset.c (Fmake_char): Make it more backward compatible.
4575 (Fmap_charset_chars): Fix docstring.
4576
73acf815 45772008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4578
4579 * coding.c: Doc fixes.
4580 (Fdefine_coding_system_alias): Use names, not symbols, in
4581 coding-system-alist.
4582
73acf815 45832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4584
4585 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
4586 of calling free_realized_face.
4587
73acf815 45882008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 4589
1f45f627
GM
4590 * charset.c (read_hex): Don't treat SPC as a comment starter.
4591 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
4592 (Fdecode_char): Fix typo.
4593
73acf815 45942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4595
4596 * charset.h (struct charset): New member `code_space_mask'.
4597
1f45f627 4598 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
4599 (encode_coding_charset, Fdefine_coding_system_internal):
4600 Delete the local variable charset.
aca7a3d2
MB
4601 (Fdefine_coding_system_internal): Setup
4602 attrs[coding_attr_charset_valids] correctly.
4603
4604 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
4605 member to check if CODE is valid or not.
4606 (Fdefine_charset_internal): Initialize `code_space_mask' member.
4607 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
4608 is within the range of charset->min_code and carset->max_code.
4609
73acf815 46102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4611
4612 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
4613
4614 * dispextern.h (generate_ascii_font): Fix return type.
4615
4616 * xfaces.c (generate_ascii_font): Fix arg declaration.
4617
4618 * coding.c (coding_inherit_eol_type)
4619 (Fset_terminal_coding_system_internal)
4620 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
4621
73acf815 46222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4623
4624 * coding.c (decode_coding_charset, encode_coding_charset): Handle
4625 multiple charsets correctly.
4626
73acf815 46272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4628
4629 * search.c (boyer_moore): Fix handling of mulitbyte character
4630 translation.
4631
4632 * xdisp.c (display_mode_element): When the variable `elt' is
4633 changed, update `this' and `lisp_string'.
4634
73acf815 46352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4636
4637 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
4638
4639 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 4640 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
4641
4642 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
4643 (load_charset_map): Rename from parse_charset_map. New args
4644 entries and n_entries. Change caller.
4645 (load_charset_map_from_file): Rename from load_charset_map.
4646 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
4647 the tail.
4648 (load_charset_map_from_vector): New function.
4649 (Fdefine_charset_internal): Setup charset.compact_codes_p.
4650 (encode_char): If the charset is compact, change a character index
4651 to a code point.
4652
4653 * coding.c (coding_alloc_by_making_gap): Check the case that the
4654 source and destination are the same correctly.
4655 (decode_coding_raw_text): Set coding->consumed_char and
4656 coding->consumed to 0.
4657 (produce_chars): If coding->chars_at_source is nonzero, update
4658 coding->consumed_char and coding->consumed before calling
4659 alloc_destination.
4660 (Fdefine_coding_system_alias): Register ALIAS in
4661 Vcoding_system_alist.
4662 (syms_of_coding): Define `no-convesion' coding system at the tail.
4663
4664 * fileio.c (Finsert_file_contents): Set coding_system instead of
4665 val. If the current buffer is multibyte, always call
4666 decode_coding_gap.
4667
4668 * xfaces.c (try_font_list): Give higher priority to fontset's
4669 family than face's family.
4670
73acf815 46712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4672
4673 * callproc.c (Fcall_process): Be sure to give the current buffer
4674 to decode_coding_c_string.
4675
4676 * xfaces.c (try_font_list): Give a family specified in a fontset
4677 higher priority than a family specified in a face.
4678
73acf815 46792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4680
4681 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
4682 Fix arguments to insert_from_buffer.
4683
4684 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
4685
73acf815 46862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4687
4688 * coding.c (produce_chars): Set the variable `multibytep' correctly.
4689 (decode_coding_gap): Set coding->dst_multibyte correctly.
4690
73acf815 46912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4692
4693 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 4694 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
4695 (encode_coding_utf_16): Substitute coding->default_char for
4696 non-Unicode characters.
4697 (decode_coding): Don't call record_insert here.
4698 (setup_coding_system): Initialize `surrogate' of
4699 coding->spec.utf_16 to 0.
4700 (EMIT_ONE_BYTE): Fix for multibyte case.
4701
4702 * insdel.c (insert_from_gap): Call record_insert.
4703
73acf815 47042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4705
4706 * casefiddle.c (casify_region): Fix multibyte case.
4707
4708 * character.c (c_string_width): Add return type `int'.
1f45f627 4709 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
4710
4711 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 4712 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
4713 (CHAR_STRING_ADVANCE): Make it do-while statement.
4714
1f45f627 4715 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
4716 DEPTH == 3. Add workaround code for a GCC optimization bug.
4717
4718 * charset.c (parse_charset_map): Remove an unused variable.
4719
4720 * coding.c: Delete unused variables.
4721
4722 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
4723 earlier. If inserted is zero and the coding system doesn't
4724 require flushing, don't call decode_coding_gap.
4725
4726 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
4727
73acf815 47282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4729
4730 The following changes are for using Unicode as an internal
4731 character model, and use UTF-8 format for buffer/string
4732 representation.
4733
1f45f627 4734 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
4735 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
4736
4737 * Makefile.in (obj): Add character.o and chartab.o.
4738 (lisp, shortlisp): Remove utf-8.elc:
4739 (*.o): For many files, change dependency on charset.h to
4740 character.h, and add dependency on character.h.
4741 (character.o, chartab.o): New targets.
4742
1f45f627
GM
4743 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
4744 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
4745 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
4746 of "charset.h".
4747
4748 * dired.c, filelock.c: Include "character.h".
4749
4750 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 4751 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
4752 (syms_of_alloc): Remove defsubr for Smake_char_table.
4753
4754 * buffer.c: Include "character.h" instead of "charset.h", don't
4755 include "coding.h".
1f45f627 4756 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
4757
4758 * buffer.h: EXFUN Fbuffer_live_p.
4759
4760 * callproc.c: Include "character.h" instead of "charset.h".
4761 (Fcall_process): Big change for the new code-conversion APIs.
4762
4763 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 4764 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
4765 map_char_table spec.
4766 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
4767 accessing the char table structure.
4768
4769 * chartab.c: New file that implements char table.
4770
4771 * category.c: Include "character.h".
4772 (copy_category_entry): New function.
4773 (copy_category_table): Call map_char_table and copy_category_entry.
4774 (Fmake_category_table): Initialize all top-vel slots.
4775 (char_category_set): New function.
1f45f627 4776 (modify_lower_category_set): Delete.
aca7a3d2
MB
4777 (Fmodify_category_entry): Call char_table_ref_and_range.
4778
4779 * category.h (CATEGORY_SET): Just call char_category_set.
4780
4781 * ccl.c: Include "character.h".
4782 (Qccl, Qcclp): New variables.
4783 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
4784 it's less than 256.
1f45f627
GM
4785 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
4786 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 4787 and DST type.
1f45f627
GM
4788 (ccl_driver): Change types of argument, adjust code accordingly.
4789 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
4790 ccl_driver.
4791 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
4792
1f45f627
GM
4793 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
4794 New members src_multibyte, dst_multibyte, consumed, and produced.
4795 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 4796 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 4797 (ccl_driver): Update prototype.
aca7a3d2
MB
4798 (Qccl, Qcclp, Fccl_program_p): Extern them.
4799 (CHECK_CCL_PROGRAM): New macro.
4800
4801 * character.c, character.h, chartab.c: New files.
4802
1f45f627
GM
4803 * charset.c: Mostly re-written. Move character and multibyte sequence
4804 handling codes to character.c.
aca7a3d2 4805
1f45f627
GM
4806 * charset.h: Mostly re-written. Move character and multibyte sequence
4807 handling codes to character.h.
aca7a3d2
MB
4808
4809 * coding.c, coding.h: Mostly re-written.
4810
4811 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
4812 (CHAR_WIDTH): Move to character.h.
4813 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 4814
1f45f627
GM
4815 * composite.h (enum composition_method): Change order of enumeration
4816 symbols.
aca7a3d2
MB
4817
4818 * data.c: Include "character.h" instead of "charset.h".
4819 (Faref): Call CHAR_TABLE_REF for a char table.
4820 (Faset): Call CHAR_TABLE_SET for a char table.
4821
1f45f627
GM
4822 * dispextern.h (free_realized_face, check_face_attribytes)
4823 (generate_ascii_font): Extern them.
4824 (free_realized_multibyte_face): Delete extern.
aca7a3d2 4825
1f45f627 4826 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
4827 table structure.
4828
4829 * editfns.c: Include "character.h" instead of "charset.h".
4830 (Fchar_to_string): Always call CHAR_STRING.
4831
4832 * emacs.c (main): Call init_charset_once, init_charset,
4833 syms_of_chartab, and syms_of_character.
4834
4835 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 4836 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 4837 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 4838 (build_annotations_2): Delete.
aca7a3d2
MB
4839 (e_write): Big change for the new code-conversion API.
4840
4841 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 4842 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
4843 (Fcopy_sequence): Call copy_char_table for a char table.
4844 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
4845 (string_char_to_byte, string_byte_to_char): Adjust for the new
4846 multibyte form.
1f45f627
GM
4847 (internal_equal): Adjust for the change of char table structure.
4848 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
4849 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
4850 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
4851 (char_table_translate, optimize_sub_char_table)
4852 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 4853 chartab.c.
1f45f627
GM
4854 (char_table_ref_and_index): Delete.
4855 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 4856 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
4857 Vcoding_category_list. Adjust for the new code-conversion API.
4858 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
4859 chartab.c.
4860
4861 * fontset.c: Mostly re-written.
4862
1f45f627 4863 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 4864 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
4865 (fontset_font_pattern, fs_load_font): Update prototype.
4866 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
4867
4868 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 4869 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
4870
4871 * insdel.c: Include "character.h" instead of "charset.h".
4872 (copy_text): Don't refer to Vnonascii_translation_table.
4873 (insert_from_gap): New function.
4874
4875 * keyboard.c: Include "character.h" instead of "charset.h".
4876 (command_loop_1): Never call direct_output_forward_char before
4877 a non-ASCII character.
4878 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 4879 translate a character.
aca7a3d2
MB
4880
4881 * keymap.c: Include "character.h".
4882 (store_in_keymap): Handle the case that IDX is a cons.
4883 (Fdefine_key): Handle the case that KEY is a cons and the car part
4884 is also a cons (range).
1f45f627 4885 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
4886 (describe_vector): Call describe_char_table for a char table.
4887 (describe_char_table): New function.
4888
4889 * keymap.h (describe_char_table): Extern it.
4890
4891 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
4892 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
4893 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
4894 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
4895 Delete.
4896 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
4897 structure.
4898 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
4899 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
4900 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 4901 (chartab_size): Extern it.
1f45f627 4902 (struct Lisp_Char_Table): Re-design.
aca7a3d2 4903 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
4904 (HASH_KEY, HASH_VALUE): Move from fns.c.
4905 (CHARACTERBITS): Define as 22.
4906 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
4907 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
4908 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
4909 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
4910 (code_convert_string_norecord): Deleted extern.
4911 (init_character_once, syms_of_character, init_charset)
4912 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
4913
4914 * lread.c: Include "character.h".
4915 (read_multibyte): New arg NBYTES.
1f45f627
GM
4916 (read_escape): Change the meaning of returned *BYTEREP.
4917 (to_multibyte): Delete.
4918 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
4919
4920 * print.c: Include "character.h" instead of "charset.h".
4921 (print_string): Convert 8-bit raw bytes to octal form by
4922 string_escape_byte8.
1f45f627 4923 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
4924 raw bytes always in octal form. Handle sub char table correctly.
4925
4926 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
4927 (read_process_output, send_process): Adjust for the new
4928 code-conversion API.
aca7a3d2 4929
1f45f627 4930 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
4931
4932 * regex.c: Include "character.h" instead of "charset.h".
4933 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
4934 (regex_compile): Accept a range whose starting and ending
4935 character have different leading bytes.
1f45f627 4936 (analyse_first): Adjust for the above change.
aca7a3d2
MB
4937
4938 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
4939 (search_buffer, boyer_moore): Adjust for the new multibyte form.
4940 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
4941
4942 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 4943 (syntax_parent_lookup): Delete.
aca7a3d2 4944 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 4945 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
4946 (init_syntax_once): Call char_table_set_range instead of directly
4947 accessing the structure of a char table.
4948
4949 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 4950 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
4951 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
4952 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
4953
4954 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
4955 (encode_terminal_code, write_glyphs): Adjust for the new
4956 code-conversion API.
aca7a3d2
MB
4957 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
4958
1f45f627 4959 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
4960
4961 * xdisp.c: Include "character.h".
1f45f627
GM
4962 (get_next_display_element): Adjust for the new multibyte form.
4963 (disp_char_vector): Adjust for the new char table structure.
4964 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 4965 coding system.
1f45f627 4966 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
4967
4968 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 4969 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
4970 FS_LOAD_FONT.
4971 (generate_ascii_font): New function.
1f45f627
GM
4972 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
4973 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 4974 (free_realized_face): Make it public.
1f45f627 4975 (free_realized_faces_for_fontset): Rename from
aca7a3d2 4976 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 4977 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
4978 fontset_font_pattern and FS_LOAD_FONT.
4979
4980 * xfns.c: Include "character.h".
1f45f627 4981 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
4982
4983 * xselect.c: Don't include "charset.h".
1f45f627 4984 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
4985
4986 * xterm.c: Include "character.h".
1f45f627 4987 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
4988 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
4989 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
4990 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
4991 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
4992 (XTread_socket): Adjust for the new code-conversion API.
4993 (x_new_font): Adjust for the change of FS_LOAD_FONT.
4994 (x_load_font): Adjust for the change of struct font.
aca7a3d2 4995
d6abfc14
SM
49962008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
4997
4998 * xfaces.c (face_at_buffer_position): Remove unused vars.
4999
0acdaf8d
KH
50002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5001
4c4475a8
GM
5002 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
5003 Fix overflow checking.
0acdaf8d 5004
6c8a0ebf
GM
50052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5006
5007 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
5008 Cancel previous change.
5009
50102008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
5011
5012 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
5013 ccl->eight_bit_control. Fix check for buffer overflow.
5014 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
5015 (ccl_driver): Initialize extra_bytes to 0.
5016
a32aad64
KH
50172008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
5018
5019 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
5020 return it ORed with ctrl_modifier.
5021
8b329dba
MB
50222008-01-29 Miles Bader <miles@gnu.org>
5023
5024 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
5025
548667aa
JR
50262008-01-28 Jason Rumney <jasonr@gnu.org>
5027
5028 * w32.c (stat): Don't double check for networked drive.
5029
0975aa24
SM
50302008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
5031
ef264c42
SM
5032 * window.c (run_window_configuration_change_hook): New function.
5033 Code extracted from set_window_buffer. Set the selected frame.
5034 (set_window_buffer): Use it.
5035 * window.h (run_window_configuration_change_hook): Declare.
5036 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
5037
0975aa24
SM
5038 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
5039
9c28b587
DN
50402008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
5041
5042 * Makefile.in: Remove references to unused macros.
5043
c617afce
EZ
50442008-01-26 Eli Zaretskii <eliz@gnu.org>
5045
5046 * w32.c (g_b_init_get_sid_sub_authority)
5047 (g_b_init_get_sid_sub_authority_count): New static variables.
5048 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
5049 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
5050 (init_user_info): Use them to retrieve uid and gid.
5051 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
5052 (fstat): Use pw_uid and pw_gid from the_passwd structure for
5053 st_uid and st_gid of the file.
c617afce 5054
302d7d54
JR
50552008-01-26 Jason Rumney <jasonr@gnu.org>
5056
5057 * w32.c (logon_network_drive): New function.
5058 (stat): Use it.
5059
3ac7a21e
CY
50602008-01-26 Chong Yidong <cyd@stupidchicken.com>
5061
5062 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
5063 invisible text covered with an ellipsis.
5064
bbb9fc1f
RS
50652008-01-25 Richard Stallman <rms@gnu.org>
5066
5067 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
5068 jump back to beginning. Move some other initializations after that.
5069 (Qwindow_text_change_functions, Vwindow_text_change_functions):
5070 New variables.
5071 (syms_of_xdisp): Init them.
5072
5073 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
5074
0975aa24
SM
5075 * buffer.c (reset_buffer_local_variables):
5076 Implement `permanent-local-hook'.
bbb9fc1f 5077 (Qpermanent_local_hook): New variable.
0975aa24 5078 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 5079
79235cbe
MA
50802008-01-25 Michael Albinus <michael.albinus@gmx.de>
5081
5082 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
5083
ccd8f7fe
TTN
50842008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
5085
5086 * fns.c (Fclrhash): Return TABLE.
5087
dfbe40f2 50882008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
5089
5090 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
5091 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
5092 is set even without positional changes.
5093 (x_scroll_bar_clear): Set bar->redraw_needed_p.
5094
5095 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
5096
dfbe40f2 50972008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 5098
d6169680
JR
5099 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
5100
602e142f
JR
5101 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
5102 the unicode range available in MULE by locale-coding-system.
c041e2d1 5103 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
5104 earlier.
5105
dfbe40f2 51062008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
5107
5108 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
5109 [MAC_OSX] (init_mac_osx_environment): Initialize it.
5110 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5111 when used on child processes.
5112
8c7a4ac5
MA
51132008-01-21 Michael Albinus <michael.albinus@gmx.de>
5114
e0df1b73 5115 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 5116 Fdbus_method_return.
e0df1b73 5117 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 5118 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 5119 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 5120
8abe0f97
MR
51212008-01-20 Martin Rudalics <rudalics@gmx.at>
5122
5123 * undo.c (undo_inhibit_record_point): New variable.
5124 (syms_of_undo): Initialize it.
5125 (record_point): Don't record point when undo_inhibit_record_point
5126 is set.
5127
c3b232e4
SM
51282008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
5129
e69c4cae
SM
5130 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
5131
823e0ebb
SM
5132 * xdisp.c (Qauto_hscroll_mode): New var.
5133 (syms_of_xdisp): Initialize it.
5134 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
5135 window's buffer.
5136 (hscroll_windows): Don't check automatic_hscrolling_p here.
5137
c3b232e4
SM
5138 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
5139 vscroll if we're setting window-buffer to the value it already has.
5140
76ed5e01
DN
51412008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
5142
5143 * m/intel386.h: Remove references to XENIX.
5144
55e6d9b2
AS
51452008-01-17 Andreas Schwab <schwab@suse.de>
5146
5147 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
5148 instead of HAVE_X86_64_LIB64_DIR.
5149 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
5150
b16ed52d
GM
51512008-01-17 Glenn Morris <rgm@gnu.org>
5152
5153 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
5154 to HAVE_X86_64_LIB64_DIR.
5155
6bed5c4a
DN
51562008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
5157
5158 * s/irix3-3.h:
5159 * s/irix4-0.h:
5160 * s/386-ix.h:
5161 * s/domain.h:
5162 * s/hpux9-x11r4.h:
5163 * s/hpux9shxr4.h: Remove files for systems no longer supported.
5164
5165 * sysdep.c: Remove code containing references to symbols defined
5166 by unsupported systems.
5167
fdecf907
GM
51682008-01-16 Glenn Morris <rgm@gnu.org>
5169
5170 * coding.c (select-safe-coding-system-function): Doc fix.
5171
9292328f
GM
51722008-01-15 Glenn Morris <rgm@gnu.org>
5173
5174 * config.in: Revert 2008-01-13 change: this is a generated file.
5175
944df511
MO
51762008-01-13 Tom Tromey <tromey@redhat.com>
5177
5178 * lisp.h: Fix typo.
5179
8111ec05
DN
51802008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
5181
f40f5dc3
DN
5182 * m/sequent-ptx.h:
5183 * m/sequent.h:
5184 * s/ptx.h:
5185 * s/ptx4-2.h:
5186 * s/ptx4.h: Remove files for systems no longer supported.
5187
ce20b664 5188 * callproc.c (Fcall_process): Fix previous change.
8111ec05 5189
e39a993c
DN
51902008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
5191
052e457f 5192 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 5193
ce20b664
JB
5194 * src/m/mips.h:
5195 * src/m/intel386.h:
e39a993c
DN
5196 * callproc.c:
5197 * config.in:
5198 * ecrt0.c:
5199 * emacs.c:
5200 * fileio.c:
5201 * frame.c:
5202 * getpagesize.h:
5203 * keyboard.c:
5204 * lread.c:
5205 * process.c:
5206 * puresize.h:
5207 * sysdep.c:
5208 * systty.h:
5209 * syswait.h:
5210 * unexec.c:
5211 * xdisp.c:
5212 * alloc.c: Remove code containing references to symbols defined by
5213 unsupported systems.
5214
81cd7687
KH
52152008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
5216
5217 * coding.c (detect_coding_mask): Fix previous change.
5218
c0323133
GM
52192008-01-10 Chong Yidong <cyd@stupidchicken.com>
5220
5221 * process.c (wait_reading_process_output): Check for window
5222 changes caused by timers.
5223
218b3b76
KH
52242008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
5225
5226 * coding.c (detect_coding_iso2022): New arg
5227 latin_extra_code_state. Allow Latin extra codes only
5228 when *latin_extra_code_state is nonzero.
5229 (detect_coding_mask): If there is a NULL byte, detect the encoding
5230 as UTF-16 or binary. If Latin extra codes exist, detect the
5231 encoding as ISO-2022 only when there's no other proper encoding is
5232 found.
5233
59ce725a 52342008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 5235
59ce725a
MB
5236 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
5237 #ifdef MAC_OS.
048addec 5238
59ce725a 52392008-01-08 Richard Stallman <rms@gnu.org>
048addec 5240
59ce725a 5241 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 5242
8290574e
NR
52432008-01-06 Nick Roberts <nickrob@snap.net.nz>
5244
a0a3805c 5245 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
5246 menu bar in parentheses.
5247
f3041af1
DN
52482008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
5249
5250 * m/7300.h:
5251 * m/acorn.h:
5252 * m/alliant-2800.h:
5253 * m/alliant.h:
5254 * m/alliant1.h:
5255 * m/alliant4.h:
5256 * m/altos.h:
5257 * m/amdahl.h:
5258 * m/apollo.h:
5259 * m/att3b.h:
5260 * m/aviion-intel.h:
5261 * m/aviion.h:
5262 * m/celerity.h:
5263 * m/clipper.h:
5264 * m/cnvrgnt.h:
5265 * m/convex.h:
5266 * m/cydra5.h:
5267 * m/delta88k.h:
5268 * m/dpx2.h:
5269 * m/dual.h:
5270 * m/elxsi.h:
5271 * m/f301.h:
5272 * m/gould-np1.h:
5273 * m/gould.h:
5274 * m/i860.h:
5275 * m/ibmps2-aix.h:
5276 * m/ibmrt-aix.h:
5277 * m/ibmrt.h:
5278 * m/irist.h:
5279 * m/is386.h:
5280 * m/isi-ov.h:
5281 * m/mega68.h:
5282 * m/mg1.h:
5283 * m/news-r6.h:
5284 * m/news-risc.h:
5285 * m/news.h:
5286 * m/nh3000.h:
5287 * m/nh4000.h:
5288 * m/ns16000.h:
5289 * m/ns32000.h:
5290 * m/nu.h:
5291 * m/orion.h:
5292 * m/orion105.h:
5293 * m/paragon.h:
5294 * m/pfa50.h:
5295 * m/plexus.h:
5296 * m/pyramid.h:
5297 * m/pyrmips.h:
5298 * m/sh3el.h:
5299 * m/sps7.h:
5300 * m/sr2k.h:
5301 * m/stride.h:
5302 * m/sun1.h:
5303 * m/sun2.h:
5304 * m/sun3-68881.h:
5305 * m/sun3-fpa.h:
5306 * m/sun3-soft.h:
5307 * m/sun3.h:
5308 * m/sun386.h:
5309 * m/symmetry.h:
5310 * m/tad68k.h:
5311 * m/tahoe.h:
5312 * m/targon31.h:
5313 * m/tek4300.h:
5314 * m/tekxd88.h:
5315 * m/tower32.h:
5316 * m/tower32v3.h:
5317 * m/ustation.h:
5318 * m/wicat.h:
5319 * m/xps100.h:
5320 * s/cxux.h:
5321 * s/cxux7.h:
5322 * s/dgux.h:
5323 * s/dgux4.h:
5324 * s/dgux5-4-3.h:
5325 * s/dgux5-4r2.h:
5326 * s/esix.h:
5327 * s/esix5r4.h:
5328 * s/hiuxmpp.h:
5329 * s/hiuxwe2.h:
5330 * s/iris3-5.h:
5331 * s/iris3-6.h:
5332 * s/isc2-2.h:
5333 * s/isc3-0.h:
5334 * s/isc4-0.h:
5335 * s/isc4-1.h:
5336 * s/newsos5.h:
5337 * s/newsos6.h:
5338 * s/osf1.h:
5339 * s/osf5-0.h:
5340 * s/riscix1-1.h:
5341 * s/riscix12.h:
5342 * s/sco4.h:
5343 * s/sco5.h:
5344 * s/sunos4-0.h:
5345 * s/sunos4-1.h:
5346 * s/sunos413.h:
5347 * s/sunos4shr.h:
5348 * s/umax.h:
5349 * s/unipl5-2.h:
5350 * s/xenix.h:
5351 * cxux-crt0.s:
5352 * unexapollo.c:
5353 * unexconvex.c:
5354 * unexenix.c:
5355 * unexsni.c: Remove files for systems no longer supported.
5356
5357 * m/intel386.h: Remove references to unsupported systems.
5358
5359 * w32.c (get_emacs_configuration): Remove reference to i860.
5360
5361 * sysdep.c: Remove dead code.
5362
d35e1cd7
DN
53632008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
5364
5365 * s/rtu.h:
a0a3805c 5366 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 5367
abe136ee
MA
53682008-01-04 Michael Albinus <michael.albinus@gmx.de>
5369
5370 * dbusbind.c (Fdbus_method_return): New function.
5371 (xd_read_message): Add the serial number to the event.
5372 (Fdbus_register_method): Activate the function.
5373
87df3c32
SM
53742008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
5375
5376 * keyboard.c (read_key_sequence): Fix typo.
5377
5125905e
MA
53782008-01-03 Michael Albinus <michael.albinus@gmx.de>
5379
5380 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
5381 (xd_signature, xd_append_arg): Handle element type detection for
5382 empty arrays.
5383 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
5384 SDATA () calls; this must be solved more general.
5385 (Fdbus_register_signal): Use SBYTES instead of strlen.
5386
8bba1b5c
MH
53872008-01-03 Magnus Henoch <magnus@zemdatav>
5388
5389 * dbusbind.c (xd_append_arg): Use unsigned char instead of
5390 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 5391 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 5392
a0a3805c 53932007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
5394
5395 * dbusbind.c (xd_read_message): Use non-static input_event struct.
5396
a271e124
MH
53972007-12-31 Magnus Henoch <mange@freemail.hu>
5398
5399 * dbusbind.c (xd_signature): Signature of variant is just "v".
5400
17bc8f94
MA
54012007-12-30 Michael Albinus <michael.albinus@gmx.de>
5402
87df3c32
SM
5403 * dbusbind.c: Fix several errors and compiler warnings.
5404 Reported by Tom Tromey <tromey@redhat.com>
17bc8f94
MA
5405 (XD_ERROR, XD_DEBUG_MESSAGE)
5406 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
5407 (xd_append_arg): Part for basic D-Bus types rewitten.
5408 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
5409 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
5410 appropriate.
5411 (xd_read_message): Return Qnil. Don't signal an error; it is not
5412 useful during event reading.
5413 (Fdbus_register_signal): Signal an error if the check for
5414 FUNCTIONP fails.
5415 (Fdbus_register_method): New function. The implementation is not
5416 complete, the call of the function signals an error therefore.
5417 (Fdbus_unregister_object): New function, renamed from
5418 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 5419 the object is not well formed.
17bc8f94 5420
dd6f2802
RS
54212007-12-30 Richard Stallman <rms@gnu.org>
5422
5423 * textprop.c (get_char_property_and_overlay):
5424 Signal error if POSITION is out of range in a buffer.
5425
1da8a031
MR
54262007-12-29 Martin Rudalics <rudalics@gmx.at>
5427
5428 * w32fns.c (Fx_create_frame): Make copy of frame parameters
5429 because the original parameters are in pure storage now.
5430
5742be86
YM
54312007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5432
5433 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
5434
b014713c
EZ
54352007-12-22 Eli Zaretskii <eliz@gnu.org>
5436
b17f53ab
MB
5437 * callint.c (syms_of_callint) <command-history>: Add reference to
5438 history-length in the doc string.
048addec 5439
b17f53ab 54402007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 5441
b17f53ab
MB
5442 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
5443 before passing as wParam.
048addec 5444
9af5078b
MA
54452007-12-22 Michael Albinus <michael.albinus@gmx.de>
5446
5447 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
5448 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
5449 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
5450 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
5451 as number.
5452 (Fdbus_call_method): Fix docstring.
5453
87cf1a39
MA
54542007-12-21 Michael Albinus <michael.albinus@gmx.de>
5455
5456 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
5457 New macros.
87df3c32 5458 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
5459 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
5460 Simplify.
87cf1a39
MA
5461 (xd_signature): New function.
5462 (xd_append_arg): Compute also signatures. Major rewrite.
5463 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
5464 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
5465 Check for signatures of arguments.
87cf1a39 5466
54371585
MA
54672007-12-19 Michael Albinus <michael.albinus@gmx.de>
5468
5469 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
5470 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
5471 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
5472 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
5473 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 5474 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
5475 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
5476 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 5477 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
5478 (xd_append_arg): New function.
5479 (Fdbus_call_method, Fdbus_send_signal): Apply it.
5480
f5306ca3
MA
54812007-12-16 Michael Albinus <michael.albinus@gmx.de>
5482
5483 * dbusbind.c (top): Include <stdio.h>.
5484 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
5485 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
5486 (Fdbus_register_signal): Rename unique_name to uname.
5487 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
5488 non-existing unique name. Fix typos in matching rule. Return an
5489 object which is useful in Fdbus_unregister_signal.
5490 (Fdbus_unregister_signal): Reimplementation, in order to remove
5491 only the corresponding entry.
5492 (Vdbus_registered_functions_table): Change the order of entries.
5493 Apply these changes in xd_read_message and Fdbus_register_signal.
5494
77a28bbf
AS
54952007-12-16 Andreas Schwab <schwab@suse.de>
5496
5497 * fileio.c (Finsert_file_contents): Fix overflow check to not
5498 depend on undefined integer overflow.
5499
2e3566d8
JR
55002007-12-14 Jason Rumney <jasonr@gnu.org>
5501
5502 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
5503 for characters above 127.
5504
bf254037
JR
55052007-12-13 Jason Rumney <jasonr@gnu.org>
5506
5507 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
5508 before dereferencing array.
5509 (lookup_vk_code): Remove zero comparison.
5510
eb7c7bf5
MA
55112007-12-14 Michael Albinus <michael.albinus@gmx.de>
5512
5513 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
5514 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
5515 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
5516 (xd_read_message, Fdbus_register_signal): Split expressions into
5517 multiple lines before operators "&&" and "||", according to the
5518 GNU Coding Standards.
5519
34fb0fc9
EZ
55202007-12-14 Eli Zaretskii <eliz@gnu.org>
5521
5522 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
5523
c7d97628
JL
55242007-12-12 Juri Linkov <juri@jurta.org>
5525
5526 * buffer.c (Frename_buffer): In interactive spec replace
5527 `read-buffer' with `read-string' that uses `buffer-name-history'
5528 as history, and the current buffer's name as default.
5529
3709505e
SM
55302007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
5531
5532 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
5533 manipulating the backtrace manually.
5534 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
5535 (struct backtrace, backtrace_list): Remove.
5536 (command_loop_1): Remove dead var `no_direct'.
5537
5538 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
5539 preserve non-built-in buffer-local variables.
5540 (Fkill_all_local_variables): Don't re-create&re-set permanent
5541 buffer-local variables.
5542
e2bec886
JL
55432007-12-09 Juri Linkov <juri@jurta.org>
5544
5545 * buffer.c (Frename_buffer): Change interactive spec from "s" to
5546 Lisp code that uses `read-buffer' with current buffer as default.
5547
a31d47c7
MA
55482007-12-08 Michael Albinus <michael.albinus@gmx.de>
5549
5550 * dbusbind.c (xd_read_message): Generate an event for every
5551 registered handler. There might be several handlers registered
5552 for the same signal.
5553 (Fdbus_register_signal): Don't overwrite a registration for the
5554 same signal. Add a new registration if handlers are different.
5555 (Vdbus_registered_functions_table): Rework doc string.
5556
52da95fa
MA
55572007-12-07 Michael Albinus <michael.albinus@gmx.de>
5558
5559 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
5560 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
5561 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
5562 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
5563 Unify argument lists.
a0a3805c 5564 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
5565 arguments and hash table keys. Use unique name for service.
5566 (Fdbus_unregister_signal): Remove checks.
5567 (Vdbus_registered_functions_table): Fix doc string.
5568
e5e76c04 55692007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
5570
5571 * process.c (make_process): Initialize pty_flag to 0.
5572
e5e76c04 55732007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
5574
5575 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
5576 specified XBMs.
5577
e5e76c04 55782007-12-05 Richard Stallman <rms@gnu.org>
048addec 5579
e5e76c04 5580 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 5581
e5e76c04 55822007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 5583
e5e76c04
MB
5584 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
5585 New variable.
5586 (mac_try_close_socket) [MAC_OSX]: New function.
5587 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
5588 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 5589
e5e76c04
MB
5590 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
5591 Use mac_try_close_socket.
048addec 5592
e5e76c04 55932007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 5594
e5e76c04
MB
5595 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
5596 reloc_base.
5597 (copy_dysymtab): Compute relocation base here.
5598 (rebase_reloc_address) [__ppc64__]: New function.
5599 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
5600 changed.
048addec 5601
e5e76c04 56022007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 5603
e5e76c04 5604 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 5605
e5e76c04 56062007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 5607
e5e76c04
MB
5608 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
5609 __objc_* sections.
5610 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 5611
96faeb40
MA
56122007-12-05 Michael Albinus <michael.albinus@gmx.de>
5613
5614 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
5615 Move check for Vdbus_registered_functions_table to
5616 xd_read_queued_messages.
5617 (xd_read_queued_messages): Protect xd_read_message calls by
5618 internal_condition_case_1.
5619
39abdd4a
MA
56202007-12-04 Michael Albinus <michael.albinus@gmx.de>
5621
87df3c32 5622 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 5623 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 5624 (Vdbus_intern_symbols): Remove.
39abdd4a 5625 (Vdbus_registered_functions_table): New hash table.
87df3c32 5626 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 5627 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 5628 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
5629 Vdbus_registered_functions_table.
5630
7ba30657
JD
56312007-12-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5632
5633 * xterm.c: Update URL to Window Manager Specification in comment.
5634
033b73e2
MA
56352007-12-02 Michael Albinus <michael.albinus@gmx.de>
5636
5637 * config.in (HAVE_DBUS): Add.
5638
a0a3805c 5639 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
5640 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
5641 (obj): Add $(DBUS_OBJ).
5642 (LIBES): Add $(DBUS_LIBS).
5643 (dbusbind.o): New target.
5644
5645 * dbusbind.c: New file.
5646
5647 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
5648
5649 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 5650 (Qdbus_event): New Lisp symbol.
033b73e2 5651 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 5652 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
5653 (keys_of_keyboard ): Define dbus-event.
5654
5655 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
5656
39d0bf74
RS
56572007-12-01 Richard Stallman <rms@gnu.org>
5658
5659 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
5660
f3157c65
JR
56612007-11-30 Jason Rumney <jasonr@gnu.org>
5662
5663 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
5664 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
5665 (w32_face_attributes): Don't use color indexes that are out of range.
5666 Only reverse the default colors.
f3157c65
JR
5667
5668 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
5669 WINDOWSNT.
5670
5671 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
5672
b510360c
JR
56732007-11-29 Jason Rumney <jasonr@gnu.org>
5674
5675 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
5676 (w32_face_attributes): Use Vtty_defined_color_alist to determine
5677 if the terminal colors are initialized.
5678 (unspecified_fg, unspecified_bg): Remove unused declarations.
5679
4b7ab1c4
AS
56802007-11-29 Andreas Schwab <schwab@suse.de>
5681
5682 * keyboard.c (apply_modifiers): Fix typo.
5683
4bb6c266
RS
56842007-11-29 Richard Stallman <rms@gnu.org>
5685
5686 * keymap.c (Fcurrent_local_map): Doc fix.
5687
aa44cd84
GM
56882007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
5689
5690 * s/gnu-kfreebsd.h: New file.
5691
21ec2c43
SM
56922007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
5693
cc648cef
SM
5694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
5695 Don't cast redundantly.
5696
21ec2c43
SM
5697 * keyboard.c (KEY_TO_CHAR): New macro.
5698 (parse_modifiers, apply_modifiers): Accept integer arguments.
5699 (read_key_sequence): Use them to unify the "shift->unshift" mapping
5700 for chars and symbol keys.
5701 After doing such remapping, apply function-key-map again.
5702
73e72da4
DN
57032007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
5704
5705 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
5706 compiled anymore.
5707
254693ff
AS
57082007-11-26 Andreas Schwab <schwab@suse.de>
5709
5710 * process.c (list_processes_1): Fix indentation level of the
5711 command column.
5712
ff6e6ac8
AS
57132007-11-23 Andreas Schwab <schwab@suse.de>
5714
5715 * editfns.c (Fformat): Handle %c specially since it requires the
5716 argument to be of type int.
5717
f7cf8b20
SM
57182007-11-23 Markus Triska <markus.triska@gmx.at>
5719
5720 * emacs.c (main): Call init_editfns before init_process, since
5721 init_process sets Vprocess_connection_type depending on OS release
5722
569c11e3
SM
57232007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
5724
8787dd73
SM
5725 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
5726 (find_symbol_value): Use do_symval_forwarding.
5727
569c11e3
SM
5728 * data.c (set_internal): Set the value in the `cons-cell' (for
5729 Buffer_Local_values) not only for frame-local variables.
5730
6af1696d
AS
57312007-11-22 Andreas Schwab <schwab@suse.de>
5732
5733 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
5734 values to sprintf.
5735 * keymap.c (Fsingle_key_description): Likewise.
5736 * print.c (print_object): Likewise.
5737
d4ad8c04
JD
57382007-11-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5739
5740 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
5741 file for image is nil.
5742
7c401d15
DN
57432007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
5744
5745 * term.c: Include stdarg.h.
569c11e3 5746 (fatal): Implement using varargs.
a0a3805c 5747 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 5748
64e16c3c
SM
57492007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
5750
5751 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
5752 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
5753 Update call to buffer_slot_type_mismatch.
5754 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
5755 (buffer_slot_type_mismatch): Update.
5756 * buffer.c (buffer_local_types): Remove.
5757 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
5758 (defvar_per_buffer): Set the type in the buffer_objfwd.
5759
d4aa48db 57602007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 5761
64e16c3c
SM
5762 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
5763 CreateFileMapping returns NULL on failure.
5f42a7eb 5764
d4aa48db 57652007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 5766
d4aa48db
MB
5767 * search.c (Fset_match_data): Remove the `evaporate' feature.
5768 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 5769
bdae0540
JR
57702007-11-21 Jason Rumney <jasonr@gnu.org>
5771
5772 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
5773
5774 * w32console.c (w32con_write_glyphs): Remove unused variables.
5775
202c09a8
DN
57762007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
5777
b951420f
DN
5778 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
5779
202c09a8
DN
5780 * s/darwin.h (MULTI_KBOARD): Remove.
5781
5782 * macfns.c (x_create_tip_frame, Fx_create_frame)
5783 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
5784
bae72c12
SM
57852007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
5786
e7c10f83
SM
5787 * buffer.c (Fbuffer_local_value): Remove redundant test.
5788 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
5789 than in `current-buffer' to match the comment.
5790 Do the swap using swap_in_global_binding.
5791
136eb6ed
SM
5792 * data.c (store_symval_forwarding, set_internal):
5793 * eval.c (specbind): Remove dead code.
5794
bae72c12
SM
5795 * coding.c (detect_coding, Fupdate_coding_systems_internal):
5796 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
5797 Since we do not want to see internal Lisp_*fwd objects here.
5798
95fbaefc
JD
57992007-11-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5800
3d66b985
JD
5801 * sysdep.c (init_system_name): Use getaddrinfo if available.
5802
95fbaefc
JD
5803 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
5804 (x_scroll_bar_note_movement): start, end, with, height in struct
5805 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
5806
6c1d8cb6
DN
58072007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
5808
5809 * puresize.h (BASE_PURESIZE): Increase to 1190000.
5810
30f95089
SM
58112007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
5812
66b04bd4
SM
5813 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
5814 This undoes Richard's change of 14-Oct-2002.
5815
6d3f2bb2
SM
5816 * alloc.c (allocate_other_vector):
5817 * lisp.h (allocate_other_vector): Remove.
5818
b05b4e27
SM
5819 * window.c (struct save_window_data): Move non-lisp data to the end
5820 and make it `int' rather than Lisp_Object.
5821 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
5822 Done wrap/unwrap integer values.
5823 (Fset_window_configuration, compare_window_configurations):
5824 Update use of fields to their new types.
5825
056ce195
SM
5826 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
5827 Turn integer fields into `int'. Merge x_window_low and x_window_high.
5828 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
5829 (SET_SCROLL_BAR_X_WINDOW): Remove.
5830 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
5831 Access the new x_window field directly.
5832 * xterm.c (x_scroll_bar_create): Use a pseudovector.
5833 Don't wrap/unwrap integers into Lisp_Objects.
5834 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
5835 (x_scroll_bar_report_motion):
5836 Don't wrap/unwrap integers into Lisp_Objects.
5837 (x_term_init): Use SDATA.
5838 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
5839 (x_scroll_bar_set_handle, x_scroll_bar_remove)
5840 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
5841 (x_scroll_bar_report_motion, x_scroll_bar_clear):
5842 * xfns.c (x_set_background_color):
5843 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
5844 Access the new x_window field directly.
5845
30f95089
SM
5846 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
5847 (allocate_pseudovector): Make non-static.
6d3f2bb2 5848
30f95089
SM
5849 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
5850 (allocate_pseudovector): Declare.
5851 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c
5852
9b6112e8
AS
58532007-11-15 Andreas Schwab <schwab@suse.de>
5854
30f95089
SM
5855 * editfns.c (Fformat): Correctly format EMACS_INT values.
5856 Also take precision into account when formatting an integer.
0f860bd7 5857
9b6112e8
AS
5858 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
5859
262fcd41
SM
58602007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
5861
58da34c7
SM
5862 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
5863 (syms_of_keyboard): Defsubr it.
5864
262fcd41
SM
5865 * data.c (swap_in_global_binding): Fix longstanding bug where
5866 store_symval_forwarding was not called with the right second argument,
5867 thus causing objfwd-ing from being dropped.
5868
d29a9848
JB
58692007-11-14 Juanma Barranquero <lekktu@gmail.com>
5870
5871 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
5872 (Fx_display_pixel_height, Fx_display_planes)
5873 (Fx_display_color_cells, Fx_server_max_request_size)
5874 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
5875 (Fx_display_visual_class, Fx_display_save_under):
5876 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
5877 (Fx_display_pixel_height, Fx_display_planes)
5878 (Fx_display_color_cells, Fx_server_max_request_size)
5879 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
5880 (Fx_display_mm_height, Fx_display_mm_width)
5881 (Fx_display_backing_store, Fx_display_visual_class)
5882 (Fw32_select_font, Fx_display_save_under):
5883 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
5884 (Fx_display_pixel_height, Fx_display_planes)
5885 (Fx_display_color_cells, Fx_server_max_request_size)
5886 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
5887 (Fx_display_save_under): Fix typos in docstrings.
5888
74084731
JB
58892007-11-14 Juanma Barranquero <lekktu@gmail.com>
5890
5891 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
5892 corresponding to deleted entries; they are an implementation detail.
5893 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
5894 Remove variables.
5895 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
5896 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
5897 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
5898 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
5899 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 5900 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 5901 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
5902 Fix typos in docstrings.
5903 (Fx_server_version): Reflow docstring.
5904 (Fw32_shell_execute): Doc fixes.
74084731 5905
fb053a1f
JB
59062007-11-13 Juanma Barranquero <lekktu@gmail.com>
5907
5908 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
5909 if w32_parse_hot_key returned nil.
5910
a457417e 59112007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 5912
a457417e 5913 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 5914
4b219faa
JR
59152007-11-09 Jason Rumney <jasonr@gnu.org>
5916
5917 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
5918
5919 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
5920
5921 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
5922 Remove W32_SCROLL_BAR_CLICK_EVENT.
5923
5924 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
5925 Add MULTIMEDIA_KEY_EVENT.
5926
5927 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
5928 (lispy_multimedia_keys) [WINDOWSNT]: New array.
5929 (make_lispy_event) [WINDOWSNT]: Use it to translate
5930 MULTIMEDIA_KEY_EVENT.
5931
5932 * w32term.h (WM_APPCOMMAND): Define if not already.
5933 (GET_APPCOMMAND_LPARAM): Likewise.
5934
5935 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
5936 WM_APPCOMMAND.
5937
5938 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
5939 (syms_of_w32fns): Export and initialize it.
5940 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
5941
c12ecb0a 59422007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
5943
5944 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
5945 twice.
5946
5947 * xdisp.c (handle_face_prop): Fix last change.
5948
c12ecb0a 59492007-11-09 Richard Stallman <rms@gnu.org>
048addec 5950
c12ecb0a
MB
5951 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
5952 not just for after-strings and before-strings.
5953 Call face_for_overlay_string and pass the overlay to it.
5954 (handle_display_prop): Determine whether property came from an overlay.
5955 Pass OVERLAY arg to handle_single_display_spec.
5956 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
5957 (load_overlay_strings): Fill in it->string_overlays.
5958 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 5959
c12ecb0a
MB
5960 * xfaces.c (face_for_overlay_string): Function renamed from
5961 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 5962
c12ecb0a
MB
5963 * dispextern.h (struct it): New elt string_overlays.
5964 New elt from_overlay, also in stack.
5965 Rearrange a few elements.
5966 (face_for_overlay_string): Decl renamed from
5967 face_at_buffer_position_no_overlays, and add argument.
15fff01d 5968
c12ecb0a 59692007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 5970
c12ecb0a
MB
5971 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
5972 to get the base face for an overlay string.
0d8466cc 5973
c12ecb0a 5974 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 5975
c12ecb0a 5976 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 5977
c12ecb0a 5978 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 5979
c12ecb0a 59802007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 5981
c12ecb0a
MB
5982 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
5983 Fix conversion from Lisp object to ATSUFontID.
07025a55 5984
c12ecb0a 59852007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 5986
c12ecb0a 5987 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 5988
c12ecb0a 59892007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 5990
c12ecb0a
MB
5991 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
5992 Don't assume regions are aligned to page boundary.
5993 (print_load_command_name): Add LC_UUID if defined.
3a232704 5994
c12ecb0a 59952007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 5996
c12ecb0a 5997 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 5998
b8ddfbcc
JR
59992007-11-07 Jason Rumney <jasonr@gnu.org>
6000
6001 * s/windows95.h: Remove.
6002
e624c3f9
JD
60032007-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6004
6005 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
6006 abort with a message on unhandled store_type values.
6007
ac1278c1
JD
60082007-11-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6009
6010 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
6011 Remove HAVE_X11R5 and HAVE_X11R4.
6012
04a697fe
DN
60132007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
6014
6015 * Makefile.in: Remove references to sunfns.c and sunfns.o.
6016
56dad874
GM
60172007-11-01 Johan Bockg\e,Ae\e(Brd <bojohan@gnu.org>
6018
6019 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 6020 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
6021 x_set_glyph_string_gc from x_draw_glyph_string.
6022
07e5c0b0
DN
60232007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
6024
6025 * sunfns.c: Remove file
6026
6027 * m/sun386.h:
6028 * m/sun2.h:
6029 * m/sparc.h: Remove Sun windows code.
6030
1bc973c2
SM
60312007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
6032
6033 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
6034 (init_keyboard): Set current_kboard's window-system to nil.
6035 (tty_read_avail_input): Typo.
6036 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
6037
c22140f6
DN
60382007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
6039
6040 * s/usg5-4.h:
6041 * s/usg5-3.h:
6042 * s/ptx.h:
6043 * m/is386.h:
6044 * m/ibmps2-aix.h:
6045 * Makefile.in: Remove all mentions of X10
6046
6047 * dispnew.c (syms_of_display): Don't mention version 10.
6048
660a8219
JB
60492007-10-28 Juanma Barranquero <lekktu@gmail.com>
6050
6051 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
6052 ($(BLD)/abbrev.$(O)): Remove.
6053
e047f448
SM
60542007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
6055
6056 Rewrite abbrev.c in Elisp.
6057 * image.c (Qcount): Don't declare as extern.
6058 (syms_of_image): Initialize and staticpro `Qcount'.
6059 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
6060 * emacs.c (main): Don't call syms_of_abbrev.
6061 * Makefile.in (obj): Remove abbrev.o.
6062 (abbrev.o): Remove.
6063 * abbrev.c: Remove.
6064
67b73e3a
MR
60652007-10-26 Martin Rudalics <rudalics@gmx.at>
6066
6067 * window.c (window_min_size_2): Don't count header-line.
6068
e3d7bd83
DN
60692007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
6070
6071 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 6072 field to take advantage of the available space. Group all the
e3d7bd83
DN
6073 chars together to reduce wasted space due to padding.
6074
a3547743
JB
60752007-10-26 Juanma Barranquero <lekktu@gmail.com>
6076
e298936f
JB
6077 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
6078
d3d47262
JB
6079 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
6080 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
6081 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
6082 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
6083 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
6084 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
6085 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
6086 (last_marked, mark_object_loop_halt): Make static.
6087
a3547743
JB
6088 * frame.c (syms_of_frame) <delete-frame-functions>:
6089 Fix typo in docstring.
6090
14c71d8b
JB
60912007-10-25 Juanma Barranquero <lekktu@gmail.com>
6092
6093 * w32.c (init_environment): Fix tiny memory leak.
66199f74 6094 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 6095
70b8d0a4
SM
60962007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
6097
6098 Make `window-system' into a keyboard-local variable (rather than
6099 frame-local as done originally by multi-tty).
6100
6101 * keyboard.h (struct kboard): Add Vwindow_system.
6102 * keyboard.c (init_kboard): Set a default for Vwindow_system.
6103 (mark_kboards): Mark Vwindow_system.
6104
6105 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
6106 (init_display): Don't set the obsolete `window-system' frame-param.
6107
6108 * xterm.c (x_term_init):
6109 * w32term.c (w32_create_terminal):
6110 * term.c (init_tty): Set Vwindow_system.
6111 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
6112 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
6113
6114 * xfns.c (Fx_create_frame, x_create_tip_frame):
6115 * w32fns.c (Fx_create_frame, x_create_tip_frame):
6116 * macfns.c (Fx_create_frame):
6117 Don't set the obsolete `window-system' frame-param.
6118
6119 * frame.h (Qwindow_system): Remove.
6120 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
6121 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
6122
fdc90613 61232007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 6124
fdc90613
MB
6125 * frame.c (x_figure_window_size): For fullscreen case,
6126 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 6127
fdc90613 6128 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 6129
fdc90613 6130 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 6131
7357cb04
SM
61322007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
6133
98228e72
SM
6134 * process.c (unwind_request_sigio): Only define if __ultrix__.
6135
1baf6db9
SM
6136 * callproc.c (child_setup): Remove spurious *.
6137
4d0ac3d7
SM
6138 * lisp.h (Fget_text_property): Declare.
6139 (have_menus_p): Declare it here rather than in sys-dep header files.
6140 * macterm.h (have_menus_p):
6141 * msdos.h (have_menus_p):
6142 * xterm.h (have_menus_p): Remove.
6143
7357cb04
SM
6144 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6145 (Fmake_variable_frame_local): Just check the variable's const-ness
6146 rather than checking nil or t.
6147
866e6dd6
JR
61482007-10-22 Jason Rumney <jasonr@gnu.org>
6149
b00afeae
JR
6150 * w32fns.c: Include math.h.
6151 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 6152
c8f7c76b
JR
6153 * s/ms-w32.h (HAVE_STDLIB_H): Define.
6154 (abort): Redefinition moved to nt/config.nt.
6155
866e6dd6
JR
6156 * m/windowsnt.h: Remove.
6157
e79beb56
JB
61582007-10-22 Juanma Barranquero <lekktu@gmail.com>
6159
6160 * emacs.c (Fdump_emacs): Fix typo in message.
6161 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
6162 <installation-directory>: Reflow docstring.
6163
fb30dfd2
JL
61642007-10-22 Juri Linkov <juri@jurta.org>
6165
6166 * minibuf.c: Allow minibuffer default to be a list of default values.
6167 With empty input use the first element of this list as returned default.
e79beb56 6168 (string_to_object)
0f7f11b7 6169 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
6170 (read_minibuf): If defalt is cons, set histstring to its car.
6171 (Fread_string): If default_value is cons, set val to its car.
6172 (Fread_buffer): If def is cons, use its car.
6173 (Fcompleting_read): If defalt is cons, set val to its car.
6174
1f163f28
MA
61752007-10-21 Michael Albinus <michael.albinus@gmx.de>
6176
6177 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
6178
db3534c3
JB
61792007-10-20 Juanma Barranquero <lekktu@gmail.com>
6180
6181 * doc.c (Fdocumentation): Check for advice in all cases.
6182
c6f18a07
CY
61832007-10-19 Chong Yidong <cyd@stupidchicken.com>
6184
6185 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
6186
2a1534d3
RS
61872007-10-19 Richard Stallman <rms@gnu.org>
6188
6189 * doc.c (Fdocumentation): Check for and handle an advised function.
6190
7b82c3b6
JB
61912007-10-19 Juanma Barranquero <lekktu@gmail.com>
6192
6193 * process.c (Fset_process_filter): Doc fix.
6194
3278f20e
SM
61952007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
6196
6197 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
6198 which caused key-translation-map to applied repeatedly (thus breaking
6199 double-mode).
6200
99784d63
SM
62012007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
6202
6203 * xselect.c (x_own_selection, x_handle_selection_clear)
6204 (x_clear_frame_selections):
6205 * w32menu.c (list_of_panes, list_of_items):
6206 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
6207 * textprop.c (validate_plist, interval_has_all_properties)
6208 (interval_has_some_properties, interval_has_some_properties_list)
6209 (add_properties, text_property_list):
6210 * process.c (Fget_buffer_process, list_processes_1, status_notify):
6211 * minibuf.c (Fassoc_string):
6212 * macselect.c (x_own_selection, x_clear_frame_selections)
6213 (Fx_disown_selection_internal):
6214 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
6215 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
6216
44bb704d
CY
62172007-10-17 Chong Yidong <cyd@stupidchicken.com>
6218
6219 * process.c: Link to libs for calling res_init() if available.
6220 (Fmake_network_process): Call res_init() before getaddrinfo or
6221 gethostbyname, if possible.
6222
d314756e
SM
62232007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
6224
2504022a
SM
6225 * lread.c (read1): Set pvectype for char_tables.
6226
19fa82b9
SM
6227 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
6228 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
6229 Add type checks.
6230 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
6231
d314756e
SM
6232 * alloc.c (free_misc): Use XMISCTYPE.
6233 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
6234
94b9aaa2
GM
62352007-10-17 Glenn Morris <rgm@gnu.org>
6236
6237 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
6238 (syms_of_minibuf): Add Qcompletion_ignore_case.
6239 * dired.c (Qcompletion_ignore_case): Change to external.
6240 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
6241 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
6242 (Fread_file_name): Use it rather than intern'ing.
6243
6244 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
6245 (Fread_coding_system): Ignore case of user input.
6246
da6658e8
YM
62472007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6248
6249 * xdisp.c (handle_display_prop): Ignore display specs after
6250 replacing one when string text is being replaced.
6251 (handle_single_display_spec): Pretend as if characters with display
6252 property haven't been consumed only when buffer text is being replaced.
6253
11fb4bdb
SM
62542007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
6255
9beb8baa
SM
6256 * xfns.c (Fx_create_frame, Fx_display_list):
6257 * window.c (window_fixed_size_p, enlarge_window)
6258 (shrink_window_lowest_first):
6259 * macterm.c (init_font_name_table):
6260 * macfns.c (Fx_create_frame, Fx_display_list):
6261 * lread.c (close_load_descs):
6262 * keyboard.c (read_char_x_menu_prompt):
6263 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
6264 * coding.c (code_convert_region_unwind): Test the type of an object
6265 rather than just !NILP before extracting data from it.
6266
d3f41ff5
SM
6267 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
6268
67ee9f6e
SM
6269 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
6270 (XMISCANY): New macro.
6271 (XMISCTYPE): Use it.
6272 (struct Lisp_Misc_Any): New type.
6273 (union Lisp_Misc): Use it.
6274 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
6275 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
6276 (find_symbol_value, set_internal, default_value, Fset_default)
6277 (Fmake_variable_buffer_local, Fmake_local_variable)
6278 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
6279 (Flocal_variable_if_set_p, Fvariable_binding_locus):
6280 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
6281 * alloc.c (allocate_buffer): Set the size and tag.
6282 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
6283 Use XMISCANY.
6284 (die): Follow the GNU convention for error messages.
6285 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
6286 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
6287 tag any more.
6288 (set_buffer_internal_1):
6289 * frame.c (store_frame_param):
6290 * eval.c (specbind):
6291 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
6292
11fb4bdb
SM
6293 * doc.c (Fsnarf_documentation): Simplify.
6294
decb374a
JB
62952007-10-14 Juanma Barranquero <lekktu@gmail.com>
6296
6297 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
6298 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
6299
b5a40ee7
SM
63002007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
6301
6302 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
6303
35277b03
JB
63042007-10-14 Juanma Barranquero <lekktu@gmail.com>
6305
6306 * eval.c (do_autoload): Don't save autoloads.
6307
6308 * data.c (Ffset): Save autoload of the function being set.
6309
35fdaa62
GM
63102007-10-07 John Paul Wallington <jpw@pobox.com>
6311
6312 * xfns.c (x_create_tip_frame): Set the `display-type' frame
6313 parameter before setting up faces.
6314
1ea40aa2
EZ
63152007-10-13 Eli Zaretskii <eliz@gnu.org>
6316
35fdaa62 6317 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
6318 * keyboard.c (append_tool_bar_item): Reformat last change.
6319
1ea40aa2
EZ
6320 * lisp.h (eabs): Rename from `abs'. All callers changed.
6321
35277b03 63222007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
6323
6324 * buffer.c (add_overlay_mod_hooklist):
6325 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
6326 * fontset.c (make_fontset):
6327 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
6328 (append_tool_bar_item):
6329 * macmenu.c (grow_menu_items):
35fdaa62 6330 * w32menu.c (grow_menu_items):
71d00ce4 6331 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 6332
bc82f120
EZ
63332007-10-13 Eli Zaretskii <eliz@gnu.org>
6334
6335 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
6336 selected frame'' on MSDOS).
6337
d57d5a78
MR
63382007-10-12 Martin Rudalics <rudalics@gmx.at>
6339
6340 * frame.c (Qexplicit_name): New variable.
6341 (x_report_frame_params): Report it in parameter alist.
6342 (syms_of_frame): Intern and staticpro it.
6343
35277b03 63442007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
6345
6346 * macfns.c (x_create_tip_frame): Set terminal for frame.
6347
c7a4b95b
SM
63482007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
6349
26f9c7b7
SM
6350 * frame.c (Qenvironment): Remove.
6351 (syms_of_frame) <Qenvironment>: Don't initialize.
6352 (Fdelete_frame): Don't treat the `environment' param specially.
6353 * frame.h (Qenvironment): Don't declare.
6354 * callproc.c (set_initial_environment): Don't set unused frame param.
6355
c7a4b95b
SM
6356 * frame.c (Fframe_with_environment): Remove.
6357 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 6358
c7a4b95b
SM
6359 * lisp.h (Fframe_with_environment): Don't declare.
6360
c86f7377
JB
63612007-10-10 Juanma Barranquero <lekktu@gmail.com>
6362
6363 * indent.c (indent_tabs_mode, last_known_column)
6364 (last_known_column_modified): Make static.
6365 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
6366
d1b3a122
KY
63672007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
6368
6369 * puresize.h (BASE_PURESIZE): Increase to 1170000.
6370
d57d5a78
MR
63712007-10-09 Jason Rumney <jasonr@gnu.org>
6372
6373 * w32term.c (x_set_window_size): Disable code that attempts to tell
6374 Lisp code about a size change before it actually happens.
6375
81d3d428 63762007-10-09 Richard Stallman <rms@gnu.org>
91175673 6377
81d3d428
MB
6378 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
6379 return HANDLED_RETURN.
91175673 6380
1af74d06 63812007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 6382
1af74d06
MB
6383 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
6384 when there's an unread command event.
e0fead5d 6385
c7a4b95b 6386 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
6387 window autoselection act appropriately when leaving selected frame.
6388 (syms_of_frame): Initialize focus_follows_mouse.
6389 * frame.h (focus_follows_mouse): Extern it.
6390 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 6391 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
6392 * msdos.c (dos_rawgetc): Likewise.
6393 * w32term.c (w32_read_socket): Likewise.
6394 * xterm.c (handle_one_xevent): Likewise.
6395 * xdisp.c (syms_of_xdisp): In doc-string of
6396 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 6397
1af74d06 63982007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 6399
1af74d06
MB
6400 * macterm.c (mac_load_query_font): Fix missing return value.
6401 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
6402 Add BLOCK_INPUT.
c186cdb3 6403
1af74d06 64042007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 6405
1af74d06
MB
6406 * xdisp.c (get_window_cursor_type): Implement documented behavior
6407 for cursor-in-non-selected-windows = t.
c186cdb3 6408
1af74d06 64092007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 6410
1af74d06 6411 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 6412
1af74d06 64132007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 6414
1af74d06 6415 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 6416
1af74d06 6417 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 6418
1af74d06 64192007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 6420
c7a4b95b 6421 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 6422
1af74d06 64232007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 6424
1af74d06 6425 * buffer.c (Foverlays_at): Doc fix.
036e218d 6426
1af74d06 64272007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 6428
1af74d06 6429 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 6430
1af74d06 64312007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 6432
1af74d06 6433 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 6434
1af74d06 6435 * frame.h (enum): Remove trailing comma.
90647b07 6436
1af74d06 64372007-10-08 Dhuvra Krishnamurthy <dhuvrakm@gmail.com> (tiny change)
90647b07 6438
1af74d06 6439 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 6440
1af74d06 64412007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 6442
1af74d06 6443 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 6444
1af74d06
MB
6445 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
6446 last-repeatable-command.
6447 (init_kboard): Initialize Vlast_repeatable_command.
6448 (command_loop_1): Set it to real_this_command unless that was
6449 bound to an input event.
6450 (mark_kboards): Mark it.
9fbc32aa 6451
1af74d06 64522007-10-08 Richard Stallman <rms@gnu.org>
036e218d 6453
1af74d06 6454 * eval.c (condition-case): Doc fix.
9fbc32aa 6455
1af74d06 64562007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 6457
1af74d06
MB
6458 * xfaces.c (tty_supports_face_attributes_p): Fix code
6459 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
6460 was copied and not edited.
9fbc32aa 6461
beb9f745
SM
64622007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
6463
c86f7377 6464 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
6465 escape sequences.
6466 * keyboard.h (struct kboard): Add Vinput_decode_map.
6467 Remove Vlocal_key_translation_map.
6468 * keyboard.c (read_key_sequence): Add support for input-decode-map.
6469 (init_kboard): Init input-decode-map.
6470 Replace local-key-translation-map back with key-translation-map.
6471 (syms_of_keyboard): Declare input-decode-map.
6472 Remove local-key-translation-map. Update docstrings.
6473 (mark_kboards): Mark Vinput_decode_map.
6474 Don't mark Vlocal_key_translation_map.
6475 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
6476 Replace local-key-translation-map back with key-translation-map.
6477 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
6478 Bind in input-decode-map rather than function-key-map.
6479
beb9f745
SM
6480 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
6481 This was made redundant by the previous introduction of XSETPVECTYPE.
6482
65342ae3
RS
64832007-10-09 Richard Stallman <rms@gnu.org>
6484
beb9f745 6485 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
6486
64872007-09-29 Richard Stallman <rms@gnu.org>
6488
6489 * eval.c (internal_condition_case_2, internal_condition_case_1)
6490 (internal_condition_case): Reenable abort if x_catching_errors ()
6491 to see if that really happens and why.
6492
6cff77fd
AS
64932007-10-06 Andreas Schwab <schwab@suse.de>
6494
6495 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
6496
bbe6f2aa
JB
64972007-10-04 Juanma Barranquero <lekktu@gmail.com>
6498
6499 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
6500
a390930c
SM
65012007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
6502
6503 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
6504
d6aa1876
SM
65052007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
6506
d0fdb6da
SM
6507 * window.h (struct window):
6508 * window.c (struct save_window_data, struct saved_window):
6509 * termhooks.h (struct terminal):
6510 * process.h (struct Lisp_Process):
6511 * frame.h (struct frame):
6512 * buffer.h (struct buffer):
6513 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
6514 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
6515 The size field of (pseudo)vectors is now unsigned.
6516 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
6517
878f97ff
SM
6518 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
6519 Turn `count' into an integer.
d0fdb6da 6520
878f97ff
SM
6521 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
6522 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
6523 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
6524 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
6525 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
6526
d2029e5b
SM
6527 * alloc.c (allocate_pseudovector): New fun.
6528 (ALLOCATE_PSEUDOVECTOR): New macro.
6529 (allocate_window, allocate_terminal, allocate_frame)
6530 (allocate_process): Use it.
6531 (mark_vectorlike): New function.
6532 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
6533 (mark_terminals): Use it.
6534 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
6535 (Fmake_byte_code): Use XSETPVECTYPE.
6536
6537 * frame.c (Fframe_parameters): Minor simplification.
6538
6539 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
6540
6541 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
6542
6543 * buffer.c (Fget_buffer_create, init_buffer_once):
6544 * lread.c (defsubr):
6545 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
6546
6547 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
6548 defined differently in the m/*.h files.
6549 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
6550 (XSETPVECTYPE): New macro.
6551 (XSETPSEUDOVECTOR): Use it.
6552
d6aa1876
SM
6553 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
6554 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 6555
d6aa1876
SM
6556 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
6557 * lread.c (defvar_per_buffer):
6558 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
6559
6560 * window.c (candidate_window_p): Only consider as visible frames that
6561 are on the same terminal.
6562
6563 * m/ibms390x.h (MARKBIT): Remove unused macro.
6564
88852d45
JB
65652007-10-01 Juanma Barranquero <lekktu@gmail.com>
6566
6567 * lread.c (Fload): Fix typo in docstring.
6568
2742fe30
MC
65692007-10-01 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
6570
6571 * floatfns.c (Fexpt): Manually check for overflows, so that a power
6572 of a non-zero value can't yield zero.
6573
ed0c79c6
SM
65742007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
6575
b870aa61
SM
6576 * term.c (term_clear_mouse_face, term_mouse_highlight)
6577 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
6578
4c37a414
SM
6579 * print.c (safe_debug_print): Use XHASH.
6580
b9466edb
SM
6581 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
6582 Lisp elements such as tags.
6583 (XHASH): New macro.
6584 (EQ): Use it.
6585 (SREF, SSET, STRING_COPYIN): Use SDATA.
6586 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
6587
9c545a55
SM
6588 * alloc.c (mark_terminal): Remove left-over declaration.
6589 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
6590 (allocate_vectorlike): Remove type argument. Adjust callers.
6591 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
6592 Only handle the one remaining MEM_TYPE_VECTORLIKE.
6593
dafc79fa
SM
6594 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
6595 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
6596 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
6597 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
6598 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
6599 Use them.
6600
ed0c79c6
SM
6601 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
6602 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
6603 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
6604
3c81afd4
DN
66052007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
6606
6607 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
6608 loaded by default.
6609
6178ce5e
SM
66102007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
6611
4ce5ab77
SM
6612 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
6613 on this tty.
6614 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
6615
6178ce5e
SM
6616 * term.c (mouse_face_window): Rename from Qmouse_face_window.
6617 Update all users.
6618 (handle_one_term_event): Use Gpm_DrawPointer.
6619 (Fgpm_mouse_start): Rename from Fterm_open_connection.
6620 Signal errors instead of returning nil. Always return nil.
6621 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
6622 Make it a noop if gpm-mouse was not activated.
6623 (syms_of_term): Update names.
6624
bdf5f8ef
SM
66252007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
6626
75a8734b
SM
6627 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
6628 (init_sys_modes): Check that gpm_tty is the current tty.
6629
13559ee0
SM
6630 * alloc.c (allocate_terminal): Set the vector size to only count the
6631 lisp fields. Initialize those to nil.
6632 (mark_object): Don't treat terminals specially.
6633 (mark_terminal): Remove.
6634 (mark_terminals): Use mark_object instead.
6635
ff16b875
SM
6636 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
6637 the GC to the beginning.
6638
83155776
SM
6639 * indent.h:
6640 * indent.c: Use EMACS_INT for ints coming from Elisp data.
6641
bdf5f8ef
SM
6642 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
6643
ec8705b6
JR
66442007-09-25 Jason Rumney <jasonr@gnu.org>
6645
6646 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
6647
6648 * w32console.c (create_w32cons_output): Remove.
6649
6650 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
6651
6652 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
6653 (reset_sys_modes): Use reset_terminal_modes_hook.
6654
7351b242
SM
66552007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
6656
6657 * eval.c (do_autoload): Don't output any message.
6658
16706228
JL
66592007-09-24 Juri Linkov <juri@jurta.org>
6660
6661 * emacs.c (standard_args): Change priority of "--no-splash"
6662 from 40 to 3. Add "--no-desktop" with the same priority.
6663
3ae2e3a3
RS
66642007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
6665
6666 * alloc.c (gc_sweep): Check cons cell mark bits word by word
6667 and optimize the case where they are all 1.
6668
7a58fb43
GM
66692007-09-23 Johannes Weiner <hannes@saeurebad.de>
6670
3ae2e3a3
RS
6671 * lisp.h (abs): Define if not defined.
6672 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
6673 Don't define `abs', since it's defined in lisp.h.
7a58fb43 6674
78048085
EZ
66752007-09-22 Eli Zaretskii <eliz@gnu.org>
6676
c7a4b95b 6677 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
6678 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
6679 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
6680 (init_tty): Use DEV_TTY instead of "/dev/tty".
6681 [WINDOWSNT]: No need to protect from NAME arg being null.
6682
23d4cba5
DN
66832007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
6684
6685 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
6686 up the tty state.
6687
71f44e7a
SM
66882007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
6689
6690 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
6691 (gpm_tty): Change its type.
6692 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
6693 (gpm_tty): Change its type and initialize it.
6694 (Fterm_open_connection): Check the frame is indeed a tty.
6695 Use the new gpm_tty.
6696 (Fterm_close_connection): Use the new gpm_tty.
6697 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
6698 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
6699
def7fa34
JB
67002007-09-21 Juanma Barranquero <lekktu@gmail.com>
6701
6702 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
6703 underline_color, to draw strike-through.
6704
d2bb6598
SM
67052007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
6706
273f164c
SM
6707 * lisp.h (allocate_terminal): Declare.
6708
ca2d5566
SM
6709 * window.c (candidate_window_p): Consider frames that are being placed
6710 by the user as somewhere between visible and iconified.
6711 (window_loop): Prefer windows on the current frame.
6712 (Fselect_window): Move the use of select-frame to the beginning so we
6713 can just delegate all the work (it'll call us back anyway).
6714
6168122d
SM
6715 * frame.c (Qdisplay_environment_variable):
6716 * frame.h (Qdisplay_environment_variable): Delete.
6717
c51842ec
SM
6718 * .gdbinit (xbacktrace): Print the arg's address rather than the value
6719 of the first arg, since that value may be a union.
6720
d2bb6598
SM
6721 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
6722 parameter rather than Qdisplay_environment_variable. If all else
6723 fails, look for DISPLAY in initial-environment.
6724
6f022c19
GM
67252007-09-21 Glenn Morris <rgm@gnu.org>
6726
6727 * Makefile.in (emacstool): Remove target.
f466320b 6728 (lisp, shortlisp): Remove termdev.elc.
6f022c19 6729
ea1bf8c7
GM
67302007-09-21 Markus Triska <markus.triska@gmx.at>
6731
d2bb6598 6732 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 6733
d30a25b3
SM
67342007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
6735
db699fc6
SM
6736 * callproc.c (getenv_internal_1): New function.
6737 (getenv_internal): Use it.
6738 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
6739
d2bb6598 6740 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
6741 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
6742 (Fset_terminal_parameter): Work with dead terminals as well.
6743 (Fmodify_terminal_parameters): Remove.
6744
d30a25b3
SM
6745 * terminal.c (get_terminal): Handle terminals.
6746 Make sure the terminal returned is live.
6747 (create_terminal): Use allocate_terminal.
6748 (mark_terminals): Move to alloc.c.
6749 (delete_terminal): Use terminal->name as liveness status.
6750 NULL out fields after freeing their contents.
6751 Don't deallocate the object.
6752 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
6753 rather than an int.
6754 (Fterminal_live_p): Accept non-integer arguments.
6755 (Fterminal_list): Return terminal objects rather than an ints.
6756
6757 * alloc.c (enum mem_type): New member for `terminal' objects.
6758 (allocate_terminal): New function.
d2bb6598
SM
6759 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
6760 Handle terminals.
d30a25b3
SM
6761 (mark_terminal): New fun.
6762 (mark_terminals): Move from terminal.c.
6763
6764 * term.c (get_tty_terminal): Don't treat output_initial specially.
6765 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
6766 (delete_tty): Use terminal->name as liveness status.
6767
6768 * termhooks.h (struct terminal): Make it into a pseudovector.
6769 Remove `deleted' replaced by checking `name's nullness.
6770
6771 * print.c (print_object): Handle terminals.
6772
6773 * lisp.h (enum pvec_type): New `terminal' pseudovector.
6774 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
6775
6776 * frame.c (make_terminal_frame):
6777 * keyboard.c (tty_read_avail_input):
6778 * w32term.c (x_delete_terminal):
6779 * xfns.c (Fx_create_frame, x_create_tip_frame):
6780 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
6781
eba25e7c
GM
67822007-09-20 Glenn Morris <rgm@gnu.org>
6783
6784 * process.c (Fmake_network_process): Doc fix.
6785
2a29c3c1
JR
67862007-09-19 Jason Rumney <jasonr@gnu.org>
6787
6788 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
6789
ba1cbad7
MC
67902007-09-19 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
6791
6792 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
6793 Fix a C warning regarding variable constness.
6794
6795 * xterm.c (handle_one_xevent): Fix a C warning.
6796
334a1195
JR
67972007-09-18 Jason Rumney <jasonr@gnu.org>
6798
6799 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
6800
879ffad9
JD
68012007-09-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6802
6803 * gtkutil.c (gdpy_def): New variable.
6804 (xg_initialize): Initialize gdpy_def.
6805 (xg_display_close): If no other display exists, set gdpy_def to a
6806 new connection.
6807
45c94881
JD
68082007-09-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6809
6810 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
6811 when we have no file name for the icon.
6812 (xg_tool_bar_expose_callback): Remove.
6813 (xg_create_tool_bar): Don't connect expose signal to
6814 xg_tool_bar_expose_callback.
6815 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
6816
4d580af2
AS
68172007-09-16 Andreas Schwab <schwab@suse.de>
6818
6819 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
6820 values instead of zapping them.
6821
aca946f3
GM
68222007-09-14 Glenn Morris <rgm@gnu.org>
6823
6824 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
6825 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
6826 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
6827 scope and rename to omfib_buffer for clarity.
6828 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
6829
25c460e5
KH
68302007-09-14 Kenichi Handa <handa@m17n.org>
6831
6832 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
6833
09b69f01
JR
68342007-09-13 Jason Rumney <jasonr@gnu.org>
6835
6836 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
6837
6838 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
6839
6840 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
6841 (mac_term_init): Call here instead, passing rif.
6842
442218db
GM
68432007-09-13 Glenn Morris <rgm@gnu.org>
6844
6845 * s/hpux.h: No longer define `static' as nothing.
6846
4795c40f
GM
68472007-09-13 Johan Bockg\e,Ae\e(Brd <bojohan@gnu.org>
6848
6849 * callint.c (Fcall_interactively): Remove unused var `fun'.
6850
1971a872
RF
68512007-09-12 Romain Francoise <romain@orebokech.com>
6852
6853 * window.c (prefer_window_split_horizontally, display_buffer):
6854 Revert 2007-09-08 change.
6855
2d33f506
GM
68562007-09-12 Glenn Morris <rgm@gnu.org>
6857
585474ae 6858 * alloca.c: Remove file.
ca7af97a
GM
6859 * Makefile.in (alloca): Do not undef.
6860 (allocaobj, alloca.o): Remove.
6861 (otherobj): Remove allocaobj.
6862 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
6863 * regex.c (C_ALLOCA): Remove all references and code that was only
6864 used when this was defined.
6865 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
6866 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
6867 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
6868
2d33f506 6869 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
6870
6871 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
6872 (menu_grab_callback): All uses changed.
6873
6874 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
6875 (x_reply_selection_request): All uses changed.
2d33f506 6876
18a4a65e
SM
68772007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
6878
6879 * lread.c (load_warn_old_style_backquotes): Change message to look
6880 better when it appears in the middle of byte-compiler messages.
6881
47cc8819
DN
68822007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
6883
b7ea0894
DN
6884 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
6885
47cc8819
DN
6886 * xterm.c (x_create_terminal): Add comment.
6887
6888 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
6889
5632bd0f
RS
68902007-09-10 Richard Stallman <rms@gnu.org>
6891
6892 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
6893
ccb5c14f
MC
68942007-09-10 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
6895
4bca9161
MC
6896 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
6897 (DEFUN): Document `intspec', use it instead of `prompt'.
6898
04724b69
MC
6899 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
6900
8a6d230a
MC
6901 * data.c (Finteractive_form): If the interactive specification starts
6902 with a `(', use it as a Lisp form.
6903
09fbdf6c
MC
6904 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
6905 name and file modes.
6906
ccb5c14f
MC
6907 * callint.c (Fcall_interactively): Comment fixes.
6908
023accd6
SM
69092007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
6910
6911 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
6912 and compiled functions.
6913
f26b9544
EZ
69142007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
6915
6916 * window.c (prefer_window_split_horizontally): New variable.
6917 (display_buffer): Consider splitting window horizontally depending
6918 on prefer_window_split_horizontally.
6919
4d395425
EZ
69202007-09-08 Eli Zaretskii <eliz@gnu.org>
6921
97ddc760 6922 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 6923
08c1d235
SM
69242007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
6925
179cef48
SM
6926 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
6927
08c1d235
SM
6928 * frame.c (x_set_frame_parameters): Check number is positive before
6929 using XFASTINT.
6930
6931 * window.c (freeze_window_start): Don't presume selected_window holds
6932 a window object.
92f94a12 6933 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 6934
97ddc760 69352007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
6936
6937 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
6938
90ab5c62
SM
69392007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
6940
6941 * window.c (Vsplit_window_preferred_function): New var.
6942 (Fdisplay_buffer): Use it.
6943 (syms_of_window): Export, and initialize it.
6944
1ab2cd43
TTN
69452007-09-06 Pixel <pixel@mandriva.com> (tiny change)
6946
6947 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
6948
0b0515bc
GM
69492007-09-06 Glenn Morris <rgm@gnu.org>
6950
57fd5c55 6951 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
6952 * xselect.c (x_reply_selection_request) <cnt>: Move static
6953 variable to file scope.
6954
98594580
SM
69552007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
6956
6957 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
6958 consistent values of selected_frame and selected_window.
6959
0f4c7aef
JR
69602007-09-04 Jason Rumney <jasonr@gnu.org>
6961
6962 * w32console.c (initialize_w32_display): Zero unused hooks.
6963
e4019195
DN
69642007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
6965
6966 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
6967 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
6968
bce179b5
JR
69692007-09-04 Jason Rumney <jasonr@gnu.org>
6970
a0236551
JR
6971 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
6972 in w32console.c. Set up input. Remove XXX comments that have been
6973 confirmed as correct.
6974
a4926668
JR
6975 * s/ms-w32.h (MULTI_KBOARD): Define.
6976
953bf0dc
JR
6977 * w32console.c (one_and_only_w32cons): Remove.
6978 (initialize_w32_display): Take terminal argument.
6979
6980 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
6981 initialize_w32_display.
6982 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
6983
bce179b5
JR
6984 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
6985
6986 * keyboard.c (discard_mouse_events): Discard it.
6987 (make_lispy_event): Translate it to a lisp event.
6988 (lispy_wheel_names): Add wheel-left and right events.
6989 (syms_of_keyboard): Enlarge wheel_syms.
6990
6991 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
6992 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
6993
6994 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
6995
6996 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
6997 from WM_MOUSEHWHEEL.
6998 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
6999
7000 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
7001 terminal.
7002
7003 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
7004 keyboard for the terminal.
7005
92cd6a7c
DN
70062007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
7007
7008 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
7009 (Vresume_tty_hook): Rename from Vresume_tty_functions.
7010 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
7011 and resume-tty-function to resume-tty-hook.
7012 (Fsuspend_tty, Fresume_tty): Use new names.
7013
2154c964
JD
70142007-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7015
7016 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
7017 if it starts with "n:".
7018
b42ff099
JD
70192007-08-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7020
7021 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
7022
6b8e474c
SM
70232007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
7024
92d9c1d4
SM
7025 * frame.h:
7026 * frame.c (Qterm_environment_variable): Remove.
7027 (syms_of_frame): Don't init and staticpro it.
7028
92d9c1d4
SM
7029 * callproc.c (getenv_internal): Remove special case for $TERM.
7030
6b8e474c
SM
7031 * callproc.c (Vinitial_environment): New variable.
7032 (set_initial_environment): Initialize it.
7033 (syms_of_callproc): Declare it.
7034 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
7035 TERM under which a process runs is never related to the TERM in which
7036 Emacs is running.
7037
0f1444e1
DN
70382007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
7039
7040 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
7041 * s/darwin.h: ... do it here.
7042
b8866860
SM
70432007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
7044
7045 * lisp.h (set_initial_environment): Rename from set_global_environment.
7046
7047 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
7048 removed by mistake on the multi-tty branch.
7049
7050 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
7051 (Fmodify_frame_parameters): Return a value.
7052
7053 * image.c (png_load): Comment-out var only used in commented-out code.
7054
7055 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
7056 before passing it to mark_object.
7057
7058 * xfaces.c (internal_resolve_face_name): Return a value.
7059 (internal_resolve_face_name, resolve_face_name_error): Comment out.
7060
7061 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
7062 (x_icon): Comment-out var only used in commented-out code.
7063
0a42be6d
RF
70642007-08-29 Romain Francoise <romain@orebokech.com>
7065
7066 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
7067 QUIT hasn't been provided.
7068
8d9cc0b7
MB
70692007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
7070
7071 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 7072 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
7073 (set_initial_environment): Initialise Vprocess_environment.
7074
7075 * config.in: Disable multi-keyboard support on a mac.
7076
7077 * frame.c (Qterm_environment_variable)
7078 (Qdisplay_environment_variable): New variables.
7079 (syms_of_frame): Intern and staticpro them.
7080 (Fmake_terminal_frame): Disable output method test.
7081
7082 * frame.h: Declare them here.
7083
7084 * macfns.c (x_set_mouse_color): Get rif from the frame.
7085 (x_set_tool_bar_lines): Don't use updating_frame.
7086 (mac_window): Add 2 new parameters for consistency with other systems.
7087 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
7088 frame parameters following what is done in X11 and w32. Don't use
7089 FRAME_MAC_DISPLAY_INFO.
7090 (Fx_open_connection, start_hourglass): Remove window-system check.
7091 (x_create_tip_frame): Get the keyboard from the terminal.
7092
7093 * macmenu.c: Reorder includes.
7094 (Fx_popup_menu): Use terminal specific mouse_position_hook.
7095
7096 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
7097 terminal parameter.
7098 (x_clear_frame): Add a frame parameter.
7099 (note_mouse_movement): Get rif from the frame.
7100 (mac_term_init): Initialize the terminal.
7101 (mac_initialize): Make static and move terminal initialization ...
7102 (mac_create_terminal): ... to this new function.
7103
7104 * macterm.h (struct mac_display_info): Add terminal.
7196c970 7105 (mac_initialize): Delete declaration.
8d9cc0b7 7106
381864b2 7107 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
7108
7109 * sysdep.c: Comment out text after #endif.
7110
7111 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
7112 is defined. Better initialize ttys in windows. Use terminal
7113 specific mouse_position_hook.
7114
7115 * termhooks.h (union display_info): Add mac_display_info.
7116
b8866860
SM
7117 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
7118 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
7119 frame parameters following what is done in X11.
7120
7121 * w32term.c (w32_initialize): Make static.
7122
7123 * xselect.c (x_handle_selection_clear): Only access
7124 terminal->kboard when MULTI_KBOARD is defined.
7125
7126 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
7127 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
7128
71292007-08-29 Jason Rumney <jasonr@gnu.org>
7130
7131 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
7132 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
7133
7134 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
7135 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
7136
7137 * keyboard.c (restore_kboard_configuration): Only define when
7138 MULTI_KBOARD defined.
7139
35277b03 7140 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
7141 (OBJ1): Add terminal.$(O)
7142
b8866860
SM
7143 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
7144 Don't define function body.
8d9cc0b7
MB
7145 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
7146
7147 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
7148
7149 * w32.c (request_sigio, unrequest_sigio): Remove.
7150
7151 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
7152 (w32con_clear_frame, w32con_clear_end_of_line)
7153 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
7154 (w32con_delete_glyphs, w32con_set_terminal_window)
7155 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
7156 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
7157 Add terminal arg.
8d9cc0b7
MB
7158 (PICK_FRAME): Remove.
7159 (w32con_write_glyphs): Use frame specific terminal coding.
7160 (one_and_only_w32cons): New global variable.
7161 (initialize_w32_display): Use it for storing hooks.
7162 (create_w32cons_output): New function.
7163
7164 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
7165 arg a frame.
7166
b8866860
SM
7167 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
7168 Set window_system.
8d9cc0b7
MB
7169 (x_set_tool_bar_lines): Don't use updating_frame.
7170 (Fx_create_frame): Set terminal and ref count.
7171 (Fx_open_connection): Remove window-system check.
7172
7173 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
7174
7175 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
7176 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
7177 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
7178 Add frame arg.
7179 (x_delete_terminal, w32_create_terminal): New functions.
7180 (w32_term_init): Create a terminal.
7181 (w32_initialize): Move terminal specific initialization to
7182 w32_create_terminal.
7183
b8866860 7184 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
7185 (w32_clear_rect, w32_clear_area): Use background from frame.
7186 (w32_display_info): Add terminal.
7187 (w32_sys_ring_bell, x_delete_display): Declare here.
7188
7189 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
7190
7191 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
7192
71932007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
7194
7195 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
7196 Fix get_named_tty calls for the controlling tty.
7197
71982007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
7199
7200 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
7201
72022007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
7203
7204 * term.c (tty_insert_glyphs): Add missing first parameter.
7205
9647bd08 72062007-08-29 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <karoly@lorentey.hu>
8d9cc0b7 7207
b8866860
SM
7208 * buffer.c (Fbuffer_list, Fbury_buffer):
7209 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
7210
7211 * cm.c (current_tty): New variable, for cmputc().
7212 (cmputc): Use it.
7213 (cmcheckmagic): Add tty parameter, look up terminal streams there.
7214 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
7215 (cmgoto): Add tty parameter. Pass it on to calccost().
7216 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
7217
7218 * cm.h (emacs_tputs): New macro to set current_tty, and then call
7219 tputs().
7220 (current_tty): New variable, for cmputc().
7221 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
7222
7223 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
7224 (internal_condition_case, internal_condition_case_1)
7225 (internal_condition_case_2): Don't abort when x_catching_errors.
7226
7227 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
7228 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
7229 prevent crashes caused by bogus longjmps in read_char.
7230
7231 * keymap.h (Fset_keymap_parent): Add EXFUN.
7232
7233 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
7234 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
7235 Remove redundant definition.
7236
b8866860
SM
7237 * macfns.c (x_set_mouse_color, x_make_gc):
7238 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 7239
b8866860
SM
7240 * w32term.c (x_free_frame_resources):
7241 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7242 (w32_initialize): Use the accessor macros for terminal characteristics.
7243
7244 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
7245 Use the accessor macros for terminal characteristics.
7246 * msdos.c (internal_terminal_init): Use the accessor macros for
7247 terminal characteristics.
b8866860
SM
7248 (ScreenVisualBell, internal_terminal_init):
7249 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7250
7251 * termopts.h (no_redraw_on_reenter): Declare.
7252
7253 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 7254 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 7255 (Fgarbage_collect): Call them.
03f06e5c 7256 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
7257
7258 * prefix-args.c: Include stdlib.h for exit.
7259
7260 * syssignal.h: Add comment.
7261
7262 * indent.c: Include stdio.h.
7263
7264 * window.h (Vinitial_window_system): Declare.
7265 (Vwindow_system): Delete declaration.
7266
7267 * fontset.c (Finternal_char_font): Use FRAME_RIF.
7268
7269 * image.c (lookup_image): Don't initialize `c' until the xasserts
7270 have been run.
7271
7272 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
7273 FRAME_FOREGROUND_PIXEL.
7274
7275 * print.c (print_preprocess): Don't lose print_depth levels while
7276 iterating.
7277
b8866860
SM
7278 * widget.c (update_from_various_frame_slots):
7279 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7280
7281 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
7282 frames.
7283 (window_internal_height): Remove bogus make_number call.
b8866860 7284 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
7285
7286 * fileio.c (Fread_file_name): Update comment.
7287
b8866860
SM
7288 * callint.c (Fcall_interactively):
7289 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
7290 Make sure it is correctly unwound.
7291
7292 * xsmfns.c (x_session_close): New function.
7293
03f06e5c 7294 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
7295 Delete declarations.
7296
7297 * xterm.h: Remove declaration for x_fully_uncatch_errors.
7298 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 7299 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
8d9cc0b7
MB
7300 (x_delete_device):
7301 (x_session_close): Declare.
7302
7303 * lread.c: Include setjmp.h. Update declaration of `read_char'.
7304 (read_filtered_event): Call `read_char' with a local
7305 `wrong_kboard_jmpbuf'.
7306
b8866860
SM
7307 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
7308 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
7309
7310 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
7311 systems.
7312
b8866860 7313 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 7314 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 7315 (Fset_quit_char): EXFUN.
03f06e5c 7316 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
7317 (init_sys_modes, reset_sys_modes): Update prototypes.
7318 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
7319
b8866860
SM
7320 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
7321 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 7322 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 7323 Delete declarations.
03f06e5c
JB
7324 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
7325 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
7326 New declarations.
7327
7328 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
7329 already does that during init_display(). Call syms_of_keymap
b8866860
SM
7330 before syms_of_keyboard. Call `syms_of_terminal'.
7331 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
7332 (shut_down_emacs): Call reset_all_sys_modes() instead of
7333 reset_sys_modes().
7334
7335 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
7336 (internal_resolve_face_name, resolve_face_name_error): New functions.
7337 (resolve_face_name): Protect against loops and errors thrown by Fget.
7338 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
7339 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
7340
7341 * scroll.c: Replace CURTTY() with local variables throughout the
7342 file (where applicable).
7343 (calculate_scrolling, calculate_direct_scrolling)
7344 (scrolling_1, scroll_cost): Use the accessor macros for terminal
7345 characteristics.
7346
7347 * keymap.c (Vfunction_key_map): Remove.
b8866860 7348 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
7349 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
7350 (Vkey_translation_map): Remove.
7351 (syms_of_keymap): Remove DEFVAR for key-translation-map.
7352 (Fdescribe_buffer_bindings):
7353 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
7354 Update for terminal-local key-translation-map.
7355
7356 * Makefile.in (callproc.o): Update dependencies.
7357 (lisp, shortlisp): Add termdev.elc.
7358 (obj): Add terminal.o.
7359 (terminal.o): Add dependencies.
7360 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
7361 (data.o, fns.o): Add termhooks.h dependency.
7362 (SOME_MACHINE_LISP): Add dnd.elc.
7363 (minibuf.o): Fix typo.
7364 Update dependencies.
7365
7366 * data.c (do_symval_forwarding, store_symval_forwarding)
7367 (find_symbol_value): Use the selected frame's keyboard, not
7368 current_kboard.
7369
7370 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
7371 Vwindow_system.
7372
7373 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
7374 Fmenu_bar_open.
7375 (syms_of_xmenu): Update defsubr.
7376 (mouse_position_for_popup, Fx_popup_menu)
7377 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
7378 (set_frame_menubar, free_frame_menubar)
7379 (create_and_show_popup_menu, xmenu_show, )
7380 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
7381 an X frame.
7382
7383 * xselect.c (x_own_selection): Abort if not an X frame.
7384 (some_frame_on_display): Check if it is an X frame.
7385 (x_handle_selection_clear): Deal with MULTI_KBOARD.
7386
7387 * coding.c: Include frame.h and termhooks.h.
03f06e5c 7388 (terminal_coding, keyboard_coding): Delete.
8d9cc0b7
MB
7389 (Fset_terminal_coding_system_internal):
7390 (Fset_keyboard_coding_system_internal):
7391 (Fkeyboard_coding_system):
03f06e5c
JB
7392 (Fterminal_coding_system): Add a terminal parameter.
7393 Get terminal_coding from the terminal.
8d9cc0b7
MB
7394 (init_coding_once): Don't call setup_coding_system here.
7395
7396 * dispextern.h (set_scroll_region, turn_off_insert)
7397 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
7398 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 7399 (delete_tty, updating_frame)
8d9cc0b7
MB
7400 (produce_special_glyphs, produce_glyphs, write_glyphs)
7401 (insert_glyphs): Remove.
7402 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 7403 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 7404 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
7405
7406 * frame.h (enum output_method): Add output_initial.
7407 (struct x_output): Delete.
b8866860
SM
7408 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
7409 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
7410 (tty_display): Delete.
7411 (struct frame): Add buried_buffer_list, foreground_pixel,
03f06e5c 7412 background_pixel and terminal. Delete kboard
8d9cc0b7
MB
7413 (union output_data): Add tty.
7414 (FRAME_KBOARD): Get the kboard from the terminal.
7415 (FRAME_INITIAL_P): New macro.
7416 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
7417 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
7418 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
7419 New declarations.
8d9cc0b7
MB
7420
7421 * termchar.h (tty_output, tty_display_info): New structures.
7422 (tty_list): Declare.
7423 (FRAME_TTY, CURTTY): New macros.
7424 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
7425 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
7426 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
7427 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
7428
7429 * callproc.c: Include frame.h and termhooks.h, for terminal
7430 parameters.
7431 (add_env): New function.
7432 (child_setup): Use it.
b8866860 7433 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
7434 (getenv_internal): Fix get_terminal_param call.
7435 (Fgetenv_internal, egetenv): Update doc.
7436 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 7437 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
7438 strings.
7439 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
7440 (getenv_internal): Add terminal parameter.
7441 Handle Vlocal_environment_variables.
8d9cc0b7
MB
7442 (Fgetenv_internal): Add terminal parameter.
7443 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 7444 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
7445 (set_initial_environment): Rename from set_global_environment.
7446 Store Emacs environment in initial frame parameter.
7447
7448 * xdisp.c (redisplay_internal): Update references to
7449 `previous_terminal_frame'.
7450 (display_mode_line, Fformat_mode_line): Replace calls to
7451 `push_frame_kboard' with `push_kboard'.
7452 (get_glyph_string_clip_rects): Add extra parentheses and
7453 braces to prevent compiler warnings.
7454 (calc_pixel_width_or_height): Add xassert to check that the
7455 frame is alive. Don't call `lookup_image' on a termcap frame.
7456 (message2_nolog, message3_nolog, redisplay_internal)
7457 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
7458 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
7459 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
7460 (Fx_display_pixel_width, Fx_display_pixel_height)
7461 (Fx_display_planes, Fx_display_color_cells)
7462 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
7463 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
7464 (Fx_display_backing_store, Fx_display_visual_class)
7465 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 7466 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
7467
7468 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
7469 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
7470 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7471 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
7472 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
7473 terminal that is being deleted.
7474 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 7475 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
7476 (Fx_close_connection, Fx_synchronize): Unify argument names with
7477 the rest of the DEFUNs.
7478
7479 * dispnew.c (Fsend_string_to_terminal): Update call to
7480 `get_tty_terminal'.
7481 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 7482 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
7483 FRAME_TERMCAP_P and FRAME_TTY.
7484 (window_change_signal): Don't believe width/height values that are
7485 impossibly small.
7486 (Vinitial_window_system): Rename from Vwindow_system.
7487 (termscript, Wcm, rif): Delete.
7488
7489 * termhooks.h (struct terminal): New struct containing the
7490 previously global text display hooks and new members NAME,
7491 DELETED and PARAM_ALIST.
7492 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
7493 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
7494 (FRAME_RIF): New macros.
7495 (get_terminal_param, get_device): New declarations.
7496 (termscript): Delete declaration.
7497
7498 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
7499 (XTflash, x_free_frame_resources, x_scroll_bar_create)
7500 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
7501 FRAME_FOREGROUND_PIXEL.
7502 (x_fully_uncatch_errors): Disable definition.
7503 (x_scroll_bar_expose): Fix reference to foreground pixel.
7504 (XTread_socket): Disable loop on all X displays.
7505 (x_delete_terminal): Don't set terminal->deleted and let
7506 delete_terminal delete the frames on the terminal.
7507 (x_delete_display): Doc update to reflect changes in
7508 delete_terminal.
7509 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
7510 (deleting_tty): Remove old variable.
7511 (Fsuspend_tty): Call clear_tty_hooks.
7512 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
7513 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
7514 errors on X frames.
7515 (x_catch_errors_unwind): Abort if x_error_message is NULL.
7516 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 7517 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
7518 (XTset_terminal_modes, XTreset_terminal_modes)
7519 (XTread_socket, x_connection_closed, x_term_init)
7520 (x_term_init, x_delete_display): Add terminal parameter.
7521 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
7522 X connections.
7523
7524 * frame.c (Fframep): Deal with output_initial.
7525 (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
7526 (Qtty_type, Qwindow_system, Qenvironment)
b8866860 7527 (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
8d9cc0b7
MB
7528 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
7529 (make_terminal_frame): Don't create frames on a terminal that is
7530 being deleted.
7531 (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
7532 FRAME_FOREGROUND_PIXEL.
b8866860 7533 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
7534 (Fmake_terminal_frame): Handle NULL tty names correctly.
7535 (syms_of_frame): Enhance doc string of `default-frame-alist'.
7536 (Fdelete_frame): Remove unused variable `count'.
7537 (Qenvironment): New variable.
7538 (Fdelete_frame): Don't allow other frames to refer to a deleted
7539 frame in their 'environment parameter.
7540 (Fframe_with_environment): New function.
b8866860 7541 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
7542 (get_future_frame_param): New function.
7543 (Fmake_terminal_frame): Use it.
2d33f506 7544 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
7545
7546 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
7547 * sysdep.c (reset_sys_modes): Update for renames.
7548
7549 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 7550 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
7551 (syms_of_keyboard): Defsubr them.
7552 (Fset_input_meta_mode, Fset_quit_char): New functions.
7553 (Fset_input_mode): Split to above functions.
7554
7555 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
7556 parameter. Use it in call to `read_char'.
b8866860
SM
7557 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
7558 Set wrong_kboard_jmpbuf correctly in recursive calls.
7559 Use current_kboard to access Vkeyboard_translate_table.
7560 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
7561 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
7562 Update longjmp invocations. Remember the original current_kboard,
7563 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
7564 changes it. Comment out unnecessary calls to
7565 `record_single_kboard_state' and `any_kboard_state'.
7566 Update recursive calls.
8d9cc0b7
MB
7567 (wrong_kboard_jmpbuf): Remove global variable.
7568 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
7569 Handle deleted interrupted_kboards correctly; that is a legal
7570 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 7571 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
7572 (any_kboard_state, single_kboard_state)
7573 (push_frame_kboard): Remove function.
7574 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
7575 been deleted. Remove unused variable. Help debugging by not
7576 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
7577 kboard of the selected frame when the stored kboard object has
7578 been deleted before pop_kboard.
7579 (temporarily_switch_to_single_kboard): Change first parameter to a
7580 frame pointer. Throw an error when caller wants to change kboards
7581 while in single_kboard mode. Don't push_kboard if we weren't in
7582 single kboard state. Don't pop_kboard if we popped into any
7583 kboard state.
7584 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 7585 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
7586 up single_kboard mode.
7587 (Frecursive_edit): Switch to single_kboard mode only in nested
7588 command loops.
b8866860
SM
7589 (cmd_error, command_loop, command_loop_1, timer_check):
7590 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
7591 `record_single_kboard_state'.
7592 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 7593 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
7594 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
7595 `fatal_error_signal'.
7596 (record_single_kboard_state): Don't push_kboard if we weren't in
7597 single kboard state. Don't pop_kboard if we popped into any
7598 kboard state.
7599 (push_frame_kboard): Rename to push_kboard.
7600 (kbd_buffer_get_event): Use FRAME_TERMINAL.
7601 (read_avail_input): Read input from all terminals.
7602 (mark_kboards): Also mark Vkeyboard_translate_table.
7603 (kbd_buffer_store_event_hold): Simplify condition.
7604 (read_key_sequence): Reinitialize fkey and keytran at each replay.
7605 (Vkeyboard_translate_table): Move to struct kboard.
7606 (init_kboard): Initialize Vkeyboard_translate_table.
7607 (syms_of_keyboard): Use DEFVAR_KBOARD to define
7608 Vkeyboard_translate_table. Update doc strings. Update docs of
7609 local-function-key-map and function-key-map.
7610
7611 * terminal.c: New file.
7612
7613 * term.c: Include errno.h.
7614 (Vring_bell_function, device_list, initial_device)
7615 (next_device_id, ring_bell, update_begin, update_end)
7616 (set_terminal_window, cursor_to, raw_cursor_to)
7617 (clear_to_end, clear_frame, clear_end_of_line)
7618 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
7619 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
7620 (syms_of_term): Move their initialization to terminal.c.
7621 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
7622 (Ftty_display_color_cells)
7623 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 7624 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
7625 (init_tty, maybe_fatal): New functions.
7626 (Ftty_type): Return nil if terminal is not on a tty instead of
7627 throwing an error. Doc update.
7628 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 7629 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
7630 (delete_tty): Use terminal->deleted.
7631 (tty_set_terminal_modes): Rename from set_terminal_modes.
7632 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
7633 (set_scroll_region): Rename to `tty_set_scroll_region'.
7634 (turn_on_insert): Rename to `tty_turn_on_insert'.
7635 (turn_off_insert): Rename to `tty_turn_off_insert'.
7636 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
7637 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
7638 (toggle_highligh): Rename to `tty_toggle_highlight'.
7639 (background_highlight): Rename to `tty_background_highlight'.
7640 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
7641 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
7642 (tty_set_scroll_region, tty_background_highlight)
7643 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
7644 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
7645 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
7646 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
7647 Add static modifier.
7648 (tty_reset_terminal_modes, tty_set_terminal_window)
7649 (tty_set_scroll_region, tty_background_highlight)
7650 (tty_highlight_if_desired, tty_cursor_to)
7651 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
7652 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
7653 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
7654 renames.
7655
cf0590c4
JD
76562007-08-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7657
7658 * keyboard.c: Qrtl is new.
7659 (parse_tool_bar_item): Handle :rtl keyword.
7660 (syms_of_keyboard): Intern :rtl keyword.
7661
7662 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
7663
7664 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
7665 so no Lisp code is executed.
7666 (file_for_image, find_rtl_image): New functions.
7667 (xg_get_image_for_pixmap): Use file_for_image
7668 (update_frame_tool_bar): If direction is RTL, use RTL image if
7669 defined. Use Gtk stock images if defined.
7670
83cc8d35
YM
76712007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7672
7673 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
7674 for nonexistent or zero-width glyph in composition glyph.
7675
e60c4e15
SM
76762007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
7677
d7e2a28f
SM
7678 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
7679
e60c4e15
SM
7680 * xdisp.c (Finvisible_p): New function.
7681 (syms_of_xdisp): defsubr it.
7682
ee163e6d
JB
76832007-08-24 Juanma Barranquero <lekktu@gmail.com>
7684
7685 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
7686 Doc fixes.
7687
90fa408d
YM
76882007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7689
35277b03 7690 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 7691
cac4219c
MR
76922007-08-24 Martin Rudalics <rudalics@gmx.at>
7693
7694 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
7695 whether decoding has modified buffer contents.
7696
5fc9fdeb
JR
76972007-08-24 Jason Rumney <jasonr@gnu.org>
7698
7699 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
7700 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
7701 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
7702 (init_svg_functions) [HAVE_NTGUI]: New function.
7703 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
7704 (svg_load_image): Use them.
7705 (svg_load_image) [HAVE_NTGUI]: Implement background.
7706
93b23406
YM
77072007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7708
7709 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
7710 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
7711 (LIBX): Remove @RSVG_LIBS@.
7712 (LIBES): Add $(RSVG_LIBS).
7713
7714 * image.c (svg_load_image): Blend with specified background if exists.
7715 Use IMAGE_BACKGROUND. Add Mac OS Support.
7716
7717 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
7718 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
7719 Remove macros.
7720 [MAC_OSX] (socket_callback): Do nothing.
7721 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
7722 ReceiveNextEvent.
7723 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
7724 socket_callback.
7725 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
7726
2467875c
GM
77272007-08-22 Glenn Morris <rgm@gnu.org>
7728
ff8da443 7729 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 7730
4ab27a43
GM
77312007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
7732
7733 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 7734
666e0eda
GM
7735 * image.c: Add support for SVG images. Some additional comments
7736 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
7737 (svg_image_p): New function to test for SVG image.
7738 (svg_load): New function to load SVG image.
7739 (svg_load_image): New function, helper for svg_load.
7740 (Qsvg): New Lisp_object.
7741 (svg_keyword_index): New enum.
7742 (svg_format): New static `image_keyword' struct.
7743 (svg_type): New static `image_type' struct.
7744 (librsvg/rsvg.h): Include it.
4ab27a43 7745
b636b4c1
SM
77462007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
7747
7748 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
7749
9ecb827b
SM
77502007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
7751
1d064697
SM
7752 * lread.c (Qold_style_backquotes): New var.
7753 (syms_of_lread): Init and staticpro it.
7754 (load_warn_old_style_backquotes): New fun.
7755 (Fload): Use them to warn about old style backquotes.
7756 (end_of_file_error, Fload): Remove unused vars.
7757
5772ed4b
SM
7758 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
7759
9ecb827b 7760 * lread.c (Vold_style_backquotes): New var.
5aa273b0 7761 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
7762 (read1): Set it when we find an old-style (back)quote.
7763
32e1c7b1
JR
77642007-08-22 Jason Rumney <jasonr@gnu.org>
7765
7766 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
7767
b8fa755b
KY
77682007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
7769
7770 * puresize.h (BASE_PURESIZE): Increase to 1140000.
7771
1283140e
RS
77722007-08-19 Richard Stallman <rms@gnu.org>
7773
7774 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
7775
2c4685ee
AS
77762007-08-19 Andreas Schwab <schwab@suse.de>
7777
7778 * alloc.c (pure): Round PURESIZE up.
7779
e8953ebf
JD
77802007-08-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7781
7782 * xterm.c (handle_one_xevent): Remove check that mouse click is in
7783 active frame.
7784
6e33efc4
RS
77852007-08-16 Richard Stallman <rms@gnu.org>
7786
7787 * eval.c (Fcommandp): Add parens to clarify.
7788
7789 * minibuf.c (Fall_completions): Use enum for type of table.
7790
7791 * emacs.c (USAGE2): Improve text.
7792
fcf8ff2e
GM
77932007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
7794
5205ee62
GM
7795 * term.c (tty_default_color_capabilities): Declare static
7796 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 7797
81d13a51
JD
77982007-08-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7799
7800 * gtkutil.c (update_frame_tool_bar): Use -1 as index
7801 to gtk_toolbar_insert.
7802
4a181359
SM
78032007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
7804
1bc99c9c
SM
7805 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
7806
4a181359
SM
7807 * insdel.c (reset_var_on_error): New fun.
7808 (signal_before_change, signal_after_change):
7809 Use it to reset (after|before)-change-functions to nil in case of error.
7810 Bind inhibit-modification-hooks to t.
7811 Don't bind (after|before)-change-functions to nil while they run.
7812
6c28435c
YM
78132007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7814
7815 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
7816 filling pixmap with stippled background.
7817
ad3b3e02
YM
78182007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7819
7820 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
7821 Don't use invisible frame as parent window for repositioning.
7822
a22dec27
SM
78232007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
7824
7825 * print.c (new_backquote_output): Rename from old_backquote_output.
7826 (print): Inverse its logic (according to its name) so as to match the
7827 behavior of new_backquote_flag in lread.c.
7828
7b7d07bb
YM
78292007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7830
7831 * gmalloc.c (posix_memalign): New function.
7832
7833 * macterm.c (frame_highlight, frame_unhighlight): Don't call
7834 ActivateControl/DeactivateControl here.
7835 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
7836 frame-notice-user-settings is non-nil.
7837 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
7838 for kEventParamFMFontStyle.
7839 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
7840 mac_pass_command_to_system and mac_pass_control_to_system here.
7841 (XTread_socket): Call ActivateControl/DeactivateControl here.
7842 (XTread_socket) [TARGET_API_MAC_CARBON]:
7843 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
7844 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
7845 for window repositioning.
7b7d07bb 7846
22e9fe24
GM
78472007-08-08 Glenn Morris <rgm@gnu.org>
7848
7849 * Replace `iff' in doc-strings and comments.
7850
ae494350
CY
78512007-08-07 Chong Yidong <cyd@stupidchicken.com>
7852
7853 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
7854
6f2528d8
MR
78552007-08-07 Martin Rudalics <rudalics@gmx.at>
7856
7857 * fileio.c (Finsert_file_contents): Run format-decode and
7858 after_insert_file_functions on entire buffer when REPLACE is
7859 non-nil and inhibit modification_hooks and point_motion_hooks.
7860 For consistency, run after_insert_file_functions iff something
7861 got inserted. Move signal_after_change and update_compositions
7862 after code running after_insert_file_functions. Make sure that
6b8e474c 7863 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 7864
3ceeb306
YM
78652007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7866
7867 * emacs.c (main)
7868 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
7869 Call malloc_enable_thread on interactive startup.
7870
7871 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
7872 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
7873 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
7874 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
7875 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
7876 New functions.
7877
ca5e6fd5
CY
78782007-08-06 Chong Yidong <cyd@stupidchicken.com>
7879
32bfce5d
CY
7880 * xdisp.c (redisplay_window): When restoring original buffer
7881 position, make sure it is still valid.
7882
ca5e6fd5
CY
7883 * image.c (png_load): Ignore png-supplied background color.
7884
a5b11587
YM
78852007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7886
7887 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
7888 Use kCFAbsoluteTimeIntervalSince1970.
7889
7890 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
7891 New variable.
7892 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
7893 event loop should be quit.
7894 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
7895 Quit dialog event loop if quit_dialog_event_loop is set.
7896
7897 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
7898 (Selection): New typedef. Use instead of ScrapRef.
7899 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
7900 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
7901 (mac_clear_selection): Rename from clear_scrap.
7902 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 7903 scrap_has_target_type. All uses changed.
a5b11587
YM
7904 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7905 (mac_selection_has_target_p): New functions.
7906 (mac_put_selection_value): Rename from put_scrap_string.
7907 (mac_get_selection_value): Rename from get_scrap_string.
7908 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
7909 (put_scrap_private_timestamp, scrap_has_target_type)
7910 (get_scrap_private_timestamp): Remove functions.
7911 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
7912 (x_own_selection, x_get_local_selection):
7913 Use mac_valid_selection_value_p.
7914 (x_own_selection): Don't use put_scrap_private_timestamp.
7915 Record OWNERSHIP-INFO into Vselection_alist instead.
7916 (x_get_local_selection): Don't check type if request is local.
7917 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
7918 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
7919
991bde0d
JD
79202007-08-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7921
7922 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
7923 add comment explaining why.
7924
73ff9d42
RS
79252007-08-03 Richard Stallman <rms@gnu.org>
7926
7927 * fileio.c (Fvisited_file_modtime): Use make_time.
7928
54ed9a2d 79292007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
7930
7931 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
7932 build.
7933
65a9c8e2
SM
79342007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
7935
7936 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
7937
c5925799
KY
79382007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
7939
7940 * puresize.h (BASE_PURESIZE): Increase to 1130000.
7941
adef3de7
RS
79422007-07-30 Richard Stallman <rms@gnu.org>
7943
7944 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
7945
784c1472
JD
79462007-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7947
7948 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
7949
a10421a1
NR
79502007-07-28 Nick Roberts <nickrob@snap.net.nz>
7951
7952 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
7953 remote default-directory.
7954
7955 * buffer.c (mode-line-format): Update doc string.
7956
0cb1ae20
YM
79572007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7958
7959 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
7960 scroll bar gap.
7961 (x_scroll_bar_create): Set bar->fringe_extended_p.
7962 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
7963 on frame edge. Check fringe background extension. Don't clear
7964 extended fringe background area.
7965
7966 * w32term.h (struct scroll_bar): New member fringe_extended_p.
7967 (w32_fill_area): Enclose multiple statements with do ... while (0).
7968
7969 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
7970 Extend fringe background to scroll bar gap.
7971 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
7972 Set bar->fringe_extended_p.
7973 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
7974 Put leftmost/rightmost scroll bars on frame edge. Check fringe
7975 background extension. Don't clear extended fringe background area.
7976
7977 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
7978 New member fringe_extended_p.
7979
cacc7b51
GM
79802007-07-25 Glenn Morris <rgm@gnu.org>
7981
7982 * Relicense all FSF files to GPLv3 or later.
7983
7984 * COPYING: Switch to GPLv3.
7985
89835619
SM
79862007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
7987
c4f46926
SM
7988 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
7989
7990 * data.c (Finteractive_form): Check for the presence of an
7991 `interactive-form' symbol property more thoroughly.
7992
7993 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
7994 present, analogous to the function-documentation property.
7995
ee04257d
JR
79962007-07-24 Jason Rumney <jasonr@gnu.org>
7997
7998 * w32fns.c (x_real_positions): Get real position from OS instead of
7999 calculating it.
8000
50624218
JR
80012007-07-23 Jason Rumney <jasonr@gnu.org>
8002
8003 * filelock.c (current_lock_owner): Allow for @ sign in username.
8004
3650f60e
NR
80052007-07-22 Nick Roberts <nickrob@snap.net.nz>
8006
8007 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
8008 remote default-directory.
8009
8010 * buffer.c (mode-line-format): Describe above case in doc string.
8011
1e899515 80122007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 8013
75be5258
EZ
8014 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
8015 Define if not defined.
8016
2b6e2f4d
JR
80172007-07-18 Jason Rumney <jasonr@gnu.org>
8018
8019 * w32proc.c (w32_executable_type): Handle 64 bit executables.
8020
23dacf80
JB
80212007-07-18 Richard Stallman <rms@gnu.org>
8022
8023 * data.c (Fsetq_default): Doc fix.
8024
8025 * eval.c (Fsetq): Doc fix.
8026
80272007-07-18 Juanma Barranquero <lekktu@gmail.com>
8028
8029 * coding.c (Ffind_operation_coding_system):
8030 * eval.c (For, Fand): Doc fixes.
8031 Reported by Johan Bockg\e,Ae\e(Brd.
8032
656de71a
JD
80332007-07-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8034
23dacf80 8035 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 8036
23dacf80 8037 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
8038
8039 * xterm.c (x_ewmh_activate_frame): New function.
8040 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
8041
71ec17e6
MR
80422007-07-17 Martin Rudalics <rudalics@gmx.at>
8043
8044 * window.c (Fdisplay_buffer): If largest or LRU window is the
8045 only window, split it even if it is not eligible for splitting.
8046 This restores the original behavior broken by the 2007-07-15
8047 change.
8048
e9818042
GM
80492007-07-17 Glenn Morris <rgm@gnu.org>
8050
8051 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
8052 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
8053 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
8054 constituents. Doc fix.
8055
e6fca843
SM
80562007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
8057
8058 * process.c (Fstart_process, Fmake_network_process)
8059 (read_process_output): Fix up last changes.
8060
b5d2b4ab
EZ
80612007-07-16 Eli Zaretskii <eliz@gnu.org>
8062
8063 * makefile.w32-in (clean): Don't delete *~.
8064
413a79ad
AS
80652007-07-16 Andreas Schwab <schwab@suse.de>
8066
8067 * window.c (Fdisplay_buffer): Use NILP.
8068 (Fset_window_scroll_bars): Likewise.
8069
f1de8c77
MR
80702007-07-15 Martin Rudalics <rudalics@gmx.at>
8071
8072 * window.c (window_min_size_2): New function.
8073 (window_min_size_1, size_window, Fdisplay_buffer)
8074 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
8075 windows without mode- or header-lines when window-min-height is
8076 too small.
8077 (size_window): Reset nodelete_p after testing it, following an
8078 earlier note by Kim F. Storm.
8079 (display_buffer): Do not set split_height_threshold to twice the
8080 value of window_min_height to avoid changing the value of a
8081 customizable variable. Rather explicitly check whether the
8082 height of the window that shall be splitted is at least as large
8083 as split_height_threshold.
1af74d06
MB
8084 (Fwindow_full_width_p): New defun.
8085 (syms_of_window): Defsubr it.
d31053f9 8086
1af74d06 8087 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 8088
5e1ab613
JR
80892007-07-14 Jason Rumney <jasonr@gnu.org>
8090
8091 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
8092
f01cbfdd
RS
80932007-07-14 Richard Stallman <rms@gnu.org>
8094
8095 * eval.c (maybe_call_debugger): New function.
8096 (find_handler_clause): Use maybe_call_debugger.
8097 Call it when the handler says `debug'.
8098 Eliminate DEBUGGER_VALUE_PTR.
8099 (Fsignal): Eliminate debugger_value.
8100 (Qdebug): New variable.
8101 (syms_of_eval): Initialize it.
8102
1bab435a
JB
81032007-07-14 Juanma Barranquero <lekktu@gmail.com>
8104
8105 * eval.c (Fprogn):
8106 * keyboard.c (Ftrack_mouse):
8107 * print.c (Fwith_output_to_temp_buffer):
8108 * window.c (Fsave_window_excursion): Doc fix.
8109
be436d23
SM
81102007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
8111
8112 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
8113
60f0fb11
SM
81142007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
8115
8116 * process.h (struct Lisp_Process): Turn slots infd, outfd,
8117 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
8118 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
8119 read_output_delay, and read_output_skip from Lisp_Objects to ints.
8120 Remove unused encoding_carryover.
8121 * process.c: Adjust all functions accordingly.
8122
d8b18043
RS
81232007-07-12 Richard Stallman <rms@gnu.org>
8124
8125 * term.c: Include unistd.h only if HAVE_UNISTD_H.
8126
d5781bb6
JR
81272007-07-11 Jason Rumney <jasonr@gnu.org>
8128
8129 * makefile.w32-in (LIBS): Include OLE32.
8130
8131 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
8132 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
8133
5bb7dfee
SM
81342007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
8135
8136 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
8137 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
8138 from a Lisp_Object into a bare pointer.
8139 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8140 Adjust the code correspondingly.
8141
8142 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
8143
8144 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
8145 (term_show_mouse_face): Remove unused var `j'.
8146 (handle_one_term_event): Remove unused vars `i' and `j'.
8147 Don't cast return value of ttyname since it's not necessary.
8148
a1be1ce8
SM
81492007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
8150
5045e68e
SM
8151 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
8152 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
8153
8071c00f
SM
8154 * fns.c (map_char_table): Use an array of int for `indices' rather than
8155 an array of Lisp_Objects (which are only ever integers anyway).
8156 (Fmap_char_table): Update caller.
8157 * lisp.h: Update prototype.
8158 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
8159 * fontset.c (Ffontset_info):
8160 * casetab.c (set_case_table): Update callers.
8161
8162 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
8163
fab84e3c
SM
8164 * keymap.c (struct accessible_keymaps_data)
8165 (struct where_is_internal_data): New structures.
8166 (accessible_keymaps_1, where_is_internal_1): Use them to change
8167 interface to adhere to the one used by map_keymap.
8168 (Faccessible_keymaps, where_is_internal): Use map_keymap.
8169 (accessible_keymaps_char_table, where_is_internal_2): Remove.
8170
a1be1ce8
SM
8171 * keymap.h (map_keymap_function_t): More informative prototype.
8172
ef887810
RS
81732007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
8174
8175 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
8176 (looking_at_1): Don't change search_regs and last_thing_searched
8177 if `inhibit-changing-match-data' is non-nil.
8178 (string_match_1, search_buffer, set_search_regs): Likewise.
8179 (syms_of_search): Add Lisp level definition for
8180 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
8181 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
8182 start and end of the match, instead of using values in search_regs.
ef887810 8183
4d02fc25
SM
81842007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
8185
8186 * minibuf.c (Fcompleting_read): New value `confirm-only'
8187 for `require-match'.
8188
fe45b81f
SM
81892007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
8190
8191 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
8192 part of the 2007-06-27 change to syms_of_fileio.
8193
a56dd283
YM
81942007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8195
8196 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
8197 Check WINDOWP before using XWINDOW. Consolidate return statements.
8198
0cf9f5b5
RS
81992007-06-27 Richard Stallman <rms@gnu.org>
8200
8201 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
8202
a66f285a
JB
82032007-06-27 Juanma Barranquero <lekktu@gmail.com>
8204
8205 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
8206
8d0d84d2
YM
82072007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8208
8209 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
8210 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
8211 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
8212 (_free_internal, memalign): Use them.
8213 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
8214 Initialize to PTHREAD_MUTEX_INITIALIZER.
8215 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
8216 (morecore_nolock): Rename from morecore. All uses changed.
8217 Use only nolock versions of internal allocation functions.
8218 (_malloc_internal_nolock, _realloc_internal_nolock)
8219 (_free_internal_nolock): New functions created from
8220 _malloc_internal, _realloc_internal, and _free_internal.
8221 (_malloc_internal, _realloc_internal, _free_internal): Use them.
8222 Copy hook value to automatic variable before its use.
8223 (memalign): Copy hook value to automatic variable before its use.
8224
5a0bbd9a
KH
82252007-06-26 Kenichi Handa <handa@m17n.org>
8226
8227 * coding.c (Ffind_operation_coding_system): Docstring improved.
8228 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
8229
9a51747b
DK
82302007-06-25 David Kastrup <dak@gnu.org>
8231
8232 * keymap.c (Fcurrent_active_maps): Add `position' argument.
8233 (Fwhere_is_internal): Adjust call to `current-active-maps' to
8234 cater for additional parameter.
8235
8236 * keymap.h: Adjust number of parameters to `current-active-maps'.
8237
8238 * doc.c (Fsubstitute_command_keys): Adjust call of
8239 `current-active-maps'.
8240
e4305426
DK
82412007-06-25 David Kastrup <dak@gnu.org>
8242
8243 * callint.c (Fcall_interactively): Make the parsing of interactive
8244 specs somewhat more readable.
8245
511a18d9
YM
82462007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8247
8248 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
8249 to scroll bar gap also when bitmap fills fringe. Draw only foreground
8250 if extended background has already been filled.
8251
512eb161
YM
82522007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8253
8254 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
8255 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
8256
8257 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
8258 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
8259 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
8260 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
8261 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
8262 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
8263 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
8264 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
8265 Run timers during dialog popup.
8266 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
8267
2386b1f1
JR
82682007-06-21 Jason Rumney <jasonr@gnu.org>
8269
8270 * image.c (convert_mono_to_color_image): Swap fore and background.
8271
fab8b787
JR
82722007-06-20 Jason Rumney <jasonr@gnu.org>
8273
8274 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
8275 (w32_free_bdf_font): Unmap memory not handle.
8276
15bdd7a0 82772007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
8278
8279 * gmalloc.c (__morecore): Fix the declaration to comply with the
8280 definition.
8281
1bb8a291
JB
82822007-06-20 Juanma Barranquero <lekktu@gmail.com>
8283
8284 * w32term.c (w32_delete_display): Remove leftover declaration.
8285 (w32_define_cursor, w32_initialize): Make static.
8286
8287 * w32.c (_wsa_errlist): Fix typo in error message.
8288 (init_environment): Ignore any environment variable from the
8289 registry having a null value.
8290
92648dea
GM
82912007-06-20 Glenn Morris <rgm@gnu.org>
8292
8293 * Makefile.in (LIBGIF): Default to -lgif.
8294
ff25d115
JR
82952007-06-17 Jason Rumney <jasonr@gnu.org>
8296
8297 * w32menu.c (add_menu_item): Don't use multibyte string functions on
8298 unicode strings.
8299
a1a578a5
JB
83002007-06-16 Juanma Barranquero <lekktu@gmail.com>
8301
8302 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
8303 Fix typo in docstring.
8304
af41f8a8
EZ
83052007-06-16 Eli Zaretskii <eliz@gnu.org>
8306
8307 * w32menu.c (add_menu_item): Escape `&' characters in menu items
8308 and their keybindings.
8309
8b29cab9
CY
83102007-06-15 Chong Yidong <cyd@stupidchicken.com>
8311
8312 * composite.c (update_compositions): Fix last fix.
8313
c433c134
JR
83142007-06-14 Jason Rumney <jasonr@gnu.org>
8315
8316 * w32.c (get_process_times_fn): New function pointer.
8317 (globals_of_w32): Intialize it if present in kernel32.dll.
8318 (w32_get_internal_run_time): New function.
8319
8320 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
8321
553d3164
KH
83222007-06-14 Kenichi Handa <handa@etlken.m17n.org>
8323
8324 * composite.c (update_compositions): Check the validness of
8325 compositions.
8326
446ba96f
YM
83272007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8328
8329 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
8330 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
8331
8332 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
8333 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
8334
8335 * macgui.h (USE_MAC_TOOLBAR): New define.
8336
8337 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
8338 Return immediately unless popup is activated.
8339
8340 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
8341 background to scroll bar gap.
8342 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
8343 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
8344 scroll bars on frame edge. Check fringe background extension.
8345 Don't clear extended fringe background area.
8346 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
8347 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
8348 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
8349 [USE_MAC_TOOLBAR]: New macros.
8350 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
8351 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
8352 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
8353 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
8354 [USE_MAC_TOOLBAR]: New functions.
8355 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
8356 manually if previous repositioning has failed.
8357 (mac_handle_keyboard_event): Use precomputed event kind.
8358 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
8359 as tool bar item click. Handle mouse movement over tool bar items.
8360
8361 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
8362 toolbar_win_gravity.
8363 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
8364 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
8365 Add externs.
8366
8367 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
8368 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
8369
9720173f
CY
83702007-06-14 Chong Yidong <cyd@stupidchicken.com>
8371
8372 * image.c (search_image_cache): Remove unused variable.
8373
1217dd00
CY
83742007-06-13 Chong Yidong <cyd@stupidchicken.com>
8375
8376 * xfns.c, xmenu.c: Link to xaw3d if available.
8377
c5b8e0ea
YM
83782007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8379
8380 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
8381 frame_foreground and frame_background.
8382
8383 * image.c (lookup_image): Save frame foreground and background colors.
8384 (search_image_cache): Check if saved and current frame colors match.
8385
c69b0314
SM
83862007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
8387
8388 * regex.c (regex_compile): Remove the `regnum' counter.
8389 Use bufp->re_nsub instead. Add support for \(?N:RE\).
8390
c9612b8e
SM
83912007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
8392
8393 * term.c: Include intervals.h to declare Fget_text_property.
8394
843d2458
JR
83952007-06-10 Jason Rumney <jasonr@gnu.org>
8396
8397 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
8398
1e0d2d60 83992007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
8400
8401 * callint.c (Fcall_interactively):
8402 * editfns.c (Fdelete_and_extract_region):
8403 * fileio.c (Fread_file_name):
8404 * fns.c (Fmapconcat):
8405 * keyboard.c (cmd_error_internal):
8406 * keymap.c (Fkey_description):
8407 * lread.c (openp):
8408 * minibuf.c (read_minibuf):
8409 * search.c (wordify):
8410 * sunfns.c (sel_read):
8411 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
8412 * xfns.c (x_default_scroll_bar_color_parameter):
8413 * xmenu.c (menu_help_callback):
8414 * xselect.c (Fx_get_atom_name):
8415 * xterm.c (x_term_init): Use empty_unibyte_string.
8416
15bdd7a0 84172007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
8418
8419 * alloc.c (init_strings): Initialize canonical empty strings.
8420 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
8421 canonical empty string when the requested size is 0.
8422
8423 * emacs.c (empty_unibyte_string): Rename from empty_string.
8424 (empty_multibyte_string): New canonical empty string.
8425 (syms_of_emacs): Don't initialize empty_string.
8426
8427 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
8428 string, if appropriate.
8429 (empty_unibyte_string, empty_multibyte_string): New externs.
8430 (empty_string): Remove extern.
8431
8432 * lread.c (syms_of_lread): Use empty_unibyte_string.
8433
42c4c67a
JR
84342007-06-07 Jason Rumney <jasonr@gnu.org>
8435
8436 * s/ms-w32.h: Don't define HAVE_TZNAME.
8437
8438 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
8439
aa8280d3
YM
84402007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8441
8442 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
8443
8444 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
8445 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
8446
8447 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
8448 Don't call next handler.
8449 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
8450 Remove argument. Install handler to application.
8451 (set_frame_menubar): Don't change deep_p.
1e0d2d60 8452 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
8453 FRAME_OUTER_TO_INNER_DIFF_Y.
8454 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8455 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8456 [HAVE_DIALOGS]: New macros.
8457 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
8458 Use them.
8459 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
8460
8461 * macselect.c [MAC_OSX] (install_service_handler): Rename from
8462 init_service_handler. All callers changed. Return OSStatus value.
8463
8464 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
8465 All callers changed so as not to call SetPortWindowPort.
8466 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
8467 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
8468 mac_draw_string_common.
8469 (mac_draw_image_string_qd): Likewise.
8470 (mac_draw_string_common): Use them. Add INLINE.
8471 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
8472 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
8473 GetGlobalMouse.
8474 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
8475 and FRAME_OUTER_TO_INNER_DIFF_Y.
8476 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
8477 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
8478 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
8479 repositioning window to mac_handle_window_event.
8480 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
8481 saving window location to mac_handle_window_event
8482 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
8483 (install_menu_target_item_handler): Remove argument in extern.
8484 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
8485 Also accept command events.
8486 (do_keystroke): New function created from XTread_socket.
8487 (init_command_handler): Remove functions.
8488 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
8489 and save window location by kEventWindowShowing and kEventWindowHiding
8490 handlers here. Don't call next handler for window state change and
8491 focus events.
8492 (mac_handle_application_event, mac_handle_keyboard_event)
8493 [TARGET_API_MAC_CARBON]: New functions.
8494 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
8495 kEventWindowShowing and kEventWindowHiding events. Move installation
8496 of mouse, font, text input and menu target item handlers to
8497 install_application_handler.
8498 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
8499 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8500 New function.
8501 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8502 Register it.
c9612b8e
SM
8503 (XTread_socket) [TARGET_API_MAC_CARBON]:
8504 Consolidate SendEventToEventTarget calls.
8505 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
8506 Move application activation handler to mac_handle_application_event.
8507 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
8508 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
8509 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
8510 init_command_handler. Call install_application_handler.
8511
8512 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
8513 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
8514
6926c954
GM
85152007-06-07 Glenn Morris <rgm@gnu.org>
8516
8517 * emacs.c (main): Use `emacs-copyright' in --version output.
8518
6fe04c89
CY
85192007-06-06 Chong Yidong <cyd@stupidchicken.com>
8520
c9612b8e 8521 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 8522
7eb0d727
YM
85232007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8524
8525 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
8526
8527 * macgui.h: Replace WindowPtr with WindowRef.
8528
8529 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
8530 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
8531 Replace ControlHandle with ControlRef.
8532 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
8533
8534 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
8535 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
8536 Replace ControlHandle with ControlRef.
8537 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
8538 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
8539
8540 * macterm.h (struct scroll_bar): Rename member control_handle_low
8541 and control_handle_high to control_ref_low and control_ref_high.
8542 All uses changed.
8543 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
8544 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
8545 respectively. All uses changed.
8546 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
8547 (install_window_handler, remove_window_handler): Replace WindowPtr
8548 with WindowRef in externs.
8549
65fddb74
JB
85502007-06-05 Juanma Barranquero <lekktu@gmail.com>
8551
8552 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
8553
db1213a9
NR
85542007-06-03 Nick Roberts <nickrob@snap.net.nz>
8555
8556 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
8557
65fddb74 8558 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
8559 Condition on HAVE_GPM too.
8560
8561 * term.c (term_mouse_highlight): Remove unused variables.
8562 (Fterm_open_connection): Set gpm_zerobased to 1.
8563 (term_mouse_movement, term_mouse_click, handle_one_term_event):
8564 Use zero based co-ordinates.
8565 (handle_one_term_event): Report a drag as mouse movement too.
8566
8567 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
8568
d94df25b
CY
85692007-06-03 Chong Yidong <cyd@stupidchicken.com>
8570
8571 * image.c (search_image_cache): New function. Require background
8572 color match if background color is unspecified in the image spec.
8573 (uncache_image, lookup_image): Use it.
8574
4797b6d9
JB
85752007-06-01 Juanma Barranquero <lekktu@gmail.com>
8576
8577 * window.c (Fshrink_window): Reflow docstring.
8578
1ffe7343
NR
85792007-06-02 Chong Yidong <cyd@stupidchicken.com>
8580
8581 * Version 22.1 released.
8582
85832007-06-01 Richard Stallman <rms@gnu.org>
8584
8585 * xfns.c (x_encode_text): Add GCPRO.
8586
85872007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8588
8589 * xfns.c (x_set_name_internal): Save encoded name before
8590 x_encode_text in case string data is relocated.
8591
85922007-05-31 Richard Stallman <rms@gnu.org>
8593
8594 * buffer.c (syms_of_buffer): Doc fix.
8595
85962007-05-30 Nick Roberts <nickrob@snap.net.nz>
8597
8598 * sysdep.c (init_sys_modes): Add rather than replace with
8599 O_NONBLOCK.
8600
8601 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
8602 term_mouse_moveto.
8603
8604 * termhooks.h (term_mouse_moveto): New extern.
8605
8606 * term.c (mouse_face_window): Rename...
8607 (Qmouse_face_window): ...to this.
8608 (term_show_mouse_face, term_clear_mouse_face)
8609 (term_mouse_highlight): Use Qmouse_face_window.
8610 (term_mouse_moveto): New function.
8611 (term_mouse_position): Make it work.
8612 (syms_of_term): Uncomment assignment to mouse_position_hook.
8613 Staticpro Qmouse_face_window.
8614
86152007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8616
8617 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
8618 around current_column call.
8619
86202007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
8621
8622 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
8623 * xdisp.c (next_element_from_buffer):
8624 * window.c (delete_window):
8625 * term.c (term_mouse_highlight):
8626 * msdos.c (getdefdir):
8627 * macterm.c (mac_create_bitmap_from_bitmap_data)
8628 (init_font_name_table):
8629 * fns.c (Fsxhash):
8630 * data.c (Fmake_local_variable):
8631 * ccl.c (ccl_driver): Likewise.
8632
86332007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8634
8635 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
8636 Call mac_wakeup_from_rne on window size change.
8637
86382007-05-25 Chong Yidong <cyd@stupidchicken.com>
8639
8640 * image.c (uncache_image): Fix typo.
8641
86422007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
8643
8644 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
8645
86462007-05-22 Richard Stallman <rms@gnu.org>
8647
8648 * xterm.c (x_connection_closed): Remove NO_RETURN.
8649
86502007-05-22 Martin Rudalics <rudalics@gmx.at>
8651
8652 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
8653
86542007-05-21 Chong Yidong <cyd@stupidchicken.com>
8655
8656 * image.c (uncache_image): New function.
8657 (Fimage_refresh): New function.
8658
86592007-05-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8660
8661 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
8662
86632007-05-20 Nick Roberts <nickrob@snap.net.nz>
8664
8665 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
8666 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
8667
86682007-05-20 Nick Roberts <nickrob@snap.net.nz>
8669
8670 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
8671 conditional on [HAVE_GPM_H].
8672
86732007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
8674
8675 * syntax.c (skip_chars): Update syntax-table only after we checked that
8676 the new location is valid.
8677
86782007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8679
8680 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
8681 mac_get_window_bounds.
8682
86832007-05-20 Nick Roberts <nickrob@snap.net.nz>
8684
8685 * Makefile.in (LIBGPM): Allow it to be set from configure.
8686 If set then link Emacs with it.
8687
8688 * config.in: Regenerate.
8689
8690 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
8691 New externs.
8692
8693 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
8694 Include gpm.h.
8695 (handle_one_term_event, term_gpm): New externs.
8696
8697 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
8698 and allow it to be interrupted by SIGIO.
8699
8700 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
8701 (wait_reading_process_output): Wait on gpm_fd too.
8702 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
8703 (add_gpm_wait_descriptor_called_flag): New variable.
8704 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
8705
8706 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
8707 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
8708 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
8709 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
8710 (make_lispy_event): Add case GPM_CLICK_EVENT.
8711 (read_avail_input): Handle mouse input.
8712
8713 * term.c (write_glyphs_with_face): New function.
8714 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
8715 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
8716 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
8717 (mouse_face_face_id, term_gpm, pos_x, pos_y)
8718 (last_mouse_x, last_mouse_y): New variables.
8719 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
8720 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
8721 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
8722 (Fterm_close_connection): New functions.
8723 (term_init): Initialise mouse_face_window.
8724
87252007-05-19 Chong Yidong <cyd@stupidchicken.com>
8726
8727 * xdisp.c (redisplay_window): If first window line is a
8728 continuation line, recompute the new window start instead of
8729 recentering.
8730
87312007-05-18 Glenn Morris <rgm@gnu.org>
8732
8733 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
8734 Suggested by Alfred M. Szmidt <ams@gnu.org>.
8735
87362007-05-17 Glenn Morris <rgm@gnu.org>
8737
8738 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
8739
87402007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8741
8742 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
8743 dead key repeat and up events.
8744
87452007-05-14 Chong Yidong <cyd@stupidchicken.com>
8746
8747 * image.c (pbm_load): Check image size for monochrome pbm.
8748
87492007-05-13 Chong Yidong <cyd@stupidchicken.com>
8750
8751 * xterm.c (XTread_socket): Revert last change.
8752
87532007-05-12 Chong Yidong <cyd@stupidchicken.com>
8754
8755 * image.c (pbm_load): Correctly check image size for greyscale pbm.
8756
8757 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
8758
87592007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
8760
8761 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
8762 mixup (YAILOM).
8763
87642007-05-07 Andreas Schwab <schwab@suse.de>
8765
8766 * keymap.c (Flookup_key): Fix typo in last change.
8767
87682007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
8769
8770 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
8771 mapping for unibyte strings.
8772
87732007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8774
8775 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
8776 (Fx_popup_dialog) [MAC_OSX]: Likewise.
8777
87782007-04-29 Richard Stallman <rms@gnu.org>
8779
8780 * insdel.c (replace_range): For undo, record insertion first.
8781
87822007-04-29 Andreas Schwab <schwab@suse.de>
8783
8784 * lisp.h (VECSIZE): Use OFFSETOF.
8785
87862007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8787
8788 * xdisp.c (try_window_reusing_current_matrix): Fix number of
8789 disabled lines.
8790
87912007-04-28 Richard Stallman <rms@gnu.org>
8792
8793 * lread.c (read_escape): In a string, \s is always space.
8794
87952007-04-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8796
8797 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
8798
8799 * gtkutil.c (xg_update_menubar, create_menus): Create empty
8800 submenu for menu bar items.
8801
382c648d 8802See ChangeLog.10 for earlier changes.
6922b018
KH
8803
8804;; Local Variables:
49b3bd82 8805;; coding: iso-2022-7bit
33462dfa 8806;; add-log-time-zone-rule: t
6922b018 8807;; End:
2a34a036 8808
59ce725a 8809 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
8810
8811 This file is part of GNU Emacs.
8812
8813 GNU Emacs is free software; you can redistribute it and/or modify
8814 it under the terms of the GNU General Public License as published by
684d6f5b 8815 the Free Software Foundation; either version 3, or (at your option)
7f6d64f8
GM
8816 any later version.
8817
8818 GNU Emacs is distributed in the hope that it will be useful,
8819 but WITHOUT ANY WARRANTY; without even the implied warranty of
8820 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8821 GNU General Public License for more details.
8822
8823 You should have received a copy of the GNU General Public License
8824 along with GNU Emacs; see the file COPYING. If not, write to the
8825 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
8826 Boston, MA 02110-1301, USA.
ab5796a9 8827
28f60c3d 8828;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40