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