Include <ctype.h>
[bpt/emacs.git] / src / ChangeLog
1 2008-06-19 Kenichi Handa <handa@m17n.org>
2
3 * frame.c: Include <ctype.h>.
4 (x_set_font_backend): Allow spacing characters in the X resource
5 for FontBackend.
6
7 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
8
9 * w32fns.c, xfns.c (Qfont_param): New var.
10 (syms_of_w32fns): Initialize it.
11 (x_default_font_parameter): Record explicit `font' into
12 `font-parameter'.
13
14 2008-06-18 Kenichi Handa <handa@m17n.org>
15
16 * font.c (font_parse_xlfd): Fix previous change.
17 (font_parse_fcname): Don't use :fc-unknown-spec.
18 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
19 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
20 (font_add_log): Prepend the driver name to the resulting fonts.
21
22 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
23 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
24 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
25
26 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
27 (QCembolden): New variables.
28 (syms_of_xftfont): DEFSYM them.
29 (xftfont_open): Call XftFontMatch. Don't trust the result of
30 XftTextExtents8 if the pixel_size is less than 5.
31
32 2008-06-18 Andreas Schwab <schwab@suse.de>
33
34 * font.c (Ffont_face_attributes): Only define if
35 HAVE_WINDOW_SYSTEM.
36 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
37
38 2008-06-18 Jason Rumney <jasonr@gnu.org>
39
40 * w32font.c (w32font_list, w32font_match): Add logging.
41
42 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
43
44 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
45
46 * font.c (font_parse_fcname): Store divider characters for
47 unknown-spec list. For known key symbols, intern using correct
48 symbol name.
49
50 2008-06-17 Kenichi Handa <handa@m17n.org>
51
52 * xfaces.c (realize_default_face): If the frame is not on window
53 system, set the fontset of face to nil.
54
55 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
56
57 * fontset.c (fontset_pattern_regexp): Escape some reg-expr
58 characters.
59
60 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
61
62 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
63 (build_font_name_from_vector): Delete externs.
64
65 * xfaces.c (struct font_name): Don't declare.
66
67 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
68
69 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
70
71 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
72
73 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
74
75 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
76
77 * font.c (Ffont_spec): Fix usage in docstring.
78 (Ffont_face_attributes): Doc fix.
79
80 2008-06-16 Andreas Schwab <schwab@suse.de>
81
82 * font.c (Ffont_face_attributes): Fix definition.
83
84 2008-06-16 Jason Rumney <jasonr@gnu.org>
85
86 * font.h (font_style_symbolic_from_value): Remove.
87
88 * font.c (font_style_symbolic_from_value): Remove.
89 (font_style_symbolic): Revert to pre 2008-06-13 version.
90
91 * w32font.c (w32_to_fc_weight): New function.
92 (w32font_full_name, logfont_to_fcname): Use it.
93
94 2008-06-16 Kenichi Handa <handa@m17n.org>
95
96 * font.c (font_check_object): Delete it.
97 (font_clear_cache): Check if a font-object is alive.
98 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
99 font-object to nil.
100 (font_close_object): Don't check FONT_CLOSE_OBJECT.
101 (font_at): Don't call font_check_object.
102 (Ffont_get): Return a symbol for :weight, :slant, and :width.
103
104 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
105
106 * puresize.h (BASE_PURESIZE): Increase to 1230000.
107
108 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
109
110 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
111
112 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
113
114 * font.c (font_parse_fcname): Only one decimal point.
115 (font_unparse_fcname): Handle data in family and foundry indices
116 as symbols, not strings.
117 (font_unparse_gtkname, Ffont_face_attributes): New functions.
118
119 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
120
121 * font.h (font_unparse_gtkname): Add prototype.
122
123 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
124
125 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
126
127 2008-06-15 Andreas Schwab <schwab@suse.de>
128
129 * font.c (font_update_drivers): Fix crash when no drivers match.
130
131 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
132
133 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
134 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
135
136 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
137
138 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
139
140 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
141
142 * process.c (Fserial_process_configure, Fprocess_send_eof):
143 Use EQ to compare Lisp_Objects.
144
145 2008-06-13 Jason Rumney <jasonr@gnu.org>
146
147 * w32fns.c (Fw32_select_font): Remove old font API function.
148
149 * w32font.c (logfont_to_fcname): New function.
150 (Fx_select_font): New font dialog function compatible with
151 GTK/fontconfig version.
152
153 * font.c (font_style_symbolic_from_value): New function.
154 (font_style_symbolic): Use it.
155
156 * font.h (font_style_symbolic_from_value): Declare new function.
157
158 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
159
160 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
161 <font-width-table>: Fix typos in docstrings.
162
163 2008-06-13 Daniel Engeler <engeler@gmail.com>
164
165 These changes add serial port access.
166 * process.c: Add HAVE_SERIAL.
167 (Fdelete_process, Fprocess_status, Fset_process_buffer)
168 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
169 (list_processes_1, select_wrapper, Fstop_process)
170 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
171 (status_notify): Modify to handle serial processes.
172 [HAVE_SERIAL] (Fserial_process_configure)
173 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
174 New functions.
175 * process.h (struct Lisp_Process): Add `type'.
176 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
177 New functions.
178 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
179 serial ports.
180 (serial_open, serial_configure) New functions.
181 * w32.h: Add FILE_SERIAL.
182 (struct _child_process): Add ovl_read, ovl_write.
183
184 2008-06-13 Kenichi Handa <handa@m17n.org>
185
186 * dispextern.h (enum lface_attribute_index): New member
187 LFACE_FOUNDRY_INDEX.
188
189 * font.c (font_score): Delete arg alternate_families. Check only
190 weight, slant, width, and size. Ignore the difference of alias
191 style symbols.
192 (font_sort_entites): Adjust for the above change. Reflect the
193 order of font-driver to scores.
194 (font_list_entities): Don't check alternate_familes here.
195 (font_clear_prop): Handle foundry.
196 (font_update_lface): Don't parse "foundry-family" form here.
197 Handle FONT_FOUNDRY_INDEX.
198 (font_find_for_lface): Likewise. Handle alternate families here.
199 If registry is nil, try iso8859-1 and ascii-0.
200 (font_open_for_lface): Pay attention to size in ENTITY.
201 (font_open_by_name): Simplify by calling font_load_for_lface.
202 (free_font_driver_list): Delete it.
203 (font_update_drivers): Preserve the order of backends.
204 (syms_of_font): Setting of sort_shift_bits adjusted for the change
205 of font_score and font_sort_entites.
206 (font_update_sort_order): Likewise.
207
208 * xfaces.c (LFACE_FOUNDRY): New macro.
209 (check_lface_attrs): Check foundry.
210 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
211 (merge_face_vectors): Check foundry.
212 (merge_face_ref): Likewise.
213 (Finternal_set_lisp_face_attribute): Likewise.
214 (x_update_menu_appearance): Likewise.
215 (Finternal_get_lisp_face_attribute): Likewise.
216 (lface_hash): Likewise.
217 (lface_same_font_attributes_p): Likewise.
218 (x_supports_face_attributes_p): Likewise.
219 (tty_supports_face_attributes_p): Likewise.
220 (Finternal_set_alternative_font_family_alist): Intern strings.
221 (Finternal_set_alternative_font_registry_alist): Downcase strings.
222 (realize_default_face): Set LFACE_FOUNDRY (lface).
223
224 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
225 font-driver at first.
226
227 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
228
229 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
230
231 * lread.c (Fload): Use xfree, not free on saved_doc_string.
232
233 2008-06-12 Jim Meyering <meyering@redhat.com>
234
235 Make unexec_free handle NULL the same way free does.
236 * unexmacosx.c (unexec_free): Ignore a NULL argument.
237
238 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
239
240 * character.h (CHAR_TO_BYTE_SAFE): New macro.
241 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
242 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
243 (WEAK_ALIAS): Simplify.
244 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
245 when searching a unibyte buffer.
246
247 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
248
249 * xfns.c (Fx_select_font): Rename from x-font-dialog.
250
251 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
252
253 * w32font.c: Include ctype.h.
254
255 2008-06-11 Jason Rumney <jasonr@gnu.org>
256
257 * w32font.c (w32font_encode_char): Detect missing glyphs that are
258 misreported as space.
259 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
260 as aliases for registry iso10646-1.
261
262 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
263
264 * buffer.c (clone_per_buffer_values): Skip `name'.
265
266 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
267
268 * font.c (font_parse_fcname): Fix last change; accept decimal
269 points in font size.
270
271 2008-06-10 Jason Rumney <jasonr@gnu.org>
272
273 * w32uniscribe.c (add_opentype_font_name_to_list):
274 Skip non unicode fonts.
275
276 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
277
278 * xfns.c (Fx_font_dialog): New function.
279
280 * gtkutil.c (xg_dialog_response_cb): Rename from
281 xg_file_response_callback.
282 (pop_down_dialog): Rename from pop_down_file_dialog.
283 (xg_get_file_name): Callers changed.
284 (xg_get_font_name): New function.
285
286 * gtkutil.h (xg_get_font_name): Insert prototype.
287
288 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
289
290 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
291 x_underline_minimum_display_offset.
292 (syms_of_xdisp): Declare it here rather than in xterm.c.
293 * dispextern.h (underline_minimum_offset): Declare it.
294 * w32term.c (x_draw_glyph_string): Use it.
295 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
296 (syms_of_xterm): Don't declare it any more.
297 (x_draw_glyph_string): Adjust to the new name.
298
299 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
300
301 * xterm.c (x_underline_minimum_display_offset): New var.
302 (x_draw_glyph_string): Use it.
303 (syms_of_xterm): Declare it.
304
305 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
306
307 * font.c (font_parse_fcname): Accept GTK-style font names too.
308
309 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
310
311 * dired.c (file_name_completion): Don't return t if the match is exact
312 but with different capitalization.
313 * minibuf.c (Ftry_completion): Simplify.
314
315 * window.c (Vwindow_point_insertion_type): New var.
316 (set_window_buffer): Use it.
317 (syms_of_window): Init and export it to Lisp.
318
319 2008-06-10 Kenichi Handa <handa@m17n.org>
320
321 * font.h (font_intern_prop): Prototype adjusted.
322
323 * font.c (font_intern_prop): New arg force_symbol.
324 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
325 Adjust for the change of font_intern_prop.
326
327 * ftfont.c (ftfont_pattern_entity):
328 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
329 (w32_registry):
330 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
331 the change of font_intern_prop.
332
333 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
334
335 * w32menu.c (digest_single_submenu): Declare extern.
336
337 2008-06-09 Jason Rumney <jasonr@gnu.org>
338
339 * w32term.c (x_make_frame_visible): Use alternate restore flags.
340
341 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
342 (parse_single_submenu): Remove.
343 (digest_single_submenu): Remove.
344 (syms_of_w32menu): Don't initialise variables that have moved
345 to menu.c.
346 (set_frame_menubar): Sync with version in xmenu.c.
347 (w32_menu_show): Sync with xmenu_show in xmenu.c.
348
349 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
350 Make static again.
351
352 2008-06-09 Jason Rumney <jasonr@gnu.org>
353
354 Changes to w32 files related to the move of common menu code
355 to menu.c on 2008-06-08 by Chong Yidong.
356
357 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
358 defs to w32gui.h.
359 (single_keymap_panes, push_menu_item, push_menu_pane):
360 Make globally visible.
361
362 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
363 (local_free, malloc_widget_value, free_widget_value)
364 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
365 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
366 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
367 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
368 (menu_items, menu_items_allocated, menu_items_used)
369 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
370 (init_menu_items, finish_menu_items, discard_menu_items)
371 (grow_menu_items, push_submenu_start, push_submenu_end)
372 (push_left_right_boundary, push_menu_pane, push_menu_item)
373 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
374 (free_menubar_widget_tree_value, parse_single_submenu)
375 (update_submenu_strings): Remove functions.
376 (xmalloc_widget_value): Remove and declare extern.
377
378 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
379 (OBJ1): Build it.
380
381 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
382 (local_heap, local_alloc, local_free, malloc_widget_value)
383 (free_widget_value): Define here.
384
385 2008-06-09 Kenichi Handa <handa@m17n.org>
386
387 * font.h (Qascii_0): Extern it.
388
389 * font.c (Qascii_0): New variable.
390 (syms_of_font): DEFSYM it.
391 (font_open_by_name): If the registry "iso8859-1" fails, try also
392 "ascii-0".
393
394 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
395
396 2008-06-08 Kenichi Handa <handa@m17n.org>
397
398 * .gdbinit (xfont): New command.
399
400 2008-06-08 Andreas Schwab <schwab@suse.de>
401
402 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
403 * Makefile.in (menu.o): Update dependencies.
404
405 * Makefile.in (obj): Always add menu.o.
406 * emacs.c (main): Always call syms_of_menu.
407 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
408
409 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
410
411 * Makefile.in: Compile menu.c.
412
413 * lisp.h: Declare syms_of_menu.
414
415 * emacs.c (main): Call syms_of_menu.
416
417 * keyboard.h: Relocate platform-independent menu definitions from
418 xmenu.c.
419
420 * menu.c: New file. Relocate platform-independent menu
421 definitions from xmenu.c. Suggested by Adrian Robert.
422
423 * xmenu.c: Remove platform-independent menu definitions.
424 (menu_items menu_items_inuse, menu_items_allocated)
425 (menu_items_used, menu_items_n_panes)
426 (menu_items_submenu_depth): Move to keyboard.h.
427 (init_menu_items, finish_menu_items, unuse_menu_items)
428 (discard_menu_items, restore_menu_items, save_menu_items)
429 (grow_menu_items, push_submenu_start, push_submenu_end)
430 (push_left_right_boundary, push_menu_pane, push_menu_item)
431 (keymap_panes, single_keymap_panes, single_menu_item)
432 (list_of_panes, list_of_items, find_and_call_menu_selection)
433 (xmalloc_widget_value, free_menubar_widget_value_tree)
434 (parse_single_submenu, digest_single_submenu)
435 (update_submenu_strings): Move to menu.c.
436
437 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
438
439 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
440
441 2008-06-06 Miles Bader <miles@gnu.org>
442
443 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
444 face, not frame default.
445
446 2008-06-05 Martin Rudalics <rudalics@gmx.at>
447
448 * window.c (pop_up_windows, pop_up_frames)
449 (display_buffer_reuse_frames, Vpop_up_frame_function)
450 (Vdisplay_buffer_function, Veven_window_heights)
451 (Vspecial_display_buffer_names, Vspecial_display_regexps)
452 (Vspecial_display_function, Vsame_window_buffer_names)
453 (Vsame_window_regexps, split_height_threshold)
454 (Vsplit_window_preferred_function): Move those vars to window.el.
455 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
456 (Fdisplay_buffer): Move those functions to window.el.
457 (syms_of_window): Remove corresponding declarations.
458 (display_buffer): New function.
459 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
460 * dispnew.c (Flast_nonminibuf_frame): New function.
461 * buffer.c (Fpop_to_buffer): Move to window.el.
462
463 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
464
465 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
466
467 2008-06-05 Kenichi Handa <handa@m17n.org>
468
469 * coding.c (detect_coding): Fix previous change.
470 (detect_coding_system): Likewise.
471
472 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
473
474 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
475
476 * keymap.c (Vminibuffer_local_filename_must_match_map):
477 Rename from Vminibuffer_local_must_match_filename_map.
478 (syms_of_keymap):
479 * minibuf.c (Fcompleting_read): Adjust accordingly.
480 * commands.h: Rename declaration as well.
481
482 2008-06-05 Kenichi Handa <handa@m17n.org>
483
484 * font.c (Ffont_spec): Don't use font_parse_family_registry for
485 family name.
486 (Ffont_put): Likewise.
487
488 * fontset.c (fontset_find_font): Call font_open_for_lface with the
489 current font-spec.
490
491 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
492 is unspecified.
493
494 * xfaces.c (realize_x_face): If the font-related face attributes
495 are the same as those of default face, realize a new fontset from
496 default->fontset.
497 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
498
499 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
500
501 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
502 (move_it_in_display_line): New wrapper.
503
504 * window.c (window_scroll_pixel_based_preserve_x)
505 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
506 (window_scroll_pixel_based, window_scroll_line_based):
507 Use them to preserve column positions.
508 (syms_of_window): Initialize them.
509
510 * indent.c (Fvertical_motion): Extend first arg to allow passing an
511 (HPOS . VPOS) pair.
512
513 * dispextern.h (move_it_in_display_line): Declare.
514
515 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
516
517 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
518 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
519 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
520
521 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
522
523 * window.c (Fset_window_parameter): Doc fix.
524 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
525
526 2008-06-04 Joakim Verona <joakim@verona.se>
527
528 * window.h (struct window): Add new member window_parameters.
529
530 * window.c (Fwindow_parameters, Fwindow_parameter)
531 (Fset_window_parameter): New defuns.
532 (syms_of_window): Defsubr the new defuns.
533 (make_window): Initialize window_parameters to nil.
534
535 2008-06-04 John Paul Wallington <jpw@pobox.com>
536
537 * eval.c (Fdefmacro): Doc fix.
538
539 2008-06-04 Kenichi Handa <handa@m17n.org>
540
541 * coding.c (detect_coding): Fix handling of coding->head_ascii.
542 Be sure to call setup_coding_system when we find a proper coding system.
543 (detect_coding_system): Fix handling of coding->head_ascii.
544
545 2008-06-03 Andreas Schwab <schwab@suse.de>
546
547 * font.c (font_prop_validate_spacing): Fix last change.
548
549 2008-06-03 Kenichi Handa <handa@m17n.org>
550
551 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
552 (font_parse_fcname): Fix handling of unknown key.
553
554 * xfont.c (xfont_list): Try an alias.
555
556 * charset.c (char_charset): Return NULL if the arg charset_list is
557 specified and C doesn't belong to any of them.
558
559 2008-06-02 Chip Coldwell <coldwell@redhat.com>
560
561 * font.c (font_pixel_size): Don't take cdr of an integer.
562
563 2008-06-02 Jim Meyering <meyering@redhat.com>
564
565 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
566 * alloc.c (xfree): Return right away for a NULL arg.
567 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
568 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
569 * mac.c (create_apple_event_from_event_ref): Likewise.
570 (create_apple_event_from_drag_ref, cfstring_create_normalized):
571 Likewise.
572 * doprnt.c (doprnt1): Likewise.
573 * frame.c (frame): Likewise.
574 * keyboard.c (wipe_kboard): Likewise.
575 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
576 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
577 * term.c (tty_default_color_capabilities, maybe_fatal)
578 (delete_tty): Likewise.
579 * w16select.c (string): Likewise.
580 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
581 * w32bdf.c (w32_free_bdf_font): Likewise.
582 * w32fns.c (w32_unload_font): Likewise.
583 * w32font.c (w32font_close): Likewise.
584 * window.c (size_window): Likewise.
585 * xselect.c (receive_incremental_selection): Likewise.
586 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
587 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
588 * w32.c (stat): Likewise.
589
590 Remove useless if-before-free tests.
591 * editfns.c (Fset_time_zone_rule): Likewise.
592 * lread.c (nosuffix): Likewise.
593 * ralloc.c (get_bloc): Likewise.
594 * regex.c (reg_free): Likewise.
595 * xftfont.c (xftfont_open, xftfont_close): Likewise.
596 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
597 * xsmfns.c (smc_save_yourself_CB): Likewise.
598
599 2008-06-02 Kenichi Handa <handa@m17n.org>
600
601 * font.c (font_find_for_lface): Handle float font size.
602 (font_open_for_lface): Likewise.
603
604 * xfaces.c (x_supports_face_attributes_p): Check face->font before
605 comparing the properties.
606
607 2008-06-01 Jason Rumney <jasonr@gnu.org>
608
609 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
610 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
611 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
612 Don't add empty script list.
613 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
614
615 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
616
617 * Makefile.in (dot, dotdot): Remove, update users.
618 ".." has been used elsewhere in the file for a long time.
619 (LIBXT_STATIC): Remove conditional based on unused variable.
620
621 2008-06-01 Miles Bader <miles@gnu.org>
622
623 * xfaces.c (Vface_remapping_alist): New variable.
624 (syms_of_xfaces): Initialize it.
625 (enum named_merge_point_kind): New type.
626 (struct named_merge_point): Add `named_merge_point_kind' field.
627 (push_named_merge_point): Make cycle detection respect different
628 named-merge-point kinds.
629 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
630 Remove face-name alias resolution.
631 (lface_from_face_name): New definition using
632 `lface_from_face_name_no_resolve'.
633 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
634 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
635 (get_lface_attributes): New definition that layers face-remapping on
636 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
637 (lookup_basic_face): New function.
638 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
639 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
640 `get_lface_attributes'.
641 (face_at_buffer_position): Use `lookup_basic_face' to lookup
642 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
643 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
644
645 * xdisp.c (init_iterator): Pass base_face_id through
646 `lookup_basic_face' when we actually use it as a face-id.
647 (handle_single_display_prop): Use `lookup_basic_face' to lookup
648 DEFAULT_FACE_ID.
649
650 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
651 lookup the initial face-id.
652
653 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
654
655 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
656
657 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
658 (Fremove_text_properties): Fix typos in docstrings.
659
660 2008-05-31 Kenichi Handa <handa@m17n.org>
661
662 * font.c (font_list_entities): Fix the car part of data to be
663 stored in the cache.
664
665 * ftfont.c (ftfont_font_format): Don't use strcasestr.
666
667 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
668
669 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
670 Add a `test' argument so another predicate than `equal' can be used.
671 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
672 (map_char_table): Remove unused vars `c' and `i'.
673 * lisp.h (Foptimize_char_table): Adjust declaration.
674 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
675
676 2008-05-30 Kenichi Handa <handa@m17n.org>
677
678 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
679 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
680 defined.
681
682 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
683
684 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
685 (Fmake_variable_frame_local): Disallow mixing buffer-local and
686 frame-local settings for the same variable.
687
688 2008-05-30 Kenichi Handa <handa@m17n.org>
689
690 * fontset.c (Ffont_info): Move to font.c.
691 (syms_of_fontset): Delete defsubr of Sfont_info.
692
693 * font.c (font_style_to_value, font_score): Delete casting of the
694 args to xstcasecmp.
695 (register_font_driver): Increment num_font_drivers only when
696 registering the driver globally.
697 (Ffont_info): Move from fontset.c. Handle a font object too.
698 (syms_of_font): Defsubr Sfont_info.
699
700 2008-05-29 Kenichi Handa <handa@m17n.org>
701
702 * coding.h (enum define_coding_utf8_arg_index): New enum.
703 (enum coding_attr_index): Change coding_attr_utf_16_bom to
704 coding_attr_utf_bom.
705 (enum utf_bom_type): Rename from utf_16_bom_type.
706 (struct utf_16_spec): Adjust for the above change.
707 (struct coding_system): Add utf_8_bom in `spec' union.
708
709 * coding.c (CODING_UTF_8_BOM): New macro.
710 (enum coding_category): Delete coding_category_utf_8, add
711 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
712 coding_category_utf_8_sig.
713 (CATEGORY_MASK_UTF_8): Delete it.
714 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
715 (CATEGORY_MASK_UTF_8_SIG): New macros.
716 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
717 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
718 CATEGORY_MASK_UTF_8_SIG.
719 (CATEGORY_MASK_UTF_8): New macro.
720 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
721 (detect_coding_utf_8): Check BOM.
722 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
723 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
724 (encode_coding_utf_16): Likewise.
725 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
726 (detect_coding, detect_coding_system): Handle utf-8-auto.
727 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
728 (syms_of_coding): Fix setting up of Vcoding_category_table.
729
730 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
731
732 * process.c (Faccept_process_output): If `millisec' is non-nil,
733 `seconds' default to 0.
734 (wait_reading_process_output): Also return non-nil if we read output
735 from a non-running process.
736
737 2008-05-29 Jason Rumney <jasonr@gnu.org>
738
739 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
740 `raster' specified.
741 (add_font_entity_to_list): Allow non-opentype truetype fonts back
742 in the uniscribe backend, but disallow any font that has no
743 unicode subrange support.
744
745 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
746
747 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
748 Fix typos in docstrings.
749
750 2008-05-29 Kenichi Handa <handa@m17n.org>
751
752 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
753 (Fx_family_fonts): Set frame correctly.
754
755 2008-05-28 Jason Rumney <jasonr@gnu.org>
756
757 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
758
759 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
760
761 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
762 calling build_annotations.
763
764 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
765
766 * coding.c (Fdecode_coding_region, Fencode_coding_region)
767 (Fencode_coding_string):
768 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
769 <latin-extra-code-table>: Fix typos in docstrings.
770 (syms_of_coding) <coding-system-alist>: Doc fix.
771 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
772
773 2008-05-28 Kenichi Handa <handa@m17n.org>
774
775 * fontset.c (Ffont_info): Don't call font_close_object.
776
777 * font.c (font_parse_family_registry): Use Ffont_put to validate
778 foundry and family.
779 (font_delete_unmatched): Don't check spacing.
780 (font_list_entities): Add spacing to the spec to list fonts.
781
782 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
783 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
784
785 * coding.c (encode_coding_raw_text): Fix previous change.
786 (encode_coding_object): When the dst_object is a buffer and is
787 different from src_object, move gap to PT.
788
789 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
790
791 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
792
793 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
794
795 * coding.c (encode_coding_raw_text): Set coding->produced_char for
796 all branches. Compute it differently.
797
798 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
799
800 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
801
802 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
803 into "else if () ... else ...".
804
805 2008-05-27 Jason Rumney <jasonr@gnu.org>
806
807 * w32font.c (w32font_open_internal): Determine if glyph indices
808 are likely to work here.
809
810 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
811
812 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
813 draw overlap glyphs with appropriate highlighting.
814
815 2008-05-27 Kenichi Handa <handa@m17n.org>
816
817 * xfont.c (xfont_open): Fix calculation of font->average_width.
818
819 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
820
821 * casefiddle.c (casify_object): Try to guess better whether the
822 argument is a byte or a char.
823
824 2008-05-26 Andreas Schwab <schwab@suse.de>
825
826 * xselect.c (x_reply_selection_request): Properly handle format == 32.
827 Always send multiples of format size.
828
829 * xterm.c (x_set_frame_alpha): Fix type mismatch.
830
831 2008-05-26 Jason Rumney <jasonr@gnu.org>
832
833 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
834 (compute_metrics): Don't set failure if we just cleared the cache.
835 (w32_weight_table): Remove unused variable.
836 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
837 backwards compatibility.
838
839 2008-05-25 Kenichi Handa <handa@m17n.org>
840
841 * w32term.c (x_draw_glyph_string):
842 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
843
844 * xfaces.c: Delete unused function prototypes.
845 (xstrlwr, font_frame): Delete them.
846 (clear_face_cache): Delete unused variable.
847
848 * xftfont.c (xftfont_open): Delete unused variable.
849 If underline_thickness is not 1, adjust underline_position.
850
851 * ftxfont.c (ftxfont_open): Delete unused variable.
852
853 * fontset.c (face_for_char): Optimize for the case of no charset
854 property.
855
856 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
857 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
858 (otf_open, font_otf_capability, generate_otf_features)
859 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
860 Comment out by surrounding "#if 0" and "#endif" for the moment.
861 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
862 (syms_of_font): Codes for accessing above commented out.
863
864 2008-05-24 Eli Zaretskii <eliz@gnu.org>
865
866 * w32proc.c: Include dispextern.h.
867
868 * w32.c: Include dispextern.h.
869
870 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
871
872 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
873 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
874 Fix typos in docstrings.
875
876 2008-05-23 Jason Rumney <jasonr@gnu.org>
877
878 * xsmfns.c: Remove includes that are already included by config.h.
879
880 2008-05-23 Kenichi Handa <handa@m17n.org>
881
882 * charset.c (Qemacs, charset_emacs): New variables.
883 (char_charset): Fix for non-Unicode characters.
884 (syms_of_charset): Define charset_emacs.
885
886 * w32term.c (x_draw_glyph_string): Be sure to update
887 s->underline_thickness and s->underline_position. Be sure to draw
888 underline within the current line area.
889
890 * xterm.c (x_draw_glyph_string): Be sure to update
891 s->underline_thickness and s->underline_position. Be sure to draw
892 underline within the current line area.
893
894 * fontset.c: Delete unused variables and add casting for char *
895 throughout the file.
896 (fontset_font): Try the fallback fonts of the current fontset
897 before consulting the default fontset.
898
899 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
900
901 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
902
903 2008-05-22 Jason Rumney <jasonr@gnu.org>
904
905 * font.c: Don't include strings.h.
906
907 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
908
909 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
910 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
911 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
912 to call xstrcasecmp.
913
914 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
915
916 * fontset.c (fs_query_fontset): Use xstrcasecmp.
917
918 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
919
920 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
921
922 2008-05-22 Kenichi Handa <handa@m17n.org>
923
924 * puresize.h (BASE_PURESIZE): Increase to 1220000.
925
926 * font.c (font_prop_validate_style): Adjust for the format
927 change of font_style_table.
928
929 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
930 two args.
931
932 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
933 two args.
934
935 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
936
937 * minibuf.c (keys_of_minibuf): Delete.
938 * lisp.h (keys_of_minibuf): Delete.
939 * emacs.c (main): Don't call keys_of_minibuf.
940
941 2008-05-22 Kenichi Handa <handa@m17n.org>
942
943 * ftfont.c (ftfont_resolve_generic_family): Rename from
944 ftfont_list_generic_family. Return a single family for each
945 generic family.
946 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
947 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
948 Call font_add_log.
949 (ftfont_match): Call font_add_log.
950
951 * font.h (Ffont_xlfd_name): EXFUN adjusted.
952 (FONT_DEBUG): Define it.
953 (font_add_log): Extern it.
954 (font_assert): Rename from xassert.
955
956 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
957 (xfont_list_family): Call font_add_log.
958 (xfont_match): Likewise.
959 (memq_no_quit): Delete.
960
961 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
962 call of Ffont_xlfd_name.
963
964 * xfaces.c (struct table_entry, slant_table, weight_table)
965 (swidth_table): Move to font.c.
966
967 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
968 xassert are changed to font_assert. Delete many unused variables.
969 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
970 New variables.
971 (struct table_entry): Move from xfaces.c and modified.
972 (weight_table, slant_table, width_table): Move from xfaces.c and
973 contents adjusted for the change of struct table_entry.
974 (font_style_to_value, font_style_symbolic): Adjust for the
975 format change of font_style_table.
976 (font_parse_family_registry): Don't overwrite existing foundry and
977 family of font_spec.
978 (font_score): Fix calculation of diff for sizes.
979 (font_sort_entites): Call font_add_log.
980 (font_delete_unmatched): Return a newly created list.
981 (font_list_entities): Fix previous change. Call font_add_log.
982 (font_matching_entity, font_open_entity, font_close_entity):
983 Call font_add_log.
984 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
985 (Finternal_set_font_style_table): Delete.
986 (BUILD_STYLE_TABLE): New macro.
987 (build_style_table): New function.
988 (Vfont_log, font_log_env_checked): New variables.
989 (font_add_log): New function.
990 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
991 Declare Lisp variables "font-weight-table", "font-slant-table",
992 "font-width-table", and "font-log". Initialize font_style_table.
993
994 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
995
996 * xterm.c (x_set_frame_alpha): Move declarations before statements.
997
998 2008-05-21 Seiji Zenitani <zenitani@mac.com>
999 Ryo Yoshitake <ryo@shiftmode.net>
1000
1001 * frame.c (Qalpha): Add a new frame parameter `alpha'.
1002 (Vframe_alpha_lower_limit): New variable.
1003 (x_set_alpha): New function.
1004
1005 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
1006
1007 * xfns.c (x-create-frame, Qalpha):
1008 Initialize the frame parameter `alpha'.
1009 * xterm.c (OPAQUE, OPACITY): New.
1010 (x_set_frame_alpha): New function.
1011 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
1012
1013 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
1014 * w32fns.c (w32_frame_parm_handlers): Likewise.
1015
1016 2008-05-20 Jason Rumney <jasonr@gnu.org>
1017
1018 * w32font.c (add_font_entity_to_list): Don't add non-opentype
1019 truetype fonts to opentype list.
1020
1021 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
1022
1023 * fontset.c (Ffontset_info): Doc fix.
1024 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
1025 <ignore-relative-composition>: Fix typos in docstrings.
1026
1027 * font.c (syms-of-font) <font-encoding-alist>:
1028 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
1029 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
1030 (Ffont_otf_alternates): Doc fixes.
1031
1032 2008-05-20 Kenichi Handa <handa@m17n.org>
1033
1034 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
1035 font.h through out the file.
1036 (FONT_DRIVERS): Rename from FONTOBJ.
1037 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
1038 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
1039
1040 * emacs.c (main): Call syms_of_font unconditionally.
1041
1042 * font.h (find_font_encoding): Extern it.
1043
1044 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
1045 fontset.c.
1046 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
1047 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
1048 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
1049 only when HAVE_WINDOW_SYSTEM is defined.
1050 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
1051 when HAVE_WINDOW_SYSTEM is defined.
1052
1053 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
1054 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
1055
1056 * xfaces.c: Include font.h unconditionally.
1057 (merge_face_ref, merge_face_vectors)
1058 (Finternal_set_lisp_face_attribute): Cancel the previous change.
1059
1060 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
1061
1062 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
1063 indirect_variable.
1064 * eval.c (lisp_indirect_variable): New fun.
1065 (Fuser_variable_p): Use it.
1066
1067 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1068
1069 * lisp.h (indirect_variable):
1070 * data.c (indirect_variable, let_shadows_buffer_binding_p):
1071 Use Lisp_Symbol pointers rather than Lisp_Object.
1072 Adjust callers.
1073 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
1074 To this end, change calling-convention.
1075
1076 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
1077 if some non-hidden buffers are selected by string&pred.
1078
1079 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
1080
1081 * process.c (wait_reading_process_output): Always check status
1082 when in batch mode.
1083
1084 2008-05-19 Kenichi Handa <handa@m17n.org>
1085
1086 * font.c (font_list_entities): Fix handling of cache.
1087 (font_matching_entity): Likewise.
1088
1089 * ftfont.c (cs_iso8859_1): Delete.
1090 (ft_face_cache): New variable.
1091 (struct ftfont_info): New member fc_charset_idx.
1092 (ftfont_build_basic_charsets): Delete.
1093 (fc_charset_table): New variable.
1094 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
1095 . FC_CHARSET_IDX) as :font-entity property in the font entity.
1096 Callers changed.
1097 (ftfont_lookup_cache, ftfont_get_charset): New functions.
1098 (ftfont_spec_pattern): New argument fc_charset_idx.
1099 Check registry more rigidly. Change callers.
1100 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
1101 change of :font-entity property of the font.
1102
1103 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
1104 property of the font.
1105
1106 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
1107
1108 * coding.c (Fcoding_system_p): Rename argument to match docstring.
1109 (Funencodable_char_position, Fcheck_coding_systems_region)
1110 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
1111 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
1112 (Ffind_operation_coding_system, Fset_coding_system_priority)
1113 (Fcoding_system_eol_type): Doc fixes.
1114
1115 2008-05-17 Glenn Morris <rgm@gnu.org>
1116
1117 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
1118
1119 2008-05-16 Eli Zaretskii <eliz@gnu.org>
1120
1121 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
1122 and st_gid.
1123
1124 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1125 HAVE_WINDOW_SYSTEM is not defined.
1126
1127 * xfaces.c (merge_face_ref, merge_face_vectors)
1128 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
1129 HAVE_WINDOW_SYSTEM is defined.
1130 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
1131
1132 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
1133
1134 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
1135
1136 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1137
1138 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
1139
1140 2008-05-15 Kenichi Handa <handa@m17n.org>
1141
1142 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
1143 preference.
1144
1145 2008-05-15 Glenn Morris <rgm@gnu.org>
1146
1147 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
1148
1149 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
1150
1151 * fns.c (init_fns): Don't initialize weak_hash_tables here.
1152 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
1153
1154 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
1155
1156 2008-05-15 Kenichi Handa <handa@m17n.org>
1157
1158 * ftfont.c (ftfont_list): Downcase family name to check generic
1159 families.
1160
1161 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
1162 font-spec for QCfont value.
1163
1164 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
1165 buffer. Check the return value of it.
1166
1167 2008-05-14 Jason Rumney <jasonr@gnu.org>
1168
1169 * w32term.c (w32_get_glyph_overhangs): Remove.
1170 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
1171
1172 2008-05-14 Kenichi Handa <handa@m17n.org>
1173
1174 * font.c (font_prop_validate): Make nil a valid value.
1175 (font_clear_cache): Check if the cached vector of entities is nil
1176 or not.
1177
1178 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1179
1180 * emacs.c (main_thread): Conditionalize on
1181 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1182 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
1183
1184 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
1185 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
1186 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1187
1188 2008-05-14 Kenichi Handa <handa@m17n.org>
1189
1190 * coding.c (detect_coding_iso_2022): Ignore a coding category that
1191 has no corresponding coding system.
1192
1193 2008-05-14 Jason Rumney <jasonr@gnu.org>
1194
1195 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
1196
1197 * w32font.h (w32font_open_internal): Update declaration.
1198
1199 * w32font.c (w32font_open_internal): Change last argument from
1200 w32font_info struct to font object. Fill in font object from
1201 font_entity. Get Outline metrics if possible. Use them to
1202 calculate underline position and thickness. Use xlfd name as name
1203 property. Don't set codepage.
1204 (w32font_open): Pass font_object to w32font_open_internal. Don't
1205 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
1206 (w32font_draw): Use s->font.
1207 (clear_cached_metrics): Don't clear non-existent blocks.
1208
1209 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
1210 font was not found.
1211 (x_draw_glyph_string): Use underline position and thickness from font.
1212
1213 * w32uniscribe.c (uniscribe_open): Pass font_object to
1214 w32font_open_internal.
1215
1216 2008-05-14 Kenichi Handa <handa@m17n.org>
1217
1218 These changes are to delete all legacy font-handling codes, and
1219 make Emacs use only font-backends.
1220
1221 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
1222 (frame.o, image.o, print.o): Depend on $(FONTSRC).
1223
1224 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
1225
1226 * charset.h (Vcharset_non_preferred_head)
1227 (Vcurrent_iso639_language): Extern them.
1228
1229 * charset.c (Vcharset_non_preferred_head): New variable.
1230 (Vcurrent_iso639_language): New variable.
1231 (syms_of_charset): Declare it as a Lisp variable.
1232 (char_charset): Don't check non preferred charsets. As a last
1233 resort, return charset_unicode.
1234 (Fset_charset_priority): Update Vcharset_non_preferred_head.
1235
1236 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
1237 conditionals. Don't check enable_font_backend. Delete all codes
1238 used only when USE_FONT_BACKEND is not defined.
1239
1240 * dispextern.h (struct glyph_string): Change type of `font' to
1241 `struct font *'.
1242 (struct glyph_string): New member underline_position and
1243 underline_thickness.
1244 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
1245 (struct face): Change type of `font' to `struct font *'. Remove
1246 members `font_name', `font_info_id'.
1247 (per_char_metric, encode_char): Delete externs.
1248 (calc_pixel_width_or_height): Adjust the prototype.
1249
1250 * emacs.c (enable_font_backend): Delete extern.
1251 (main): Don't set enable_font_backend. Don't check the command
1252 line argument "-disable-font-backend".
1253
1254 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
1255 (enum font_property_index): New members FONT_DPI_INDEX,
1256 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
1257 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
1258 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
1259 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
1260 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
1261 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
1262 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
1263 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
1264 (struct font_spec, struct font_entity): New structs.
1265 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
1266 (struct font): Many members from old "struct font_info" moved to
1267 here. Members font and entity deleted.
1268 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
1269 the new font-related objects.
1270 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
1271 (CHECK_FONT_GET_OBJECT): Likewise.
1272 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
1273 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
1274 (struct font_driver): New members case_sensitive anc check. Type
1275 of the member list and open changed.
1276 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
1277 (font_symbolic_width, font_find_object, font_get_spec)
1278 (font_set_lface_from_name): Delete extern.
1279 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
1280
1281 * font.c: Include <strings.h>.
1282 (enable_font_backend): Delete it.
1283 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
1284 (CHECK_VALIDATE_FONT_SPEC): Delete it.
1285 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
1286 (null_string): Delete it.
1287 (null_vector): Make it static.
1288 (font_family_alist): Delete it.
1289 (Qnormal): Extern it.
1290 (QCextra, QClanguage): Delete it.
1291 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
1292 (font_make_spec, font_make_entity, font_make_object)
1293 (font_intern_prop): Renamed from intern_downcase. Don't downcase
1294 the string. Callers changed.
1295 (font_pixel_size): Adjusted for the format change of font-related
1296 objects.
1297 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
1298 (font_style_to_value, font_style_symbolic): New function.
1299 (build_font_family_alist): Delete it.
1300 (font_registry_charsets): Use Fassoc_string instead of
1301 assq_no_quit.
1302 (font_prop_validate_symbol): Don't return null_string.
1303 (font_prop_validate_style): Adjusted for the change of
1304 style-related values in a font vector.
1305 (font_property_table): Delete entries for QClanguage and
1306 QCantialias, add entries for QCavgwidth.
1307 (get_font_prop_index): Delete the 2nd argument FROM.
1308 (font_prop_validate): Arguments changed.
1309 (font_put_extra): Adjusted for the change of font-related objects.
1310 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
1311 (font_parse_fcname, font_unparse_fcname)
1312 (font_prepare_composition): Likewise.
1313 (font_parse_family_registry): Renamed from font_merge_old_spec.
1314 (otf_open): Delete the 1st arg entity.
1315 (font_otf_capability): Adjusted for the above change.
1316 (font_score): New arg alternate_families. Adjusted for the change
1317 of font-related objects.
1318 (font_sort_entites): New arg best_only.
1319 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
1320 Delete them.
1321 (font_match_p): Check alternate families.
1322 (font_find_object): Delete it.
1323 (font_check_object): New function.
1324 (font_clear_cache): Adjusted for the change of font-related objects.
1325 (font_delete_unmatched): New arg.
1326 (font_list_entities): Call font_driver->list with a spec that
1327 doesn't specify style-related properties.
1328 (font_matching_entity): Arguments changed. Caller changed.
1329 (font_open_entity): Adjusted for the change of font-related objects.
1330 (font_close_object, font_has_char, font_encode_char)
1331 (font_get_name, font_get_spec): Likewise.
1332 (font_spec_from_name, font_clear_prop, font_update_lface):
1333 New functions.
1334 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
1335 (font_prepare_for_face, font_done_for_face, font_open_by_name)
1336 (font_at): Adjusted for the change of font-related objects.
1337 (font_range): New function.
1338 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
1339 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
1340 (Fcopy_font_spec, Fmerge_font_spec): New function.
1341 (Ffont_family_list): Renamed from list-families.
1342 (Finternal_set_font_style_table): Arguments changed.
1343 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
1344 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
1345 change of font-related objects.
1346 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
1347
1348 * fontset.h (struct font_info): Delete it. Most members go to
1349 struct font.
1350 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
1351 (enum FONT_SPEC_INDEX): Delete it.
1352 (font_info, list_fonts_func, load_font_func, query_font_func)
1353 (set_frame_fontset_func, find_ccl_program_func)
1354 (get_font_repertory_func, new_fontset_from_font_name): Delete
1355 externs.
1356 (fontset_from_font_name): Extern it.
1357 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
1358 (FONT_INFO_FROM_FACE): Deleted.
1359 (face_for_font): Adjust prototype.
1360
1361 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
1362 conditionals. Don't check enable_font_backend. Delete all codes
1363 used only when USE_FONT_BACKEND is not defined.
1364 (get_font_info_func, list_font_func, load_font_func)
1365 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
1366 (get_font_repertory_func): Delete them.
1367 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
1368 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
1369 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
1370 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
1371 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
1372 (fontset_compare_rfontdef): New function.
1373 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
1374 ront-defs by qsort. Adjusted for the change of font-group vector.
1375 (load_font_get_repertory): Deleted.
1376 (fontset_find_font): Use new macros to ref/set elements of
1377 font-def and rfont-def.
1378 (fontset_font): Fix the timing of remembering that no font for C.
1379 (free_face_fontset): Do nothing if the face has no fontset.
1380 (face_suitable_for_char_p): Use new macros to ref/set elements of
1381 rfont-def.
1382 (face_for_char): Likewise. Call face_for_char with font_object.
1383 (fs_load_font): Delete. Delete #pragma surrounding it.
1384 (fs_query_fontset): Use strcasecmp instead of strcmp.
1385 (generate_ascii_font_name): Adjusted for the format change of
1386 font-spec.
1387 (Fset_fontset_font): Likewise. Use new macros to set elements of
1388 font-def.
1389 (Fnew_fontset): Use font_unparse_xlfd to generate
1390 FONTSET_ASCII (fontset).
1391 (new_fontset_from_font_name): Deleted.
1392 (fontset_from_font): Renamed from new_fontset_from_font. Check if
1393 a fontset is already created for the font. FIx updating of
1394 Vfontset_alias_alist.
1395 (fontset_ascii_font): Deleted.
1396 (Ffont_info): Adjusted for the format change of font-spec.
1397 (Finternal_char_font): Likewise.
1398 (Ffontset_info): Likewise.
1399 (syms_of_fontset): Don't check load_font_func.
1400
1401 * fns.c (internal_equal): Handle PREV_FONT.
1402
1403 * frame.h: Delete USE_FONT_BACKEND conditional.
1404
1405 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
1406 conditionals. Don't check enable_font_backend. Delete all codes
1407 used only when USE_FONT_BACKEND is not defined.
1408 (x_set_font): Call x_new_font, not x_new_fontset2.
1409 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
1410 already set for the frame.
1411
1412 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
1413 a font-entity by font_make_entity. Use font_intern_prop instead
1414 of intern_downcase. Use FONT_SET_STYLE to set a style-related
1415 font property. If a font is scalable, set avgwidth property to 0.
1416 Set font-entity property by font_put_extra.
1417 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
1418 (ffont_driver): Adjusted for the change of struct font_driver.
1419 (ftfont_spec_pattern): New function.
1420 (ftfont_list): Return a list, not vector.
1421 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
1422 (ftfont_list_family): Don't downcase names.
1423 (ftfont_free_entity): Deleted.
1424 (ftfont_open): Return a font-ojbect. Adjusted for the change of
1425 struct font. Get underline_thickness and underline_position from
1426 font property. Don't update dpyinfo->smallest_font_height and
1427 dpyinfo->smallest_char_width.
1428 (ftfont_close): Don't free `struct font'.
1429 (ftfont_has_char): Adjusted for the format change of font-entity.
1430 (ftfont_encode_char, ftfont_text_extents): Likewise.
1431
1432 * ftxfont.c (ftxfont_list): Return a list, not vector.
1433 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
1434 struct font. Get underline_thickness and underline_position from
1435 font property. Don't update dpyinfo->smallest_font_height and
1436 dpyinfo->smallest_char_width.
1437 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
1438 (ftxfont_draw): Adjusted for the change of struct font.
1439
1440 * image.c (image_ascent): Don't include "charset.h". Include
1441 "character.h" and "font.h".
1442
1443 * lisp.h (enum pvec_type): New member PREV_FONT.
1444 (Fassoc_string): EXFUN it.
1445
1446 * print.c: Include font.h.
1447 (print_object): Handle font-related objects.
1448
1449 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
1450 conditionals. Don't check enable_font_backend. Delete all codes
1451 used only when USE_FONT_BACKEND is not defined.
1452 (handle_auto_composed_prop): Do nothing if it->f is not on a
1453 window system. Check how many following characters can be
1454 displayed by the same font.
1455 (calc_pixel_width_or_height): Type of the 4th arg is changed to
1456 'struct font *'.
1457 (get_char_face_and_encoding): Assign the whole encoding task to
1458 the `encode-char' method of a font driver.
1459 (fill_composite_glyph_string): Adjusted for the change of `struct
1460 face' and `struct glyph_string'.
1461 (fill_glyph_string): Likewise.
1462 (get_per_char_metric): Arguments changed.
1463 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
1464 and `struct glyph_string'.
1465 (produce_stretch_glyph, calc_line_height_property)
1466 (x_produce_glyphs): Likewise.
1467
1468 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
1469 conditionals. Don't check enable_font_backend. Delete all codes
1470 used only when USE_FONT_BACKEND is not defined. Use
1471 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
1472 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
1473 (Qp): Extern them.
1474 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
1475 Deleted.
1476 (struct font_name): Deleted.
1477 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
1478 (compare_fonts_by_sort_order): New function.
1479 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
1480 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
1481 Deleted.
1482 (Fx_family_fonts): Use font_list_entities, and sort fonts by
1483 compare_fonts_by_sort_order.
1484 (Fx_font_family_list): Call Ffont_family_list.
1485 (face_numeric_value, face_numeric_weight, face_numeric_slant)
1486 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
1487 (face_symbolic_slant, face_symbolic_swidth)
1488 (split_font_name_into_vector, build_font_name_from_vector)
1489 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
1490 (font_rescale_ratio, split_font_name, build_font_name)
1491 (free_font_names, sort_fonts, x_face_list_fonts)
1492 (face_font_available_p, sorted_font_list, cmp_font_names)
1493 (font_list_1, concat_font_list, font_list, remove_duplicates):
1494 Deleted.
1495 (Fx_list_fonts): Use Ffont_list.
1496 (LFACE_AVGWIDTH): Deleted.
1497 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
1498 by FONTP.
1499 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1500 (set_lface_from_font_name): Delete it.
1501 (set_lface_from_font): Renamed from
1502 set_lface_from_font_and_fontset. Caller changed. Don't set
1503 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
1504 for face.
1505 (merge_face_vectors): Copy font-spec if necessary.
1506 Clear properties of the font-spec if necessary.
1507 (merge_face_ref): Clear properties of the font-spec if necessary.
1508 (Finternal_set_lisp_face_attribute): Likewise.
1509 (set_font_frame_param): Use font_load_for_lface to load a
1510 font-object, and call Fmodify_frame_parameters with it.
1511 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
1512 font name by Ffont_xlfd_name.
1513 (Finternal_lisp_face_attribute_values): Don't check QCweight,
1514 QCslant, and QCwidth.
1515 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
1516 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
1517 Compare fonts by EQ.
1518 (lookup_non_ascii_face): Deleted.
1519 (face_for_font): The 2nd argument changed.
1520 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
1521 Check atomic font properties by case insensitive.
1522 (realize_non_ascii_face): Set face->overstrike correctly.
1523 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
1524 (dump_realized_face): Get font name from
1525 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
1526
1527 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
1528 conditionals. Don't check enable_font_backend. Delete all codes
1529 used only when USE_FONT_BACKEND is not defined.
1530 (xic_create_xfontset): Original code deleted and renamed from
1531 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
1532 (x_make_gc): Don't set GCFont in GCs.
1533 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
1534 opened by "fixed".
1535 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
1536 find_ccl_program_func, query_font_func, set_frame_fontset_func,
1537 get_font_repertory_func.
1538
1539 * xfont.c: Include <stdlib.h> and "ccl.h".
1540 (struct xfont_info): New structure.
1541 (xfont_query_font): Deleted.
1542 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
1543 moved from xterm.c.
1544 (xfont_driver): Adjusted for the change of struct font_driver.
1545 (compare_font_names): New function.
1546 (xfont_list_pattern): Sort font names case insensitively. Make
1547 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
1548 (xfont_list): Return a list, not vector.
1549 (xfont_match): If the font doesn't have QCname property, generate
1550 a name from the other font properties.
1551 (xfont_open): Return a font-ojbect. Adjusted for the change of
1552 struct font. Get underline_thickness and underline_position from
1553 font property. Don't update dpyinfo->smallest_font_height and
1554 dpyinfo->smallest_char_width.
1555 (xfont_close): Don't free struct font.
1556 (xfont_prepare_face): Adjusted for the change of struct font.
1557 (xfont_done_face): Deleted.
1558 (xfont_has_char): Adjusted for the change of struct font.
1559 (xfont_encode_char, xfont_draw): Likewise.
1560 (xfont_check): New function.
1561
1562 * xftfont.c (xftfont_list): Adjusted for the change of `list'
1563 callback function.
1564 (xftfont_match): Adjusted for the fontmat change of font-entity.
1565 (xftfont_open): Adjusted for the format change of font-entity and
1566 font-object. Adjusted for the change of struct font. Return a
1567 font-object. Don't update dpyinfo->smallest_font_height and
1568 dpyinfo->smallest_char_width.
1569 (xftfont_close): Block input while calling XftFontClose.
1570 (xftfont_prepare_face): Don't block input while calling
1571 xftfont_get_colors. Adjusted for the change of struct font.
1572 (xftfont_shape): Return value of error case fixed.
1573
1574 * xrdb.c (x_load_resources): Don't setup a fontset resource.
1575
1576 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
1577 conditionals.
1578 (FONT_WIDTH): Return (f)->max_width.
1579 (struct x_display_info): Delete member `font'.
1580 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
1581 (x_find_ccl_program, x_get_font_repertory): Delete externs.
1582 (struct x_output): Change type of `font' to `struct font *'.
1583
1584 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
1585 conditionals. Don't check enable_font_backend. Delete all codes
1586 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
1587 (x_per_char_metric, x_encode_char): Deleted.
1588 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
1589 (x_compute_glyph_string_overhangs): Adjusted for the change of
1590 `struct face'.
1591 (x_draw_glyph_string_foreground)
1592 (x_draw_composite_glyph_string_foreground): Likewise.
1593 (x_draw_glyph_string): Likewise. Use font->underline_position and
1594 font->underline_thickness.
1595 (x_new_font): Renamed from x_new_fontset2.
1596 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
1597 (x_check_font): Call `check' method of a font driver.
1598 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
1599 (x_query_font, x_get_font_repertory): Deleted.
1600 (x_find_ccl_program): Renamed and moved to xfont.c.
1601 (x_redisplay_interface): Adjusted for the change of `struct
1602 redisplay_interface'.
1603
1604 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
1605 conditionals. Don't check enable_font_backend. Delete all codes
1606 used only when USE_FONT_BACKEND is not defined. Surround non-used
1607 code by "#ifdef OLD_FONT" and "endif".
1608 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
1609
1610 * w32font.h (struct w32font_info): New member.
1611 (FONT_COMPAT): New macro.
1612 (w32font_open_internal): Prototype adjusted.
1613
1614 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
1615 OLD_FONT" and "endif".
1616
1617 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
1618 conditionals. Don't check enable_font_backend. Delete all codes
1619 used only when USE_FONT_BACKEND is not defined.
1620 (w32font_open): Return a font-object. Make a font-object by
1621 font_make_object. Adjusted for the change of struct w32font_info.
1622 (w32font_close): Don't free struct font. Adjusted for the change
1623 of struct w32font_info.
1624 (w32font_encode_char, w32font_text_extents, w32font_draw):
1625 Adjusted for the change of struct w32font_info.
1626 (w32font_draw): Likewise.
1627 (w32font_list_internal): Return a list, not vector.
1628 (w32font_open_internal): Change the 4th arg to font-object.
1629 Adjusted for the change of struct w32font_info and font-object format.
1630 (add_font_name_to_list): Don't downcase names.
1631 (w32_enumfont_pattern_entity): Make a font-entity by
1632 font_make_entity. Adjusted for the format change of font-entity.
1633 Use FONT_SET_STYLE to set a style-related font property. If a
1634 font is scalable, set avgwidth property to 0. Set font-entity
1635 property by font_put_extra.
1636 (font_matches_spec): Adjusted for the format change of font-entity.
1637 (w32_weight_table, w32_decode_weight): New variables.
1638 (w32_encode_weight): New function.
1639 (fill_in_logfont): Adjusted for the format change of font-spec.
1640 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
1641 weight value.
1642 (w32font_driver): Adjusted for the change of struct font_driver.
1643
1644 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
1645 conditionals. Don't check enable_font_backend. Surround non-used
1646 code by "#ifdef OLD_FONT" and "endif".
1647 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
1648 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
1649
1650 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
1651 conditionals. Don't check enable_font_backend. Delete all codes
1652 used only when USE_FONT_BACKEND is not defined. Surround non-used
1653 code by "#ifdef OLD_FONT" and "endif".
1654
1655 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
1656 (uniscribe_open): Return value changed to font-object.
1657 Adjusted for the format change of font-object.
1658 (uniscribe_otf_capability): Adjusted for the change of struct font.
1659 (add_opentype_font_name_to_list): Don't downcase names.
1660 (uniscribe_font_driver): Adjusted for the change of struct
1661 font_driver.
1662
1663 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
1664
1665 * dispnew.c (update_frame_1): Check if tty output is still valid
1666 before flushing it.
1667
1668 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
1669
1670 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
1671 to Gtk+ menus.
1672
1673 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1674
1675 * dired.c (file_name_completion): Tweak the code so as to always do it
1676 in a single pass. Tighten the scope of some variables.
1677
1678 * dired.c (Qdefault_directory): New var.
1679 (file_name_completion): Use it instead of Fexpand_file_name.
1680 (syms_of_dired): Initialize it.
1681
1682 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
1683
1684 * fileio.c (double_dollars): Remove dead code.
1685
1686 2008-05-10 Eli Zaretskii <eliz@gnu.org>
1687
1688 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
1689 Mention w32-get-true-file-attributes in doc string.
1690
1691 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1692
1693 2008-05-09 Glenn Morris <rgm@gnu.org>
1694
1695 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
1696 2008-04-23.
1697
1698 2008-05-09 Eli Zaretskii <eliz@gnu.org>
1699
1700 Support for reporting owner and group of each file on MS-Windows:
1701 * dired.c (stat_uname, stat_gname): New functions, with special
1702 implementation for w32.
1703 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
1704
1705 * w32.c: Rename the_passwd_* to dflt_passwd_*.
1706 (dflt_group_name): New static variable.
1707 (dflt_group): Rename from the_group.
1708 (init_user_info): Init dflt_group fields. Get user's group name
1709 from LookupAccountSid.
1710 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
1711 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
1712 New initialization states.
1713 (globals_of_w32): Initialize them to zero. Initialize the default
1714 group name to "None".
1715 (GetFileSecurity_Name): New global var, the name of the function
1716 to call for GetFileSecurity.
1717 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
1718 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
1719 (get_file_security, get_security_descriptor_owner)
1720 (get_security_descriptor_group, is_valid_sid)
1721 (get_file_security_desc, get_rid, get_name_and_id)
1722 (get_file_owner_and_group): New functions.
1723 (stat): Use get_file_security_desc and get_file_owner_and_group to
1724 report the owner and primary group of each file. Don't ignore the
1725 high 32 bits of file's size, now that st_size is 64-bit wide.
1726 Fix test when to get true file attributes.
1727 (init_user_info): Use get_rid instead of equivalent inline code.
1728 (fstat): Don't ignore the high 32 bits of file's size.
1729
1730 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
1731
1732 * image.c (png_load): Use correct bit-depth for setting background
1733 color.
1734
1735 2008-05-08 Eli Zaretskii <eliz@gnu.org>
1736
1737 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
1738 epa-hook.elc.
1739
1740 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
1741
1742 * font.c (Ffont_match_p): Don't use `iff' in docstring.
1743
1744 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
1745
1746 * macfns.c (Fx_create_frame): Make a copy of frame parameters
1747 because the original parameters are in pure storage now.
1748 (mac_window): Remove unused params. Update callers.
1749
1750 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1751
1752 * lread.c (substitute_object_recurse): Use lower-level primitives.
1753 Don't signal errors when traversing sub-char-tables.
1754 Don't loop over all the possible characters when traversing char-tables.
1755
1756 * print.c (print_preprocess): Add sub-char-tables to the print-table,
1757 just like we do in print.c.
1758
1759 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
1760
1761 * minibuf.c (Ftry_completion): Remove code left over from when we used
1762 scmp instead of Fcompare_strings.
1763
1764 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
1765
1766 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
1767
1768 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1769
1770 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
1771 Create bitmap context in native byte order.
1772
1773 * macterm.c (XDrawLine)
1774 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
1775 context in native byte order.
1776
1777 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1778
1779 * config.in: Regenerate.
1780
1781 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
1782 New definitions for Image I/O support.
1783 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1784 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
1785 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1786 (mac_data_provider_release_data, image_load_image_io)
1787 [USE_MAC_IMAGE_IO]: New functions.
1788 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
1789 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
1790 (init_image_func_pointer) [MAC_OSX]: Remove function.
1791 (image_load_quartz2d) [MAC_OSX]: Check availability of
1792 CGImageCreateWithPNGDataProvider at compile time.
1793 Use lowercase `false' for boolean constant.
1794 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
1795 Use image_load_image_io.
1796 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
1797 Don't check MyCGImageCreateWithPNGDataProvider.
1798 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
1799 Don't call init_image_func_pointer.
1800
1801 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
1802
1803 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
1804 Make variable non-static.
1805 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1806 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1807
1808 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
1809 (RED_FROM_ULONG): Mask off higher bits.
1810 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
1811
1812 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
1813 Include AvailabilityMacros.h.
1814 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
1815 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
1816
1817 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
1818
1819 * chartab.c (Fset_char_table_range): If range is t, really set all
1820 chars to that value.
1821
1822 2008-05-03 Eli Zaretskii <eliz@gnu.org>
1823
1824 * dired.c (Ffile_attributes): Don't allow the device number become
1825 negative.
1826
1827 2008-05-02 Daiki Ueno <ueno@unixuser.org>
1828
1829 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
1830
1831 2008-05-02 Juri Linkov <juri@jurta.org>
1832
1833 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
1834 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
1835 DEFAULT argument as a list of default values in docstrings.
1836
1837 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
1838
1839 * puresize.h (BASE_PURESIZE): Increase to 1210000.
1840
1841 2008-05-01 Martin Rudalics <rudalics@gmx.at>
1842
1843 * dispnew.c (change_frame_size_1): Preserve small windows when
1844 shrinking frames by calling set_window_height|width with third
1845 arg 2.
1846
1847 * window.h (struct window): Replace field too_small_ok by field
1848 resize_proportionally.
1849
1850 * window.c (make_window): Initialize resize_proportionally.
1851 (enlarge_window): Temporarily set resize_proportionally to make
1852 sure that shrink_windows does scale the window proportionally.
1853 (shrink_windows): When window has resize_proportionally set try
1854 to shrink it proportionally by stealing from other windows.
1855 (struct saved_window, Fset_window_configuration)
1856 (compare_window_configurations): Handle resize_proportionally.
1857 (WINDOW_TOTAL_SIZE): New macro.
1858 (window_min_size, shrink_windows, size_window): Use it.
1859 (check_min_window_sizes): Remove. Invalid values of
1860 window-min-height|width are handled by window_min_size_2 now.
1861 (size_window, Fsplit_window, enlarge_window)
1862 (adjust_window_trailing_edge, grow_mini_window): Don't call
1863 check_min_window_sizes.
1864 (window_min_size_2, window_min_size_1, window_min_size):
1865 New argument safe_p for retrieving "safe" minimum sizes.
1866 (Fdisplay_buffer, Fsplit_window, enlarge_window)
1867 (adjust_window_trailing_edge, grow_mini_window):
1868 Adjust arguments of window_min_size... functions.
1869 (shrink_windows): Argument min_size removed. New argument
1870 safe_p allows shrinking windows to their safe minimum sizes.
1871 Calculate minimum size and decide whether a window shall be
1872 deleted for each window individually.
1873 (size_window): When nodelete_p equals 2, tell shrink_windows to
1874 delete windows only if their new minimum size is no more safe.
1875 (shrink_window_lowest_first): Call window_min_size_1 to make
1876 sure to preserve modeline of bottom-most window when resizing
1877 the minibuffer.
1878 (Fset_window_configuration, Fcurrent_window_configuration)
1879 (compare_window_configurations): Do not handle
1880 window-min-height|width any more.
1881 (syms_of_window): Clarify window-min-height|width doc-strings.
1882
1883 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
1884
1885 * dired.c (file_name_completion): Fix up the encoding/decoding issue
1886 some more. Copy some of the code from Ftry_completions.
1887 Remove special case code that dates back to initial revision when the
1888 slash was only added when necessary and that can't trigger nowadays.
1889
1890 2008-04-27 Kenichi Handa <handa@m17n.org>
1891
1892 * font.c (font_prop_validate): Signal `error' instead of `font'.
1893
1894 2008-04-29 Jason Rumney <jasonr@gnu.org>
1895
1896 * w32fns.c (Fw32_battery_status): New defun.
1897 (syms_of_w32fns): Defsubr it.
1898
1899 2008-04-28 Andreas Schwab <schwab@suse.de>
1900
1901 * dired.c (file_name_completion): Fix another mixing of encoded
1902 and decoded names.
1903
1904 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
1905
1906 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
1907
1908 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
1909
1910 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
1911
1912 2008-04-27 Andreas Schwab <schwab@suse.de>
1913
1914 * dired.c (file_name_completion): Fix inappropriate mixing of
1915 encoded and decoded names.
1916
1917 * xterm.c (XTread_socket): Fix use of uninitialized variable.
1918
1919 * puresize.h (BASE_PURESIZE): Increase to 1200000.
1920
1921 2008-04-26 Eli Zaretskii <eliz@gnu.org>
1922
1923 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
1924 2008-03-31, it's not needed anymore with `struct stat' definition
1925 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
1926 for the same reasons.
1927
1928 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
1929
1930 * m/sparc.h: Additional redefinitions for GNU/Linux.
1931
1932 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1933
1934 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
1935 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
1936 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
1937 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
1938 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1939 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
1940 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1941 Likewise.
1942
1943 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
1944 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1945 (mac_ax_number_of_characters): Add externs.
1946 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1947 [USE_MAC_TSM]: Likewise.
1948 (mac_handle_text_input_event) [MAC_OSX]:
1949 Handle kEventTextInputOffsetToPos for no active input area case.
1950 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1951 (mac_handle_document_access_event)
1952 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
1953 (install_application_handler) [MAC_OSX]: Register handlers for
1954 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1955 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1956 Register mac_handle_document_access_event.
1957
1958 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
1959 Make functions non-static.
1960
1961 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
1962
1963 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
1964 (read_file_name_completion_ignore_case, insert_default_directory)
1965 (Qdefault_directory): Move to minibuffer.el.
1966 (Fread_file_name): Call the new `read-file-name' instead.
1967
1968 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1969
1970 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
1971 Make function non-static.
1972 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
1973 Remove function.
1974 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1975 Move to mactoolbox.c.
1976 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
1977
1978 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
1979 (mac_rect_make): New macro.
1980
1981 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
1982 instead of float.
1983 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1984 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
1985 (XSetBackground) [USE_CG_DRAWING]: Likewise.
1986 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
1987 CGRectMake.
1988 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1989 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
1990 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
1991 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1992 instead of WindowRef in argument type.
1993 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
1994 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
1995 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
1996 instead of DISPLAY. All uses changed.
1997 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
1998 (x_calc_absolute_position): Simplify so as not to use
1999 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
2000
2001 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
2002 instead of WindowRef in argument type.
2003 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
2004 [TARGET_API_MAC_CARBON]: Remove externs.
2005 (create_apple_event, mac_event_parameters_to_lisp)
2006 [TARGET_API_MAC_CARBON]: Add externs.
2007
2008 * mactoolbox.c (Vmac_ts_script_language_on_focus)
2009 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
2010 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
2011 is clicked.
2012 (x_activate_menubar): Remove extern for saved_menu_event_location.
2013 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
2014 Move from mac.c.
2015
2016 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2017
2018 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
2019 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
2020
2021 2008-04-23 Jason Rumney <jasonr@gnu.org>
2022
2023 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
2024 attributes only for local files.
2025
2026 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
2027 default to Qlocal.
2028
2029 2008-04-22 Juri Linkov <juri@jurta.org>
2030
2031 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
2032 read-buffer-to-switch instead of using the letter "B".
2033
2034 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
2035
2036 * fileio.c (Qdefault_directory): New variable.
2037 (Fread_file_name): Use it to pass `dir' to the completion functions.
2038
2039 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
2040
2041 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
2042
2043 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
2044
2045 * keyboard.c (Vpre_help_message): Remove.
2046 (show_help_echo): Remove default C code.
2047
2048 * dired.c (directory_files_internal, file_name_completion):
2049 Only call ENCODE_FILE if the string is indeed decoded.
2050
2051 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2052
2053 * Makefile.in (TOOLKIT_DEFINES): Remove.
2054 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
2055
2056 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2057
2058 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
2059 (mactoolbox.o): New target.
2060
2061 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
2062 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
2063
2064 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
2065 Use mac_set_frame_window_background instead of XSetWindowBackground.
2066 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
2067 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
2068 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
2069 instead of SetWindowTitleWithCFString.
2070 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
2071 Move function to mactoolbox.c.
2072 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
2073 Use mac_set_window_modified instead of SetWindowModified.
2074 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
2075 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
2076 (Fx_focus_frame): Use mac_front_non_floating_window instead of
2077 FrontNonFloatingWindow. Use mac_activate_window instead of
2078 ActivateWindow. Use mac_active_non_floating_window instead of
2079 ActiveNonFloatingWindow.
2080 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
2081 Use mac_show_hourglass and mac_hide_hourglass.
2082 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
2083 instead of GetGlobalMouse.
2084 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
2085 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
2086 Use mac_bring_window_to_front instead of BringToFront.
2087 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
2088 mactoolbox.c.
2089 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
2090 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
2091 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
2092 mactoolbox.c.
2093
2094 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
2095 (XtPointer): Move typedef from macmenu.c.
2096 (enum button_type): Move enum from macmenu.c.
2097 (widget_value): Move typedef from macmenu.c.
2098 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
2099 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2100 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2101 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2102 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2103 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2104 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2105 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
2106 (Selection): Move typedef from macselect.c.
2107 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
2108 macterm.c.
2109 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
2110 (mac_is_window_collapsed, mac_bring_window_to_front)
2111 (mac_send_window_behind, mac_hide_window, mac_show_window)
2112 (mac_collapse_window, mac_front_non_floating_window)
2113 (mac_active_non_floating_window, mac_activate_window)
2114 (mac_move_window_structure, mac_move_window, mac_size_window)
2115 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
2116
2117 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
2118 (enum mac_menu_kind): Move enum to mactoolbox.c.
2119 (min_menu_id): Move variable to mactoolbox.c.
2120 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
2121 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
2122 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2123 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2124 [TARGET_API_MAC_CARBON]: Likewise.
2125 (XtPointer): Move typedef to macgui.h.
2126 (enum button_type): Move enum to macgui.h.
2127 (widget_value): Move typedef to macgui.h.
2128 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2129 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2130 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2131 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2132 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2133 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2134 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
2135 (popup_activated_flag): Make variable non-static.
2136 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
2137 (add_menu_item, fill_menu, dispose_menus):
2138 Move functions to mactoolbox.c.
2139 (restore_show_help_function, menu_target_item_handler)
2140 (install_menu_target_item_handler, mac_handle_dialog_event)
2141 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
2142 [TARGET_API_MAC_CARBON]: Likewise.
2143 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
2144 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2145 (find_and_call_menu_selection, name_is_separator): Make function
2146 non-static.
2147 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
2148 to mactoolbox.c.
2149 (set_frame_menubar): Don't call install_menu_quit_handler.
2150 (menu_item_selection): New variable.
2151 (mac_menu_show): Use create_and_show_popup_menu.
2152 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
2153 selection but set variable menu_item_selection. All uses changed.
2154 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
2155 Call install_menu_quit_handler. Move to mactoolbox.c.
2156
2157 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
2158 (Selection): Move typedef to macgui.h.
2159 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
2160 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
2161 Make variables non-static.
2162 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2163 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
2164 Make functions non-static.
2165 (Vmac_service_selection) [MAC_OSX]: Likewise.
2166 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
2167 (mac_valid_selection_target_p, mac_clear_selection)
2168 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2169 (mac_put_selection_value, mac_selection_has_target_p)
2170 (mac_get_selection_value, mac_get_selection_target_list)
2171 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
2172 Move functions to mactoolbox.c.
2173 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
2174 Likewise.
2175 (copy_scrap_flavor_data, mac_handle_service_event)
2176 (install_service_handler) [MAC_OSX]: Likewise.
2177 (syms_of_macselect) <Vmac_dnd_known_types>:
2178 Use mac_dnd_default_known_types.
2179
2180 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
2181 Move to mactoolbox.c.
2182 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
2183 (Fx_selection_owner_p): Add EXFUN.
2184 (install_window_handler, remove_window_handler, XSetWindowBackground):
2185 Remove externs.
2186 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
2187 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
2188 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
2189 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
2190 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
2191 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
2192 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
2193 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
2194 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
2195 (create_and_show_popup_menu, mac_get_selection_from_symbol)
2196 (mac_valid_selection_target_p, mac_clear_selection)
2197 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2198 (mac_put_selection_value, mac_selection_has_target_p)
2199 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
2200 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
2201 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
2202 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2203 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
2204 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2205 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
2206 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2207 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2208
2209 * mactoolbox.c: New file.
2210
2211 2008-04-18 Jason Rumney <jasonr@gnu.org>
2212
2213 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
2214
2215 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2216
2217 * character.c (Fmultibyte_char_to_unibyte):
2218 Return latin1 chars unchanged.
2219
2220 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
2221 relocated if it points to `name'.
2222
2223 2008-04-17 Kenichi Handa <handa@m17n.org>
2224
2225 * data.c (Faset): Allow setting a multibyte character in an
2226 ASCII-only unibyte string.
2227
2228 * lisp.h (STRING_SET_MULTIBYTE): New macro.
2229
2230 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2231
2232 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
2233 done in config.h.
2234
2235 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
2236
2237 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
2238 (Fchar_direction): Add usage in the docstring.
2239
2240 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
2241
2242 * keyboard.c (read_key_sequence): Remove always-true checks.
2243
2244 2008-04-14 Jason Rumney <jasonr@gnu.org>
2245
2246 * w32font.c (w32font_open_internal): Set max_bounds.descent in
2247 compatibility struct, for better underline positioning.
2248
2249 2008-04-13 David Hansen <david.hansen@gmx.net>
2250
2251 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
2252 string.
2253
2254 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
2255
2256 * m/hp800.h (XUINT, XSET): Remove.
2257
2258 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
2259
2260 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
2261 previous change.
2262
2263 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2264
2265 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
2266 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
2267
2268 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2269
2270 * keymap.h (map_keymap_canonical): Declare.
2271 * xmenu.c (single_keymap_panes): Use it.
2272
2273 2008-04-11 Glenn Morris <rgm@gnu.org>
2274
2275 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
2276 set the target's value to that of the alias.
2277
2278 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2279
2280 * term.c (set_tty_color_mode): Left over typo.
2281
2282 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
2283
2284 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
2285 only after check for file name handler functions. Signal, when
2286 native functionality is not supported.
2287 (syms_of_fileio): Declare it unconditionally.
2288
2289 2008-04-10 Jason Rumney <jasonr@gnu.org>
2290
2291 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
2292 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
2293
2294 * w32.c (logon_network_drive): Also logon to remote drives that
2295 are mapped to drive letters.
2296
2297 2008-04-10 Glenn Morris <rgm@gnu.org>
2298
2299 * xdisp.c (truncate-partial-width-windows): Doc fix.
2300
2301 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
2302
2303 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
2304 Move functions to minibuffer.el.
2305 (syms_of_fileio): Don't declare them.
2306
2307 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2308
2309 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
2310 (syms_of_minibuf): Remove its initialization.
2311
2312 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
2313
2314 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
2315
2316 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
2317
2318 2008-04-09 Jason Rumney <jasonr@gnu.org>
2319
2320 * makefile.w32-in (distclean): Delete makefile too.
2321 (maintainer-clean): New target.
2322
2323 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
2324
2325 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
2326 for new font backend and composite cases.
2327
2328 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
2329
2330 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
2331 Most of the code moved to run_timers.
2332 (do_pending_atimers): Call run_timers.
2333 (run_timers): New function.
2334
2335 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
2336 run atimers.
2337
2338 * process.c (wait_reading_process_output): The same as above.
2339
2340 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2341
2342 * minibuf.c (last_exact_completion): Remove variable.
2343 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
2344 (complete_and_exit_1, complete_and_exit_2)
2345 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2346 (Fdisplay_completion_list, display_completion_list_1)
2347 (Fminibuffer_completion_help, Fself_insert_and_exit)
2348 (Fexit_minibuffer, Fminibuffer_message): Move functions to
2349 minibuffer.el.
2350 (syms_of_minibuf): Remove corresponding initializations.
2351
2352 * keyboard.c (Qdeactivate_mark): New var.
2353 (command_loop_1): Use it to call `deactivate-mark'.
2354 (syms_of_keyboard): Initialize it.
2355
2356 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
2357 to another frame.
2358 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
2359 Don't call set_tty_color_mode.
2360 (store_frame_param): Reset previous_frame rather than call
2361 set_tty_color_mode.
2362 * term.c (set_tty_color_mode): Rewrite.
2363 * dispextern.h (set_tty_color_mode): New type.
2364 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
2365
2366 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
2367
2368 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
2369 for generic chars, which do not exist any more in emacs-unicode.
2370
2371 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
2372
2373 * coding.c (detect_coding_emacs_mule)
2374 (Ffind_operation_coding_system): Fix typo.
2375
2376 2008-04-08 Jason Rumney <jasonr@gnu.org>
2377
2378 * w32uniscribe.c (SNAME): Extract only symbol name.
2379
2380 * w32font.h (struct w32_metric_cache): New struct.
2381 (w32font_info): Use it.
2382 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
2383 (CACHE_BLOCKSIZE): New constants.
2384
2385 * w32font.c (Qja, Qko, Qzh): New symbols.
2386 (syms_of_w32font): Initialise them.
2387 (font_matches_spec): Use them to filter by language.
2388 (recompute_cached_metrics): Remove function.
2389 (compute_metrics, clear_cached_metrics): New functions.
2390 (w32font_encode_char): Use them to manage metric cache.
2391 (w32font_text_extents): Cache metrics for all glyphs on demand.
2392 Delay converting glyph indices to WORD until needed.
2393 (w32font_open_internal): Initialize metric cache to empty.
2394 (registry_to_w32_charset): Charset should always be a symbol.
2395 (fill_in_logfont, list_all_matching_fonts): Family should
2396 always be a symbol.
2397
2398 2008-04-06 Jason Rumney <jasonr@gnu.org>
2399
2400 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
2401 Give up if glyph indices not supported. Use uniscribe obtained
2402 ABC widths for individual metrics. Map glyph clusters back to
2403 characters using fClusterStart flag. Return number of glyphs
2404 produced, not chars processed.
2405 (uniscribe_shape): Map char at FROM to current glyph.
2406
2407 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2408
2409 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
2410 Use SetMenuItemHierarchicalMenu.
2411
2412 2008-04-05 Jason Rumney <jasonr@gnu.org>
2413
2414 * image.c (pbm_load): Allow color values up to 65535.
2415 Throw an error if max_color_idx is outside the supported range.
2416 Report an error when image size is invalid.
2417 Read two bytes at a time when raw images have max_color_idx above 255.
2418
2419 2008-04-05 Eli Zaretskii <eliz@gnu.org>
2420
2421 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2422 cFileName a file name that includes `?' characters, use the 8+3
2423 alias in cAlternateFileName instead.
2424
2425 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
2426
2427 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
2428 append "CCL: Quitted" when the CCL program is quitted.
2429 (setup_ccl_program): Initialize ccl->quit_silently to zero.
2430
2431 * ccl.h (struct ccl_program): New member quit_silently.
2432
2433 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
2434
2435 * search.c (compile_pattern_1): Treat non-nil and non-string of
2436 search-spaces-regexp as nil.
2437
2438 * minibuf.c (Fassoc_string): Tweak docstring.
2439
2440 2008-04-05 Eli Zaretskii <eliz@gnu.org>
2441
2442 * dired.c (Ffile_attributes): Support inode numbers wider than 32
2443 bits. Remove ugly WINDOWSNT-specific kludge introduced on
2444 2008-03-14 to force inode be positive.
2445
2446 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
2447 _S_* ones, since we now use our own sys/stat.h.
2448 (stat, fstat): Don't mangle the inode number.
2449 (init_user_info): Don't restrict UID and GID to 0-60000 range.
2450
2451 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
2452
2453 * frame.h (struct frame): Give one more bit to `visible' since we use
2454 values larger than 1 to indicate obscured frames on ttys.
2455
2456 * keymap.c (Qkeymap_canonicalize): New var.
2457 (Fmap_keymap_internal): New fun.
2458 (describe_map): Use keymap-canonicalize.
2459
2460 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
2461 (Fundo_boundary): Set them.
2462 (syms_of_undo): Initialize them.
2463 (record_point): Use them instead of last_point_position*.
2464 (last_undo_buffer): Change type.
2465
2466 2008-04-04 Jason Rumney <jasonr@gnu.org>
2467
2468 * w32font.c (w32font_text_extents): Use font's ascent and descent.
2469 (recompute_cached_metrics): Don't set ascent and descent per char.
2470
2471 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
2472 (uniscribe_check_otf): Add GC protection before consing.
2473 Rearrange loop for counting features.
2474
2475 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2476
2477 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
2478 buffer with byte-size of source buffer.
2479
2480 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
2481
2482 * callint.c (Fcall_interactively): Handle temporary region even
2483 when shift-select-mode is off.
2484
2485 2008-04-03 Jason Rumney <jasonr@gnu.org>
2486
2487 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
2488
2489 2008-04-03 Kenichi Handa <handa@m17n.org>
2490
2491 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
2492 (CATEGORY_MASK_UTF_16): Likewise.
2493 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
2494 binary file.
2495 (detect_coding): Add null-byte detection for a binary file.
2496 (detect_coding_system): Likewise.
2497
2498 2008-04-03 Jason Rumney <jasonr@gnu.org>
2499
2500 * w32uniscribe.c: New file.
2501
2502 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
2503
2504 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
2505
2506 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
2507 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
2508 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
2509 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
2510 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
2511 (Qphonetic): New symbols.
2512 (syms_of_w32font): Initialize them.
2513 (font_supported_scripts): Use them.
2514 (w32font_list_family): List all charsets.
2515 (w32font_text_extents, recompute_cached_metrics): Fix metric
2516 calculations.
2517 (w32_enumfont_pattern_entity): Make full_type a DWORD.
2518 Give opentype fonts their own format.
2519 (font_matches_spec): New arguments backend and logfont.
2520 Handle :otf spec for uniscribe backend.
2521 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
2522 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
2523
2524 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
2525 font backend.
2526 (globals_of_w32fns): Initialize uniscribe font backend.
2527
2528 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
2529 dependencies.
2530 (w32uniscribe.$(O)): New file to build.
2531 (FONT_OBJ): Include w32uniscribe.$(O).
2532 (LIBS): Add uniscribe libraries.
2533
2534 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
2535
2536 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
2537
2538 * callint.c (Vshift_select_mode): New var.
2539 (Finteractive): Document new ^ spec.
2540 (Fcall_interactively): Call handle-shift-selection if the ^ spec
2541 is present.
2542
2543 * keyboard.c (Vthis_command_keys_shift_translated): New var.
2544 (command_loop_1): Avoid running the direct display versions of
2545 forward-char and backward-char if shift-selection may occur.
2546 (read_key_sequence): Set Vthis_command_keys_shift_translated if
2547 shift-translation takes place.
2548
2549 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
2550 avoid clobbering by define-minor-mode.
2551
2552 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
2553 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
2554
2555 * syntax.c (Fforward_word): Add ^ interactive spec.
2556
2557 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
2558 (Fscroll_right): Add ^ interactive spec.
2559
2560 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
2561
2562 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
2563
2564 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
2565
2566 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
2567
2568 2008-03-31 Juri Linkov <juri@jurta.org>
2569
2570 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
2571
2572 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
2573
2574 * gtkutil.c (xg_set_geometry): Fix indentation.
2575 (xg_resize_outer_widget): Remove.
2576 (x_wm_size_hint_off): Fix indentation.
2577 (xg_frame_set_char_size): Call flush_and_sync after
2578 gtk_window_resize.
2579 (x_wm_set_size_hint): Pass NULL as geometry window to
2580 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
2581 Add menu bar and tool bar height to base height.
2582 (xg_update_frame_menubar, free_frame_menubar)
2583 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
2584 (update_frame_tool_bar, free_frame_tool_bar):
2585 Change xg_resize_outer_widget to xg_frame_set_char_size.
2586
2587 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
2588
2589 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
2590 (Fdbus_call_method): New parameter TIMEOUT.
2591 (dbus-send-signal): Optimize UNGCPRO call.
2592
2593 2008-03-29 Juri Linkov <juri@jurta.org>
2594
2595 * window.c (Fdisplay_buffer): Move call to
2596 Vsplit_window_preferred_function out of conditions that check
2597 if window is eligible for vertical splitting.
2598 When Vsplit_window_preferred_function is non-nil, call it and use
2599 its non-nil return value as window. Otherwise, continue doing
2600 vertical splitting using Fsplit_window with arg horflag=nil.
2601 (syms_of_window) <Vsplit_window_preferred_function>: Change the
2602 default value from `split-window' to nil.
2603
2604 2008-03-29 Juri Linkov <juri@jurta.org>
2605
2606 * callint.c (Fcall_interactively): Revert 2008-03-16 change
2607 for interactive code letters 'b' and 'B'.
2608
2609 2008-03-29 Eli Zaretskii <eliz@gnu.org>
2610
2611 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
2612 multibyte string.
2613
2614 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
2615
2616 * keyboard.c (pending_funcalls): New var.
2617 (timer_check): Run it.
2618 (syms_of_keyboard): Initialize it.
2619 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
2620 (Vdelete_terminal_functions): New vars.
2621 (syms_of_terminal): Initialize them.
2622 (Fdelete_terminal): Run delete-terminal-functions.
2623 * xdisp.c (safe_eval): Rewrite.
2624 (safe_call2): New fun.
2625 * frame.c (Qdelete_frame_functions): New var.
2626 (syms_of_frame): Initialize it.
2627 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
2628 * lisp.h (safe_call2, pending_funcalls): Declare.
2629
2630 2008-03-28 Andreas Schwab <schwab@suse.de>
2631
2632 * indent.c (Fmove_to_column): Move declaration before statements.
2633
2634 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
2635
2636 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
2637 (struct frame): Use bit fields for boolean vars.
2638
2639 * process.c (server_accept_connection): Simplify naming.
2640 (emacs_get_tty_pgrp): Use SDATA.
2641
2642 * coding.c (decode_coding_object): Fix last change.
2643
2644 2008-03-27 Jason Rumney <jasonr@gnu.org>
2645
2646 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
2647
2648 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
2649
2650 * charset.c (Fdefine_charset_internal): Change the way of
2651 registering charsets in Vcharset_order_list.
2652 (syms_of_charset): Make the charset `eight-bit' supplementary.
2653
2654 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
2655
2656 * regex.c (EXTEND_BUFFER): Change order of pointer addition
2657 operations, to avoid having the difference between pointers
2658 overflow.
2659
2660 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2661
2662 * indent.c (check_display_width): New fun.
2663 (scan_for_column): Use it.
2664
2665 * data.c (syms_of_data): Mark most-positive-fixnum and
2666 most-negative-fixnum as constants.
2667
2668 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
2669
2670 * indent.c (scan_for_column): Extract from current_column_1.
2671 Merge with the same code from Fmove_to_column.
2672 (current_column_1, Fmove_to_column): Use it.
2673
2674 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
2675
2676 * keymap.c (map_keymap_internal): New fun.
2677 (map_keymap): Use it.
2678 (Fmap_keymap_internal): New fun.
2679 (Fmap_keymap): Remove left-out test from before make_save_value.
2680
2681 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
2682
2683 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
2684 Use XCAR/XCDR.
2685
2686 * process.h (struct Lisp_Process): Remove filter_multibyte.
2687 * process.c (QCfilter_multibyte): Remove.
2688 (setup_process_coding_systems): Don't use filter_multibyte.
2689 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
2690 (read_process_output): Don't adjust multibyteness to filter_multibyte.
2691 (Fset_process_filter_multibyte): Change the coding-system to
2692 approximate the previous behavior.
2693 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
2694 coding-system.
2695
2696 * coding.c (decode_coding_object): When not decoding into a buffer,
2697 obey the coding system's preference of (uni|multi)byte.
2698
2699 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
2700
2701 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
2702 every char is changed and has a different byte-length.
2703 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
2704 Fix int -> EMACS_INT.
2705
2706 2008-03-23 David Hansen <david.hansen@gmx.net>
2707
2708 * dbusbind.c (xd_read_message): Remove extra copying of message
2709 strings. Check for NULL `interface' or `member'.
2710
2711 2008-03-22 Eli Zaretskii <eliz@gnu.org>
2712
2713 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2714 cFileName a file name that includes `?' characters, use the 8+3
2715 alias in cAlternateFileName instead.
2716
2717 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2718
2719 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
2720
2721 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2722
2723 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
2724 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
2725 work on current_buffer only instead (that was already the case
2726 for some of the code anyway).
2727 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
2728 (temp_set_point, temp_set_point_both): Use EMACS_INT.
2729 (SET_PT, SET_PT_BOTH): Adjust.
2730 * intervals.h (set_point, temp_set_point, set_point_both)
2731 (temp_set_point_both): Remove redundant declarations.
2732
2733 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2734
2735 * fileio.c (Finsert_file_contents):
2736 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
2737 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
2738 when buffer != current_buffer anyway.
2739
2740 2008-03-20 Andreas Schwab <schwab@suse.de>
2741
2742 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
2743 as default.
2744
2745 2008-03-19 Jason Rumney <jasonr@gnu.org>
2746
2747 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
2748 (syms_of_w32fns): Initialize them.
2749 (HOURGLASS_ID): New constant.
2750 (x_window_to_frame): Don't check hourglass_window.
2751 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
2752 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
2753 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
2754 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
2755 Only change the cursor if hourglass is not active.
2756 (Fx_create_frame): Initialize frame's current_cursor.
2757 (hourglass_atimer): Remove.
2758 (hourglass_started): New function.
2759 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
2760 (show_hourglass): Adapt to w32, changing argument to frame.
2761
2762 * w32term.h (struct w32_output): Remove hourglass_window.
2763 Add current_cursor.
2764
2765 * eval.c (call_debugger, Fsignal):
2766 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
2767 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
2768 (Fexecute_extended_command, cancel_hourglass_unwind):
2769 * minibuf.c (read_minibuf):
2770 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
2771
2772 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2773
2774 * window.c (run_funs): New fun.
2775 (run_window_configuration_change_hook): Use it to run the buffer-local
2776 and the global part of the hook.
2777
2778 * xdisp.c (format_mode_line_unwind_data): Add window argument.
2779 (unwind_format_mode_line): Restore selected window.
2780 (x_consider_frame_title, Fformat_mode_line): Set selected window.
2781
2782 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2783
2784 * editfns.c (Fchar_equal): Check they are valid characters.
2785
2786 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
2787
2788 2008-03-17 Andreas Schwab <schwab@suse.de>
2789
2790 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
2791 against a charset.
2792
2793 * lisp.h (Fbuffer_list): Declare.
2794
2795 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
2796
2797 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
2798 handlebox_widget is != 0.
2799
2800 2008-03-16 Juri Linkov <juri@jurta.org>
2801
2802 * callint.c (Fcall_interactively): For interactive code letters
2803 'b' and 'B' put the buffer list into the list of default "future"
2804 values of the minibuffer.
2805
2806 2008-03-16 Andreas Schwab <schwab@suse.de>
2807
2808 * keyboard.c (read_key_sequence): Fix downcasing of letters with
2809 modifiers.
2810
2811 * regex.c (re_match_2_internal): Correct matching of a charset
2812 against latin-1 characters.
2813
2814 2008-03-16 Kenichi Handa <handa@m17n.org>
2815
2816 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
2817 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
2818 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
2819 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
2820 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
2821 CHAR_STRING_ADVANCE.
2822 (produce_chars): Fix for the case that the source and the
2823 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
2824 instead of CHAR_STRING_ADVANCE.
2825 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
2826 STRING_CHAR_ADVANCE.
2827
2828 2008-03-15 Andreas Schwab <schwab@suse.de>
2829
2830 * regex.c (re_match_2_internal): Correct matching of eight bit
2831 characters in unibyte strings.
2832
2833 2008-03-15 Martin Rudalics <rudalics@gmx.at>
2834
2835 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
2836 at end of range when it coincides with the end of the buffer.
2837
2838 2008-03-14 Eli Zaretskii <eliz@gnu.org>
2839
2840 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
2841
2842 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
2843
2844 2008-03-14 Jason Rumney <jasonr@gnu.org>
2845
2846 * editfns.c (initial_tz): New variable.
2847 (syms_of_editfns): Initialize it.
2848 (Fset_time_zone_rule): Set it when first called.
2849 Use it when TZSTRING is nil.
2850
2851 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
2852 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
2853 (monitor_from_point_fn, get_monitor_info_fn): New globals.
2854 (globals_of_w32fns): Initialize them.
2855 (compute_tip_xy): Use them to position tooltips.
2856
2857 2008-03-14 Glenn Morris <rgm@gnu.org>
2858
2859 * emacs.c (main): Revert previous change.
2860 (standard_args): Revert -internal-script back to -scriptload,
2861 and remove the long-option form.
2862
2863 2008-03-13 Glenn Morris <rgm@gnu.org>
2864
2865 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
2866 Remove option -enable-font-backend.
2867
2868 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2869
2870 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
2871
2872 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
2873
2874 * xterm.c (x_connection_closed): For GTK: If this is the last
2875 terminal just exit without closing the display.
2876
2877 2008-03-11 Jason Rumney <jasonr@gnu.org>
2878
2879 * w32font.c (w32font_full_name): Use floor to round.
2880
2881 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
2882
2883 * sound.c (alsa_configure): Declare vol at beginning of block.
2884
2885 * fontset.c (Ffontset_info): Remove extra semicolon.
2886
2887 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
2888
2889 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
2890 size of resulting string.
2891
2892 2008-03-10 Jason Rumney <jasonr@gnu.org>
2893
2894 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
2895
2896 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2897
2898 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
2899 Don't pretend as if characters with display property haven't been
2900 consumed for string-replacing-string case.
2901
2902 2008-03-08 Kim F. Storm <storm@cua.dk>
2903
2904 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
2905 (get_next_display_element, next_element_from_string)
2906 (next_element_from_ellipsis, next_element_from_buffer): Use it.
2907
2908 2008-03-08 Andreas Schwab <schwab@suse.de>
2909
2910 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
2911
2912 2008-03-06 Jason Rumney <jasonr@gnu.org>
2913
2914 * w32font.c (w32_registry): Take font_type argument. Use ANSI
2915 when charset not specified. Only translate ANSI to unicode when
2916 font_type is truetype.
2917 (w32font_coverage_ok): New function.
2918 (add_font_entity_to_list): Use it to filter unsuitable fonts.
2919
2920 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
2921
2922 * lread.c (Fread_char): Resolve modifiers.
2923 (Fread_char_exclusive): Likewise.
2924
2925 * character.c (char_resolve_modifier_mask): New function.
2926 (char_string): Use char_resolve_modifier_mask.
2927 (Fchar_resolve_modifiers): New function.
2928 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
2929 function.
2930
2931 2008-03-04 Jason Rumney <jasonr@gnu.org>
2932
2933 * makefile.w32-in: Always include w32font.c in the build.
2934 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
2935
2936 2008-03-04 Andreas Schwab <schwab@suse.de>
2937
2938 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
2939 (versionclean): Likewise.
2940
2941 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
2942
2943 * .cvsignore: Add oo.
2944
2945 2008-03-03 Andreas Schwab <schwab@suse.de>
2946
2947 * coding.c (decode_coding_object): Inhibit gap shrinking while
2948 decoding in place.
2949
2950 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
2951
2952 * w32term.c: Remove unused include "gnu.h".
2953 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
2954
2955 * gnu.h: Rename to ...
2956 * emacs-icon.h: ... this.
2957 * xterm.c: Use emacs-icon.h instead of gnu.h.
2958 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
2959
2960 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
2961
2962 * w32font.c: Include math.h.
2963
2964 2008-03-03 Jason Rumney <jasonr@gnu.org>
2965
2966 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
2967 Compute options separately.
2968 (w32font_open_internal): Set glyph_idx before caching metrics.
2969
2970 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
2971 Define if system headers don't.
2972 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
2973 (w32font_encode_char): Don't declare here.
2974
2975 * w32font.c (Quniscribe, QCformat): New symbols.
2976 (syms_of_w32font): Define them.
2977 (w32font_has_char): Indicate uncertainty.
2978 (w32font_encode_char): Encode as glyph point. Make static.
2979 (recompute_cached_metrics): New function.
2980 (w32font_open_internal): Use it. Set font to use glyph points
2981 initially. Set format based on type of font.
2982 (w32font_text_extents, w32font_draw): Optionally use glyph points.
2983 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
2984 on it. Set format based on information available here.
2985 (add_font_entity_to_list): Identify backend based on opentype_only.
2986
2987 2008-03-02 Andreas Schwab <schwab@suse.de>
2988
2989 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
2990
2991 * coding.c (decode_coding_big5, produce_chars):
2992 Fix typos in last change.
2993
2994 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
2995
2996 * gnu.h: New icon.
2997
2998 2008-03-02 Kenichi Handa <handa@m17n.org>
2999
3000 * coding.c (decode_coding_utf_8): When eol-type of CODING is
3001 `dos', don't decode '\r' if that is the last in the source.
3002 (decode_coding_utf_16, decode_coding_emacs_mule)
3003 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3004 (decode_coding_raw_text, decode_coding_charset): Likewise.
3005 (produce_chars): Don't decode EOL here. Use EMACS_INT.
3006
3007 2008-03-01 Jason Rumney <jasonr@gnu.org>
3008
3009 * w32font.c (w32font_full_name): Report point size for scalable fonts.
3010
3011 2008-03-01 Kim F. Storm <storm@cua.dk>
3012
3013 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
3014
3015 2008-03-01 Jason Rumney <jasonr@gnu.org>
3016
3017 * w32font.c (w32font_full_name): New function.
3018 (w32font_open_internal): Use it.
3019
3020 2008-03-01 Kim F. Storm <storm@cua.dk>
3021
3022 * dispnew.c (line_draw_cost): Fix invalid glyph check.
3023
3024 2008-03-01 Jason Rumney <jasonr@gnu.org>
3025
3026 * font.c (font_unparse_fcname): Increase len when style is a symbol.
3027
3028 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
3029
3030 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
3031 xg_frame_resized when the event is for the edit widget.
3032
3033 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
3034
3035 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
3036 set_char_size.
3037 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
3038 operations on widgets here. Just set frame size if needed.
3039 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
3040 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
3041 (x_wm_set_size_hint): Set size hints on the edit widget only, not
3042 the whole frame.
3043 (xg_create_tool_bar): Move attachement of the tool bar to
3044 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
3045 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
3046
3047 2008-03-01 Jason Rumney <jasonr@gnu.org>
3048
3049 * w32fns.c (w32_msg_pump): Disable debug code.
3050
3051 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3052
3053 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
3054
3055 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
3056
3057 * xdisp.c (next_overlay_string): Don't set
3058 overlay_strings_at_end_processed_p if we're currently reading from
3059 a display string.
3060
3061 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
3062
3063 * xdisp.c (get_overlay_strings_1): Fix typo.
3064
3065 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
3066
3067 * xdisp.c (get_overlay_strings_1): Add missing argument type.
3068
3069 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
3070
3071 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
3072
3073 * xdisp.c (display_mode_element): Cancel the previous change.
3074 (decode_mode_spec): Likewise.
3075 (handle_auto_composed_prop): Don't make composition if it->string
3076 is a string.
3077
3078 2008-02-27 Kim F. Storm <storm@cua.dk>
3079
3080 * lisp.h (GLYPH): Change type from int to struct with separate char
3081 and face_id members.
3082 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
3083 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
3084 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
3085 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
3086 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
3087 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
3088 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
3089 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
3090 handle new Lisp glyph code encoding, either an integer or a cons.
3091
3092 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
3093 (GLYPH_ALIAS): Delete.
3094 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
3095 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
3096 (GLYPH_FROM_CHAR): Replace macro by ...
3097 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
3098
3099 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
3100 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
3101 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
3102 (GLYPH_INVALID_P): New macro.
3103 (spec_glyph_lookup_face): Update prototype.
3104
3105 * dispnew.c (line_draw_cost): Adapt to new glyph type.
3106 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
3107 new glyph code encoding.
3108 (spec_glyph_lookup_face): No return value; update passed glyph instead.
3109 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
3110
3111 * xdisp.c (get_next_display_element, next_element_from_display_vector):
3112 Adapt to new glyph type and new glyph code encoding.
3113
3114 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
3115
3116 * indent.c (current_column, current_column_1, Fmove_to_column)
3117 (compute_motion): Adapt to new glyph code encoding.
3118
3119 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
3120
3121 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
3122
3123 * process.c (wait_reading_process_output): Check for window
3124 changes caused by timers.
3125 Suggested by Johan Bockgård.
3126
3127 2008-02-27 Glenn Morris <rgm@gnu.org>
3128
3129 * emacs.c (USAGE1): Add `--disable-font-backend'.
3130
3131 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
3132
3133 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
3134 is made to the buffer.
3135
3136 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
3137
3138 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
3139 (face_at_string_position):
3140 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
3141 (face_at_string_position):
3142 * xdisp.c (display_string, next_overlay_change):
3143 * buffer.h (overlays_at):
3144 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
3145 Update callers.
3146
3147 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
3148
3149 * editfns.c (Fformat): Doc fix.
3150
3151 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
3152
3153 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
3154 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
3155 (Ffont_otf_alternates, Fquery_font): Doc fixes.
3156
3157 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3158
3159 * buffer.c (Fbuffer_swap_text): New function.
3160 (syms_of_buffer): Defsubr it.
3161
3162 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
3163
3164 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
3165
3166 2008-02-25 Jason Rumney <jasonr@gnu.org>
3167
3168 * w32font.c (w32font_draw): Draw one character at a time when padding.
3169
3170 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3171
3172 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
3173 Handle a nil arg. Use run_window_configuration_change_hook.
3174 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
3175 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
3176 Use run_window_configuration_change_hook.
3177
3178 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3179
3180 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
3181 1-pixel width.
3182
3183 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3184
3185 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
3186 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
3187 if the glyph in the font is zero pixel with.
3188
3189 * dispextern.h (struct glyph_string): New member padding_p.
3190
3191 * w32font.c (w32font_draw): Pay attention to s->padding_p.
3192
3193 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
3194
3195 * xfont.c (xfont_draw): Pay attention to s->padding_p.
3196
3197 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
3198
3199 * font.c: If the font driver doesn't have `shape' function, return Qnil.
3200
3201 2008-02-25 Jason Rumney <jasonr@gnu.org>
3202
3203 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
3204
3205 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
3206
3207 Allow fine-grained image-cache flushing.
3208 * dispextern.h (struct image): Add `dependencies' field.
3209 (clear_image_caches): Change arg to Lisp_Object.
3210 * image.c (make_image): Initialize `dependencies' field.
3211 (clear_image_cache): Change arg to allow fine-grained flushing.
3212 Perform the flush even if image-cache-eviction-delay is nil.
3213 (clear_image_caches): Change arg to Lisp_Object.
3214 (Fclear_image_cache): Expand meaning of the argument.
3215 (mark_image): Mark `dependencies' field.
3216 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
3217 (lface_hash): Use XHASH rather than XFASTINT.
3218 (face_at_buffer_position): Fix int -> EMACS_INT position.
3219 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
3220 (select_frame_for_redisplay): Remove code duplication.
3221 (redisplay_internal): Adapt arg to call to clear_image_caches.
3222
3223 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
3224
3225 * s/vms4-0.h:
3226 * s/vms4-2.h:
3227 * s/vms4-4.h:
3228 * s/vms5-5.h: Remove, unused.
3229
3230 * s/irix5-2.h:
3231 * s/irix6-0.h:
3232 * s/riscos5.h:
3233 * s/mach-bsd4-3.h:
3234 * m/mips4.h: Remove files for obsolete systems.
3235
3236 * Makefile.in:
3237 * filelock.c:
3238 * unexmips.c:
3239 * m/hp9000s300.h:
3240 * m/iris4d.h:
3241 * s/aix3-1.h:
3242 * s/hpux.h:
3243 * s/msdos.h:
3244 * s/usg5-0.h:
3245 * s/usg5-2-2.h:
3246 * s/usg5-2.h:
3247 * s/usg5-3.h: Remove references to obsolete variables.
3248
3249 * s/irix5-0.h: Remove, move all the contents ...
3250 * s/irix6-5.h: ... here. Simplify.
3251 * config.in: Regenerate.
3252
3253 2008-02-24 Jason Rumney <jasonr@gnu.org>
3254
3255 * w32term.c (x_draw_glyph_string_background): Clear the background
3256 manually when cleartype is in use.
3257 (x_draw_glyph_string_foreground): Draw text transparently when
3258 cleartype is in use.
3259
3260 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
3261 a font into it unless we have to.
3262
3263 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3264
3265 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
3266 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
3267
3268 2008-02-18 Jason Rumney <jasonr@gnu.org>
3269
3270 * w32fns.c (Fw32_shell_execute): Encode parameters.
3271
3272 2008-02-09 Eli Zaretskii <eliz@gnu.org>
3273
3274 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
3275
3276 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
3277
3278 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
3279
3280 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
3281
3282 * xterm.c (x_set_offset): Don't change the gravity if
3283 CHANGE_GRAVITY is -1.
3284
3285 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
3286
3287 * fileio.c (auto_save_error_occurred): New var.
3288 (auto_save_error): Set it.
3289 (Fdo_auto_save): Don't overwrite the error message if an auto-save
3290 error occurred.
3291
3292 2008-02-23 Eli Zaretskii <eliz@gnu.org>
3293
3294 * w32.c (globals_of_w32): Add initializations for
3295 g_b_init_get_sid_sub_authority and
3296 g_b_init_get_sid_sub_authority_count.
3297
3298 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
3299
3300 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
3301 (font_parse_xlfd): Use them for sanity check.
3302 (Finternal_set_font_style_table): Make sure the table is bijective.
3303
3304 Consolidate the image_cache to the terminal struct.
3305 * termhooks.h (P_): Remove redundant def.
3306 (struct terminal): New field `image_cache'.
3307 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
3308 of FRAME_X_IMAGE_CACHE.
3309 * xterm.h (struct x_display_info): Remove image_cache field.
3310 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3311 * w32term.h (struct w32_display_info): Remove image_cache field.
3312 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3313 * macterm.h (struct mac_display_info): Remove image_cache field.
3314 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3315 * xterm.c (x_term_init):
3316 * w32term.c (w32_term_init):
3317 * macterm.c (mac_term_init): Set the image_cache in the terminal.
3318 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
3319 Remove declarations.
3320 (clear_image_caches, mark_image_cache): New declarations.
3321 * xfaces.c (clear_face_cache):
3322 * xdisp.c (redisplay_internal): Use clear_image_caches.
3323 * image.c (clear_image_cache): Don't check that a frame is on
3324 a window-system before checking if it shares the same cache.
3325 (clear_image_caches): New function.
3326 (Fclear_image_cache): Use it.
3327 (mark_image): Move from allo.c.
3328 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
3329 * alloc.c (mark_image, mark_image_cache): Move to image.c.
3330 (mark_object): Don't call mark_image_cache for frames.
3331 (mark_terminals): Call mark_image_cache.
3332
3333 * lisp.h (Fdelete_terminal): Declare.
3334
3335 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
3336 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
3337 wrong_type_argument.
3338
3339 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
3340
3341 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
3342 malayalam.el, and tamil.el. Add sinhala.el.
3343
3344 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
3345
3346 * xterm.c (x_connection_closed): Consolidate identical tests.
3347 (x_delete_terminal): Don't crash if called via x_connection_closed.
3348
3349 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
3350
3351 * xdisp.c (decode_mode_spec): New arg string.
3352 (display_mode_element): Adjust for the above change.
3353
3354 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3355
3356 * callint.c (Fcall_interactively): Use AREF.
3357
3358 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
3359
3360 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
3361
3362 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
3363
3364 * xfns.c (Fx_show_tip): Set string to " " if empty.
3365
3366 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
3367
3368 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
3369 with Qt.
3370
3371 2008-02-17 Kenichi Handa <handa@m17n.org>
3372
3373 * ftfont.c (ftfont_shape): Return Lispy number.
3374
3375 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
3376 for GCs.
3377 (Finternal_set_font_selection_order): Call font_update_sort_order
3378 only when enable_font_backend is set.
3379 (realize_x_face): Set face->font_info to that of default face only
3380 when enable_font_backend is set.
3381
3382 * xdisp.c (handle_composition_prop): Set it->c to the fist
3383 characte of the composed region.
3384 (fill_composite_glyph_string): Set base_face->font_info to
3385 s->font_info. Get a face for ascii from base_face->ascii_face.
3386 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
3387 with a face already decided.
3388 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
3389 non-negative.
3390 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
3391 call font_prepare_composition unconditionally.
3392
3393 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
3394
3395 * xterm.h (struct x_display_info): New member font.
3396
3397 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
3398 (x_set_mouse_face_gc, x_new_font): Likewise.
3399 (x_term_init): Setup display_info->font.
3400 (x_delete_terminal): Free display_info->font.
3401
3402 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
3403
3404 * ftxfont.c (ftxfont_default_fid): Delete it.
3405 (ftxfont_open): Set xfont->fid to 0.
3406 (ftxfont_end_for_frame): Clear data specific to the frame and the
3407 font-driver.
3408
3409 * xftfont.c (xftfont_default_fid): Delete it.
3410 (xftfont_open): Set xfont->fid to 0.
3411
3412 * fontset.c (FONTSET_OBJLIST): New macro.
3413 (fontset_find_font): Update font-object list of the fontset.
3414 (free_realized_fontset): New function.
3415 (free_face_fontset): Call free_realized_fontset.
3416 (Ffont_info): Call font_close_object only when enable_font_backend
3417 is set.
3418
3419 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
3420 [HAVE_NTGUI]: Include w32term.h.
3421 [MAC_OS]: Include macterm.ch.
3422 (font_otf_ValueRecord): Use make_number.
3423 (font_finish_cache): Fix handling of reference count.
3424 (font_clear_cache): Update num_fonts.
3425 (font_open_entity): Update smallest_char_width and
3426 smallest_font_height of the frame.
3427 (font_close_object): Update num_fonts.
3428 (Fclear_font_cache): Fix finding the target cache data.
3429
3430 2008-02-16 Glenn Morris <rgm@gnu.org>
3431
3432 * fontset.c (Finternal_char_font): Fix compilation warning.
3433
3434 2008-02-16 Eli Zaretskii <eliz@gnu.org>
3435
3436 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
3437 instead of char arrays. Enlarge the size of array passed to
3438 get_token_information.
3439
3440 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
3441 warnings.
3442
3443 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
3444
3445 * .gdbinit: Don't set `args', it breaks gdb --args.
3446
3447 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
3448
3449 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
3450 within a narrowed buffer.
3451
3452 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
3453
3454 * coding.c (decode_coding_object, encode_coding_object):
3455 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
3456
3457 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
3458
3459 * coding.c (coding_set_destination): Use BEG_BYTE rather than
3460 hardcoding 1.
3461 (detect_coding_system):
3462 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
3463 (string_char_to_byte, string_byte_to_char, insert_from_gap):
3464 * insdel.c (insert_from_gap):
3465 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
3466 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
3467 (string_to_multibyte):
3468 * character.c (chars_in_text, multibyte_chars_in_text):
3469 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
3470
3471 * character.h (FETCH_STRING_CHAR_ADVANCE)
3472 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
3473 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
3474 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
3475
3476 * casefiddle.c (casify_region): Only call after-change and composition
3477 functions on the part of the region that was changed.
3478
3479 * keyboard.c (read_avail_input):
3480 * frame.c (Fdelete_frame): Call Fdelete_terminal.
3481
3482 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3483
3484 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
3485 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
3486
3487 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
3488
3489 * w32menu.c (push_submenu_start, push_submenu_end)
3490 (push_left_right_boundary, push_menu_pane, push_menu_item):
3491 * keyboard.c (read_key_sequence): Don't pass args with side effects
3492 to AREF, it fails when compiling with -DENABLE_CHECKING.
3493
3494 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
3495
3496 * Makefile.in (${lispsource}international/charprop.el):
3497 Delete this target.
3498
3499 * search.c (boyer_moore): Fix incorrect synching of the trunk and
3500 emacs-unicode-2.
3501
3502 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3503
3504 * terminal.c (Fdelete_terminal): Clean up the `force' path.
3505
3506 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3507
3508 * frame.c (Qnoelisp): New symbol.
3509 (syms_of_frame): Initialize it.
3510 (Fdelete_frame): Use it to distinguish a mere `force' passed from
3511 someharmles Elisp code, from a strong `force' from x_connection_closed.
3512 * frame.h (Qnoelisp): Declare.
3513 * xterm.c (x_connection_closed): Pass `noelisp'.
3514
3515 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
3516 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
3517 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
3518 rather than `int' for the type of `type'.
3519
3520 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
3521
3522 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
3523
3524 * Makefile.in (GNUC): Remove support for gcc-1.x.
3525
3526 2008-02-10 Richard Stallman <rms@gnu.org>
3527
3528 * lisp.h (ASET): Use AREF, not ASLOT.
3529
3530 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3531
3532 * lisp.h (ASET): Check bounds.
3533
3534 2008-02-10 Glenn Morris <rgm@gnu.org>
3535
3536 * buffer.c (mode-name): Doc fix.
3537
3538 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3539
3540 * Makefile.in:
3541 * emacs.c:
3542 * gmalloc.c:
3543 * keyboard.c:
3544 * lisp.h:
3545 * m/ibm370aix.h:
3546 * process.c:
3547 * regex.c:
3548 * s/hpux.h:
3549 * sysdep.c:
3550 * sysselect.h:
3551 * systty.h:
3552 * unexec.c:
3553 * w32term.c:
3554 * xsmfns.c:
3555 * xterm.c: Remove code that deals with obsolete variables.
3556
3557 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
3558
3559 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
3560 nothing else needs it anymore.
3561
3562 2008-02-09 Eli Zaretskii <eliz@gnu.org>
3563
3564 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
3565 instead of unibyte_char_to_multibyte.
3566
3567 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3568
3569 * s/gnu-linux.h: Remove commented out code.
3570
3571 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
3572
3573 * Makefile.in: Update what RMS says about using autoconf.
3574 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
3575 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
3576 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
3577 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
3578
3579 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
3580
3581 * keymap.c (Fkey_description): Move side effect outside of macro call.
3582
3583 * xfaces.c (Finternal_make_lisp_face):
3584 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
3585
3586 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
3587 (syms_of_fontset): Use ASET.
3588
3589 * fns.c (concat): Move side effect outside of macro call.
3590 (hash_clear): Use ASET.
3591
3592 2008-02-08 Richard Stallman <rms@gnu.org>
3593
3594 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
3595 If FORCE, and frame has a surrogate minibuffer for another frame,
3596 delete the other frame first.
3597
3598 2008-02-07 Timo Savola <timo.savola@iki.fi>
3599
3600 * xterm.c (x_detect_focus_change): Handle embed client message.
3601 (handle_one_xevent): Ditto.
3602 (handle_one_xevent): If embedded and we get a button press/release,
3603 request focus.
3604 (xembed_set_info, xembed_send_message): New functions.
3605 (x_make_frame_visible): Call xembed_set_info if embedded.
3606 (x_make_frame_invisible): Call xembed_set_info if embedded.
3607 (x_term_init): Initialize Xatom_XEMBED.
3608 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
3609 (x_iconify_frame): Ditto.
3610
3611 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
3612 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
3613 (enum xembed_modifier, enum xembed_accelerator): New.
3614 (xembed_set_info, xembed_send_message): Declare.
3615 (FRAME_X_EMBEDDED_P): New.
3616
3617 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
3618 gtk_plug_new.
3619
3620 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
3621 window ID of a frame.
3622 (x_window): Reparent frame if embedded.
3623 (Fx_create_frame): Don't set border width if embedded.
3624
3625 * emacs.c (USAGE3): Add --parent-id.
3626 (standard_args): Ditto.
3627
3628 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
3629
3630 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
3631
3632 2008-02-07 Jim Meyering <meyering@redhat.com>
3633
3634 Use "do...while (0)", not "if (1)...else" in macro definitions.
3635 The latter provokes a warning from gcc about the empty else, when
3636 followed by ";". Also, without that trailing semicolon, it would
3637 silently swallow up any following statement.
3638 * syntax.h (SETUP_SYNTAX_TABLE)
3639 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
3640 * buffer.h (DECODE_POSITION): Likewise.
3641 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
3642 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
3643 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
3644 (FETCH_CHAR_ADVANCE): Likewise.
3645 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
3646
3647 2008-02-07 Jim Meyering <meyering@redhat.com>
3648
3649 * lread.c [lint]: Don't include <sys/inode.h>.
3650
3651 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
3652
3653 * xselect.c (x_handle_dnd_message):
3654 * xmenu.c (digest_single_submenu, xmenu_show):
3655 * xdisp.c (with_echo_area_buffer_unwind_data)
3656 (format_mode_line_unwind_data, unwind_format_mode_line)
3657 (display_menu_bar):
3658 * eval.c (Ffetch_bytecode):
3659 * doc.c (store_function_docstring):
3660 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
3661 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
3662 * buffer.c (add_overlay_mod_hooklist): Use ASET.
3663
3664 2008-02-07 Kenichi Handa <handa@m17n.org>
3665
3666 * ftxfont.c (ftxfont_open): Don't set
3667 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
3668
3669 * ftfont.c (ftfont_open): Fix previous change.
3670
3671 2008-02-06 Jason Rumney <jasonr@gnu.org>
3672
3673 * w32font.c (w32font_text_extents): Fill in lbearing metric.
3674 Use cached metrics for ASCII characters.
3675 (w32font_open_internal): Don't set font's owning_frame.
3676 Cache metrics for ASCII characters.
3677
3678 * w32font.h (struct w32font_info): Add ascii_metrics.
3679 Remove owning_frame.
3680
3681 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
3682
3683 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
3684 to negative value.
3685
3686 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
3687
3688 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
3689
3690 * charset.c (syms_of_charset): Set QCtest and Qeq.
3691
3692 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
3693
3694 * process.c (Fstart_process):
3695 * callproc.c (Fcall_process): Handle the case where
3696 Funhandled_file_name_directory returns nil.
3697
3698 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
3699 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
3700 * font.c (check_gstring): Use them and AREF to access the vector before
3701 we know it's really a gstring.
3702 (Ffont_shape_text): Fix typo.
3703 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
3704
3705 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
3706 Declare.
3707
3708 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
3709
3710 2008-02-05 Jason Rumney <jasonr@gnu.org>
3711
3712 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
3713 Set smallest_font_height and smallest_char_width in display info.
3714
3715 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
3716
3717 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
3718
3719 2008-02-05 Miles Bader <miles@gnu.org>
3720
3721 * xfaces.c (get_lface_attributes, merge_named_face)
3722 (lookup_named_face, lookup_derived_face, realize_named_face):
3723 Revert 2008-02-01 change by cyd@stupidchicken.com.
3724
3725 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
3726
3727 * fontset.c (Ffontset_info): Handle the case of inhibitting the
3728 fallback fonts.
3729 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3730
3731 2008-02-04 Jason Rumney <jasonr@gnu.org>
3732
3733 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
3734 set full_name.
3735 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
3736
3737 2008-02-03 Jason Rumney <jasonr@gnu.org>
3738
3739 * makefile.w32-in (OBJ1): Include font.o here.
3740 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
3741
3742 2008-02-02 Jason Rumney <jasonr@gnu.org>
3743
3744 * makefile.w32-in (temacs): Bump EMHEAP to 21.
3745
3746 2008-02-01 Jason Rumney <jasonr@gnu.org>
3747
3748 * s/cygwin.h: Define VIRT_ADDR_VARIES.
3749
3750 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
3751
3752 2008-02-01 Andreas Schwab <schwab@suse.de>
3753
3754 * Makefile.in (shortlisp, lisp): Update for rename of
3755 ../lisp/language/myanmar.el.
3756
3757 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
3758
3759 * xfaces.c (get_lface_attributes): Delete function.
3760 (merge_named_face, lookup_named_face, lookup_derived_face)
3761 (realize_named_face): Call lface_from_face_name directly, and use
3762 the fact that merge_face_vectors does not alter its FROM argument.
3763
3764 2008-02-01 Jason Rumney <jasonr@gnu.org>
3765
3766 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
3767 input in the default locale. Handle non-Unicode multibyte input.
3768
3769 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3770
3771 * fontset.c (reorder_font_vector): Exclude nil elements from the
3772 font group. Don't try multiple fonts.
3773 (fontset_font): Adjust for the above change.
3774 (Finternal_char_font): Return nil if the found font doesn't
3775 contain the character ch.
3776
3777 * Makefile.in (lisp, shortlisp): Add cham.el.
3778
3779 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3780
3781 * font.h (FONTP): Make it return 1 also for a font-object.
3782
3783 * .gdbinit (xfontset): New function.
3784
3785 * font.c (font_find_for_lface): Check if the character C is
3786 supported or not only for the first font.
3787
3788 * fontset.c (reorder_font_vector): Fix typo.
3789 (fontset_find_font): Don't add a font-spec specifying a script.
3790 Use 0 (not Qt) for the indication of empty font-group. Change the
3791 format of RFONT-DEF. Return Qt if no font in the font-group
3792 support the character.
3793 (fontset_font): Adjust for the above change. If no font was
3794 found the character, remember that.
3795 (face_for_char): Adjust for the change of RFONT-DEF.
3796 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
3797 no font for the target.
3798 (Finternal_char_font): Adjust for the change of RFONT-DEF.
3799
3800 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3801
3802 * font.c (font_load_for_face): Handle the case that the font in
3803 face->lface is a string.
3804
3805 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3806
3807 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
3808
3809 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3810
3811 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
3812 Fix previous change. If the frame is not on a window system,
3813 signal an error.
3814
3815 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3816
3817 * coding.c (decode_coding_object, encode_coding_object): Adjust
3818 marker positions after conversion.
3819
3820 * lisp.h (struct Lisp_Marker): New member need_adjustment.
3821
3822 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3823
3824 * font.c (font_find_for_lface): Fix the handling of the return
3825 value of font_has_char.
3826 (Ffont_shape_text): Fix previous change.
3827
3828 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
3829 (fontset_ref_and_range): Delete it.
3830 (fontset_find_font): Call char_table_ref_and_range instead of
3831 FONTSET_REF_AND_RANGE.
3832 (make_fontset): Don't setup font groups of Latin here.
3833 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
3834 (new_fontset_from_font): Make the specified font the default for
3835 all Latin characters.
3836
3837 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3838
3839 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
3840 is on a window system before accessing the fontset of the frame.
3841
3842 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3843
3844 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
3845
3846 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
3847 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
3848
3849 * font.c (Ffont_shape_text): If the font driver doesn't have a
3850 shaper function, make zero-width glyphs to have at least one-pixel
3851 width. Fix setting of `to' field of glyphs.
3852
3853 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3854
3855 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
3856 glyphs.
3857
3858 * font.h (struct font_driver): Improve docstring of member `shape'.
3859
3860 2008-02-01 Kenichi Handa <handa@m17n.org>
3861
3862 * composite.c (syms_of_composite): Fix docstring of
3863 auto-composition-function.
3864
3865 * font.h (LGLYPH_SIZE): New macro.
3866
3867 * font.c (Ffont_fill_gstring): Stop filling when a character not
3868 supported by the font is found.
3869 (Ffont_shape_text): When a shape callback function returns nil,
3870 try at most two more times with larger gstring.
3871 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
3872
3873 * xdisp.c (handle_auto_composed_prop): Change the argument to
3874 auto-composition-function.
3875
3876 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
3877 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
3878 Lispy glyph and store it in the lgstring.
3879
3880 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
3881
3882 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
3883
3884 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3885
3886 * font.c (Ffont_shape_text): Avoid unnecessary composition.
3887
3888 * fontset.c (Vfont_encoding_charset_alist): New variable.
3889 (syms_of_fontset): DEFVAR it.
3890 (reorder_font_vector, fontset_find_font): Optimize for the case of
3891 no need of reordering.
3892 (face_for_char): Map the charset property by
3893 Vfont_encoding_charset_alist.
3894
3895 2008-02-01 Jason Rumney <jasonr@gnu.org>
3896
3897 * w32font.c (logfonts_match): Don't check adstyle here.
3898 (font_matches_spec): Check here against physical font instead.
3899 (add_font_entity_to_list): Avoid some substitutions.
3900
3901 * font.c (font_parse_fcname): Default weight and slant to normal.
3902 (font_score): Prefer normal fonts if weight or slant unspecified.
3903 (font_score) [WINDOWSNT]: Scale weight difference down to closer
3904 match freetype scores.
3905
3906 2008-02-01 Jason Rumney <jasonr@gnu.org>
3907
3908 * w32font.c (w32font_text_extents): Don't use the frame stored in the
3909 font, as it may have been deleted.
3910 (w32_enumfont_pattern_entity): Map generic family to adstyle using
3911 most common hyphenless variation.
3912 (logfonts_match): Check generic family.
3913 (font_matches_spec): Don't check generic family here.
3914 (fill_in_logfont): Set generic family based on adstyle.
3915
3916 * w32font.h (w32font_get_cache): Update declaration.
3917
3918 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3919
3920 * ftfont.c (ftfont_get_cache): Adjust the argument type.
3921
3922 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
3923 If none of the new drivers are available, call font_update_drivers
3924 with the old drivers.
3925
3926 * w32font.c (w32font_get_cache): Adjust the argument type.
3927
3928 * xfont.c (xfont_get_cache): Adjust the argument type.
3929
3930 * font.h (struct font_driver): Change argument type of get_cache.
3931
3932 * xftfont.c (xftfont_start_for_frame): Delete prototype.
3933
3934 * font.c (Ffont_get): Fix arguments to Fassoc.
3935 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
3936 (font_clear_cache): New function.
3937 (font_list_entities, font_matching_entity): Use font_get_cache.
3938 (font_update_drivers): Call font_clear_cache when finishing a driver.
3939
3940 * fontset.c (fontset_find_font): Fix previous change.
3941
3942 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3943
3944 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
3945 dpyinfo->font_table.
3946 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
3947 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
3948
3949 * font.c (font_at): Handle the case that the arg C is negative.
3950 Handle the unibyte case.
3951 (Ffont_at): Call font_at with the arg C -1.
3952
3953 * xdisp.c (handle_auto_composed_prop): Don't get a character at
3954 the position here, and call font_at with the arg C -1.
3955 Don't check the range of the existing composition at the point.
3956
3957 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3958
3959 * fontset.c (fontset_add): New args charset_id and family.
3960 Change caller.
3961 (load_font_get_repertory, fontset_find_font): Assume that
3962 font_spec is always a font-spec object.
3963 (Fset_fontset_font): Always store a font-spec object in a fontset.
3964
3965 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
3966 instead of get_property_and_range.
3967
3968 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
3969
3970 * xftfont.c (struct xftfont_info): Delete the member ft_face.
3971 (xftfont_open): Don't keep locking face.
3972 (xftfont_close): Don't unlock face.
3973 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
3974
3975 * fontset.c (fontset_find_font): Don't prefer a font of
3976 supplementary charset.
3977
3978 2008-02-01 Kenichi Handa <handa@m17n.org>
3979
3980 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
3981 script, langsys_tag to langsys, new member script.
3982 (OTF_TAG_STR): Terminate by '\0'.
3983 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
3984 listing to the script specified in that property. Fix arg to
3985 OTF_check_features.
3986
3987 2008-02-01 Jason Rumney <jasonr@gnu.org>
3988
3989 * w32font.h: New file.
3990
3991 * w32font.c: Include it.
3992 (struct w32font_info): Add owning_frame field. Move to w32font.h.
3993 (w32font_open): Set owning_frame.
3994 (w32font_text_extents): Use owning_frame.
3995 (struct font_callback_data): Add opentype_only field.
3996 (add_font_entity_to_list): Use it to filter fonts.
3997 Don't check against full name.
3998 (w32font_list_internal): New function.
3999 (w32font_list): Use it.
4000 (w32font_match_internal): New function.
4001 (w32font_match): Use it.
4002 (w32font_open_internal): New function.
4003 (w32font_open): Use it.
4004 (w32font_get_cache, w32font_close, w32font_has_char)
4005 (w32font_encode_char, w32font_text_extents, w32font_draw):
4006 Make non-static.
4007
4008 * makefile.w32-in (w32font.o): Depend on w32font.h.
4009
4010 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4011
4012 * charset.c (Fdefine_charset_internal): Record a supplementary
4013 charset at the tail of Vcharset_order_list.
4014
4015 * font.c (Ffont_shape_text): Fix the return value.
4016
4017 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
4018
4019 * xdisp.c (handle_auto_composed_prop): Fix previous change.
4020
4021 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4022
4023 * ftfont.c (struct OpenTypeSpec): New struct.
4024 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
4025 (ftfont_get_open_type_spec): New function.
4026 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
4027
4028 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
4029
4030 2008-02-01 Jason Rumney <jasonr@gnu.org>
4031
4032 * w32font.c (add_font_entity_to_list): Compare only the beginning
4033 of full name.
4034
4035 2008-02-01 Kenichi Handa <handa@m17n.org>
4036
4037 * xdisp.c (handle_auto_composed_prop): Simplify the code.
4038 Never return HANDLED_RECOMPUTE_PROPS.
4039
4040 2008-02-01 Kenichi Handa <handa@m17n.org>
4041
4042 * font.c (font_gstring_produce): Delete it.
4043
4044 * composite.h (COMPOSITION_METHOD):
4045 Handle COMPOSITION_WITH_GLYPH_STRING.
4046
4047 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4048
4049 * xfont.c (Qx): Delete.
4050 (syms_of_xfont): Don't initialize Qx.
4051
4052 * composite.h (enum composition_method):
4053 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
4054
4055 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4056
4057 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
4058 (choose_face_font): Accept new form of font-spec.
4059
4060 * frame.h (font_driver_list): Declare it unconditionally.
4061 (struct frame): Define members font_driver_list and font_data_list
4062 unconditionally.
4063
4064 * fontset.c: Include "font.h" unconditionally.
4065 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
4066 (Fset_fontset_font): Accept a font-spec object.
4067
4068 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
4069 PIXEL_SIZE part a wild card.
4070
4071 * dispextern.h (struct glyph_string): Define members clip and
4072 num_clips unconditionally.
4073 (struct face): Define members font_info and extra unconditionally.
4074
4075 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
4076 ftfont_info only when HAVE_LIBOTF is defined.
4077
4078 2008-02-01 Andreas Schwab <schwab@suse.de>
4079
4080 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
4081 and end.
4082
4083 2008-02-01 Jason Rumney <jasonr@gnu.org>
4084
4085 * w32font.c (w32font_driver): Add new fields.
4086
4087 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4088
4089 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
4090 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
4091 (LIBES): Add @M17N_FLT_CFLAGS@.
4092
4093 * composite.c (compose_text): Don't treat the new style
4094 composition specially.
4095
4096 * emacs.c (main): Call syms_of_font unconditionally.
4097
4098 * font.h (FONT_ENTITY_NOT_LOADABLE)
4099 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
4100 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
4101 (struct font_driver): New member shape.
4102 (font_registry_charsets): Extern it.
4103 (font_find_for_lface, font_prepare_composition): Adjust prototype.
4104 (font_otf_capability, font_drive_otf): Delete their externs.
4105
4106 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4107 (font_charset_alist, font_registry_charsets): Move from xfont.c
4108 and rename.
4109 (font_prop_validate_otf): New function.
4110 (font_property_table): Register it for QCotf.
4111 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
4112 (font_drive_otf): Delete.
4113 (font_prepare_composition): New arg F. Adjust for the change of
4114 lispy gstring.
4115 (font_find_for_lface): New arg C.
4116 (font_load_for_face): Adjust for the change of font_find_for_lface.
4117 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
4118 lispy gstring.
4119 (Ffont_shape_text): New function.
4120 (Fopen_font): If the font size is not given, use 12-pixel.
4121 (Ffont_at): New arg STRING.
4122 (syms_of_font): Initalize font_charset_alist.
4123 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
4124 conditionally.
4125
4126 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
4127 fonts of the same font-spec. Change the format of RFONT-DEF.
4128 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
4129 Adjust for the change of RFONT-DEF.
4130 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
4131
4132 * ftfont.h: New file.
4133
4134 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
4135 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4136 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4137 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
4138 font_otf_capability and font_drive_otf, set ftfont_shape.
4139 (ftfont_list): Adjust for the change of :otf property value.
4140 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
4141 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
4142 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
4143 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
4144 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
4145 (otf_gstring, gstring, m17n_flt_initialized): New variables.
4146
4147 * w32term.c (x_draw_composite_glyph_string_foreground):
4148 Adjust for the change of lispy gstring.
4149
4150 * xdisp.c (handle_composition_prop): Adjust for the change of
4151 lispy gstring. Call a function for auto-composition with the
4152 third arg it->window.
4153 (fill_composite_glyph_string): Adjust for the change of lispy string.
4154 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
4155
4156 * xfaces.c (set_font_frame_param): Adjust for the change of
4157 font_find_for_lface.
4158
4159 * xfont.c (x_font_charset_alist): Move to font.c and rename.
4160 (xfont_registry_charsets): Likewise. Change caller.
4161 (syms_of_xfont): Don't handle x_font_charset_alist.
4162
4163 * xftfont.c: Include "ftfont.h".
4164 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4165 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4166 (xftfont_close) [HAVE_LIBOTF]: Close otf.
4167 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
4168 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
4169 Set xftfont_driver.shape to xftfont_shape.
4170
4171 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
4172 the change of lispy gstring.
4173
4174 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4175
4176 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
4177
4178 2008-02-01 Jason Rumney <jasonr@gnu.org>
4179
4180 * w32font.c (w32font_draw): Fill background manually.
4181
4182 2008-02-01 Jason Rumney <jasonr@gnu.org>
4183
4184 * font.c (Qfontp): Remove unused symbol.
4185 (QCantialias): New symbol.
4186 (syms_of_font): Define it.
4187 (font_property_table): Set a validator for QCantialias.
4188
4189 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
4190 Define if not already.
4191 (QCfamily): Share with xfaces.c.
4192 (Qstandard, Qsubpixel, Qnatural): New symbols.
4193 (syms_of_w32font): Define them. Don't define QCfamily here.
4194 (w32_antialias_type, lispy_antialias_type): New functions.
4195 (w32_enumfont_pattern_entity): New arg requested_font.
4196 Set antialias parameter if non-default was requested.
4197 (fill_in_logfont): Fill in lfQuality if :antialias specified.
4198
4199 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4200
4201 * lread.c (read1): Undo the previous change.
4202
4203 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
4204
4205 * frame.c (Fdelete_frame): Call font_update_drivers only when
4206 USE_FONT_BACKEND is defined.
4207
4208 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4209
4210 * font.h (struct font_bitmap): New member bits_per_pixel.
4211 (struct font_driver): New members start_for_frame and end_for_frame.
4212 (struct font_data_list): New struct.
4213 (font_put_frame_data, font_get_frame_data): Extern them.
4214
4215 * frame.h (struct frame): New member font_data_list.
4216
4217 * font.c (font_update_drivers): Call driver->start_for_frame and
4218 driver->end_for_frame at proper timings.
4219 (font_put_frame_data, font_get_frame_data): New functions.
4220 (Ffont_spec): Add usage in the docstring.
4221
4222 * frame.c (make_frame): Initialize f->font_data_list to NULL.
4223 (Fdelete_frame): Call font_update_drivers.
4224
4225 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4226 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
4227 (xftfont_get_xft_draw): New function.
4228 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
4229 (xftfont_end_for_frame): New function.
4230 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
4231
4232 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
4233 Change argument. Cache GCs in the per-frame data.
4234 (struct ftxfont_frame_data): New struct.
4235 (ftxfont_draw_bitmap): New arg gc_fore and flush.
4236 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
4237 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
4238 (ftxfont_end_for_frame): New function.
4239 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
4240
4241 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
4242
4243 2008-02-01 Kenichi Handa <handa@m17n.org>
4244
4245 * xselect.c (Vselection_coding_system)
4246 (Vnext_selection_coding_system): Delete them.
4247 (syms_of_xselect): Don't declare selection-coding-system and
4248 next-selection-coding-system. They are declared in select.el.
4249
4250 2008-02-01 Jason Rumney <jasonr@gnu.org>
4251
4252 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
4253
4254 * w32fns.c: Include imm.h.
4255 (get_composition_string_fn, get_ime_context_fn): New optional
4256 system functions.
4257 (globals_of_w32fns): Load them from imm32.dll.
4258 (ignore_ime_char): New flag.
4259 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
4260 WM_IME_ENDCOMPOSITION messages.
4261
4262 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
4263 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
4264
4265 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4266
4267 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
4268 (READCHAR_REPORT_MULTIBYTE): New macro.
4269 (readchar): New 2nd arg MULTIBYTE.
4270 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
4271 Make symbol's name multibyte according to the multibyteness of the
4272 source.
4273
4274 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4275
4276 * xfaces.c (face_for_overlay_string): Call lookup_face with
4277 correct arguments (fix of synching with the trunk).
4278
4279 2008-02-01 Kenichi Handa <handa@m17n.org>
4280
4281 * font.c (font_prop_validate_symbol, font_prop_validate_style)
4282 (font_prop_validate_non_neg, font_prop_validate_spacing):
4283 Delete argument prop_index.
4284 (font_property_table): Change arguments to validater. Change Callers.
4285 (font_lispy_object): Delete.
4286 (font_at): Use font_find_object instead fo font_lispy_object.
4287
4288 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4289
4290 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
4291 and file names.
4292
4293 2008-02-01 Jason Rumney <jasonr@gnu.org>
4294
4295 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
4296 (font_matches_spec): Remove debug output.
4297 (add_font_entity_to_list): Avoid using substituted fonts.
4298
4299 2008-02-01 Jason Rumney <jasonr@gnu.org>
4300
4301 * doc.c (Fsnarf_documentation):
4302 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
4303
4304 2008-02-01 Miles Bader <miles@gnu.org>
4305
4306 * dispextern.h (struct glyph_row): Only define "clip" field if
4307 HAVE_WINDOW_SYSTEM is defined.
4308
4309 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
4310
4311 Fix up multi-tty merge.
4312
4313 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
4314 and indentation.
4315
4316 * xfaces.c (free_realized_face, clear_face_gcs):
4317 Include font_done_for_face in the input_blocked section, just in case.
4318
4319 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
4320 (get_char_face_and_encoding): Undo last change and remove the *other*
4321 duplicate definition (i.e. keep the one that's better scoped and that
4322 includes code for the font-backend).
4323
4324 * terminal.c (create_terminal): Default keyboard_coding to
4325 `no-conversion' and terminal_coding to `undecided'.
4326
4327 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
4328
4329 * fontset.c (free_realized_fontsets): Check that the table entry does
4330 contain a fontset before trying to compare it to `base'.
4331
4332 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
4333 syms_of_charset, and syms_of_coding earlier because init_window_once
4334 now needs Vcoding_system_hash_table to be setup.
4335
4336 * coding.h (default_buffer_file_coding): Remove.
4337
4338 * coding.c (default_buffer_file_coding): Remove.
4339 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
4340 than ->symbol, and use the terminal-local coding system.
4341 (syms_of_coding): Don't setup the coding-systems that are not
4342 terminal-local.
4343 (Fdefine_coding_system_internal): Use XCAR/XCDR.
4344
4345 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
4346 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
4347
4348 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
4349 in chartab.c and were re-added here by mistake.
4350 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
4351
4352 * doc.c (Fsnarf_documentation):
4353 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
4354 src to etc.
4355
4356 * ChangeLog.10: Add mistakenly removed entry.
4357
4358 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
4359
4360 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
4361
4362 2008-02-01 Miles Bader <miles@gnu.org>
4363
4364 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
4365 Add extra args to FACE_FOR_CHAR.
4366
4367 2008-02-01 Kenichi Handa <handa@m17n.org>
4368
4369 * keymap.c (where_is_internal_1): If key is a cons, store the copy
4370 in sequence.
4371
4372 * chartab.c (map_sub_char_table, map_char_table): If the range
4373 contains just one character, call the function with that character
4374 even if the depth is not 3.
4375
4376 2008-02-01 Jason Rumney <jasonr@gnu.org>
4377
4378 * w32font.c (w32font_text_extents): Calculate metrics for the
4379 whole string.
4380
4381 2008-02-01 Jason Rumney <jasonr@gnu.org>
4382
4383 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
4384
4385 2008-02-01 Jason Rumney <jasonr@gnu.org>
4386
4387 * w32term.c (x_set_glyph_string_clipping): Use
4388 get_glyph_string_clip_rects.
4389 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4390 Adjust for the change of struct glyph_string.
4391
4392 * w32font.c (w32font_draw): Do clipping here.
4393
4394 2008-02-01 Kenichi Handa <handa@m17n.org>
4395
4396 * xftfont.c (xftfont_draw): Adjust for the change of struct
4397 glyph_string.
4398
4399 * xterm.c (x_set_glyph_string_clipping): Use
4400 get_glyph_string_clip_rects.
4401 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4402 Adjust for the change of struct glyph_string.
4403
4404 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
4405 the resulting clip(s}.
4406 (expose_overlaps): Add arg r. Change callers. Set it to
4407 row->clip temporarily.
4408 (expose_window): Redraw rows overlapping the exposed area.
4409
4410 * dispextern.h (struct glyph_row): New member clip.
4411 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
4412 clip_height, new member clip, and num_clips.
4413
4414 2008-02-01 Kenichi Handa <handa@m17n.org>
4415
4416 * data.c (Fchar_or_string_p): Fix docstring.
4417
4418 2008-02-01 Kenichi Handa <handa@m17n.org>
4419
4420 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
4421 create a temporal XftDraw object.
4422
4423 2008-02-01 Kenichi Handa <handa@m17n.org>
4424
4425 * font.c (Ffontp): Fix docstring.
4426
4427 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
4428 strong evidence of ISO-2022.
4429
4430 2008-02-01 Kenichi Handa <handa@m17n.org>
4431
4432 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
4433 SYNTAX_ENTRY_FOLLOW_PARENT.
4434
4435 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
4436
4437 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
4438 its type.
4439 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
4440 Update to the new type of weak_hash_tables and next_weak.
4441
4442 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
4443 a plain C pointer to Lisp_Hash_Table.
4444
4445 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
4446 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
4447 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
4448 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
4449 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
4450 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
4451 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
4452 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
4453 (GC_EQ): Remove since they've been identical to their non-GC_
4454 alter-egos ever since the markbit was eradicated.
4455
4456 * alloc.c:
4457 * buffer.c:
4458 * buffer.h:
4459 * data.c:
4460 * fileio.c:
4461 * filelock.c:
4462 * fns.c:
4463 * frame.h:
4464 * lisp.h:
4465 * macterm.c:
4466 * print.c:
4467 * process.c:
4468 * w32fns.c:
4469 * w32menu.c:
4470 * w32term.c:
4471 * xfns.c:
4472 * xmenu.c:
4473 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
4474
4475 2008-02-01 Kenichi Handa <handa@m17n.org>
4476
4477 * chartab.c (map_sub_char_table): Make it work for the top-level
4478 char-table. Fix handling of parent char-table.
4479 (map_char_table): Adjust for the above change.
4480
4481 2008-02-01 Jason Rumney <jasonr@gnu.org>
4482
4483 * w32font.c (Qgdi): Rename from Qw32.
4484
4485 2008-02-01 Jason Rumney <jasonr@gnu.org>
4486
4487 * w32bdf.c (get_quoted_string): Make function static.
4488
4489 2008-02-01 Kenichi Handa <handa@m17n.org>
4490
4491 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
4492 bigger ascent and descent than those of the font, use them as
4493 font's ascent and descent.
4494
4495 2008-02-01 Kenichi Handa <handa@m17n.org>
4496
4497 * Makefile.in (${lispsource}international/charprop.el): Move this
4498 target within "#ifdef HAVE_UNIDATA" and "#endif".
4499
4500 2008-02-01 Kenichi Handa <handa@m17n.org>
4501
4502 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
4503 (shortlisp): Add ../lisp/language/tai-viet.el.
4504
4505 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
4506
4507 * Makefile.in (${lispsource}international/charprop.el): Depend on
4508 temacs${EXEEXT}.
4509
4510 2008-02-01 Jason Rumney <jasonr@gnu.org>
4511
4512 * w32font.c (w32font_close): Delete the GDI font object.
4513
4514 * w32menu.c: Include character.h.
4515
4516 * w32proc.c: Likewise.
4517
4518 * w32select.c: Likewise.
4519
4520 * makefile.w32-in (w32proc.o): Depend on character.h.
4521
4522 2008-02-01 Jason Rumney <jasonr@gnu.org>
4523
4524 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
4525
4526 * w32menu.c (syms_of_w32menu): Likewise.
4527
4528 * w32proc.c (syms_of_ntproc): Likewise.
4529
4530 * w32select.c (syms_of_w32select): Likewise.
4531
4532 * w32term.c (syms_of_w32term): Likewise.
4533
4534 2008-02-01 Jason Rumney <jasonr@gnu.org>
4535
4536 * w32font.c (w32font_draw): Delete brush after using it.
4537
4538 2008-02-01 Jason Rumney <jasonr@gnu.org>
4539
4540 * w32font.c (w32font_open): Don't set font_idx.
4541 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
4542 to font settings.
4543 (w32font_draw): Fill background explicitly.
4544
4545 2008-02-01 Jason Rumney <jasonr@gnu.org>
4546
4547 * w32term.c (w32_initialize): Don't call w32font_initialize.
4548
4549 * w32font.c (w32font_info): Remove subranges.
4550 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
4551 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
4552 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
4553 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
4554 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
4555 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
4556 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
4557 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
4558 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
4559 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
4560 New symbols.
4561 (font_callback_data): New struct.
4562 (w32font_list, w32font_match): Use it.
4563 (w32font_open): Don't populate subranges.
4564 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
4565 (w32font_encode_char): Always return unicode code-point as-is.
4566 (w32font_text_extents): Supply a tranformation matrix to
4567 GetGlyphOutline. Never look up by glyph index. Avoid looping
4568 twice. Use unicode version of GetTexExtentPoint32 instead of
4569 glyph index version.
4570 (set_fonts_frame): Remove.
4571 (w32_enumfont_pattern_entity): Add frame parameter, use it to
4572 set frame parameter. Use backward compatible fake foundries.
4573 Save generic family in extra slot under QCfamily. Make width slot
4574 constant. Save QCspacing value. Save list of scripts instead of
4575 binary subranges.
4576 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
4577 (add_font_entity_to_list): Use font_callback_data struct. Filter
4578 unwanted fonts.
4579 (add_one_font_entity_to_list): Use font_callback_data struct.
4580 (w32_registry): Default to iso10646_1.
4581 (fill_in_logfont): Use dpi from extra slot. Don't bother with
4582 string font registries. Don't fill in font name if it is a generic
4583 family name, fill family instead. Use spacing, family and script
4584 extra info to fill pitch, family and charset fields.
4585 (list_all_matching_fonts): Use font_callback_data struct.
4586 (unicode_range_for_char): Remove.
4587 (font_supported_scripts): New function.
4588 (w32font_initialize): Remove.
4589 (syms_of_w32font): Update which symbols are defined.
4590
4591 2008-02-01 Jason Rumney <jasonr@gnu.org>
4592
4593 * font.c (font_pixel_size): Reverse assq_no_quit args.
4594
4595 * w32term.h (FONT_WIDTH): Report max width, not average.
4596 (FONT_MAX_WIDTH): Remove.
4597 (FONT_AVG_WIDTH): New macro.
4598
4599 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
4600 redefinition of FONT_WIDTH.
4601
4602 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
4603 (w32_cache_char_metrics): Use FONT_WIDTH.
4604
4605 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
4606
4607 2008-02-01 Jason Rumney <jasonr@gnu.org>
4608
4609 * w32font.c (w32font_open): Make lfHeight negative.
4610
4611 * w32fns.c (x_default_font_parameter): Use new style font name.
4612 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
4613
4614 2008-02-01 Jason Rumney <jasonr@gnu.org>
4615
4616 * w32font.c (QCsubranges): New symbol.
4617 (w32font_open, w32font_has_char): Get subranges from subproperty
4618 of extra.
4619 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
4620 (syms_of_w32font): Define :subranges symbol.
4621
4622 * font.c (font_put_extra): Expose externally.
4623
4624 * font.h (font_put_extra): Move declaration from font.c.
4625
4626 * font.c (Ffont_get): Use font driver to determine otf capability.
4627 (adjust_anchor): Check if driver defines anchor_point before using.
4628
4629 * w32font.c (w32font_open): Handle size, height and pixel_size better.
4630 (w32font_draw): Use options.
4631 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
4632 Fix detection of truetype fonts.
4633 (registry_to_w32_charset): Handle charsets other than iso8859-1
4634 expressed as lisp symbols.
4635 (w32_registry): Express charset as lisp symbol.
4636 (fill_in_logfont): Reverse pixel and point height logic.
4637 Don't set width here. Set quality to default.
4638
4639 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
4640 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
4641
4642 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4643 Remove redundant loop and allocation.
4644
4645 * makefile.w32-in (font.o, w32font.o): New objects.
4646 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
4647 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
4648
4649 * xdisp.c (fill_composite_glyph_string): Make the first arg to
4650 STORE_XCHARB a valid l-value.
4651
4652 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
4653 calculations for non-Truetype fonts.
4654 (x_draw_glyph_string): Sync with xterm.c.
4655 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4656 Remove redundant code.
4657 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
4658
4659 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
4660 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
4661
4662 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
4663 (x_to_w32_charset, w32_to_x_charset): Expose externally.
4664
4665 * w32font.c: New file for w32 font backend.
4666
4667 2008-02-01 Kenichi Handa <handa@m17n.org>
4668
4669 * term.c: Don't include "buffer.h" twice.
4670
4671 2008-02-01 Kenichi Handa <handa@m17n.org>
4672
4673 * character.c (Funibyte_string): New function.
4674 (syms_of_character): Defsubr it.
4675
4676 2008-02-01 Jason Rumney <jasonr@gnu.org>
4677
4678 * w32term.c [USE_FONT_BACKEND]:
4679 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
4680 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
4681 (x_draw_glyph_string, x_draw_glyph_string_foreground)
4682 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
4683 (x_free_frame_resources): Sync with xterm.c.
4684
4685 2008-02-01 Andreas Schwab <schwab@suse.de>
4686
4687 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
4688 char-table size.
4689
4690 2008-02-01 Kenichi Handa <handa@m17n.org>
4691
4692 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
4693
4694 2008-02-01 Kenichi Handa <handa@m17n.org>
4695
4696 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
4697 font_otf_gpos, add font_drive_otf.
4698
4699 * fontset.c (fontset_find_font): Pay attention to font size
4700 specified for a font.
4701 (reorder_font_vector): Check contents of font_def.
4702
4703 * font.c (struct otf_list): Delete it.
4704 (otf_list): Make it a lisp variable.
4705 (otf_open): Use lispy otf_list.
4706 (generate_otf_features): Rename from parse_gsub_gpos_spec.
4707 (check_otf_features): New function.
4708 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4709 New functions.
4710 (font_drive_otf): New function merging font_otf_gsub and
4711 font_otf_gpos.
4712 (font_open_for_lface): New arg spec. Change argument order.
4713 (font_load_for_face): Adjust for the change of font_open_for_lface.
4714 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
4715 Ffont_otf_gpos.
4716 (syms_of_font): Staticpro otf_list. Delete defsubr of
4717 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
4718
4719 * xfaces.c (set_font_frame_param): Adjust for the change of
4720 font_open_for_lface.
4721
4722 * font.h (font_open_for_lface): Adjust prototype.
4723 (struct font_driver): Delete members otf_gsub and otf_gpos, add
4724 member otf_drive.
4725 (font_otf_gsub, font_otf_gpos): Delete externs.
4726 (font_drive_otf): Extern it.
4727
4728 2008-02-01 Kenichi Handa <handa@m17n.org>
4729
4730 * font.c (font_at): If the window W is not on a window system,
4731 return Qnil.
4732
4733 * coding.c (produce_chars, encode_coding): Don't call
4734 insert_from_gap if no characters to produce.
4735
4736 2008-02-01 Kenichi Handa <handa@m17n.org>
4737
4738 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
4739 Fclear_face_cache.
4740
4741 * xfaces.c (face_for_font): Check also face->font==font->font.font.
4742
4743 2008-02-01 Miles Bader <miles@gnu.org>
4744
4745 * emacs.c (main): Change default value of `enable_font_backend' to 1.
4746 Parse "--disable-font-backend" option.
4747 (standard_args): Add "--disable-font-backend" option.
4748
4749 2008-02-01 Kenichi Handa <handa@m17n.org>
4750
4751 * fontset.c (fontset_find_font): New function.
4752 (fontset_font): Use fontset_find_font.
4753 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
4754 Register the specified font for all Latin characters.
4755 (new_fontset_from_font): Register the specified font for all Latin
4756 characters.
4757 (dump_fontset): For a realized fontset, include the base fontset
4758 name in the returned vector.
4759
4760 2008-02-01 Kenichi Handa <handa@m17n.org>
4761
4762 * character.h (CHAR_STRING): Cast C to unsigned on calling
4763 char_string.
4764
4765 * character.c (char_string): Type of arg C changed to unsigned.
4766 Signal an error if C is an invalid character code.
4767
4768 * editfns.c (general_insert_function, Fchar_to_string):
4769 Use CHARACTERP, not INTEGERP.
4770
4771 2008-02-01 Kenichi Handa <handa@m17n.org>
4772
4773 * character.h (MIN_MULTIBYTE_LEADING_CODE)
4774 (MAX_MULTIBYTE_LEADING_CODE): New macros.
4775
4776 * regex.c (analyse_first): Fix for multibyte characters in "case
4777 charset:" and "case categoryspec:".
4778
4779 2008-02-01 Andreas Schwab <schwab@suse.de>
4780
4781 * Makefile.in (LIBES): Move standard libraries to the end.
4782
4783 2008-02-01 Kenichi Handa <handa@m17n.org>
4784
4785 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
4786 nonzero, don't shrink the buffer nextb.
4787
4788 * buffer.h (struct buffer_text): New member inhibit_shrinking.
4789
4790 * coding.c (coding_alloc_by_making_gap): New arg offset.
4791 (alloc_destination): Call coding_alloc_by_making_gap with the arg
4792 offset.
4793 (decode_coding_iso_2022): Update coding->safe_charsets.
4794 (decode_coding_gap): Temporarily set
4795 current_buffer->text->inhibit_shrinking to 1.
4796
4797 2008-02-01 Kenichi Handa <handa@m17n.org>
4798
4799 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
4800 indexing into elements of s->cmp and s->char2b.
4801
4802 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
4803
4804 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
4805
4806 2008-02-01 Kenichi Handa <handa@m17n.org>
4807
4808 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
4809 target_multibyte instead of multibyte.
4810 (re_match_2_internal): Call bcmp_translate with target_multibyte.
4811 (bcmp_translate): Change the argument name from multibyte to
4812 target_multibyte.
4813
4814 2008-02-01 Kenichi Handa <handa@m17n.org>
4815
4816 These changes are to compile a regexp into a pattern that can be
4817 used both for multibyte and unibyte targets.
4818
4819 * Makefile.in (search.o): Depend on charset.h.
4820
4821 * character.c (multibyte_char_to_unibyte_safe): New function.
4822
4823 * search.c: Include "charset.h".
4824 (compile_pattern_1): Delete argument multibyte. Don't set
4825 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
4826 (compile_pattern): Don't compare cp->buf.target_multibyte.
4827 Compare cp->buf.charset_unibyte.
4828 (compile_pattern): Set cp->buf.target_multibyte.
4829
4830 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
4831
4832 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
4833
4834 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
4835 multibyte. Change callers.
4836 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
4837 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
4838 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
4839 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
4840 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
4841 (regex_compile): Make the compiled pattern usable both for
4842 multibyte and unibyte targets.
4843 (analyse_first): Make the fastmap usable both for multibyte and
4844 unibyte targets.
4845 (TRANSLATE_VIA_MULTIBYTE): Delete.
4846 (re_match_2_internal): Pay attention to the case that the
4847 multibyteness of bufp and target may be different.
4848
4849 2008-02-01 Kenichi Handa <handa@m17n.org>
4850
4851 * xdisp.c (x_produce_glyphs): When a font is not found, make the
4852 empty box occupy at least one column width.
4853
4854 2008-02-01 Miles Bader <miles@gnu.org>
4855
4856 * Makefile.in: Remove redundant HAVE_XFT clause.
4857
4858 2008-02-01 Kenichi Handa <handa@m17n.org>
4859
4860 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
4861
4862 2008-02-01 Kenichi Handa <handa@m17n.org>
4863
4864 * fontset.c (Finternal_char_font): Fix for the case of POSITION
4865 being nil.
4866
4867 2008-02-01 Kenichi Handa <handa@m17n.org>
4868
4869 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
4870
4871 2008-02-01 Kenichi Handa <handa@m17n.org>
4872
4873 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
4874
4875 2008-02-01 Kenichi Handa <handa@m17n.org>
4876
4877 * search.c (simple_search): Fix previous change.
4878
4879 2008-02-01 Kenichi Handa <handa@m17n.org>
4880
4881 * xftfont.c (ftfont_font_format): Extern declaration.
4882
4883 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
4884
4885 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
4886 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
4887
4888 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
4889 (ftfont_font_format): Fix previous change.
4890
4891 * font.h (Ffont_xlfd_name): EXFUN it.
4892
4893 * font.c (font_parse_xlfd): Fix the array size of `f'.
4894 (register_font_driver): Use EQ to compare driver->type.
4895
4896 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
4897 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
4898 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
4899
4900 2008-02-01 Kenichi Handa <handa@m17n.org>
4901
4902 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
4903 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
4904
4905 2008-02-01 Kenichi Handa <handa@m17n.org>
4906
4907 * xfont.c (xfont_open): Set font->format.
4908
4909 * xftfont.c (xftfont_open): Set font->format.
4910
4911 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
4912 (ftfont_list): Include FC_FONTFORMAT in FcObject.
4913 (ftfont_open): Set font->format.
4914 (ftfont_font_format): New function.
4915
4916 * font.h (struct font): New memeber format.
4917
4918 * font.c (Qopentype): New variable.
4919 (syms_of_font): Defsym it.
4920 (Fquery_font): Change the format of the last element of the return
4921 value.
4922
4923 2008-02-01 Kenichi Handa <handa@m17n.org>
4924
4925 * xfns.c (xic_create_xfontset): Try the default fontset name as a
4926 last resort.
4927
4928 2008-02-01 Kenichi Handa <handa@m17n.org>
4929
4930 * coding.c (detect_coding_charset): Fix detection of multi-byte
4931 charset.
4932
4933 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
4934
4935 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
4936
4937 2008-02-01 Kenichi Handa <handa@m17n.org>
4938
4939 * xdisp.c (get_next_display_element): Set it->face_id for the
4940 first component of a composition.
4941 (x_produce_glyphs): Check if the font is changed or not for composition.
4942
4943 2008-02-01 Kenichi Handa <handa@m17n.org>
4944
4945 * fontset.c (Qlatin): New variable.
4946 (syms_of_fontset): Define it as a lisp symbol.
4947 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
4948
4949 2008-02-01 Kenichi Handa <handa@m17n.org>
4950
4951 * font.c (font_unparse_fcname): Pay attention to the case that
4952 some of font property is a null string.
4953
4954 2008-02-01 Kenichi Handa <handa@m17n.org>
4955
4956 * term.c: Include "composite.h".
4957 (encode_terminal_code): Output all components of composition.
4958 Check the size of encode_terminal_src.
4959 (produce_glyphs): For composition, call produce_composite_glyph.
4960 (append_composite_glyph, produce_composite_glyph): New functions.
4961
4962 * xdisp.c (x_produce_glyphs): In handling composition, if a font
4963 is not found, get font_info from the current ascii face.
4964
4965 2008-02-01 Kenichi Handa <handa@m17n.org>
4966
4967 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
4968 buffer-file-name to Qnil before calling insert_from_buffer.
4969
4970 * font.c (font_unparse_fcname): Pay attention to the case that
4971 foundry is a null string.
4972
4973 2008-02-01 Kenichi Handa <handa@m17n.org>
4974
4975 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
4976
4977 * font.c (Qunicode_sip): New variable.
4978 (syms_of_font): Declare it as a Lisp symbol.
4979
4980 * font.h (Qunicode_sip): Extern it.
4981
4982 2008-02-01 Kenichi Handa <handa@m17n.org>
4983
4984 * composite.c (get_composition_id): Pay attention to TAB component.
4985
4986 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
4987 TAB. Adjust for the change of s->char2b which always points to
4988 the first elememnt of allocated memory.
4989
4990 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
4991
4992 * xdisp.c (handle_composition_prop): Set it->c to the first
4993 non-TAB component.
4994 (fill_composite_glyph_string): Change argument.
4995 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
4996 (x_produce_glyphs): Fix handling of left/right padding.
4997
4998 2008-02-01 Kenichi Handa <handa@m17n.org>
4999
5000 * coding.c (detect_coding_system): Fix for handling off
5001 inhibit_iso_escape_detection. Fix for the case that no coding
5002 system is defined for a specific coding category.
5003
5004 2008-02-01 Kenichi Handa <handa@m17n.org>
5005
5006 * font.c (font_matching_entity): Delete unused local var.
5007
5008 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
5009 opening a font.
5010
5011 * fileio.c (Finsert_file_contents): On recovering a file, assume
5012 Unix-like eol.
5013 (choose_write_coding_system): On auto-saving a file, force
5014 Unix-like eol.
5015
5016 * coding.c (setup_coding_system): Fix setting of
5017 coding->common_flags based on eol_type.
5018 (coding_inherit_eol_type): If PARENT is not nil, be sure to
5019 inherit from it.
5020
5021 2008-02-01 Kenichi Handa <handa@m17n.org>
5022
5023 * alloc.c (NSTATICS): Increas to 0x600.
5024
5025 2008-02-01 Kenichi Handa <handa@m17n.org>
5026
5027 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
5028 (ftfont_list): Don't check :name property.
5029 (ftfont_match): New function.
5030 (ftfont_pattern_entity): If the pattern doesn't contain
5031 FC_SPACING, don't assuce FC_MONO.
5032
5033 * font.h (struct font_driver): New member `match'.
5034 (font_update_drivers): Adjust prototype.
5035
5036 * font.c (font_parse_fcname, font_parse_name): Don't change :name
5037 property of FONT.
5038 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
5039 them unconditionally.
5040 (font_matching_entity): New function.
5041 (font_open_by_name): Try font_matching_entity if exact match is
5042 not found.
5043 (font_update_drivers): Delete the arg FONT. Return a list of
5044 actually used backends. Don't free faces, font caches here.
5045 Don't store data in frame parameters. Don't call x_set_font.
5046 (Ffont_spec): Store :name property as is.
5047 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
5048 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
5049 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
5050 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
5051 Call font->driver->otf_gsub instead of font_otf_gsub.
5052
5053 * frame.c (x_set_font_backend): Do more works that were done in
5054 font_update_drivers before.
5055
5056 * xfont.c (xfont_match): New function.
5057 (xfont_driver): Set xfont_driver.match to xfont_match.
5058 (xfont_draw): Set font in GC if necessary.
5059
5060 * ftxfont.c (ftxfont_match): New function.
5061 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
5062
5063 * xftfont.c (xftfont_match): New function.
5064 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
5065
5066 2008-02-01 Kenichi Handa <handa@m17n.org>
5067
5068 * font.h (struct font): New member scalable.
5069 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
5070 (font_otf_gsub): Adjust prototype.
5071
5072 * font.c (font_otf_capability): Fix handling of the default langsys.
5073 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
5074 Check the contents of SPEC.
5075 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
5076 (check_gstring): New function.
5077 (REPLACEMENT_CHARACTER): New macro.
5078 (font_otf_gsub): New arg alternate_subst. Be sure to set all
5079 glyph codes of GSTRING.
5080 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
5081 (font_prepare_composition): Set cmp->glyph_len.
5082 (font_open_entity): Set font->scalable.
5083 (Ffont_get): Handle :otf property.
5084 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
5085 functions.
5086 (Fquery_font): Use font->font.full_name.
5087 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
5088 Sfont_otf_alternates.
5089
5090 * ftfont.c (ftfont_open): Set font->font.full_name and
5091 font->font.name properly. Fix calculation of font->font.height
5092 and font->min_width.
5093
5094 * ftxfont.c (ftxfont_create_gcs): New function.
5095 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
5096 (ftxfont_draw_backgrond): Fix filling region.
5097 (ftxfont_default_fid): New function.
5098 (ftxfont_open): Set xfotn->fid to the return value of
5099 ftxfont_default_fid.
5100 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
5101 (ftxfont_done_face): Free only GCs that are created by
5102 ftxfont_create_gcs.
5103 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
5104
5105 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
5106 Clip to src->width, etc (not src->clip_XXX).
5107
5108 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
5109 FontBackend frame parameter.
5110
5111 2008-02-01 Kenichi Handa <handa@m17n.org>
5112
5113 * font.h (struct font_driver_list): New member `on'.
5114 (Fclear_font_cache): EXFUN it.
5115 (font_update_drivers): Extern it.
5116
5117 * font.c (font_unparse_fcname): Fix typo (swidth->width).
5118 (font_list_entities): Check driver_list->on.
5119 (register_font_driver): Initalize `on' member to 0.
5120 (font_update_drivers): New function.
5121 (Fclear_font_cache): Check driver_list->on.
5122
5123 * frame.h (Qfont_backend): Extern it.
5124 (x_set_font_backend): Extern it.
5125
5126 * frame.c (Qfont_backend): New variable.
5127 (frame_parms): New element for font-backend.
5128 (x_set_font_backend): New function.
5129
5130 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
5131 FontBackend frame parameter.
5132 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
5133 x_set_font_backend.
5134
5135 * xfont.c (xfont_list): Don't try listing by :name property if the
5136 name is not for XLFD.
5137
5138 2008-02-01 Kenichi Handa <handa@m17n.org>
5139
5140 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
5141 (LGLYPH_SET_TO): New macros.
5142 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
5143 element of G is vector or not.
5144 (font_at): Extern it.
5145
5146 * font.c: Include window.h.
5147 (font_lispy_object): New function.
5148 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
5149 end of valid glyph.
5150 (font_close_object): Fix getting (struct font *).
5151 (font_at): New function.
5152 (Ffont_get): If FONT is a font-object, get entity from it.
5153 (Ffont_make_gstring): Initialize elements of glyphs with nil.
5154 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
5155 range check.
5156 (Ffont_at): New function.
5157 (syms_of_font): Defsubr Sfont_at.
5158
5159 * xdisp.c (it_props): Move the entry for Qauto_composed to just
5160 before the entry for Qcomposition.
5161 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
5162 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
5163 the font in gstring.
5164 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
5165 LGLYPH_FORM (g) to detect the end of valid glyph.
5166 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
5167 we are composing with gstring.
5168
5169 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
5170 Check if adjustment is vector or not.
5171
5172 * Makefile.in (font.o): Make it depends on window.h.
5173
5174 2008-02-01 Kenichi Handa <handa@m17n.org>
5175
5176 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
5177 adjustment is vector or not.
5178
5179 2008-02-01 Miles Bader <miles@gnu.org>
5180
5181 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
5182
5183 2008-02-01 Kenichi Handa <handa@m17n.org>
5184
5185 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
5186 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
5187 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
5188
5189 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
5190 (DEVICE_DELTA): Fix typo.
5191 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
5192 LGLYPH format.
5193
5194 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
5195 the change of LGLYPH format.
5196
5197 2008-02-01 Kenichi Handa <handa@m17n.org>
5198
5199 * ftfont.c (ftfont_list): Fix typo.
5200 (ftfont_build_basic_charsets): Don't include letters with diacritics.
5201
5202 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5203
5204 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
5205
5206 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
5207 xftface_info is non-NULL.
5208
5209 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5210
5211 * ftfont.c (ftfont_list): Move misplaced #endif.
5212
5213 2008-02-01 Kenichi Handa <handa@m17n.org>
5214
5215 * ftfont.c (ftfont_list): Pay attention to the case that
5216 FC_CAPABILITY is not defined.
5217
5218 2008-02-01 Kenichi Handa <handa@m17n.org>
5219
5220 * xftfont.c (xftfont_open): Set charset related members to -1.
5221
5222 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
5223 QCname.
5224 (ftfont_open): Set charset related members to -1.
5225
5226 * fontset.c (Votf_script_alist): New variable.
5227 (syms_of_fontset): Initialize it.
5228 (fontset_font): Delete unused variable.
5229
5230 * fontset.h (Votf_script_alist): Extern it.
5231
5232 * font.c (font_find_for_lface): Optimize code.
5233
5234 * font.h (font_close_object, font_merge_old_spec): Extern them.
5235
5236 2008-02-01 Kenichi Handa <handa@m17n.org>
5237
5238 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
5239 (syms_of_font): Initialize them.
5240 (font_pixel_size): Allow float value in dpi.
5241 (font_prop_validate_type): Delete.
5242 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
5243 Change caller.
5244 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
5245 (font_prop_validate_extra): Delete.
5246 (font_prop_validate_spacing): New function.
5247 (font_property_table): Add elements for all known properties.
5248 (get_font_prop_index): Rename from check_font_prop_name. New
5249 argument FROM. Change caller.
5250 (font_prop_validate): Validate all known properties.
5251 (font_put_extra): Delete argument force. Change caller.
5252 (font_expand_wildcards): Make it static. Fix the way of shrinking
5253 the possible range.
5254 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
5255 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
5256 Change caller.
5257 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
5258 (font_parse_fcname): Delete argument merge. Fix parsing of point
5259 size. Don't validate properties values here. Change caller.
5260 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
5261 (font_open_by_name): Delete unused variable.
5262 (Ffont_spec): Likewise. Validate property values.
5263 (Ffont_match_p): New function.
5264
5265 * font.h (QCscalable): Extern it.
5266 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
5267
5268 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
5269
5270 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
5271 (xfont_list_pattern): New function.
5272 (xfont_list): Use xfont_list_pattern.
5273
5274 2008-02-01 Kenichi Handa <handa@m17n.org>
5275
5276 * font.h (Flist_fonts): EXFUN it.
5277
5278 2008-02-01 Jason Rumney <jasonr@gnu.org>
5279
5280 * w32term.c (w32_initialize): Add back smoothing_type and
5281 smoothing_enabled definitions.
5282
5283 2008-02-01 Kenichi Handa <handa@m17n.org>
5284
5285 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
5286 s->face->font on determining underline position.
5287
5288 2008-02-01 Kenichi Handa <handa@m17n.org>
5289
5290 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
5291 (font_has_char): Accept font-object too.
5292 (font_find_for_lface): Try at first with a size specified in face.
5293
5294 2008-02-01 Kenichi Handa <handa@m17n.org>
5295
5296 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
5297 font_open_by_name.
5298
5299 2008-02-01 Kenichi Handa <handa@m17n.org>
5300
5301 * font.h (QCspacing, QCdpi): Extern them.
5302 (enum font_spacing): New enum.
5303 (FONT_PIXEL_SIZE_QUANTUM): New macro.
5304
5305 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
5306 (QCspacing, QCdpi): New variables.
5307 (syms_of_font): Initialize them.
5308 (font_pixel_size): New function.
5309 (font_put_extra): New function.
5310 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
5311 in FONT_EXTRA.
5312 (font_parse_fcname): Handle enumenrated values (e.g. bold).
5313 Fix handling font size. Add QCname property that contains only
5314 unknown properties.
5315 (font_score): Change argument. Change caller. Pay attention to
5316 FONT_PIXEL_SIZE_QUANTUM.
5317 (font_sort_entites, font_list_entities, font_find_for_lface)
5318 (font_open_for_lface, font_open_by_name): Fix handling of font size.
5319 (Ffont_spec): Add QCname property that contains only unknown properties.
5320
5321 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
5322 include weight in listing pattern, instead check weight of each
5323 listed font. Don't include scalable in pattern. Pay attention to
5324 FONT_PIXEL_SIZE_QUANTUM.
5325
5326 2008-02-01 Kenichi Handa <handa@m17n.org>
5327
5328 * font.c (font_parse_fcname): Fix parsing of point-size.
5329 (font_unparse_fcname): Produce symbolic names for style properties.
5330 (font_list_entities): Handle float size correctly.
5331 (font_open_by_name): Prefer `normal' property values if the name
5332 doesn't specify them.
5333
5334 * fontset.c (Finternal_char_font): Use font_get_name, not
5335 Ffont_xlfd_name.
5336
5337 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
5338 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
5339 pattern. Don't force scalable.
5340
5341 * xftfont.c (xftfont_open): For generating a name, start from
5342 96-byte buffer.
5343
5344 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5345
5346 * frame.h (x_new_fontset2): Fix prototype.
5347
5348 2008-02-01 Kenichi Handa <handa@m17n.org>
5349
5350 * font.h (struct font_driver): Delete member parse_name.
5351 (font_match_p, font_get_spec, font_parse_fcname)
5352 (font_unparse_fcname): Extern them.
5353 (font_get_name): Adjust prototype.
5354
5355 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
5356 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
5357 (font_expand_wildcards): Fix handling ENCODING field. Avoid
5358 unnecessary checks for weight, slant, and swidth.
5359 (font_parse_fcname): New function.
5360 (font_unparse_fcname): New function.
5361 (font_parse_name): New function.
5362 (font_match_p): New function.
5363 (font_get_name): Change return value to Lisp string.
5364 (font_get_spec): New function.
5365 (Qunspecified, Qignore_defface): Don't extern them.
5366 (font_find_for_lface): Assume that LFACE is fully specified.
5367 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
5368 object, use it for FACE.
5369 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
5370 driver->parse_name.
5371 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
5372
5373 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
5374 prototype.
5375
5376 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
5377 argument F. Don't call Fnew_fontset. Instead, directly call
5378 make_fontset.
5379
5380 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
5381
5382 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
5383 of x_new_fontset2.
5384
5385 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
5386 (Qsans__serif): New variables.
5387 (ftfont_generic_family_list): New variable.
5388 (syms_of_ftfont): Initialize the above variables.
5389 (ftfont_pattern_entity): Delete argument NAME.
5390 (ftfont_list_generic_family): New function.
5391 (ftfont_parse_name): Delete this function.
5392 (ftfont_list): Try generic family only when FcFontList found no font.
5393 (ftfont_list_family): Fix args to FcObjectSetBuild.
5394
5395 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
5396 object in attrs[LFACE_FONT_INDEX].
5397 (set_lface_from_font_name): Cancel all changes for font-backend.
5398 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
5399 function.
5400 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
5401 font object in QCfont attribute.
5402 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
5403 (realize_default_face) [USE_FONT_BACKEND]: Call
5404 set_lface_from_font_and_fontset.
5405
5406 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
5407 "fixed", and signal error here if no suitable font was found.
5408
5409 * xfont.c (xfont_parse_name): Delete this function.
5410
5411 * xftfont.c (xftfont_open): Change coding style of error
5412 handling. Generate fontconfig's fontname pattern.
5413
5414 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
5415 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
5416
5417 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
5418 Both args FONTSET and FONT_OBJECT must be existing ones.
5419
5420 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5421
5422 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
5423
5424 2008-02-01 Kenichi Handa <handa@m17n.org>
5425
5426 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
5427
5428 * font.h (struct font): Fix typo.
5429
5430 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
5431 XLFD_XXX_INDEX.
5432 (enum xlfd_field_mask): New enum.
5433 (intern_font_field): Changed argument. Change caller. If digits
5434 are followed by non-digits, return a symbol.
5435 (font_expand_wildcards): New function.
5436 (font_parse_xlfd): Fix wildcard handling.
5437 (Ffont_spec): If :name is specified, reflect the info in the other
5438 properties.
5439
5440 * ftfont.c (ftfont_pattern_entity): Fix typo.
5441 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
5442 locale.
5443
5444 2008-02-01 Kenichi Handa <handa@m17n.org>
5445
5446 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
5447
5448 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
5449 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
5450 registry doesn't specify encoding part.
5451 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
5452 (font_open_by_name): At first try parsing the name.
5453 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
5454 as Lisp symbols.
5455
5456 * fontset.c (reorder_font_vector): Pay attention to the case that
5457 the 3rd element of font_def is nil.
5458 (fontset_font): For the default fontset, append one more fontset
5459 elements for a script-based font specification. Don't add script
5460 attribute on finding a font.
5461 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
5462 font name.
5463 (fontset_ascii_font): If a font can't be opened, return nil.
5464
5465 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
5466 (ftfont_pattern_entity): New function.
5467 (ftfont_get_cache): Assume that freetype_font_cache is already
5468 initialized.
5469 (ftfont_list): Handle the case that a file is specified in font
5470 name. Use ftfont_pattern_entity to generate entities.
5471 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
5472 (syms_of_ftfont): Initialize freetype_font_cache.
5473
5474 * xftfont.c (xftfont_open): Make the font name fontconfig's
5475 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
5476 (xftfont_close): Free font->font.name if not NULL.
5477
5478 * xfont.c (xfont_list): If script is specified for a font, return
5479 null_vector.
5480 (xfont_list_family): Declare argument type.
5481
5482 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
5483 name, set LFACE_FONT (lface) to nil.
5484
5485 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
5486 return Qnil.
5487
5488 2008-02-01 Kenichi Handa <handa@m17n.org>
5489
5490 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
5491 (standard_args): Add "-enable-font-backend".
5492
5493 2008-02-01 Kenichi Handa <handa@m17n.org>
5494
5495 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
5496 (struct xftdraw_list, xftdraw_list): Delete them.
5497 (register_xftdraw, check_xftdraw): Delete them.
5498 (xftfont_prepare_face): Don't call register_xftdraw.
5499 (xftfont_done_face): Don't call check_xftdraw.
5500 (xftfont_draw): Get backroudn color only when with_background is
5501 nonzero.
5502
5503 * xfont.c (xfont_encode_char): Fix calculation of char2b.
5504
5505 2008-02-01 Kenichi Handa <handa@m17n.org>
5506
5507 These changes are for the new font handling codes.
5508
5509 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
5510 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
5511 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
5512 (FONTSRC, FONTOBJ): New variables.
5513 (obj): Add $(FONTOBJ).
5514 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
5515 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
5516 @LIBOTF_LIBS@.
5517 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
5518 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
5519
5520 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
5521
5522 * character.h (Vscript_representative_chars): Extern it.
5523
5524 * character.c (Vscript_representative_chars): New variable.
5525 (syms_of_character): Declare it as a Lisp variable.
5526
5527 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
5528 enable_font_backend is nonzero, accept the composition method
5529 COMPOSITION_WITH_GLYPH_STRING.
5530
5531 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
5532 enumeration COMPOSITION_WITH_GLYPH_STRING.
5533
5534 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
5535 members clip_x, clip_y, clip_width, and clip_height.
5536 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
5537
5538 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
5539 --enable-font-backend. Call syms_of_font.
5540
5541 * fns.c (assoc_no_quit): New function.
5542
5543 * fontset.h (FONT_INFO_FROM_FACE): New macro.
5544 (face_for_font, new_fontset_from_font)
5545 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
5546
5547 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
5548 (fontset_font, fontset_ascii, face_for_char)
5549 (make_fontset_for_ascii_face, Ffont_info)
5550 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
5551 is nonzero, use font-backend mechanism.
5552 (find_font_encoding): Make it non-static.
5553 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
5554 New functions.
5555
5556 * frame.h (struct frame): New members resx and resy.
5557 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
5558 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
5559
5560 * frame.c [USE_FONT_BACKEND]: Include "font.h".
5561 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
5562
5563 * lisp.h (assoc_no_quit): Extern it.
5564
5565 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
5566 Through out the file, use FONT_INFO_FROM_FACE instead of
5567 FONT_INFO_FROM_ID, use get_per_char_metric instead of
5568 rif->per_char_metric.
5569 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
5570 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
5571 (get_glyph_face_and_encoding, fill_composite_glyph_string)
5572 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
5573 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
5574 nonzero, use font-backend mechanism.
5575 (get_per_char_metric): New function.
5576
5577 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
5578 (set_lface_from_font_name)
5579 (set_font_frame_param, free_realized_face)
5580 (prepare_face_for_display, clear_face_gcs)
5581 (Finternal_set_font_selection_order, realize_x_face)
5582 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
5583 font-backend mechanism.
5584 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
5585 (load_face_font) [USE_FONT_BACKEND]: Abort.
5586 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
5587 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
5588
5589 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
5590 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
5591 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
5592 nonzero, register all available font drivers. Call
5593 x_default_font_parameter for deciding a font.
5594 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
5595
5596 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
5597 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
5598 (x_set_glyph_string_clipping_exactly)
5599 (x_compute_glyph_string_overhangs)
5600 (x_draw_glyph_string_foreground)
5601 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
5602 (x_free_frame_resources) [USE_FONT_BACKEND]: If
5603 enable_font_backend is nonzero, use font-backend mechanism.
5604 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
5605
5606 2008-02-01 Kenichi Handa <handa@m17n.org>
5607
5608 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
5609 system_eol_type.
5610 (syms_of_coding): Initialize system_eol_type.
5611
5612 * process.c (Fset_process_coding_system): Inherit system's eol
5613 format if necessary.
5614
5615 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5616
5617 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
5618
5619 2008-02-01 Kenichi Handa <handa@m17n.org>
5620
5621 * coding.c (decode_eol): Pay attention to buffer relocation in
5622 del_range_2.
5623 (decode_coding): Call decode_eol before restoring undo_list.
5624
5625 2008-02-01 Kenichi Handa <handa@m17n.org>
5626
5627 * charset.c (Fdefine_charset_internal): Fix setting of
5628 emacs_mule_bytes.
5629
5630 2008-02-01 Kenichi Handa <handa@m17n.org>
5631
5632 * keyboard.c (read_char): Check if C is a character or not before
5633 looking up Vkeyboard_translate_table.
5634
5635 2008-02-01 Kenichi Handa <handa@m17n.org>
5636
5637 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
5638 condition to terminate the loop.
5639
5640 2008-02-01 Kenichi Handa <handa@m17n.org>
5641
5642 * coding.c (produce_composition): Compare charbuf[i] instead of
5643 args[i] against 0.
5644 (Fterminal_coding_system): Use EQ to compare Lisp objects.
5645
5646 2008-02-01 Kenichi Handa <handa@m17n.org>
5647
5648 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
5649 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
5650 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
5651 detect_coding.
5652 (emacs_mule_char): Handle old style (Emacs 20) component character
5653 of a composition.
5654 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
5655 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
5656 composition rule.
5657 (decode_coding_emacs_mule): Handle invalid bytes correctly.
5658
5659 2008-02-01 Kenichi Handa <handa@m17n.org>
5660
5661 * coding.c (encode_coding_ccl): Allocate destination dynamically
5662 when necessary.
5663
5664 2008-02-01 Kenichi Handa <handa@m17n.org>
5665
5666 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
5667 the loop. When quitted, show a proper error message.
5668
5669 2008-02-01 Kenichi Handa <handa@m17n.org>
5670
5671 * xterm.c (x_set_glyph_string_clipping_exactly): Set
5672 src->clip_head and src->clip_tail temporarily instead of src->hl.
5673
5674 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
5675 character sequence.
5676 (Fccl_execute_on_string): Use ASET, not XSET.
5677
5678 2008-02-01 Kenichi Handa <handa@m17n.org>
5679
5680 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
5681
5682 2008-02-01 Kenichi Handa <handa@m17n.org>
5683
5684 * coding.c (decode_coding): Fix the condition of terminating the
5685 decoding loop.
5686
5687 2008-02-01 Kenichi Handa <handa@m17n.org>
5688
5689 * data.c (Faset): On setting a character bigger than 255 in a
5690 unibyte string, signal an error instead of make the string multibyte.
5691
5692 2008-02-01 Kenichi Handa <handa@m17n.org>
5693
5694 * charset.c (map_charset_chars): Fix for ascii-compatible charset
5695 made by a mapping table.
5696
5697 2008-02-01 Kenichi Handa <handa@m17n.org>
5698
5699 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
5700 not.
5701 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
5702 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
5703
5704 * xterm.c (x_draw_composite_glyph_string_foreground): Check
5705 s->face is NULL or not.
5706
5707 2008-02-01 Kenichi Handa <handa@m17n.org>
5708
5709 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
5710 (x_draw_glyph_string): Fix drawing of right_overhang and
5711 left_overhang around/on cursor.
5712
5713 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
5714
5715 2008-02-01 Kenichi Handa <handa@m17n.org>
5716
5717 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
5718
5719 2008-02-01 Kenichi Handa <handa@m17n.org>
5720
5721 * coding.c (Fdefine_coding_system_internal)
5722 (Fdefine_coding_system_alias): Avoid a duplicated element in
5723 Vcoding_system_alist.
5724
5725 2008-02-01 Kenichi Handa <handa@m17n.org>
5726
5727 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
5728
5729 * coding.c (Qcoding_system_define_form): New variable.
5730 (syms_of_coding): Intern and staticpro it.
5731 (Fcoding_system_p): Check Qcoding_system_define_form.
5732 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
5733
5734 * coding.h (CODING_SYSTEM_P): If ID is not available, call
5735 Fcoding_system_p.
5736 (CHECK_CODING_SYSTEM): If ID is not available, call
5737 Fcheck_coding_system.
5738 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
5739 Try also Fcheck_coding_system.
5740
5741 2008-02-01 Kenichi Handa <handa@m17n.org>
5742
5743 * coding.c (code_conversion_restore): GCPRO arg.
5744
5745 2008-02-01 Kenichi Handa <handa@m17n.org>
5746
5747 * character.c (lisp_string_width): Check multibyteness of STRING.
5748
5749 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5750
5751 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
5752 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
5753 (decode_mac_font_name): Use decode_coding_c_string instead of
5754 decode_coding.
5755 (x_load_font): Initialize fontp->fontset to -1. Set
5756 fontp->encoding_type.
5757
5758 2008-02-01 Kenichi Handa <handa@m17n.org>
5759
5760 * search.c (search_buffer): Give up BM search on case-fold-search
5761 if one of a target character has a case-equivalence of different
5762 byte length even if that target charcter is an ASCII.
5763 (simple_search): Fix calculation of byte length of matched text.
5764 (boyer_moore): Fix handling of case-equivalent multibyte characters.
5765
5766 2008-02-01 Kenichi Handa <handa@m17n.org>
5767
5768 * coding.c (decode_coding): Fix handling of invalid bytes.
5769
5770 2008-02-01 Kenichi Handa <handa@m17n.org>
5771
5772 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
5773 Unicode characters.
5774
5775 2008-02-01 Kenichi Handa <handa@m17n.org>
5776
5777 * coding.c (encode_coding_object): If a pre-write-conversion
5778 function makes a new buffer, kill it.
5779
5780 2008-02-01 Kenichi Handa <handa@m17n.org>
5781
5782 * coding.c (QCascii_compatible_p): New variable.
5783 (syms_of_coding): Initialize it.
5784 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
5785 calling string_char.
5786 (record_conversion_result): Add `default:' case.
5787 (coding_charset_list): Delete unused variable `coding_type'.
5788 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
5789 property in the plist of the coding system.
5790 (Fcoding_system_put): Check QCascii_compatible_p.
5791
5792 2008-02-01 Miles Bader <miles@gnu.org>
5793
5794 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
5795 removed calculation of frame `f', as it's now used.
5796
5797 2008-02-01 Kenichi Handa <handa@m17n.org>
5798
5799 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
5800 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
5801 (UNIDATA): New variable.
5802 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
5803 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
5804 $(RUN_TEMACS) unconditionally.
5805
5806 2008-02-01 Kenichi Handa <handa@m17n.org>
5807
5808 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
5809 (admindir): New variable.
5810 ($(lispsource)international/charprop.el): New target.
5811
5812 2008-02-01 Miles Bader <miles@gnu.org>
5813
5814 * character.c (chars-in-region): Remove obsolete function.
5815 (syms_of_character): Remove its initialization.
5816
5817 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
5818
5819 * w32select.c (validate_coding_system)
5820 (setup_windows_coding_system): New functions.
5821 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
5822 setup_windows_coding_system.
5823 (setup_config, Fw32_get_clipboard_data): Use
5824 validate_coding_system.
5825 (Fx_selection_exists): Move call to setup_config to a place
5826 where signals are allowed.
5827
5828 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
5829 (Fcheck_coding_system): Add declarations.
5830
5831 2008-02-01 Kenichi Handa <handa@m17n.org>
5832
5833 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
5834
5835 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5836
5837 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
5838 string as the second argument for x_new_fontset.
5839
5840 2008-02-01 Kenichi Handa <handa@m17n.org>
5841
5842 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
5843 (encode_coding_object): Use safe_call instead of call2.
5844
5845 2008-02-01 Kenichi Handa <handa@m17n.org>
5846
5847 * fontset.c (Fset_fontset_font): Check family element of a given vector.
5848
5849 * Makefile.in (lisp): Include charprop.el.
5850
5851 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5852
5853 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
5854 Not sure if it's unnecessary.
5855
5856 2008-02-01 Steven Tamm <steventamm@mac.com>
5857
5858 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
5859 some possibly unnecessary fontset checking code that crashed
5860 when creating a new frame.
5861
5862 2008-02-01 Kenichi Handa <handa@m17n.org>
5863
5864 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
5865 lookup_face.
5866
5867 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
5868
5869 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
5870
5871 2008-02-01 Kenichi Handa <handa@m17n.org>
5872
5873 * coding.c: Cancel the change done in HEAD on 2008-02-01.
5874 (coding_charset_list): New function.
5875
5876 * coding.h (coding_charset_list): Extern it.
5877
5878 2008-02-01 Kenichi Handa <handa@m17n.org>
5879
5880 * fontset.c (Fset_fontset_font): Call find_font_encoding with
5881 concatenation of family and registry.
5882
5883 2008-02-01 Kenichi Handa <handa@m17n.org>
5884
5885 * character.h (BYTE8_STRING): Fix typo.
5886
5887 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
5888 string to multibyte (sync to HEAD).
5889
5890 * casefiddle.c (casify_region): Handle changes in byte-length
5891 using replace_range_2 (sync to HEAD).
5892
5893 2008-02-01 Andreas Schwab <schwab@suse.de>
5894
5895 * chartab.c (map_char_table): GCPRO table and arg.
5896
5897 2008-02-01 Kenichi Handa <handa@m17n.org>
5898
5899 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
5900 already at limit.
5901
5902 2008-02-01 Kenichi Handa <handa@m17n.org>
5903
5904 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
5905 instead of fast_c_string_match_ignore_case.
5906 (find_font_encoding): Change argument to Lisp_Object. Use
5907 fast_string_match_ignore_case instead of
5908 fast_c_string_match_ignore_case. Change caller.
5909
5910 2008-02-01 Kenichi Handa <handa@m17n.org>
5911
5912 * xdisp.c (get_next_display_element): In unibyte case, decide to
5913 display in octal form by checking a chacter by
5914 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
5915
5916 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
5917
5918 * character.c (unibyte_has_multibyte_table): New variable.
5919
5920 * character.h (unibyte_has_multibyte_table): Extern it.
5921 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
5922
5923 2008-02-01 Kenichi Handa <handa@m17n.org>
5924
5925 * coding.c (encode_coding_iso_2022): Fix handling of charset
5926 annotation.
5927
5928 2008-02-01 Kenichi Handa <handa@m17n.org>
5929
5930 * coding.c (setup_coding_system): If coding_system is nil, use
5931 Qundecided.
5932 (Fterminal_coding_system): Return nil if terminal coding system is
5933 `undecided'.
5934 (syms_of_coding): Define coding-system `undecided' here. Setup
5935 terminal_coding as `undecided'.
5936
5937 2008-02-01 Kenichi Handa <handa@m17n.org>
5938
5939 * xdisp.c (message_dolog, set_message_1): Call
5940 unibyte_char_to_multibyte with arg type int.
5941
5942 * lread.c (read1): Fix reading of a char-table.
5943
5944 * print.c (print_object): Include sub char-table in cicularities
5945 detection.
5946
5947 2008-02-01 Kenichi Handa <handa@m17n.org>
5948
5949 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
5950 cons. Append the found sequences in car of ARGS instead of prepending.
5951
5952 2008-02-01 Kenichi Handa <handa@m17n.org>
5953
5954 * fileio.c (report_file_error): Make a unibyte string from
5955 strerror (errorno).
5956 (Fsubstitute_in_file_name): Fix the arg to
5957 unibyte_char_to_multibyte. It is evaluated twice.
5958
5959 2008-02-01 Kenichi Handa <handa@m17n.org>
5960
5961 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
5962
5963 2008-02-01 Kenichi Handa <handa@m17n.org>
5964
5965 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
5966 BOM is not found.
5967 (detect_coding, detect_coding_system): Optimization for ISO-2022
5968 when no 8-bit data is found.
5969
5970 2008-02-01 Jason Rumney <jasonr@gnu.org>
5971
5972 * w32fns.c (x_to_w32_font): Update to use new coding struct.
5973
5974 2008-02-01 Kenichi Handa <handa@m17n.org>
5975
5976 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
5977 CHARS.
5978
5979 2008-02-01 Steven Tamm <steventamm@mac.com>
5980
5981 * macterm.c (mac_encode_char): Add charset argument and update
5982 to use encoding_type.
5983 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
5984 switch to pure fontset.
5985 (decode_mac_font_name): Temporarily remove decoding.
5986 (x_font_name_to_mac_font_name): Temporarily remove encoding.
5987 (x_load_font): Temporarily remove encoding.
5988
5989 2008-02-01 Kenichi Handa <handa@m17n.org>
5990
5991 * xfaces.c (Fface_font): If frame is not on a window system,
5992 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
5993 refer to face->font.
5994 (split_font_name_into_vector, build_font_name_from_vector)
5995 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
5996 whne HAVE_WINDOW_SYSTEM is defined.
5997
5998 2008-02-01 Kenichi Handa <handa@m17n.org>
5999
6000 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
6001 (x_produce_glyphs): Fix setting of members of cmp in case
6002 cmp->glyph_len is zero.
6003
6004 * fontset.c (Fset_fontset_font): Fix docstring.
6005 (Ffontset_info): Make it backward compatible. New arg ALL.
6006
6007 2008-02-01 Kim F. Storm <storm@cua.dk>
6008
6009 * process.c (read_process_output): Grow decoding_buf when needed;
6010 this could cause a crash in allocate_string and compact_small_strings.
6011
6012 2008-02-01 Kenichi Handa <handa@m17n.org>
6013
6014 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
6015
6016 2008-02-01 Kenichi Handa <handa@m17n.org>
6017
6018 * coding.c (setup_coding_system): Set coding->common_flags
6019 correctly for raw-text.
6020 (consume_chars): On encoding unibyte text by raw-text, don't check
6021 multibyte form.
6022 (encode_coding): On encoding by raw-text, never use translation tables.
6023
6024 * fileio.c (e_write): Short cut for the case of no encoding.
6025
6026 2008-02-01 Kenichi Handa <handa@m17n.org>
6027
6028 * coding.c (detect_coding, detect_coding_system): Delete unused
6029 variables.
6030
6031 2008-02-01 Kenichi Handa <handa@m17n.org>
6032
6033 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
6034 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
6035
6036 2008-02-01 Kenichi Handa <handa@m17n.org>
6037
6038 * coding.c (Ffind_coding_systems_region_internal): Include
6039 raw-text and no-conversion in the result.
6040
6041 2008-02-01 Kenichi Handa <handa@m17n.org>
6042
6043 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
6044 (load_font_get_repertory): Delete unnecessary check of ENCODING of
6045 FONT_DEF.
6046 (font_def_arg, add_arg, from_arg, to_arg): New args.
6047 (set_fontset_font): Change argument.
6048 (Fset_fontset_font): Fix for the case that TARGET is a script
6049 name and charset name.
6050 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
6051
6052 2008-02-01 Kenichi Handa <handa@m17n.org>
6053
6054 * fontset.c (fontset_font): Rename from fontset_face. Change return
6055 value.
6056 (face_suitable_for_char_p, face_for_char): Adjust for the change
6057 of fontset_font.
6058 (make_fontset_for_ascii_face): Fix setting of the fontset element
6059 for ASCII.
6060 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
6061 to get a font name.
6062 (Ffontset_info): Adjust for the change of fontset_font.
6063
6064 * coding.c (emacs_mule_char): Check invalid code more regidly.
6065
6066 * character.h (LEADING_CODE_LATIN_1_MIN)
6067 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
6068
6069 2008-02-01 Kenichi Handa <handa@m17n.org>
6070
6071 * editfns.c (check_translation): New function.
6072 (Ftranslate_region_internal): Handle M:N mapping.
6073
6074 2008-02-01 Kenichi Handa <handa@m17n.org>
6075
6076 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
6077
6078 2008-02-01 Kenichi Handa <handa@m17n.org>
6079
6080 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
6081 goto invalid_code.
6082 (decode_coding_iso_2022): Fix handling of invalid designation.
6083
6084 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
6085 after calling code_conversion_save.
6086
6087 2008-02-01 Kenichi Handa <handa@m17n.org>
6088
6089 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
6090
6091 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
6092
6093 * fontset.c: Include "intervals.h".
6094 (fontset_face): Fix comparing of Lisp_Objects.
6095 (free_face_fontset, new_fontset_from_font_name): Fix
6096 Lisp_Object/int mixup.
6097
6098 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
6099
6100 * coding.c: Add many prototypes for static functions.
6101 (get_translation_table): Allow max_lookup to be NULL.
6102 (decode_coding, Ffind_coding_systems_region_internal)
6103 (Funencodable_char_position, Fcheck_coding_systems_region): Call
6104 get_translation_table with max_lookup NULL.
6105
6106 2008-02-01 Kenichi Handa <handa@m17n.org>
6107
6108 * coding.c (get_translation_table): Declare it as Lisp_Object.
6109 (LOOKUP_TRANSLATION_TABLE): New macro.
6110 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
6111 instead of CHAR_TABLE_REF.
6112
6113 2008-02-01 Kenichi Handa <handa@m17n.org>
6114
6115 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
6116 annotation data format.
6117 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
6118 Change arguments FROM and TO to single argument NCHARS. Change caller.
6119 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
6120 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6121 (decode_coding_ccl, decode_coding_charset): Pay attention to
6122 coding->charbuf_used.
6123 (get_translation): New function.
6124 (produce_chars): New arguments translation_table and last_block.
6125 Translate characters here. Return number of carryover chars.
6126 Change caller.
6127 (produce_composition): New argument pos. Change caller.
6128 Adjust for the change of annotation data format.
6129 (produce_charset, produce_annotation): Likewise.
6130 (decode_coding, encode_coding): Don't call translate_chars.
6131 (consume_chars): New arg translation_table. Change caller.
6132 (translate_chars): Delete.
6133 (syms_of_coding): Make translation-table's number of extra slots 2.
6134
6135 2008-02-01 Kenichi Handa <handa@m17n.org>
6136
6137 * search.c (simple_search): Fix setting this_pos_byte in backward
6138 search.
6139
6140 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
6141 byte sequence.
6142 (detect_coding_ccl): Fix setting of the variable valids.
6143
6144 2008-02-01 Kenichi Handa <handa@m17n.org>
6145
6146 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
6147
6148 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
6149
6150 * editfns.c (Ftranslate_region_internal): Rename from
6151 Ftranslate_region. Accept a char-table in TABLE.
6152 (syms_of_editfns): Defsubr Stranslate_region_internal.
6153
6154 * xfaces.c (set_lface_from_font_name): If a font is specified for
6155 a frame, generate a fontset from the font.
6156 (build_scalable_font_name): If the scalable font is requested for
6157 a specific size, don't change that size.
6158 (try_font_list): Try a scalable font also in the case that a
6159 pattern string is specified.
6160
6161 2008-02-01 Kenichi Handa <handa@m17n.org>
6162
6163 * xfaces.c (Fface_font): New optional arg CHARACTER.
6164
6165 2008-02-01 Kenichi Handa <handa@m17n.org>
6166
6167 * charset.h (CHARSET_OFFSET): New macro.
6168
6169 2008-02-01 Kenichi Handa <handa@m17n.org>
6170
6171 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
6172
6173 * fontset.c (fontset_face): Handle the case that repertory is a
6174 char-table.
6175 (find_font_encoding): Return nil for unknown encoding.
6176 (Fset_fontset_font): Ignore a font of unknown encoding.
6177
6178 2008-02-01 Kenichi Handa <handa@m17n.org>
6179
6180 * keymap.c (describe_vector): Handle default value of a char table.
6181
6182 * fontset.c (fontset_face): Handle fallback fonts correctly.
6183 (Ffontset_info): Return infomation about fallback fonts.
6184
6185 2008-02-01 Kenichi Handa <handa@m17n.org>
6186
6187 * fontset.c (FONTSET_DEFAULT): New macro.
6188 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
6189 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
6190 the case that it is nil.
6191 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
6192 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
6193
6194 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
6195 subset or superset.
6196
6197 2008-02-01 Kenichi Handa <handa@m17n.org>
6198
6199 * emacs.c (main): Call init_charset after syms_of_XXX.
6200
6201 * charset.c (Vcharset_map_directory): Delete.
6202 (Vcharset_map_path): New variable.
6203 (load_charset_map_from_file): Use Vcharset_map_path instead.
6204 (init_charset): Initialize Vcharset_map_path.
6205 (syms_of_charset): Delete declaration of "charset-map-directory",
6206 add declaration of "charset-map-path".
6207
6208 2008-02-01 Kenichi Handa <handa@m17n.org>
6209
6210 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
6211 ASCII only string.
6212
6213 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
6214
6215 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6216 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
6217
6218 2008-02-01 Kenichi Handa <handa@m17n.org>
6219
6220 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
6221
6222 * coding.c (QCmnemonic, QCdefalut_char)
6223 (QCdecode_translation_table, QCencode_translation_table)
6224 (QCpost_read_conversion, QCpre_write_conversion): New variables.
6225 (get_translation_table): Return a list of translation tables if
6226 necessary.
6227 (decode_coding): Call get_translation_table with ENCODEP 0.
6228 (char_encodable_p): If translation_table is non-nil, always call
6229 translate_char.
6230 (Fdefine_coding_system_internal): Accept list of translation
6231 tables as :encode-translation-table and :decode-translation-table.
6232 (Fcoding_system_put): New function.
6233 (syms_of_coding): Declare new symbols. Defsubr
6234 Scoding_system_put.
6235 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
6236 typically JISX0212.
6237
6238 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
6239 when the charset is superset type.
6240
6241 * character.c (translate_char): Accept list of translation tables.
6242
6243 2008-02-01 Kenichi Handa <handa@m17n.org>
6244
6245 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
6246 (CODING_ATTR_TRANS_TBL): New macro.
6247
6248 * coding.c (get_translation_table): New function.
6249 (translate_chars): Fix the bug of skipping annotation data.
6250 (decode_coding, encode_coding): Utilize get_translation_table.
6251 (char_encodable_p, Funencodable_char_position): Translate char if
6252 necessary.
6253 (Ffind_coding_systems_region_internal)
6254 (Fcheck_coding_systems_region): Setup translation table for encode
6255 in a coding system attribute vector in advance.
6256 (Fdefine_coding_system_internal): Allow a symbol as translation
6257 table. For shift-jis type coding system, allow 4th charset.
6258
6259 2008-02-01 Kenichi Handa <handa@m17n.org>
6260
6261 * coding.c (decode_coding_sjis): Check the first byte rigidly.
6262
6263 * xdisp.c (get_next_display_element): Pass -1 as POS to
6264 FACE_FOR_CHAR if displaying a C-string.
6265
6266 2008-02-01 Kenichi Handa <handa@m17n.org>
6267
6268 * composite.c (get_composition_id): Handle xoff and yoff in a
6269 composition rule.
6270
6271 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
6272 (struct composition): New member lbearing and rbearing.
6273
6274 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
6275 (x_get_glyph_overhangs): Handle a composition glyph.
6276 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
6277
6278 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
6279 composition glyph.
6280
6281 2008-02-01 Kenichi Handa <handa@m17n.org>
6282
6283 * print.c: Include charset.h.
6284 (Vprint_charset_text_property): New variable.
6285 (Qdefault): Extern it.
6286 (PRINT_STRING_NON_CHARSET_FOUND)
6287 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
6288 (print_check_string_result): New variable.
6289 (print_check_string_charset_prop): New function.
6290 (print_prune_charset_plist): New variable.
6291 (print_prune_string_charset): New function.
6292 (print_object): Call print_prune_string_charset if
6293 Vprint_charset_text_property is not t.
6294 (print_interval): Print nothing if itnerval->plist is nil.
6295 (syms_of_print): Declare Vprint_charset_text_property as a lisp
6296 variable. Init and staticpro print_prune_charset_plist.
6297
6298 2008-02-01 Kenichi Handa <handa@m17n.org>
6299
6300 * fontset.c (new_fontset_from_font_name): Use the specified font
6301 for all characters in the new fontset.
6302
6303 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6304 OBJECT args.
6305
6306 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
6307 OBJECT args for composition too.
6308
6309 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6310 OBJECT args.
6311
6312 2008-02-01 Kenichi Handa <handa@m17n.org>
6313
6314 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
6315
6316 * fontset.c (reorder_font_vector): Adjust for the change of
6317 FONT_DEF format.
6318 (fontset_face): New arg id. Change caller.
6319 (face_for_char): New args pos and object.
6320 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
6321 (fs_query_fontset): Check NAME by Fassoc too.
6322 (Fset_fontset_font): Allow non-XLFD font name.
6323 (Ffontset_info): Adjust for the change of FONT_DEF format.
6324
6325 * fontset.h (face_for_char): Adjust prototype.
6326
6327 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
6328 (append_space, extend_face_to_end_of_line)
6329 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6330 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
6331
6332 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
6333 POS and OBJECT args.
6334
6335 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
6336 POS and OBJECT args.
6337
6338 2008-02-01 Jason Rumney <jasonr@gnu.org>
6339
6340 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
6341 of GlobalAlloc'ed memory.
6342
6343 2008-02-01 Kenichi Handa <handa@m17n.org>
6344
6345 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
6346
6347 * charset.h (charset_table_used): Delete extern.
6348
6349 * charset.c (charset_table_used): Make it static.
6350 (map_charset_chars): Fix args to c_function with.
6351
6352 * chartab.c (map_sub_char_table_for_charset): Fix args to
6353 c_function with.
6354
6355 * coding.h (enum coding_result_code): Delete
6356 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
6357
6358 * coding.c (Qinsufficient_source, Qinconsistent_eol)
6359 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
6360 (Vlast_code_conversion_error): New variables.
6361 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
6362 (ONE_MORE_BYTE): Record error if any instead of signaling an
6363 error. If non-ASCII multibyte char is found, return the negative
6364 value of the code. All callers changed to check it.
6365 (ONE_MORE_BYTE_NO_CHECK): Likewise.
6366 (record_conversion_result): New function. Change all codes setting
6367 coding->result to call this function.
6368 (detect_coding_utf_8, decode_coding_utf_8)
6369 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
6370 Don't use the local variable incomplete.
6371 (emacs_mule_char): Change the second arg to `const'.
6372 (decode_coding): Fix of flushing out unprocessed data.
6373 (make_conversion_work_buffer): Fix making of a work buffer.
6374 (decode_coding_object): Return coding->dst_object.
6375
6376 * fontset.c (set_fontset_font): Fix args.
6377
6378 * lisp.h (CHARACTERBITS): Define as 22.
6379
6380 * process.c (send_process): Be sure to set coding->src_multibyte.
6381
6382 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
6383
6384 2008-02-01 Kenichi Handa <handa@m17n.org>
6385
6386 * xdisp.c (handle_auto_composed_prop): Give limit to
6387 Fnext_single_char_property_change.
6388
6389 2008-02-01 Kenichi Handa <handa@m17n.org>
6390
6391 * composite.c (syms_of_composite): Don't make the composition hash
6392 table weak.
6393
6394 * fontset.c (Fset_fontset_font): Fix docstring.
6395
6396 * lisp.h (detect_coding_system): Adjust prototype.
6397
6398 * fileio.c (kill_workbuf_unwind): Delete this function.
6399 (Finsert_file_contents): Adjust the call of detect_coding_system.
6400 Get conversion_buffer by code_conversion_save. Use the macor
6401 CODING_MAY_REQUIRE_DECODING. After decoding, update
6402 coding_system.
6403
6404 * coding.h (make_conversion_work_buffer): Delete extern.
6405 (code_conversion_save): Extern it.
6406
6407 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
6408 (CODING_GET_INFO): Delete argument eol_type. Change callers.
6409 (decode_coding_utf_8): Don't do eol converion.
6410 (detect_coding_utf_16): Check coding->src_chars, not
6411 coding->src_bytes. Add heuristics for those that have no signature.
6412 (decode_coding_emacs_mule, decode_coding_iso_2022)
6413 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
6414 Don't do eol converion.
6415 (adjust_coding_eol_type): Return a new coding system.
6416 (detect_coding): Don't detect eol. Fix for utf-16 detection.
6417 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
6418 each change.
6419 (decode_coding): Pay attention to undo_list. Do eol convesion for
6420 all types of coding-systems (if necessary).
6421 (Vcode_conversion_work_buf_list): Delete it.
6422 (Vcode_conversion_reused_workbuf): Rename from
6423 Vcode_conversion_reused_work_buf.
6424 (Vcode_conversion_workbuf_name): New variable.
6425 (reused_workbuf_in_use): New variable.
6426 (make_conversion_work_buffer): Delete the arg DEPTH.
6427 (code_conversion_restore): Change argument to cons.
6428 (code_conversion_save): Delete the argument BUFFER. Change callers.
6429 (detect_coding_system): New argument src_chars. Change callers.
6430 Fix for utf-16 detection.
6431 (init_coding_once): Don't use ISO_carriage_return.
6432 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
6433 reused_workbuf_in_use.
6434
6435 2008-02-01 Kenichi Handa <handa@m17n.org>
6436
6437 * keymap.c (store_in_keymap): Pay attention to the case that idx
6438 is a cons specifying a character range.
6439
6440 2008-02-01 Kenichi Handa <handa@m17n.org>
6441
6442 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
6443 HANDLED_RECOMPUTE_PROPS.
6444
6445 * coding.c (Fdefine_coding_system_internal): Fix checking of
6446 ascii compatibility.
6447
6448 2008-02-01 Kenichi Handa <handa@m17n.org>
6449
6450 * charset.c (find_charsets_in_text): Delete unused locale variable.
6451 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
6452
6453 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
6454 Resync charset_list to Vemacs_mule_charset_list.
6455
6456 * keymap.c (store_in_keymap): Pay attention to the case that idx
6457 is a cons specifying a character range.
6458
6459 2008-02-01 Kenichi Handa <handa@m17n.org>
6460
6461 * composite.c (update_compositions): Bind inhibit-read-only, etc
6462 to t before calling remove-list-of-text-properties.
6463
6464 * print.c (print_object): Always print ASCII chars as is.
6465
6466 2008-02-01 Kenichi Handa <handa@m17n.org>
6467
6468 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
6469
6470 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
6471 is a char table.
6472
6473 2008-02-01 Kenichi Handa <handa@m17n.org>
6474
6475 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
6476
6477 2008-02-01 Kenichi Handa <handa@m17n.org>
6478
6479 * xfaces.c (set_lface_from_font_name): Fix for the case that
6480 FONTNAME is not fontset name.
6481
6482 2008-02-01 Kenichi Handa <handa@m17n.org>
6483
6484 * fns.c (base64_encode_1): Fix previous change.
6485
6486 2008-02-01 Kenichi Handa <handa@m17n.org>
6487
6488 * fontset.c (set_fontset_font): New function.
6489 (Fset_fontset_font): If a font is specified for a charset, use
6490 map_charset_chars to store the font spec in a fontset.
6491
6492 2008-02-01 Kenichi Handa <handa@m17n.org>
6493
6494 * fontset.c (fontset_face): Create a fallback fontset on demand.
6495 (make_fontset): Don't create a fallback fontset here.
6496 (free_face_fontset): Free a fallback fontset (if any) too.
6497 (n_auto_fontsets): Delete this variable.
6498 (auto_fontset_alist): New variable.
6499 (new_fontset_from_font_name): Check auto_fontset_alist.
6500 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
6501 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
6502 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
6503 Defsubr Sfontset_list_all.
6504
6505 2008-02-01 Kenichi Handa <handa@m17n.org>
6506
6507 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6508
6509 2008-02-01 Kenichi Handa <handa@m17n.org>
6510
6511 * fontset.c (Fnew_fontset): Check NAME more rigidly.
6512
6513 2008-02-01 Kenichi Handa <handa@m17n.org>
6514
6515 * editfns.c (Fgoto_char): Fix docstring.
6516
6517 2008-02-01 Kenichi Handa <handa@m17n.org>
6518
6519 * insdel.c (insert_from_gap): Adjust intervals correctly.
6520
6521 2008-02-01 Jason Rumney <jasonr@gnu.org>
6522
6523 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
6524 (pfnGetFontUnicodeRanges): New dynamically loaded function.
6525 (w32_initialize): Try to load it.
6526 (x_get_font_repertory): Use it if available.
6527 (w32_encode_char): Add shortcut for unicode output.
6528
6529 * w32fns.c (w32_load_system_font): Default charset to -1.
6530 (x_to_w32_charset): Match all fonts for unicode.
6531 (w32_to_x_charset): New parameter matching. Don't return partial
6532 or wildcard charsets.
6533 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
6534 (w32_codepage_for_font): Return CP_UNICODE for unicode.
6535 (w32_to_x_font): Match charset to real charset.
6536 (enum_font_cb2): Always list unicode versions.
6537
6538 * makefile.w32-in (temacs): Increase EMHEAP.
6539
6540 2008-02-01 Jason Rumney <jasonr@gnu.org>
6541
6542 * w32term.c (w32_encode_char): New charset parameter.
6543 font_info.encoding becomes encoding_type.
6544 (x_get_font_repertory): New function. Warning: stub only!
6545 (x_new_font): Return quickly if font already set.
6546 (x_new_fontset): fontsetname parameter is Lisp_Object.
6547 Use new fs_query_fontset. Try new_fontset_from_font_name.
6548 Use fontset_name for return value.
6549
6550 * w32term.h: Declare x_get_font_repertory.
6551
6552 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
6553 place of find_charset_in_text. Use encode_coding_object in place
6554 of encode_coding.
6555 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
6556 decode_coding.
6557
6558 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
6559 of x_new_fontset.
6560 (w32_load_system_font): Initialize charset as unicode.
6561 font_info.encoding becomes encoding_type.
6562 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
6563 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
6564 (syms_of_w32fns): Set get_font_repertory_func.
6565
6566 * w32console.c: Include character.h. Use terminal_encode_buffer
6567 from term.c.
6568 (write_glyphs): Use new version of encode_terminal_code. Use
6569 encode_coding_object in place of encode_coding.
6570
6571 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
6572 encoding becomes encoding_type.
6573
6574 * term.c (terminal_encode_buffer): Make externally visible.
6575
6576 * makefile.w32-in: Add character.h dependancies.
6577 (character.o, chartab.o): New targets.
6578
6579 2008-02-01 Kenichi Handa <handa@m17n.org>
6580
6581 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
6582 CODING_ID_EOL_TYPE.
6583
6584 2008-02-01 Andreas Schwab <schwab@suse.de>
6585
6586 * coding.c (produce_chars): Revert last change.
6587
6588 2008-02-01 Kenichi Handa <handa@m17n.org>
6589
6590 * charset.h (charset_unicode): Extern it.
6591
6592 * charset.c (string_xstring_p): Check by (C >= 0x100).
6593 (find_charsets_in_text): Change format of the arc CHARSETS. New
6594 arg MULTIBYTE.
6595 (Ffind_charset_region, Ffind_charset_string): Adjust for the
6596 change of find_charsets_in_text.
6597 (Fsplit_char): Fix doc. Never return unknown.
6598
6599 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
6600
6601 * coding.c (Fdefine_coding_system_alias): Update
6602 Vcoding_system_list.
6603
6604 * fontset.c (load_font_get_repertory): Pay attention to the case
6605 that ENCODING of a font is specified by a char-table.
6606
6607 * xterm.c (x_get_font_repertory): Handle the case that the
6608 encoding of font is other than Unicode.
6609
6610 2008-02-01 Kenichi Handa <handa@m17n.org>
6611
6612 * term.c (encode_terminal_code): Don't handle glyph-table. Check
6613 if a character is encodable by the terminal coding system. If
6614 not, produces proper number of `?'s. Update
6615 terminal_encode_buffer and terminal_encode_buf_size if necessary.
6616 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
6617
6618 2008-02-01 Kenichi Handa <handa@m17n.org>
6619
6620 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
6621 variables.
6622 (encode_terminal_code): Change argument. Encode multiple
6623 characters at once. Store the result of encoding in
6624 terminal_encode_buffer.
6625 (write_glyphs, insert_glyphs): Adjust for the change of
6626 encode_terminal_code.
6627 (term_init): Initialize terminal_encode_buffer and
6628 terminal_encode_buf_size.
6629
6630 * coding.c (consume_chars): If coding->src_object is nil, don't
6631 check annotation.
6632
6633 2008-02-01 Kenichi Handa <handa@m17n.org>
6634
6635 * character.c (char_string): Use ASCII_CHAR_P instead of
6636 SINGLE_BYTE_CHAR_P.
6637
6638 2008-02-01 Kenichi Handa <handa@m17n.org>
6639
6640 * xdisp.c (handle_auto_composed_prop): Check if the last
6641 characters of auto-composed region is newly composed with the
6642 following characters.
6643 (handle_composition_prop): Fix checking of point being inside
6644 composition.
6645
6646 2008-02-01 Kenichi Handa <handa@m17n.org>
6647
6648 * fns.c (concat): Don't change multibyteness of the result by
6649 concatenating an 8-bit character.
6650
6651 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
6652 multibyteness of the result when newelt is an 8-bit character.
6653
6654 2008-02-01 Dave Love <fx@gnu.org>
6655
6656 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
6657 EMACS_INT.
6658
6659 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
6660
6661 * xfaces.c (face_numeric_value): Declare dim size_t.
6662 (Finternal_lisp_face_equal_p): Remove unused f.
6663
6664 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
6665 (MATRIX_ROW): Remove unused vars.
6666 (draw_glyphs, x_insert_glyphs, fast_find_position)
6667 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
6668 byte/char counts.
6669
6670 * regex.c (regex_compile): Remove unused var.
6671
6672 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
6673
6674 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6675 (Faccessible_keymaps, where_is_internal): Remove unused vars.
6676
6677 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
6678
6679 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
6680
6681 * fileio.c (Fwrite_region): Remove unused var.
6682
6683 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
6684 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
6685
6686 * composite.c (Fremove_list_of_text_properties): Declare.
6687
6688 * coding.c (inhibit_pre_post_conversion): Remove (unused).
6689 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
6690 (coding_inherit_eol_type): Remove unused attrs.
6691 (detect_coding): Cast arg of detect_eol.
6692
6693 * charset.c (syms_of_charset): Remove unused var p.
6694 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
6695 byte/char counts.
6696
6697 * casetab.c (set_case_table): Remove unused var.
6698
6699 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
6700 unused vars.
6701
6702 2008-02-01 Dave Love <fx@gnu.org>
6703
6704 * xterm.c (x_bitmap_mask): Declare.
6705
6706 2008-02-01 Dave Love <fx@gnu.org>
6707
6708 * xterm.c (x_term_init): Fix type error.
6709
6710 * lisp.h: Add Funibyte_char_to_multibyte.
6711
6712 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
6713 (Fset_coding_system_priority): Doc fix.
6714
6715 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
6716
6717 * indent.c (check_composition): Make start and end EMACS_INT.
6718
6719 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
6720
6721 * xdisp.c (handle_composition_prop, check_point_in_composition):
6722 Make buffer positions EMACS_INT.
6723
6724 * composite.c (find_composition, run_composition_function)
6725 (update_compositions, Ffind_composition_internal): Make buffer
6726 positions EMACS_INT.
6727
6728 * composite.h (find_composition, update_compositions): Make
6729 position args EMACS_INT.
6730
6731 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
6732
6733 * intervals.c (get_property_and_range):
6734 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
6735
6736 * unexalpha.c: Don't include varargs.h.
6737
6738 2008-02-01 Dave Love <fx@gnu.org>
6739
6740 * coding.h (ENCODE_UTF_8): New.
6741
6742 * Makefile.in (gtkutil.o): Depend on coding.h.
6743
6744 * coding.c (Fset_coding_system_priority): Doc fix.
6745
6746 2008-02-01 Kenichi Handa <handa@m17n.org>
6747
6748 * fileio.c (Finsert_file_contents): Call setup_coding_system in
6749 the case of auto saving.
6750
6751 2008-02-01 Andreas Schwab <schwab@suse.de>
6752
6753 * chartab.c (map_char_table, map_char_table_for_charset): Protect
6754 `range' from GC.
6755
6756 2008-02-01 Kenichi Handa <handa@m17n.org>
6757
6758 * coding.c (decode_coding_sjis): Check bytes more rigidly.
6759
6760 2008-02-01 Kenichi Handa <handa@m17n.org>
6761
6762 * fileio.c (choose_write_coding_system): Return a decided coding system.
6763 (Fwrite_region): Set Vlast_coding_system_used to the return value
6764 of choose_write_coding_system.
6765
6766 2008-02-01 Kenichi Handa <handa@m17n.org>
6767
6768 * charset.c (Fset_charset_priority): Pay attention to duplicated
6769 arguments.
6770
6771 * coding.c (QCcategory): New variable.
6772 (syms_of_coding): Defsym it. Set all elements of
6773 Vcoding_category_table and their symbol values.
6774 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
6775 coding-category-XXX, and coding-category-list.
6776 (Fdefine_coding_system_internal): Add category in the plist.
6777
6778 2008-02-01 Kenichi Handa <handa@m17n.org>
6779
6780 * callproc.c (Fcall_process): Handle carryover correctly.
6781
6782 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
6783 (raw_text_coding_system): Check NILP (coding_system).
6784 (coding_inherit_eol_type): Check NILP (coding_system) and
6785 NILP (parent).
6786 (consume_chars): Fix for the case of raw-text.
6787
6788 * process.c (read_process_output): Handle carryover correctly.
6789
6790 2008-02-01 Dave Love <fx@gnu.org>
6791
6792 * regex.c (re_search_2): Fix last change.
6793
6794 2008-02-01 Kenichi Handa <handa@m17n.org>
6795
6796 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
6797 target_multibyte. Even in a unibyte case, return a converted
6798 multibyte char.
6799 (GET_CHAR_AFTER): New macro.
6800 (PATFETCH): Translate via multibyte char.
6801 (HANDLE_UNIBYTE_RANGE): Delete this macro.
6802 (SETUP_MULTIBYTE_RANGE): New macro.
6803 (regex_compile): Setup compiled code so that its multibyteness
6804 matches that of a target. Fix the handling of "[X-YZ]" using
6805 SETUP_MULTIBYTE_RANGE.
6806 (analyse_first) <charset>: For filling fastmap for all multibyte
6807 characters, don't check by BASE_LEADING_CODE_P.
6808 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
6809 the same as RE_MULTIBYTE_P (bufp) now.
6810 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
6811 (TARGET_CHAR_AND_LENGTH): Delete this macro.
6812 (TRANSLATE_VIA_MULTIBYTE): New macro.
6813 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
6814 It is the same as RE_MULTIBYTE_P (bufp) now.
6815 <exactn>: Translate via multibyte.
6816 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
6817 translate it.
6818 <charset, charset_not>: Fetch a character by
6819 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
6820 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
6821 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
6822 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
6823 by GET_CHAR_AFTER.
6824 (bcmp_translate): Likewise.
6825
6826 * search.c (compile_pattern): Check the member target_multibyte,
6827 not the member multibyte of buf.
6828
6829 * lread.c (read1): While reading a string, set force_singlebyte
6830 and force_multibyte correctly.
6831
6832 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
6833 up of unibyte_to_multibyte_table.
6834
6835 2008-02-01 Kenichi Handa <handa@m17n.org>
6836
6837 * coding.c (setup_coding_system): If coding has
6838 post-read-conversion or pre-write-conversion, set
6839 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
6840 respectively.
6841 (decode_coding_gap): Run post-read-conversion if any.
6842
6843 * fileio.c (Finsert_file_contents): Even if we read into a
6844 unibyte buffer, check if we must decode the result or not.
6845
6846 2008-02-01 Kenichi Handa <handa@m17n.org>
6847
6848 * coding.c (make_conversion_work_buffer): Change the work buffer
6849 name to the same one as that of Emacs 21.
6850
6851 2008-02-01 Kenichi Handa <handa@m17n.org>
6852
6853 * coding.h (make_conversion_work_buffer): Adjust prototype.
6854 (code_conversion_restore): Don't extern it.
6855
6856 * coding.c (detected_mask): Delete unused variable.
6857 (decode_coding_iso_2022): Pay attention to the byte sequence of
6858 CTEXT extended segment, and retain those bytes as is.
6859 (decode_coding_ccl): Delete unused variable `valids'.
6860 (setup_coding_system): Delete unused variable `category'.
6861 (consume_chars): Delete unused variable `category'. Make it work
6862 for non-multibyte case.
6863 (make_conversion_work_buffer): Change argument.
6864 (saved_coding): Delete unused variable.
6865 (code_conversion_restore): Don't check saved_coding->destination.
6866 (code_conversion_save): New function.
6867 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
6868 instead of record_unwind_protect.
6869 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
6870 (detect_coding_system): Delete unused variable `mask'.
6871 (Fdefine_coding_system_internal): Delete unused vaiable id.
6872
6873 * fileio.c (kill_workbuf_unwind): New function.
6874 (Finsert_file_contents): On replacing, call
6875 make_conversion_work_buffer with correct args, and call
6876 record_unwind_protect with the first arg kill_workbuf_unwind.
6877
6878 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
6879
6880 2008-02-01 Kenichi Handa <handa@m17n.org>
6881
6882 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
6883 (fontset_add): Fix for the case that TO is less than TO1.
6884 (Ffontset_info): Don't use fallback fontset on checking the
6885 default fontset.
6886 (dump_fontset): New function for debugging.
6887
6888 * coding.c (Fdefine_coding_system_internal): Fix for the case that
6889 coding_type is Qcharset.
6890
6891 2008-02-01 Kenichi Handa <handa@m17n.org>
6892
6893 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
6894 (map_char_table): Don't inherit the value from the parent on
6895 initializing VAL. Adjust for the above change.
6896
6897 2008-02-01 Kenichi Handa <handa@m17n.org>
6898
6899 * coding.c (Qsignature, Qendian): Delete these variables.
6900 (syms_of_coding): Don't initialize them.
6901 (CATEGORY_MASK_UTF_16_AUTO): New macro.
6902 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
6903 detect_info->found.
6904 (decode_coding_utf_16): Don't detect BOM here.
6905 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
6906 is NOT utf_16_without_bom.
6907 (setup_coding_system): For a coding system of type utf-16, check
6908 if the attribute :endian is Qbig or not (not nil or not), and set
6909 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
6910 (detect_coding): If coding type is utf-16 and BOM detection is
6911 required, detect it.
6912 (Fdefine_coding_system_internal): For a coding system of type
6913 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
6914
6915 2008-02-01 Kenichi Handa <handa@m17n.org>
6916
6917 * coding.c (coding_set_source): Fix for the case that the current
6918 buffer is different from coding->src_object.
6919 (decode_coding_object): Don't use the conversion work buffer if
6920 DST_OBJECT is a buffer.
6921
6922 2008-02-01 Dave Love <fx@gnu.org>
6923
6924 * lread.c (read_emacs_mule_char) [len==2]: Index
6925 emacs_mule_charset correctly.
6926
6927 2008-02-01 Dave Love <fx@gnu.org>
6928
6929 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
6930 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
6931 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
6932 treated specially.)
6933 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
6934 (detected_mask): Remove Big5 bits.
6935
6936 2008-02-01 Kenichi Handa <handa@m17n.org>
6937
6938 The following changes are to make the font rescaling facility
6939 compatible with Emacs 21.
6940
6941 * xfaces.c (Vface_font_rescale_alist): Rename from
6942 Vface_resizing_fonts.
6943 (struct font_name): Rename member resizing_ratio to rescale_ratio.
6944 (font_rescale_ratio): Rename from font_resizing_ratio.
6945 (split_font_name): Set font->rescale_ratio.
6946 (better_font_p): Pay attention to font->rescale_ratio.
6947 (build_scalable_font_name): Likewise. Change RESX, and RESY
6948 fields.
6949 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
6950
6951 2008-02-01 Kenichi Handa <handa@m17n.org>
6952
6953 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
6954 (Qutf_16_le): Remove these variables.
6955 (syms_of_coding): Don't DEFSYM them.
6956 (decode_coding_utf_16): Fix handling of BOM.
6957 (encode_coding_utf_16): Fix handling of BOM.
6958
6959 2008-02-01 Kenichi Handa <handa@m17n.org>
6960
6961 * fileio.c (Finsert_file_contents): On replacing, before decoding
6962 the file into the work buffer, set point of the work buffer to the end.
6963
6964 2008-02-01 Dave Love <fx@gnu.org>
6965
6966 * coding.c (Fcheck_coding_systems_region): Fix type errors.
6967
6968 2008-02-01 Dave Love <fx@gnu.org>
6969
6970 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6971 and fix C types.
6972
6973 2008-02-01 Kenichi Handa <handa@m17n.org>
6974
6975 * xdisp.c (SKIP_GLYPHS): New macro.
6976 (set_cursor_from_row): Pay attention to string display properties.
6977
6978 * category.c (copy_category_entry): Fix for the case that RANGE
6979 is an integer.
6980
6981 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
6982
6983 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
6984
6985 2008-02-01 Kenichi Handa <handa@m17n.org>
6986
6987 * charset.c (Fcharset_id_internal): New function.
6988 (syms_of_charset): Defsubr it.
6989
6990 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
6991 with the last arg charset_list acquired from coding.
6992 (Fdefine_coding_system_internal): For ccl-based coding system, fix
6993 the attribute coding_attr_ccl_valids.
6994
6995 * coding.h (enum define_coding_ccl_arg_index): Set the first
6996 member coding_arg_ccl_decoder to coding_arg_max.
6997
6998 * ccl.h (ccl_driver): Adjust prototype.
6999
7000 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
7001 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
7002 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
7003 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
7004 last arg Qnil.
7005
7006 2008-02-01 Kenichi Handa <handa@m17n.org>
7007
7008 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
7009 call encode_char.
7010
7011 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
7012
7013 2008-02-01 Dave Love <fx@gnu.org>
7014
7015 * composite.c (syms_of_composite): Make composition_hash_table weak.
7016
7017 2008-02-01 Kenichi Handa <handa@m17n.org>
7018
7019 * dispextern.h (check_face_attributes, generate_ascii_font_name)
7020 (font_name_registry): Don't extern them.
7021 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
7022
7023 * fontset.h (Qfontset): Don't extern it.
7024 (new_fontset_from_font_name): Extern it.
7025
7026 * fontset.c: Give 8 extra slots to fontset objects.
7027 (Qfontset_info): New variable.
7028 (syms_of_fontset): Defsym it.
7029 (FONTSET_FALLBACK): New macro.
7030 (fontset_face): Try also the default fontset.
7031 (make_fontset): Realize a fallback fontset from the default fontset.
7032 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
7033 using split_font_name_into_vector and build_font_name_from_vector.
7034 (Fset_fontset_font): Access the elements of font_spec by enum
7035 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
7036 name by using split_font_name_into_vector.
7037 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
7038 generate a proper font name from the fontset name. Update
7039 Vfontset_alias_alist.
7040 (n_auto_fontsets): New variable.
7041 (new_fontset_from_font_name): New function.
7042 (Ffont_info): Store the information about fonts generated from the
7043 default fontset in the first extra slot of the returned char-table.
7044
7045 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
7046 (font_name_registry): Delete function.
7047 (split_font_name_into_vector): New function.
7048 (build_font_name_from_vector): New function.
7049 (font_list): The argument REGISTRY is now a list of registry names.
7050 (choose_face_font): If we are choosing an ASCII font, and ATTRS
7051 specifies an explicit font name, return the name as is. Make a
7052 list of registy names.
7053
7054 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
7055 of x_new_fontset.
7056 (Fx_create_frame): Don't call x_new_fontset here. Just use
7057 x_list_fonts to check the existence of fonts.
7058
7059 * xterm.h (x_new_fontset): Adjust prototype.
7060
7061 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
7062 string. Use new_fontset_from_font_name to create a fontset from a
7063 font name.
7064
7065 2008-02-01 Kenichi Handa <handa@m17n.org>
7066
7067 * syntax.c (Vfind_word_boundary_function_table): New name for
7068 Vnext_word_boundary_function_table.
7069 (find-word-boundary-function-table): New name for
7070 next-word-boundary-function-table.
7071
7072 2008-02-01 Dave Love <fx@gnu.org>
7073
7074 * Makefile.in: Fix some dependencies.
7075
7076 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
7077 set it to nil before returning.
7078
7079 * composite.c (update_compositions): Fix type error.
7080
7081 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
7082
7083 2008-02-01 Kenichi Handa <handa@m17n.org>
7084
7085 * xterm.c (x_new_font): Optimize for the case that the font is
7086 already set for the frame.
7087
7088 2008-02-01 Kenichi Handa <handa@m17n.org>
7089
7090 * chartab.c (char_table_ascii): Check if the char table contents
7091 is sub-char-table or not.
7092 (char_table_set, char_table_set_range): Fix argument to
7093 char_table_ascii.
7094
7095 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
7096 (detect_coding_utf_8, detect_coding_utf_16)
7097 (detect_coding_emacs_mule, detect_coding_iso_2022)
7098 (detect_coding_sjis, detect_coding_big5)
7099 (detect_coding_ccl, detect_coding_charset): Change argument MASK
7100 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
7101 sequence is valid in this coding system. Change callers.
7102 (MAX_ANNOTATION_LENGTH): New macro.
7103 (ADD_ANNOTATION_DATA): New macro.
7104 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
7105 ADD_ANNOTATION_DATA. Change the format of annotation data.
7106 (ADD_CHARSET_DATA): New macro.
7107 (emacs_mule_char): New argument ID. Change callers.
7108 (decode_coding_emacs_mule, decode_coding_iso_2022)
7109 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7110 Produce charset annotation data in coding->charbuf.
7111 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
7112 to charset annotation data in coding->charbuf.
7113 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
7114 coding->common_flags if the coding system is iso-2022 based and
7115 uses designation.
7116 (produce_composition): Adjust for the new annotation data format.
7117 (produce_charset): New function.
7118 (produce_annotation): Handle charset annotation.
7119 (handle_composition_annotation, handle_charset_annotation): New
7120 functions.
7121 (consume_chars): Handle charset annotation. Utilize the above two
7122 functions.
7123 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
7124 buffer, get the deleted text as a string and set
7125 coding->src_object to that string.
7126 (detect_coding, detect_coding_system): Use the new struct
7127 coding_detection_info.
7128
7129 * coding.h (struct coding_detection_info): New structure.
7130 (struct coding_system): Adjust prototype of the member `detector'.
7131 (CODING_ANNOTATE_CHARSET_MASK): New macro.
7132
7133 2008-02-01 Kenichi Handa <handa@m17n.org>
7134
7135 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
7136
7137 2008-02-01 Dave Love <fx@gnu.org>
7138
7139 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
7140 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
7141 to new local and nullify apropos_accumulate before returning.
7142 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
7143
7144 2008-02-01 Kenichi Handa <handa@m17n.org>
7145
7146 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
7147 correctly.
7148
7149 2008-02-01 Dave Love <fx@gnu.org>
7150
7151 * fns.c (Flanginfo): Call synchronize_system_time_locale.
7152
7153 2008-02-01 Kenichi Handa <handa@m17n.org>
7154
7155 The following changes are to make character composition happen
7156 automatically on displaying.
7157
7158 * Makefile.in (lisp, shortlisp): Add composite.elc.
7159
7160 * composite.h (Qauto_composed, Vauto_composition_function)
7161 (Qauto_composition_function): Extern them.
7162
7163 * composite.c (Vcomposition_function_table)
7164 (Qcomposition_function_table): Delete variables.
7165 (Qauto_composed, Vauto_composition_function)
7166 (Qauto_composition_function): New variables.
7167 (run_composition_function): Don't call
7168 compose-chars-after-function.
7169 (update_compositions): Clear `auto-composed' text property.
7170 (compose_chars_in_text): Delete this function.
7171 (syms_of_composite): Staticpro Qauto_composed and
7172 Qauto_composition_function. Declare Vauto_composition_function as
7173 a Lisp variable.
7174
7175 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
7176
7177 * xdisp.c (it_props): Add an entry for Qauto_composed.
7178 (handle_auto_composed_prop): New function.
7179
7180 * xselect.c (selection_data_to_lisp_data): Don't call
7181 compose_chars_in_text.
7182
7183 2008-02-01 Dave Love <fx@gnu.org>
7184
7185 * keyboard.c (read_char): Modify checking around use of
7186 Vkeyboard_translate_table.
7187
7188 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7189 and fix C types.
7190
7191 2008-02-01 Kenichi Handa <handa@m17n.org>
7192
7193 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
7194 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7195 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
7196 the case that the last byte is '\r' correctly.
7197 (decode_coding): Flush out the unprocessed data correctly.
7198 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
7199
7200 2008-02-01 Dave Love <fx@gnu.org>
7201
7202 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
7203 XK_ISO... case.
7204 (xaw_scroll_callback): Revert last change.
7205
7206 2008-02-01 Kenichi Handa <handa@m17n.org>
7207
7208 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
7209
7210 2008-02-01 Kenichi Handa <handa@m17n.org>
7211
7212 * xfaces.c (Vface_resizing_fonts): New variable.
7213 (struct font_name): New member `resizing_ratio'.
7214 (font_resizing_ratio): New function.
7215 (split_font_name): Set font->resizing_ratio.
7216 (better_font_p): Pay attention to font->resizing_ratio.
7217 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
7218 RESX, and RESY fields.
7219 (try_alternative_families): Try scalable fonts if
7220 Vscalable_fonts_allowed is not Qt.
7221 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
7222
7223 2008-02-01 Dave Love <fx@gnu.org>
7224
7225 * xterm.c (xaw_scroll_callback): Cast correctly.
7226
7227 2008-02-01 Dave Love <fx@gnu.org>
7228
7229 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
7230 (lispy_kana_keys): Comment out.
7231 (make_lispy_event) [XK_kana_A]: Comment out.
7232
7233 * xterm.c (xaw_scroll_callback): Cast call_data.
7234 (XTread_socket): Deal with ASCII keysyms.
7235 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
7236
7237 2008-02-01 Dave Love <fx@gnu.org>
7238
7239 * xterm.c (Vx_keysym_table): New.
7240 (syms_of_xterm): Initialize it.
7241 (XTread_socket): Use it.
7242 From head: Eliminate incorrect optimization that tried to avoid
7243 decoding the output of X*LookupString.
7244 (x_get_font_repertory): Delete charset declaration.
7245
7246 2008-02-01 Kenichi Handa <handa@m17n.org>
7247
7248 * coding.c (detect_coding_charset): If only ASCII bytes are found,
7249 return 0.
7250 (Fdefine_coding_system_internal): Setup
7251 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
7252
7253 2008-02-01 Dave Love <fx@gnu.org>
7254
7255 * coding.c (Fcheck_coding_system): Doc fix.
7256
7257 * editfns.c (Finsert_byte): Return a proper value.
7258
7259 2008-02-01 Kenichi Handa <handa@m17n.org>
7260
7261 * coding.c (decode_coding): Fix args to translate_chars. Pay
7262 attention to Vstandard_translation_table_for_decode.
7263 (encode_coding): Fix args to translate_chars. Pay attention to
7264 Vstandard_translation_table_for_encode.
7265
7266 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
7267 SINGLE_BYTE_CHAR_P.
7268
7269 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
7270 not by SINGLE_BYTE_CHAR_P.
7271
7272 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
7273 SINGLE_BYTE_CHAR_P.
7274
7275 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
7276 SINGLE_BYTE_CHAR_P.
7277
7278 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
7279 by SINGLE_BYTE_CHAR_P.
7280
7281 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
7282 SINGLE_BYTE_CHAR_P.
7283
7284 2008-02-01 Dave Love <fx@gnu.org>
7285
7286 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
7287
7288 2008-02-01 Dave Love <fx@gnu.org>
7289
7290 * fns.c (Flanginfo): Fix typo.
7291
7292 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
7293
7294 2008-02-01 Kenichi Handa <handa@m17n.org>
7295
7296 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
7297 (detect_coding_emacs_mule, detect_coding_iso_2022)
7298 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
7299 incomplete byte sequence. Don't update *mask when correctly detected.
7300 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
7301 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
7302 (detect_coding, detect_coding_system): Adjust for the changes above.
7303
7304 2008-02-01 Kenichi Handa <handa@m17n.org>
7305
7306 * character.c (char_string): Rename from
7307 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
7308 (string_char): Rename from string_char.
7309
7310 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
7311 if C is greater than MAX_3_BYTE_CHAR.
7312 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
7313 string_char instead of string_char_with_unification.
7314
7315 2008-02-01 Dave Love <fx@gnu.org>
7316
7317 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
7318
7319 2008-02-01 Kenichi Handa <handa@m17n.org>
7320
7321 * keymap.c (push_key_description): Pay attention to force_multibyte.
7322
7323 * regex.c (re_search_2): Fix for the case of unibyte buffer.
7324
7325 2008-02-01 Dave Love <fx@gnu.org>
7326
7327 * charset.c (define_charset_internal): Rename `supprementary'.
7328
7329 * Makefile.in (lisp, shortlisp): Remove latin-N.
7330
7331 2008-02-01 Dave Love <fx@gnu.org>
7332
7333 * xfns.c (x_window, x_window): Use use_xim.
7334
7335 * xterm.c (use_xim): Initialize.
7336 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
7337 (x_term_init): Maybe set use_xim.
7338
7339 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
7340
7341 2008-02-01 Kenichi Handa <handa@m17n.org>
7342
7343 * search.c (search_buffer): Fix case-fold-search of multibyte
7344 characters.
7345 (boyer_moore): Rename the last argument to char_high_bits.
7346
7347 2008-02-01 Kenichi Handa <handa@m17n.org>
7348
7349 * xdisp.c (display_string): Fix for the case of zero width glyph.
7350
7351 * xfns.c (x_set_font): Change the error message of the case that
7352 x_new_fontset returns Qt.
7353
7354 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
7355 (Finternal_set_lisp_face_attribute): Use signal_error for the
7356 error of invalid fontset.
7357
7358 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
7359 fontset, return Qt.
7360
7361 2008-02-01 Dave Love <fx@gnu.org>
7362
7363 * unexelf.c (unexec): Make .got handling not SGI-specific.
7364
7365 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
7366
7367 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
7368
7369 * keyboard.c (read_key_sequence): Fix type error.
7370
7371 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
7372 type error.
7373
7374 * fontset.c (fontset_add): Return Lisp_Object.
7375
7376 2008-02-01 Dave Love <fx@gnu.org>
7377
7378 * charset.h (charset_ordered_list_tick): Declare extern.
7379
7380 2008-02-01 Kenichi Handa <handa@m17n.org>
7381
7382 The following changes (and some of 2008-02-01 changes of mine) are
7383 for handling syntax, category, and case conversion for unibyte
7384 characters by converting them to multibyte on the fly. With these
7385 changes, we don't have to setup syntax and case tables for unibyte
7386 characters in each language environment.
7387
7388 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
7389 multibyte if necessary.
7390
7391 * bytecode.c (Fbyte_code): Likewise.
7392
7393 * character.h (LEADING_CODE_LATIN_1_MIN)
7394 (LEADING_CODE_LATIN_1_MAX): New macros.
7395 (unibyte_to_multibyte_table): Extern it.
7396 (unibyte_char_to_multibyte): New macro.
7397 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
7398 (CHAR_LEADING_CODE): New macro.
7399 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
7400
7401 * character.c (unibyte_to_multibyte_table): New variable.
7402 (unibyte_char_to_multibyte): Move to character.h and define as macro.
7403 (multibyte_char_to_unibyte): If C is an eight-bit character,
7404 convert it to the corresponding byte value.
7405
7406 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
7407 not 1, singals an error. Update the elements of
7408 unibyte_to_multibyte_table.
7409 (init_charset_once): Initialize unibyte_to_multibyte_table.
7410 (syms_of_charset): Define the charset `iso-8859-1'.
7411
7412 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
7413 as is without converting it to unibyte. In a unibyte buffer,
7414 convert C to multibyte before checking the syntax.
7415
7416 * lisp.h (unibyte_char_to_multibyte): Delete extern.
7417
7418 * minibuf.c (Fminibuffer_complete_word): Use the macro
7419 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
7420
7421 * regex.h (struct re_pattern_buffer): New member target_multibyte.
7422
7423 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
7424 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
7425 that is zero, convert an eight-bit char to multibyte.
7426 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
7427 non-emacs case.
7428 (PATFETCH): Convert an eight-bit char to multibyte.
7429 (HANDLE_UNIBYTE_RANGE): New macro.
7430 (regex_compile): Setup the compiled pattern for multibyte chars
7431 even if the given regex string is unibyte. Use PATFETCH_RAW
7432 instead of PATFETCH in many places. To handle `charset'
7433 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
7434 only for ASCII chars.
7435 (analyse_first) <exactn>: Simplify because the compiled pattern
7436 is multibyte.
7437 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
7438 <charset>: Use CHAR_LEADING_CODE to get leading codes.
7439 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
7440 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
7441 multibyte always 1.
7442 (re_search_2): In emacs, set the locale variable multibyte to 1,
7443 otherwise to 0. New local variable target_multibyte. Check it
7444 to decide the multibyteness of STR1 and STR2. If
7445 target_multibyte is zero, convert unibyte chars to multibyte
7446 before translating and checking fastmap.
7447 (TARGET_CHAR_AND_LENGTH): New macro.
7448 (re_match_2_internal): In emacs, set the locale variable multibyte
7449 to 1, otherwise to 0. New local variable target_multibyte. Check
7450 it to decide the multibyteness of STR1 and STR2. Use
7451 TARGET_CHAR_AND_LENGTH to fetch a character from D.
7452 <charset, charset_not>: If multibyte is nonzero, check fastmap
7453 only for ASCII chars. Call bcmp_translate with
7454 target_multibyte, not with multibyte.
7455 <begline>: Declare the local variable C as `unsigned'.
7456 (bcmp_translate): Change the last arg name to target_multibyte.
7457
7458 * search.c (compile_pattern_1): Don't adjust the multibyteness of
7459 the regexp pattern and the matching target. Set cp->buf.multibyte
7460 to the multibyteness of the regexp pattern. Set
7461 cp->but.target_multibyte to the multibyteness of the matching target.
7462 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
7463 FETCH_STRING_CHAR_ADVANCE.
7464 (Freplace_match): Convert unibyte chars to multibyte.
7465
7466 * syntax.c (char_quoted, back_comment, scan_words)
7467 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
7468 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
7469 unibyte chars to multibyte.
7470 (skip_chars): Delete the arg syntaxp, and move the code for
7471 handling syntaxes to skip_syntaxes. Change callers.
7472 Fix the case that the multibyteness of STRING and the current
7473 buffer doesn't match.
7474 (skip_syntaxes): New function.
7475 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
7476 SINGLE_BYTE_CHAR_P.
7477
7478 2008-02-01 Kenichi Handa <handa@m17n.org>
7479
7480 * xfaces.c (QCfontset): New variable.
7481 (LFACE_FONTSET): New macro.
7482 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
7483 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
7484 (Finternal_set_lisp_face_attribute)
7485 (Finternal_get_lisp_face_attribute): Handle QCfontset.
7486 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
7487 check also LFACE_FONTSET_INDEX.
7488 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
7489 attrs[LFACE_FONT_INDEX].
7490 (syms_of_xfaces): Intern and staticpro QCfontset.
7491
7492 * dispextern.h (enum lface_attribute_index): New member
7493 LFACE_FONTSET_INDEX.
7494
7495 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
7496
7497 2008-02-01 Kenichi Handa <handa@m17n.org>
7498
7499 * coding.c (coding_set_destination): Fix coding->destination for
7500 the case converting a region.
7501 (encode_coding_utf_8): Encode eight-bit chars as single byte.
7502 (encode_coding_object): Fix coding->dst_pos and
7503 coding->dst_pos_byte for the case converting a region.
7504
7505 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
7506
7507 * character.h (BYTE8_STRING): New macro.
7508
7509 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
7510
7511 2008-02-01 Kenichi Handa <handa@m17n.org>
7512
7513 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
7514 characters by octal form.
7515
7516 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7517
7518 * buffer.h (_fetch_multibyte_char_len): Delete extern.
7519 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
7520 _fetch_multibyte_char_len.
7521 (FETCH_CHAR_AS_MULTIBYTE): New macro.
7522
7523 * casetab.c (set_canon, set_identity, shuffle): Simplify.
7524
7525 * casefiddle.c (casify_object): Simplify. Handle the case that
7526 the case conversion change the byte length.
7527 (casify_region): Likewise.
7528
7529 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
7530
7531 * character.c (_fetch_multibyte_char_len): Delet this variable.
7532 (syms_of_character): Setup Vprintable_chars.
7533
7534 * editfns.c (Fchar_equal): Fix for the unibyte case.
7535 (Finsert_byte): New function.
7536 (syms_of_editfns): Defsubr it.
7537
7538 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
7539 of direct code 0x3ffff.
7540
7541 * search.c (Freplace_match): Fix for the unibyte case.
7542
7543 2008-02-01 Kenichi Handa <handa@m17n.org>
7544
7545 * lread.c (safe_to_load_p): Fix the logic.
7546
7547 * syntax.c (scan_words): Don't treat characters belonging to
7548 different scripts as constituting a word.
7549
7550 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7551
7552 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
7553
7554 * emacs.c (main): In the case of --unibyte, instead of aborting on
7555 finding non-empty buffer, make it unibyte.
7556
7557 2008-02-01 Kenichi Handa <handa@m17n.org>
7558
7559 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
7560 to create a fontset.
7561
7562 2008-02-01 Dave Love <fx@gnu.org>
7563
7564 * character.c (Funibyte_char_to_multibyte): Doc fix.
7565
7566 * xfns.c [HAVE_STDLIB_H]: Fix last change.
7567
7568 2008-02-01 Kenichi Handa <handa@m17n.org>
7569
7570 * fontset.c (fontset_add): Make the type `int'.
7571 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
7572
7573 * character.c (unibyte_char_to_multibyte)
7574 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
7575 charset_unibyte, not charset_primary.
7576
7577 * charset.h (charset_unibyte): Extern it instead of charset_primary.
7578
7579 * charset.c (charset_unibyte): Rename from charset_primary.
7580 (Funibyte_charset): Rename from Fprimary_charset.
7581 (Fset_unibyte_charset): Rename from Fset_primary_charset.
7582 (syms_of_charset): Adjust for the above changes.
7583
7584 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7585 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7586 it->multibyte_p is zero.
7587
7588 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
7589 Delete extern.
7590
7591 2008-02-01 Kenichi Handa <handa@m17n.org>
7592
7593 * coding.c (Fdefine_coding_system_internal): Fix category setting
7594 for a coding system of type iso-2022.
7595
7596 2008-02-01 Kenichi Handa <handa@m17n.org>
7597
7598 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
7599
7600 2008-02-01 Kenichi Handa <handa@m17n.org>
7601
7602 * syntax.c (Vnext_word_boundary_function_table): New variable.
7603 (next-word-boundary-function-table): Declare it as a Lisp variable
7604 in syms_of_syntax.
7605 (scan_words): Call functions in Vnext_word_boundary_function_table
7606 if any.
7607
7608 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
7609
7610 * fontset.c (fs_load_font): If fontp->charset is not negative,
7611 return fontp without setting its members.
7612
7613 2008-02-01 Dave Love <fx@gnu.org>
7614
7615 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
7616
7617 * m/sparc.h (HAVE_ALLOCA): Delete.
7618
7619 * s/irix6-5.h: Don't include strings.h.
7620 (bcopy, bzero, bcmp): Don't undef.
7621
7622 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
7623
7624 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
7625 (TIOCSIGSEND): Don't test IRIX6.
7626 (bcopy, bzero, bcmp): Define conditionally.
7627
7628 2008-02-01 Kenichi Handa <handa@m17n.org>
7629
7630 * buffer.c (Qas, Qmake, Qto): New variables.
7631 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
7632 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
7633
7634 * callproc.c (Fcall_process): Don't call insert_1_both directly if
7635 we are inserting a process output into a multibyte buffer.
7636
7637 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
7638 multibyte_char_to_unibyte.
7639
7640 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
7641 by the primary charset, make it eight-bit char.
7642 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
7643
7644 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
7645 (charset_8_bit__control, charset_8_bit_graphic)
7646 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
7647 (define_charset_internal): New function.
7648 (syms_of_charset): Call define_charset_internal for pre-defined
7649 charsets.
7650
7651 * charset.h (charset_8_bit): Extern it.
7652
7653 * coding.c (make_conversion_work_buffer): Adjust for the change
7654 of Fset_buffer_multibyte.
7655 (encode_coding_raw_text): Increment p0 in the loop.
7656
7657 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
7658
7659 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
7660 for the change of Fset_buffer_multibyte.
7661
7662 * fns.c (Fstring_to_multibyte): New function.
7663 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
7664
7665 2008-02-01 Dave Love <fx@gnu.org>
7666
7667 * xfns.c (x_put_x_image): Declare args.
7668
7669 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
7670 (try_font_list): Declare an arg.
7671
7672 * xdisp.c (message2_nolog, set_message): Declare an arg.
7673
7674 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
7675
7676 * syntax.c (scan_sexps_forward): Declare an arg.
7677
7678 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7679 Declare an arg.
7680
7681 * lisp.h (Fnew_fontset): Declare.
7682
7683 * keymap.c (push_key_description): Call CHARACTERP correctly.
7684
7685 * fontset.c (fontset_add): Declare args. Call make_number correctly.
7686 (face_for_char): Delete unused vars.
7687 (Fset_fontset_font): Doc fix. Delete unused vars.
7688
7689 * doc.c (Fsubstitute_command_keys): Delete unused vars.
7690
7691 * composite.c (update_compositions): Declare arg.
7692
7693 * cm.c (calccost, cmgoto): Declare args.
7694
7695 * charset.c: Remove `emacs' conditional. Doc fixes.
7696 (map_char_table_for_charset): Declare.
7697
7698 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
7699
7700 * ccl.c: Remove `emacs' conditional.
7701
7702 2008-02-01 Kenichi Handa <handa@m17n.org>
7703
7704 The following changes are to allow specifying multiple font
7705 patterns for a character range (specified by script or charset).
7706
7707 * Makefile.in (abbrev.o): Depend on syntax.h.
7708 (xfaces.o): Depend on charset.h.
7709
7710 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
7711 SINGLE_BYTE_CHAR_P.
7712
7713 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
7714
7715 * character.h (Vchar_script_table): Extern it.
7716
7717 * character.c (Vscript_alist): Delete.
7718 (Vchar_script_table, Qchar_script_table): New variable.
7719 (syms_of_character): Declare Vchar_script_table as a lisp variable
7720 and initialize it.
7721
7722 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
7723 have property char-table-extra-slots, make no extra slot.
7724
7725 * dispextern.h (struct face): Delete member `charset'.
7726 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
7727 SINGLE_BYTE_CHAR_P.
7728 (choose_face_font, lookup_non_ascii_face, font_name_registry):
7729 Add prototypes.
7730 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
7731 (generate_ascii_font_name): Rename from generate_ascii_font.
7732
7733 * fontset.h (get_font_repertory_func): New prototype.
7734 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
7735 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
7736
7737 * fontset.c (Qprepend, Qappend): New variables.
7738 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
7739 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
7740 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
7741 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
7742 (fontset_ref_and_range, fontset_add, reorder_font_vector)
7743 (load_font_get_repertory): New functions.
7744 (fontset_set): Delete.
7745 (fontset_face): New arg FACE. Return face ID, not face.
7746 Complete re-write to handle new fontset structure. Change caller.
7747 (free_face_fontset): Use ASET istead of AREF (X) = Y.
7748 (face_for_char): Don't call lookup_face.
7749 (make_fontset_for_ascii_face): New arg FACE.
7750 (fs_load_font): New arg CHARSET_ID. Don't check
7751 Vfont_encoding_alist here.
7752 (find_font_encoding): New function.
7753 (list_fontsets): Use STRINGP, not ! NILP.
7754 (accumulate_script_ranges): New function.
7755 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
7756 re-written to handle new fontset structure.
7757 (Ffontset_font): Return a copy of element.
7758 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
7759 docstring of font-encoding-alist.
7760
7761 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
7762 (Fset_fotset_font): Fix arguments to 5.
7763
7764 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
7765
7766 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
7767 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7768 (highlight_trailing_whitespace): Adjust for the change of
7769 lookup_named_face.
7770
7771 * xfaces.c: Include charset.h.
7772 (load_face_font): Delete argument C. Change caller.
7773 (generate_ascii_font_name): Rename from generate_ascii_font.
7774 (font_name_registry): New function.
7775 (cache_face): Store ascii faces before non-ascii faces in buckets.
7776 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
7777 Lookup only ascii faces.
7778 (lookup_non_ascii_face): New function.
7779 (lookup_named_face): Delete argument C. Change caller.
7780 (lookup_derived_face): Delete argument C. Change caller.
7781 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
7782 a string, just call font_list with it.
7783 (choose_face_font): Delete arguments FACE and C. New arg
7784 FONT_SPEC. Change caller.
7785 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
7786 Change caller.
7787 (realize_non_ascii_face): New function.
7788 (realize_x_face): Call load_face_font here.
7789 (realize_tty_face): Delete argument C. Change caller.
7790 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
7791 get a face ID.
7792 (dump_realized_face): Don't print charset of FACE.
7793
7794 * xfns.c (x_set_font): Always call x_new_fontset and
7795 store_frame_parameter.
7796 (Fx_create_frame): Call x_new_fontset, not x_new_font.
7797 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
7798
7799 * xterm.h (x_get_font_repertory): Extern it.
7800
7801 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7802 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7803 it->multibyte_p is zero.
7804 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7805 (x_new_fontset): If FONTSETNAME doesn't match any existing
7806 fontsets, create a new one.
7807 (x_get_font_repertory): New function.
7808
7809 2008-02-01 Kenichi Handa <handa@m17n.org>
7810
7811 * coding.c (Ffind_coding_systems_region_internal): Detect an
7812 ASCII only string correctly.
7813
7814 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
7815 version is 0.
7816
7817 2008-02-01 Kenichi Handa <handa@m17n.org>
7818
7819 * lread.c: Include "coding.h".
7820 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
7821 (load_each_byte, unread_char): New variables.
7822 (readchar_backlog): Delete.
7823 (readchar): Return a character unless load_each_byte is nonzero.
7824 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
7825 cons. If unread_char is not -1, simply return it.
7826 (unreadchar): Handle the case that readcharfun is
7827 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
7828 (read_multibyte): Delete.
7829 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
7830 (read_emacs_mule_char): New functions.
7831 (Fload): Even if the file doesn't have the extention ".elc", if
7832 safe_to_load_p returns a positive version number, assume that the
7833 file contains bytecompiled code. If the version is less than 22,
7834 load the file while decoding multibyte sequences by emacs-mule.
7835 (readevalloop): Don't use readchar_backlog.
7836 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
7837 (Fread_from_string): Pay attention to the case that STREAM is a cons.
7838 (read_escape): Delete the arg BYTEREP.
7839 (read1): Set load_each_byte to 1 temporarily while handling
7840 #@NUMBER. Don't call read_multibyte.
7841 (read_vector): Call Fread with a cons. If readcharfun is
7842 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
7843 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
7844 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
7845 and Qload_force_doc_strings.
7846
7847 2008-02-01 Kenichi Handa <handa@m17n.org>
7848
7849 * xdisp.c (face_before_or_after_it_pos): Call
7850 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7851
7852 2008-02-01 Kenichi Handa <handa@m17n.org>
7853
7854 * character.h (TRAILING_CODE_P): New macro.
7855 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
7856 (string_char_with_unification): Fix prototype.
7857 (Vscript_alist): Extern it.
7858
7859 * character.c (Vscript_alist): New variable.
7860 (string_char_with_unification, str_as_unibyte)
7861 (string_escape_byte8): Add `const' to local variables.
7862 (syms_of_character): Declare script-alist as a Lisp variable.
7863
7864 * charset.h (Vcharset_ordered_list): Extern it.
7865 (charset_ordered_list_tick): Extern it.
7866 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
7867 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
7868 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
7869 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
7870 (Funify_charset): Adjust for the change of Funify_charset.
7871
7872 * charset.c (charset_ordered_list_tick): New variable.
7873 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
7874 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
7875 deunify intead of unify a charset.
7876 (string_xstring_p): Add `const' to local variables.
7877 (find_charsets_in_text): Add `const' to arguemnts and local variables.
7878 (encode_char): Adjust for the change of Funify_charset. Fix
7879 detecting of invalid code.
7880 (Fset_charset_priority): Increment charset_ordered_list_tick.
7881 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
7882 and TO_CODE.
7883
7884 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
7885 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
7886 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
7887 (decode_coding_ccl, consume_chars)
7888 (Ffind_coding_systems_region_internal)
7889 (Fcheck_coding_systems_region): Add `const' to local variables.
7890
7891 * print.c (print_object): Use octal form for printing the
7892 contents of a bool vector.
7893
7894 2008-02-01 Dave Love <fx@gnu.org>
7895
7896 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
7897 <version == 20>: Refuse to load.
7898
7899 2008-02-01 Dave Love <fx@gnu.org>
7900
7901 * fns.c: Move coding.h.
7902 (Qcodeset, Qdays, Qmonths): New.
7903 (concat): Use CHARACTERP instead of INTERGERP.
7904 (Flocale_codeset): Delete.
7905 (Flanginfo): New function.
7906 (syms_of_fns): Change accordingly.
7907
7908 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
7909
7910 2008-02-01 Dave Love <fx@gnu.org>
7911
7912 * casetab.c (init_casetab_once, init_casetab_once): Fix
7913 CHAR_TABLE_SET call.
7914
7915 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
7916
7917 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
7918
7919 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
7920 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
7921 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
7922
7923 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
7924
7925 * coding.c (ENCODE_DESIGNATION, decode_eol)
7926 (make_conversion_work_buffer, code_conversion_restore)
7927 (Fdefine_coding_system_internal): Convert Lisp types.
7928 (code_conversion_restore): Use EQ, not ==.
7929 (Fencode_coding_string): Fix code_convert_string call.
7930
7931 * coding.h (code_convert_region): Fix prototype.
7932
7933 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
7934
7935 * fontset.c (fontset_ref, fontset_set, fs_load_font)
7936 (Ffontset_info): Convert Lisp types.
7937
7938 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
7939
7940 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
7941
7942 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
7943
7944 * chartab.c: Include "...h", not <...h> in some cases.
7945
7946 * callproc.c (Fcall_process): Remove unused variables.
7947
7948 2008-02-01 Dave Love <fx@gnu.org>
7949
7950 * coding.c (Fset_coding_system_priority): Allow null arg list.
7951
7952 2008-02-01 Dave Love <fx@gnu.org>
7953
7954 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7955 (Fself_insert_and_exit): Use CHARACTERP.
7956
7957 * callproc.c (Fcall_process): Remove unused vars.
7958
7959 * xterm.c (XTread_socket): Add extra dead keysyms.
7960
7961 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
7962
7963 * dispextern.h: Remove prototypes for redraw_frame,
7964 redraw_garbaged_frames.
7965
7966 * cmds.c (Fself_insert_command): Use CHARACTERP.
7967
7968 * chartab.c (make_sub_char_table): Remove unused var.
7969 (Fset_char_table_default, Fmap_char_table): Doc fix.
7970
7971 * keymap.c (access_keymap): Remove generic char code.
7972 (push_key_description): Use CHARACTERP.
7973
7974 2008-02-01 Dave Love <fx@gnu.org>
7975
7976 * charset.c: Doc fixes.
7977 (Funify_charset): Extra checking.
7978
7979 2008-02-01 Dave Love <fx@gnu.org>
7980
7981 * lread.c: Remove some unused variables.
7982 (safe_to_load_p): If safe, return the magic number version byte.
7983 (Fload): Maybe use load-with-code-conversion.
7984
7985 2008-02-01 Kenichi Handa <handa@m17n.org>
7986
7987 * category.c (Fmodify_category_entry): Don't modify the contents
7988 of category_set for characters out of the range. Avoid
7989 unnecessary modification.
7990
7991 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
7992 Vchar_unify_table. The default value of the table is now nil.
7993
7994 * character.c (syms_of_character): Setup Vchar_width_table for
7995 eight-bit-control and raw-byte chars.
7996
7997 * charset.h (enum define_charset_arg_index): Delete
7998 charset_arg_parents and add charset_arg_subset and
7999 charset_arg_superset.
8000 (enum charset_attr_index): Delete charset_parents and add
8001 charset_subset and charset_superset.
8002 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
8003 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
8004 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
8005 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
8006 (CHARSET_SUPERSET): New macros.
8007 (charset_work): Extern it.
8008 (ENCODE_CHAR): Use charset_work.
8009 (CHAR_CHARSET_P): Adjust for the change of encoder format.
8010 (map_charset_chars): Extern it.
8011
8012 * charset.c (load_charset_map): Set the default value of encoder
8013 and deunifier char-tables to nil.
8014 (map_charset_chars): Change argument. Change callers. Use
8015 map_char_table_for_charset instead of map_char_table.
8016 (Fmap_charset_chars): New optional args from_code and to_code.
8017 (Fdefine_charset_internal): Adjust for the change of
8018 `define-charset' (:parents -> :subset or :superset).
8019 (charset_work): New variable.
8020 (encode_char, syms_of_charset): Adjust for the change of
8021 Fdefine_charset_internal.
8022 (Ffind_charset_string): Setup the vector `charsets' correctly.
8023
8024 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
8025 the previous change.
8026 (char_table_ref_and_range): Adjust for the above change.
8027 (map_sub_char_table_for_charset): New function.
8028 (map_char_table_for_charset): New function.
8029
8030 * keymap.c (describe_vector): Handle a char-table directly here.
8031 (describe_char_table): Delete.
8032
8033 * lisp.h (map_charset_chars): Delete.
8034
8035 2008-02-01 Dave Love <fx@gnu.org>
8036
8037 * fns.c (count_combining): Comment out (unused).
8038 (Flocale_codeset): New.
8039 (syms_of_fns): Defsubr it.
8040
8041 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
8042 (size_t): Remove.
8043
8044 2008-02-01 Dave Love <fx@gnu.org>
8045
8046 * Makefile.in (chartab.o): Depend on charset.h.
8047
8048 2008-02-01 Kenichi Handa <handa@m17n.org>
8049
8050 * character.c (syms_of_character): Set the default value of
8051 Vprintable_chars to Qnil.
8052
8053 2008-02-01 Dave Love <fx@gnu.org>
8054
8055 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
8056
8057 2008-02-01 Kenichi Handa <handa@m17n.org>
8058
8059 * charset.c (load_charset_map): Handle the case that from < to
8060 correctly.
8061
8062 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
8063 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
8064 Pay attention to raw-8-bit chars.
8065
8066 2008-02-01 Kenichi Handa <handa@m17n.org>
8067
8068 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
8069 It is not bytecompiled now.
8070
8071 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
8072 (charset_jisx0208): New variables.
8073 (Fdefine_charset_internal): Setup them if appropriate.
8074 (init_charset_once): Initialize them to -1.
8075
8076 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
8077 (charset_jisx0208): Extern them.
8078
8079 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
8080 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
8081 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
8082 (setup_iso_safe_charsets): Fix arguments to Fassq.
8083 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
8084 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
8085 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
8086 (encode_coding_iso_2022): Change the 1st arg to
8087 ENCODE_ISO_CHARACTER to a variable.
8088
8089 2008-02-01 Kenichi Handa <handa@m17n.org>
8090
8091 * charset.h (enum define_charset_arg_index): New enums
8092 charset_arg_min_code and charset_arg_max_code.
8093 (struct charset): New member char_index_offset.
8094
8095 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
8096 Take charset->char_index_offset into account.
8097 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
8098 args[charset_arg_max_code]. Setup charset.char_index_offset.
8099 (syms_of_charset): Fix args to Fdefine_charset_internal.
8100
8101 2008-02-01 Dave Love <fx@gnu.org>
8102
8103 * coding.c (decode_coding_utf_8): Reject overlong sequences.
8104
8105 2008-02-01 Dave Love <fx@gnu.org>
8106
8107 * coding.c: Doc fixes.
8108 (Fcoding_system_aliases): Fix return value.
8109 (Qmac): Remove (duplicated) definition.
8110
8111 2008-02-01 Dave Love <fx@gnu.org>
8112
8113 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
8114 functions.
8115
8116 * character.c (Fstring): Doc fix.
8117
8118 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
8119
8120 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
8121 ids.
8122 (font-encoding-alist): Doc fix.
8123
8124 2008-02-01 Dave Love <fx@gnu.org>
8125
8126 * term.c (costs_set): Declare static, non-initialized for pcc.
8127 (encode_terminal_code): Remove unused var.
8128
8129 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8130 for K&R.
8131
8132 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
8133
8134 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
8135 (suffixes): Move out of make_subsidiaries for K&R.
8136
8137 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
8138
8139 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
8140
8141 2008-02-01 Dave Love <fx@gnu.org>
8142
8143 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
8144
8145 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
8146
8147 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
8148
8149 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
8150
8151 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
8152
8153 2008-02-01 Kenichi Handa <handa@m17n.org>
8154
8155 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
8156 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
8157
8158 2008-02-01 Kenichi Handa <handa@m17n.org>
8159
8160 * coding.c (decode_coding_charset): Adjust for the change of
8161 Fdefine_coding_system_internal.
8162 (Fdefine_coding_system_internal): For a coding system of
8163 `charset' type, store a list of charset IDs in
8164 `charset_attr_charset_valids' element of coding attributes.
8165
8166 2008-02-01 Kenichi Handa <handa@m17n.org>
8167
8168 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
8169 (emacs_mule_char): New arg src. Delete arg `composition'. Change
8170 caller. Handle 2-byte and 3-byte charsets correctly.
8171 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
8172 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
8173 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
8174 (DECODE_EMACS_MULE_21_COMPOSITION): Call
8175 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
8176 sequence.
8177 (decode_coding_emacs_mule): Handle composition correctly. Rewind
8178 `src' and `consumed_chars' correctly before calling emacs_mule_char.
8179 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
8180 and alt&rule composition.
8181 (decode_coding_iso_2022): Handle composition correctly.
8182 (init_coding_once): Setup emacs_mule_bytes for private charsets.
8183
8184 * charset.c (Fdefine_charset_internal): Fix bug for the case of
8185 re-defining a charset. If the charset has :emacs-mule-id, setup
8186 emacs_mule_bytes.
8187 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
8188
8189 2008-02-01 Kenichi Handa <handa@m17n.org>
8190
8191 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
8192 (encode_coding_big5, encode_coding_charset): If coding requires safe
8193 encoding, produce a character specified by
8194 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8195
8196 2008-02-01 Dave Love <fx@gnu.org>
8197
8198 * xterm.c (XSetIMValues): Declare.
8199
8200 * process.c: Conditionally include sys/wait.h, pty.h.
8201
8202 * print.c (print_object): Fix print format for 64-bit systems.
8203
8204 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
8205
8206 * buffer.c (emacs_strerror): Declare.
8207
8208 * fontset.c (Fclear_face_cache): Declare.
8209 (accumulate_font_info): Comment-out (unused).
8210 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
8211 variables.
8212
8213 * character.h (string_escape_byte8): Declare.
8214
8215 * charset.c (load_charset_map, load_charset_map_from_file): Remove
8216 unused vars.
8217 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
8218 (Fmap_charset_chars): Doc fix.
8219
8220 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
8221 (Fset_coding_system_priority, Fset_coding_system_priority)
8222 (Fdefine_coding_system_internal): Doc fix.
8223
8224 2008-02-01 Dave Love <fx@gnu.org>
8225
8226 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
8227
8228 2008-02-01 Kenichi Handa <handa@m17n.org>
8229
8230 * character.c (string_escape_byte8): Make multibyte string with
8231 correct size.
8232
8233 * charset.c (Fmake_char): Delete unnecessary code.
8234
8235 2008-02-01 Kenichi Handa <handa@m17n.org>
8236
8237 * xfns.c (x_encode_text): Allocate coding.destination here, and
8238 call encode_coding_object with dst_object Qnil.
8239
8240 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
8241 multibyte form correctly.
8242
8243 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
8244 against Vfont_encoding_alist.
8245
8246 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
8247 handling of charset list.
8248 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8249 (decode_coding_object): Move point to coding->dst_pos before
8250 calling post-read-conversion function.
8251 (encode_coding_object): Give correct arguments to
8252 pre-write-conversion. Ignore the return value of
8253 pre-write-conversion function. Pay attention to the case that
8254 pre-write-conversion changes the current buffer. If dst_object is
8255 Qt, even if coding->src_bytes is zero, allocate at least one byte
8256 to coding->destination.
8257
8258 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
8259
8260 * charset.c (Fmake_char): Make it more backward compatible.
8261 (Fmap_charset_chars): Fix docstring.
8262
8263 2008-02-01 Dave Love <fx@gnu.org>
8264
8265 * coding.c: Doc fixes.
8266 (Fdefine_coding_system_alias): Use names, not symbols, in
8267 coding-system-alist.
8268
8269 2008-02-01 Kenichi Handa <handa@m17n.org>
8270
8271 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
8272 of calling free_realized_face.
8273
8274 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
8275
8276 * charset.c (read_hex): Don't treat SPC as a comment starter.
8277 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
8278 (Fdecode_char): Fix typo.
8279
8280 2008-02-01 Kenichi Handa <handa@m17n.org>
8281
8282 * charset.h (struct charset): New member `code_space_mask'.
8283
8284 * coding.c (coding_set_source): Delete the local variable beg_byte.
8285 (encode_coding_charset, Fdefine_coding_system_internal):
8286 Delete the local variable charset.
8287 (Fdefine_coding_system_internal): Setup
8288 attrs[coding_attr_charset_valids] correctly.
8289
8290 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
8291 member to check if CODE is valid or not.
8292 (Fdefine_charset_internal): Initialize `code_space_mask' member.
8293 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
8294 is within the range of charset->min_code and carset->max_code.
8295
8296 2008-02-01 Dave Love <fx@gnu.org>
8297
8298 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
8299
8300 * dispextern.h (generate_ascii_font): Fix return type.
8301
8302 * xfaces.c (generate_ascii_font): Fix arg declaration.
8303
8304 * coding.c (coding_inherit_eol_type)
8305 (Fset_terminal_coding_system_internal)
8306 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
8307
8308 2008-02-01 Kenichi Handa <handa@m17n.org>
8309
8310 * coding.c (decode_coding_charset, encode_coding_charset): Handle
8311 multiple charsets correctly.
8312
8313 2008-02-01 Kenichi Handa <handa@m17n.org>
8314
8315 * search.c (boyer_moore): Fix handling of mulitbyte character
8316 translation.
8317
8318 * xdisp.c (display_mode_element): When the variable `elt' is
8319 changed, update `this' and `lisp_string'.
8320
8321 2008-02-01 Kenichi Handa <handa@m17n.org>
8322
8323 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
8324
8325 * callproc.c (Fcall_process): Be sure to give the current buffer
8326 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
8327
8328 * charset.c (struct charset_map_entries): New struct.
8329 (load_charset_map): Rename from parse_charset_map. New args
8330 entries and n_entries. Change caller.
8331 (load_charset_map_from_file): Rename from load_charset_map.
8332 Change caller. New arg control_flag. Call load_charset_map at
8333 the tail.
8334 (load_charset_map_from_vector): New function.
8335 (Fdefine_charset_internal): Setup charset.compact_codes_p.
8336 (encode_char): If the charset is compact, change a character index
8337 to a code point.
8338
8339 * coding.c (coding_alloc_by_making_gap): Check the case that the
8340 source and destination are the same correctly.
8341 (decode_coding_raw_text): Set coding->consumed_char and
8342 coding->consumed to 0.
8343 (produce_chars): If coding->chars_at_source is nonzero, update
8344 coding->consumed_char and coding->consumed before calling
8345 alloc_destination.
8346 (Fdefine_coding_system_alias): Register ALIAS in
8347 Vcoding_system_alist.
8348 (syms_of_coding): Define `no-convesion' coding system at the tail.
8349
8350 * fileio.c (Finsert_file_contents): Set coding_system instead of
8351 val. If the current buffer is multibyte, always call
8352 decode_coding_gap.
8353
8354 * xfaces.c (try_font_list): Give higher priority to fontset's
8355 family than face's family.
8356
8357 2008-02-01 Kenichi Handa <handa@m17n.org>
8358
8359 * callproc.c (Fcall_process): Be sure to give the current buffer
8360 to decode_coding_c_string.
8361
8362 * xfaces.c (try_font_list): Give a family specified in a fontset
8363 higher priority than a family specified in a face.
8364
8365 2008-02-01 Kenichi Handa <handa@m17n.org>
8366
8367 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
8368 Fix arguments to insert_from_buffer.
8369
8370 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
8371
8372 2008-02-01 Kenichi Handa <handa@m17n.org>
8373
8374 * coding.c (produce_chars): Set the variable `multibytep' correctly.
8375 (decode_coding_gap): Set coding->dst_multibyte correctly.
8376
8377 2008-02-01 Kenichi Handa <handa@m17n.org>
8378
8379 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
8380 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
8381 (encode_coding_utf_16): Substitute coding->default_char for
8382 non-Unicode characters.
8383 (decode_coding): Don't call record_insert here.
8384 (setup_coding_system): Initialize `surrogate' of
8385 coding->spec.utf_16 to 0.
8386 (EMIT_ONE_BYTE): Fix for multibyte case.
8387
8388 * insdel.c (insert_from_gap): Call record_insert.
8389
8390 2008-02-01 Kenichi Handa <handa@m17n.org>
8391
8392 * casefiddle.c (casify_region): Fix multibyte case.
8393
8394 * character.c (c_string_width): Add return type `int'.
8395 (char_string_with_unification): Delete arg ADVANCED.
8396
8397 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
8398 (CHAR_STRING): Adjust for the change of char_string_with_unification.
8399 (CHAR_STRING_ADVANCE): Make it do-while statement.
8400
8401 * chartab.c (sub_char_table_set_range): Optimize for the case
8402 DEPTH == 3. Add workaround code for a GCC optimization bug.
8403
8404 * charset.c (parse_charset_map): Remove an unused variable.
8405
8406 * coding.c: Delete unused variables.
8407
8408 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
8409 earlier. If inserted is zero and the coding system doesn't
8410 require flushing, don't call decode_coding_gap.
8411
8412 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
8413
8414 2008-02-01 Kenichi Handa <handa@m17n.org>
8415
8416 The following changes are for using Unicode as an internal
8417 character model, and use UTF-8 format for buffer/string
8418 representation.
8419
8420 * .gdbinit (xchartable): Adjust for the change of char table structure.
8421 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
8422
8423 * Makefile.in (obj): Add character.o and chartab.o.
8424 (lisp, shortlisp): Remove utf-8.elc.
8425 (*.o): For many files, change dependency on charset.h to
8426 character.h, and add dependency on character.h.
8427 (character.o, chartab.o): New targets.
8428
8429 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
8430 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
8431 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
8432 of "charset.h".
8433
8434 * dired.c, filelock.c: Include "character.h".
8435
8436 * alloc.c: Include "character.h" instead of "charset.h".
8437 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
8438 (syms_of_alloc): Remove defsubr for Smake_char_table.
8439
8440 * buffer.c: Include "character.h" instead of "charset.h", don't
8441 include "coding.h".
8442 (Fset_buffer_multibyte): Adjust for UTF-8.
8443
8444 * buffer.h: EXFUN Fbuffer_live_p.
8445
8446 * callproc.c: Include "character.h" instead of "charset.h".
8447 (Fcall_process): Big change for the new code-conversion APIs.
8448
8449 * casetab.c: Include "character.h" instead of "charset.h".
8450 (set_canon, set_identity, shuffle): Adjust for the new
8451 map_char_table spec.
8452 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
8453 accessing the char table structure.
8454
8455 * chartab.c: New file that implements char table.
8456
8457 * category.c: Include "character.h".
8458 (copy_category_entry): New function.
8459 (copy_category_table): Call map_char_table and copy_category_entry.
8460 (Fmake_category_table): Initialize all top-vel slots.
8461 (char_category_set): New function.
8462 (modify_lower_category_set): Delete.
8463 (Fmodify_category_entry): Call char_table_ref_and_range.
8464
8465 * category.h (CATEGORY_SET): Just call char_category_set.
8466
8467 * ccl.c: Include "character.h".
8468 (Qccl, Qcclp): New variables.
8469 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
8470 it's less than 256.
8471 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
8472 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
8473 and DST type.
8474 (ccl_driver): Change types of argument, adjust code accordingly.
8475 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
8476 ccl_driver.
8477 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
8478
8479 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
8480 New members src_multibyte, dst_multibyte, consumed, and produced.
8481 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
8482 (CODING_SPEC_CCL_PROGRAM): New macro.
8483 (ccl_driver): Update prototype.
8484 (Qccl, Qcclp, Fccl_program_p): Extern them.
8485 (CHECK_CCL_PROGRAM): New macro.
8486
8487 * character.c, character.h, chartab.c: New files.
8488
8489 * charset.c: Mostly re-written. Move character and multibyte sequence
8490 handling codes to character.c.
8491
8492 * charset.h: Mostly re-written. Move character and multibyte sequence
8493 handling codes to character.h.
8494
8495 * coding.c, coding.h: Mostly re-written.
8496
8497 * composite.c: Include "character.h" instead of "charset.h".
8498 (CHAR_WIDTH): Move to character.h.
8499 (HASH_KEY, HASH_VALUE): Delete.
8500
8501 * composite.h (enum composition_method): Change order of enumeration
8502 symbols.
8503
8504 * data.c: Include "character.h" instead of "charset.h".
8505 (Faref): Call CHAR_TABLE_REF for a char table.
8506 (Faset): Call CHAR_TABLE_SET for a char table.
8507
8508 * dispextern.h (free_realized_face, check_face_attribytes)
8509 (generate_ascii_font): Extern them.
8510 (free_realized_multibyte_face): Delete extern.
8511
8512 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
8513 table structure.
8514
8515 * editfns.c: Include "character.h" instead of "charset.h".
8516 (Fchar_to_string): Always call CHAR_STRING.
8517
8518 * emacs.c (main): Call init_charset_once, init_charset,
8519 syms_of_chartab, and syms_of_character.
8520
8521 * fileio.c: Include "character.h" instead of "charset.h".
8522 (Finsert_file_contents): Big change for the new code-conversion API.
8523 (choose_write_coding_system, Fwrite_region): Likewise.
8524 (build_annotations_2): Delete.
8525 (e_write): Big change for the new code-conversion API.
8526
8527 * fns.c: Include "character.h" instead of "charset.h".
8528 (copy_sub_char_table): Move to chartab.c.
8529 (Fcopy_sequence): Call copy_char_table for a char table.
8530 (concat): Delete codes calling count_multibyte.
8531 (string_char_to_byte, string_byte_to_char): Adjust for the new
8532 multibyte form.
8533 (internal_equal): Adjust for the change of char table structure.
8534 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
8535 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
8536 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
8537 (char_table_translate, optimize_sub_char_table)
8538 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
8539 chartab.c.
8540 (char_table_ref_and_index): Delete.
8541 (HASH_KEY, HASH_VALUE): Move to lisp.h.
8542 (Fmd5): Call preferred_coding_system instead of accessing
8543 Vcoding_category_list. Adjust for the new code-conversion API.
8544 (syms_of_fns): Move defsubr for char table related functions to
8545 chartab.c.
8546
8547 * fontset.c: Mostly re-written.
8548
8549 * fontset.h (struct font_info): Change type of the member encoding_type.
8550 (enum FONT_SPEC_INDEX): New enum.
8551 (fontset_font_pattern, fs_load_font): Update prototype.
8552 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
8553
8554 * indent.c: Include "character.h" instead of "charset.h".
8555 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
8556
8557 * insdel.c: Include "character.h" instead of "charset.h".
8558 (copy_text): Don't refer to Vnonascii_translation_table.
8559 (insert_from_gap): New function.
8560
8561 * keyboard.c: Include "character.h" instead of "charset.h".
8562 (command_loop_1): Never call direct_output_forward_char before
8563 a non-ASCII character.
8564 (read_char): If Vkeyboard_translate_table is a char table, always
8565 translate a character.
8566
8567 * keymap.c: Include "character.h".
8568 (store_in_keymap): Handle the case that IDX is a cons.
8569 (Fdefine_key): Handle the case that KEY is a cons and the car part
8570 is also a cons (range).
8571 (push_key_description): Adjust for the new character code.
8572 (describe_vector): Call describe_char_table for a char table.
8573 (describe_char_table): New function.
8574
8575 * keymap.h (describe_char_table): Extern it.
8576
8577 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
8578 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
8579 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
8580 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
8581 Delete.
8582 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
8583 structure.
8584 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
8585 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
8586 (CHARTAB_SIZE_BITS_3): New macros.
8587 (chartab_size): Extern it.
8588 (struct Lisp_Char_Table): Re-design.
8589 (struct Lisp_Sub_Char_Table): New structure.
8590 (HASH_KEY, HASH_VALUE): Move from fns.c.
8591 (CHARACTERBITS): Define as 22.
8592 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
8593 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
8594 (GC_SUB_CHAR_TABLE_P): New macro.
8595 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
8596 (code_convert_string_norecord): Deleted extern.
8597 (init_character_once, syms_of_character, init_charset)
8598 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
8599
8600 * lread.c: Include "character.h".
8601 (read_multibyte): New arg NBYTES.
8602 (read_escape): Change the meaning of returned *BYTEREP.
8603 (to_multibyte): Delete.
8604 (read1): Adjust the handling of char table and string.
8605
8606 * print.c: Include "character.h" instead of "charset.h".
8607 (print_string): Convert 8-bit raw bytes to octal form by
8608 string_escape_byte8.
8609 (print_object): Adjust for the new multibyte form. Print 8-bit
8610 raw bytes always in octal form. Handle sub char table correctly.
8611
8612 * process.c: Include "character.h" instead of "charset.h".
8613 (read_process_output, send_process): Adjust for the new
8614 code-conversion API.
8615
8616 * puresize.h (BASE_PURESIZE): Increase.
8617
8618 * regex.c: Include "character.h" instead of "charset.h".
8619 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
8620 (regex_compile): Accept a range whose starting and ending
8621 character have different leading bytes.
8622 (analyse_first): Adjust for the above change.
8623
8624 * search.c: Include "character.h" instead of "charset.h".
8625 (search_buffer, boyer_moore): Adjust for the new multibyte form.
8626 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
8627
8628 * syntax.c: Include "character.h" instead of "charset.h".
8629 (syntax_parent_lookup): Delete.
8630 (Fmodify_syntax_entry): Accept a cons as CHAR.
8631 (skip_chars): Adjust for the new multibyte form.
8632 (init_syntax_once): Call char_table_set_range instead of directly
8633 accessing the structure of a char table.
8634
8635 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
8636 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
8637 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
8638 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
8639
8640 * term.c: Include "buffer.h" and "character.h".
8641 (encode_terminal_code, write_glyphs): Adjust for the new
8642 code-conversion API.
8643 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
8644
8645 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
8646
8647 * xdisp.c: Include "character.h".
8648 (get_next_display_element): Adjust for the new multibyte form.
8649 (disp_char_vector): Adjust for the new char table structure.
8650 (decode_mode_spec_coding): Adjust for the new structure of
8651 coding system.
8652 (decode_mode_spec): Adjust for the new code-conversion API.
8653
8654 * xfaces.c: Include "character.h" instead of "charset.h".
8655 (load_face_font): Adjust for the change of choose_face_font and
8656 FS_LOAD_FONT.
8657 (generate_ascii_font): New function.
8658 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
8659 (set_font_frame_param): Adjust for the change of choose_face_font.
8660 (free_realized_face): Make it public.
8661 (free_realized_faces_for_fontset): Rename from
8662 free_realized_multibyte_face. Free also faces realized for ASCII.
8663 (choose_face_font): Change arguments. Adjust for the change of
8664 fontset_font_pattern and FS_LOAD_FONT.
8665
8666 * xfns.c: Include "character.h".
8667 (x_encode_text): Adjust for the new code-conversion API.
8668
8669 * xselect.c: Don't include "charset.h".
8670 (selection_data_to_lisp_data): Adjust for the new code conversion API.
8671
8672 * xterm.c: Include "character.h".
8673 (x_encode_char): New argument CHARSET. Change caller.
8674 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
8675 Call ENCODE_CHAR instead of SPLIT_CHAR.
8676 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
8677 CHAR_WIDTH instead of CHARSET_WIDTH.
8678 (XTread_socket): Adjust for the new code-conversion API.
8679 (x_new_font): Adjust for the change of FS_LOAD_FONT.
8680 (x_load_font): Adjust for the change of struct font.
8681
8682 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8683
8684 * xfaces.c (face_at_buffer_position): Remove unused vars.
8685
8686 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8687
8688 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
8689 Fix overflow checking.
8690
8691 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8692
8693 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
8694 Cancel previous change.
8695
8696 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8697
8698 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
8699 ccl->eight_bit_control. Fix check for buffer overflow.
8700 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
8701 (ccl_driver): Initialize extra_bytes to 0.
8702
8703 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8704
8705 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
8706 return it ORed with ctrl_modifier.
8707
8708 2008-01-29 Miles Bader <miles@gnu.org>
8709
8710 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
8711
8712 2008-01-28 Jason Rumney <jasonr@gnu.org>
8713
8714 * w32.c (stat): Don't double check for networked drive.
8715
8716 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
8717
8718 * window.c (run_window_configuration_change_hook): New function.
8719 Code extracted from set_window_buffer. Set the selected frame.
8720 (set_window_buffer): Use it.
8721 * window.h (run_window_configuration_change_hook): Declare.
8722 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
8723
8724 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
8725
8726 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
8727
8728 * Makefile.in: Remove references to unused macros.
8729
8730 2008-01-26 Eli Zaretskii <eliz@gnu.org>
8731
8732 * w32.c (g_b_init_get_sid_sub_authority)
8733 (g_b_init_get_sid_sub_authority_count): New static variables.
8734 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
8735 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
8736 (init_user_info): Use them to retrieve uid and gid.
8737 Use 500/513, the Windows defaults, as Administrator's uid/gid.
8738 (fstat): Use pw_uid and pw_gid from the_passwd structure for
8739 st_uid and st_gid of the file.
8740
8741 2008-01-26 Jason Rumney <jasonr@gnu.org>
8742
8743 * w32.c (logon_network_drive): New function.
8744 (stat): Use it.
8745
8746 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
8747
8748 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
8749 invisible text covered with an ellipsis.
8750
8751 2008-01-25 Richard Stallman <rms@gnu.org>
8752
8753 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
8754 jump back to beginning. Move some other initializations after that.
8755 (Qwindow_text_change_functions, Vwindow_text_change_functions):
8756 New variables.
8757 (syms_of_xdisp): Init them.
8758
8759 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
8760
8761 * buffer.c (reset_buffer_local_variables):
8762 Implement `permanent-local-hook'.
8763 (Qpermanent_local_hook): New variable.
8764 (syms_of_buffer): Init and staticpro it.
8765
8766 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
8767
8768 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
8769
8770 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
8771
8772 * fns.c (Fclrhash): Return TABLE.
8773
8774 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8775
8776 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
8777 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
8778 is set even without positional changes.
8779 (x_scroll_bar_clear): Set bar->redraw_needed_p.
8780
8781 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
8782
8783 2008-01-23 Jason Rumney <jasonr@gnu.org>
8784
8785 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
8786
8787 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
8788 the unicode range available in MULE by locale-coding-system.
8789 Improve dbcs lead byte detection. Set event timestamp and modifiers
8790 earlier.
8791
8792 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8793
8794 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
8795 [MAC_OSX] (init_mac_osx_environment): Initialize it.
8796 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
8797 when used on child processes.
8798
8799 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
8800
8801 * dbusbind.c (Fdbus_method_return_internal): Rename from
8802 Fdbus_method_return.
8803 (Fdbus_unregister_object): Move to dbus.el.
8804 (Fdbus_call_method, Fdbus_method_return_internal)
8805 (Fdbus_send_signal): Improve debug messages.
8806
8807 2008-01-20 Martin Rudalics <rudalics@gmx.at>
8808
8809 * undo.c (undo_inhibit_record_point): New variable.
8810 (syms_of_undo): Initialize it.
8811 (record_point): Don't record point when undo_inhibit_record_point
8812 is set.
8813
8814 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
8815
8816 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
8817
8818 * xdisp.c (Qauto_hscroll_mode): New var.
8819 (syms_of_xdisp): Initialize it.
8820 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
8821 window's buffer.
8822 (hscroll_windows): Don't check automatic_hscrolling_p here.
8823
8824 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
8825 vscroll if we're setting window-buffer to the value it already has.
8826
8827 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
8828
8829 * m/intel386.h: Remove references to XENIX.
8830
8831 2008-01-17 Andreas Schwab <schwab@suse.de>
8832
8833 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
8834 instead of HAVE_X86_64_LIB64_DIR.
8835 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
8836
8837 2008-01-17 Glenn Morris <rgm@gnu.org>
8838
8839 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
8840 to HAVE_X86_64_LIB64_DIR.
8841
8842 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
8843
8844 * s/irix3-3.h:
8845 * s/irix4-0.h:
8846 * s/386-ix.h:
8847 * s/domain.h:
8848 * s/hpux9-x11r4.h:
8849 * s/hpux9shxr4.h: Remove files for systems no longer supported.
8850
8851 * sysdep.c: Remove code containing references to symbols defined
8852 by unsupported systems.
8853
8854 2008-01-16 Glenn Morris <rgm@gnu.org>
8855
8856 * coding.c (select-safe-coding-system-function): Doc fix.
8857
8858 2008-01-15 Glenn Morris <rgm@gnu.org>
8859
8860 * config.in: Revert 2008-01-13 change: this is a generated file.
8861
8862 2008-01-13 Tom Tromey <tromey@redhat.com>
8863
8864 * lisp.h: Fix typo.
8865
8866 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8867
8868 * m/sequent-ptx.h:
8869 * m/sequent.h:
8870 * s/ptx.h:
8871 * s/ptx4-2.h:
8872 * s/ptx4.h: Remove files for systems no longer supported.
8873
8874 * callproc.c (Fcall_process): Fix previous change.
8875
8876 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8877
8878 * unexsunos4.c: Remove file, system not supported anymore.
8879
8880 * m/mips.h:
8881 * m/intel386.h:
8882 * callproc.c:
8883 * config.in:
8884 * ecrt0.c:
8885 * emacs.c:
8886 * fileio.c:
8887 * frame.c:
8888 * getpagesize.h:
8889 * keyboard.c:
8890 * lread.c:
8891 * process.c:
8892 * puresize.h:
8893 * sysdep.c:
8894 * systty.h:
8895 * syswait.h:
8896 * unexec.c:
8897 * xdisp.c:
8898 * alloc.c: Remove code containing references to symbols defined by
8899 unsupported systems.
8900
8901 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
8902
8903 * coding.c (detect_coding_mask): Fix previous change.
8904
8905 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
8906
8907 * coding.c (detect_coding_iso2022): New arg
8908 latin_extra_code_state. Allow Latin extra codes only
8909 when *latin_extra_code_state is nonzero.
8910 (detect_coding_mask): If there is a NULL byte, detect the encoding
8911 as UTF-16 or binary. If Latin extra codes exist, detect the
8912 encoding as ISO-2022 only when there's no other proper encoding is
8913 found.
8914
8915 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8916
8917 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
8918 #ifdef MAC_OS.
8919
8920 2008-01-08 Richard Stallman <rms@gnu.org>
8921
8922 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
8923
8924 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
8925
8926 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8927 menu bar in parentheses.
8928
8929 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
8930
8931 * m/7300.h:
8932 * m/acorn.h:
8933 * m/alliant-2800.h:
8934 * m/alliant.h:
8935 * m/alliant1.h:
8936 * m/alliant4.h:
8937 * m/altos.h:
8938 * m/amdahl.h:
8939 * m/apollo.h:
8940 * m/att3b.h:
8941 * m/aviion-intel.h:
8942 * m/aviion.h:
8943 * m/celerity.h:
8944 * m/clipper.h:
8945 * m/cnvrgnt.h:
8946 * m/convex.h:
8947 * m/cydra5.h:
8948 * m/delta88k.h:
8949 * m/dpx2.h:
8950 * m/dual.h:
8951 * m/elxsi.h:
8952 * m/f301.h:
8953 * m/gould-np1.h:
8954 * m/gould.h:
8955 * m/i860.h:
8956 * m/ibmps2-aix.h:
8957 * m/ibmrt-aix.h:
8958 * m/ibmrt.h:
8959 * m/irist.h:
8960 * m/is386.h:
8961 * m/isi-ov.h:
8962 * m/mega68.h:
8963 * m/mg1.h:
8964 * m/news-r6.h:
8965 * m/news-risc.h:
8966 * m/news.h:
8967 * m/nh3000.h:
8968 * m/nh4000.h:
8969 * m/ns16000.h:
8970 * m/ns32000.h:
8971 * m/nu.h:
8972 * m/orion.h:
8973 * m/orion105.h:
8974 * m/paragon.h:
8975 * m/pfa50.h:
8976 * m/plexus.h:
8977 * m/pyramid.h:
8978 * m/pyrmips.h:
8979 * m/sh3el.h:
8980 * m/sps7.h:
8981 * m/sr2k.h:
8982 * m/stride.h:
8983 * m/sun1.h:
8984 * m/sun2.h:
8985 * m/sun3-68881.h:
8986 * m/sun3-fpa.h:
8987 * m/sun3-soft.h:
8988 * m/sun3.h:
8989 * m/sun386.h:
8990 * m/symmetry.h:
8991 * m/tad68k.h:
8992 * m/tahoe.h:
8993 * m/targon31.h:
8994 * m/tek4300.h:
8995 * m/tekxd88.h:
8996 * m/tower32.h:
8997 * m/tower32v3.h:
8998 * m/ustation.h:
8999 * m/wicat.h:
9000 * m/xps100.h:
9001 * s/cxux.h:
9002 * s/cxux7.h:
9003 * s/dgux.h:
9004 * s/dgux4.h:
9005 * s/dgux5-4-3.h:
9006 * s/dgux5-4r2.h:
9007 * s/esix.h:
9008 * s/esix5r4.h:
9009 * s/hiuxmpp.h:
9010 * s/hiuxwe2.h:
9011 * s/iris3-5.h:
9012 * s/iris3-6.h:
9013 * s/isc2-2.h:
9014 * s/isc3-0.h:
9015 * s/isc4-0.h:
9016 * s/isc4-1.h:
9017 * s/newsos5.h:
9018 * s/newsos6.h:
9019 * s/osf1.h:
9020 * s/osf5-0.h:
9021 * s/riscix1-1.h:
9022 * s/riscix12.h:
9023 * s/sco4.h:
9024 * s/sco5.h:
9025 * s/sunos4-0.h:
9026 * s/sunos4-1.h:
9027 * s/sunos413.h:
9028 * s/sunos4shr.h:
9029 * s/umax.h:
9030 * s/unipl5-2.h:
9031 * s/xenix.h:
9032 * cxux-crt0.s:
9033 * unexapollo.c:
9034 * unexconvex.c:
9035 * unexenix.c:
9036 * unexsni.c: Remove files for systems no longer supported.
9037
9038 * m/intel386.h: Remove references to unsupported systems.
9039
9040 * w32.c (get_emacs_configuration): Remove reference to i860.
9041
9042 * sysdep.c: Remove dead code.
9043
9044 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
9045
9046 * s/rtu.h:
9047 * m/masscomp.h: Remove files. Platform is obsolete.
9048
9049 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
9050
9051 * dbusbind.c (Fdbus_method_return): New function.
9052 (xd_read_message): Add the serial number to the event.
9053 (Fdbus_register_method): Activate the function.
9054
9055 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
9056
9057 * keyboard.c (read_key_sequence): Fix typo.
9058
9059 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
9060
9061 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
9062 (xd_signature, xd_append_arg): Handle element type detection for
9063 empty arrays.
9064 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
9065 SDATA () calls; this must be solved more general.
9066 (Fdbus_register_signal): Use SBYTES instead of strlen.
9067
9068 2008-01-03 Magnus Henoch <magnus@zemdatav>
9069
9070 * dbusbind.c (xd_append_arg): Use unsigned char instead of
9071 unsigned int for byte values (necessary for big-endian platform).
9072 (Fdbus_call_method): Handle the case of no returned arguments.
9073
9074 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
9075
9076 * dbusbind.c (xd_read_message): Use non-static input_event struct.
9077
9078 2007-12-31 Magnus Henoch <mange@freemail.hu>
9079
9080 * dbusbind.c (xd_signature): Signature of variant is just "v".
9081
9082 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
9083
9084 * dbusbind.c: Fix several errors and compiler warnings.
9085 Reported by Tom Tromey <tromey@redhat.com>.
9086 (XD_ERROR, XD_DEBUG_MESSAGE)
9087 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
9088 (xd_append_arg): Part for basic D-Bus types rewitten.
9089 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
9090 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
9091 appropriate.
9092 (xd_read_message): Return Qnil. Don't signal an error; it is not
9093 useful during event reading.
9094 (Fdbus_register_signal): Signal an error if the check for
9095 FUNCTIONP fails.
9096 (Fdbus_register_method): New function. The implementation is not
9097 complete, the call of the function signals an error therefore.
9098 (Fdbus_unregister_object): New function, renamed from
9099 Fdbus_unregister_signal. The initial check signals an error, if
9100 the object is not well formed.
9101
9102 2007-12-30 Richard Stallman <rms@gnu.org>
9103
9104 * textprop.c (get_char_property_and_overlay):
9105 Signal error if POSITION is out of range in a buffer.
9106
9107 2007-12-29 Martin Rudalics <rudalics@gmx.at>
9108
9109 * w32fns.c (Fx_create_frame): Make copy of frame parameters
9110 because the original parameters are in pure storage now.
9111
9112 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9113
9114 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
9115
9116 2007-12-22 Eli Zaretskii <eliz@gnu.org>
9117
9118 * callint.c (syms_of_callint) <command-history>: Add reference to
9119 history-length in the doc string.
9120
9121 2007-12-17 Jason Rumney <jasonr@gnu.org>
9122
9123 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
9124 before passing as wParam.
9125
9126 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
9127
9128 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
9129 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
9130 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
9131 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
9132 as number.
9133 (Fdbus_call_method): Fix docstring.
9134
9135 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
9136
9137 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
9138 New macros.
9139 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
9140 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
9141 Simplify.
9142 (xd_signature): New function.
9143 (xd_append_arg): Compute also signatures. Major rewrite.
9144 (xd_retrieve_arg): Make debug messages friendly.
9145 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
9146 Check for signatures of arguments.
9147
9148 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
9149
9150 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
9151 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
9152 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
9153 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
9154 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
9155 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
9156 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
9157 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
9158 (xd_retrieve_value): Remove. Functionality included in ...
9159 (xd_append_arg): New function.
9160 (Fdbus_call_method, Fdbus_send_signal): Apply it.
9161
9162 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
9163
9164 * dbusbind.c (top): Include <stdio.h>.
9165 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
9166 dbus_message_new_method_call and dbus_message_new_signal.
9167 (Fdbus_register_signal): Rename unique_name to uname.
9168 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
9169 non-existing unique name. Fix typos in matching rule. Return an
9170 object which is useful in Fdbus_unregister_signal.
9171 (Fdbus_unregister_signal): Reimplementation, in order to remove
9172 only the corresponding entry.
9173 (Vdbus_registered_functions_table): Change the order of entries.
9174 Apply these changes in xd_read_message and Fdbus_register_signal.
9175
9176 2007-12-16 Andreas Schwab <schwab@suse.de>
9177
9178 * fileio.c (Finsert_file_contents): Fix overflow check to not
9179 depend on undefined integer overflow.
9180
9181 2007-12-14 Jason Rumney <jasonr@gnu.org>
9182
9183 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
9184 for characters above 127.
9185
9186 2007-12-13 Jason Rumney <jasonr@gnu.org>
9187
9188 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
9189 before dereferencing array.
9190 (lookup_vk_code): Remove zero comparison.
9191
9192 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
9193
9194 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
9195 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
9196 Use `unsigned int' instead of `uint'.
9197 (xd_read_message, Fdbus_register_signal): Split expressions into
9198 multiple lines before operators "&&" and "||", according to the
9199 GNU Coding Standards.
9200
9201 2007-12-14 Eli Zaretskii <eliz@gnu.org>
9202
9203 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
9204
9205 2007-12-12 Juri Linkov <juri@jurta.org>
9206
9207 * buffer.c (Frename_buffer): In interactive spec replace
9208 `read-buffer' with `read-string' that uses `buffer-name-history'
9209 as history, and the current buffer's name as default.
9210
9211 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
9212
9213 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
9214 manipulating the backtrace manually.
9215 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
9216 (struct backtrace, backtrace_list): Remove.
9217 (command_loop_1): Remove dead var `no_direct'.
9218
9219 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
9220 preserve non-built-in buffer-local variables.
9221 (Fkill_all_local_variables): Don't re-create&re-set permanent
9222 buffer-local variables.
9223
9224 2007-12-09 Juri Linkov <juri@jurta.org>
9225
9226 * buffer.c (Frename_buffer): Change interactive spec from "s" to
9227 Lisp code that uses `read-buffer' with current buffer as default.
9228
9229 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
9230
9231 * dbusbind.c (xd_read_message): Generate an event for every
9232 registered handler. There might be several handlers registered
9233 for the same signal.
9234 (Fdbus_register_signal): Don't overwrite a registration for the
9235 same signal. Add a new registration if handlers are different.
9236 (Vdbus_registered_functions_table): Rework doc string.
9237
9238 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
9239
9240 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
9241 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
9242 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
9243 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
9244 Unify argument lists.
9245 (xd_read_message, Fdbus_register_signal): Reorder and extend event
9246 arguments and hash table keys. Use unique name for service.
9247 (Fdbus_unregister_signal): Remove checks.
9248 (Vdbus_registered_functions_table): Fix doc string.
9249
9250 2007-12-05 Magnus Henoch <mange@freemail.hu>
9251
9252 * process.c (make_process): Initialize pty_flag to 0.
9253
9254 2007-12-05 Jason Rumney <jasonr@gnu.org>
9255
9256 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
9257 specified XBMs.
9258
9259 2007-12-05 Richard Stallman <rms@gnu.org>
9260
9261 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
9262
9263 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9264
9265 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
9266 New variable.
9267 (mac_try_close_socket) [MAC_OSX]: New function.
9268 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
9269 Update cfsockets_for_select. Replace invalid CFRunLoop source.
9270
9271 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
9272 Use mac_try_close_socket.
9273
9274 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9275
9276 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
9277 reloc_base.
9278 (copy_dysymtab): Compute relocation base here.
9279 (rebase_reloc_address) [__ppc64__]: New function.
9280 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
9281 changed.
9282
9283 2007-12-05 Jason Rumney <jasonr@gnu.org>
9284
9285 * w32proc.c (sys_spawnve): Quote args with wildcards.
9286
9287 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9288
9289 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
9290 __objc_* sections.
9291 (unrelocate) [_LP64]: Set relocation base to address of data segment.
9292
9293 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
9294
9295 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
9296 Move check for Vdbus_registered_functions_table to
9297 xd_read_queued_messages.
9298 (xd_read_queued_messages): Protect xd_read_message calls by
9299 internal_condition_case_1.
9300
9301 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
9302
9303 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
9304 Qdbus_system_bus and Qdbus_session_bus, respectively.
9305 (Vdbus_intern_symbols): Remove.
9306 (Vdbus_registered_functions_table): New hash table.
9307 (XD_SYMBOL_INTERN_SYMBOL): Remove.
9308 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
9309 Rewrite in order to manage registered functions by hash table
9310 Vdbus_registered_functions_table.
9311
9312 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
9313
9314 * xterm.c: Update URL to Window Manager Specification in comment.
9315
9316 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
9317
9318 * config.in (HAVE_DBUS): Add.
9319
9320 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
9321 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
9322 (obj): Add $(DBUS_OBJ).
9323 (LIBES): Add $(DBUS_LIBS).
9324 (dbusbind.o): New target.
9325
9326 * dbusbind.c: New file.
9327
9328 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
9329
9330 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
9331 (Qdbus_event): New Lisp symbol.
9332 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
9333 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
9334 (keys_of_keyboard ): Define dbus-event.
9335
9336 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
9337
9338 2007-12-01 Richard Stallman <rms@gnu.org>
9339
9340 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
9341
9342 2007-11-30 Jason Rumney <jasonr@gnu.org>
9343
9344 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
9345 (w32con_reset_terminal_modes): Clear screen buffer.
9346 (w32_face_attributes): Don't use color indexes that are out of range.
9347 Only reverse the default colors.
9348
9349 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
9350 WINDOWSNT.
9351
9352 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
9353
9354 2007-11-29 Jason Rumney <jasonr@gnu.org>
9355
9356 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
9357 (w32_face_attributes): Use Vtty_defined_color_alist to determine
9358 if the terminal colors are initialized.
9359 (unspecified_fg, unspecified_bg): Remove unused declarations.
9360
9361 2007-11-29 Andreas Schwab <schwab@suse.de>
9362
9363 * keyboard.c (apply_modifiers): Fix typo.
9364
9365 2007-11-29 Richard Stallman <rms@gnu.org>
9366
9367 * keymap.c (Fcurrent_local_map): Doc fix.
9368
9369 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
9370
9371 * s/gnu-kfreebsd.h: New file.
9372
9373 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
9374
9375 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
9376 Don't cast redundantly.
9377
9378 * keyboard.c (KEY_TO_CHAR): New macro.
9379 (parse_modifiers, apply_modifiers): Accept integer arguments.
9380 (read_key_sequence): Use them to unify the "shift->unshift" mapping
9381 for chars and symbol keys.
9382 After doing such remapping, apply function-key-map again.
9383
9384 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
9385
9386 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
9387 compiled anymore.
9388
9389 2007-11-26 Andreas Schwab <schwab@suse.de>
9390
9391 * process.c (list_processes_1): Fix indentation level of the
9392 command column.
9393
9394 2007-11-23 Andreas Schwab <schwab@suse.de>
9395
9396 * editfns.c (Fformat): Handle %c specially since it requires the
9397 argument to be of type int.
9398
9399 2007-11-23 Markus Triska <markus.triska@gmx.at>
9400
9401 * emacs.c (main): Call init_editfns before init_process, since
9402 init_process sets Vprocess_connection_type depending on OS release.
9403
9404 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
9405
9406 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
9407 (find_symbol_value): Use do_symval_forwarding.
9408
9409 * data.c (set_internal): Set the value in the `cons-cell' (for
9410 Buffer_Local_values) not only for frame-local variables.
9411
9412 2007-11-22 Andreas Schwab <schwab@suse.de>
9413
9414 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
9415 values to sprintf.
9416 * keymap.c (Fsingle_key_description): Likewise.
9417 * print.c (print_object): Likewise.
9418
9419 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
9420
9421 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
9422 file for image is nil.
9423
9424 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
9425
9426 * term.c: Include stdarg.h.
9427 (fatal): Implement using varargs.
9428 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
9429
9430 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
9431
9432 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
9433 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
9434 Update call to buffer_slot_type_mismatch.
9435 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
9436 (buffer_slot_type_mismatch): Update.
9437 * buffer.c (buffer_local_types): Remove.
9438 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
9439 (defvar_per_buffer): Set the type in the buffer_objfwd.
9440
9441 2007-11-21 Jason Rumney <jasonr@gnu.org>
9442
9443 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
9444 CreateFileMapping returns NULL on failure.
9445
9446 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
9447
9448 * search.c (Fset_match_data): Remove the `evaporate' feature.
9449 (unwind_set_match_data): Don't use the `evaporate' feature.
9450
9451 2007-11-21 Jason Rumney <jasonr@gnu.org>
9452
9453 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
9454
9455 * w32console.c (w32con_write_glyphs): Remove unused variables.
9456
9457 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
9458
9459 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
9460
9461 * s/darwin.h (MULTI_KBOARD): Remove.
9462
9463 * macfns.c (x_create_tip_frame, Fx_create_frame)
9464 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
9465
9466 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
9467
9468 * buffer.c (Fbuffer_local_value): Remove redundant test.
9469 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
9470 than in `current-buffer' to match the comment.
9471 Do the swap using swap_in_global_binding.
9472
9473 * data.c (store_symval_forwarding, set_internal):
9474 * eval.c (specbind): Remove dead code.
9475
9476 * coding.c (detect_coding, Fupdate_coding_systems_internal):
9477 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
9478 Since we do not want to see internal Lisp_*fwd objects here.
9479
9480 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
9481
9482 * sysdep.c (init_system_name): Use getaddrinfo if available.
9483
9484 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
9485 (x_scroll_bar_note_movement): start, end, with, height in struct
9486 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
9487
9488 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
9489
9490 * puresize.h (BASE_PURESIZE): Increase to 1190000.
9491
9492 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
9493
9494 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
9495 This undoes Richard's change of 14-Oct-2002.
9496
9497 * alloc.c (allocate_other_vector):
9498 * lisp.h (allocate_other_vector): Remove.
9499
9500 * window.c (struct save_window_data): Move non-lisp data to the end
9501 and make it `int' rather than Lisp_Object.
9502 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
9503 Done wrap/unwrap integer values.
9504 (Fset_window_configuration, compare_window_configurations):
9505 Update use of fields to their new types.
9506
9507 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
9508 Turn integer fields into `int'. Merge x_window_low and x_window_high.
9509 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
9510 (SET_SCROLL_BAR_X_WINDOW): Remove.
9511 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
9512 Access the new x_window field directly.
9513 * xterm.c (x_scroll_bar_create): Use a pseudovector.
9514 Don't wrap/unwrap integers into Lisp_Objects.
9515 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
9516 (x_scroll_bar_report_motion):
9517 Don't wrap/unwrap integers into Lisp_Objects.
9518 (x_term_init): Use SDATA.
9519 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
9520 (x_scroll_bar_set_handle, x_scroll_bar_remove)
9521 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
9522 (x_scroll_bar_report_motion, x_scroll_bar_clear):
9523 * xfns.c (x_set_background_color):
9524 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
9525 Access the new x_window field directly.
9526
9527 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
9528 (allocate_pseudovector): Make non-static.
9529
9530 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
9531 (allocate_pseudovector): Declare.
9532 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
9533
9534 2007-11-15 Andreas Schwab <schwab@suse.de>
9535
9536 * editfns.c (Fformat): Correctly format EMACS_INT values.
9537 Also take precision into account when formatting an integer.
9538
9539 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
9540
9541 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
9542
9543 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
9544 (syms_of_keyboard): Defsubr it.
9545
9546 * data.c (swap_in_global_binding): Fix longstanding bug where
9547 store_symval_forwarding was not called with the right second argument,
9548 thus causing objfwd-ing from being dropped.
9549
9550 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
9551
9552 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
9553 (Fx_display_pixel_height, Fx_display_planes)
9554 (Fx_display_color_cells, Fx_server_max_request_size)
9555 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9556 (Fx_display_visual_class, Fx_display_save_under):
9557 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
9558 (Fx_display_pixel_height, Fx_display_planes)
9559 (Fx_display_color_cells, Fx_server_max_request_size)
9560 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
9561 (Fx_display_mm_height, Fx_display_mm_width)
9562 (Fx_display_backing_store, Fx_display_visual_class)
9563 (Fw32_select_font, Fx_display_save_under):
9564 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
9565 (Fx_display_pixel_height, Fx_display_planes)
9566 (Fx_display_color_cells, Fx_server_max_request_size)
9567 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9568 (Fx_display_save_under): Fix typos in docstrings.
9569
9570 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
9571
9572 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
9573 corresponding to deleted entries; they are an implementation detail.
9574 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
9575 Remove variables.
9576 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
9577 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
9578 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
9579 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
9580 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
9581 (Fw32_define_rgb_color, Fw32_load_color_file)
9582 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
9583 Fix typos in docstrings.
9584 (Fx_server_version): Reflow docstring.
9585 (Fw32_shell_execute): Doc fixes.
9586
9587 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
9588
9589 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
9590 if w32_parse_hot_key returned nil.
9591
9592 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9593
9594 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9595
9596 2007-11-09 Jason Rumney <jasonr@gnu.org>
9597
9598 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
9599
9600 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
9601
9602 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
9603 Remove W32_SCROLL_BAR_CLICK_EVENT.
9604
9605 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
9606 Add MULTIMEDIA_KEY_EVENT.
9607
9608 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
9609 (lispy_multimedia_keys) [WINDOWSNT]: New array.
9610 (make_lispy_event) [WINDOWSNT]: Use it to translate
9611 MULTIMEDIA_KEY_EVENT.
9612
9613 * w32term.h (WM_APPCOMMAND): Define if not already.
9614 (GET_APPCOMMAND_LPARAM): Likewise.
9615
9616 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
9617 WM_APPCOMMAND.
9618
9619 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
9620 (syms_of_w32fns): Export and initialize it.
9621 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
9622
9623 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
9624
9625 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
9626 twice.
9627
9628 * xdisp.c (handle_face_prop): Fix last change.
9629
9630 2007-11-09 Richard Stallman <rms@gnu.org>
9631
9632 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
9633 not just for after-strings and before-strings.
9634 Call face_for_overlay_string and pass the overlay to it.
9635 (handle_display_prop): Determine whether property came from an overlay.
9636 Pass OVERLAY arg to handle_single_display_spec.
9637 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
9638 (load_overlay_strings): Fill in it->string_overlays.
9639 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
9640
9641 * xfaces.c (face_for_overlay_string): Function renamed from
9642 face_at_buffer_position_no_overlays, and add arg OVERLAY.
9643
9644 * dispextern.h (struct it): New elt string_overlays.
9645 New elt from_overlay, also in stack.
9646 Rearrange a few elements.
9647 (face_for_overlay_string): Decl renamed from
9648 face_at_buffer_position_no_overlays, and add argument.
9649
9650 2007-11-09 Richard Stallman <rms@gnu.org>
9651
9652 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
9653 to get the base face for an overlay string.
9654
9655 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
9656
9657 * xfaces.c (face_at_buffer_position_no_overlays): New function.
9658
9659 * xdisp.c (handle_stop): Move some code out of loop.
9660
9661 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9662
9663 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
9664 Fix conversion from Lisp object to ATSUFontID.
9665
9666 2007-11-09 Jason Rumney <jasonr@gnu.org>
9667
9668 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
9669
9670 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9671
9672 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
9673 Don't assume regions are aligned to page boundary.
9674 (print_load_command_name): Add LC_UUID if defined.
9675
9676 2007-11-09 Richard Stallman <rms@gnu.org>
9677
9678 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
9679
9680 2007-11-07 Jason Rumney <jasonr@gnu.org>
9681
9682 * s/windows95.h: Remove.
9683
9684 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
9685
9686 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
9687 abort with a message on unhandled store_type values.
9688
9689 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
9690
9691 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
9692 Remove HAVE_X11R5 and HAVE_X11R4.
9693
9694 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9695
9696 * Makefile.in: Remove references to sunfns.c and sunfns.o.
9697
9698 2007-11-01 Johan Bockgård <bojohan@gnu.org>
9699
9700 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
9701 Don't set s->stippled_p here, since it has already been set by
9702 x_set_glyph_string_gc from x_draw_glyph_string.
9703
9704 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9705
9706 * sunfns.c: Remove file.
9707
9708 * m/sun386.h:
9709 * m/sun2.h:
9710 * m/sparc.h: Remove Sun windows code.
9711
9712 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
9713
9714 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
9715 (init_keyboard): Set current_kboard's window-system to nil.
9716 (tty_read_avail_input): Typo.
9717 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
9718
9719 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
9720
9721 * s/usg5-4.h:
9722 * s/usg5-3.h:
9723 * s/ptx.h:
9724 * m/is386.h:
9725 * m/ibmps2-aix.h:
9726 * Makefile.in: Remove all mentions of X10.
9727
9728 * dispnew.c (syms_of_display): Don't mention version 10.
9729
9730 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
9731
9732 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
9733 ($(BLD)/abbrev.$(O)): Remove.
9734
9735 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
9736
9737 Rewrite abbrev.c in Elisp.
9738 * image.c (Qcount): Don't declare as extern.
9739 (syms_of_image): Initialize and staticpro `Qcount'.
9740 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
9741 * emacs.c (main): Don't call syms_of_abbrev.
9742 * Makefile.in (obj): Remove abbrev.o.
9743 (abbrev.o): Remove.
9744 * abbrev.c: Remove.
9745
9746 2007-10-26 Martin Rudalics <rudalics@gmx.at>
9747
9748 * window.c (window_min_size_2): Don't count header-line.
9749
9750 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
9751
9752 * frame.h (struct frame): Move all bit fields after the first bit
9753 field to take advantage of the available space. Group all the
9754 chars together to reduce wasted space due to padding.
9755
9756 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
9757
9758 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
9759
9760 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
9761 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
9762 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
9763 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
9764 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
9765 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
9766 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
9767 (last_marked, mark_object_loop_halt): Make static.
9768
9769 * frame.c (syms_of_frame) <delete-frame-functions>:
9770 Fix typo in docstring.
9771
9772 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
9773
9774 * w32.c (init_environment): Fix tiny memory leak.
9775 (w32_get_resource): Remove unused variable `ok'.
9776
9777 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
9778
9779 Make `window-system' into a keyboard-local variable (rather than
9780 frame-local as done originally by multi-tty).
9781
9782 * keyboard.h (struct kboard): Add Vwindow_system.
9783 * keyboard.c (init_kboard): Set a default for Vwindow_system.
9784 (mark_kboards): Mark Vwindow_system.
9785
9786 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
9787 (init_display): Don't set the obsolete `window-system' frame-param.
9788
9789 * xterm.c (x_term_init):
9790 * w32term.c (w32_create_terminal):
9791 * term.c (init_tty): Set Vwindow_system.
9792 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
9793 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
9794
9795 * xfns.c (Fx_create_frame, x_create_tip_frame):
9796 * w32fns.c (Fx_create_frame, x_create_tip_frame):
9797 * macfns.c (Fx_create_frame):
9798 Don't set the obsolete `window-system' frame-param.
9799
9800 * frame.h (Qwindow_system): Remove.
9801 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
9802 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
9803
9804 2007-10-24 Richard Stallman <rms@gnu.org>
9805
9806 * frame.c (x_figure_window_size): For fullscreen case,
9807 set USPosition | PPosition without clobbering rest of window_prompting.
9808
9809 * keyboard.c (Fcurrent_idle_time): Doc fix.
9810
9811 * print.c (Fwith_output_to_temp_buffer): Doc fix.
9812
9813 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
9814
9815 * process.c (unwind_request_sigio): Only define if __ultrix__.
9816
9817 * callproc.c (child_setup): Remove spurious *.
9818
9819 * lisp.h (Fget_text_property): Declare.
9820 (have_menus_p): Declare it here rather than in sys-dep header files.
9821 * macterm.h (have_menus_p):
9822 * msdos.h (have_menus_p):
9823 * xterm.h (have_menus_p): Remove.
9824
9825 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9826 (Fmake_variable_frame_local): Just check the variable's const-ness
9827 rather than checking nil or t.
9828
9829 2007-10-22 Jason Rumney <jasonr@gnu.org>
9830
9831 * w32fns.c: Include math.h.
9832 (w32_abort): Declaration moved to nt/config.nt.
9833
9834 * s/ms-w32.h (HAVE_STDLIB_H): Define.
9835 (abort): Redefinition moved to nt/config.nt.
9836
9837 * m/windowsnt.h: Remove.
9838
9839 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
9840
9841 * emacs.c (Fdump_emacs): Fix typo in message.
9842 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
9843 <installation-directory>: Reflow docstring.
9844
9845 2007-10-22 Juri Linkov <juri@jurta.org>
9846
9847 * minibuf.c: Allow minibuffer default to be a list of default values.
9848 With empty input use the first element of this list as returned default.
9849 (string_to_object)
9850 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
9851 (read_minibuf): If defalt is cons, set histstring to its car.
9852 (Fread_string): If default_value is cons, set val to its car.
9853 (Fread_buffer): If def is cons, use its car.
9854 (Fcompleting_read): If defalt is cons, set val to its car.
9855
9856 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
9857
9858 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
9859
9860 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
9861
9862 * doc.c (Fdocumentation): Check for advice in all cases.
9863
9864 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
9865
9866 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
9867
9868 2007-10-19 Richard Stallman <rms@gnu.org>
9869
9870 * doc.c (Fdocumentation): Check for and handle an advised function.
9871
9872 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
9873
9874 * process.c (Fset_process_filter): Doc fix.
9875
9876 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
9877
9878 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
9879 which caused key-translation-map to applied repeatedly (thus breaking
9880 double-mode).
9881
9882 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9883
9884 * xselect.c (x_own_selection, x_handle_selection_clear)
9885 (x_clear_frame_selections):
9886 * w32menu.c (list_of_panes, list_of_items):
9887 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
9888 * textprop.c (validate_plist, interval_has_all_properties)
9889 (interval_has_some_properties, interval_has_some_properties_list)
9890 (add_properties, text_property_list):
9891 * process.c (Fget_buffer_process, list_processes_1, status_notify):
9892 * minibuf.c (Fassoc_string):
9893 * macselect.c (x_own_selection, x_clear_frame_selections)
9894 (Fx_disown_selection_internal):
9895 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
9896 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
9897
9898 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
9899
9900 * process.c: Link to libs for calling res_init() if available.
9901 (Fmake_network_process): Call res_init() before getaddrinfo or
9902 gethostbyname, if possible.
9903
9904 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9905
9906 * lread.c (read1): Set pvectype for char_tables.
9907
9908 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
9909 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
9910 Add type checks.
9911 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
9912
9913 * alloc.c (free_misc): Use XMISCTYPE.
9914 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
9915
9916 2007-10-17 Glenn Morris <rgm@gnu.org>
9917
9918 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
9919 (syms_of_minibuf): Add Qcompletion_ignore_case.
9920 * dired.c (Qcompletion_ignore_case): Change to external.
9921 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
9922 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
9923 (Fread_file_name): Use it rather than intern'ing.
9924
9925 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
9926 (Fread_coding_system): Ignore case of user input.
9927
9928 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9929
9930 * xdisp.c (handle_display_prop): Ignore display specs after
9931 replacing one when string text is being replaced.
9932 (handle_single_display_spec): Pretend as if characters with display
9933 property haven't been consumed only when buffer text is being replaced.
9934
9935 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
9936
9937 * xfns.c (Fx_create_frame, Fx_display_list):
9938 * window.c (window_fixed_size_p, enlarge_window)
9939 (shrink_window_lowest_first):
9940 * macterm.c (init_font_name_table):
9941 * macfns.c (Fx_create_frame, Fx_display_list):
9942 * lread.c (close_load_descs):
9943 * keyboard.c (read_char_x_menu_prompt):
9944 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
9945 * coding.c (code_convert_region_unwind): Test the type of an object
9946 rather than just !NILP before extracting data from it.
9947
9948 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
9949
9950 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
9951 (XMISCANY): New macro.
9952 (XMISCTYPE): Use it.
9953 (struct Lisp_Misc_Any): New type.
9954 (union Lisp_Misc): Use it.
9955 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
9956 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
9957 (find_symbol_value, set_internal, default_value, Fset_default)
9958 (Fmake_variable_buffer_local, Fmake_local_variable)
9959 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
9960 (Flocal_variable_if_set_p, Fvariable_binding_locus):
9961 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
9962 * alloc.c (allocate_buffer): Set the size and tag.
9963 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
9964 Use XMISCANY.
9965 (die): Follow the GNU convention for error messages.
9966 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
9967 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
9968 tag any more.
9969 (set_buffer_internal_1):
9970 * frame.c (store_frame_param):
9971 * eval.c (specbind):
9972 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
9973
9974 * doc.c (Fsnarf_documentation): Simplify.
9975
9976 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
9977
9978 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
9979 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
9980
9981 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
9982
9983 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
9984
9985 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
9986
9987 * eval.c (do_autoload): Don't save autoloads.
9988
9989 * data.c (Ffset): Save autoload of the function being set.
9990
9991 2007-10-07 John Paul Wallington <jpw@pobox.com>
9992
9993 * xfns.c (x_create_tip_frame): Set the `display-type' frame
9994 parameter before setting up faces.
9995
9996 2007-10-13 Eli Zaretskii <eliz@gnu.org>
9997
9998 * ccl.c (Fregister_code_conversion_map):
9999 * keyboard.c (append_tool_bar_item): Reformat last change.
10000
10001 * lisp.h (eabs): Rename from `abs'. All callers changed.
10002
10003 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
10004
10005 * buffer.c (add_overlay_mod_hooklist):
10006 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
10007 * fontset.c (make_fontset):
10008 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
10009 (append_tool_bar_item):
10010 * macmenu.c (grow_menu_items):
10011 * w32menu.c (grow_menu_items):
10012 * xmenu.c (grow_menu_items): Use larger_vector.
10013
10014 2007-10-13 Eli Zaretskii <eliz@gnu.org>
10015
10016 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
10017 selected frame'' on MSDOS).
10018
10019 2007-10-12 Martin Rudalics <rudalics@gmx.at>
10020
10021 * frame.c (Qexplicit_name): New variable.
10022 (x_report_frame_params): Report it in parameter alist.
10023 (syms_of_frame): Intern and staticpro it.
10024
10025 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
10026
10027 * macfns.c (x_create_tip_frame): Set terminal for frame.
10028
10029 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
10030
10031 * frame.c (Qenvironment): Remove.
10032 (syms_of_frame) <Qenvironment>: Don't initialize.
10033 (Fdelete_frame): Don't treat the `environment' param specially.
10034 * frame.h (Qenvironment): Don't declare.
10035 * callproc.c (set_initial_environment): Don't set unused frame param.
10036
10037 * frame.c (Fframe_with_environment): Remove.
10038 (syms_of_frame) <Sframe_with_environment>: Don't declare.
10039
10040 * lisp.h (Fframe_with_environment): Don't declare.
10041
10042 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
10043
10044 * indent.c (indent_tabs_mode, last_known_column)
10045 (last_known_column_modified): Make static.
10046 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
10047
10048 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
10049
10050 * puresize.h (BASE_PURESIZE): Increase to 1170000.
10051
10052 2007-10-09 Jason Rumney <jasonr@gnu.org>
10053
10054 * w32term.c (x_set_window_size): Disable code that attempts to tell
10055 Lisp code about a size change before it actually happens.
10056
10057 2007-10-09 Richard Stallman <rms@gnu.org>
10058
10059 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
10060 return HANDLED_RETURN.
10061
10062 2007-10-08 Martin Rudalics <rudalics@gmx.at>
10063
10064 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
10065 when there's an unread command event.
10066
10067 * frame.c (focus_follows_mouse): Move here from frame.el to allow
10068 window autoselection act appropriately when leaving selected frame.
10069 (syms_of_frame): Initialize focus_follows_mouse.
10070 * frame.h (focus_follows_mouse): Extern it.
10071 * macterm.c (XTread_socket): When focus_follows_mouse is nil
10072 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
10073 * msdos.c (dos_rawgetc): Likewise.
10074 * w32term.c (w32_read_socket): Likewise.
10075 * xterm.c (handle_one_xevent): Likewise.
10076 * xdisp.c (syms_of_xdisp): In doc-string of
10077 mouse-autoselect-window mention focus-follows-mouse.
10078
10079 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10080
10081 * macterm.c (mac_load_query_font): Fix missing return value.
10082 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
10083 Add BLOCK_INPUT.
10084
10085 2007-10-08 Richard Stallman <rms@gnu.org>
10086
10087 * xdisp.c (get_window_cursor_type): Implement documented behavior
10088 for cursor-in-non-selected-windows = t.
10089
10090 2007-10-08 Jason Rumney <jasonr@gnu.org>
10091
10092 * w32.c (w32_get_resource): Always close registry keys.
10093
10094 2007-10-08 Jason Rumney <jasonr@gnu.org>
10095
10096 * makefile.w32-in (LIBS): Add COMCTL32.
10097
10098 * w32fns.c (globals_of_w32fns): Init common controls.
10099
10100 2007-10-08 Richard Stallman <rms@gnu.org>
10101
10102 * image.c (our_memory_buffer): Rename from omfib_buffer.
10103
10104 2007-10-08 Richard Stallman <rms@gnu.org>
10105
10106 * buffer.c (Foverlays_at): Doc fix.
10107
10108 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
10109
10110 * fns.c (Fplist_put): Preserve uneven tail data.
10111
10112 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
10113
10114 * termhooks.h (enum event_kind): Remove trailing comma.
10115
10116 * frame.h (enum): Remove trailing comma.
10117
10118 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
10119
10120 * w32proc.c (delete_child): Don't terminate threads of zombies.
10121
10122 2007-10-08 Martin Rudalics <rudalics@gmx.at>
10123
10124 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
10125
10126 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
10127 last-repeatable-command.
10128 (init_kboard): Initialize Vlast_repeatable_command.
10129 (command_loop_1): Set it to real_this_command unless that was
10130 bound to an input event.
10131 (mark_kboards): Mark it.
10132
10133 2007-10-08 Richard Stallman <rms@gnu.org>
10134
10135 * eval.c (condition-case): Doc fix.
10136
10137 2007-10-08 Masatake YAMATO <jet@gyve.org>
10138
10139 * xfaces.c (tty_supports_face_attributes_p): Fix code
10140 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
10141 was copied and not edited.
10142
10143 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
10144
10145 Add new `input-decode-map' keymap and use it for terminal
10146 escape sequences.
10147 * keyboard.h (struct kboard): Add Vinput_decode_map.
10148 Remove Vlocal_key_translation_map.
10149 * keyboard.c (read_key_sequence): Add support for input-decode-map.
10150 (init_kboard): Init input-decode-map.
10151 Replace local-key-translation-map back with key-translation-map.
10152 (syms_of_keyboard): Declare input-decode-map.
10153 Remove local-key-translation-map. Update docstrings.
10154 (mark_kboards): Mark Vinput_decode_map.
10155 Don't mark Vlocal_key_translation_map.
10156 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
10157 Replace local-key-translation-map back with key-translation-map.
10158 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
10159 Bind in input-decode-map rather than function-key-map.
10160
10161 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
10162 This was made redundant by the previous introduction of XSETPVECTYPE.
10163
10164 2007-10-09 Richard Stallman <rms@gnu.org>
10165
10166 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
10167
10168 2007-09-29 Richard Stallman <rms@gnu.org>
10169
10170 * eval.c (internal_condition_case_2, internal_condition_case_1)
10171 (internal_condition_case): Reenable abort if x_catching_errors ()
10172 to see if that really happens and why.
10173
10174 2007-10-06 Andreas Schwab <schwab@suse.de>
10175
10176 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
10177
10178 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
10179
10180 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
10181
10182 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
10183
10184 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
10185
10186 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
10187
10188 * window.h (struct window):
10189 * window.c (struct save_window_data, struct saved_window):
10190 * termhooks.h (struct terminal):
10191 * process.h (struct Lisp_Process):
10192 * frame.h (struct frame):
10193 * buffer.h (struct buffer):
10194 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
10195 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
10196 The size field of (pseudo)vectors is now unsigned.
10197 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
10198
10199 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
10200 Turn `count' into an integer.
10201
10202 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
10203 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
10204 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
10205 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
10206 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
10207
10208 * alloc.c (allocate_pseudovector): New fun.
10209 (ALLOCATE_PSEUDOVECTOR): New macro.
10210 (allocate_window, allocate_terminal, allocate_frame)
10211 (allocate_process): Use it.
10212 (mark_vectorlike): New function.
10213 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
10214 (mark_terminals): Use it.
10215 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
10216 (Fmake_byte_code): Use XSETPVECTYPE.
10217
10218 * frame.c (Fframe_parameters): Minor simplification.
10219
10220 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
10221
10222 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
10223
10224 * buffer.c (Fget_buffer_create, init_buffer_once):
10225 * lread.c (defsubr):
10226 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
10227
10228 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
10229 defined differently in the m/*.h files.
10230 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
10231 (XSETPVECTYPE): New macro.
10232 (XSETPSEUDOVECTOR): Use it.
10233
10234 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
10235 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
10236
10237 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
10238 * lread.c (defvar_per_buffer):
10239 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
10240
10241 * window.c (candidate_window_p): Only consider as visible frames that
10242 are on the same terminal.
10243
10244 * m/ibms390x.h (MARKBIT): Remove unused macro.
10245
10246 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
10247
10248 * lread.c (Fload): Fix typo in docstring.
10249
10250 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
10251
10252 * floatfns.c (Fexpt): Manually check for overflows, so that a power
10253 of a non-zero value can't yield zero.
10254
10255 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
10256
10257 * term.c (term_clear_mouse_face, term_mouse_highlight)
10258 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
10259
10260 * print.c (safe_debug_print): Use XHASH.
10261
10262 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
10263 Lisp elements such as tags.
10264 (XHASH): New macro.
10265 (EQ): Use it.
10266 (SREF, SSET, STRING_COPYIN): Use SDATA.
10267 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
10268
10269 * alloc.c (mark_terminal): Remove left-over declaration.
10270 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
10271 (allocate_vectorlike): Remove type argument. Adjust callers.
10272 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
10273 Only handle the one remaining MEM_TYPE_VECTORLIKE.
10274
10275 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
10276 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
10277 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
10278 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
10279 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
10280 Use them.
10281
10282 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
10283 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
10284 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
10285
10286 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
10287
10288 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
10289 loaded by default.
10290
10291 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
10292
10293 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
10294 on this tty.
10295 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
10296
10297 * term.c (mouse_face_window): Rename from Qmouse_face_window.
10298 Update all users.
10299 (handle_one_term_event): Use Gpm_DrawPointer.
10300 (Fgpm_mouse_start): Rename from Fterm_open_connection.
10301 Signal errors instead of returning nil. Always return nil.
10302 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
10303 Make it a noop if gpm-mouse was not activated.
10304 (syms_of_term): Update names.
10305
10306 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
10307
10308 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
10309 (init_sys_modes): Check that gpm_tty is the current tty.
10310
10311 * alloc.c (allocate_terminal): Set the vector size to only count the
10312 lisp fields. Initialize those to nil.
10313 (mark_object): Don't treat terminals specially.
10314 (mark_terminal): Remove.
10315 (mark_terminals): Use mark_object instead.
10316
10317 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
10318 the GC to the beginning.
10319
10320 * indent.h:
10321 * indent.c: Use EMACS_INT for ints coming from Elisp data.
10322
10323 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
10324
10325 2007-09-25 Jason Rumney <jasonr@gnu.org>
10326
10327 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
10328
10329 * w32console.c (create_w32cons_output): Remove.
10330
10331 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
10332
10333 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
10334 (reset_sys_modes): Use reset_terminal_modes_hook.
10335
10336 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
10337
10338 * eval.c (do_autoload): Don't output any message.
10339
10340 2007-09-24 Juri Linkov <juri@jurta.org>
10341
10342 * emacs.c (standard_args): Change priority of "--no-splash"
10343 from 40 to 3. Add "--no-desktop" with the same priority.
10344
10345 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
10346
10347 * alloc.c (gc_sweep): Check cons cell mark bits word by word
10348 and optimize the case where they are all 1.
10349
10350 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
10351
10352 * lisp.h (abs): Define if not defined.
10353 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
10354 Don't define `abs', since it's defined in lisp.h.
10355
10356 2007-09-22 Eli Zaretskii <eliz@gnu.org>
10357
10358 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
10359 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
10360 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
10361 (init_tty): Use DEV_TTY instead of "/dev/tty".
10362 [WINDOWSNT]: No need to protect from NAME arg being null.
10363
10364 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
10365
10366 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
10367 up the tty state.
10368
10369 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10370
10371 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
10372 (gpm_tty): Change its type.
10373 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
10374 (gpm_tty): Change its type and initialize it.
10375 (Fterm_open_connection): Check the frame is indeed a tty.
10376 Use the new gpm_tty.
10377 (Fterm_close_connection): Use the new gpm_tty.
10378 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
10379 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
10380
10381 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
10382
10383 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
10384 underline_color, to draw strike-through.
10385
10386 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10387
10388 * lisp.h (allocate_terminal): Declare.
10389
10390 * window.c (candidate_window_p): Consider frames that are being placed
10391 by the user as somewhere between visible and iconified.
10392 (window_loop): Prefer windows on the current frame.
10393 (Fselect_window): Move the use of select-frame to the beginning so we
10394 can just delegate all the work (it'll call us back anyway).
10395
10396 * frame.c (Qdisplay_environment_variable):
10397 * frame.h (Qdisplay_environment_variable): Delete.
10398
10399 * .gdbinit (xbacktrace): Print the arg's address rather than the value
10400 of the first arg, since that value may be a union.
10401
10402 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
10403 parameter rather than Qdisplay_environment_variable. If all else
10404 fails, look for DISPLAY in initial-environment.
10405
10406 2007-09-21 Glenn Morris <rgm@gnu.org>
10407
10408 * Makefile.in (emacstool): Remove target.
10409 (lisp, shortlisp): Remove termdev.elc.
10410
10411 2007-09-21 Markus Triska <markus.triska@gmx.at>
10412
10413 * xterm.c (x_delete_display): Compile session management conditionally.
10414
10415 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
10416
10417 * callproc.c (getenv_internal_1): New function.
10418 (getenv_internal): Use it.
10419 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
10420
10421 * terminal.c (get_terminal): Don't accept ints to represent terminals.
10422 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
10423 (Fset_terminal_parameter): Work with dead terminals as well.
10424 (Fmodify_terminal_parameters): Remove.
10425
10426 * terminal.c (get_terminal): Handle terminals.
10427 Make sure the terminal returned is live.
10428 (create_terminal): Use allocate_terminal.
10429 (mark_terminals): Move to alloc.c.
10430 (delete_terminal): Use terminal->name as liveness status.
10431 NULL out fields after freeing their contents.
10432 Don't deallocate the object.
10433 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
10434 rather than an int.
10435 (Fterminal_live_p): Accept non-integer arguments.
10436 (Fterminal_list): Return terminal objects rather than an ints.
10437
10438 * alloc.c (enum mem_type): New member for `terminal' objects.
10439 (allocate_terminal): New function.
10440 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
10441 Handle terminals.
10442 (mark_terminal): New fun.
10443 (mark_terminals): Move from terminal.c.
10444
10445 * term.c (get_tty_terminal): Don't treat output_initial specially.
10446 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
10447 (delete_tty): Use terminal->name as liveness status.
10448
10449 * termhooks.h (struct terminal): Make it into a pseudovector.
10450 Remove `deleted' replaced by checking `name's nullness.
10451
10452 * print.c (print_object): Handle terminals.
10453
10454 * lisp.h (enum pvec_type): New `terminal' pseudovector.
10455 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
10456
10457 * frame.c (make_terminal_frame):
10458 * keyboard.c (tty_read_avail_input):
10459 * w32term.c (x_delete_terminal):
10460 * xfns.c (Fx_create_frame, x_create_tip_frame):
10461 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
10462
10463 2007-09-20 Glenn Morris <rgm@gnu.org>
10464
10465 * process.c (Fmake_network_process): Doc fix.
10466
10467 2007-09-19 Jason Rumney <jasonr@gnu.org>
10468
10469 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
10470
10471 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
10472
10473 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
10474 Fix a C warning regarding variable constness.
10475
10476 * xterm.c (handle_one_xevent): Fix a C warning.
10477
10478 2007-09-18 Jason Rumney <jasonr@gnu.org>
10479
10480 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
10481
10482 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
10483
10484 * gtkutil.c (gdpy_def): New variable.
10485 (xg_initialize): Initialize gdpy_def.
10486 (xg_display_close): If no other display exists, set gdpy_def to a
10487 new connection.
10488
10489 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
10490
10491 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
10492 when we have no file name for the icon.
10493 (xg_tool_bar_expose_callback): Remove.
10494 (xg_create_tool_bar): Don't connect expose signal to
10495 xg_tool_bar_expose_callback.
10496 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
10497
10498 2007-09-16 Andreas Schwab <schwab@suse.de>
10499
10500 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
10501 values instead of zapping them.
10502
10503 2007-09-14 Glenn Morris <rgm@gnu.org>
10504
10505 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
10506 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
10507 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
10508 scope and rename to omfib_buffer for clarity.
10509 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
10510
10511 2007-09-14 Kenichi Handa <handa@m17n.org>
10512
10513 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
10514
10515 2007-09-13 Jason Rumney <jasonr@gnu.org>
10516
10517 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
10518
10519 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
10520
10521 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
10522 (mac_term_init): Call here instead, passing rif.
10523
10524 2007-09-13 Glenn Morris <rgm@gnu.org>
10525
10526 * s/hpux.h: No longer define `static' as nothing.
10527
10528 2007-09-13 Johan Bockgård <bojohan@gnu.org>
10529
10530 * callint.c (Fcall_interactively): Remove unused var `fun'.
10531
10532 2007-09-12 Romain Francoise <romain@orebokech.com>
10533
10534 * window.c (prefer_window_split_horizontally, display_buffer):
10535 Revert 2007-09-08 change.
10536
10537 2007-09-12 Glenn Morris <rgm@gnu.org>
10538
10539 * alloca.c: Remove file.
10540 * Makefile.in (alloca): Do not undef.
10541 (allocaobj, alloca.o): Remove.
10542 (otherobj): Remove allocaobj.
10543 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
10544 * regex.c (C_ALLOCA): Remove all references and code that was only
10545 used when this was defined.
10546 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
10547 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
10548 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
10549
10550 * Makefile.in (SOURCES, unlock, relock): Delete.
10551
10552 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
10553 (menu_grab_callback): All uses changed.
10554
10555 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
10556 (x_reply_selection_request): All uses changed.
10557
10558 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
10559
10560 * lread.c (load_warn_old_style_backquotes): Change message to look
10561 better when it appears in the middle of byte-compiler messages.
10562
10563 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
10564
10565 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
10566
10567 * xterm.c (x_create_terminal): Add comment.
10568
10569 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
10570
10571 2007-09-10 Richard Stallman <rms@gnu.org>
10572
10573 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
10574
10575 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
10576
10577 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
10578 (DEFUN): Document `intspec', use it instead of `prompt'.
10579
10580 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
10581
10582 * data.c (Finteractive_form): If the interactive specification starts
10583 with a `(', use it as a Lisp form.
10584
10585 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
10586 name and file modes.
10587
10588 * callint.c (Fcall_interactively): Comment fixes.
10589
10590 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
10591
10592 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
10593 and compiled functions.
10594
10595 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
10596
10597 * window.c (prefer_window_split_horizontally): New variable.
10598 (display_buffer): Consider splitting window horizontally depending
10599 on prefer_window_split_horizontally.
10600
10601 2007-09-08 Eli Zaretskii <eliz@gnu.org>
10602
10603 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
10604
10605 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10606
10607 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
10608
10609 * frame.c (x_set_frame_parameters): Check number is positive before
10610 using XFASTINT.
10611
10612 * window.c (freeze_window_start): Don't presume selected_window holds
10613 a window object.
10614 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
10615
10616 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
10617
10618 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
10619
10620 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10621
10622 * window.c (Vsplit_window_preferred_function): New var.
10623 (Fdisplay_buffer): Use it.
10624 (syms_of_window): Export, and initialize it.
10625
10626 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
10627
10628 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
10629
10630 2007-09-06 Glenn Morris <rgm@gnu.org>
10631
10632 * gtkutil.c (menu_grab_callback) <cnt>:
10633 * xselect.c (x_reply_selection_request) <cnt>: Move static
10634 variable to file scope.
10635
10636 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
10637
10638 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
10639 consistent values of selected_frame and selected_window.
10640
10641 2007-09-04 Jason Rumney <jasonr@gnu.org>
10642
10643 * w32console.c (initialize_w32_display): Zero unused hooks.
10644
10645 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10646
10647 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
10648 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
10649
10650 2007-09-04 Jason Rumney <jasonr@gnu.org>
10651
10652 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
10653 in w32console.c. Set up input. Remove XXX comments that have been
10654 confirmed as correct.
10655
10656 * s/ms-w32.h (MULTI_KBOARD): Define.
10657
10658 * w32console.c (one_and_only_w32cons): Remove.
10659 (initialize_w32_display): Take terminal argument.
10660
10661 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
10662 initialize_w32_display.
10663 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
10664
10665 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
10666
10667 * keyboard.c (discard_mouse_events): Discard it.
10668 (make_lispy_event): Translate it to a lisp event.
10669 (lispy_wheel_names): Add wheel-left and right events.
10670 (syms_of_keyboard): Enlarge wheel_syms.
10671
10672 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
10673 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
10674
10675 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
10676
10677 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
10678 from WM_MOUSEHWHEEL.
10679 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
10680
10681 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
10682 terminal.
10683
10684 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
10685 keyboard for the terminal.
10686
10687 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10688
10689 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
10690 (Vresume_tty_hook): Rename from Vresume_tty_functions.
10691 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
10692 and resume-tty-function to resume-tty-hook.
10693 (Fsuspend_tty, Fresume_tty): Use new names.
10694
10695 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
10696
10697 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
10698 if it starts with "n:".
10699
10700 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
10701
10702 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
10703
10704 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
10705
10706 * frame.h:
10707 * frame.c (Qterm_environment_variable): Remove.
10708 (syms_of_frame): Don't init and staticpro it.
10709
10710 * callproc.c (getenv_internal): Remove special case for $TERM.
10711
10712 * callproc.c (Vinitial_environment): New variable.
10713 (set_initial_environment): Initialize it.
10714 (syms_of_callproc): Declare it.
10715 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
10716 TERM under which a process runs is never related to the TERM in which
10717 Emacs is running.
10718
10719 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10720
10721 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
10722 * s/darwin.h: ... do it here.
10723
10724 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
10725
10726 * lisp.h (set_initial_environment): Rename from set_global_environment.
10727
10728 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
10729 removed by mistake on the multi-tty branch.
10730
10731 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
10732 (Fmodify_frame_parameters): Return a value.
10733
10734 * image.c (png_load): Comment-out var only used in commented-out code.
10735
10736 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
10737 before passing it to mark_object.
10738
10739 * xfaces.c (internal_resolve_face_name): Return a value.
10740 (internal_resolve_face_name, resolve_face_name_error): Comment out.
10741
10742 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
10743 (x_icon): Comment-out var only used in commented-out code.
10744
10745 2007-08-29 Romain Francoise <romain@orebokech.com>
10746
10747 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
10748 QUIT hasn't been provided.
10749
10750 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10751
10752 * callproc.c (child_setup, getenv_internal): Use the
10753 display-environment-variable and term-environment-variable frame params.
10754 (set_initial_environment): Initialise Vprocess_environment.
10755
10756 * config.in: Disable multi-keyboard support on a mac.
10757
10758 * frame.c (Qterm_environment_variable)
10759 (Qdisplay_environment_variable): New variables.
10760 (syms_of_frame): Intern and staticpro them.
10761 (Fmake_terminal_frame): Disable output method test.
10762
10763 * frame.h: Declare them here.
10764
10765 * macfns.c (x_set_mouse_color): Get rif from the frame.
10766 (x_set_tool_bar_lines): Don't use updating_frame.
10767 (mac_window): Add 2 new parameters for consistency with other systems.
10768 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
10769 frame parameters following what is done in X11 and w32. Don't use
10770 FRAME_MAC_DISPLAY_INFO.
10771 (Fx_open_connection, start_hourglass): Remove window-system check.
10772 (x_create_tip_frame): Get the keyboard from the terminal.
10773
10774 * macmenu.c: Reorder includes.
10775 (Fx_popup_menu): Use terminal specific mouse_position_hook.
10776
10777 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
10778 terminal parameter.
10779 (x_clear_frame): Add a frame parameter.
10780 (note_mouse_movement): Get rif from the frame.
10781 (mac_term_init): Initialize the terminal.
10782 (mac_initialize): Make static and move terminal initialization ...
10783 (mac_create_terminal): ... to this new function.
10784
10785 * macterm.h (struct mac_display_info): Add terminal.
10786 (mac_initialize): Delete declaration.
10787
10788 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
10789
10790 * sysdep.c: Comment out text after #endif.
10791
10792 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
10793 is defined. Better initialize ttys in windows. Use terminal
10794 specific mouse_position_hook.
10795
10796 * termhooks.h (union display_info): Add mac_display_info.
10797
10798 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
10799 Set the default minibuffer frame, window_system and the rest of the
10800 frame parameters following what is done in X11.
10801
10802 * w32term.c (w32_initialize): Make static.
10803
10804 * xselect.c (x_handle_selection_clear): Only access
10805 terminal->kboard when MULTI_KBOARD is defined.
10806
10807 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
10808 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
10809
10810 2007-08-29 Jason Rumney <jasonr@gnu.org>
10811
10812 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
10813 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
10814
10815 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
10816 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
10817
10818 * keyboard.c (restore_kboard_configuration): Only define when
10819 MULTI_KBOARD defined.
10820
10821 * makefile.w32-in: Update dependancies from Makefile.in.
10822 (OBJ1): Add terminal.$(O)
10823
10824 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
10825 Don't define function body.
10826 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
10827
10828 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
10829
10830 * w32.c (request_sigio, unrequest_sigio): Remove.
10831
10832 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
10833 (w32con_clear_frame, w32con_clear_end_of_line)
10834 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
10835 (w32con_delete_glyphs, w32con_set_terminal_window)
10836 (scroll_line, w32_sys_ring_bell): Add frame arg.
10837 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
10838 Add terminal arg.
10839 (PICK_FRAME): Remove.
10840 (w32con_write_glyphs): Use frame specific terminal coding.
10841 (one_and_only_w32cons): New global variable.
10842 (initialize_w32_display): Use it for storing hooks.
10843 (create_w32cons_output): New function.
10844
10845 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
10846 arg a frame.
10847
10848 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
10849 Set window_system.
10850 (x_set_tool_bar_lines): Don't use updating_frame.
10851 (Fx_create_frame): Set terminal and ref count.
10852 (Fx_open_connection): Remove window-system check.
10853
10854 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
10855
10856 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
10857 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
10858 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
10859 Add frame arg.
10860 (x_delete_terminal, w32_create_terminal): New functions.
10861 (w32_term_init): Create a terminal.
10862 (w32_initialize): Move terminal specific initialization to
10863 w32_create_terminal.
10864
10865 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
10866 (w32_clear_rect, w32_clear_area): Use background from frame.
10867 (w32_display_info): Add terminal.
10868 (w32_sys_ring_bell, x_delete_display): Declare here.
10869
10870 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
10871
10872 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
10873
10874 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
10875
10876 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
10877 Fix get_named_tty calls for the controlling tty.
10878
10879 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
10880
10881 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
10882
10883 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
10884
10885 * term.c (tty_insert_glyphs): Add missing first parameter.
10886
10887 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
10888
10889 * buffer.c (Fbuffer_list, Fbury_buffer):
10890 Take frame->buried_buffer_list into account.
10891
10892 * cm.c (current_tty): New variable, for cmputc().
10893 (cmputc): Use it.
10894 (cmcheckmagic): Add tty parameter, look up terminal streams there.
10895 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
10896 (cmgoto): Add tty parameter. Pass it on to calccost().
10897 Use emacs_tputs() instead of tputs().
10898
10899 * cm.h (emacs_tputs): New macro to set current_tty, and then call
10900 tputs().
10901 (current_tty): New variable, for cmputc().
10902 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
10903
10904 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
10905 (internal_condition_case, internal_condition_case_1)
10906 (internal_condition_case_2): Don't abort when x_catching_errors.
10907
10908 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
10909 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
10910 prevent crashes caused by bogus longjmps in read_char.
10911
10912 * keymap.h (Fset_keymap_parent): Add EXFUN.
10913
10914 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
10915 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
10916 Remove redundant definition.
10917
10918 * macfns.c (x_set_mouse_color, x_make_gc):
10919 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
10920
10921 * w32term.c (x_free_frame_resources):
10922 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
10923 (w32_initialize): Use the accessor macros for terminal characteristics.
10924
10925 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
10926 Use the accessor macros for terminal characteristics.
10927 * msdos.c (internal_terminal_init): Use the accessor macros for
10928 terminal characteristics.
10929 (ScreenVisualBell, internal_terminal_init):
10930 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
10931
10932 * termopts.h (no_redraw_on_reenter): Declare.
10933
10934 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
10935 (mark_terminals, mark_ttys): Declare.
10936 (Fgarbage_collect): Call them.
10937 (mark_object): Mark buried_buffer_list.
10938
10939 * prefix-args.c: Include stdlib.h for exit.
10940
10941 * syssignal.h: Add comment.
10942
10943 * indent.c: Include stdio.h.
10944
10945 * window.h (Vinitial_window_system): Declare.
10946 (Vwindow_system): Delete declaration.
10947
10948 * fontset.c (Finternal_char_font): Use FRAME_RIF.
10949
10950 * image.c (lookup_image): Don't initialize `c' until the xasserts
10951 have been run.
10952
10953 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
10954 FRAME_FOREGROUND_PIXEL.
10955
10956 * print.c (print_preprocess): Don't lose print_depth levels while
10957 iterating.
10958
10959 * widget.c (update_from_various_frame_slots):
10960 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
10961
10962 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
10963 frames.
10964 (window_internal_height): Remove bogus make_number call.
10965 (init_window_once): Call make_terminal_frame with two zero parameters.
10966
10967 * fileio.c (Fread_file_name): Update comment.
10968
10969 * callint.c (Fcall_interactively):
10970 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
10971 Make sure it is correctly unwound.
10972
10973 * xsmfns.c (x_session_close): New function.
10974
10975 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
10976 Delete declarations.
10977
10978 * xterm.h: Remove declaration for x_fully_uncatch_errors.
10979 (x_output): Remove background_pixel and foreground_pixel fields.
10980 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
10981 (x_delete_device, x_session_close): Declare.
10982
10983 * lread.c: Include setjmp.h. Update declaration of `read_char'.
10984 (read_filtered_event): Call `read_char' with a local
10985 `wrong_kboard_jmpbuf'.
10986
10987 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
10988 Don't call single_kboard_state. Use FRAME_RIF.
10989
10990 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
10991 systems.
10992
10993 * lisp.h (set_process_environment): Rename to `set_global_environment'.
10994 (Fframe_with_environment, Fset_input_meta_mode)
10995 (Fset_quit_char): EXFUN.
10996 (x_create_device, tty_output, terminal, tty_display_info): Declare.
10997 (init_sys_modes, reset_sys_modes): Update prototypes.
10998 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
10999
11000 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
11001 Vlocal_key_translation_map, and Vkeyboard_translate_table.
11002 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
11003 Delete declarations.
11004 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
11005 (temporarily_switch_to_single_kboard, tty_read_avail_input):
11006 New declarations.
11007
11008 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
11009 already does that during init_display(). Call syms_of_keymap
11010 before syms_of_keyboard. Call `syms_of_terminal'.
11011 Call set_initial_environment, not set_process_environment.
11012 (shut_down_emacs): Call reset_all_sys_modes() instead of
11013 reset_sys_modes().
11014
11015 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
11016 (internal_resolve_face_name, resolve_face_name_error): New functions.
11017 (resolve_face_name): Protect against loops and errors thrown by Fget.
11018 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
11019 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
11020
11021 * scroll.c: Replace CURTTY() with local variables throughout the
11022 file (where applicable).
11023 (calculate_scrolling, calculate_direct_scrolling)
11024 (scrolling_1, scroll_cost): Use the accessor macros for terminal
11025 characteristics.
11026
11027 * keymap.c (Vfunction_key_map): Remove.
11028 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
11029 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
11030 (Vkey_translation_map): Remove.
11031 (syms_of_keymap): Remove DEFVAR for key-translation-map.
11032 (Fdescribe_buffer_bindings)
11033 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
11034 Update for terminal-local key-translation-map.
11035
11036 * Makefile.in (callproc.o): Update dependencies.
11037 (lisp, shortlisp): Add termdev.elc.
11038 (obj): Add terminal.o.
11039 (terminal.o): Add dependencies.
11040 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
11041 (data.o, fns.o): Add termhooks.h dependency.
11042 (SOME_MACHINE_LISP): Add dnd.elc.
11043 (minibuf.o): Fix typo.
11044 Update dependencies.
11045
11046 * data.c (do_symval_forwarding, store_symval_forwarding)
11047 (find_symbol_value): Use the selected frame's keyboard, not
11048 current_kboard.
11049
11050 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
11051 Vwindow_system.
11052
11053 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
11054 Fmenu_bar_open.
11055 (syms_of_xmenu): Update defsubr.
11056 (mouse_position_for_popup, Fx_popup_menu)
11057 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
11058 (set_frame_menubar, free_frame_menubar)
11059 (create_and_show_popup_menu, xmenu_show, )
11060 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
11061 an X frame.
11062
11063 * xselect.c (x_own_selection): Abort if not an X frame.
11064 (some_frame_on_display): Check if it is an X frame.
11065 (x_handle_selection_clear): Deal with MULTI_KBOARD.
11066
11067 * coding.c: Include frame.h and termhooks.h.
11068 (terminal_coding, keyboard_coding): Delete.
11069 (Fset_terminal_coding_system_internal)
11070 (Fset_keyboard_coding_system_internal)
11071 (Fkeyboard_coding_system)
11072 (Fterminal_coding_system): Add a terminal parameter.
11073 Get terminal_coding from the terminal.
11074 (init_coding_once): Don't call setup_coding_system here.
11075
11076 * dispextern.h (set_scroll_region, turn_off_insert)
11077 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
11078 (tty_clear_end_of_line, tty_setup_colors)
11079 (delete_tty, updating_frame)
11080 (produce_special_glyphs, produce_glyphs, write_glyphs)
11081 (insert_glyphs): Remove.
11082 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
11083 (tty_turn_off_highlight, get_tty_size): Add declaration.
11084 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
11085
11086 * frame.h (enum output_method): Add output_initial.
11087 (struct x_output): Delete.
11088 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11089 Access foreground_pixel and background_pixel directly from the frame.
11090 (tty_display): Delete.
11091 (struct frame): Add buried_buffer_list, foreground_pixel,
11092 background_pixel and terminal. Delete kboard.
11093 (union output_data): Add tty.
11094 (FRAME_KBOARD): Get the kboard from the terminal.
11095 (FRAME_INITIAL_P): New macro.
11096 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
11097 (Qterm_environment_variable, Qdisplay_environment_variable)
11098 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
11099 New declarations.
11100
11101 * termchar.h (tty_output, tty_display_info): New structures.
11102 (tty_list): Declare.
11103 (FRAME_TTY, CURTTY): New macros.
11104 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
11105 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
11106 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
11107 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
11108
11109 * callproc.c: Include frame.h and termhooks.h, for terminal
11110 parameters.
11111 (add_env): New function.
11112 (child_setup): Use it.
11113 (child_setup, getenv_internal): Handle the new Vprocess_environment.
11114 (getenv_internal): Fix get_terminal_param call.
11115 (Fgetenv_internal, egetenv): Update doc.
11116 (syms_of_callproc): Initialize Vprocess_environment to nil.
11117 Register and initialize them. Remove obsolete defvars. Update doc
11118 strings.
11119 (child_setup): Handle Vlocal_environment_variables.
11120 (getenv_internal): Add terminal parameter.
11121 Handle Vlocal_environment_variables.
11122 (Fgetenv_internal): Add terminal parameter.
11123 (child_setup, getenv_internal, Fgetenv_internal): Store the local
11124 environment in a frame (not terminal) parameter. Update doc strings.
11125 (set_initial_environment): Rename from set_global_environment.
11126 Store Emacs environment in initial frame parameter.
11127
11128 * xdisp.c (redisplay_internal): Update references to
11129 `previous_terminal_frame'.
11130 (display_mode_line, Fformat_mode_line): Replace calls to
11131 `push_frame_kboard' with `push_kboard'.
11132 (get_glyph_string_clip_rects): Add extra parentheses and
11133 braces to prevent compiler warnings.
11134 (calc_pixel_width_or_height): Add xassert to check that the
11135 frame is alive. Don't call `lookup_image' on a termcap frame.
11136 (message2_nolog, message3_nolog, redisplay_internal)
11137 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
11138 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
11139 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
11140 (Fx_display_pixel_width, Fx_display_pixel_height)
11141 (Fx_display_planes, Fx_display_color_cells)
11142 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
11143 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
11144 (Fx_display_backing_store, Fx_display_visual_class)
11145 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
11146 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
11147
11148 * xfns.c (x_set_foreground_color x_set_background_color)
11149 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
11150 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11151 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
11152 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
11153 terminal that is being deleted.
11154 (Fx_create_frame): Use `store_frame_param' to set `window-system'
11155 frame parameter, and make sure it overrides any user-supplied setting.
11156 (Fx_close_connection, Fx_synchronize): Unify argument names with
11157 the rest of the DEFUNs.
11158
11159 * dispnew.c (Fsend_string_to_terminal): Update call to
11160 `get_tty_terminal'.
11161 (Fredraw_frame, Fsend_string_to_terminal)
11162 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
11163 FRAME_TERMCAP_P and FRAME_TTY.
11164 (window_change_signal): Don't believe width/height values that are
11165 impossibly small.
11166 (Vinitial_window_system): Rename from Vwindow_system.
11167 (termscript, Wcm, rif): Delete.
11168
11169 * termhooks.h (struct terminal): New struct containing the
11170 previously global text display hooks and new members NAME,
11171 DELETED and PARAM_ALIST.
11172 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
11173 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
11174 (FRAME_RIF): New macros.
11175 (get_terminal_param, get_device): New declarations.
11176 (termscript): Delete declaration.
11177
11178 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
11179 (XTflash, x_free_frame_resources, x_scroll_bar_create)
11180 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
11181 FRAME_FOREGROUND_PIXEL.
11182 (x_fully_uncatch_errors): Disable definition.
11183 (x_scroll_bar_expose): Fix reference to foreground pixel.
11184 (XTread_socket): Disable loop on all X displays.
11185 (x_delete_terminal): Don't set terminal->deleted and let
11186 delete_terminal delete the frames on the terminal.
11187 (x_delete_display): Doc update to reflect changes in
11188 delete_terminal.
11189 (x_display_info) <terminal>: Move member earlier in the struct.
11190 (deleting_tty): Remove old variable.
11191 (Fsuspend_tty): Call clear_tty_hooks.
11192 (Fresume_tty, init_tty): Call set_tty_hooks.
11193 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
11194 errors on X frames.
11195 (x_catch_errors_unwind): Abort if x_error_message is NULL.
11196 (handle_one_xevent): Initialize `f' to NULL.
11197 (x_delete_terminal, x_create_terminal): New functions.
11198 (XTset_terminal_modes, XTreset_terminal_modes)
11199 (XTread_socket, x_connection_closed, x_term_init)
11200 (x_term_init, x_delete_display): Add terminal parameter.
11201 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
11202 X connections.
11203
11204 * frame.c: Include termchar.h.
11205 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
11206 (Qwindow_system, Qenvironment, Qterm_environment_variable)
11207 (Qdisplay_environment_variable): New vars.
11208 (Fframep): Deal with output_initial.
11209 (Fframe-live-p): Doc fix.
11210 (Fwindow-system): New function.
11211 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
11212 (make_terminal_frame): Don't create frames on a terminal that is
11213 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11214 (store_frame_param): Check for found_for_frame before calling XFRAME.
11215 (Fmake_terminal_frame): Handle NULL tty names correctly.
11216 (syms_of_frame): Enhance doc string of `default-frame-alist'.
11217 (Fdelete_frame): Remove unused variable `count'. Don't allow other
11218 frames to refer to a deleted frame in their 'environment parameter.
11219 (Fframe_with_environment): New function.
11220 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
11221 (get_future_frame_param): New function.
11222 (Fmake_terminal_frame): Use it.
11223 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
11224
11225 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
11226 * sysdep.c (reset_sys_modes): Update for renames.
11227
11228 * keyboard.c (tty_read_avail_input): New function.
11229 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
11230 (syms_of_keyboard): Defsubr them.
11231 (Fset_input_meta_mode, Fset_quit_char): New functions.
11232 (Fset_input_mode): Split to above functions.
11233 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
11234 parameter. Use it in call to `read_char'.
11235 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
11236 Set wrong_kboard_jmpbuf correctly in recursive calls.
11237 Use current_kboard to access Vkeyboard_translate_table.
11238 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
11239 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
11240 Update longjmp invocations. Remember the original current_kboard,
11241 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
11242 changes it. Comment out unnecessary calls to
11243 `record_single_kboard_state' and `any_kboard_state'.
11244 Update recursive calls.
11245 (wrong_kboard_jmpbuf): Remove global variable.
11246 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
11247 Handle deleted interrupted_kboards correctly; that is a legal
11248 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
11249 and read_char calls. Abort if interrupted_kboard died in read_char.
11250 (any_kboard_state, single_kboard_state)
11251 (push_frame_kboard): Remove function.
11252 (pop_kboard): Switch out of single_kboard mode if the kboard has
11253 been deleted. Remove unused variable. Help debugging by not
11254 changing current_kboard unnecessarily. Set current_kboard to the
11255 kboard of the selected frame when the stored kboard object has
11256 been deleted before pop_kboard.
11257 (temporarily_switch_to_single_kboard): Change first parameter to a
11258 frame pointer. Throw an error when caller wants to change kboards
11259 while in single_kboard mode. Don't push_kboard if we weren't in
11260 single kboard state. Don't pop_kboard if we popped into any
11261 kboard state.
11262 (restore_kboard_configuration): Abort if pop_kboard changed the
11263 kboard in single_kboard mode. Call pop_kboard only after setting
11264 up single_kboard mode.
11265 (Frecursive_edit): Switch to single_kboard mode only in nested
11266 command loops.
11267 (cmd_error, command_loop, command_loop_1, timer_check):
11268 Comment out unnecessary call to `any_kboard_state' and
11269 `record_single_kboard_state'.
11270 (delete_kboard): Exit single_kboard mode if we have just deleted
11271 that kboard. Use FRAME_KBOARD.
11272 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
11273 `fatal_error_signal'.
11274 (record_single_kboard_state): Don't push_kboard if we weren't in
11275 single kboard state. Don't pop_kboard if we popped into any
11276 kboard state.
11277 (push_frame_kboard): Rename to push_kboard.
11278 (kbd_buffer_get_event): Use FRAME_TERMINAL.
11279 (read_avail_input): Read input from all terminals.
11280 (mark_kboards): Also mark Vkeyboard_translate_table.
11281 (kbd_buffer_store_event_hold): Simplify condition.
11282 (read_key_sequence): Reinitialize fkey and keytran at each replay.
11283 (Vkeyboard_translate_table): Move to struct kboard.
11284 (init_kboard): Initialize Vkeyboard_translate_table.
11285 (syms_of_keyboard): Use DEFVAR_KBOARD to define
11286 Vkeyboard_translate_table. Update doc strings. Update docs of
11287 local-function-key-map and function-key-map.
11288
11289 * terminal.c: New file.
11290
11291 * term.c: Include errno.h.
11292 (Vring_bell_function, device_list, initial_device)
11293 (next_device_id, ring_bell, update_begin, update_end)
11294 (set_terminal_window, cursor_to, raw_cursor_to)
11295 (clear_to_end, clear_frame, clear_end_of_line)
11296 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
11297 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
11298 (syms_of_term): Move their initialization to terminal.c.
11299 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
11300 (Ftty_display_color_cells)
11301 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
11302 (clear_tty_hooks, set_tty_hooks)
11303 (init_tty, maybe_fatal): New functions.
11304 (Ftty_type): Return nil if terminal is not on a tty instead of
11305 throwing an error. Doc update.
11306 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
11307 Doc update. Initialize new subrs and variables.
11308 (delete_tty): Use terminal->deleted.
11309 (tty_set_terminal_modes): Rename from set_terminal_modes.
11310 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
11311 (set_scroll_region): Rename to `tty_set_scroll_region'.
11312 (turn_on_insert): Rename to `tty_turn_on_insert'.
11313 (turn_off_insert): Rename to `tty_turn_off_insert'.
11314 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
11315 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
11316 (toggle_highligh): Rename to `tty_toggle_highlight'.
11317 (background_highlight): Rename to `tty_background_highlight'.
11318 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
11319 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
11320 (tty_set_scroll_region, tty_background_highlight)
11321 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
11322 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
11323 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
11324 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
11325 Add static modifier.
11326 (tty_reset_terminal_modes, tty_set_terminal_window)
11327 (tty_set_scroll_region, tty_background_highlight)
11328 (tty_highlight_if_desired, tty_cursor_to)
11329 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
11330 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
11331 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
11332 renames.
11333
11334 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
11335
11336 * keyboard.c: Qrtl is new.
11337 (parse_tool_bar_item): Handle :rtl keyword.
11338 (syms_of_keyboard): Intern :rtl keyword.
11339
11340 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
11341
11342 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
11343 so no Lisp code is executed.
11344 (file_for_image, find_rtl_image): New functions.
11345 (xg_get_image_for_pixmap): Use file_for_image.
11346 (update_frame_tool_bar): If direction is RTL, use RTL image if
11347 defined. Use Gtk stock images if defined.
11348
11349 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11350
11351 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
11352 for nonexistent or zero-width glyph in composition glyph.
11353
11354 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
11355
11356 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
11357
11358 * xdisp.c (Finvisible_p): New function.
11359 (syms_of_xdisp): defsubr it.
11360
11361 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
11362
11363 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
11364 Doc fixes.
11365
11366 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11367
11368 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
11369
11370 2007-08-24 Martin Rudalics <rudalics@gmx.at>
11371
11372 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
11373 whether decoding has modified buffer contents.
11374
11375 2007-08-24 Jason Rumney <jasonr@gnu.org>
11376
11377 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
11378 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
11379 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
11380 (init_svg_functions) [HAVE_NTGUI]: New function.
11381 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
11382 (svg_load_image): Use them.
11383 (svg_load_image) [HAVE_NTGUI]: Implement background.
11384
11385 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11386
11387 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
11388 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
11389 (LIBX): Remove @RSVG_LIBS@.
11390 (LIBES): Add $(RSVG_LIBS).
11391
11392 * image.c (svg_load_image): Blend with specified background if exists.
11393 Use IMAGE_BACKGROUND. Add Mac OS Support.
11394
11395 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
11396 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
11397 Remove macros.
11398 [MAC_OSX] (socket_callback): Do nothing.
11399 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
11400 ReceiveNextEvent.
11401 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
11402 socket_callback.
11403 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
11404
11405 2007-08-22 Glenn Morris <rgm@gnu.org>
11406
11407 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
11408
11409 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
11410
11411 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
11412
11413 * image.c: Add support for SVG images. Some additional comments
11414 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
11415 (svg_image_p): New function to test for SVG image.
11416 (svg_load): New function to load SVG image.
11417 (svg_load_image): New function, helper for svg_load.
11418 (Qsvg): New Lisp_object.
11419 (svg_keyword_index): New enum.
11420 (svg_format): New static `image_keyword' struct.
11421 (svg_type): New static `image_type' struct.
11422 (librsvg/rsvg.h): Include it.
11423
11424 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
11425
11426 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
11427
11428 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
11429
11430 * lread.c (Qold_style_backquotes): New var.
11431 (syms_of_lread): Init and staticpro it.
11432 (load_warn_old_style_backquotes): New fun.
11433 (Fload): Use them to warn about old style backquotes.
11434 (end_of_file_error, Fload): Remove unused vars.
11435
11436 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
11437
11438 * lread.c (Vold_style_backquotes): New var.
11439 (syms_of_lread): Init and export it to Elisp.
11440 (read1): Set it when we find an old-style (back)quote.
11441
11442 2007-08-22 Jason Rumney <jasonr@gnu.org>
11443
11444 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
11445
11446 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
11447
11448 * puresize.h (BASE_PURESIZE): Increase to 1140000.
11449
11450 2007-08-19 Richard Stallman <rms@gnu.org>
11451
11452 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
11453
11454 2007-08-19 Andreas Schwab <schwab@suse.de>
11455
11456 * alloc.c (pure): Round PURESIZE up.
11457
11458 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
11459
11460 * xterm.c (handle_one_xevent): Remove check that mouse click is in
11461 active frame.
11462
11463 2007-08-16 Richard Stallman <rms@gnu.org>
11464
11465 * eval.c (Fcommandp): Add parens to clarify.
11466
11467 * minibuf.c (Fall_completions): Use enum for type of table.
11468
11469 * emacs.c (USAGE2): Improve text.
11470
11471 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
11472
11473 * term.c (tty_default_color_capabilities): Declare static
11474 variables in file scope, to avoid HPUX compiler problem.
11475
11476 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
11477
11478 * gtkutil.c (update_frame_tool_bar): Use -1 as index
11479 to gtk_toolbar_insert.
11480
11481 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
11482
11483 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
11484
11485 * insdel.c (reset_var_on_error): New fun.
11486 (signal_before_change, signal_after_change):
11487 Use it to reset (after|before)-change-functions to nil in case of error.
11488 Bind inhibit-modification-hooks to t.
11489 Don't bind (after|before)-change-functions to nil while they run.
11490
11491 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11492
11493 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
11494 filling pixmap with stippled background.
11495
11496 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11497
11498 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
11499 Don't use invisible frame as parent window for repositioning.
11500
11501 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
11502
11503 * print.c (new_backquote_output): Rename from old_backquote_output.
11504 (print): Inverse its logic (according to its name) so as to match the
11505 behavior of new_backquote_flag in lread.c.
11506
11507 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11508
11509 * gmalloc.c (posix_memalign): New function.
11510
11511 * macterm.c (frame_highlight, frame_unhighlight): Don't call
11512 ActivateControl/DeactivateControl here.
11513 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
11514 frame-notice-user-settings is non-nil.
11515 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
11516 for kEventParamFMFontStyle.
11517 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
11518 mac_pass_command_to_system and mac_pass_control_to_system here.
11519 (XTread_socket): Call ActivateControl/DeactivateControl here.
11520 (XTread_socket) [TARGET_API_MAC_CARBON]:
11521 Check mac_pass_command_to_system and mac_pass_control_to_system here.
11522 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
11523 for window repositioning.
11524
11525 2007-08-08 Glenn Morris <rgm@gnu.org>
11526
11527 * Replace `iff' in doc-strings and comments.
11528
11529 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
11530
11531 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
11532
11533 2007-08-07 Martin Rudalics <rudalics@gmx.at>
11534
11535 * fileio.c (Finsert_file_contents): Run format-decode and
11536 after_insert_file_functions on entire buffer when REPLACE is
11537 non-nil and inhibit modification_hooks and point_motion_hooks.
11538 For consistency, run after_insert_file_functions iff something
11539 got inserted. Move signal_after_change and update_compositions
11540 after code running after_insert_file_functions. Make sure that
11541 undo_list doesn't record intermediate steps of the decoding process.
11542
11543 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11544
11545 * emacs.c (main)
11546 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
11547 Call malloc_enable_thread on interactive startup.
11548
11549 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
11550 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
11551 [USE_PTHREAD]: Conditionalize with it.
11552 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
11553 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
11554 New functions.
11555
11556 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
11557
11558 * xdisp.c (redisplay_window): When restoring original buffer
11559 position, make sure it is still valid.
11560
11561 * image.c (png_load): Ignore png-supplied background color.
11562
11563 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11564
11565 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
11566 Use kCFAbsoluteTimeIntervalSince1970.
11567
11568 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
11569 New variable.
11570 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
11571 event loop should be quit.
11572 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
11573 Quit dialog event loop if quit_dialog_event_loop is set.
11574
11575 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
11576 (Selection): New typedef. Use instead of ScrapRef.
11577 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
11578 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
11579 (mac_clear_selection): Rename from clear_scrap.
11580 (get_flavor_type_from_symbol): New argument SEL and subsume function of
11581 scrap_has_target_type. All uses changed.
11582 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
11583 (mac_selection_has_target_p): New functions.
11584 (mac_put_selection_value): Rename from put_scrap_string.
11585 (mac_get_selection_value): Rename from get_scrap_string.
11586 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
11587 (put_scrap_private_timestamp, scrap_has_target_type)
11588 (get_scrap_private_timestamp): Remove functions.
11589 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
11590 (x_own_selection, x_get_local_selection):
11591 Use mac_valid_selection_value_p.
11592 (x_own_selection): Don't use put_scrap_private_timestamp.
11593 Record OWNERSHIP-INFO into Vselection_alist instead.
11594 (x_get_local_selection): Don't check type if request is local.
11595 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
11596 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
11597
11598 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
11599
11600 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
11601 add comment explaining why.
11602
11603 2007-08-03 Richard Stallman <rms@gnu.org>
11604
11605 * fileio.c (Fvisited_file_modtime): Use make_time.
11606
11607 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
11608
11609 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
11610 build.
11611
11612 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
11613
11614 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
11615
11616 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
11617
11618 * puresize.h (BASE_PURESIZE): Increase to 1130000.
11619
11620 2007-07-30 Richard Stallman <rms@gnu.org>
11621
11622 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
11623
11624 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
11625
11626 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
11627
11628 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
11629
11630 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
11631 remote default-directory.
11632
11633 * buffer.c (mode-line-format): Update doc string.
11634
11635 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11636
11637 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
11638 scroll bar gap.
11639 (x_scroll_bar_create): Set bar->fringe_extended_p.
11640 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
11641 on frame edge. Check fringe background extension. Don't clear
11642 extended fringe background area.
11643
11644 * w32term.h (struct scroll_bar): New member fringe_extended_p.
11645 (w32_fill_area): Enclose multiple statements with do ... while (0).
11646
11647 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
11648 Extend fringe background to scroll bar gap.
11649 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
11650 Set bar->fringe_extended_p.
11651 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11652 Put leftmost/rightmost scroll bars on frame edge. Check fringe
11653 background extension. Don't clear extended fringe background area.
11654
11655 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11656 New member fringe_extended_p.
11657
11658 2007-07-25 Glenn Morris <rgm@gnu.org>
11659
11660 * Relicense all FSF files to GPLv3 or later.
11661
11662 * COPYING: Switch to GPLv3.
11663
11664 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11665
11666 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
11667
11668 * data.c (Finteractive_form): Check for the presence of an
11669 `interactive-form' symbol property more thoroughly.
11670
11671 * data.c (Finteractive_form): Use an `interactive-form' property if
11672 present, analogous to the function-documentation property.
11673
11674 2007-07-24 Jason Rumney <jasonr@gnu.org>
11675
11676 * w32fns.c (x_real_positions): Get real position from OS instead of
11677 calculating it.
11678
11679 2007-07-23 Jason Rumney <jasonr@gnu.org>
11680
11681 * filelock.c (current_lock_owner): Allow for @ sign in username.
11682
11683 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
11684
11685 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
11686 remote default-directory.
11687
11688 * buffer.c (mode-line-format): Describe above case in doc string.
11689
11690 2007-07-20 Eli Zaretskii <eliz@gnu.org>
11691
11692 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
11693 Define if not defined.
11694
11695 2007-07-18 Jason Rumney <jasonr@gnu.org>
11696
11697 * w32proc.c (w32_executable_type): Handle 64 bit executables.
11698
11699 2007-07-18 Richard Stallman <rms@gnu.org>
11700
11701 * data.c (Fsetq_default): Doc fix.
11702
11703 * eval.c (Fsetq): Doc fix.
11704
11705 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
11706
11707 * coding.c (Ffind_operation_coding_system):
11708 * eval.c (For, Fand): Doc fixes.
11709 Reported by Johan Bockgård.
11710
11711 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
11712
11713 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
11714
11715 * xterm.h: Declare x_ewmh_activate_frame.
11716
11717 * xterm.c (x_ewmh_activate_frame): New function.
11718 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
11719
11720 2007-07-17 Martin Rudalics <rudalics@gmx.at>
11721
11722 * window.c (Fdisplay_buffer): If largest or LRU window is the
11723 only window, split it even if it is not eligible for splitting.
11724 This restores the original behavior broken by the 2007-07-15
11725 change.
11726
11727 2007-07-17 Glenn Morris <rgm@gnu.org>
11728
11729 * abbrev.c (abbrev_check_chars): New function.
11730 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11731 Call abbrev_check_chars to check abbrev characters are word
11732 constituents. Doc fix.
11733
11734 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
11735
11736 * process.c (Fstart_process, Fmake_network_process)
11737 (read_process_output): Fix up last changes.
11738
11739 2007-07-16 Eli Zaretskii <eliz@gnu.org>
11740
11741 * makefile.w32-in (clean): Don't delete *~.
11742
11743 2007-07-16 Andreas Schwab <schwab@suse.de>
11744
11745 * window.c (Fdisplay_buffer): Use NILP.
11746 (Fset_window_scroll_bars): Likewise.
11747
11748 2007-07-15 Martin Rudalics <rudalics@gmx.at>
11749
11750 * window.c (window_min_size_2): New function.
11751 (window_min_size_1, size_window, Fdisplay_buffer)
11752 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
11753 windows without mode- or header-lines when window-min-height is
11754 too small.
11755 (size_window): Reset nodelete_p after testing it, following an
11756 earlier note by Kim F. Storm.
11757 (display_buffer): Do not set split_height_threshold to twice the
11758 value of window_min_height to avoid changing the value of a
11759 customizable variable. Rather explicitly check whether the
11760 height of the window that shall be splitted is at least as large
11761 as split_height_threshold.
11762 (Fwindow_full_width_p): New defun.
11763 (syms_of_window): Defsubr it.
11764
11765 * window.h: Add EXFUN for Fwindow_full_width_p.
11766
11767 2007-07-14 Jason Rumney <jasonr@gnu.org>
11768
11769 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
11770
11771 2007-07-14 Richard Stallman <rms@gnu.org>
11772
11773 * eval.c (maybe_call_debugger): New function.
11774 (find_handler_clause): Use maybe_call_debugger.
11775 Call it when the handler says `debug'.
11776 Eliminate DEBUGGER_VALUE_PTR.
11777 (Fsignal): Eliminate debugger_value.
11778 (Qdebug): New variable.
11779 (syms_of_eval): Initialize it.
11780
11781 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
11782
11783 * eval.c (Fprogn):
11784 * keyboard.c (Ftrack_mouse):
11785 * print.c (Fwith_output_to_temp_buffer):
11786 * window.c (Fsave_window_excursion): Doc fix.
11787
11788 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
11789
11790 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
11791
11792 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
11793
11794 * process.h (struct Lisp_Process): Turn slots infd, outfd,
11795 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
11796 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
11797 read_output_delay, and read_output_skip from Lisp_Objects to ints.
11798 Remove unused encoding_carryover.
11799 * process.c: Adjust all functions accordingly.
11800
11801 2007-07-12 Richard Stallman <rms@gnu.org>
11802
11803 * term.c: Include unistd.h only if HAVE_UNISTD_H.
11804
11805 2007-07-11 Jason Rumney <jasonr@gnu.org>
11806
11807 * makefile.w32-in (LIBS): Include OLE32.
11808
11809 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
11810 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
11811
11812 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
11813
11814 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
11815 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
11816 from a Lisp_Object into a bare pointer.
11817 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11818 Adjust the code correspondingly.
11819
11820 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
11821
11822 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
11823 (term_show_mouse_face): Remove unused var `j'.
11824 (handle_one_term_event): Remove unused vars `i' and `j'.
11825 Don't cast return value of ttyname since it's not necessary.
11826
11827 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
11828
11829 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
11830 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
11831
11832 * fns.c (map_char_table): Use an array of int for `indices' rather than
11833 an array of Lisp_Objects (which are only ever integers anyway).
11834 (Fmap_char_table): Update caller.
11835 * lisp.h: Update prototype.
11836 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
11837 * fontset.c (Ffontset_info):
11838 * casetab.c (set_case_table): Update callers.
11839
11840 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
11841
11842 * keymap.c (struct accessible_keymaps_data)
11843 (struct where_is_internal_data): New structures.
11844 (accessible_keymaps_1, where_is_internal_1): Use them to change
11845 interface to adhere to the one used by map_keymap.
11846 (Faccessible_keymaps, where_is_internal): Use map_keymap.
11847 (accessible_keymaps_char_table, where_is_internal_2): Remove.
11848
11849 * keymap.h (map_keymap_function_t): More informative prototype.
11850
11851 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
11852
11853 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
11854 (looking_at_1): Don't change search_regs and last_thing_searched
11855 if `inhibit-changing-match-data' is non-nil.
11856 (string_match_1, search_buffer, set_search_regs): Likewise.
11857 (syms_of_search): Add Lisp level definition for
11858 `inhibit-changing-match-data' and set it to nil.
11859 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
11860 start and end of the match, instead of using values in search_regs.
11861
11862 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
11863
11864 * minibuf.c (Fcompleting_read): New value `confirm-only'
11865 for `require-match'.
11866
11867 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
11868
11869 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
11870 part of the 2007-06-27 change to syms_of_fileio.
11871
11872 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11873
11874 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
11875 Check WINDOWP before using XWINDOW. Consolidate return statements.
11876
11877 2007-06-27 Richard Stallman <rms@gnu.org>
11878
11879 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
11880
11881 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
11882
11883 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
11884
11885 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11886
11887 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
11888 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
11889 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
11890 (_free_internal, memalign): Use them.
11891 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
11892 Initialize to PTHREAD_MUTEX_INITIALIZER.
11893 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
11894 (morecore_nolock): Rename from morecore. All uses changed.
11895 Use only nolock versions of internal allocation functions.
11896 (_malloc_internal_nolock, _realloc_internal_nolock)
11897 (_free_internal_nolock): New functions created from
11898 _malloc_internal, _realloc_internal, and _free_internal.
11899 (_malloc_internal, _realloc_internal, _free_internal): Use them.
11900 Copy hook value to automatic variable before its use.
11901 (memalign): Copy hook value to automatic variable before its use.
11902
11903 2007-06-26 Kenichi Handa <handa@m17n.org>
11904
11905 * coding.c (Ffind_operation_coding_system): Docstring improved.
11906 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
11907
11908 2007-06-25 David Kastrup <dak@gnu.org>
11909
11910 * keymap.c (Fcurrent_active_maps): Add `position' argument.
11911 (Fwhere_is_internal): Adjust call to `current-active-maps' to
11912 cater for additional parameter.
11913
11914 * keymap.h: Adjust number of parameters to `current-active-maps'.
11915
11916 * doc.c (Fsubstitute_command_keys): Adjust call of
11917 `current-active-maps'.
11918
11919 2007-06-25 David Kastrup <dak@gnu.org>
11920
11921 * callint.c (Fcall_interactively): Make the parsing of interactive
11922 specs somewhat more readable.
11923
11924 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11925
11926 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
11927 to scroll bar gap also when bitmap fills fringe. Draw only foreground
11928 if extended background has already been filled.
11929
11930 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11931
11932 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
11933 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
11934
11935 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
11936 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
11937 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
11938 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
11939 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
11940 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
11941 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
11942 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
11943 Run timers during dialog popup.
11944 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
11945
11946 2007-06-21 Jason Rumney <jasonr@gnu.org>
11947
11948 * image.c (convert_mono_to_color_image): Swap fore and background.
11949
11950 2007-06-20 Jason Rumney <jasonr@gnu.org>
11951
11952 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
11953 (w32_free_bdf_font): Unmap memory not handle.
11954
11955 2007-06-20 Sam Steingold <sds@gnu.org>
11956
11957 * gmalloc.c (__morecore): Fix the declaration to comply with the
11958 definition.
11959
11960 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
11961
11962 * w32term.c (w32_delete_display): Remove leftover declaration.
11963 (w32_define_cursor, w32_initialize): Make static.
11964
11965 * w32.c (_wsa_errlist): Fix typo in error message.
11966 (init_environment): Ignore any environment variable from the
11967 registry having a null value.
11968
11969 2007-06-20 Glenn Morris <rgm@gnu.org>
11970
11971 * Makefile.in (LIBGIF): Default to -lgif.
11972
11973 2007-06-17 Jason Rumney <jasonr@gnu.org>
11974
11975 * w32menu.c (add_menu_item): Don't use multibyte string functions on
11976 unicode strings.
11977
11978 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
11979
11980 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
11981 Fix typo in docstring.
11982
11983 2007-06-16 Eli Zaretskii <eliz@gnu.org>
11984
11985 * w32menu.c (add_menu_item): Escape `&' characters in menu items
11986 and their keybindings.
11987
11988 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
11989
11990 * composite.c (update_compositions): Fix last fix.
11991
11992 2007-06-14 Jason Rumney <jasonr@gnu.org>
11993
11994 * w32.c (get_process_times_fn): New function pointer.
11995 (globals_of_w32): Intialize it if present in kernel32.dll.
11996 (w32_get_internal_run_time): New function.
11997
11998 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
11999
12000 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
12001
12002 * composite.c (update_compositions): Check the validness of
12003 compositions.
12004
12005 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12006
12007 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
12008 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
12009
12010 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
12011 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
12012
12013 * macgui.h (USE_MAC_TOOLBAR): New define.
12014
12015 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12016 Return immediately unless popup is activated.
12017
12018 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
12019 background to scroll bar gap.
12020 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
12021 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
12022 scroll bars on frame edge. Check fringe background extension.
12023 Don't clear extended fringe background area.
12024 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
12025 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
12026 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
12027 [USE_MAC_TOOLBAR]: New macros.
12028 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
12029 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
12030 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
12031 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
12032 [USE_MAC_TOOLBAR]: New functions.
12033 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
12034 manually if previous repositioning has failed.
12035 (mac_handle_keyboard_event): Use precomputed event kind.
12036 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
12037 as tool bar item click. Handle mouse movement over tool bar items.
12038
12039 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
12040 toolbar_win_gravity.
12041 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
12042 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
12043 Add externs.
12044
12045 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
12046 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
12047
12048 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
12049
12050 * image.c (search_image_cache): Remove unused variable.
12051
12052 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
12053
12054 * xfns.c, xmenu.c: Link to xaw3d if available.
12055
12056 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12057
12058 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
12059 frame_foreground and frame_background.
12060
12061 * image.c (lookup_image): Save frame foreground and background colors.
12062 (search_image_cache): Check if saved and current frame colors match.
12063
12064 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
12065
12066 * regex.c (regex_compile): Remove the `regnum' counter.
12067 Use bufp->re_nsub instead. Add support for \(?N:RE\).
12068
12069 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
12070
12071 * term.c: Include intervals.h to declare Fget_text_property.
12072
12073 2007-06-10 Jason Rumney <jasonr@gnu.org>
12074
12075 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
12076
12077 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
12078
12079 * callint.c (Fcall_interactively):
12080 * editfns.c (Fdelete_and_extract_region):
12081 * fileio.c (Fread_file_name):
12082 * fns.c (Fmapconcat):
12083 * keyboard.c (cmd_error_internal):
12084 * keymap.c (Fkey_description):
12085 * lread.c (openp):
12086 * minibuf.c (read_minibuf):
12087 * search.c (wordify):
12088 * sunfns.c (sel_read):
12089 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
12090 * xfns.c (x_default_scroll_bar_color_parameter):
12091 * xmenu.c (menu_help_callback):
12092 * xselect.c (Fx_get_atom_name):
12093 * xterm.c (x_term_init): Use empty_unibyte_string.
12094
12095 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
12096
12097 * alloc.c (init_strings): Initialize canonical empty strings.
12098 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
12099 canonical empty string when the requested size is 0.
12100
12101 * emacs.c (empty_unibyte_string): Rename from empty_string.
12102 (empty_multibyte_string): New canonical empty string.
12103 (syms_of_emacs): Don't initialize empty_string.
12104
12105 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
12106 string, if appropriate.
12107 (empty_unibyte_string, empty_multibyte_string): New externs.
12108 (empty_string): Remove extern.
12109
12110 * lread.c (syms_of_lread): Use empty_unibyte_string.
12111
12112 2007-06-07 Jason Rumney <jasonr@gnu.org>
12113
12114 * s/ms-w32.h: Don't define HAVE_TZNAME.
12115
12116 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
12117
12118 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12119
12120 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
12121
12122 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
12123 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
12124
12125 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12126 Don't call next handler.
12127 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
12128 Remove argument. Install handler to application.
12129 (set_frame_menubar): Don't change deep_p.
12130 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
12131 FRAME_OUTER_TO_INNER_DIFF_Y.
12132 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
12133 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
12134 [HAVE_DIALOGS]: New macros.
12135 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
12136 Use them.
12137 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
12138
12139 * macselect.c [MAC_OSX] (install_service_handler): Rename from
12140 init_service_handler. All callers changed. Return OSStatus value.
12141
12142 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
12143 All callers changed so as not to call SetPortWindowPort.
12144 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
12145 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
12146 mac_draw_string_common.
12147 (mac_draw_image_string_qd): Likewise.
12148 (mac_draw_string_common): Use them. Add INLINE.
12149 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
12150 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
12151 GetGlobalMouse.
12152 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
12153 and FRAME_OUTER_TO_INNER_DIFF_Y.
12154 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
12155 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
12156 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
12157 repositioning window to mac_handle_window_event.
12158 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
12159 saving window location to mac_handle_window_event
12160 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
12161 (install_menu_target_item_handler): Remove argument in extern.
12162 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
12163 Also accept command events.
12164 (do_keystroke): New function created from XTread_socket.
12165 (init_command_handler): Remove functions.
12166 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
12167 and save window location by kEventWindowShowing and kEventWindowHiding
12168 handlers here. Don't call next handler for window state change and
12169 focus events.
12170 (mac_handle_application_event, mac_handle_keyboard_event)
12171 [TARGET_API_MAC_CARBON]: New functions.
12172 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
12173 kEventWindowShowing and kEventWindowHiding events. Move installation
12174 of mouse, font, text input and menu target item handlers to
12175 install_application_handler.
12176 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
12177 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12178 New function.
12179 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12180 Register it.
12181 (XTread_socket) [TARGET_API_MAC_CARBON]:
12182 Consolidate SendEventToEventTarget calls.
12183 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
12184 Move application activation handler to mac_handle_application_event.
12185 Move keyboard handler to mac_handle_keyboard_event.
12186 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
12187 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
12188 init_command_handler. Call install_application_handler.
12189
12190 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
12191 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
12192
12193 2007-06-07 Glenn Morris <rgm@gnu.org>
12194
12195 * emacs.c (main): Use `emacs-copyright' in --version output.
12196
12197 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
12198
12199 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
12200
12201 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12202
12203 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
12204
12205 * macgui.h: Replace WindowPtr with WindowRef.
12206
12207 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12208 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12209 Replace ControlHandle with ControlRef.
12210 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
12211
12212 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12213 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12214 Replace ControlHandle with ControlRef.
12215 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
12216 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
12217
12218 * macterm.h (struct scroll_bar): Rename member control_handle_low
12219 and control_handle_high to control_ref_low and control_ref_high.
12220 All uses changed.
12221 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
12222 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
12223 respectively. All uses changed.
12224 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
12225 (install_window_handler, remove_window_handler): Replace WindowPtr
12226 with WindowRef in externs.
12227
12228 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
12229
12230 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
12231
12232 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
12233
12234 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
12235
12236 * frame.c (Fmouse_position, Fmouse_pixel_position):
12237 Condition on HAVE_GPM too.
12238
12239 * term.c (term_mouse_highlight): Remove unused variables.
12240 (Fterm_open_connection): Set gpm_zerobased to 1.
12241 (term_mouse_movement, term_mouse_click, handle_one_term_event):
12242 Use zero based co-ordinates.
12243 (handle_one_term_event): Report a drag as mouse movement too.
12244
12245 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
12246
12247 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
12248
12249 * image.c (search_image_cache): New function. Require background
12250 color match if background color is unspecified in the image spec.
12251 (uncache_image, lookup_image): Use it.
12252
12253 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
12254
12255 * window.c (Fshrink_window): Reflow docstring.
12256
12257 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
12258
12259 * Version 22.1 released.
12260
12261 2007-06-01 Richard Stallman <rms@gnu.org>
12262
12263 * xfns.c (x_encode_text): Add GCPRO.
12264
12265 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12266
12267 * xfns.c (x_set_name_internal): Save encoded name before
12268 x_encode_text in case string data is relocated.
12269
12270 2007-05-31 Richard Stallman <rms@gnu.org>
12271
12272 * buffer.c (syms_of_buffer): Doc fix.
12273
12274 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
12275
12276 * sysdep.c (init_sys_modes): Add rather than replace with
12277 O_NONBLOCK.
12278
12279 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
12280 term_mouse_moveto.
12281
12282 * termhooks.h (term_mouse_moveto): New extern.
12283
12284 * term.c (mouse_face_window): Rename...
12285 (Qmouse_face_window): ...to this.
12286 (term_show_mouse_face, term_clear_mouse_face)
12287 (term_mouse_highlight): Use Qmouse_face_window.
12288 (term_mouse_moveto): New function.
12289 (term_mouse_position): Make it work.
12290 (syms_of_term): Uncomment assignment to mouse_position_hook.
12291 Staticpro Qmouse_face_window.
12292
12293 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12294
12295 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
12296 around current_column call.
12297
12298 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
12299
12300 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
12301 * xdisp.c (next_element_from_buffer):
12302 * window.c (delete_window):
12303 * term.c (term_mouse_highlight):
12304 * msdos.c (getdefdir):
12305 * macterm.c (mac_create_bitmap_from_bitmap_data)
12306 (init_font_name_table):
12307 * fns.c (Fsxhash):
12308 * data.c (Fmake_local_variable):
12309 * ccl.c (ccl_driver): Likewise.
12310
12311 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12312
12313 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
12314 Call mac_wakeup_from_rne on window size change.
12315
12316 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
12317
12318 * image.c (uncache_image): Fix typo.
12319
12320 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
12321
12322 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
12323
12324 2007-05-22 Richard Stallman <rms@gnu.org>
12325
12326 * xterm.c (x_connection_closed): Remove NO_RETURN.
12327
12328 2007-05-22 Martin Rudalics <rudalics@gmx.at>
12329
12330 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
12331
12332 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
12333
12334 * image.c (uncache_image): New function.
12335 (Fimage_refresh): New function.
12336
12337 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
12338
12339 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
12340
12341 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
12342
12343 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
12344 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
12345
12346 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
12347
12348 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
12349 conditional on [HAVE_GPM_H].
12350
12351 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
12352
12353 * syntax.c (skip_chars): Update syntax-table only after we checked that
12354 the new location is valid.
12355
12356 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12357
12358 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
12359 mac_get_window_bounds.
12360
12361 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
12362
12363 * Makefile.in (LIBGPM): Allow it to be set from configure.
12364 If set then link Emacs with it.
12365
12366 * config.in: Regenerate.
12367
12368 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
12369 New externs.
12370
12371 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
12372 Include gpm.h.
12373 (handle_one_term_event, term_gpm): New externs.
12374
12375 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
12376 and allow it to be interrupted by SIGIO.
12377
12378 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
12379 (wait_reading_process_output): Wait on gpm_fd too.
12380 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
12381 (add_gpm_wait_descriptor_called_flag): New variable.
12382 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
12383
12384 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
12385 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
12386 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
12387 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
12388 (make_lispy_event): Add case GPM_CLICK_EVENT.
12389 (read_avail_input): Handle mouse input.
12390
12391 * term.c (write_glyphs_with_face): New function.
12392 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
12393 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
12394 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
12395 (mouse_face_face_id, term_gpm, pos_x, pos_y)
12396 (last_mouse_x, last_mouse_y): New variables.
12397 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
12398 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
12399 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
12400 (Fterm_close_connection): New functions.
12401 (term_init): Initialise mouse_face_window.
12402
12403 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
12404
12405 * xdisp.c (redisplay_window): If first window line is a
12406 continuation line, recompute the new window start instead of
12407 recentering.
12408
12409 2007-05-18 Glenn Morris <rgm@gnu.org>
12410
12411 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
12412 Suggested by Alfred M. Szmidt <ams@gnu.org>.
12413
12414 2007-05-17 Glenn Morris <rgm@gnu.org>
12415
12416 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
12417
12418 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12419
12420 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
12421 dead key repeat and up events.
12422
12423 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
12424
12425 * image.c (pbm_load): Check image size for monochrome pbm.
12426
12427 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
12428
12429 * xterm.c (XTread_socket): Revert last change.
12430
12431 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
12432
12433 * image.c (pbm_load): Correctly check image size for greyscale pbm.
12434
12435 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
12436
12437 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12438
12439 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
12440 mixup (YAILOM).
12441
12442 2007-05-07 Andreas Schwab <schwab@suse.de>
12443
12444 * keymap.c (Flookup_key): Fix typo in last change.
12445
12446 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12447
12448 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
12449 mapping for unibyte strings.
12450
12451 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12452
12453 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
12454 (Fx_popup_dialog) [MAC_OSX]: Likewise.
12455
12456 2007-04-29 Richard Stallman <rms@gnu.org>
12457
12458 * insdel.c (replace_range): For undo, record insertion first.
12459
12460 2007-04-29 Andreas Schwab <schwab@suse.de>
12461
12462 * lisp.h (VECSIZE): Use OFFSETOF.
12463
12464 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12465
12466 * xdisp.c (try_window_reusing_current_matrix): Fix number of
12467 disabled lines.
12468
12469 2007-04-28 Richard Stallman <rms@gnu.org>
12470
12471 * lread.c (read_escape): In a string, \s is always space.
12472
12473 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
12474
12475 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
12476
12477 * gtkutil.c (xg_update_menubar, create_menus): Create empty
12478 submenu for menu bar items.
12479
12480 See ChangeLog.10 for earlier changes.
12481
12482 ;; Local Variables:
12483 ;; coding: utf-8
12484 ;; add-log-time-zone-rule: t
12485 ;; End:
12486
12487 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
12488
12489 This file is part of GNU Emacs.
12490
12491 GNU Emacs is free software: you can redistribute it and/or modify
12492 it under the terms of the GNU General Public License as published by
12493 the Free Software Foundation, either version 3 of the License, or
12494 (at your option) any later version.
12495
12496 GNU Emacs is distributed in the hope that it will be useful,
12497 but WITHOUT ANY WARRANTY; without even the implied warranty of
12498 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12499 GNU General Public License for more details.
12500
12501 You should have received a copy of the GNU General Public License
12502 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
12503
12504 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40