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