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