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