(Ffont_spec): Fix usage in docstring.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
7a18a178
JB
12008-06-16 Juanma Barranquero <lekktu@gmail.com>
2
3 * font.c (Ffont_spec): Fix usage in docstring.
4
6f568955
AS
52008-06-16 Andreas Schwab <schwab@suse.de>
6
7 * font.c (Ffont_face_attributes): Fix definition.
8
3ef8c1b4
JR
92008-06-16 Jason Rumney <jasonr@gnu.org>
10
11 * font.h (font_style_symbolic_from_value): Remove.
12
13 * font.c (font_style_symbolic_from_value): Remove.
14 (font_style_symbolic): Revert to pre 2008-06-13 version.
15
16 * w32font.c (w32_to_fc_weight): New function.
17 (w32font_full_name, logfont_to_fcname): Use it.
18
5e634ec9
KH
192008-06-16 Kenichi Handa <handa@m17n.org>
20
21 * font.c (font_check_object): Delete it.
22 (font_clear_cache): Check if a font-object is alive.
23 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
24 font-object to nil.
25 (font_close_object): Don't check FONT_CLOSE_OBJECT.
26 (font_at): Don't call font_check_object.
2babb359 27 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 28
6409a955
KY
292008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
30
31 * puresize.h (BASE_PURESIZE): Increase to 1230000.
32
ce4eaddb
CY
332008-06-16 Chong Yidong <cyd@stupidchicken.com>
34
35 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
36
523dbe64
CY
372008-06-15 Chong Yidong <cyd@stupidchicken.com>
38
54b2ab27 39 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
40 (font_unparse_fcname): Handle data in family and foundry indices
41 as symbols, not strings.
42 (font_unparse_gtkname, Ffont_face_attributes): New functions.
43
54b2ab27 44 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
45
46 * font.h (font_unparse_gtkname): Add prototype.
47
9f296082
KH
482008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
49
54b2ab27 50 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 51
3306c6dc
AS
522008-06-15 Andreas Schwab <schwab@suse.de>
53
54 * font.c (font_update_drivers): Fix crash when no drivers match.
55
a099c27a
SM
562008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
57
58 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
59 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
60
a8aa344d
SM
612008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
62
63 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
64
a879ee6f
SM
652008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
66
67 * process.c (Fserial_process_configure, Fprocess_send_eof):
68 Use EQ to compare Lisp_Objects.
69
6fe9826d
JR
702008-06-13 Jason Rumney <jasonr@gnu.org>
71
a879ee6f 72 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 73
a879ee6f
SM
74 * w32font.c (logfont_to_fcname): New function.
75 (Fx_select_font): New font dialog function compatible with
76 GTK/fontconfig version.
6fe9826d 77
a879ee6f
SM
78 * font.c (font_style_symbolic_from_value): New function.
79 (font_style_symbolic): Use it.
6fe9826d 80
a879ee6f 81 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 82
17ab8f5d
JB
832008-06-13 Juanma Barranquero <lekktu@gmail.com>
84
85 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
86 <font-width-table>: Fix typos in docstrings.
87
d888760c
GM
882008-06-13 Daniel Engeler <engeler@gmail.com>
89
90 These changes add serial port access.
91 * process.c: Add HAVE_SERIAL.
92 (Fdelete_process, Fprocess_status, Fset_process_buffer)
93 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
94 (list_processes_1, select_wrapper, Fstop_process)
95 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
96 (status_notify): Modify to handle serial processes.
97 [HAVE_SERIAL] (Fserial_process_configure)
98 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
99 New functions.
100 * process.h (struct Lisp_Process): Add `type'.
101 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
102 New functions.
103 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
104 serial ports.
105 (serial_open, serial_configure) New functions.
106 * w32.h: Add FILE_SERIAL.
107 (struct _child_process): Add ovl_read, ovl_write.
108
f4cc0153
KH
1092008-06-13 Kenichi Handa <handa@m17n.org>
110
111 * dispextern.h (enum lface_attribute_index): New member
112 LFACE_FOUNDRY_INDEX.
113
114 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 115 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 116 style symbols.
7a18e381 117 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
118 order of font-driver to scores.
119 (font_list_entities): Don't check alternate_familes here.
120 (font_clear_prop): Handle foundry.
121 (font_update_lface): Don't parse "foundry-family" form here.
122 Handle FONT_FOUNDRY_INDEX.
123 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 124 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 125 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 126 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
127 (free_font_driver_list): Delete it.
128 (font_update_drivers): Preserve the order of backends.
129 (syms_of_font): Setting of sort_shift_bits adjusted for the change
130 of font_score and font_sort_entites.
131 (font_update_sort_order): Likewise.
132
133 * xfaces.c (LFACE_FOUNDRY): New macro.
134 (check_lface_attrs): Check foundry.
7a18e381 135 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
136 (merge_face_vectors): Check foundry.
137 (merge_face_ref): Likewise.
138 (Finternal_set_lisp_face_attribute): Likewise.
139 (x_update_menu_appearance): Likewise.
140 (Finternal_get_lisp_face_attribute): Likewise.
141 (lface_hash): Likewise.
142 (lface_same_font_attributes_p): Likewise.
143 (x_supports_face_attributes_p): Likewise.
144 (tty_supports_face_attributes_p): Likewise.
145 (Finternal_set_alternative_font_family_alist): Intern strings.
146 (Finternal_set_alternative_font_registry_alist): Downcase strings.
147 (realize_default_face): Set LFACE_FOUNDRY (lface).
148
149 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
150 font-driver at first.
151
152 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
153
d434fef5 1542008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
155
156 * lread.c (Fload): Use xfree, not free on saved_doc_string.
157
9c5e177e
JM
1582008-06-12 Jim Meyering <meyering@redhat.com>
159
d434fef5 160 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
161 * unexmacosx.c (unexec_free): Ignore a NULL argument.
162
2afc21f5
SM
1632008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
164
165 * character.h (CHAR_TO_BYTE_SAFE): New macro.
166 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
167 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
168 (WEAK_ALIAS): Simplify.
169 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
170 when searching a unibyte buffer.
171
76c0de62
CY
1722008-06-12 Chong Yidong <cyd@stupidchicken.com>
173
174 * xfns.c (Fx_select_font): Rename from x-font-dialog.
175
0500dcc9
JB
1762008-06-12 Juanma Barranquero <lekktu@gmail.com>
177
178 * w32font.c: Include ctype.h.
179
f42adef6
JR
1802008-06-11 Jason Rumney <jasonr@gnu.org>
181
2afc21f5
SM
182 * w32font.c (w32font_encode_char): Detect missing glyphs that are
183 misreported as space.
184 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
185 as aliases for registry iso10646-1.
f42adef6 186
4b7cdc0e
SM
1872008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
188
189 * buffer.c (clone_per_buffer_values): Skip `name'.
190
cc02ebe1
CY
1912008-06-11 Chong Yidong <cyd@stupidchicken.com>
192
193 * font.c (font_parse_fcname): Fix last change; accept decimal
194 points in font size.
195
351ccb76
JR
1962008-06-10 Jason Rumney <jasonr@gnu.org>
197
0500dcc9
JB
198 * w32uniscribe.c (add_opentype_font_name_to_list):
199 Skip non unicode fonts.
351ccb76 200
f473ed6f
CY
2012008-06-10 Chong Yidong <cyd@stupidchicken.com>
202
203 * xfns.c (Fx_font_dialog): New function.
204
5d6333d5 205 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
206 xg_file_response_callback.
207 (pop_down_dialog): Rename from pop_down_file_dialog.
208 (xg_get_file_name): Callers changed.
209 (xg_get_font_name): New function.
210
5d6333d5 211 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 212
2a3bd2e1
SM
2132008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
214
215 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
216 x_underline_minimum_display_offset.
217 (syms_of_xdisp): Declare it here rather than in xterm.c.
218 * dispextern.h (underline_minimum_offset): Declare it.
219 * w32term.c (x_draw_glyph_string): Use it.
220 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
221 (syms_of_xterm): Don't declare it any more.
222 (x_draw_glyph_string): Adjust to the new name.
223
d5dc6163
SM
2242008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
225
226 * xterm.c (x_underline_minimum_display_offset): New var.
227 (x_draw_glyph_string): Use it.
228 (syms_of_xterm): Declare it.
229
0abdd197
CY
2302008-06-10 Chong Yidong <cyd@stupidchicken.com>
231
232 * font.c (font_parse_fcname): Accept GTK-style font names too.
233
a1562258
SM
2342008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
235
928b5acc
SM
236 * dired.c (file_name_completion): Don't return t if the match is exact
237 but with different capitalization.
238 * minibuf.c (Ftry_completion): Simplify.
239
a1562258
SM
240 * window.c (Vwindow_point_insertion_type): New var.
241 (set_window_buffer): Use it.
242 (syms_of_window): Init and export it to Lisp.
243
9552dbd1
KH
2442008-06-10 Kenichi Handa <handa@m17n.org>
245
246 * font.h (font_intern_prop): Prototype adjusted.
247
248 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
249 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
250 Adjust for the change of font_intern_prop.
9552dbd1 251
a1562258
SM
252 * ftfont.c (ftfont_pattern_entity):
253 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
254 (w32_registry):
255 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
256 the change of font_intern_prop.
257
8993ad2e
JB
2582008-06-09 Juanma Barranquero <lekktu@gmail.com>
259
260 * w32menu.c (digest_single_submenu): Declare extern.
261
0c2258fc
JR
2622008-06-09 Jason Rumney <jasonr@gnu.org>
263
a1562258 264 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 265
a1562258
SM
266 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
267 (parse_single_submenu): Remove.
268 (digest_single_submenu): Remove.
269 (syms_of_w32menu): Don't initialise variables that have moved
270 to menu.c.
271 (set_frame_menubar): Sync with version in xmenu.c.
272 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 273
8993ad2e
JB
274 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
275 Make static again.
0c2258fc 276
02246cb8
JR
2772008-06-09 Jason Rumney <jasonr@gnu.org>
278
8993ad2e
JB
279 Changes to w32 files related to the move of common menu code
280 to menu.c on 2008-06-08 by Chong Yidong.
281
282 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
283 defs to w32gui.h.
284 (single_keymap_panes, push_menu_item, push_menu_pane):
285 Make globally visible.
286
d434fef5
JB
287 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
288 (local_free, malloc_widget_value, free_widget_value)
289 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
290 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
291 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 292 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 293 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
294 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
295 (init_menu_items, finish_menu_items, discard_menu_items)
296 (grow_menu_items, push_submenu_start, push_submenu_end)
297 (push_left_right_boundary, push_menu_pane, push_menu_item)
298 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 299 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
300 (update_submenu_strings): Remove functions.
301 (xmalloc_widget_value): Remove and declare extern.
302
303 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
304 (OBJ1): Build it.
305
306 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
307 (local_heap, local_alloc, local_free, malloc_widget_value)
308 (free_widget_value): Define here.
02246cb8 309
9e1bb909
KH
3102008-06-09 Kenichi Handa <handa@m17n.org>
311
366664ad
KH
312 * font.h (Qascii_0): Extern it.
313
9e1bb909
KH
314 * font.c (Qascii_0): New variable.
315 (syms_of_font): DEFSYM it.
316 (font_open_by_name): If the registry "iso8859-1" fails, try also
317 "ascii-0".
318
319 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
320
b2ee479e
KH
3212008-06-08 Kenichi Handa <handa@m17n.org>
322
8f440b79 323 * .gdbinit (xfont): New command.
b2ee479e 324
01ef9d36
AS
3252008-06-08 Andreas Schwab <schwab@suse.de>
326
a4240420
AS
327 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
328 * Makefile.in (menu.o): Update dependencies.
329
0181bf66 330 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
331 * emacs.c (main): Always call syms_of_menu.
332 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
333
c07cbae6
CY
3342008-06-08 Chong Yidong <cyd@stupidchicken.com>
335
336 * Makefile.in: Compile menu.c.
337
338 * lisp.h: Declare syms_of_menu.
339
340 * emacs.c (main): Call syms_of_menu.
341
342 * keyboard.h: Relocate platform-independent menu definitions from
343 xmenu.c.
344
345 * menu.c: New file. Relocate platform-independent menu
904d8c69 346 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
347
348 * xmenu.c: Remove platform-independent menu definitions.
349 (menu_items menu_items_inuse, menu_items_allocated)
350 (menu_items_used, menu_items_n_panes)
351 (menu_items_submenu_depth): Move to keyboard.h.
352 (init_menu_items, finish_menu_items, unuse_menu_items)
353 (discard_menu_items, restore_menu_items, save_menu_items)
354 (grow_menu_items, push_submenu_start, push_submenu_end)
355 (push_left_right_boundary, push_menu_pane, push_menu_item)
356 (keymap_panes, single_keymap_panes, single_menu_item)
357 (list_of_panes, list_of_items, find_and_call_menu_selection)
358 (xmalloc_widget_value, free_menubar_widget_value_tree)
359 (parse_single_submenu, digest_single_submenu)
360 (update_submenu_strings): Move to menu.c.
361
4958ed94
SM
3622008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
363
364 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
365
408b8ab4
MB
3662008-06-06 Miles Bader <miles@gnu.org>
367
368 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
369 face, not frame default.
370
87478b52
SM
3712008-06-05 Martin Rudalics <rudalics@gmx.at>
372
373 * window.c (pop_up_windows, pop_up_frames)
374 (display_buffer_reuse_frames, Vpop_up_frame_function)
375 (Vdisplay_buffer_function, Veven_window_heights)
376 (Vspecial_display_buffer_names, Vspecial_display_regexps)
377 (Vspecial_display_function, Vsame_window_buffer_names)
378 (Vsame_window_regexps, split_height_threshold)
379 (Vsplit_window_preferred_function): Move those vars to window.el.
380 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
381 (Fdisplay_buffer): Move those functions to window.el.
382 (syms_of_window): Remove corresponding declarations.
383 (display_buffer): New function.
384 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
385 * dispnew.c (Flast_nonminibuf_frame): New function.
386 * buffer.c (Fpop_to_buffer): Move to window.el.
387
9e0e0d77
SM
3882008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
389
390 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
391
4a485df8
KH
3922008-06-05 Kenichi Handa <handa@m17n.org>
393
394 * coding.c (detect_coding): Fix previous change.
395 (detect_coding_system): Likewise.
396
8ba31f36
SM
3972008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
398
c0dc8f64
SM
399 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
400
8ba31f36
SM
401 * keymap.c (Vminibuffer_local_filename_must_match_map):
402 Rename from Vminibuffer_local_must_match_filename_map.
403 (syms_of_keymap):
404 * minibuf.c (Fcompleting_read): Adjust accordingly.
405 * commands.h: Rename declaration as well.
406
7740d2c7
KH
4072008-06-05 Kenichi Handa <handa@m17n.org>
408
e7438ece
KH
409 * font.c (Ffont_spec): Don't use font_parse_family_registry for
410 family name.
411 (Ffont_put): Likewise.
412
413 * fontset.c (fontset_find_font): Call font_open_for_lface with the
414 current font-spec.
415
7740d2c7
KH
416 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
417 is unspecified.
418
419 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
420 are the same as those of default face, realize a new fontset from
421 default->fontset.
9e0e0d77 422 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 423
c876b227
SM
4242008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
425
426 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
427 (move_it_in_display_line): New wrapper.
428
429 * window.c (window_scroll_pixel_based_preserve_x)
430 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
431 (window_scroll_pixel_based, window_scroll_line_based):
432 Use them to preserve column positions.
433 (syms_of_window): Initialize them.
434
435 * indent.c (Fvertical_motion): Extend first arg to allow passing an
436 (HPOS . VPOS) pair.
437
438 * dispextern.h (move_it_in_display_line): Declare.
439
927abf37
JB
4402008-06-05 Juanma Barranquero <lekktu@gmail.com>
441
442 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
443 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
444 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
445
9d14503e
JB
4462008-06-04 Juanma Barranquero <lekktu@gmail.com>
447
448 * window.c (Fset_window_parameter): Doc fix.
449 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
450
e6841c3b
JB
4512008-06-04 Joakim Verona <joakim@verona.se>
452
453 * window.h (struct window): Add new member window_parameters.
454
455 * window.c (Fwindow_parameters, Fwindow_parameter)
456 (Fset_window_parameter): New defuns.
457 (syms_of_window): Defsubr the new defuns.
458 (make_window): Initialize window_parameters to nil.
459
4ba50634
JPW
4602008-06-04 John Paul Wallington <jpw@pobox.com>
461
462 * eval.c (Fdefmacro): Doc fix.
463
c0e16b14
KH
4642008-06-04 Kenichi Handa <handa@m17n.org>
465
466 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 467 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
468 (detect_coding_system): Fix handling of coding->head_ascii.
469
0615d903
AS
4702008-06-03 Andreas Schwab <schwab@suse.de>
471
472 * font.c (font_prop_validate_spacing): Fix last change.
473
8a1816bb
KH
4742008-06-03 Kenichi Handa <handa@m17n.org>
475
eea9c5c4
KH
476 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
477 (font_parse_fcname): Fix handling of unknown key.
478
479 * xfont.c (xfont_list): Try an alias.
480
8a1816bb
KH
481 * charset.c (char_charset): Return NULL if the arg charset_list is
482 specified and C doesn't belong to any of them.
483
2f593f4c 4842008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
485
486 * font.c (font_pixel_size): Don't take cdr of an integer.
487
c2cd06e6
JM
4882008-06-02 Jim Meyering <meyering@redhat.com>
489
70fdbb46
JM
490 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
491 * alloc.c (xfree): Return right away for a NULL arg.
492 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
493 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
494 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
495 (create_apple_event_from_drag_ref, cfstring_create_normalized):
496 Likewise.
70fdbb46
JM
497 * doprnt.c (doprnt1): Likewise.
498 * frame.c (frame): Likewise.
499 * keyboard.c (wipe_kboard): Likewise.
1f204af3 500 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
501 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
502 * term.c (tty_default_color_capabilities, maybe_fatal)
503 (delete_tty): Likewise.
504 * w16select.c (string): Likewise.
505 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
506 * w32bdf.c (w32_free_bdf_font): Likewise.
507 * w32fns.c (w32_unload_font): Likewise.
508 * w32font.c (w32font_close): Likewise.
509 * window.c (size_window): Likewise.
510 * xselect.c (receive_incremental_selection): Likewise.
511 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
512 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
513 * w32.c (stat): Likewise.
514
2f593f4c 515 Remove useless if-before-free tests.
70fdbb46
JM
516 * editfns.c (Fset_time_zone_rule): Likewise.
517 * lread.c (nosuffix): Likewise.
518 * ralloc.c (get_bloc): Likewise.
519 * regex.c (reg_free): Likewise.
520 * xftfont.c (xftfont_open, xftfont_close): Likewise.
521 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
522 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 523
4fc1984a
KH
5242008-06-02 Kenichi Handa <handa@m17n.org>
525
1d1e1245
KH
526 * font.c (font_find_for_lface): Handle float font size.
527 (font_open_for_lface): Likewise.
528
4fc1984a
KH
529 * xfaces.c (x_supports_face_attributes_p): Check face->font before
530 comparing the properties.
531
aee986fd
JR
5322008-06-01 Jason Rumney <jasonr@gnu.org>
533
e6841c3b
JB
534 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
535 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
536 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
537 Don't add empty script list.
538 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 539
60a3d7ee
DN
5402008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
541
aee986fd 542 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
543 ".." has been used elsewhere in the file for a long time.
544 (LIBXT_STATIC): Remove conditional based on unused variable.
545
f2cec7a9
MB
5462008-06-01 Miles Bader <miles@gnu.org>
547
548 * xfaces.c (Vface_remapping_alist): New variable.
549 (syms_of_xfaces): Initialize it.
550 (enum named_merge_point_kind): New type.
551 (struct named_merge_point): Add `named_merge_point_kind' field.
552 (push_named_merge_point): Make cycle detection respect different
553 named-merge-point kinds.
c876b227 554 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
555 Remove face-name alias resolution.
556 (lface_from_face_name): New definition using
557 `lface_from_face_name_no_resolve'.
c876b227 558 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
559 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
560 (get_lface_attributes): New definition that layers face-remapping on
561 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
562 (lookup_basic_face): New function.
563 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
564 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
565 `get_lface_attributes'.
566 (face_at_buffer_position): Use `lookup_basic_face' to lookup
567 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
568 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
569
570 * xdisp.c (init_iterator): Pass base_face_id through
571 `lookup_basic_face' when we actually use it as a face-id.
572 (handle_single_display_prop): Use `lookup_basic_face' to lookup
573 DEFAULT_FACE_ID.
574
575 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
576 lookup the initial face-id.
577
578 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
579
518c0b83
JB
5802008-06-01 Juanma Barranquero <lekktu@gmail.com>
581
582 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
583 (Fremove_text_properties): Fix typos in docstrings.
584
719b3d63
KH
5852008-05-31 Kenichi Handa <handa@m17n.org>
586
e4c93315
KH
587 * font.c (font_list_entities): Fix the car part of data to be
588 stored in the cache.
589
719b3d63
KH
590 * ftfont.c (ftfont_font_format): Don't use strcasestr.
591
d0827857
SM
5922008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
593
594 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
595 Add a `test' argument so another predicate than `equal' can be used.
596 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
597 (map_char_table): Remove unused vars `c' and `i'.
598 * lisp.h (Foptimize_char_table): Adjust declaration.
599 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
600
a266686a
KH
6012008-05-30 Kenichi Handa <handa@m17n.org>
602
d0827857 603 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
604 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
605 defined.
606
fd9440c5
SM
6072008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
608
609 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
610 (Fmake_variable_frame_local): Disallow mixing buffer-local and
611 frame-local settings for the same variable.
612
fd2ae9b2
KH
6132008-05-30 Kenichi Handa <handa@m17n.org>
614
9e0e0d77 615 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
616 (syms_of_fontset): Delete defsubr of Sfont_info.
617
618 * font.c (font_style_to_value, font_score): Delete casting of the
619 args to xstcasecmp.
620 (register_font_driver): Increment num_font_drivers only when
621 registering the driver globally.
9e0e0d77 622 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
623 (syms_of_font): Defsubr Sfont_info.
624
eaf11618
KH
6252008-05-29 Kenichi Handa <handa@m17n.org>
626
627 * coding.h (enum define_coding_utf8_arg_index): New enum.
628 (enum coding_attr_index): Change coding_attr_utf_16_bom to
629 coding_attr_utf_bom.
fd9440c5
SM
630 (enum utf_bom_type): Rename from utf_16_bom_type.
631 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
632 (struct coding_system): Add utf_8_bom in `spec' union.
633
634 * coding.c (CODING_UTF_8_BOM): New macro.
635 (enum coding_category): Delete coding_category_utf_8, add
636 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
637 coding_category_utf_8_sig.
638 (CATEGORY_MASK_UTF_8): Delete it.
639 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
640 (CATEGORY_MASK_UTF_8_SIG): New macros.
641 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
642 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
643 CATEGORY_MASK_UTF_8_SIG.
644 (CATEGORY_MASK_UTF_8): New macro.
645 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
646 (detect_coding_utf_8): Check BOM.
647 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 648 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
649 (encode_coding_utf_16): Likewise.
650 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
651 (detect_coding, detect_coding_system): Handle utf-8-auto.
652 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
653 (syms_of_coding): Fix setting up of Vcoding_category_table.
654
891bd142
SM
6552008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
656
657 * process.c (Faccept_process_output): If `millisec' is non-nil,
658 `seconds' default to 0.
659 (wait_reading_process_output): Also return non-nil if we read output
660 from a non-running process.
661
1519d52e
JR
6622008-05-29 Jason Rumney <jasonr@gnu.org>
663
fd9440c5
SM
664 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
665 `raster' specified.
666 (add_font_entity_to_list): Allow non-opentype truetype fonts back
667 in the uniscribe backend, but disallow any font that has no
668 unicode subrange support.
1519d52e 669
d5ab09cd
JB
6702008-05-29 Juanma Barranquero <lekktu@gmail.com>
671
672 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
673 Fix typos in docstrings.
674
a4eec626
KH
6752008-05-29 Kenichi Handa <handa@m17n.org>
676
677 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 678 (Fx_family_fonts): Set frame correctly.
a4eec626 679
a6e0b7e5
JR
6802008-05-28 Jason Rumney <jasonr@gnu.org>
681
d5ab09cd 682 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 683
6b3d752c
SM
6842008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
685
686 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
687 calling build_annotations.
688
c3f9fba8
JB
6892008-05-28 Juanma Barranquero <lekktu@gmail.com>
690
691 * coding.c (Fdecode_coding_region, Fencode_coding_region)
692 (Fencode_coding_string):
693 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
694 <latin-extra-code-table>: Fix typos in docstrings.
695 (syms_of_coding) <coding-system-alist>: Doc fix.
696 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
697
00c670e1
KH
6982008-05-28 Kenichi Handa <handa@m17n.org>
699
b75d7f28
KH
700 * fontset.c (Ffont_info): Don't call font_close_object.
701
702 * font.c (font_parse_family_registry): Use Ffont_put to validate
703 foundry and family.
704 (font_delete_unmatched): Don't check spacing.
705 (font_list_entities): Add spacing to the spec to list fonts.
706
707 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 708 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 709
00c670e1
KH
710 * coding.c (encode_coding_raw_text): Fix previous change.
711 (encode_coding_object): When the dst_object is a buffer and is
712 different from src_object, move gap to PT.
713
45feca91
CY
7142008-05-27 Chong Yidong <cyd@stupidchicken.com>
715
c3f9fba8 716 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 717
5dd5d9eb
SM
7182008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
719
01d45367
SM
720 * coding.c (encode_coding_raw_text): Set coding->produced_char for
721 all branches. Compute it differently.
722
5dd5d9eb
SM
723 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
724
9c623c85
JB
7252008-05-27 Juanma Barranquero <lekktu@gmail.com>
726
727 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
728 into "else if () ... else ...".
729
943f2093
JR
7302008-05-27 Jason Rumney <jasonr@gnu.org>
731
5dd5d9eb
SM
732 * w32font.c (w32font_open_internal): Determine if glyph indices
733 are likely to work here.
943f2093 734
7385fe74
CY
7352008-05-27 Chong Yidong <cyd@stupidchicken.com>
736
737 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
738 draw overlap glyphs with appropriate highlighting.
739
4f64a164
KH
7402008-05-27 Kenichi Handa <handa@m17n.org>
741
742 * xfont.c (xfont_open): Fix calculation of font->average_width.
743
1fb5aad7
SM
7442008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
745
746 * casefiddle.c (casify_object): Try to guess better whether the
747 argument is a byte or a char.
748
f8eb1603
AS
7492008-05-26 Andreas Schwab <schwab@suse.de>
750
1fb5aad7
SM
751 * xselect.c (x_reply_selection_request): Properly handle format == 32.
752 Always send multiples of format size.
5a9c35e5 753
f8eb1603
AS
754 * xterm.c (x_set_frame_alpha): Fix type mismatch.
755
ba93d684
JR
7562008-05-26 Jason Rumney <jasonr@gnu.org>
757
1fb5aad7
SM
758 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
759 (compute_metrics): Don't set failure if we just cleared the cache.
760 (w32_weight_table): Remove unused variable.
761 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
762 backwards compatibility.
ba93d684 763
505ecc49
KH
7642008-05-25 Kenichi Handa <handa@m17n.org>
765
1fb5aad7
SM
766 * w32term.c (x_draw_glyph_string):
767 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
768
769 * xfaces.c: Delete unused function prototypes.
770 (xstrlwr, font_frame): Delete them.
771 (clear_face_cache): Delete unused variable.
772
1fb5aad7
SM
773 * xftfont.c (xftfont_open): Delete unused variable.
774 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
775
776 * ftxfont.c (ftxfont_open): Delete unused variable.
777
778 * fontset.c (face_for_char): Optimize for the case of no charset
779 property.
780
781 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
782 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
783 (otf_open, font_otf_capability, generate_otf_features)
784 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 785 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
786 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
787 (syms_of_font): Codes for accessing above commented out.
788
f481eb31
EZ
7892008-05-24 Eli Zaretskii <eliz@gnu.org>
790
791 * w32proc.c: Include dispextern.h.
792
793 * w32.c: Include dispextern.h.
794
20746fe4
JB
7952008-05-23 Juanma Barranquero <lekktu@gmail.com>
796
797 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
798 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
799 Fix typos in docstrings.
800
e7150846
JR
8012008-05-23 Jason Rumney <jasonr@gnu.org>
802
20746fe4 803 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 804
dbf46ba6
KH
8052008-05-23 Kenichi Handa <handa@m17n.org>
806
6c652beb
KH
807 * charset.c (Qemacs, charset_emacs): New variables.
808 (char_charset): Fix for non-Unicode characters.
809 (syms_of_charset): Define charset_emacs.
810
baf4d3b3 811 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
812 s->underline_thickness and s->underline_position. Be sure to draw
813 underline within the current line area.
baf4d3b3
KH
814
815 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 816 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 817 underline within the current line area.
baf4d3b3 818
dbf46ba6
KH
819 * fontset.c: Delete unused variables and add casting for char *
820 throughout the file.
821 (fontset_font): Try the fallback fonts of the current fontset
822 before consulting the default fontset.
823
824 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
825
9e0e0d77 826 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 827
3b780338
JR
8282008-05-22 Jason Rumney <jasonr@gnu.org>
829
20746fe4 830 * font.c: Don't include strings.h.
577eba22 831
9e0e0d77 832 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 833
20746fe4
JB
834 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
835 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
836 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
837 to call xstrcasecmp.
05131107 838
b1722a46 839 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 840
b1722a46 841 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 842
b1722a46 843 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 844
b1722a46 845 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 846
a30e1957
KH
8472008-05-22 Kenichi Handa <handa@m17n.org>
848
20746fe4 849 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 850
20746fe4 851 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
852 change of font_style_table.
853
a30e1957
KH
854 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
855 two args.
856
857 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
858 two args.
859
631248e5
SM
8602008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
861
862 * minibuf.c (keys_of_minibuf): Delete.
863 * lisp.h (keys_of_minibuf): Delete.
864 * emacs.c (main): Don't call keys_of_minibuf.
865
318548be
KH
8662008-05-22 Kenichi Handa <handa@m17n.org>
867
631248e5 868 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
869 ftfont_list_generic_family. Return a single family for each
870 generic family.
871 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
872 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
873 Call font_add_log.
318548be
KH
874 (ftfont_match): Call font_add_log.
875
876 * font.h (Ffont_xlfd_name): EXFUN adjusted.
877 (FONT_DEBUG): Define it.
878 (font_add_log): Extern it.
631248e5 879 (font_assert): Rename from xassert.
318548be
KH
880
881 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
882 (xfont_list_family): Call font_add_log.
883 (xfont_match): Likewise.
631248e5 884 (memq_no_quit): Delete.
318548be
KH
885
886 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
887 call of Ffont_xlfd_name.
888
889 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 890 (swidth_table): Move to font.c.
318548be
KH
891
892 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 893 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
894 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
895 New variables.
631248e5
SM
896 (struct table_entry): Move from xfaces.c and modified.
897 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 898 contents adjusted for the change of struct table_entry.
20746fe4 899 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 900 format change of font_style_table.
318548be
KH
901 (font_parse_family_registry): Don't overwrite existing foundry and
902 family of font_spec.
903 (font_score): Fix calculation of diff for sizes.
904 (font_sort_entites): Call font_add_log.
905 (font_delete_unmatched): Return a newly created list.
906 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
907 (font_matching_entity, font_open_entity, font_close_entity):
908 Call font_add_log.
318548be 909 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 910 (Finternal_set_font_style_table): Delete.
318548be
KH
911 (BUILD_STYLE_TABLE): New macro.
912 (build_style_table): New function.
913 (Vfont_log, font_log_env_checked): New variables.
914 (font_add_log): New function.
915 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
916 Declare Lisp variables "font-weight-table", "font-slant-table",
917 "font-width-table", and "font-log". Initialize font_style_table.
918
6aac1c03
DN
9192008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
920
bcc850aa 921 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 922
7950790f
GM
9232008-05-21 Seiji Zenitani <zenitani@mac.com>
924 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 925
7950790f 926 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 927 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 928 (x_set_alpha): New function.
a2979e8e 929
7950790f 930 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 931
7950790f
GM
932 * xfns.c (x-create-frame, Qalpha):
933 Initialize the frame parameter `alpha'.
b9fb2c45
GM
934 * xterm.c (OPAQUE, OPACITY): New.
935 (x_set_frame_alpha): New function.
936 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 937
7950790f
GM
938 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
939 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 940
5c2a72d9
JR
9412008-05-20 Jason Rumney <jasonr@gnu.org>
942
20746fe4
JB
943 * w32font.c (add_font_entity_to_list): Don't add non-opentype
944 truetype fonts to opentype list.
5c2a72d9 945
eb152aa9
JB
9462008-05-20 Juanma Barranquero <lekktu@gmail.com>
947
948 * fontset.c (Ffontset_info): Doc fix.
949 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
950 <ignore-relative-composition>: Fix typos in docstrings.
951
952 * font.c (syms-of-font) <font-encoding-alist>:
953 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
954 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
955 (Ffont_otf_alternates): Doc fixes.
956
ad00e1a3
KH
9572008-05-20 Kenichi Handa <handa@m17n.org>
958
959 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
960 font.h through out the file.
9e0e0d77 961 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 962 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
963 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
964
965 * emacs.c (main): Call syms_of_font unconditionally.
966
967 * font.h (find_font_encoding): Extern it.
968
9e0e0d77 969 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
970 fontset.c.
971 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
972 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
973 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
974 only when HAVE_WINDOW_SYSTEM is defined.
975 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
976 when HAVE_WINDOW_SYSTEM is defined.
977
9e0e0d77
SM
978 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
979 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
980
981 * xfaces.c: Include font.h unconditionally.
982 (merge_face_ref, merge_face_vectors)
983 (Finternal_set_lisp_face_attribute): Cancel the previous change.
984
40a69fac
SM
9852008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
986
987 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
988 indirect_variable.
989 * eval.c (lisp_indirect_variable): New fun.
990 (Fuser_variable_p): Use it.
991
8c2dccbf
SM
9922008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
993
ad97b375
SM
994 * lisp.h (indirect_variable):
995 * data.c (indirect_variable, let_shadows_buffer_binding_p):
996 Use Lisp_Symbol pointers rather than Lisp_Object.
997 Adjust callers.
998 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
999 To this end, change calling-convention.
1000
8c2dccbf
SM
1001 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
1002 if some non-hidden buffers are selected by string&pred.
1003
ad97b375
SM
10042008-05-19 Chong Yidong <cyd@stupidchicken.com>
1005
1006 * process.c (wait_reading_process_output): Always check status
1007 when in batch mode.
1008
25b81df4
KH
10092008-05-19 Kenichi Handa <handa@m17n.org>
1010
1011 * font.c (font_list_entities): Fix handling of cache.
1012 (font_matching_entity): Likewise.
1013
8c2dccbf 1014 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 1015 (ft_face_cache): New variable.
1f204af3 1016 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 1017 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
1018 (fc_charset_table): New variable.
1019 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
1020 . FC_CHARSET_IDX) as :font-entity property in the font entity.
1021 Callers changed.
dde8403f 1022 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
1023 (ftfont_spec_pattern): New argument fc_charset_idx.
1024 Check registry more rigidly. Change callers.
a2979e8e 1025 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
1026 change of :font-entity property of the font.
1027
a2979e8e 1028 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
1029 property of the font.
1030
d4a1d553
JB
10312008-05-18 Juanma Barranquero <lekktu@gmail.com>
1032
1033 * coding.c (Fcoding_system_p): Rename argument to match docstring.
1034 (Funencodable_char_position, Fcheck_coding_systems_region)
1035 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
1036 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
1037 (Ffind_operation_coding_system, Fset_coding_system_priority)
1038 (Fcoding_system_eol_type): Doc fixes.
1039
07cfc4e7
GM
10402008-05-17 Glenn Morris <rgm@gnu.org>
1041
1042 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
1043
1cab27d2
EZ
10442008-05-16 Eli Zaretskii <eliz@gnu.org>
1045
1046 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
1047 and st_gid.
1048
dde8403f 1049 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
1050 HAVE_WINDOW_SYSTEM is not defined.
1051
1052 * xfaces.c (merge_face_ref, merge_face_vectors)
1053 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
1054 HAVE_WINDOW_SYSTEM is defined.
1055 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
1056
86b89713
SM
10572008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
1058
1059 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
1060
6750bd93
YM
10612008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1062
62867b11 1063 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 1064
79f105c9
KH
10652008-05-15 Kenichi Handa <handa@m17n.org>
1066
1067 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
1068 preference.
1069
6b33da9f
GM
10702008-05-15 Glenn Morris <rgm@gnu.org>
1071
1072 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
1073
d0e4433b
CY
10742008-05-15 Chong Yidong <cyd@stupidchicken.com>
1075
1076 * fns.c (init_fns): Don't initialize weak_hash_tables here.
1077 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
1078
1079 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
1080
5f2d79e0
KH
10812008-05-15 Kenichi Handa <handa@m17n.org>
1082
fd8a1cae
KH
1083 * ftfont.c (ftfont_list): Downcase family name to check generic
1084 families.
1085
1086 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
1087 font-spec for QCfont value.
1088
5f2d79e0
KH
1089 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
1090 buffer. Check the return value of it.
1091
e5e29349
JR
10922008-05-14 Jason Rumney <jasonr@gnu.org>
1093
1094 * w32term.c (w32_get_glyph_overhangs): Remove.
1095 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
1096
1f09f444
KH
10972008-05-14 Kenichi Handa <handa@m17n.org>
1098
1099 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
1100 (font_clear_cache): Check if the cached vector of entities is nil
1101 or not.
1f09f444 1102
ecae6af9 11032008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
1104
1105 * emacs.c (main_thread): Conditionalize on
1106 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1107 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
1108
1109 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
1110 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
1111 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1112
c6b278e7
KH
11132008-05-14 Kenichi Handa <handa@m17n.org>
1114
1115 * coding.c (detect_coding_iso_2022): Ignore a coding category that
1116 has no corresponding coding system.
1117
11182008-05-14 Jason Rumney <jasonr@gnu.org>
1119
1120 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
1121
1122 * w32font.h (w32font_open_internal): Update declaration.
1123
1124 * w32font.c (w32font_open_internal): Change last argument from
1125 w32font_info struct to font object. Fill in font object from
1126 font_entity. Get Outline metrics if possible. Use them to
1127 calculate underline position and thickness. Use xlfd name as name
1128 property. Don't set codepage.
1129 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 1130 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
1131 (w32font_draw): Use s->font.
1132 (clear_cached_metrics): Don't clear non-existent blocks.
1133
1134 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
1135 font was not found.
a879ee6f 1136 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
1137
1138 * w32uniscribe.c (uniscribe_open): Pass font_object to
1139 w32font_open_internal.
1140
11412008-05-14 Kenichi Handa <handa@m17n.org>
1142
1143 These changes are to delete all legacy font-handling codes, and
1144 make Emacs use only font-backends.
1145
1146 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
1147 (frame.o, image.o, print.o): Depend on $(FONTSRC).
1148
1149 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
1150
1151 * charset.h (Vcharset_non_preferred_head)
1152 (Vcurrent_iso639_language): Extern them.
1153
1154 * charset.c (Vcharset_non_preferred_head): New variable.
1155 (Vcurrent_iso639_language): New variable.
1156 (syms_of_charset): Declare it as a Lisp variable.
1157 (char_charset): Don't check non preferred charsets. As a last
1158 resort, return charset_unicode.
1159 (Fset_charset_priority): Update Vcharset_non_preferred_head.
1160
1161 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
1162 conditionals. Don't check enable_font_backend. Delete all codes
1163 used only when USE_FONT_BACKEND is not defined.
1164
1165 * dispextern.h (struct glyph_string): Change type of `font' to
1166 `struct font *'.
1167 (struct glyph_string): New member underline_position and
1168 underline_thickness.
1169 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
1170 (struct face): Change type of `font' to `struct font *'. Remove
1171 members `font_name', `font_info_id'.
1172 (per_char_metric, encode_char): Delete externs.
1173 (calc_pixel_width_or_height): Adjust the prototype.
1174
1175 * emacs.c (enable_font_backend): Delete extern.
1176 (main): Don't set enable_font_backend. Don't check the command
1177 line argument "-disable-font-backend".
1178
1179 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
1180 (enum font_property_index): New members FONT_DPI_INDEX,
1181 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
1182 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
1183 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
1184 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
1185 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
1186 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
1187 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
1188 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
1189 (struct font_spec, struct font_entity): New structs.
1190 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
1191 (struct font): Many members from old "struct font_info" moved to
1192 here. Members font and entity deleted.
1193 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
1194 the new font-related objects.
1195 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
1196 (CHECK_FONT_GET_OBJECT): Likewise.
1197 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
1198 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
1199 (struct font_driver): New members case_sensitive anc check. Type
1200 of the member list and open changed.
1201 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
1202 (font_symbolic_width, font_find_object, font_get_spec)
1203 (font_set_lface_from_name): Delete extern.
20746fe4 1204 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
1205
1206 * font.c: Include <strings.h>.
1207 (enable_font_backend): Delete it.
1208 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
1209 (CHECK_VALIDATE_FONT_SPEC): Delete it.
1210 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
1211 (null_string): Delete it.
1212 (null_vector): Make it static.
1213 (font_family_alist): Delete it.
1214 (Qnormal): Extern it.
1215 (QCextra, QClanguage): Delete it.
1f204af3 1216 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
1217 (font_make_spec, font_make_entity, font_make_object)
1218 (font_intern_prop): Renamed from intern_downcase. Don't downcase
1219 the string. Callers changed.
1220 (font_pixel_size): Adjusted for the format change of font-related
1221 objects.
1222 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
1223 (font_style_to_value, font_style_symbolic): New function.
1224 (build_font_family_alist): Delete it.
1225 (font_registry_charsets): Use Fassoc_string instead of
1226 assq_no_quit.
1227 (font_prop_validate_symbol): Don't return null_string.
1228 (font_prop_validate_style): Adjusted for the change of
1229 style-related values in a font vector.
20746fe4 1230 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
1231 QCantialias, add entries for QCavgwidth.
1232 (get_font_prop_index): Delete the 2nd argument FROM.
1233 (font_prop_validate): Arguments changed.
1234 (font_put_extra): Adjusted for the change of font-related objects.
1235 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
1236 (font_parse_fcname, font_unparse_fcname)
1237 (font_prepare_composition): Likewise.
1238 (font_parse_family_registry): Renamed from font_merge_old_spec.
1239 (otf_open): Delete the 1st arg entity.
1240 (font_otf_capability): Adjusted for the above change.
1241 (font_score): New arg alternate_families. Adjusted for the change
1242 of font-related objects.
1243 (font_sort_entites): New arg best_only.
1244 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
1245 Delete them.
1246 (font_match_p): Check alternate families.
1247 (font_find_object): Delete it.
1248 (font_check_object): New function.
c3f9fba8 1249 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
1250 (font_delete_unmatched): New arg.
1251 (font_list_entities): Call font_driver->list with a spec that
1252 doesn't specify style-related properties.
1253 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 1254 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
1255 (font_close_object, font_has_char, font_encode_char)
1256 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
1257 (font_spec_from_name, font_clear_prop, font_update_lface):
1258 New functions.
1259 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
1260 (font_prepare_for_face, font_done_for_face, font_open_by_name)
1261 (font_at): Adjusted for the change of font-related objects.
1262 (font_range): New function.
1263 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 1264 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
1265 (Fcopy_font_spec, Fmerge_font_spec): New function.
1266 (Ffont_family_list): Renamed from list-families.
1267 (Finternal_set_font_style_table): Arguments changed.
1268 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
1269 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
1270 change of font-related objects.
c3f9fba8 1271 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7
KH
1272
1273 * fontset.h (struct font_info): Delete it. Most memnbers go to
1274 struct font.
1275 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
1276 (enum FONT_SPEC_INDEX): Delete it.
1277 (font_info, list_fonts_func, load_font_func, query_font_func)
1278 (set_frame_fontset_func, find_ccl_program_func)
1279 (get_font_repertory_func, new_fontset_from_font_name): Delete
1280 externs.
1281 (fontset_from_font_name): Extern it.
1282 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
1283 (FONT_INFO_FROM_FACE): Deleted.
1284 (face_for_font): Adjust prototype.
1285
1286 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
1287 conditionals. Don't check enable_font_backend. Delete all codes
1288 used only when USE_FONT_BACKEND is not defined.
1289 (get_font_info_func, list_font_func, load_font_func)
1290 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
1291 (get_font_repertory_func): Delete them.
1292 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
1293 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
1294 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
1295 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
1296 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
1297 (fontset_compare_rfontdef): New function.
1298 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
1299 ront-defs by qsort. Adjusted for the change of font-group vector.
1300 (load_font_get_repertory): Deleted.
1301 (fontset_find_font): Use new macros to ref/set elements of
1302 font-def and rfont-def.
1303 (fontset_font): Fix the timing of remembering that no font for C.
1304 (free_face_fontset): Do nothing if the face has no fontset.
1305 (face_suitable_for_char_p): Use new macros to ref/set elements of
1306 rfont-def.
1307 (face_for_char): Likewise. Call face_for_char with font_object.
1308 (fs_load_font): Delete. Delete #pragma surrounding it.
1309 (fs_query_fontset): Use strcasecmp instead of strcmp.
1310 (generate_ascii_font_name): Adjusted for the format change of
1311 font-spec.
1312 (Fset_fontset_font): Likewise. Use new macros to set elements of
1313 font-def.
1314 (Fnew_fontset): Use font_unparse_xlfd to generate
1315 FONTSET_ASCII (fontset).
1316 (new_fontset_from_font_name): Deleted.
1317 (fontset_from_font): Renamed from new_fontset_from_font. Check if
1318 a fontset is already created for the font. FIx updating of
1319 Vfontset_alias_alist.
1320 (fontset_ascii_font): Deleted.
1321 (Ffont_info): Adjusted for the format change of font-spec.
1322 (Finternal_char_font): Likewise.
1323 (Ffontset_info): Likewise.
1324 (syms_of_fontset): Don't check load_font_func.
1325
1326 * fns.c (internal_equal): Handle PREV_FONT.
1327
1328 * frame.h: Delete USE_FONT_BACKEND conditional.
1329
1330 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
1331 conditionals. Don't check enable_font_backend. Delete all codes
1332 used only when USE_FONT_BACKEND is not defined.
1333 (x_set_font): Call x_new_font, not x_new_fontset2.
1334 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
1335 already set for the frame.
1336
1337 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
1338 a font-entity by font_make_entity. Use font_intern_prop instead
1339 of intern_downcase. Use FONT_SET_STYLE to set a style-related
1340 font property. If a font is scalable, set avgwidth property to 0.
1341 Set font-entity property by font_put_extra.
1342 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
1343 (ffont_driver): Adjusted for the change of struct font_driver.
1344 (ftfont_spec_pattern): New function.
1345 (ftfont_list): Return a list, not vector.
1346 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
1347 (ftfont_list_family): Don't downcase names.
1348 (ftfont_free_entity): Deleted.
1349 (ftfont_open): Return a font-ojbect. Adjusted for the change of
1350 struct font. Get underline_thickness and underline_position from
1351 font property. Don't update dpyinfo->smallest_font_height and
1352 dpyinfo->smallest_char_width.
1353 (ftfont_close): Don't free `struct font'.
1354 (ftfont_has_char): Adjusted for the format change of font-entity.
1355 (ftfont_encode_char, ftfont_text_extents): Likewise.
1356
1357 * ftxfont.c (ftxfont_list): Return a list, not vector.
1358 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
1359 struct font. Get underline_thickness and underline_position from
1360 font property. Don't update dpyinfo->smallest_font_height and
1361 dpyinfo->smallest_char_width.
1362 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
1363 (ftxfont_draw): Adjusted for the change of struct font.
1364
1365 * image.c (image_ascent): Don't include "charset.h". Include
1366 "character.h" and "font.h".
1367
1368 * lisp.h (enum pvec_type): New member PREV_FONT.
1369 (Fassoc_string): EXFUN it.
1370
1371 * print.c: Include font.h.
1372 (print_object): Handle font-related objects.
1373
1374 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
1375 conditionals. Don't check enable_font_backend. Delete all codes
1376 used only when USE_FONT_BACKEND is not defined.
1377 (handle_auto_composed_prop): Do nothing if it->f is not on a
1378 window system. Check how many following characters can be
1379 displayed by the same font.
1380 (calc_pixel_width_or_height): Type of the 4th arg is changed to
1381 'struct font *'.
1382 (get_char_face_and_encoding): Assign the whole encoding task to
1383 the `encode-char' method of a font driver.
1384 (fill_composite_glyph_string): Adjusted for the change of `struct
1385 face' and `struct glyph_string'.
1386 (fill_glyph_string): Likewise.
1387 (get_per_char_metric): Arguments changed.
1388 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
1389 and `struct glyph_string'.
1390 (produce_stretch_glyph, calc_line_height_property)
1391 (x_produce_glyphs): Likewise.
1392
1393 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
1394 conditionals. Don't check enable_font_backend. Delete all codes
1395 used only when USE_FONT_BACKEND is not defined. Use
1396 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
1397 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
1398 (Qp): Extern them.
1399 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
1400 Deleted.
1401 (struct font_name): Deleted.
1402 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
1403 (compare_fonts_by_sort_order): New function.
1404 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
1405 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
1406 Deleted.
1407 (Fx_family_fonts): Use font_list_entities, and sort fonts by
1408 compare_fonts_by_sort_order.
1409 (Fx_font_family_list): Call Ffont_family_list.
1410 (face_numeric_value, face_numeric_weight, face_numeric_slant)
1411 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
1412 (face_symbolic_slant, face_symbolic_swidth)
1413 (split_font_name_into_vector, build_font_name_from_vector)
1414 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
1415 (font_rescale_ratio, split_font_name, build_font_name)
1416 (free_font_names, sort_fonts, x_face_list_fonts)
1417 (face_font_available_p, sorted_font_list, cmp_font_names)
1418 (font_list_1, concat_font_list, font_list, remove_duplicates):
1419 Deleted.
1420 (Fx_list_fonts): Use Ffont_list.
1421 (LFACE_AVGWIDTH): Deleted.
1422 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
1423 by FONTP.
1424 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1425 (set_lface_from_font_name): Delete it.
1426 (set_lface_from_font): Renamed from
1427 set_lface_from_font_and_fontset. Caller changed. Don't set
1428 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
1429 for face.
c3f9fba8
JB
1430 (merge_face_vectors): Copy font-spec if necessary.
1431 Clear properties of the font-spec if necessary.
c6b278e7
KH
1432 (merge_face_ref): Clear properties of the font-spec if necessary.
1433 (Finternal_set_lisp_face_attribute): Likewise.
1434 (set_font_frame_param): Use font_load_for_lface to load a
1435 font-object, and call Fmodify_frame_parameters with it.
1436 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
1437 font name by Ffont_xlfd_name.
1438 (Finternal_lisp_face_attribute_values): Don't check QCweight,
1439 QCslant, and QCwidth.
1440 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
1441 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
1442 Compare fonts by EQ.
1443 (lookup_non_ascii_face): Deleted.
1444 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
1445 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
1446 Check atomic font properties by case insensitive.
c6b278e7
KH
1447 (realize_non_ascii_face): Set face->overstrike correctly.
1448 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
1449 (dump_realized_face): Get font name from
1450 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
1451
1452 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
1453 conditionals. Don't check enable_font_backend. Delete all codes
1454 used only when USE_FONT_BACKEND is not defined.
1455 (xic_create_xfontset): Original code deleted and renamed from
1456 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
1457 (x_make_gc): Don't set GCFont in GCs.
1458 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
1459 opened by "fixed".
1460 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
1461 find_ccl_program_func, query_font_func, set_frame_fontset_func,
1462 get_font_repertory_func.
1463
1464 * xfont.c: Include <stdlib.h> and "ccl.h".
1465 (struct xfont_info): New structure.
1466 (xfont_query_font): Deleted.
1467 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
1468 moved from xterm.c.
1469 (xfont_driver): Adjusted for the change of struct font_driver.
1470 (compare_font_names): New function.
1471 (xfont_list_pattern): Sort font names case insensitively. Make
1472 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
1473 (xfont_list): Return a list, not vector.
1474 (xfont_match): If the font doesn't have QCname property, generate
1475 a name from the other font properties.
1476 (xfont_open): Return a font-ojbect. Adjusted for the change of
1477 struct font. Get underline_thickness and underline_position from
1478 font property. Don't update dpyinfo->smallest_font_height and
1479 dpyinfo->smallest_char_width.
1480 (xfont_close): Don't free struct font.
1481 (xfont_prepare_face): Adjusted for the change of struct font.
1482 (xfont_done_face): Deleted.
1483 (xfont_has_char): Adjusted for the change of struct font.
1484 (xfont_encode_char, xfont_draw): Likewise.
1485 (xfont_check): New function.
1486
1487 * xftfont.c (xftfont_list): Adjusted for the change of `list'
1488 callback function.
1489 (xftfont_match): Adjusted for the fontmat change of font-entity.
1490 (xftfont_open): Adjusted for the format change of font-entity and
1491 font-object. Adjusted for the change of struct font. Return a
1492 font-object. Don't update dpyinfo->smallest_font_height and
1493 dpyinfo->smallest_char_width.
1494 (xftfont_close): Block input while calling XftFontClose.
1495 (xftfont_prepare_face): Don't block input while calling
1496 xftfont_get_colors. Adjusted for the change of struct font.
1497 (xftfont_shape): Return value of error case fixed.
1498
1499 * xrdb.c (x_load_resources): Don't setup a fontset resource.
1500
1501 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
1502 conditionals.
1503 (FONT_WIDTH): Return (f)->max_width.
1504 (struct x_display_info): Delete member `font'.
1505 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
1506 (x_find_ccl_program, x_get_font_repertory): Delete externs.
1507 (struct x_output): Change type of `font' to `struct font *'.
1508
1509 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
1510 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 1511 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
1512 (x_per_char_metric, x_encode_char): Deleted.
1513 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
1514 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 1515 `struct face'.
c6b278e7
KH
1516 (x_draw_glyph_string_foreground)
1517 (x_draw_composite_glyph_string_foreground): Likewise.
1518 (x_draw_glyph_string): Likewise. Use font->underline_position and
1519 font->underline_thickness.
1520 (x_new_font): Renamed from x_new_fontset2.
1521 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
1522 (x_check_font): Call `check' method of a font driver.
1523 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
1524 (x_query_font, x_get_font_repertory): Deleted.
1525 (x_find_ccl_program): Renamed and moved to xfont.c.
1526 (x_redisplay_interface): Adjusted for the change of `struct
1527 redisplay_interface'.
1528
1529 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
1530 conditionals. Don't check enable_font_backend. Delete all codes
1531 used only when USE_FONT_BACKEND is not defined. Surround non-used
1532 code by "#ifdef OLD_FONT" and "endif".
1533 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
1534
1535 * w32font.h (struct w32font_info): New member.
1536 (FONT_COMPAT): New macro.
1537 (w32font_open_internal): Prototype adjusted.
1538
1539 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
1540 OLD_FONT" and "endif".
1541
1542 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
1543 conditionals. Don't check enable_font_backend. Delete all codes
1544 used only when USE_FONT_BACKEND is not defined.
1545 (w32font_open): Return a font-object. Make a font-object by
1546 font_make_object. Adjusted for the change of struct w32font_info.
1547 (w32font_close): Don't free struct font. Adjusted for the change
1548 of struct w32font_info.
1549 (w32font_encode_char, w32font_text_extents, w32font_draw):
1550 Adjusted for the change of struct w32font_info.
1551 (w32font_draw): Likewise.
1552 (w32font_list_internal): Return a list, not vector.
1553 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 1554 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
1555 (add_font_name_to_list): Don't downcase names.
1556 (w32_enumfont_pattern_entity): Make a font-entity by
1557 font_make_entity. Adjusted for the format change of font-entity.
1558 Use FONT_SET_STYLE to set a style-related font property. If a
1559 font is scalable, set avgwidth property to 0. Set font-entity
1560 property by font_put_extra.
c3f9fba8 1561 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
1562 (w32_weight_table, w32_decode_weight): New variables.
1563 (w32_encode_weight): New function.
1564 (fill_in_logfont): Adjusted for the format change of font-spec.
1565 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
1566 weight value.
1567 (w32font_driver): Adjusted for the change of struct font_driver.
1568
1569 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
1570 conditionals. Don't check enable_font_backend. Surround non-used
1571 code by "#ifdef OLD_FONT" and "endif".
1572 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
1573 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
1574
1575 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
1576 conditionals. Don't check enable_font_backend. Delete all codes
1577 used only when USE_FONT_BACKEND is not defined. Surround non-used
1578 code by "#ifdef OLD_FONT" and "endif".
1579
1580 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
1581 (uniscribe_open): Return value changed to font-object.
1582 Adjusted for the format change of font-object.
1583 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
1584 (add_opentype_font_name_to_list): Don't downcase names.
1585 (uniscribe_font_driver): Adjusted for the change of struct
1586 font_driver.
1587
f9d4c199
CY
15882008-05-13 Chong Yidong <cyd@stupidchicken.com>
1589
1590 * dispnew.c (update_frame_1): Check if tty output is still valid
1591 before flushing it.
1592
44f249c0
JD
15932008-05-13 Jan Djärv <jan.h.d@swipnet.se>
1594
1595 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
1596 to Gtk+ menus.
1597
01bb4018
SM
15982008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1599
3271a8f5
SM
1600 * dired.c (file_name_completion): Tweak the code so as to always do it
1601 in a single pass. Tighten the scope of some variables.
1602
01bb4018
SM
1603 * dired.c (Qdefault_directory): New var.
1604 (file_name_completion): Use it instead of Fexpand_file_name.
1605 (syms_of_dired): Initialize it.
1606
728bb8e0
SM
16072008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
1608
1609 * fileio.c (double_dollars): Remove dead code.
1610
ed4c17bb
EZ
16112008-05-10 Eli Zaretskii <eliz@gnu.org>
1612
6c5665e9
EZ
1613 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
1614 Mention w32-get-true-file-attributes in doc string.
1615
ed4c17bb
EZ
1616 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1617
71e1f69d
GM
16182008-05-09 Glenn Morris <rgm@gnu.org>
1619
1620 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
1621 2008-04-23.
1622
ee7a2e7a
EZ
16232008-05-09 Eli Zaretskii <eliz@gnu.org>
1624
8aaaec6b
EZ
1625 Support for reporting owner and group of each file on MS-Windows:
1626 * dired.c (stat_uname, stat_gname): New functions, with special
1627 implementation for w32.
1628 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
1629
ee7a2e7a
EZ
1630 * w32.c: Rename the_passwd_* to dflt_passwd_*.
1631 (dflt_group_name): New static variable.
728bb8e0 1632 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
1633 (init_user_info): Init dflt_group fields. Get user's group name
1634 from LookupAccountSid.
8aaaec6b
EZ
1635 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
1636 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
1637 New initialization states.
1638 (globals_of_w32): Initialize them to zero. Initialize the default
1639 group name to "None".
1640 (GetFileSecurity_Name): New global var, the name of the function
1641 to call for GetFileSecurity.
1642 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
1643 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
1644 (get_file_security, get_security_descriptor_owner)
1645 (get_security_descriptor_group, is_valid_sid)
1646 (get_file_security_desc, get_rid, get_name_and_id)
1647 (get_file_owner_and_group): New functions.
1648 (stat): Use get_file_security_desc and get_file_owner_and_group to
1649 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
1650 high 32 bits of file's size, now that st_size is 64-bit wide.
1651 Fix test when to get true file attributes.
8aaaec6b
EZ
1652 (init_user_info): Use get_rid instead of equivalent inline code.
1653 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 1654
b199c436
CY
16552008-05-09 Chong Yidong <cyd@stupidchicken.com>
1656
1657 * image.c (png_load): Use correct bit-depth for setting background
1658 color.
1659
86914123
EZ
16602008-05-08 Eli Zaretskii <eliz@gnu.org>
1661
1662 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
1663 epa-hook.elc.
1664
67b5d7de
JB
16652008-05-08 Juanma Barranquero <lekktu@gmail.com>
1666
1667 * font.c (Ffont_match_p): Don't use `iff' in docstring.
1668
1a111394
DN
16692008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
1670
1671 * macfns.c (Fx_create_frame): Make a copy of frame parameters
1672 because the original parameters are in pure storage now.
1673 (mac_window): Remove unused params. Update callers.
1674
6d77fa95
SM
16752008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1676
7a3d90dc
SM
1677 * lread.c (substitute_object_recurse): Use lower-level primitives.
1678 Don't signal errors when traversing sub-char-tables.
1679 Don't loop over all the possible characters when traversing char-tables.
1680
6d77fa95
SM
1681 * print.c (print_preprocess): Add sub-char-tables to the print-table,
1682 just like we do in print.c.
1683
140eb764
SM
16842008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
1685
1686 * minibuf.c (Ftry_completion): Remove code left over from when we used
1687 scmp instead of Fcompare_strings.
1688
e9184ccb
JB
16892008-05-04 Juanma Barranquero <lekktu@gmail.com>
1690
1691 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
1692
0e9378b3
YM
16932008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1694
1695 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
1696 Create bitmap context in native byte order.
1697
f67e15be
MB
1698 * macterm.c (XDrawLine)
1699 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
1700 context in native byte order.
064032d0 1701
f67e15be 17022008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
1703
1704 * config.in: Regenerate.
1705
1706 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
1707 New definitions for Image I/O support.
1708 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1709 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
1710 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1711 (mac_data_provider_release_data, image_load_image_io)
1712 [USE_MAC_IMAGE_IO]: New functions.
1713 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
1714 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
1715 (init_image_func_pointer) [MAC_OSX]: Remove function.
1716 (image_load_quartz2d) [MAC_OSX]: Check availability of
1717 CGImageCreateWithPNGDataProvider at compile time.
1718 Use lowercase `false' for boolean constant.
1719 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
1720 Use image_load_image_io.
1721 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
1722 Don't check MyCGImageCreateWithPNGDataProvider.
1723 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
1724 Don't call init_image_func_pointer.
1725
1726 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
1727
1728 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
1729 Make variable non-static.
1730 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1731 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1732
1733 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
1734 (RED_FROM_ULONG): Mask off higher bits.
1735 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
1736
1737 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
1738 Include AvailabilityMacros.h.
1739 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
1740 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
1741
c6bff69e
SM
17422008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
1743
1744 * chartab.c (Fset_char_table_range): If range is t, really set all
1745 chars to that value.
1746
7412d429
EZ
17472008-05-03 Eli Zaretskii <eliz@gnu.org>
1748
1749 * dired.c (Ffile_attributes): Don't allow the device number become
1750 negative.
1751
f83bbfac
DU
17522008-05-02 Daiki Ueno <ueno@unixuser.org>
1753
5a81d3d7 1754 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 1755
2e3148e2
JL
17562008-05-02 Juri Linkov <juri@jurta.org>
1757
1758 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
1759 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
1760 DEFAULT argument as a list of default values in docstrings.
2e3148e2 1761
923fb88c
CY
17622008-05-01 Chong Yidong <cyd@stupidchicken.com>
1763
1764 * puresize.h (BASE_PURESIZE): Increase to 1210000.
1765
047aaeb9
MR
17662008-05-01 Martin Rudalics <rudalics@gmx.at>
1767
1768 * dispnew.c (change_frame_size_1): Preserve small windows when
1769 shrinking frames by calling set_window_height|width with third
1770 arg 2.
1771
1772 * window.h (struct window): Replace field too_small_ok by field
1773 resize_proportionally.
1774
1775 * window.c (make_window): Initialize resize_proportionally.
1776 (enlarge_window): Temporarily set resize_proportionally to make
1777 sure that shrink_windows does scale the window proportionally.
1778 (shrink_windows): When window has resize_proportionally set try
1779 to shrink it proportionally by stealing from other windows.
1780 (struct saved_window, Fset_window_configuration)
1781 (compare_window_configurations): Handle resize_proportionally.
1782 (WINDOW_TOTAL_SIZE): New macro.
1783 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 1784 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
1785 window-min-height|width are handled by window_min_size_2 now.
1786 (size_window, Fsplit_window, enlarge_window)
1787 (adjust_window_trailing_edge, grow_mini_window): Don't call
1788 check_min_window_sizes.
c6bff69e
SM
1789 (window_min_size_2, window_min_size_1, window_min_size):
1790 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 1791 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
1792 (adjust_window_trailing_edge, grow_mini_window):
1793 Adjust arguments of window_min_size... functions.
047aaeb9
MR
1794 (shrink_windows): Argument min_size removed. New argument
1795 safe_p allows shrinking windows to their safe minimum sizes.
1796 Calculate minimum size and decide whether a window shall be
1797 deleted for each window individually.
1798 (size_window): When nodelete_p equals 2, tell shrink_windows to
1799 delete windows only if their new minimum size is no more safe.
1800 (shrink_window_lowest_first): Call window_min_size_1 to make
1801 sure to preserve modeline of bottom-most window when resizing
1802 the minibuffer.
1803 (Fset_window_configuration, Fcurrent_window_configuration)
1804 (compare_window_configurations): Do not handle
1805 window-min-height|width any more.
1806 (syms_of_window): Clarify window-min-height|width doc-strings.
1807
2a54a229
SM
18082008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
1809
1810 * dired.c (file_name_completion): Fix up the encoding/decoding issue
1811 some more. Copy some of the code from Ftry_completions.
1812 Remove special case code that dates back to initial revision when the
1813 slash was only added when necessary and that can't trigger nowadays.
1814
384bc634
KH
18152008-04-27 Kenichi Handa <handa@m17n.org>
1816
1817 * font.c (font_prop_validate): Signal `error' instead of `font'.
1818
2c2279c6
JR
18192008-04-29 Jason Rumney <jasonr@gnu.org>
1820
1821 * w32fns.c (Fw32_battery_status): New defun.
1822 (syms_of_w32fns): Defsubr it.
1823
fb4a622a
AS
18242008-04-28 Andreas Schwab <schwab@suse.de>
1825
1826 * dired.c (file_name_completion): Fix another mixing of encoded
1827 and decoded names.
1828
23f250f4
JB
18292008-04-28 Juanma Barranquero <lekktu@gmail.com>
1830
1831 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
1832
d8d30dff
JB
18332008-04-27 Juanma Barranquero <lekktu@gmail.com>
1834
1835 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
1836
ea6104a8
AS
18372008-04-27 Andreas Schwab <schwab@suse.de>
1838
9c691c00
AS
1839 * dired.c (file_name_completion): Fix inappropriate mixing of
1840 encoded and decoded names.
1841
ec1bf773
AS
1842 * xterm.c (XTread_socket): Fix use of uninitialized variable.
1843
ea6104a8
AS
1844 * puresize.h (BASE_PURESIZE): Increase to 1200000.
1845
01388a3d
EZ
18462008-04-26 Eli Zaretskii <eliz@gnu.org>
1847
1848 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
1849 2008-03-31, it's not needed anymore with `struct stat' definition
1850 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
1851 for the same reasons.
1852
175aea10 18532008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
1854
1855 * m/sparc.h: Additional redefinitions for GNU/Linux.
1856
1289aeb8
YM
18572008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1858
1859 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
1860 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
1861 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
1862 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
1863 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1864 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
1865 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1866 Likewise.
1867
1868 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 1869 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
1870 (mac_ax_number_of_characters): Add externs.
1871 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1872 [USE_MAC_TSM]: Likewise.
1873 (mac_handle_text_input_event) [MAC_OSX]:
1874 Handle kEventTextInputOffsetToPos for no active input area case.
1875 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1876 (mac_handle_document_access_event)
1877 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
1878 (install_application_handler) [MAC_OSX]: Register handlers for
1879 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1880 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1881 Register mac_handle_document_access_event.
1882
1883 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
1884 Make functions non-static.
1885
dbd50d4b
SM
18862008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
1887
1888 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
1889 (read_file_name_completion_ignore_case, insert_default_directory)
1890 (Qdefault_directory): Move to minibuffer.el.
1891 (Fread_file_name): Call the new `read-file-name' instead.
1892
9ea37b9d 18932008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
1894
1895 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
1896 Make function non-static.
1897 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
1898 Remove function.
1899 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1900 Move to mactoolbox.c.
1901 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
1902
1903 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
1904 (mac_rect_make): New macro.
1905
1906 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
1907 instead of float.
1908 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1909 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
1910 (XSetBackground) [USE_CG_DRAWING]: Likewise.
1911 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
1912 CGRectMake.
1913 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1914 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
1915 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
1916 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1917 instead of WindowRef in argument type.
1918 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
1919 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
1920 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
1921 instead of DISPLAY. All uses changed.
1922 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
1923 (x_calc_absolute_position): Simplify so as not to use
1924 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
1925
1926 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1927 instead of WindowRef in argument type.
1928 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
1929 [TARGET_API_MAC_CARBON]: Remove externs.
1930 (create_apple_event, mac_event_parameters_to_lisp)
1931 [TARGET_API_MAC_CARBON]: Add externs.
1932
d8d30dff 1933 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
1934 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
1935 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
1936 is clicked.
1937 (x_activate_menubar): Remove extern for saved_menu_event_location.
1938 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1939 Move from mac.c.
1940
9ea37b9d 19412008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
1942
1943 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
1944 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
1945
9ea37b9d 19462008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
1947
1948 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
1949 attributes only for local files.
1950
1951 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 1952 default to Qlocal.
bd735631 1953
88970542
JL
19542008-04-22 Juri Linkov <juri@jurta.org>
1955
1956 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
1957 read-buffer-to-switch instead of using the letter "B".
1958
92ec67e3
SM
19592008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
1960
1961 * fileio.c (Qdefault_directory): New variable.
1962 (Fread_file_name): Use it to pass `dir' to the completion functions.
1963
a32b2382
CY
19642008-04-20 Chong Yidong <cyd@stupidchicken.com>
1965
2a2e8de7 1966 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 1967
6c8b4f07
SM
19682008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
1969
ece5f847
SM
1970 * keyboard.c (Vpre_help_message): Remove.
1971 (show_help_echo): Remove default C code.
1972
6c8b4f07
SM
1973 * dired.c (directory_files_internal, file_name_completion):
1974 Only call ENCODE_FILE if the string is indeed decoded.
1975
73d798d5
SM
19762008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
1977
1978 * Makefile.in (TOOLKIT_DEFINES): Remove.
1979 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
1980
d8d30dff 19812008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
1982
1983 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
1984 (mactoolbox.o): New target.
1985
1986 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
1987 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
1988
1989 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
1990 Use mac_set_frame_window_background instead of XSetWindowBackground.
1991 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
1992 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
1993 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
1994 instead of SetWindowTitleWithCFString.
1995 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
1996 Move function to mactoolbox.c.
1997 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
1998 Use mac_set_window_modified instead of SetWindowModified.
1999 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
2000 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
2001 (Fx_focus_frame): Use mac_front_non_floating_window instead of
2002 FrontNonFloatingWindow. Use mac_activate_window instead of
2003 ActivateWindow. Use mac_active_non_floating_window instead of
2004 ActiveNonFloatingWindow.
2005 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
2006 Use mac_show_hourglass and mac_hide_hourglass.
2007 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
2008 instead of GetGlobalMouse.
2009 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
2010 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
2011 Use mac_bring_window_to_front instead of BringToFront.
2012 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
2013 mactoolbox.c.
2014 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
2015 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
2016 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
2017 mactoolbox.c.
2018
2019 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
2020 (XtPointer): Move typedef from macmenu.c.
2021 (enum button_type): Move enum from macmenu.c.
2022 (widget_value): Move typedef from macmenu.c.
2023 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
2024 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2025 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2026 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2027 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2028 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2029 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2030 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
2031 (Selection): Move typedef from macselect.c.
2032 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
2033 macterm.c.
2034 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
2035 (mac_is_window_collapsed, mac_bring_window_to_front)
2036 (mac_send_window_behind, mac_hide_window, mac_show_window)
2037 (mac_collapse_window, mac_front_non_floating_window)
2038 (mac_active_non_floating_window, mac_activate_window)
2039 (mac_move_window_structure, mac_move_window, mac_size_window)
2040 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
2041
2042 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
2043 (enum mac_menu_kind): Move enum to mactoolbox.c.
2044 (min_menu_id): Move variable to mactoolbox.c.
2045 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
2046 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
2047 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2048 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2049 [TARGET_API_MAC_CARBON]: Likewise.
2050 (XtPointer): Move typedef to macgui.h.
2051 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
2052 (widget_value): Move typedef to macgui.h.
2053 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2054 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2055 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2056 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2057 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2058 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2059 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
2060 (popup_activated_flag): Make variable non-static.
2061 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
2062 (add_menu_item, fill_menu, dispose_menus):
2063 Move functions to mactoolbox.c.
2064 (restore_show_help_function, menu_target_item_handler)
2065 (install_menu_target_item_handler, mac_handle_dialog_event)
2066 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
2067 [TARGET_API_MAC_CARBON]: Likewise.
2068 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
2069 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2070 (find_and_call_menu_selection, name_is_separator): Make function
2071 non-static.
2072 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
2073 to mactoolbox.c.
2074 (set_frame_menubar): Don't call install_menu_quit_handler.
2075 (menu_item_selection): New variable.
2076 (mac_menu_show): Use create_and_show_popup_menu.
2077 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
2078 selection but set variable menu_item_selection. All uses changed.
2079 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
2080 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 2081
d02fe47d
MB
2082 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
2083 (Selection): Move typedef to macgui.h.
2084 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
2085 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
2086 Make variables non-static.
2087 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2088 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
2089 Make functions non-static.
2090 (Vmac_service_selection) [MAC_OSX]: Likewise.
2091 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
2092 (mac_valid_selection_target_p, mac_clear_selection)
2093 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2094 (mac_put_selection_value, mac_selection_has_target_p)
2095 (mac_get_selection_value, mac_get_selection_target_list)
2096 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
2097 Move functions to mactoolbox.c.
2098 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
2099 Likewise.
2100 (copy_scrap_flavor_data, mac_handle_service_event)
2101 (install_service_handler) [MAC_OSX]: Likewise.
2102 (syms_of_macselect) <Vmac_dnd_known_types>:
2103 Use mac_dnd_default_known_types.
463f55ee 2104
d02fe47d
MB
2105 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
2106 Move to mactoolbox.c.
2107 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
2108 (Fx_selection_owner_p): Add EXFUN.
2109 (install_window_handler, remove_window_handler, XSetWindowBackground):
2110 Remove externs.
2111 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
2112 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
2113 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
2114 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
2115 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
2116 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
2117 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
2118 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
2119 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
2120 (create_and_show_popup_menu, mac_get_selection_from_symbol)
2121 (mac_valid_selection_target_p, mac_clear_selection)
2122 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2123 (mac_put_selection_value, mac_selection_has_target_p)
2124 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
2125 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
2126 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
2127 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2128 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
2129 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2130 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
2131 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2132 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 2133
d02fe47d 2134 * mactoolbox.c: New file.
af253914 2135
d8d30dff 21362008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 2137
d02fe47d 2138 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 2139
8ee085a4
SM
21402008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2141
73d798d5
SM
2142 * character.c (Fmultibyte_char_to_unibyte):
2143 Return latin1 chars unchanged.
5556875b 2144
8ee085a4
SM
2145 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
2146 relocated if it points to `name'.
2147
5dff5999
KH
21482008-04-17 Kenichi Handa <handa@m17n.org>
2149
2150 * data.c (Faset): Allow setting a multibyte character in an
2151 ASCII-only unibyte string.
2152
2153 * lisp.h (STRING_SET_MULTIBYTE): New macro.
2154
a51f4969
SM
21552008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2156
2157 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
2158 done in config.h.
2159
add553ac
JB
21602008-04-16 Juanma Barranquero <lekktu@gmail.com>
2161
2162 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
2163 (Fchar_direction): Add usage in the docstring.
2164
8ad7b280
CY
21652008-04-15 Chong Yidong <cyd@stupidchicken.com>
2166
2167 * keyboard.c (read_key_sequence): Remove always-true checks.
2168
e157d7ba
JR
21692008-04-14 Jason Rumney <jasonr@gnu.org>
2170
2171 * w32font.c (w32font_open_internal): Set max_bounds.descent in
2172 compatibility struct, for better underline positioning.
2173
9ec3aaef 21742008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
2175
2176 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
2177 string.
2178
36c08864
DN
21792008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
2180
2181 * m/hp800.h (XUINT, XSET): Remove.
2182
f5acc071
JB
21832008-04-12 Juanma Barranquero <lekktu@gmail.com>
2184
2185 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
2186 previous change.
2187
5b5a2ea1
SM
21882008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2189
2190 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
2191 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
2192
492d9fd6
SM
21932008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2194
2195 * keymap.h (map_keymap_canonical): Declare.
2196 * xmenu.c (single_keymap_panes): Use it.
2197
dd60787c
GM
21982008-04-11 Glenn Morris <rgm@gnu.org>
2199
2200 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
2201 set the target's value to that of the alias.
2202
c23b5410
SM
22032008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2204
2205 * term.c (set_tty_color_mode): Left over typo.
2206
e89b536d
MA
22072008-04-10 Michael Albinus <michael.albinus@gmx.de>
2208
2209 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 2210 only after check for file name handler functions. Signal, when
e89b536d
MA
2211 native functionality is not supported.
2212 (syms_of_fileio): Declare it unconditionally.
2213
40a339c8
JR
22142008-04-10 Jason Rumney <jasonr@gnu.org>
2215
31403b24
JR
2216 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
2217 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
2218
40a339c8
JR
2219 * w32.c (logon_network_drive): Also logon to remote drives that
2220 are mapped to drive letters.
2221
96a7394f
GM
22222008-04-10 Glenn Morris <rgm@gnu.org>
2223
2224 * xdisp.c (truncate-partial-width-windows): Doc fix.
2225
34b67b0f
SM
22262008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
2227
2228 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
2229 Move functions to minibuffer.el.
2230 (syms_of_fileio): Don't declare them.
2231
c025fb0a
SM
22322008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2233
ba5ff07b
SM
2234 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
2235 (syms_of_minibuf): Remove its initialization.
2236
c025fb0a
SM
2237 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
2238
7a6a86ad
JB
22392008-04-09 Juanma Barranquero <lekktu@gmail.com>
2240
2241 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
2242
cf907d69
JR
22432008-04-09 Jason Rumney <jasonr@gnu.org>
2244
3dc94c30
JR
2245 * makefile.w32-in (distclean): Delete makefile too.
2246 (maintainer-clean): New target.
2247
8d28646b
JR
2248 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
2249
cf907d69
JR
2250 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
2251 for new font backend and composite cases.
2252
ef5eb925
JD
22532008-04-09 Jan Djärv <jan.h.d@swipnet.se>
2254
2255 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
2256 Most of the code moved to run_timers.
2257 (do_pending_atimers): Call run_timers.
2258 (run_timers): New function.
2259
cf907d69
JR
2260 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
2261 run atimers.
ef5eb925
JD
2262
2263 * process.c (wait_reading_process_output): The same as above.
2264
9b2cd403
SM
22652008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2266
32bae13c
SM
2267 * minibuf.c (last_exact_completion): Remove variable.
2268 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
2269 (complete_and_exit_1, complete_and_exit_2)
2270 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2271 (Fdisplay_completion_list, display_completion_list_1)
2272 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
2273 (Fexit_minibuffer, Fminibuffer_message): Move functions to
2274 minibuffer.el.
32bae13c
SM
2275 (syms_of_minibuf): Remove corresponding initializations.
2276
5c4cc82a
SM
2277 * keyboard.c (Qdeactivate_mark): New var.
2278 (command_loop_1): Use it to call `deactivate-mark'.
2279 (syms_of_keyboard): Initialize it.
2280
9b2cd403
SM
2281 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
2282 to another frame.
2283 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
2284 Don't call set_tty_color_mode.
2285 (store_frame_param): Reset previous_frame rather than call
2286 set_tty_color_mode.
2287 * term.c (set_tty_color_mode): Rewrite.
2288 * dispextern.h (set_tty_color_mode): New type.
2289 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
2290
84cb7b45
SM
22912008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
2292
2293 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
2294 for generic chars, which do not exist any more in emacs-unicode.
2295
3ed051d4
MA
22962008-04-08 Michael Albinus <michael.albinus@gmx.de>
2297
2298 * coding.c (detect_coding_emacs_mule)
2299 (Ffind_operation_coding_system): Fix typo.
2300
58c3ea42
JR
23012008-04-08 Jason Rumney <jasonr@gnu.org>
2302
3bf8d230
JR
2303 * w32uniscribe.c (SNAME): Extract only symbol name.
2304
56a70cca
JR
2305 * w32font.h (struct w32_metric_cache): New struct.
2306 (w32font_info): Use it.
2307 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
2308 (CACHE_BLOCKSIZE): New constants.
3ed051d4 2309
58c3ea42
JR
2310 * w32font.c (Qja, Qko, Qzh): New symbols.
2311 (syms_of_w32font): Initialise them.
2312 (font_matches_spec): Use them to filter by language.
2313 (recompute_cached_metrics): Remove function.
2314 (compute_metrics, clear_cached_metrics): New functions.
2315 (w32font_encode_char): Use them to manage metric cache.
2316 (w32font_text_extents): Cache metrics for all glyphs on demand.
2317 Delay converting glyph indices to WORD until needed.
2318 (w32font_open_internal): Initialize metric cache to empty.
2319 (registry_to_w32_charset): Charset should always be a symbol.
2320 (fill_in_logfont, list_all_matching_fonts): Family should
2321 always be a symbol.
2322
0ce24b2d
JR
23232008-04-06 Jason Rumney <jasonr@gnu.org>
2324
2325 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
2326 Give up if glyph indices not supported. Use uniscribe obtained
2327 ABC widths for individual metrics. Map glyph clusters back to
2328 characters using fClusterStart flag. Return number of glyphs
2329 produced, not chars processed.
b7655e0c 2330 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 2331
5bc6ddff 23322008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 2333
fbf57abb
JB
2334 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
2335 Use SetMenuItemHierarchicalMenu.
56613f06 2336
5bc6ddff 23372008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 2338
5bc6ddff
MB
2339 * image.c (pbm_load): Allow color values up to 65535.
2340 Throw an error if max_color_idx is outside the supported range.
2341 Report an error when image size is invalid.
2342 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 2343
5bc6ddff 23442008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 2345
5bc6ddff
MB
2346 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2347 cFileName a file name that includes `?' characters, use the 8+3
2348 alias in cAlternateFileName instead.
5ed6ba5b 2349
5bc6ddff 23502008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 2351
5bc6ddff
MB
2352 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
2353 append "CCL: Quitted" when the CCL program is quitted.
2354 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 2355
5bc6ddff 2356 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 2357
c36e15db
CY
23582008-04-05 Chong Yidong <cyd@stupidchicken.com>
2359
9605d567
CY
2360 * search.c (compile_pattern_1): Treat non-nil and non-string of
2361 search-spaces-regexp as nil.
2362
c36e15db
CY
2363 * minibuf.c (Fassoc_string): Tweak docstring.
2364
40beb147
EZ
23652008-04-05 Eli Zaretskii <eliz@gnu.org>
2366
2367 * dired.c (Ffile_attributes): Support inode numbers wider than 32
2368 bits. Remove ugly WINDOWSNT-specific kludge introduced on
2369 2008-03-14 to force inode be positive.
2370
2371 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
2372 _S_* ones, since we now use our own sys/stat.h.
2373 (stat, fstat): Don't mangle the inode number.
aa08d1ff 2374 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 2375
4591d6cb
SM
23762008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
2377
d4417eb0
SM
2378 * frame.h (struct frame): Give one more bit to `visible' since we use
2379 values larger than 1 to indicate obscured frames on ttys.
2380
00f7c5ed
SM
2381 * keymap.c (Qkeymap_canonicalize): New var.
2382 (Fmap_keymap_internal): New fun.
2383 (describe_map): Use keymap-canonicalize.
2384
4591d6cb
SM
2385 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
2386 (Fundo_boundary): Set them.
2387 (syms_of_undo): Initialize them.
2388 (record_point): Use them instead of last_point_position*.
2389 (last_undo_buffer): Change type.
2390
3187540e
JR
23912008-04-04 Jason Rumney <jasonr@gnu.org>
2392
0ce24b2d
JR
2393 * w32font.c (w32font_text_extents): Use font's ascent and descent.
2394 (recompute_cached_metrics): Don't set ascent and descent per char.
2395
3187540e 2396 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 2397 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 2398 Rearrange loop for counting features.
3187540e 2399
f1a6b216
SM
24002008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2401
2402 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
2403 buffer with byte-size of source buffer.
2404
1d8dcf63
CY
24052008-04-03 Chong Yidong <cyd@stupidchicken.com>
2406
2407 * callint.c (Fcall_interactively): Handle temporary region even
2408 when shift-select-mode is off.
2409
6b8aa22a
JR
24102008-04-03 Jason Rumney <jasonr@gnu.org>
2411
2412 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
2413
2f3cbb32
KH
24142008-04-03 Kenichi Handa <handa@m17n.org>
2415
2416 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
2417 (CATEGORY_MASK_UTF_16): Likewise.
2418 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
2419 binary file.
2420 (detect_coding): Add null-byte detection for a binary file.
2421 (detect_coding_system): Likewise.
2422
43f4f91c
JR
24232008-04-03 Jason Rumney <jasonr@gnu.org>
2424
0c1b4ae2
JR
2425 * w32uniscribe.c: New file.
2426
2427 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
2428
2429 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
2430
2431 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
2432 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
2433 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
2434 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
2435 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
2436 (Qphonetic): New symbols.
2437 (syms_of_w32font): Initialize them.
2438 (font_supported_scripts): Use them.
2439 (w32font_list_family): List all charsets.
2440 (w32font_text_extents, recompute_cached_metrics): Fix metric
2441 calculations.
2442 (w32_enumfont_pattern_entity): Make full_type a DWORD.
2443 Give opentype fonts their own format.
2444 (font_matches_spec): New arguments backend and logfont.
2445 Handle :otf spec for uniscribe backend.
2446 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
2447 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 2448
0c1b4ae2
JR
2449 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
2450 font backend.
2451 (globals_of_w32fns): Initialize uniscribe font backend.
2452
fbf57abb 2453 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
2454 dependencies.
2455 (w32uniscribe.$(O)): New file to build.
2456 (FONT_OBJ): Include w32uniscribe.$(O).
2457 (LIBS): Add uniscribe libraries.
2458
43f4f91c
JR
2459 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
2460
75043a7d
CY
24612008-04-02 Chong Yidong <cyd@stupidchicken.com>
2462
2463 * callint.c (Vshift_select_mode): New var.
2464 (Finteractive): Document new ^ spec.
2465 (Fcall_interactively): Call handle-shift-selection if the ^ spec
2466 is present.
2467
2468 * keyboard.c (Vthis_command_keys_shift_translated): New var.
2469 (command_loop_1): Avoid running the direct display versions of
2470 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
2471 (read_key_sequence): Set Vthis_command_keys_shift_translated if
2472 shift-translation takes place.
2473
2474 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
2475 avoid clobbering by define-minor-mode.
2476
2477 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
2478 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
2479
2480 * syntax.c (Fforward_word): Add ^ interactive spec.
2481
2482 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
2483 (Fscroll_right): Add ^ interactive spec.
2484
b2b7f29e
SM
24852008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
2486
a432c0a6
SM
2487 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
2488
994b75e0
SM
2489 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
2490
b2b7f29e
SM
2491 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
2492
e99c7806
JL
24932008-03-31 Juri Linkov <juri@jurta.org>
2494
2495 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
2496
1c9c1270
JD
24972008-03-30 Jan Djärv <jan.h.d@swipnet.se>
2498
2499 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 2500 (xg_resize_outer_widget): Remove.
1c9c1270
JD
2501 (x_wm_size_hint_off): Fix indentation.
2502 (xg_frame_set_char_size): Call flush_and_sync after
2503 gtk_window_resize.
2504 (x_wm_set_size_hint): Pass NULL as geometry window to
2505 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
2506 Add menu bar and tool bar height to base height.
2507 (xg_update_frame_menubar, free_frame_menubar)
2508 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
2509 (update_frame_tool_bar, free_frame_tool_bar):
2510 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 2511
90b3fc84
MA
25122008-03-30 Michael Albinus <michael.albinus@gmx.de>
2513
2514 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
2515 (Fdbus_call_method): New parameter TIMEOUT.
2516 (dbus-send-signal): Optimize UNGCPRO call.
2517
7ae6d1d1
JL
25182008-03-29 Juri Linkov <juri@jurta.org>
2519
2520 * window.c (Fdisplay_buffer): Move call to
2521 Vsplit_window_preferred_function out of conditions that check
2522 if window is eligible for vertical splitting.
2523 When Vsplit_window_preferred_function is non-nil, call it and use
2524 its non-nil return value as window. Otherwise, continue doing
2525 vertical splitting using Fsplit_window with arg horflag=nil.
2526 (syms_of_window) <Vsplit_window_preferred_function>: Change the
2527 default value from `split-window' to nil.
2528
f03f8f2c
JL
25292008-03-29 Juri Linkov <juri@jurta.org>
2530
2531 * callint.c (Fcall_interactively): Revert 2008-03-16 change
2532 for interactive code letters 'b' and 'B'.
2533
6d557778
EZ
25342008-03-29 Eli Zaretskii <eliz@gnu.org>
2535
2536 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
2537 multibyte string.
2538
58555d81
SM
25392008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
2540
2541 * keyboard.c (pending_funcalls): New var.
2542 (timer_check): Run it.
2543 (syms_of_keyboard): Initialize it.
2544 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
2545 (Vdelete_terminal_functions): New vars.
2546 (syms_of_terminal): Initialize them.
2547 (Fdelete_terminal): Run delete-terminal-functions.
2548 * xdisp.c (safe_eval): Rewrite.
2549 (safe_call2): New fun.
2550 * frame.c (Qdelete_frame_functions): New var.
2551 (syms_of_frame): Initialize it.
2552 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
2553 * lisp.h (safe_call2, pending_funcalls): Declare.
2554
4c92f429
AS
25552008-03-28 Andreas Schwab <schwab@suse.de>
2556
2557 * indent.c (Fmove_to_column): Move declaration before statements.
2558
a1567c45
SM
25592008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
2560
2806a183
SM
2561 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
2562 (struct frame): Use bit fields for boolean vars.
2563
eef60308
SM
2564 * process.c (server_accept_connection): Simplify naming.
2565 (emacs_get_tty_pgrp): Use SDATA.
2566
a1567c45
SM
2567 * coding.c (decode_coding_object): Fix last change.
2568
30076589
JR
25692008-03-27 Jason Rumney <jasonr@gnu.org>
2570
2571 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
2572
880820fe
KH
25732008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
2574
2575 * charset.c (Fdefine_charset_internal): Change the way of
2576 registering charsets in Vcharset_order_list.
2577 (syms_of_charset): Make the charset `eight-bit' supplementary.
2578
3cf8cdfb
CY
25792008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
2580
2581 * regex.c (EXTEND_BUFFER): Change order of pointer addition
2582 operations, to avoid having the difference between pointers
2583 overflow.
2584
ef6f5c0e
SM
25852008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2586
80e3db56
SM
2587 * indent.c (check_display_width): New fun.
2588 (scan_for_column): Use it.
2589
c397dc7a
SM
2590 * data.c (syms_of_data): Mark most-positive-fixnum and
2591 most-negative-fixnum as constants.
2592
bf6b4d58
SM
2593 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
2594
ef6f5c0e
SM
2595 * indent.c (scan_for_column): Extract from current_column_1.
2596 Merge with the same code from Fmove_to_column.
2597 (current_column_1, Fmove_to_column): Use it.
2598
72d5003d
SM
25992008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
2600
12270607
SM
2601 * keymap.c (map_keymap_internal): New fun.
2602 (map_keymap): Use it.
2603 (Fmap_keymap_internal): New fun.
2604 (Fmap_keymap): Remove left-out test from before make_save_value.
2605
a10cca6c
SM
2606 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
2607
d7b10f4c
SM
2608 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
2609 Use XCAR/XCDR.
2610
5431bd6a
SM
2611 * process.h (struct Lisp_Process): Remove filter_multibyte.
2612 * process.c (QCfilter_multibyte): Remove.
2613 (setup_process_coding_systems): Don't use filter_multibyte.
2614 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
2615 (read_process_output): Don't adjust multibyteness to filter_multibyte.
2616 (Fset_process_filter_multibyte): Change the coding-system to
2617 approximate the previous behavior.
2618 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
2619 coding-system.
2620
72d5003d
SM
2621 * coding.c (decode_coding_object): When not decoding into a buffer,
2622 obey the coding system's preference of (uni|multi)byte.
2623
438eba3c
SM
26242008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
2625
2626 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
2627 every char is changed and has a different byte-length.
2628 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
2629 Fix int -> EMACS_INT.
2630
9ec3aaef 26312008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 2632
438eba3c 2633 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
2634 strings. Check for NULL `interface' or `member'.
2635
b07103dc
EZ
26362008-03-22 Eli Zaretskii <eliz@gnu.org>
2637
2638 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2639 cFileName a file name that includes `?' characters, use the 8+3
2640 alias in cAlternateFileName instead.
2641
5371d722
SM
26422008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2643
2644 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
2645
6ba7f443
SM
26462008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2647
2648 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
2649 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
2650 work on current_buffer only instead (that was already the case
2651 for some of the code anyway).
2652 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
2653 (temp_set_point, temp_set_point_both): Use EMACS_INT.
2654 (SET_PT, SET_PT_BOTH): Adjust.
2655 * intervals.h (set_point, temp_set_point, set_point_both)
2656 (temp_set_point_both): Remove redundant declarations.
2657
bf1c0f27
SM
26582008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2659
2660 * fileio.c (Finsert_file_contents):
2661 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
2662 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
2663 when buffer != current_buffer anyway.
2664
acab783e
AS
26652008-03-20 Andreas Schwab <schwab@suse.de>
2666
2667 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
2668 as default.
2669
d148e14d
JR
26702008-03-19 Jason Rumney <jasonr@gnu.org>
2671
2672 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
2673 (syms_of_w32fns): Initialize them.
2674 (HOURGLASS_ID): New constant.
2675 (x_window_to_frame): Don't check hourglass_window.
2676 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
2677 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
2678 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
2679 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
2680 Only change the cursor if hourglass is not active.
2681 (Fx_create_frame): Initialize frame's current_cursor.
2682 (hourglass_atimer): Remove.
2683 (hourglass_started): New function.
2684 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
2685 (show_hourglass): Adapt to w32, changing argument to frame.
2686
2687 * w32term.h (struct w32_output): Remove hourglass_window.
2688 Add current_cursor.
2689
2690 * eval.c (call_debugger, Fsignal):
2691 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
2692 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
2693 (Fexecute_extended_command, cancel_hourglass_unwind):
2694 * minibuf.c (read_minibuf):
2695 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 2696
a5c54077
JB
26972008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2698
2699 * window.c (run_funs): New fun.
2700 (run_window_configuration_change_hook): Use it to run the buffer-local
2701 and the global part of the hook.
2702
2703 * xdisp.c (format_mode_line_unwind_data): Add window argument.
2704 (unwind_format_mode_line): Restore selected window.
2705 (x_consider_frame_title, Fformat_mode_line): Set selected window.
2706
f9f3238f
SM
27072008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2708
253c3c82
SM
2709 * editfns.c (Fchar_equal): Check they are valid characters.
2710
f9f3238f
SM
2711 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
2712
065a118d
AS
27132008-03-17 Andreas Schwab <schwab@suse.de>
2714
0b8be006
AS
2715 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
2716 against a charset.
2717
065a118d
AS
2718 * lisp.h (Fbuffer_list): Declare.
2719
880820fe 27202008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
2721
2722 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
2723 handlebox_widget is != 0.
2724
6206d6c2
JL
27252008-03-16 Juri Linkov <juri@jurta.org>
2726
2727 * callint.c (Fcall_interactively): For interactive code letters
2728 'b' and 'B' put the buffer list into the list of default "future"
2729 values of the minibuffer.
2730
f5020181
AS
27312008-03-16 Andreas Schwab <schwab@suse.de>
2732
a864f6d6
AS
2733 * keyboard.c (read_key_sequence): Fix downcasing of letters with
2734 modifiers.
2735
f5020181
AS
2736 * regex.c (re_match_2_internal): Correct matching of a charset
2737 against latin-1 characters.
2738
03f244e2
KH
27392008-03-16 Kenichi Handa <handa@m17n.org>
2740
2741 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
2742 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
2743 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
2744 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
2745 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
2746 CHAR_STRING_ADVANCE.
2747 (produce_chars): Fix for the case that the source and the
2748 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
2749 instead of CHAR_STRING_ADVANCE.
2750 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
2751 STRING_CHAR_ADVANCE.
2752
0e2501ed
AS
27532008-03-15 Andreas Schwab <schwab@suse.de>
2754
2755 * regex.c (re_match_2_internal): Correct matching of eight bit
2756 characters in unibyte strings.
2757
7723e095
MR
27582008-03-15 Martin Rudalics <rudalics@gmx.at>
2759
2760 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
2761 at end of range when it coincides with the end of the buffer.
2762
f507f365
EZ
27632008-03-14 Eli Zaretskii <eliz@gnu.org>
2764
294f1153
EZ
2765 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
2766
f507f365
EZ
2767 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
2768
64f0809d
JR
27692008-03-14 Jason Rumney <jasonr@gnu.org>
2770
956ae531
JR
2771 * editfns.c (initial_tz): New variable.
2772 (syms_of_editfns): Initialize it.
2773 (Fset_time_zone_rule): Set it when first called.
2774 Use it when TZSTRING is nil.
2775
64f0809d
JR
2776 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
2777 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
2778 (monitor_from_point_fn, get_monitor_info_fn): New globals.
2779 (globals_of_w32fns): Initialize them.
2780 (compute_tip_xy): Use them to position tooltips.
2781
21a4ff8e
GM
27822008-03-14 Glenn Morris <rgm@gnu.org>
2783
2784 * emacs.c (main): Revert previous change.
2785 (standard_args): Revert -internal-script back to -scriptload,
2786 and remove the long-option form.
2787
a09a5b5b
GM
27882008-03-13 Glenn Morris <rgm@gnu.org>
2789
2790 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
2791 Remove option -enable-font-backend.
2792
1c55ebd1
SM
27932008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2794
2795 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
2796
880820fe 27972008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
2798
2799 * xterm.c (x_connection_closed): For GTK: If this is the last
2800 terminal just exit without closing the display.
2801
7145be81
JR
28022008-03-11 Jason Rumney <jasonr@gnu.org>
2803
2804 * w32font.c (w32font_full_name): Use floor to round.
2805
e6201af3 28062008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
2807
2808 * sound.c (alsa_configure): Declare vol at beginning of block.
2809
e6201af3 2810 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 2811
390b81fa 28122008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 2813
56388398
MB
2814 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
2815 size of resulting string.
af0ad939 2816
390b81fa 28172008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 2818
56388398 2819 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 2820
390b81fa 28212008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 2822
56388398
MB
2823 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
2824 Don't pretend as if characters with display property haven't been
2825 consumed for string-replacing-string case.
acd37560 2826
223ed6db
KS
28272008-03-08 Kim F. Storm <storm@cua.dk>
2828
2829 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
2830 (get_next_display_element, next_element_from_string)
2831 (next_element_from_ellipsis, next_element_from_buffer): Use it.
2832
28545f7c
AS
28332008-03-08 Andreas Schwab <schwab@suse.de>
2834
2835 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
2836
c960bff8
JR
28372008-03-06 Jason Rumney <jasonr@gnu.org>
2838
290afd83
JB
2839 * w32font.c (w32_registry): Take font_type argument. Use ANSI
2840 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
2841 font_type is truetype.
2842 (w32font_coverage_ok): New function.
2843 (add_font_entity_to_list): Use it to filter unsuitable fonts.
2844
87b8ce92
KH
28452008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
2846
2847 * lread.c (Fread_char): Resolve modifiers.
2848 (Fread_char_exclusive): Likewise.
2849
2850 * character.c (char_resolve_modifier_mask): New function.
2851 (char_string): Use char_resolve_modifier_mask.
2852 (Fchar_resolve_modifiers): New function.
2853 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
2854 function.
2855
cefd56f6
JR
28562008-03-04 Jason Rumney <jasonr@gnu.org>
2857
2858 * makefile.w32-in: Always include w32font.c in the build.
2859 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
2860
03bd3c1f
AS
28612008-03-04 Andreas Schwab <schwab@suse.de>
2862
2863 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
2864 (versionclean): Likewise.
2865
6f69e89b
JB
28662008-03-04 Juanma Barranquero <lekktu@gmail.com>
2867
2868 * .cvsignore: Add oo.
2869
f4a3cc44
AS
28702008-03-03 Andreas Schwab <schwab@suse.de>
2871
2872 * coding.c (decode_coding_object): Inhibit gap shrinking while
2873 decoding in place.
2874
73f838ad
DN
28752008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
2876
2877 * w32term.c: Remove unused include "gnu.h".
6f69e89b 2878 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
2879
2880 * gnu.h: Rename to ...
2881 * emacs-icon.h: ... this.
2882 * xterm.c: Use emacs-icon.h instead of gnu.h.
2883 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
2884
ce9c1f06
JB
28852008-03-03 Juanma Barranquero <lekktu@gmail.com>
2886
2887 * w32font.c: Include math.h.
2888
34fd2d28
JR
28892008-03-03 Jason Rumney <jasonr@gnu.org>
2890
54efdcd1
JR
2891 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
2892 Compute options separately.
2893 (w32font_open_internal): Set glyph_idx before caching metrics.
2894
ce9c1f06
JB
2895 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
2896 Define if system headers don't.
2897 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
2898 (w32font_encode_char): Don't declare here.
2899
2900 * w32font.c (Quniscribe, QCformat): New symbols.
2901 (syms_of_w32font): Define them.
2902 (w32font_has_char): Indicate uncertainty.
ce9c1f06 2903 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 2904 (recompute_cached_metrics): New function.
ce9c1f06
JB
2905 (w32font_open_internal): Use it. Set font to use glyph points
2906 initially. Set format based on type of font.
34fd2d28 2907 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
2908 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
2909 on it. Set format based on information available here.
34fd2d28
JR
2910 (add_font_entity_to_list): Identify backend based on opentype_only.
2911
14daee73
AS
29122008-03-02 Andreas Schwab <schwab@suse.de>
2913
f907fb2e
AS
2914 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
2915
ce9c1f06
JB
2916 * coding.c (decode_coding_big5, produce_chars):
2917 Fix typos in last change.
14daee73 2918
c9cc6462
DN
29192008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
2920
2921 * gnu.h: New icon.
2922
119852e7
KH
29232008-03-02 Kenichi Handa <handa@m17n.org>
2924
2925 * coding.c (decode_coding_utf_8): When eol-type of CODING is
2926 `dos', don't decode '\r' if that is the last in the source.
2927 (decode_coding_utf_16, decode_coding_emacs_mule)
2928 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2929 (decode_coding_raw_text, decode_coding_charset): Likewise.
2930 (produce_chars): Don't decode EOL here. Use EMACS_INT.
2931
a823468b
JR
29322008-03-01 Jason Rumney <jasonr@gnu.org>
2933
2934 * w32font.c (w32font_full_name): Report point size for scalable fonts.
2935
4ddc7e30
KS
29362008-03-01 Kim F. Storm <storm@cua.dk>
2937
2938 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
2939
67997c79
JR
29402008-03-01 Jason Rumney <jasonr@gnu.org>
2941
2942 * w32font.c (w32font_full_name): New function.
2943 (w32font_open_internal): Use it.
2944
3f4e9c35
KS
29452008-03-01 Kim F. Storm <storm@cua.dk>
2946
2947 * dispnew.c (line_draw_cost): Fix invalid glyph check.
2948
f3b9e479
JR
29492008-03-01 Jason Rumney <jasonr@gnu.org>
2950
2951 * font.c (font_unparse_fcname): Increase len when style is a symbol.
2952
880820fe 29532008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
2954
2955 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
2956 xg_frame_resized when the event is for the edit widget.
2957
2958 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
2959
2960 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
2961 set_char_size.
2962 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
2963 operations on widgets here. Just set frame size if needed.
2964 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
2965 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
2966 (x_wm_set_size_hint): Set size hints on the edit widget only, not
2967 the whole frame.
2968 (xg_create_tool_bar): Move attachement of the tool bar to
2969 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
2970 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
2971
6c8acaa1
JR
29722008-03-01 Jason Rumney <jasonr@gnu.org>
2973
2974 * w32fns.c (w32_msg_pump): Disable debug code.
2975
51fb064b 29762008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 2977
51fb064b 2978 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 2979
60221a33
CY
29802008-02-29 Chong Yidong <cyd@stupidchicken.com>
2981
2982 * xdisp.c (next_overlay_string): Don't set
2983 overlay_strings_at_end_processed_p if we're currently reading from
2984 a display string.
2985
10cbc34f
SM
29862008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
2987
2988 * xdisp.c (get_overlay_strings_1): Fix typo.
2989
73c0054e
CY
29902008-02-29 Chong Yidong <cyd@stupidchicken.com>
2991
2992 * xdisp.c (get_overlay_strings_1): Add missing argument type.
2993
ec1c4354
KH
29942008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
2995
55082642
KH
2996 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
2997
ec1c4354
KH
2998 * xdisp.c (display_mode_element): Cancel the previous change.
2999 (decode_mode_spec): Likewise.
ee548a94
KH
3000 (handle_auto_composed_prop): Don't make composition if it->string
3001 is a string.
ec1c4354 3002
b6d898a2
KS
30032008-02-27 Kim F. Storm <storm@cua.dk>
3004
3005 * lisp.h (GLYPH): Change type from int to struct with separate char
3006 and face_id members.
3007 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
3008 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
3009 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
3010 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
3011 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
3012 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
3013 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
3014 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
3015 handle new Lisp glyph code encoding, either an integer or a cons.
3016
3017 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
3018 (GLYPH_ALIAS): Delete.
3019 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
3020 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
3021 (GLYPH_FROM_CHAR): Replace macro by ...
3022 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
3023
3024 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
3025 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
3026 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
3027 (GLYPH_INVALID_P): New macro.
3028 (spec_glyph_lookup_face): Update prototype.
3029
3030 * dispnew.c (line_draw_cost): Adapt to new glyph type.
3031 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
3032 new glyph code encoding.
3033 (spec_glyph_lookup_face): No return value; update passed glyph instead.
3034 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
3035
3036 * xdisp.c (get_next_display_element, next_element_from_display_vector):
3037 Adapt to new glyph type and new glyph code encoding.
3038
3039 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
3040
3041 * indent.c (current_column, current_column_1, Fmove_to_column)
3042 (compute_motion): Adapt to new glyph code encoding.
3043
3044 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
3045
af2080a2
CY
30462008-02-27 Chong Yidong <cyd@stupidchicken.com>
3047
3048 * process.c (wait_reading_process_output): Check for window
3049 changes caused by timers.
880820fe 3050 Suggested by Johan Bockgård.
af2080a2 3051
253ed25e
GM
30522008-02-27 Glenn Morris <rgm@gnu.org>
3053
3054 * emacs.c (USAGE1): Add `--disable-font-backend'.
3055
18a9f8d9
SM
30562008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
3057
3058 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
3059 is made to the buffer.
3060
0f8b27ea
SM
30612008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
3062
3063 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
3064 (face_at_string_position):
3065 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
3066 (face_at_string_position):
3067 * xdisp.c (display_string, next_overlay_change):
3068 * buffer.h (overlays_at):
3069 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
3070 Update callers.
3071
4e7c53ca
CY
30722008-02-26 Chong Yidong <cyd@stupidchicken.com>
3073
3074 * editfns.c (Fformat): Doc fix.
3075
51c01100
JB
30762008-02-26 Juanma Barranquero <lekktu@gmail.com>
3077
3078 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
3079 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
3080 (Ffont_otf_alternates, Fquery_font): Doc fixes.
3081
13cda5f9
SM
30822008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3083
3084 * buffer.c (Fbuffer_swap_text): New function.
3085 (syms_of_buffer): Defsubr it.
3086
8018d430
CY
30872008-02-25 Chong Yidong <cyd@stupidchicken.com>
3088
3089 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
3090
9bde1a21
JR
30912008-02-25 Jason Rumney <jasonr@gnu.org>
3092
3093 * w32font.c (w32font_draw): Draw one character at a time when padding.
3094
eeca6f6f
SM
30952008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3096
3097 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
3098 Handle a nil arg. Use run_window_configuration_change_hook.
3099 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
3100 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
3101 Use run_window_configuration_change_hook.
3102
ec1c4354
KH
31032008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3104
3105 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
3106 1-pixel width.
3107
ae185452
KH
31082008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3109
3110 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
3111 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
3112 if the glyph in the font is zero pixel with.
3113
3114 * dispextern.h (struct glyph_string): New member padding_p.
3115
3116 * w32font.c (w32font_draw): Pay attention to s->padding_p.
3117
3118 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
3119
3120 * xfont.c (xfont_draw): Pay attention to s->padding_p.
3121
3122 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
3123
eeca6f6f 3124 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 3125
ffe832ea 31262008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 3127
ffe832ea 3128 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 3129
06045130
SM
31302008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
3131
3132 Allow fine-grained image-cache flushing.
3133 * dispextern.h (struct image): Add `dependencies' field.
3134 (clear_image_caches): Change arg to Lisp_Object.
3135 * image.c (make_image): Initialize `dependencies' field.
3136 (clear_image_cache): Change arg to allow fine-grained flushing.
3137 Perform the flush even if image-cache-eviction-delay is nil.
3138 (clear_image_caches): Change arg to Lisp_Object.
3139 (Fclear_image_cache): Expand meaning of the argument.
3140 (mark_image): Mark `dependencies' field.
3141 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
3142 (lface_hash): Use XHASH rather than XFASTINT.
3143 (face_at_buffer_position): Fix int -> EMACS_INT position.
3144 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
3145 (select_frame_for_redisplay): Remove code duplication.
3146 (redisplay_internal): Adapt arg to call to clear_image_caches.
3147
9d2818d6
DN
31482008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
3149
3150 * s/vms4-0.h:
3151 * s/vms4-2.h:
3152 * s/vms4-4.h:
3153 * s/vms5-5.h: Remove, unused.
3154
3155 * s/irix5-2.h:
3156 * s/irix6-0.h:
3157 * s/riscos5.h:
3158 * s/mach-bsd4-3.h:
2a2e8de7 3159 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
3160
3161 * Makefile.in:
3162 * filelock.c:
3163 * unexmips.c:
3164 * m/hp9000s300.h:
3165 * m/iris4d.h:
3166 * s/aix3-1.h:
3167 * s/hpux.h:
3168 * s/msdos.h:
3169 * s/usg5-0.h:
3170 * s/usg5-2-2.h:
3171 * s/usg5-2.h:
3172 * s/usg5-3.h: Remove references to obsolete variables.
3173
3174 * s/irix5-0.h: Remove, move all the contents ...
3175 * s/irix6-5.h: ... here. Simplify.
3176 * config.in: Regenerate.
3177
2a36efcf
JR
31782008-02-24 Jason Rumney <jasonr@gnu.org>
3179
c5ad7a3d 3180 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
3181 manually when cleartype is in use.
3182 (x_draw_glyph_string_foreground): Draw text transparently when
3183 cleartype is in use.
3184
2a36efcf
JR
3185 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
3186 a font into it unless we have to.
3187
b03f96dc 31882008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 3189
b03f96dc
MB
3190 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
3191 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 3192
b03f96dc 31932008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 3194
b03f96dc 3195 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 3196
b03f96dc 31972008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 3198
b03f96dc 3199 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 3200
b03f96dc 32012008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 3202
b03f96dc 3203 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 3204
d5958163
CY
32052008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
3206
3207 * xterm.c (x_set_offset): Don't change the gravity if
3208 CHANGE_GRAVITY is -1.
3209
9997701e
CY
32102008-02-23 Chong Yidong <cyd@stupidchicken.com>
3211
3212 * fileio.c (auto_save_error_occurred): New var.
3213 (auto_save_error): Set it.
3214 (Fdo_auto_save): Don't overwrite the error message if an auto-save
3215 error occurred.
3216
9d95a291
EZ
32172008-02-23 Eli Zaretskii <eliz@gnu.org>
3218
3219 * w32.c (globals_of_w32): Add initializations for
3220 g_b_init_get_sid_sub_authority and
3221 g_b_init_get_sid_sub_authority_count.
3222
43d1af23
SM
32232008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
3224
43a1d19b
SM
3225 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
3226 (font_parse_xlfd): Use them for sanity check.
608c3307 3227 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 3228
354884c4
SM
3229 Consolidate the image_cache to the terminal struct.
3230 * termhooks.h (P_): Remove redundant def.
3231 (struct terminal): New field `image_cache'.
3232 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
3233 of FRAME_X_IMAGE_CACHE.
3234 * xterm.h (struct x_display_info): Remove image_cache field.
3235 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3236 * w32term.h (struct w32_display_info): Remove image_cache field.
3237 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3238 * macterm.h (struct mac_display_info): Remove image_cache field.
3239 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3240 * xterm.c (x_term_init):
3241 * w32term.c (w32_term_init):
3242 * macterm.c (mac_term_init): Set the image_cache in the terminal.
3243 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
3244 Remove declarations.
3245 (clear_image_caches, mark_image_cache): New declarations.
3246 * xfaces.c (clear_face_cache):
3247 * xdisp.c (redisplay_internal): Use clear_image_caches.
3248 * image.c (clear_image_cache): Don't check that a frame is on
3249 a window-system before checking if it shares the same cache.
3250 (clear_image_caches): New function.
3251 (Fclear_image_cache): Use it.
3252 (mark_image): Move from allo.c.
3253 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
3254 * alloc.c (mark_image, mark_image_cache): Move to image.c.
3255 (mark_object): Don't call mark_image_cache for frames.
3256 (mark_terminals): Call mark_image_cache.
3257
c2e42690
SM
3258 * lisp.h (Fdelete_terminal): Declare.
3259
43d1af23
SM
3260 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
3261 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
3262 wrong_type_argument.
3263
cc8d1311
KH
32642008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
3265
3266 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 3267 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 3268
6bd92640
SM
32692008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
3270
3271 * xterm.c (x_connection_closed): Consolidate identical tests.
3272 (x_delete_terminal): Don't crash if called via x_connection_closed.
3273
a73b5627
KH
32742008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
3275
3276 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 3277 (display_mode_element): Adjust for the above change.
a73b5627 3278
1b511542
SM
32792008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3280
3281 * callint.c (Fcall_interactively): Use AREF.
3282
81aefea4
SM
32832008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
3284
3285 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
3286
880820fe 32872008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
3288
3289 * xfns.c (Fx_show_tip): Set string to " " if empty.
3290
a2b84f35
DN
32912008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
3292
3293 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
3294 with Qt.
3295
43c0454d
KH
32962008-02-17 Kenichi Handa <handa@m17n.org>
3297
3298 * ftfont.c (ftfont_shape): Return Lispy number.
3299
3300 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
3301 for GCs.
3302 (Finternal_set_font_selection_order): Call font_update_sort_order
3303 only when enable_font_backend is set.
3304 (realize_x_face): Set face->font_info to that of default face only
3305 when enable_font_backend is set.
3306
3307 * xdisp.c (handle_composition_prop): Set it->c to the fist
3308 characte of the composed region.
3309 (fill_composite_glyph_string): Set base_face->font_info to
3310 s->font_info. Get a face for ascii from base_face->ascii_face.
3311 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
3312 with a face already decided.
3313 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
3314 non-negative.
978bef9a
JB
3315 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
3316 call font_prepare_composition unconditionally.
43c0454d 3317
978bef9a 3318 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
3319
3320 * xterm.h (struct x_display_info): New member font.
3321
3322 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
3323 (x_set_mouse_face_gc, x_new_font): Likewise.
3324 (x_term_init): Setup display_info->font.
3325 (x_delete_terminal): Free display_info->font.
3326
3327 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
3328
3329 * ftxfont.c (ftxfont_default_fid): Delete it.
3330 (ftxfont_open): Set xfont->fid to 0.
978bef9a 3331 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
3332 font-driver.
3333
3334 * xftfont.c (xftfont_default_fid): Delete it.
3335 (xftfont_open): Set xfont->fid to 0.
3336
3337 * fontset.c (FONTSET_OBJLIST): New macro.
3338 (fontset_find_font): Update font-object list of the fontset.
3339 (free_realized_fontset): New function.
3340 (free_face_fontset): Call free_realized_fontset.
3341 (Ffont_info): Call font_close_object only when enable_font_backend
3342 is set.
3343
3344 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
3345 [HAVE_NTGUI]: Include w32term.h.
3346 [MAC_OS]: Include macterm.ch.
3347 (font_otf_ValueRecord): Use make_number.
3348 (font_finish_cache): Fix handling of reference count.
3349 (font_clear_cache): Update num_fonts.
3350 (font_open_entity): Update smallest_char_width and
3351 smallest_font_height of the frame.
3352 (font_close_object): Update num_fonts.
3353 (Fclear_font_cache): Fix finding the target cache data.
3354
be617367
GM
33552008-02-16 Glenn Morris <rgm@gnu.org>
3356
3357 * fontset.c (Finternal_char_font): Fix compilation warning.
3358
2930d117
EZ
33592008-02-16 Eli Zaretskii <eliz@gnu.org>
3360
634d3003
EZ
3361 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
3362 instead of char arrays. Enlarge the size of array passed to
3363 get_token_information.
3364
2930d117
EZ
3365 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
3366 warnings.
3367
79214046
DN
33682008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
3369
3370 * .gdbinit: Don't set `args', it breaks gdb --args.
3371
7f5d2c72
SM
33722008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
3373
3374 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
3375 within a narrowed buffer.
3376
6edacc43
KH
33772008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
3378
b270d6af
JB
3379 * coding.c (decode_coding_object, encode_coding_object):
3380 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 3381
174105f7
SM
33822008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
3383
b270d6af
JB
3384 * coding.c (coding_set_destination): Use BEG_BYTE rather than
3385 hardcoding 1.
13818c30
SM
3386 (detect_coding_system):
3387 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
3388 (string_char_to_byte, string_byte_to_char, insert_from_gap):
3389 * insdel.c (insert_from_gap):
3390 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
3391 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
3392 (string_to_multibyte):
3393 * character.c (chars_in_text, multibyte_chars_in_text):
3394 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
3395
f1c99628
SM
3396 * character.h (FETCH_STRING_CHAR_ADVANCE)
3397 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
3398 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
3399 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
3400
7927d8e3
SM
3401 * casefiddle.c (casify_region): Only call after-change and composition
3402 functions on the part of the region that was changed.
3403
adf6a429 3404 * keyboard.c (read_avail_input):
174105f7
SM
3405 * frame.c (Fdelete_frame): Call Fdelete_terminal.
3406
3ee24aec
SM
34072008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3408
3409 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
3410 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
3411
4ed4b975
JB
34122008-02-11 Juanma Barranquero <lekktu@gmail.com>
3413
3414 * w32menu.c (push_submenu_start, push_submenu_end)
3415 (push_left_right_boundary, push_menu_pane, push_menu_item):
3416 * keyboard.c (read_key_sequence): Don't pass args with side effects
3417 to AREF, it fails when compiling with -DENABLE_CHECKING.
3418
79e3bfb8
KH
34192008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
3420
4ed4b975
JB
3421 * Makefile.in (${lispsource}international/charprop.el):
3422 Delete this target.
6e76043f 3423
79e3bfb8
KH
3424 * search.c (boyer_moore): Fix incorrect synching of the trunk and
3425 emacs-unicode-2.
3426
5b8de9c5
SM
34272008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3428
3429 * terminal.c (Fdelete_terminal): Clean up the `force' path.
3430
eac1939a
SM
34312008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3432
c53956fe
SM
3433 * frame.c (Qnoelisp): New symbol.
3434 (syms_of_frame): Initialize it.
3435 (Fdelete_frame): Use it to distinguish a mere `force' passed from
3436 someharmles Elisp code, from a strong `force' from x_connection_closed.
3437 * frame.h (Qnoelisp): Declare.
3438 * xterm.c (x_connection_closed): Pass `noelisp'.
3439
eac1939a
SM
3440 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
3441 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
3442 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
3443 rather than `int' for the type of `type'.
3444
13f6772b
DN
34452008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
3446
3447 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
3448
3449 * Makefile.in (GNUC): Remove support for gcc-1.x.
3450
e8455367
RS
34512008-02-10 Richard Stallman <rms@gnu.org>
3452
3453 * lisp.h (ASET): Use AREF, not ASLOT.
3454
4b75ffab
SM
34552008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3456
3457 * lisp.h (ASET): Check bounds.
3458
d224e8c2
GM
34592008-02-10 Glenn Morris <rgm@gnu.org>
3460
3461 * buffer.c (mode-name): Doc fix.
3462
4624371d
DN
34632008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3464
290afd83
JB
3465 * Makefile.in:
3466 * emacs.c:
3467 * gmalloc.c:
3468 * keyboard.c:
3469 * lisp.h:
3470 * m/ibm370aix.h:
3471 * process.c:
3472 * regex.c:
3473 * s/hpux.h:
3474 * sysdep.c:
3475 * sysselect.h:
3476 * systty.h:
3477 * unexec.c:
3478 * w32term.c:
3479 * xsmfns.c:
3480 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
3481
3482 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
3483
3484 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
3485 nothing else needs it anymore.
3486
274ec34b
EZ
34872008-02-09 Eli Zaretskii <eliz@gnu.org>
3488
3489 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
3490 instead of unibyte_char_to_multibyte.
3491
deeaffe1
DN
34922008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3493
3494 * s/gnu-linux.h: Remove commented out code.
3495
4ed4b975 3496 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
3497
3498 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 3499 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 3500 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
3501 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
3502 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
3503
68b587a6
SM
35042008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
3505
9141ca5e
SM
3506 * keymap.c (Fkey_description): Move side effect outside of macro call.
3507
dfae5f9a 3508 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
3509 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
3510
ff7a2223
SM
3511 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
3512 (syms_of_fontset): Use ASET.
3513
68b587a6
SM
3514 * fns.c (concat): Move side effect outside of macro call.
3515 (hash_clear): Use ASET.
3516
a31787b1
RS
35172008-02-08 Richard Stallman <rms@gnu.org>
3518
3519 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
3520 If FORCE, and frame has a surrogate minibuffer for another frame,
3521 delete the other frame first.
3522
987be29b 35232008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
3524
3525 * xterm.c (x_detect_focus_change): Handle embed client message.
3526 (handle_one_xevent): Ditto.
3527 (handle_one_xevent): If embedded and we get a button press/release,
3528 request focus.
3529 (xembed_set_info, xembed_send_message): New functions.
3530 (x_make_frame_visible): Call xembed_set_info if embedded.
3531 (x_make_frame_invisible): Call xembed_set_info if embedded.
3532 (x_term_init): Initialize Xatom_XEMBED.
3533 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
3534 (x_iconify_frame): Ditto.
3535
3536 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
3537 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
3538 (enum xembed_modifier, enum xembed_accelerator): New.
3539 (xembed_set_info, xembed_send_message): Declare.
3540 (FRAME_X_EMBEDDED_P): New.
3541
3542 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
3543 gtk_plug_new.
3544
3545 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
3546 window ID of a frame.
3547 (x_window): Reparent frame if embedded.
3548 (Fx_create_frame): Don't set border width if embedded.
3549
1f204af3 3550 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
3551 (standard_args): Ditto.
3552
880820fe 35532008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
3554
3555 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
3556
92413ef3
JD
35572008-02-07 Jim Meyering <meyering@redhat.com>
3558
6f69e89b 3559 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
3560 The latter provokes a warning from gcc about the empty else, when
3561 followed by ";". Also, without that trailing semicolon, it would
3562 silently swallow up any following statement.
c3f9fba8 3563 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
3564 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
3565 * buffer.h (DECODE_POSITION): Likewise.
3566 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
3567 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
3568 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
3569 (FETCH_CHAR_ADVANCE): Likewise.
3570 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 3571
03fa5713
GM
35722008-02-07 Jim Meyering <meyering@redhat.com>
3573
3574 * lread.c [lint]: Don't include <sys/inode.h>.
3575
3ae565b3
SM
35762008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
3577
3578 * xselect.c (x_handle_dnd_message):
3579 * xmenu.c (digest_single_submenu, xmenu_show):
3580 * xdisp.c (with_echo_area_buffer_unwind_data)
3581 (format_mode_line_unwind_data, unwind_format_mode_line)
3582 (display_menu_bar):
3583 * eval.c (Ffetch_bytecode):
3584 * doc.c (store_function_docstring):
3585 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
3586 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
3587 * buffer.c (add_overlay_mod_hooklist): Use ASET.
3588
146b6e55
KH
35892008-02-07 Kenichi Handa <handa@m17n.org>
3590
3591 * ftxfont.c (ftxfont_open): Don't set
3592 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
3593
3594 * ftfont.c (ftfont_open): Fix previous change.
3595
46a923ac
JR
35962008-02-06 Jason Rumney <jasonr@gnu.org>
3597
3598 * w32font.c (w32font_text_extents): Fill in lbearing metric.
3599 Use cached metrics for ASCII characters.
3ae565b3
SM
3600 (w32font_open_internal): Don't set font's owning_frame.
3601 Cache metrics for ASCII characters.
46a923ac
JR
3602
3603 * w32font.h (struct w32font_info): Add ascii_metrics.
3604 Remove owning_frame.
3605
da7d7c21
KH
36062008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
3607
3608 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
3609 to negative value.
3610
3611 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
3612
3ae565b3 3613 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
3614
3615 * charset.c (syms_of_charset): Set QCtest and Qeq.
3616
c62c8ddb
SM
36172008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
3618
ca319910
SM
3619 * process.c (Fstart_process):
3620 * callproc.c (Fcall_process): Handle the case where
3621 Funhandled_file_name_directory returns nil.
3622
76860cbb
SM
3623 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
3624 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
3625 * font.c (check_gstring): Use them and AREF to access the vector before
3626 we know it's really a gstring.
3627 (Ffont_shape_text): Fix typo.
3628 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 3629
15139d67
SM
3630 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
3631 Declare.
3632
c62c8ddb
SM
3633 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
3634
04b65d2b
JR
36352008-02-05 Jason Rumney <jasonr@gnu.org>
3636
3637 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
3638 Set smallest_font_height and smallest_char_width in display info.
3639
fccaebfd
KH
36402008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
3641
3642 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
3643
e7d7fd8c
MB
36442008-02-05 Miles Bader <miles@gnu.org>
3645
3646 * xfaces.c (get_lface_attributes, merge_named_face)
3647 (lookup_named_face, lookup_derived_face, realize_named_face):
3648 Revert 2008-02-01 change by cyd@stupidchicken.com.
3649
3d4448a8
KH
36502008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
3651
3652 * fontset.c (Ffontset_info): Handle the case of inhibitting the
3653 fallback fonts.
15139d67 3654 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 3655
5ace1ec1
JR
36562008-02-04 Jason Rumney <jasonr@gnu.org>
3657
3658 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
3659 set full_name.
e3a77b22 3660 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 3661
ffe42183
JR
36622008-02-03 Jason Rumney <jasonr@gnu.org>
3663
3664 * makefile.w32-in (OBJ1): Include font.o here.
3665 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
3666
526dc3b3
JR
36672008-02-02 Jason Rumney <jasonr@gnu.org>
3668
a0fece35 3669 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 3670
af805c82
JR
36712008-02-01 Jason Rumney <jasonr@gnu.org>
3672
3673 * s/cygwin.h: Define VIRT_ADDR_VARIES.
3674
3675 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
3676
7f6519c5
AS
36772008-02-01 Andreas Schwab <schwab@suse.de>
3678
1f45f627 3679 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 3680 ../lisp/language/myanmar.el.
7f6519c5 3681
26f8aa27
CY
36822008-02-01 Chong Yidong <cyd@stupidchicken.com>
3683
1f45f627 3684 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
3685 (merge_named_face, lookup_named_face, lookup_derived_face)
3686 (realize_named_face): Call lface_from_face_name directly, and use
3687 the fact that merge_face_vectors does not alter its FROM argument.
3688
73acf815 36892008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3690
3691 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 3692 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 3693
73acf815 36942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3695
3696 * fontset.c (reorder_font_vector): Exclude nil elements from the
3697 font group. Don't try multiple fonts.
15139d67 3698 (fontset_font): Adjust for the above change.
aca7a3d2
MB
3699 (Finternal_char_font): Return nil if the found font doesn't
3700 contain the character ch.
3701
4c4475a8 3702 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 3703
73acf815 37042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3705
3706 * font.h (FONTP): Make it return 1 also for a font-object.
3707
3708 * .gdbinit (xfontset): New function.
3709
3710 * font.c (font_find_for_lface): Check if the character C is
3711 supported or not only for the first font.
3712
3713 * fontset.c (reorder_font_vector): Fix typo.
3714 (fontset_find_font): Don't add a font-spec specifying a script.
3715 Use 0 (not Qt) for the indication of empty font-group. Change the
3716 format of RFONT-DEF. Return Qt if no font in the font-group
3717 support the character.
15139d67 3718 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 3719 found the character, remember that.
15139d67 3720 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
3721 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
3722 no font for the target.
15139d67 3723 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 3724
73acf815 37252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3726
3727 * font.c (font_load_for_face): Handle the case that the font in
3728 face->lface is a string.
3729
73acf815 37302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3731
1f45f627 3732 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 3733
73acf815 37342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3735
3736 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
3737 Fix previous change. If the frame is not on a window system,
3738 signal an error.
3739
73acf815 37402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3741
4c4475a8
GM
3742 * coding.c (decode_coding_object, encode_coding_object): Adjust
3743 marker positions after conversion.
aca7a3d2
MB
3744
3745 * lisp.h (struct Lisp_Marker): New member need_adjustment.
3746
73acf815 37472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3748
3749 * font.c (font_find_for_lface): Fix the handling of the return
3750 value of font_has_char.
3751 (Ffont_shape_text): Fix previous change.
3752
3753 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
3754 (fontset_ref_and_range): Delete it.
3755 (fontset_find_font): Call char_table_ref_and_range instead of
3756 FONTSET_REF_AND_RANGE.
3757 (make_fontset): Don't setup font groups of Latin here.
3758 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
3759 (new_fontset_from_font): Make the specified font the default for
3760 all Latin characters.
3761
73acf815 37622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3763
3764 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
3765 is on a window system before accessing the fontset of the frame.
3766
73acf815 37672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3768
1f45f627 3769 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
3770
3771 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
3772 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
3773
3774 * font.c (Ffont_shape_text): If the font driver doesn't have a
3775 shaper function, make zero-width glyphs to have at least one-pixel
3776 width. Fix setting of `to' field of glyphs.
3777
73acf815 37782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3779
3780 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
3781 glyphs.
3782
1f45f627 3783 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 3784
73acf815 37852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3786
3787 * composite.c (syms_of_composite): Fix docstring of
3788 auto-composition-function.
3789
3790 * font.h (LGLYPH_SIZE): New macro.
3791
3792 * font.c (Ffont_fill_gstring): Stop filling when a character not
3793 supported by the font is found.
3794 (Ffont_shape_text): When a shape callback function returns nil,
3795 try at most two more times with larger gstring.
15139d67 3796 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
3797
3798 * xdisp.c (handle_auto_composed_prop): Change the argument to
3799 auto-composition-function.
3800
3801 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
3802 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
3803 Lispy glyph and store it in the lgstring.
3804
3805 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
3806
3807 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
3808
73acf815 38092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3810
3811 * font.c (Ffont_shape_text): Avoid unnecessary composition.
3812
3813 * fontset.c (Vfont_encoding_charset_alist): New variable.
3814 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
3815 (reorder_font_vector, fontset_find_font): Optimize for the case of
3816 no need of reordering.
aca7a3d2
MB
3817 (face_for_char): Map the charset property by
3818 Vfont_encoding_charset_alist.
3819
73acf815 38202008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3821
3822 * w32font.c (logfonts_match): Don't check adstyle here.
3823 (font_matches_spec): Check here against physical font instead.
3824 (add_font_entity_to_list): Avoid some substitutions.
3825
3826 * font.c (font_parse_fcname): Default weight and slant to normal.
3827 (font_score): Prefer normal fonts if weight or slant unspecified.
3828 (font_score) [WINDOWSNT]: Scale weight difference down to closer
3829 match freetype scores.
3830
73acf815 38312008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3832
3833 * w32font.c (w32font_text_extents): Don't use the frame stored in the
3834 font, as it may have been deleted.
3835 (w32_enumfont_pattern_entity): Map generic family to adstyle using
3836 most common hyphenless variation.
3837 (logfonts_match): Check generic family.
3838 (font_matches_spec): Don't check generic family here.
3839 (fill_in_logfont): Set generic family based on adstyle.
3840
3841 * w32font.h (w32font_get_cache): Update declaration.
3842
73acf815 38432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3844
3845 * ftfont.c (ftfont_get_cache): Adjust the argument type.
3846
15139d67 3847 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 3848 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
3849 with the old drivers.
3850
3851 * w32font.c (w32font_get_cache): Adjust the argument type.
3852
3853 * xfont.c (xfont_get_cache): Adjust the argument type.
3854
3855 * font.h (struct font_driver): Change argument type of get_cache.
3856
3857 * xftfont.c (xftfont_start_for_frame): Delete prototype.
3858
3859 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 3860 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 3861 (font_clear_cache): New function.
4c4475a8 3862 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 3863 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
3864
3865 * fontset.c (fontset_find_font): Fix previous change.
3866
73acf815 38672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3868
3869 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
3870 dpyinfo->font_table.
3871 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 3872 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
3873
3874 * font.c (font_at): Handle the case that the arg C is negative.
3875 Handle the unibyte case.
3876 (Ffont_at): Call font_at with the arg C -1.
3877
3878 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
3879 the position here, and call font_at with the arg C -1.
3880 Don't check the range of the existing composition at the point.
aca7a3d2 3881
73acf815 38822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3883
15139d67 3884 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 3885 Change caller.
4c4475a8
GM
3886 (load_font_get_repertory, fontset_find_font): Assume that
3887 font_spec is always a font-spec object.
aca7a3d2
MB
3888 (Fset_fontset_font): Always store a font-spec object in a fontset.
3889
3890 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
3891 instead of get_property_and_range.
3892
73acf815 38932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3894
3895 * xftfont.c (struct xftfont_info): Delete the member ft_face.
3896 (xftfont_open): Don't keep locking face.
3897 (xftfont_close): Don't unlock face.
4c4475a8 3898 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
3899
3900 * fontset.c (fontset_find_font): Don't prefer a font of
3901 supplementary charset.
3902
73acf815 39032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3904
1f45f627
GM
3905 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
3906 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
3907 (OTF_TAG_STR): Terminate by '\0'.
3908 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
3909 listing to the script specified in that property. Fix arg to
3910 OTF_check_features.
3911
73acf815 39122008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3913
3914 * w32font.h: New file.
3915
3916 * w32font.c: Include it.
3917 (struct w32font_info): Add owning_frame field. Move to w32font.h.
3918 (w32font_open): Set owning_frame.
3919 (w32font_text_extents): Use owning_frame.
3920 (struct font_callback_data): Add opentype_only field.
3921 (add_font_entity_to_list): Use it to filter fonts.
3922 Don't check against full name.
3923 (w32font_list_internal): New function.
3924 (w32font_list): Use it.
3925 (w32font_match_internal): New function.
3926 (w32font_match): Use it.
3927 (w32font_open_internal): New function.
3928 (w32font_open): Use it.
3929 (w32font_get_cache, w32font_close, w32font_has_char)
3930 (w32font_encode_char, w32font_text_extents, w32font_draw):
3931 Make non-static.
3932
3933 * makefile.w32-in (w32font.o): Depend on w32font.h.
3934
73acf815 39352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3936
3937 * charset.c (Fdefine_charset_internal): Record a supplementary
3938 charset at the tail of Vcharset_order_list.
3939
3940 * font.c (Ffont_shape_text): Fix the return value.
3941
3942 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
3943
3944 * xdisp.c (handle_auto_composed_prop): Fix previous change.
3945
73acf815 39462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3947
3948 * ftfont.c (struct OpenTypeSpec): New struct.
3949 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
3950 (ftfont_get_open_type_spec): New function.
3951 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
3952
15139d67 3953 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 3954
73acf815 39552008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3956
3957 * w32font.c (add_font_entity_to_list): Compare only the beginning
3958 of full name.
3959
73acf815 39602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3961
15139d67
SM
3962 * xdisp.c (handle_auto_composed_prop): Simplify the code.
3963 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 3964
73acf815 39652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3966
3967 * font.c (font_gstring_produce): Delete it.
3968
15139d67
SM
3969 * composite.h (COMPOSITION_METHOD):
3970 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 3971
73acf815 39722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3973
15139d67 3974 * xfont.c (Qx): Delete.
aca7a3d2
MB
3975 (syms_of_xfont): Don't initialize Qx.
3976
15139d67
SM
3977 * composite.h (enum composition_method):
3978 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 3979
73acf815 39802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3981
3982 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
3983 (choose_face_font): Accept new form of font-spec.
3984
3985 * frame.h (font_driver_list): Declare it unconditionally.
3986 (struct frame): Define members font_driver_list and font_data_list
3987 unconditionally.
3988
3989 * fontset.c: Include "font.h" unconditionally.
15139d67 3990 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
3991 (Fset_fontset_font): Accept a font-spec object.
3992
3993 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
3994 PIXEL_SIZE part a wild card.
3995
3996 * dispextern.h (struct glyph_string): Define members clip and
3997 num_clips unconditionally.
3998 (struct face): Define members font_info and extra unconditionally.
3999
4000 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
4001 ftfont_info only when HAVE_LIBOTF is defined.
4002
73acf815 40032008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4004
4005 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
4006 and end.
4007
73acf815 40082008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4009
4010 * w32font.c (w32font_driver): Add new fields.
4011
73acf815 40122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 4013
aca7a3d2
MB
4014 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
4015 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
4016 (LIBES): Add @M17N_FLT_CFLAGS@.
4017
4018 * composite.c (compose_text): Don't treat the new style
4019 composition specially.
4020
4021 * emacs.c (main): Call syms_of_font unconditionally.
4022
4023 * font.h (FONT_ENTITY_NOT_LOADABLE)
4024 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 4025 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 4026 (struct font_driver): New member shape.
1f45f627 4027 (font_registry_charsets): Extern it.
4c4475a8 4028 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
4029 (font_otf_capability, font_drive_otf): Delete their externs.
4030
4031 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
4032 (font_charset_alist, font_registry_charsets): Move from xfont.c
4033 and rename.
aca7a3d2
MB
4034 (font_prop_validate_otf): New function.
4035 (font_property_table): Register it for QCotf.
4036 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 4037 (font_drive_otf): Delete.
1f45f627 4038 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
4039 lispy gstring.
4040 (font_find_for_lface): New arg C.
15139d67 4041 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
4042 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
4043 lispy gstring.
aca7a3d2
MB
4044 (Ffont_shape_text): New function.
4045 (Fopen_font): If the font size is not given, use 12-pixel.
4046 (Ffont_at): New arg STRING.
15139d67
SM
4047 (syms_of_font): Initalize font_charset_alist.
4048 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
4049 conditionally.
4050
4051 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
4052 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
4053 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
4054 Adjust for the change of RFONT-DEF.
15139d67 4055 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
4056
4057 * ftfont.h: New file.
4058
4059 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
4060 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4061 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4062 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
4063 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 4064 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
4065 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
4066 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
4067 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 4068 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
4069 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
4070 (otf_gstring, gstring, m17n_flt_initialized): New variables.
4071
15139d67
SM
4072 * w32term.c (x_draw_composite_glyph_string_foreground):
4073 Adjust for the change of lispy gstring.
aca7a3d2 4074
15139d67 4075 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 4076 lispy gstring. Call a function for auto-composition with the
15139d67
SM
4077 third arg it->window.
4078 (fill_composite_glyph_string): Adjust for the change of lispy string.
4079 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 4080
15139d67 4081 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4082 font_find_for_lface.
4083
1f45f627
GM
4084 * xfont.c (x_font_charset_alist): Move to font.c and rename.
4085 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
4086 (syms_of_xfont): Don't handle x_font_charset_alist.
4087
4088 * xftfont.c: Include "ftfont.h".
15139d67 4089 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
4090 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4091 (xftfont_close) [HAVE_LIBOTF]: Close otf.
4092 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
4093 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
4094 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 4095
15139d67 4096 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
4097 the change of lispy gstring.
4098
73acf815 40992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4100
4101 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
4102
73acf815 41032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4104
4105 * w32font.c (w32font_draw): Fill background manually.
4106
73acf815 41072008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4108
4109 * font.c (Qfontp): Remove unused symbol.
4110 (QCantialias): New symbol.
4111 (syms_of_font): Define it.
4112 (font_property_table): Set a validator for QCantialias.
4113
15139d67
SM
4114 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
4115 Define if not already.
aca7a3d2
MB
4116 (QCfamily): Share with xfaces.c.
4117 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 4118 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
4119 (w32_antialias_type, lispy_antialias_type): New functions.
4120 (w32_enumfont_pattern_entity): New arg requested_font.
4121 Set antialias parameter if non-default was requested.
4122 (fill_in_logfont): Fill in lfQuality if :antialias specified.
4123
73acf815 41242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4125
4126 * lread.c (read1): Undo the previous change.
4127
73acf815 41282008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
4129
4130 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 4131 USE_FONT_BACKEND is defined.
aca7a3d2 4132
73acf815 41332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4134
4135 * font.h (struct font_bitmap): New member bits_per_pixel.
4136 (struct font_driver): New members start_for_frame and end_for_frame.
4137 (struct font_data_list): New struct.
4138 (font_put_frame_data, font_get_frame_data): Extern them.
4139
4140 * frame.h (struct frame): New member font_data_list.
4141
4142 * font.c (font_update_drivers): Call driver->start_for_frame and
4143 driver->end_for_frame at proper timings.
4144 (font_put_frame_data, font_get_frame_data): New functions.
4145 (Ffont_spec): Add usage in the docstring.
4146
4147 * frame.c (make_frame): Initialize f->font_data_list to NULL.
4148 (Fdelete_frame): Call font_update_drivers.
4149
4150 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 4151 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
4152 (xftfont_get_xft_draw): New function.
4153 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
4154 (xftfont_end_for_frame): New function.
4155 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
4156
15139d67 4157 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 4158 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
4159 (struct ftxfont_frame_data): New struct.
4160 (ftxfont_draw_bitmap): New arg gc_fore and flush.
4161 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 4162 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
4163 (ftxfont_end_for_frame): New function.
4164 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
4165
4166 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
4167
73acf815 41682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4169
4170 * xselect.c (Vselection_coding_system)
4171 (Vnext_selection_coding_system): Delete them.
4172 (syms_of_xselect): Don't declare selection-coding-system and
4173 next-selection-coding-system. They are declared in select.el.
4174
73acf815 41752008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4176
4177 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
4178
4179 * w32fns.c: Include imm.h.
4180 (get_composition_string_fn, get_ime_context_fn): New optional
4181 system functions.
4182 (globals_of_w32fns): Load them from imm32.dll.
4183 (ignore_ime_char): New flag.
4184 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
4185 WM_IME_ENDCOMPOSITION messages.
4186
4187 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
4188 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
4189
73acf815 41902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4191
4192 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
4193 (READCHAR_REPORT_MULTIBYTE): New macro.
4194 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
4195 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
4196 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
4197 source.
4198
73acf815 41992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4200
4201 * xfaces.c (face_for_overlay_string): Call lookup_face with
4202 correct arguments (fix of synching with the trunk).
4203
73acf815 42042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4205
4c4475a8
GM
4206 * font.c (font_prop_validate_symbol, font_prop_validate_style)
4207 (font_prop_validate_non_neg, font_prop_validate_spacing):
4208 Delete argument prop_index.
15139d67
SM
4209 (font_property_table): Change arguments to validater. Change Callers.
4210 (font_lispy_object): Delete.
aca7a3d2
MB
4211 (font_at): Use font_find_object instead fo font_lispy_object.
4212
73acf815 42132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4214
4215 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
4216 and file names.
4217
73acf815 42182008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4219
4220 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
4221 (font_matches_spec): Remove debug output.
4222 (add_font_entity_to_list): Avoid using substituted fonts.
4223
73acf815 42242008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4225
4226 * doc.c (Fsnarf_documentation):
4227 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
4228
73acf815 42292008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 4230
290afd83 4231 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
4232 HAVE_WINDOW_SYSTEM is defined.
4233
73acf815 42342008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
4235
4236 Fix up multi-tty merge.
4237
4238 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
4239 and indentation.
4240
4241 * xfaces.c (free_realized_face, clear_face_gcs):
4242 Include font_done_for_face in the input_blocked section, just in case.
4243
4244 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
4245 (get_char_face_and_encoding): Undo last change and remove the *other*
4246 duplicate definition (i.e. keep the one that's better scoped and that
4247 includes code for the font-backend).
4248
4249 * terminal.c (create_terminal): Default keyboard_coding to
4250 `no-conversion' and terminal_coding to `undecided'.
4251
4252 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
4253
4254 * fontset.c (free_realized_fontsets): Check that the table entry does
4255 contain a fontset before trying to compare it to `base'.
4256
4257 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
4258 syms_of_charset, and syms_of_coding earlier because init_window_once
4259 now needs Vcoding_system_hash_table to be setup.
4260
4261 * coding.h (default_buffer_file_coding): Remove.
4262
4263 * coding.c (default_buffer_file_coding): Remove.
4264 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
4265 than ->symbol, and use the terminal-local coding system.
4266 (syms_of_coding): Don't setup the coding-systems that are not
4267 terminal-local.
4268 (Fdefine_coding_system_internal): Use XCAR/XCDR.
4269
4270 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
4271 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
4272
4273 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
4274 in chartab.c and were re-added here by mistake.
4275 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
4276
4277 * doc.c (Fsnarf_documentation):
4278 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
4279 src to etc.
4280
4281 * ChangeLog.10: Add mistakenly removed entry.
4282
73acf815 42832008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
4284
4285 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
4286
73acf815 42872008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4288
4289 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
4290 Add extra args to FACE_FOR_CHAR.
4291
73acf815 42922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4293
4294 * keymap.c (where_is_internal_1): If key is a cons, store the copy
4295 in sequence.
4296
4c4475a8
GM
4297 * chartab.c (map_sub_char_table, map_char_table): If the range
4298 contains just one character, call the function with that character
4299 even if the depth is not 3.
aca7a3d2 4300
73acf815 43012008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4302
4303 * w32font.c (w32font_text_extents): Calculate metrics for the
4304 whole string.
4305
73acf815 43062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4307
4308 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
4309
73acf815 43102008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4311
4312 * w32term.c (x_set_glyph_string_clipping): Use
4313 get_glyph_string_clip_rects.
4c4475a8
GM
4314 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4315 Adjust for the change of struct glyph_string.
aca7a3d2
MB
4316
4317 * w32font.c (w32font_draw): Do clipping here.
4318
73acf815 43192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4320
1f45f627 4321 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
4322 glyph_string.
4323
4324 * xterm.c (x_set_glyph_string_clipping): Use
4325 get_glyph_string_clip_rects.
4c4475a8
GM
4326 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4327 Adjust for the change of struct glyph_string.
aca7a3d2
MB
4328
4329 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
4330 the resulting clip(s}.
1f45f627 4331 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
4332 row->clip temporarily.
4333 (expose_window): Redraw rows overlapping the exposed area.
4334
4335 * dispextern.h (struct glyph_row): New member clip.
4336 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
4337 clip_height, new member clip, and num_clips.
4338
73acf815 43392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4340
4341 * data.c (Fchar_or_string_p): Fix docstring.
4342
73acf815 43432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4344
4345 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
4346 create a temporal XftDraw object.
4347
73acf815 43482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4349
4350 * font.c (Ffontp): Fix docstring.
4351
4352 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
4353 strong evidence of ISO-2022.
4354
73acf815 43552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4356
4357 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
4358 SYNTAX_ENTRY_FOLLOW_PARENT.
4359
73acf815 43602008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
4361
4362 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
4363 its type.
4364 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
4365 Update to the new type of weak_hash_tables and next_weak.
4366
4367 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
4368 a plain C pointer to Lisp_Hash_Table.
4369
4370 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
4371 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
4372 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
4373 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
4374 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
4375 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
4376 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
4377 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
4378 (GC_EQ): Remove since they've been identical to their non-GC_
4379 alter-egos ever since the markbit was eradicated.
4380
290afd83
JB
4381 * alloc.c:
4382 * buffer.c:
4383 * buffer.h:
4384 * data.c:
4385 * fileio.c:
4386 * filelock.c:
4387 * fns.c:
4388 * frame.h:
4389 * lisp.h:
4390 * macterm.c:
4391 * print.c:
4392 * process.c:
4393 * w32fns.c:
4394 * w32menu.c:
4395 * w32term.c:
4396 * xfns.c:
4397 * xmenu.c:
4398 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 4399
73acf815 44002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4401
4402 * chartab.c (map_sub_char_table): Make it work for the top-level
4403 char-table. Fix handling of parent char-table.
c5ad7a3d 4404 (map_char_table): Adjust for the above change.
aca7a3d2 4405
73acf815 44062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4407
4408 * w32font.c (Qgdi): Rename from Qw32.
4409
73acf815 44102008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4411
4412 * w32bdf.c (get_quoted_string): Make function static.
4413
73acf815 44142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4415
4416 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
4417 bigger ascent and descent than those of the font, use them as
4418 font's ascent and descent.
4419
73acf815 44202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4421
4422 * Makefile.in (${lispsource}international/charprop.el): Move this
4423 target within "#ifdef HAVE_UNIDATA" and "#endif".
4424
73acf815 44252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4426
4427 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
4428 (shortlisp): Add ../lisp/language/tai-viet.el.
4429
1f45f627 44302008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
4431
4432 * Makefile.in (${lispsource}international/charprop.el): Depend on
4433 temacs${EXEEXT}.
4434
73acf815 44352008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4436
4437 * w32font.c (w32font_close): Delete the GDI font object.
4438
6f69e89b 4439 * w32menu.c: Include character.h.
aca7a3d2
MB
4440
4441 * w32proc.c: Likewise.
4442
4443 * w32select.c: Likewise.
4444
6f69e89b 4445 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 4446
73acf815 44472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4448
4449 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
4450
4451 * w32menu.c (syms_of_w32menu): Likewise.
4452
4453 * w32proc.c (syms_of_ntproc): Likewise.
4454
4455 * w32select.c (syms_of_w32select): Likewise.
4456
4457 * w32term.c (syms_of_w32term): Likewise.
4458
73acf815 44592008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4460
4461 * w32font.c (w32font_draw): Delete brush after using it.
4462
73acf815 44632008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4464
4465 * w32font.c (w32font_open): Don't set font_idx.
4466 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
4467 to font settings.
4468 (w32font_draw): Fill background explicitly.
4469
73acf815 44702008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4471
4472 * w32term.c (w32_initialize): Don't call w32font_initialize.
4473
4474 * w32font.c (w32font_info): Remove subranges.
4475 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
4476 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
4477 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
4478 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
4479 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
4480 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
4481 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
4482 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
4483 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
4484 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
4485 New symbols.
4486 (font_callback_data): New struct.
4487 (w32font_list, w32font_match): Use it.
4488 (w32font_open): Don't populate subranges.
4489 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
4490 (w32font_encode_char): Always return unicode code-point as-is.
4491 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
4492 GetGlyphOutline. Never look up by glyph index. Avoid looping
4493 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 4494 glyph index version.
1f204af3 4495 (set_fonts_frame): Remove.
aca7a3d2 4496 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
4497 set frame parameter. Use backward compatible fake foundries.
4498 Save generic family in extra slot under QCfamily. Make width slot
4499 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
4500 binary subranges.
4501 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 4502 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
4503 unwanted fonts.
4504 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
4505 (w32_registry): Default to iso10646_1.
4506 (fill_in_logfont): Use dpi from extra slot. Don't bother with
4507 string font registries. Don't fill in font name if it is a generic
4508 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
4509 extra info to fill pitch, family and charset fields.
4510 (list_all_matching_fonts): Use font_callback_data struct.
4511 (unicode_range_for_char): Remove.
4512 (font_supported_scripts): New function.
4513 (w32font_initialize): Remove.
4514 (syms_of_w32font): Update which symbols are defined.
4515
73acf815 45162008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4517
4518 * font.c (font_pixel_size): Reverse assq_no_quit args.
4519
4520 * w32term.h (FONT_WIDTH): Report max width, not average.
4521 (FONT_MAX_WIDTH): Remove.
4522 (FONT_AVG_WIDTH): New macro.
4523
4524 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
4525 redefinition of FONT_WIDTH.
4526
4527 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
4528 (w32_cache_char_metrics): Use FONT_WIDTH.
4529
4530 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
4531
73acf815 45322008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4533
4534 * w32font.c (w32font_open): Make lfHeight negative.
4535
4536 * w32fns.c (x_default_font_parameter): Use new style font name.
4537 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
4538
73acf815 45392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4540
4541 * w32font.c (QCsubranges): New symbol.
4542 (w32font_open, w32font_has_char): Get subranges from subproperty
4543 of extra.
4544 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
4545 (syms_of_w32font): Define :subranges symbol.
4546
4547 * font.c (font_put_extra): Expose externally.
4548
1f45f627 4549 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
4550
4551 * font.c (Ffont_get): Use font driver to determine otf capability.
4552 (adjust_anchor): Check if driver defines anchor_point before using.
4553
4554 * w32font.c (w32font_open): Handle size, height and pixel_size better.
4555 (w32font_draw): Use options.
4556 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
4557 Fix detection of truetype fonts.
4558 (registry_to_w32_charset): Handle charsets other than iso8859-1
4559 expressed as lisp symbols.
4560 (w32_registry): Express charset as lisp symbol.
4561 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 4562 Don't set width here. Set quality to default.
aca7a3d2
MB
4563
4564 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
4565 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
4566
4567 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4568 Remove redundant loop and allocation.
4569
4570 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 4571 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
4572 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
4573
4574 * xdisp.c (fill_composite_glyph_string): Make the first arg to
4575 STORE_XCHARB a valid l-value.
4576
4577 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
4578 calculations for non-Truetype fonts.
4579 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
4580 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4581 Remove redundant code.
aca7a3d2
MB
4582 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
4583
4584 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
4585 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
4586
4587 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
4588 (x_to_w32_charset, w32_to_x_charset): Expose externally.
4589
4590 * w32font.c: New file for w32 font backend.
4591
73acf815 45922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4593
4594 * term.c: Don't include "buffer.h" twice.
4595
73acf815 45962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4597
4598 * character.c (Funibyte_string): New function.
4599 (syms_of_character): Defsubr it.
4600
73acf815 46012008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4602
4603 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
4604 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
4605 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
4606 (x_draw_glyph_string, x_draw_glyph_string_foreground)
4607 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
4608 (x_free_frame_resources): Sync with xterm.c.
4609
73acf815 46102008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4611
4612 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
4613 char-table size.
4614
73acf815 46152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4616
c3f9fba8 4617 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 4618
73acf815 46192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4620
4621 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
4622 font_otf_gpos, add font_drive_otf.
4623
4624 * fontset.c (fontset_find_font): Pay attention to font size
4625 specified for a font.
4626 (reorder_font_vector): Check contents of font_def.
4627
4628 * font.c (struct otf_list): Delete it.
6f69e89b 4629 (otf_list): Make it a lisp variable.
aca7a3d2 4630 (otf_open): Use lispy otf_list.
1f45f627 4631 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 4632 (check_otf_features): New function.
c3f9fba8
JB
4633 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4634 New functions.
aca7a3d2
MB
4635 (font_drive_otf): New function merging font_otf_gsub and
4636 font_otf_gpos.
4637 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 4638 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
4639 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
4640 Ffont_otf_gpos.
4641 (syms_of_font): Staticpro otf_list. Delete defsubr of
4642 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
4643
1f45f627 4644 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4645 font_open_for_lface.
4646
4647 * font.h (font_open_for_lface): Adjust prototype.
4648 (struct font_driver): Delete members otf_gsub and otf_gpos, add
4649 member otf_drive.
4650 (font_otf_gsub, font_otf_gpos): Delete externs.
4651 (font_drive_otf): Extern it.
4652
73acf815 46532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4654
4655 * font.c (font_at): If the window W is not on a window system,
4656 return Qnil.
4657
4c4475a8
GM
4658 * coding.c (produce_chars, encode_coding): Don't call
4659 insert_from_gap if no characters to produce.
aca7a3d2 4660
73acf815 46612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4662
4663 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
4664 Fclear_face_cache.
4665
4666 * xfaces.c (face_for_font): Check also face->font==font->font.font.
4667
73acf815 46682008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4669
4670 * emacs.c (main): Change default value of `enable_font_backend' to 1.
4671 Parse "--disable-font-backend" option.
4672 (standard_args): Add "--disable-font-backend" option.
4673
73acf815 46742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4675
4676 * fontset.c (fontset_find_font): New function.
4677 (fontset_font): Use fontset_find_font.
4678 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
4679 Register the specified font for all Latin characters.
4680 (new_fontset_from_font): Register the specified font for all Latin
4681 characters.
4682 (dump_fontset): For a realized fontset, include the base fontset
4683 name in the returned vector.
4684
73acf815 46852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4686
4687 * character.h (CHAR_STRING): Cast C to unsigned on calling
4688 char_string.
4689
4690 * character.c (char_string): Type of arg C changed to unsigned.
4691 Signal an error if C is an invalid character code.
4692
4c4475a8
GM
4693 * editfns.c (general_insert_function, Fchar_to_string):
4694 Use CHARACTERP, not INTEGERP.
aca7a3d2 4695
73acf815 46962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4697
4698 * character.h (MIN_MULTIBYTE_LEADING_CODE)
4699 (MAX_MULTIBYTE_LEADING_CODE): New macros.
4700
4701 * regex.c (analyse_first): Fix for multibyte characters in "case
4702 charset:" and "case categoryspec:".
4703
73acf815 47042008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4705
4706 * Makefile.in (LIBES): Move standard libraries to the end.
4707
73acf815 47082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4709
4710 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
4711 nonzero, don't shrink the buffer nextb.
4712
4713 * buffer.h (struct buffer_text): New member inhibit_shrinking.
4714
4715 * coding.c (coding_alloc_by_making_gap): New arg offset.
4716 (alloc_destination): Call coding_alloc_by_making_gap with the arg
4717 offset.
4718 (decode_coding_iso_2022): Update coding->safe_charsets.
4719 (decode_coding_gap): Temporarily set
4720 current_buffer->text->inhibit_shrinking to 1.
4721
73acf815 47222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4723
4724 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
4725 indexing into elements of s->cmp and s->char2b.
4726
73acf815 47272008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
4728
4729 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
4730
73acf815 47312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4732
4733 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
4734 target_multibyte instead of multibyte.
4735 (re_match_2_internal): Call bcmp_translate with target_multibyte.
4736 (bcmp_translate): Change the argument name from multibyte to
4737 target_multibyte.
4738
73acf815 47392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4740
4741 These changes are to compile a regexp into a pattern that can be
4742 used both for multibyte and unibyte targets.
4743
4744 * Makefile.in (search.o): Depend on charset.h.
4745
4746 * character.c (multibyte_char_to_unibyte_safe): New function.
4747
4748 * search.c: Include "charset.h".
4749 (compile_pattern_1): Delete argument multibyte. Don't set
4750 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
4751 (compile_pattern): Don't compare cp->buf.target_multibyte.
4752 Compare cp->buf.charset_unibyte.
4753 (compile_pattern): Set cp->buf.target_multibyte.
4754
4755 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
4756
4757 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
4758
4759 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 4760 multibyte. Change callers.
aca7a3d2 4761 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
4762 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
4763 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
4764 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
4765 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
4766 (regex_compile): Make the compiled pattern usable both for
4767 multibyte and unibyte targets.
4768 (analyse_first): Make the fastmap usable both for multibyte and
4769 unibyte targets.
1f45f627 4770 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
4771 (re_match_2_internal): Pay attention to the case that the
4772 multibyteness of bufp and target may be different.
4773
73acf815 47742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4775
4776 * xdisp.c (x_produce_glyphs): When a font is not found, make the
4777 empty box occupy at least one column width.
4778
73acf815 47792008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4780
4781 * Makefile.in: Remove redundant HAVE_XFT clause.
4782
73acf815 47832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4784
4785 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
4786
73acf815 47872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4788
4789 * fontset.c (Finternal_char_font): Fix for the case of POSITION
4790 being nil.
4791
73acf815 47922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4793
4794 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
4795
73acf815 47962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4797
4798 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
4799
73acf815 48002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4801
4802 * search.c (simple_search): Fix previous change.
4803
73acf815 48042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4805
4806 * xftfont.c (ftfont_font_format): Extern declaration.
4807
4808 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
4809
4810 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
4811 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
4812
4813 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
4814 (ftfont_font_format): Fix previous change.
4815
4816 * font.h (Ffont_xlfd_name): EXFUN it.
4817
4818 * font.c (font_parse_xlfd): Fix the array size of `f'.
4819 (register_font_driver): Use EQ to compare driver->type.
4820
4821 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
4822 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
4823 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
4824
73acf815 48252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4826
4c4475a8
GM
4827 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
4828 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 4829
73acf815 48302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4831
4832 * xfont.c (xfont_open): Set font->format.
4833
4834 * xftfont.c (xftfont_open): Set font->format.
4835
4836 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
4837 (ftfont_list): Include FC_FONTFORMAT in FcObject.
4838 (ftfont_open): Set font->format.
4839 (ftfont_font_format): New function.
4840
4841 * font.h (struct font): New memeber format.
4842
4843 * font.c (Qopentype): New variable.
4844 (syms_of_font): Defsym it.
4845 (Fquery_font): Change the format of the last element of the return
4846 value.
4847
73acf815 48482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4849
4850 * xfns.c (xic_create_xfontset): Try the default fontset name as a
4851 last resort.
4852
73acf815 48532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4854
4855 * coding.c (detect_coding_charset): Fix detection of multi-byte
4856 charset.
4857
73acf815 48582008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
4859
4860 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
4861
73acf815 48622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4863
4864 * xdisp.c (get_next_display_element): Set it->face_id for the
4865 first component of a composition.
1f45f627 4866 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 4867
73acf815 48682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4869
4870 * fontset.c (Qlatin): New variable.
4871 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 4872 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 4873
73acf815 48742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4875
4876 * font.c (font_unparse_fcname): Pay attention to the case that
4877 some of font property is a null string.
4878
73acf815 48792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4880
4881 * term.c: Include "composite.h".
4882 (encode_terminal_code): Output all components of composition.
4883 Check the size of encode_terminal_src.
424c157f 4884 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
4885 (append_composite_glyph, produce_composite_glyph): New functions.
4886
4887 * xdisp.c (x_produce_glyphs): In handling composition, if a font
4888 is not found, get font_info from the current ascii face.
4889
73acf815 48902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4891
4892 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
4893 buffer-file-name to Qnil before calling insert_from_buffer.
4894
4895 * font.c (font_unparse_fcname): Pay attention to the case that
4896 foundry is a null string.
4897
73acf815 48982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4899
4900 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
4901
4902 * font.c (Qunicode_sip): New variable.
4903 (syms_of_font): Declare it as a Lisp symbol.
4904
4905 * font.h (Qunicode_sip): Extern it.
4906
73acf815 49072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4908
1f45f627 4909 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
4910
4911 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 4912 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
4913 the first elememnt of allocated memory.
4914
1f45f627 4915 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
4916
4917 * xdisp.c (handle_composition_prop): Set it->c to the first
4918 non-TAB component.
1f45f627
GM
4919 (fill_composite_glyph_string): Change argument.
4920 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
4921 (x_produce_glyphs): Fix handling of left/right padding.
4922
73acf815 49232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4924
4925 * coding.c (detect_coding_system): Fix for handling off
4926 inhibit_iso_escape_detection. Fix for the case that no coding
4927 system is defined for a specific coding category.
4928
73acf815 49292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4930
1f45f627 4931 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
4932
4933 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
4934 opening a font.
4935
4936 * fileio.c (Finsert_file_contents): On recovering a file, assume
4937 Unix-like eol.
4938 (choose_write_coding_system): On auto-saving a file, force
4939 Unix-like eol.
4940
4941 * coding.c (setup_coding_system): Fix setting of
4942 coding->common_flags based on eol_type.
4943 (coding_inherit_eol_type): If PARENT is not nil, be sure to
4944 inherit from it.
4945
73acf815 49462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4947
1f45f627 4948 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 4949
73acf815 49502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4951
1f45f627 4952 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
4953 (ftfont_list): Don't check :name property.
4954 (ftfont_match): New function.
4955 (ftfont_pattern_entity): If the pattern doesn't contain
4956 FC_SPACING, don't assuce FC_MONO.
4957
4958 * font.h (struct font_driver): New member `match'.
1f45f627 4959 (font_update_drivers): Adjust prototype.
aca7a3d2 4960
4c4475a8
GM
4961 * font.c (font_parse_fcname, font_parse_name): Don't change :name
4962 property of FONT.
aca7a3d2
MB
4963 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
4964 them unconditionally.
4965 (font_matching_entity): New function.
4966 (font_open_by_name): Try font_matching_entity if exact match is
4967 not found.
4968 (font_update_drivers): Delete the arg FONT. Return a list of
4969 actually used backends. Don't free faces, font caches here.
4970 Don't store data in frame parameters. Don't call x_set_font.
4971 (Ffont_spec): Store :name property as is.
4972 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
4973 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
4974 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
4975 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
4976 Call font->driver->otf_gsub instead of font_otf_gsub.
4977
4978 * frame.c (x_set_font_backend): Do more works that were done in
4979 font_update_drivers before.
4980
4981 * xfont.c (xfont_match): New function.
4982 (xfont_driver): Set xfont_driver.match to xfont_match.
4983 (xfont_draw): Set font in GC if necessary.
4984
4985 * ftxfont.c (ftxfont_match): New function.
4986 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
4987
4988 * xftfont.c (xftfont_match): New function.
4989 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
4990
73acf815 49912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4992
4993 * font.h (struct font): New member scalable.
4994 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 4995 (font_otf_gsub): Adjust prototype.
aca7a3d2 4996
1f45f627
GM
4997 * font.c (font_otf_capability): Fix handling of the default langsys.
4998 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
4999 Check the contents of SPEC.
5000 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
5001 (check_gstring): New function.
5002 (REPLACEMENT_CHARACTER): New macro.
5003 (font_otf_gsub): New arg alternate_subst. Be sure to set all
5004 glyph codes of GSTRING.
5005 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
5006 (font_prepare_composition): Set cmp->glyph_len.
5007 (font_open_entity): Set font->scalable.
5008 (Ffont_get): Handle :otf property.
5009 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
5010 functions.
5011 (Fquery_font): Use font->font.full_name.
5012 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
5013 Sfont_otf_alternates.
5014
5015 * ftfont.c (ftfont_open): Set font->font.full_name and
5016 font->font.name properly. Fix calculation of font->font.height
5017 and font->min_width.
5018
5019 * ftxfont.c (ftxfont_create_gcs): New function.
5020 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
5021 (ftxfont_draw_backgrond): Fix filling region.
5022 (ftxfont_default_fid): New function.
5023 (ftxfont_open): Set xfotn->fid to the return value of
5024 ftxfont_default_fid.
5025 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
5026 (ftxfont_done_face): Free only GCs that are created by
5027 ftxfont_create_gcs.
5028 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
5029
5030 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
5031 Clip to src->width, etc (not src->clip_XXX).
5032
5033 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
5034 FontBackend frame parameter.
5035
73acf815 50362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5037
5038 * font.h (struct font_driver_list): New member `on'.
5039 (Fclear_font_cache): EXFUN it.
5040 (font_update_drivers): Extern it.
5041
5042 * font.c (font_unparse_fcname): Fix typo (swidth->width).
5043 (font_list_entities): Check driver_list->on.
5044 (register_font_driver): Initalize `on' member to 0.
5045 (font_update_drivers): New function.
5046 (Fclear_font_cache): Check driver_list->on.
5047
5048 * frame.h (Qfont_backend): Extern it.
5049 (x_set_font_backend): Extern it.
5050
5051 * frame.c (Qfont_backend): New variable.
5052 (frame_parms): New element for font-backend.
5053 (x_set_font_backend): New function.
5054
5055 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
5056 FontBackend frame parameter.
5057 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
5058 x_set_font_backend.
5059
5060 * xfont.c (xfont_list): Don't try listing by :name property if the
5061 name is not for XLFD.
5062
73acf815 50632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5064
5065 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
5066 (LGLYPH_SET_TO): New macros.
5067 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
5068 element of G is vector or not.
5069 (font_at): Extern it.
5070
5071 * font.c: Include window.h.
5072 (font_lispy_object): New function.
5073 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
5074 end of valid glyph.
5075 (font_close_object): Fix getting (struct font *).
5076 (font_at): New function.
5077 (Ffont_get): If FONT is a font-object, get entity from it.
5078 (Ffont_make_gstring): Initialize elements of glyphs with nil.
5079 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
5080 range check.
5081 (Ffont_at): New function.
5082 (syms_of_font): Defsubr Sfont_at.
5083
5084 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 5085 before the entry for Qcomposition.
1f45f627 5086 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
5087 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
5088 the font in gstring.
5089 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
5090 LGLYPH_FORM (g) to detect the end of valid glyph.
5091 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
5092 we are composing with gstring.
5093
5094 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
5095 Check if adjustment is vector or not.
5096
5097 * Makefile.in (font.o): Make it depends on window.h.
5098
73acf815 50992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5100
5101 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
5102 adjustment is vector or not.
5103
73acf815 51042008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5105
5106 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
5107
73acf815 51082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5109
5110 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
5111 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
5112 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
5113
1f45f627 5114 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 5115 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
5116 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
5117 LGLYPH format.
aca7a3d2 5118
1f45f627 5119 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5120 the change of LGLYPH format.
5121
73acf815 51222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5123
5124 * ftfont.c (ftfont_list): Fix typo.
1f45f627 5125 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 5126
880820fe 51272008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
5128
5129 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
5130
5131 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
5132 xftface_info is non-NULL.
5133
880820fe 51342008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 5135
1f45f627 5136 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 5137
73acf815 51382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5139
5140 * ftfont.c (ftfont_list): Pay attention to the case that
5141 FC_CAPABILITY is not defined.
5142
73acf815 51432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5144
5145 * xftfont.c (xftfont_open): Set charset related members to -1.
5146
1f45f627
GM
5147 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
5148 QCname.
aca7a3d2
MB
5149 (ftfont_open): Set charset related members to -1.
5150
5151 * fontset.c (Votf_script_alist): New variable.
5152 (syms_of_fontset): Initialize it.
5153 (fontset_font): Delete unused variable.
5154
5155 * fontset.h (Votf_script_alist): Extern it.
5156
1f45f627 5157 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
5158
5159 * font.h (font_close_object, font_merge_old_spec): Extern them.
5160
73acf815 51612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5162
5163 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
5164 (syms_of_font): Initialize them.
5165 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
5166 (font_prop_validate_type): Delete.
5167 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
5168 Change caller.
5169 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
5170 (font_prop_validate_extra): Delete.
aca7a3d2
MB
5171 (font_prop_validate_spacing): New function.
5172 (font_property_table): Add elements for all known properties.
1f45f627
GM
5173 (get_font_prop_index): Rename from check_font_prop_name. New
5174 argument FROM. Change caller.
aca7a3d2 5175 (font_prop_validate): Validate all known properties.
1f45f627 5176 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
5177 (font_expand_wildcards): Make it static. Fix the way of shrinking
5178 the possible range.
1f45f627 5179 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 5180 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 5181 Change caller.
aca7a3d2 5182 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
5183 (font_parse_fcname): Delete argument merge. Fix parsing of point
5184 size. Don't validate properties values here. Change caller.
5185 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
5186 (font_open_by_name): Delete unused variable.
5187 (Ffont_spec): Likewise. Validate property values.
5188 (Ffont_match_p): New function.
5189
5190 * font.h (QCscalable): Extern it.
1f45f627 5191 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 5192
1f45f627 5193 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 5194
1f45f627 5195 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
5196 (xfont_list_pattern): New function.
5197 (xfont_list): Use xfont_list_pattern.
5198
73acf815 51992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5200
5201 * font.h (Flist_fonts): EXFUN it.
5202
73acf815 52032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5204
5205 * w32term.c (w32_initialize): Add back smoothing_type and
5206 smoothing_enabled definitions.
5207
73acf815 52082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5209
5210 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
5211 s->face->font on determining underline position.
5212
73acf815 52132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5214
5215 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
5216 (font_has_char): Accept font-object too.
5217 (font_find_for_lface): Try at first with a size specified in face.
5218
73acf815 52192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5220
5221 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
5222 font_open_by_name.
5223
73acf815 52242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5225
5226 * font.h (QCspacing, QCdpi): Extern them.
5227 (enum font_spacing): New enum.
5228 (FONT_PIXEL_SIZE_QUANTUM): New macro.
5229
5230 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
5231 (QCspacing, QCdpi): New variables.
5232 (syms_of_font): Initialize them.
5233 (font_pixel_size): New function.
5234 (font_put_extra): New function.
5235 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
5236 in FONT_EXTRA.
e9184ccb
JB
5237 (font_parse_fcname): Handle enumenrated values (e.g. bold).
5238 Fix handling font size. Add QCname property that contains only
aca7a3d2 5239 unknown properties.
1f45f627 5240 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 5241 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
5242 (font_sort_entites, font_list_entities, font_find_for_lface)
5243 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 5244 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
5245
5246 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
5247 include weight in listing pattern, instead check weight of each
5248 listed font. Don't include scalable in pattern. Pay attention to
5249 FONT_PIXEL_SIZE_QUANTUM.
5250
73acf815 52512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5252
aca7a3d2 5253 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 5254 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
5255 (font_list_entities): Handle float size correctly.
5256 (font_open_by_name): Prefer `normal' property values if the name
5257 doesn't specify them.
5258
5259 * fontset.c (Finternal_char_font): Use font_get_name, not
5260 Ffont_xlfd_name.
5261
5262 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
5263 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
5264 pattern. Don't force scalable.
5265
5266 * xftfont.c (xftfont_open): For generating a name, start from
5267 96-byte buffer.
5268
880820fe 52692008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
5270
5271 * frame.h (x_new_fontset2): Fix prototype.
5272
73acf815 52732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5274
1f45f627 5275 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
5276 (font_match_p, font_get_spec, font_parse_fcname)
5277 (font_unparse_fcname): Extern them.
1f45f627 5278 (font_get_name): Adjust prototype.
aca7a3d2
MB
5279
5280 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
5281 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
5282 (font_expand_wildcards): Fix handling ENCODING field. Avoid
5283 unnecessary checks for weight, slant, and swidth.
5284 (font_parse_fcname): New function.
5285 (font_unparse_fcname): New function.
5286 (font_parse_name): New function.
5287 (font_match_p): New function.
1f45f627 5288 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
5289 (font_get_spec): New function.
5290 (Qunspecified, Qignore_defface): Don't extern them.
5291 (font_find_for_lface): Assume that LFACE is fully specified.
5292 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
5293 object, use it for FACE.
5294 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
5295 driver->parse_name.
5296 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
5297
1f45f627
GM
5298 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
5299 prototype.
aca7a3d2 5300
1f45f627
GM
5301 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
5302 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
5303 make_fontset.
5304
1f45f627 5305 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 5306
1f45f627 5307 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
5308 of x_new_fontset2.
5309
5310 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
5311 (Qsans__serif): New variables.
5312 (ftfont_generic_family_list): New variable.
5313 (syms_of_ftfont): Initialize the above variables.
1f45f627 5314 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
5315 (ftfont_list_generic_family): New function.
5316 (ftfont_parse_name): Delete this function.
1f45f627 5317 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
5318 (ftfont_list_family): Fix args to FcObjectSetBuild.
5319
5320 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
5321 object in attrs[LFACE_FONT_INDEX].
5322 (set_lface_from_font_name): Cancel all changes for font-backend.
5323 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
5324 function.
5325 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
5326 font object in QCfont attribute.
5327 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
5328 (realize_default_face) [USE_FONT_BACKEND]: Call
5329 set_lface_from_font_and_fontset.
5330
5331 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
5332 "fixed", and signal error here if no suitable font was found.
5333
5334 * xfont.c (xfont_parse_name): Delete this function.
5335
5336 * xftfont.c (xftfont_open): Change coding style of error
5337 handling. Generate fontconfig's fontname pattern.
5338
5339 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
5340 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
5341
5342 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
5343 Both args FONTSET and FONT_OBJECT must be existing ones.
5344
73acf815 53452008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5346
5347 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
5348
73acf815 53492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5350
5351 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
5352
5353 * font.h (struct font): Fix typo.
5354
5355 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
5356 XLFD_XXX_INDEX.
5357 (enum xlfd_field_mask): New enum.
1f45f627 5358 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
5359 are followed by non-digits, return a symbol.
5360 (font_expand_wildcards): New function.
5361 (font_parse_xlfd): Fix wildcard handling.
5362 (Ffont_spec): If :name is specified, reflect the info in the other
5363 properties.
5364
5365 * ftfont.c (ftfont_pattern_entity): Fix typo.
5366 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
5367 locale.
5368
73acf815 53692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5370
5371 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
5372
1f45f627 5373 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
5374 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
5375 registry doesn't specify encoding part.
5376 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
5377 (font_open_by_name): At first try parsing the name.
5378 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
5379 as Lisp symbols.
5380
5381 * fontset.c (reorder_font_vector): Pay attention to the case that
5382 the 3rd element of font_def is nil.
5383 (fontset_font): For the default fontset, append one more fontset
5384 elements for a script-based font specification. Don't add script
5385 attribute on finding a font.
5386 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
5387 font name.
5388 (fontset_ascii_font): If a font can't be opened, return nil.
5389
1f45f627 5390 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
5391 (ftfont_pattern_entity): New function.
5392 (ftfont_get_cache): Assume that freetype_font_cache is already
5393 initialized.
5394 (ftfont_list): Handle the case that a file is specified in font
5395 name. Use ftfont_pattern_entity to generate entities.
5396 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
5397 (syms_of_ftfont): Initialize freetype_font_cache.
5398
5399 * xftfont.c (xftfont_open): Make the font name fontconfig's
5400 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
5401 (xftfont_close): Free font->font.name if not NULL.
5402
5403 * xfont.c (xfont_list): If script is specified for a font, return
5404 null_vector.
5405 (xfont_list_family): Declare argument type.
5406
5407 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
5408 name, set LFACE_FONT (lface) to nil.
5409
5410 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
5411 return Qnil.
5412
73acf815 54132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5414
1f45f627 5415 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
5416 (standard_args): Add "-enable-font-backend".
5417
73acf815 54182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5419
5420 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
5421 (struct xftdraw_list, xftdraw_list): Delete them.
5422 (register_xftdraw, check_xftdraw): Delete them.
5423 (xftfont_prepare_face): Don't call register_xftdraw.
5424 (xftfont_done_face): Don't call check_xftdraw.
5425 (xftfont_draw): Get backroudn color only when with_background is
5426 nonzero.
5427
5428 * xfont.c (xfont_encode_char): Fix calculation of char2b.
5429
73acf815 54302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5431
5432 These changes are for the new font handling codes.
5433
5434 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
5435 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
5436 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
5437 (FONTSRC, FONTOBJ): New variables.
5438 (obj): Add $(FONTOBJ).
5439 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
5440 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
5441 @LIBOTF_LIBS@.
5442 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 5443 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 5444
1f45f627 5445 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
5446
5447 * character.h (Vscript_representative_chars): Extern it.
5448
5449 * character.c (Vscript_representative_chars): New variable.
5450 (syms_of_character): Declare it as a Lisp variable.
5451
5452 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
5453 enable_font_backend is nonzero, accept the composition method
5454 COMPOSITION_WITH_GLYPH_STRING.
5455
5456 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
5457 enumeration COMPOSITION_WITH_GLYPH_STRING.
5458
aca7a3d2
MB
5459 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
5460 members clip_x, clip_y, clip_width, and clip_height.
5461 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
5462
5463 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
5464 --enable-font-backend. Call syms_of_font.
5465
5466 * fns.c (assoc_no_quit): New function.
5467
5468 * fontset.h (FONT_INFO_FROM_FACE): New macro.
5469 (face_for_font, new_fontset_from_font)
5470 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
5471
5472 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
5473 (fontset_font, fontset_ascii, face_for_char)
5474 (make_fontset_for_ascii_face, Ffont_info)
5475 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
5476 is nonzero, use font-backend mechanism.
5477 (find_font_encoding): Make it non-static.
5478 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
5479 New functions.
5480
5481 * frame.h (struct frame): New members resx and resy.
5482 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
5483 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
5484
5485 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 5486 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
5487
5488 * lisp.h (assoc_no_quit): Extern it.
5489
5490 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
5491 Through out the file, use FONT_INFO_FROM_FACE instead of
5492 FONT_INFO_FROM_ID, use get_per_char_metric instead of
5493 rif->per_char_metric.
5494 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
5495 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
5496 (get_glyph_face_and_encoding, fill_composite_glyph_string)
5497 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
5498 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
5499 nonzero, use font-backend mechanism.
5500 (get_per_char_metric): New function.
5501
5502 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
5503 (set_lface_from_font_name)
5504 (set_font_frame_param, free_realized_face)
5505 (prepare_face_for_display, clear_face_gcs)
5506 (Finternal_set_font_selection_order, realize_x_face)
5507 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
5508 font-backend mechanism.
1f45f627 5509 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
5510 (load_face_font) [USE_FONT_BACKEND]: Abort.
5511 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 5512 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
5513
5514 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
5515 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
5516 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
5517 nonzero, register all available font drivers. Call
5518 x_default_font_parameter for deciding a font.
5519 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
5520
5521 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
5522 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
5523 (x_set_glyph_string_clipping_exactly)
5524 (x_compute_glyph_string_overhangs)
5525 (x_draw_glyph_string_foreground)
5526 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
5527 (x_free_frame_resources) [USE_FONT_BACKEND]: If
5528 enable_font_backend is nonzero, use font-backend mechanism.
5529 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
5530
73acf815 55312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5532
fcb314b2 5533 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
5534 system_eol_type.
5535 (syms_of_coding): Initialize system_eol_type.
5536
fcb314b2
GM
5537 * process.c (Fset_process_coding_system): Inherit system's eol
5538 format if necessary.
aca7a3d2 5539
73acf815 55402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5541
5542 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
5543
73acf815 55442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5545
5546 * coding.c (decode_eol): Pay attention to buffer relocation in
5547 del_range_2.
5548 (decode_coding): Call decode_eol before restoring undo_list.
5549
73acf815 55502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5551
5552 * charset.c (Fdefine_charset_internal): Fix setting of
5553 emacs_mule_bytes.
5554
73acf815 55552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5556
5557 * keyboard.c (read_char): Check if C is a character or not before
5558 looking up Vkeyboard_translate_table.
5559
73acf815 55602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5561
5562 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
5563 condition to terminate the loop.
5564
73acf815 55652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5566
5567 * coding.c (produce_composition): Compare charbuf[i] instead of
5568 args[i] against 0.
5569 (Fterminal_coding_system): Use EQ to compare Lisp objects.
5570
73acf815 55712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5572
5573 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
5574 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
5575 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
5576 detect_coding.
5577 (emacs_mule_char): Handle old style (Emacs 20) component character
5578 of a composition.
4c4475a8
GM
5579 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
5580 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
5581 composition rule.
aca7a3d2
MB
5582 (decode_coding_emacs_mule): Handle invalid bytes correctly.
5583
73acf815 55842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5585
5586 * coding.c (encode_coding_ccl): Allocate destination dynamically
5587 when necessary.
5588
73acf815 55892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5590
5591 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
5592 the loop. When quitted, show a proper error message.
5593
73acf815 55942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5595
aca7a3d2
MB
5596 * xterm.c (x_set_glyph_string_clipping_exactly): Set
5597 src->clip_head and src->clip_tail temporarily instead of src->hl.
5598
5599 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
5600 character sequence.
5601 (Fccl_execute_on_string): Use ASET, not XSET.
5602
73acf815 56032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5604
1f45f627 5605 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 5606
73acf815 56072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5608
5609 * coding.c (decode_coding): Fix the condition of terminating the
5610 decoding loop.
5611
73acf815 56122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5613
5614 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 5615 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 5616
73acf815 56172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5618
5619 * charset.c (map_charset_chars): Fix for ascii-compatible charset
5620 made by a mapping table.
5621
73acf815 56222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5623
5624 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
5625 not.
5626 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
5627 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
5628
5629 * xterm.c (x_draw_composite_glyph_string_foreground): Check
5630 s->face is NULL or not.
5631
73acf815 56322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5633
5634 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
5635 (x_draw_glyph_string): Fix drawing of right_overhang and
5636 left_overhang around/on cursor.
5637
1f45f627 5638 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 5639
73acf815 56402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5641
5642 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
5643
73acf815 56442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5645
4c4475a8
GM
5646 * coding.c (Fdefine_coding_system_internal)
5647 (Fdefine_coding_system_alias): Avoid a duplicated element in
5648 Vcoding_system_alist.
aca7a3d2 5649
73acf815 56502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5651
5652 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
5653
fcb314b2 5654 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
5655 (syms_of_coding): Intern and staticpro it.
5656 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 5657 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
5658
5659 * coding.h (CODING_SYSTEM_P): If ID is not available, call
5660 Fcoding_system_p.
5661 (CHECK_CODING_SYSTEM): If ID is not available, call
5662 Fcheck_coding_system.
4c4475a8
GM
5663 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
5664 Try also Fcheck_coding_system.
aca7a3d2 5665
73acf815 56662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5667
aca7a3d2
MB
5668 * coding.c (code_conversion_restore): GCPRO arg.
5669
73acf815 56702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5671
5672 * character.c (lisp_string_width): Check multibyteness of STRING.
5673
73acf815 56742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5675
5676 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
5677 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
5678 (decode_mac_font_name): Use decode_coding_c_string instead of
5679 decode_coding.
5680 (x_load_font): Initialize fontp->fontset to -1. Set
5681 fontp->encoding_type.
5682
73acf815 56832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5684
5685 * search.c (search_buffer): Give up BM search on case-fold-search
5686 if one of a target character has a case-equivalence of different
5687 byte length even if that target charcter is an ASCII.
1f45f627
GM
5688 (simple_search): Fix calculation of byte length of matched text.
5689 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 5690
73acf815 56912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5692
5693 * coding.c (decode_coding): Fix handling of invalid bytes.
5694
73acf815 56952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5696
5697 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
5698 Unicode characters.
5699
73acf815 57002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5701
5702 * coding.c (encode_coding_object): If a pre-write-conversion
5703 function makes a new buffer, kill it.
5704
73acf815 57052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5706
5707 * coding.c (QCascii_compatible_p): New variable.
5708 (syms_of_coding): Initialize it.
4c4475a8
GM
5709 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
5710 calling string_char.
aca7a3d2
MB
5711 (record_conversion_result): Add `default:' case.
5712 (coding_charset_list): Delete unused variable `coding_type'.
5713 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
5714 property in the plist of the coding system.
5715 (Fcoding_system_put): Check QCascii_compatible_p.
5716
73acf815 57172008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5718
5719 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
5720 removed calculation of frame `f', as it's now used.
5721
73acf815 57222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5723
1f45f627 5724 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
5725 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
5726 (UNIDATA): New variable.
5727 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
5728 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
5729 $(RUN_TEMACS) unconditionally.
5730
73acf815 57312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5732
1f45f627 5733 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
5734 (admindir): New variable.
5735 ($(lispsource)international/charprop.el): New target.
5736
73acf815 57372008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5738
1f45f627 5739 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
5740 (syms_of_character): Remove its initialization.
5741
73acf815 57422008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
5743
5744 * w32select.c (validate_coding_system)
5745 (setup_windows_coding_system): New functions.
5746 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
5747 setup_windows_coding_system.
5748 (setup_config, Fw32_get_clipboard_data): Use
5749 validate_coding_system.
5750 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 5751 where signals are allowed.
aca7a3d2
MB
5752
5753 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
5754 (Fcheck_coding_system): Add declarations.
5755
73acf815 57562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5757
1f45f627 5758 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 5759
73acf815 57602008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5761
5762 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
5763 string as the second argument for x_new_fontset.
5764
73acf815 57652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5766
5767 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
5768 (encode_coding_object): Use safe_call instead of call2.
5769
73acf815 57702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5771
1f45f627 5772 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
5773
5774 * Makefile.in (lisp): Include charprop.el.
5775
73acf815 57762008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5777
5778 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
5779 Not sure if it's unnecessary.
5780
73acf815 57812008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5782
5783 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
5784 some possibly unnecessary fontset checking code that crashed
1f45f627 5785 when creating a new frame.
aca7a3d2 5786
73acf815 57872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5788
5789 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
5790 lookup_face.
5791
5792 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
5793
1f45f627 5794 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 5795
73acf815 57962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5797
73acf815 5798 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
5799 (coding_charset_list): New function.
5800
5801 * coding.h (coding_charset_list): Extern it.
5802
73acf815 58032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5804
5805 * fontset.c (Fset_fontset_font): Call find_font_encoding with
5806 concatenation of family and registry.
5807
73acf815 58082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5809
5810 * character.h (BYTE8_STRING): Fix typo.
5811
5812 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
5813 string to multibyte (sync to HEAD).
5814
5815 * casefiddle.c (casify_region): Handle changes in byte-length
5816 using replace_range_2 (sync to HEAD).
5817
73acf815 58182008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5819
5820 * chartab.c (map_char_table): GCPRO table and arg.
5821
73acf815 58222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5823
5824 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
5825 already at limit.
5826
73acf815 58272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5828
5829 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
5830 instead of fast_c_string_match_ignore_case.
1f45f627 5831 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 5832 fast_string_match_ignore_case instead of
1f45f627 5833 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 5834
73acf815 58352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5836
5837 * xdisp.c (get_next_display_element): In unibyte case, decide to
5838 display in octal form by checking a chacter by
5839 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
5840
1f45f627 5841 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
5842
5843 * character.c (unibyte_has_multibyte_table): New variable.
5844
5845 * character.h (unibyte_has_multibyte_table): Extern it.
5846 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
5847
73acf815 58482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5849
5850 * coding.c (encode_coding_iso_2022): Fix handling of charset
5851 annotation.
5852
73acf815 58532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5854
5855 * coding.c (setup_coding_system): If coding_system is nil, use
5856 Qundecided.
5857 (Fterminal_coding_system): Return nil if terminal coding system is
5858 `undecided'.
5859 (syms_of_coding): Define coding-system `undecided' here. Setup
5860 terminal_coding as `undecided'.
5861
73acf815 58622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5863
5864 * xdisp.c (message_dolog, set_message_1): Call
5865 unibyte_char_to_multibyte with arg type int.
5866
aca7a3d2
MB
5867 * lread.c (read1): Fix reading of a char-table.
5868
5869 * print.c (print_object): Include sub char-table in cicularities
5870 detection.
5871
73acf815 58722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5873
5874 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 5875 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 5876
73acf815 58772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5878
5879 * fileio.c (report_file_error): Make a unibyte string from
5880 strerror (errorno).
5881 (Fsubstitute_in_file_name): Fix the arg to
5882 unibyte_char_to_multibyte. It is evaluated twice.
5883
73acf815 58842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5885
5886 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
5887
73acf815 58882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5889
5890 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
5891 BOM is not found.
4c4475a8
GM
5892 (detect_coding, detect_coding_system): Optimization for ISO-2022
5893 when no 8-bit data is found.
aca7a3d2 5894
73acf815 58952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5896
5897 * w32fns.c (x_to_w32_font): Update to use new coding struct.
5898
73acf815 58992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5900
4c4475a8
GM
5901 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
5902 CHARS.
aca7a3d2 5903
73acf815 59042008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5905
5906 * macterm.c (mac_encode_char): Add charset argument and update
5907 to use encoding_type.
2a2e8de7 5908 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
5909 switch to pure fontset.
5910 (decode_mac_font_name): Temporarily remove decoding.
5911 (x_font_name_to_mac_font_name): Temporarily remove encoding.
5912 (x_load_font): Temporarily remove encoding.
aca7a3d2 5913
73acf815 59142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5915
5916 * xfaces.c (Fface_font): If frame is not on a window system,
5917 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
5918 refer to face->font.
5919 (split_font_name_into_vector, build_font_name_from_vector)
5920 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
5921 whne HAVE_WINDOW_SYSTEM is defined.
5922
73acf815 59232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5924
5925 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
5926 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 5927 cmp->glyph_len is zero.
aca7a3d2 5928
1f45f627 5929 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
5930 (Ffontset_info): Make it backward compatible. New arg ALL.
5931
73acf815 59322008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
5933
5934 * process.c (read_process_output): Grow decoding_buf when needed;
5935 this could cause a crash in allocate_string and compact_small_strings.
5936
73acf815 59372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5938
1f45f627 5939 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 5940
73acf815 59412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5942
5943 * coding.c (setup_coding_system): Set coding->common_flags
5944 correctly for raw-text.
5945 (consume_chars): On encoding unibyte text by raw-text, don't check
5946 multibyte form.
1f45f627 5947 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
5948
5949 * fileio.c (e_write): Short cut for the case of no encoding.
5950
73acf815 59512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5952
4c4475a8
GM
5953 * coding.c (detect_coding, detect_coding_system): Delete unused
5954 variables.
aca7a3d2 5955
73acf815 59562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5957
5958 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
5959 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
5960
73acf815 59612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5962
5963 * coding.c (Ffind_coding_systems_region_internal): Include
5964 raw-text and no-conversion in the result.
5965
73acf815 59662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5967
1f45f627 5968 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
5969 (load_font_get_repertory): Delete unnecessary check of ENCODING of
5970 FONT_DEF.
5971 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 5972 (set_fontset_font): Change argument.
aca7a3d2
MB
5973 (Fset_fontset_font): Fix for the case that TARGET is a script
5974 name and charset name.
5975 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
5976
73acf815 59772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5978
1f45f627
GM
5979 * fontset.c (fontset_font): Rename from fontset_face. Change return
5980 value.
4c4475a8
GM
5981 (face_suitable_for_char_p, face_for_char): Adjust for the change
5982 of fontset_font.
aca7a3d2
MB
5983 (make_fontset_for_ascii_face): Fix setting of the fontset element
5984 for ASCII.
5985 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
5986 to get a font name.
1f45f627 5987 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 5988
fcb314b2 5989 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
5990
5991 * character.h (LEADING_CODE_LATIN_1_MIN)
5992 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
5993
73acf815 59942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5995
fcb314b2 5996 * editfns.c (check_translation): New function.
aca7a3d2
MB
5997 (Ftranslate_region_internal): Handle M:N mapping.
5998
73acf815 59992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6000
6001 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
6002
73acf815 60032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6004
6005 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
6006 goto invalid_code.
6007 (decode_coding_iso_2022): Fix handling of invalid designation.
6008
6009 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
6010 after calling code_conversion_save.
6011
73acf815 60122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6013
6014 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
6015
6016 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
6017
6018 * fontset.c: Include "intervals.h".
6019 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
6020 (free_face_fontset, new_fontset_from_font_name): Fix
6021 Lisp_Object/int mixup.
aca7a3d2
MB
6022
6023 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
6024
6025 * coding.c: Add many prototypes for static functions.
6026 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 6027 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
6028 (Funencodable_char_position, Fcheck_coding_systems_region): Call
6029 get_translation_table with max_lookup NULL.
aca7a3d2 6030
73acf815 60312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6032
6033 * coding.c (get_translation_table): Declare it as Lisp_Object.
6034 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
6035 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
6036 instead of CHAR_TABLE_REF.
aca7a3d2 6037
73acf815 60382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6039
1f45f627 6040 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
6041 annotation data format.
6042 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 6043 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 6044 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 6045 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
6046 (decode_coding_ccl, decode_coding_charset): Pay attention to
6047 coding->charbuf_used.
aca7a3d2
MB
6048 (get_translation): New function.
6049 (produce_chars): New arguments translation_table and last_block.
6050 Translate characters here. Return number of carryover chars.
1f45f627
GM
6051 Change caller.
6052 (produce_composition): New argument pos. Change caller.
6053 Adjust for the change of annotation data format.
aca7a3d2
MB
6054 (produce_charset, produce_annotation): Likewise.
6055 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
6056 (consume_chars): New arg translation_table. Change caller.
6057 (translate_chars): Delete.
6058 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 6059
73acf815 60602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6061
6062 * search.c (simple_search): Fix setting this_pos_byte in backward
6063 search.
6064
6065 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
6066 byte sequence.
6067 (detect_coding_ccl): Fix setting of the variable valids.
6068
73acf815 60692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6070
6071 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
6072
6073 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
6074
1f45f627 6075 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
6076 Ftranslate_region. Accept a char-table in TABLE.
6077 (syms_of_editfns): Defsubr Stranslate_region_internal.
6078
6079 * xfaces.c (set_lface_from_font_name): If a font is specified for
6080 a frame, generate a fontset from the font.
6081 (build_scalable_font_name): If the scalable font is requested for
6082 a specific size, don't change that size.
6083 (try_font_list): Try a scalable font also in the case that a
1f45f627 6084 pattern string is specified.
aca7a3d2 6085
73acf815 60862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6087
6088 * xfaces.c (Fface_font): New optional arg CHARACTER.
6089
73acf815 60902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6091
6092 * charset.h (CHARSET_OFFSET): New macro.
6093
73acf815 60942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6095
6096 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
6097
6098 * fontset.c (fontset_face): Handle the case that repertory is a
6099 char-table.
6100 (find_font_encoding): Return nil for unknown encoding.
6101 (Fset_fontset_font): Ignore a font of unknown encoding.
6102
73acf815 61032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6104
1f45f627 6105 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
6106
6107 * fontset.c (fontset_face): Handle fallback fonts correctly.
6108 (Ffontset_info): Return infomation about fallback fonts.
6109
73acf815 61102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6111
6112 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 6113 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
6114 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
6115 the case that it is nil.
6116 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 6117 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
6118
6119 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
6120 subset or superset.
6121
73acf815 61222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6123
6124 * emacs.c (main): Call init_charset after syms_of_XXX.
6125
1f45f627 6126 * charset.c (Vcharset_map_directory): Delete.
1f204af3 6127 (Vcharset_map_path): New variable.
aca7a3d2
MB
6128 (load_charset_map_from_file): Use Vcharset_map_path instead.
6129 (init_charset): Initialize Vcharset_map_path.
6130 (syms_of_charset): Delete declaration of "charset-map-directory",
6131 add declaration of "charset-map-path".
6132
73acf815 61332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6134
4c4475a8
GM
6135 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
6136 ASCII only string.
aca7a3d2
MB
6137
6138 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
6139
6140 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 6141 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 6142
73acf815 61432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6144
6145 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
6146
6147 * coding.c (QCmnemonic, QCdefalut_char)
6148 (QCdecode_translation_table, QCencode_translation_table)
6149 (QCpost_read_conversion, QCpre_write_conversion): New variables.
6150 (get_translation_table): Return a list of translation tables if
6151 necessary.
6152 (decode_coding): Call get_translation_table with ENCODEP 0.
6153 (char_encodable_p): If translation_table is non-nil, always call
6154 translate_char.
6155 (Fdefine_coding_system_internal): Accept list of translation
6156 tables as :encode-translation-table and :decode-translation-table.
6157 (Fcoding_system_put): New function.
6158 (syms_of_coding): Declare new symbols. Defsubr
6159 Scoding_system_put.
4c4475a8
GM
6160 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
6161 typically JISX0212.
aca7a3d2
MB
6162
6163 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
6164 when the charset is superset type.
6165
6166 * character.c (translate_char): Accept list of translation tables.
6167
73acf815 61682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6169
1f45f627 6170 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
6171 (CODING_ATTR_TRANS_TBL): New macro.
6172
6173 * coding.c (get_translation_table): New function.
6174 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
6175 (decode_coding, encode_coding): Utilize get_translation_table.
6176 (char_encodable_p, Funencodable_char_position): Translate char if
6177 necessary.
6178 (Ffind_coding_systems_region_internal)
6179 (Fcheck_coding_systems_region): Setup translation table for encode
6180 in a coding system attribute vector in advance.
aca7a3d2
MB
6181 (Fdefine_coding_system_internal): Allow a symbol as translation
6182 table. For shift-jis type coding system, allow 4th charset.
6183
73acf815 61842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6185
6186 * coding.c (decode_coding_sjis): Check the first byte rigidly.
6187
6188 * xdisp.c (get_next_display_element): Pass -1 as POS to
6189 FACE_FOR_CHAR if displaying a C-string.
6190
73acf815 61912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6192
6193 * composite.c (get_composition_id): Handle xoff and yoff in a
6194 composition rule.
6195
6196 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
6197 (struct composition): New member lbearing and rbearing.
6198
6199 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
6200 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 6201 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
6202
6203 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
6204 composition glyph.
6205
73acf815 62062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6207
6208 * print.c: Include charset.h.
6209 (Vprint_charset_text_property): New variable.
6210 (Qdefault): Extern it.
6211 (PRINT_STRING_NON_CHARSET_FOUND)
6212 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
6213 (print_check_string_result): New variable.
6214 (print_check_string_charset_prop): New function.
6215 (print_prune_charset_plist): New variable.
6216 (print_prune_string_charset): New function.
6217 (print_object): Call print_prune_string_charset if
6218 Vprint_charset_text_property is not t.
6219 (print_interval): Print nothing if itnerval->plist is nil.
6220 (syms_of_print): Declare Vprint_charset_text_property as a lisp
6221 variable. Init and staticpro print_prune_charset_plist.
6222
73acf815 62232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6224
6225 * fontset.c (new_fontset_from_font_name): Use the specified font
6226 for all characters in the new fontset.
6227
6228 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6229 OBJECT args.
6230
6231 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
6232 OBJECT args for composition too.
6233
6234 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6235 OBJECT args.
6236
73acf815 62372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6238
6239 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
6240
1f45f627 6241 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 6242 FONT_DEF format.
1f45f627 6243 (fontset_face): New arg id. Change caller.
aca7a3d2 6244 (face_for_char): New args pos and object.
1f204af3 6245 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
6246 (fs_query_fontset): Check NAME by Fassoc too.
6247 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 6248 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 6249
1f45f627 6250 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 6251
4c4475a8
GM
6252 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
6253 (append_space, extend_face_to_end_of_line)
6254 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6255 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
6256
6257 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
6258 POS and OBJECT args.
6259
6260 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
6261 POS and OBJECT args.
6262
73acf815 62632008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6264
6265 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
6266 of GlobalAlloc'ed memory.
6267
73acf815 62682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6269
6270 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
6271
6272 * charset.h (charset_table_used): Delete extern.
6273
6274 * charset.c (charset_table_used): Make it static.
6275 (map_charset_chars): Fix args to c_function with.
6276
6277 * chartab.c (map_sub_char_table_for_charset): Fix args to
6278 c_function with.
6279
6280 * coding.h (enum coding_result_code): Delete
6281 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
6282
6283 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 6284 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
6285 (Vlast_code_conversion_error): New variables.
6286 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
6287 (ONE_MORE_BYTE): Record error if any instead of signaling an
6288 error. If non-ASCII multibyte char is found, return the negative
6289 value of the code. All callers changed to check it.
6290 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
6291 (record_conversion_result): New function. Change all codes setting
6292 coding->result to call this function.
4c4475a8
GM
6293 (detect_coding_utf_8, decode_coding_utf_8)
6294 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
6295 Don't use the local variable incomplete.
aca7a3d2 6296 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
6297 (decode_coding): Fix of flushing out unprocessed data.
6298 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 6299 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
6300
6301 * fontset.c (set_fontset_font): Fix args.
6302
6303 * lisp.h (CHARACTERBITS): Define as 22.
6304
6305 * process.c (send_process): Be sure to set coding->src_multibyte.
6306
6307 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
6308
73acf815 63092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6310
6311 * xdisp.c (handle_auto_composed_prop): Give limit to
6312 Fnext_single_char_property_change.
6313
73acf815 63142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6315
424c157f 6316 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 6317 table weak.
aca7a3d2
MB
6318
6319 * fontset.c (Fset_fontset_font): Fix docstring.
6320
6321 * lisp.h (detect_coding_system): Adjust prototype.
6322
6323 * fileio.c (kill_workbuf_unwind): Delete this function.
6324 (Finsert_file_contents): Adjust the call of detect_coding_system.
6325 Get conversion_buffer by code_conversion_save. Use the macor
6326 CODING_MAY_REQUIRE_DECODING. After decoding, update
6327 coding_system.
6328
6329 * coding.h (make_conversion_work_buffer): Delete extern.
6330 (code_conversion_save): Extern it.
6331
6332 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 6333 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
6334 (decode_coding_utf_8): Don't do eol converion.
6335 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 6336 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
6337 (decode_coding_emacs_mule, decode_coding_iso_2022)
6338 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
6339 Don't do eol converion.
aca7a3d2
MB
6340 (adjust_coding_eol_type): Return a new coding system.
6341 (detect_coding): Don't detect eol. Fix for utf-16 detection.
6342 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
6343 each change.
6344 (decode_coding): Pay attention to undo_list. Do eol convesion for
6345 all types of coding-systems (if necessary).
6346 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 6347 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
6348 Vcode_conversion_reused_work_buf.
6349 (Vcode_conversion_workbuf_name): New variable.
6350 (reused_workbuf_in_use): New variable.
6351 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 6352 (code_conversion_restore): Change argument to cons.
1f45f627
GM
6353 (code_conversion_save): Delete the argument BUFFER. Change callers.
6354 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
6355 Fix for utf-16 detection.
6356 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 6357 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
6358 reused_workbuf_in_use.
6359
73acf815 63602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6361
6362 * keymap.c (store_in_keymap): Pay attention to the case that idx
6363 is a cons specifying a character range.
6364
73acf815 63652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6366
6367 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
6368 HANDLED_RECOMPUTE_PROPS.
6369
6370 * coding.c (Fdefine_coding_system_internal): Fix checking of
6371 ascii compatibility.
6372
73acf815 63732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6374
1f45f627 6375 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
6376 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
6377
6378 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
6379 Resync charset_list to Vemacs_mule_charset_list.
6380
6381 * keymap.c (store_in_keymap): Pay attention to the case that idx
6382 is a cons specifying a character range.
6383
73acf815 63842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6385
6386 * composite.c (update_compositions): Bind inhibit-read-only, etc
6387 to t before calling remove-list-of-text-properties.
6388
6389 * print.c (print_object): Always print ASCII chars as is.
6390
73acf815 63912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6392
1f45f627 6393 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 6394
4c4475a8
GM
6395 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
6396 is a char table.
aca7a3d2 6397
73acf815 63982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6399
1f45f627 6400 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 6401
73acf815 64022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6403
6404 * xfaces.c (set_lface_from_font_name): Fix for the case that
6405 FONTNAME is not fontset name.
6406
73acf815 64072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6408
6409 * fns.c (base64_encode_1): Fix previous change.
6410
73acf815 64112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6412
6413 * fontset.c (set_fontset_font): New function.
6414 (Fset_fontset_font): If a font is specified for a charset, use
6415 map_charset_chars to store the font spec in a fontset.
6416
73acf815 64172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6418
1f204af3 6419 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
6420 (make_fontset): Don't create a fallback fontset here.
6421 (free_face_fontset): Free a fallback fontset (if any) too.
6422 (n_auto_fontsets): Delete this variable.
6423 (auto_fontset_alist): New variable.
6424 (new_fontset_from_font_name): Check auto_fontset_alist.
6425 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
6426 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
6427 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
6428 Defsubr Sfontset_list_all.
6429
73acf815 64302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6431
6432 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6433
73acf815 64342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6435
6436 * fontset.c (Fnew_fontset): Check NAME more rigidly.
6437
73acf815 64382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6439
6440 * editfns.c (Fgoto_char): Fix docstring.
6441
73acf815 64422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6443
6444 * insdel.c (insert_from_gap): Adjust intervals correctly.
6445
73acf815 64462008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6447
6448 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
6449 (pfnGetFontUnicodeRanges): New dynamically loaded function.
6450 (w32_initialize): Try to load it.
6451 (x_get_font_repertory): Use it if available.
6452 (w32_encode_char): Add shortcut for unicode output.
6453
6454 * w32fns.c (w32_load_system_font): Default charset to -1.
6455 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 6456 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
6457 or wildcard charsets.
6458 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
6459 (w32_codepage_for_font): Return CP_UNICODE for unicode.
6460 (w32_to_x_font): Match charset to real charset.
6461 (enum_font_cb2): Always list unicode versions.
6462
6463 * makefile.w32-in (temacs): Increase EMHEAP.
6464
73acf815 64652008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6466
6467 * w32term.c (w32_encode_char): New charset parameter.
6468 font_info.encoding becomes encoding_type.
1f45f627 6469 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
6470 (x_new_font): Return quickly if font already set.
6471 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
6472 Use new fs_query_fontset. Try new_fontset_from_font_name.
6473 Use fontset_name for return value.
aca7a3d2
MB
6474
6475 * w32term.h: Declare x_get_font_repertory.
6476
6477 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 6478 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
6479 of encode_coding.
6480 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
6481 decode_coding.
6482
6483 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
6484 of x_new_fontset.
6485 (w32_load_system_font): Initialize charset as unicode.
6486 font_info.encoding becomes encoding_type.
1f45f627
GM
6487 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
6488 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
6489 (syms_of_w32fns): Set get_font_repertory_func.
6490
1f45f627 6491 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 6492 from term.c.
1f45f627 6493 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
6494 encode_coding_object in place of encode_coding.
6495
6496 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
6497 encoding becomes encoding_type.
6498
6499 * term.c (terminal_encode_buffer): Make externally visible.
6500
6501 * makefile.w32-in: Add character.h dependancies.
6502 (character.o, chartab.o): New targets.
6503
73acf815 65042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6505
6506 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 6507 CODING_ID_EOL_TYPE.
aca7a3d2 6508
73acf815 65092008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6510
6511 * coding.c (produce_chars): Revert last change.
6512
73acf815 65132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6514
6515 * charset.h (charset_unicode): Extern it.
6516
6517 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 6518 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 6519 arg MULTIBYTE.
1f45f627 6520 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
6521 change of find_charsets_in_text.
6522 (Fsplit_char): Fix doc. Never return unknown.
6523
6524 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
6525
6526 * coding.c (Fdefine_coding_system_alias): Update
6527 Vcoding_system_list.
6528
6529 * fontset.c (load_font_get_repertory): Pay attention to the case
6530 that ENCODING of a font is specified by a char-table.
6531
6532 * xterm.c (x_get_font_repertory): Handle the case that the
6533 encoding of font is other than Unicode.
6534
73acf815 65352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6536
6537 * term.c (encode_terminal_code): Don't handle glyph-table. Check
6538 if a character is encodable by the terminal coding system. If
6539 not, produces proper number of `?'s. Update
6540 terminal_encode_buffer and terminal_encode_buf_size if necessary.
6541 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
6542
73acf815 65432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6544
6545 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
6546 variables.
1f45f627 6547 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
6548 characters at once. Store the result of encoding in
6549 terminal_encode_buffer.
4c4475a8
GM
6550 (write_glyphs, insert_glyphs): Adjust for the change of
6551 encode_terminal_code.
aca7a3d2
MB
6552 (term_init): Initialize terminal_encode_buffer and
6553 terminal_encode_buf_size.
6554
6555 * coding.c (consume_chars): If coding->src_object is nil, don't
6556 check annotation.
6557
73acf815 65582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6559
6560 * character.c (char_string): Use ASCII_CHAR_P instead of
6561 SINGLE_BYTE_CHAR_P.
6562
73acf815 65632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6564
6565 * xdisp.c (handle_auto_composed_prop): Check if the last
6566 characters of auto-composed region is newly composed with the
6567 following characters.
6568 (handle_composition_prop): Fix checking of point being inside
6569 composition.
6570
73acf815 65712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6572
6573 * fns.c (concat): Don't change multibyteness of the result by
6574 concatenating an 8-bit character.
6575
6576 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
6577 multibyteness of the result when newelt is an 8-bit character.
6578
73acf815 65792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6580
6581 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
6582 EMACS_INT.
6583
6584 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
6585
6586 * xfaces.c (face_numeric_value): Declare dim size_t.
6587 (Finternal_lisp_face_equal_p): Remove unused f.
6588
6589 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
6590 (MATRIX_ROW): Remove unused vars.
6591 (draw_glyphs, x_insert_glyphs, fast_find_position)
6592 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
6593 byte/char counts.
6594
6595 * regex.c (regex_compile): Remove unused var.
6596
6597 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
6598
6599 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6600 (Faccessible_keymaps, where_is_internal): Remove unused vars.
6601
6602 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
6603
6604 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
6605
6606 * fileio.c (Fwrite_region): Remove unused var.
6607
6608 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
6609 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
6610
6611 * composite.c (Fremove_list_of_text_properties): Declare.
6612
1f45f627
GM
6613 * coding.c (inhibit_pre_post_conversion): Remove (unused).
6614 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
6615 (coding_inherit_eol_type): Remove unused attrs.
6616 (detect_coding): Cast arg of detect_eol.
6617
6618 * charset.c (syms_of_charset): Remove unused var p.
6619 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
6620 byte/char counts.
6621
6622 * casetab.c (set_case_table): Remove unused var.
6623
6624 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 6625 unused vars.
aca7a3d2 6626
73acf815 66272008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6628
6629 * xterm.c (x_bitmap_mask): Declare.
6630
73acf815 66312008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6632
6633 * xterm.c (x_term_init): Fix type error.
6634
6635 * lisp.h: Add Funibyte_char_to_multibyte.
6636
6637 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
6638 (Fset_coding_system_priority): Doc fix.
6639
aca7a3d2
MB
6640 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
6641
6642 * indent.c (check_composition): Make start and end EMACS_INT.
6643
6644 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
6645
6646 * xdisp.c (handle_composition_prop, check_point_in_composition):
6647 Make buffer positions EMACS_INT.
6648
6649 * composite.c (find_composition, run_composition_function)
6650 (update_compositions, Ffind_composition_internal): Make buffer
6651 positions EMACS_INT.
6652
6653 * composite.h (find_composition, update_compositions): Make
6654 position args EMACS_INT.
6655
1f45f627 6656 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
6657
6658 * intervals.c (get_property_and_range):
6659 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
6660
6661 * unexalpha.c: Don't include varargs.h.
6662
73acf815 66632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6664
6665 * coding.h (ENCODE_UTF_8): New.
6666
6667 * Makefile.in (gtkutil.o): Depend on coding.h.
6668
6669 * coding.c (Fset_coding_system_priority): Doc fix.
6670
73acf815 66712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6672
6673 * fileio.c (Finsert_file_contents): Call setup_coding_system in
6674 the case of auto saving.
6675
73acf815 66762008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 6677
4c4475a8
GM
6678 * chartab.c (map_char_table, map_char_table_for_charset): Protect
6679 `range' from GC.
aca7a3d2 6680
73acf815 66812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6682
6683 * coding.c (decode_coding_sjis): Check bytes more rigidly.
6684
73acf815 66852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6686
1f45f627 6687 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
6688 (Fwrite_region): Set Vlast_coding_system_used to the return value
6689 of choose_write_coding_system.
6690
73acf815 66912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6692
6693 * charset.c (Fset_charset_priority): Pay attention to duplicated
6694 arguments.
6695
6696 * coding.c (QCcategory): New variable.
6697 (syms_of_coding): Defsym it. Set all elements of
6698 Vcoding_category_table and their symbol values.
6699 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
6700 coding-category-XXX, and coding-category-list.
6701 (Fdefine_coding_system_internal): Add category in the plist.
6702
73acf815 67032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6704
6705 * callproc.c (Fcall_process): Handle carryover correctly.
6706
1f45f627 6707 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
6708 (raw_text_coding_system): Check NILP (coding_system).
6709 (coding_inherit_eol_type): Check NILP (coding_system) and
6710 NILP (parent).
6711 (consume_chars): Fix for the case of raw-text.
6712
6713 * process.c (read_process_output): Handle carryover correctly.
6714
73acf815 67152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6716
6717 * regex.c (re_search_2): Fix last change.
6718
73acf815 67192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6720
6721 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
6722 target_multibyte. Even in a unibyte case, return a converted
6723 multibyte char.
6724 (GET_CHAR_AFTER): New macro.
6725 (PATFETCH): Translate via multibyte char.
6726 (HANDLE_UNIBYTE_RANGE): Delete this macro.
6727 (SETUP_MULTIBYTE_RANGE): New macro.
6728 (regex_compile): Setup compiled code so that its multibyteness
6729 matches that of a target. Fix the handling of "[X-YZ]" using
6730 SETUP_MULTIBYTE_RANGE.
6731 (analyse_first) <charset>: For filling fastmap for all multibyte
6732 characters, don't check by BASE_LEADING_CODE_P.
6733 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
6734 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 6735 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
6736 (TARGET_CHAR_AND_LENGTH): Delete this macro.
6737 (TRANSLATE_VIA_MULTIBYTE): New macro.
6738 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
6739 It is the same as RE_MULTIBYTE_P (bufp) now.
6740 <exactn>: Translate via multibyte.
6741 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
6742 translate it.
6743 <charset, charset_not>: Fetch a character by
6744 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
6745 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
6746 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
6747 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
6748 by GET_CHAR_AFTER.
c5ad7a3d 6749 (bcmp_translate): Likewise.
aca7a3d2
MB
6750
6751 * search.c (compile_pattern): Check the member target_multibyte,
6752 not the member multibyte of buf.
6753
6754 * lread.c (read1): While reading a string, set force_singlebyte
6755 and force_multibyte correctly.
6756
4c4475a8
GM
6757 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
6758 up of unibyte_to_multibyte_table.
aca7a3d2 6759
73acf815 67602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6761
6762 * coding.c (setup_coding_system): If coding has
6763 post-read-conversion or pre-write-conversion, set
6764 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
6765 respectively.
6766 (decode_coding_gap): Run post-read-conversion if any.
6767
6768 * fileio.c (Finsert_file_contents): Even if we read into a
6769 unibyte buffer, check if we must decode the result or not.
6770
73acf815 67712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6772
6773 * coding.c (make_conversion_work_buffer): Change the work buffer
6774 name to the same one as that of Emacs 21.
6775
73acf815 67762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6777
1f45f627 6778 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
6779 (code_conversion_restore): Don't extern it.
6780
6781 * coding.c (detected_mask): Delete unused variable.
6782 (decode_coding_iso_2022): Pay attention to the byte sequence of
6783 CTEXT extended segment, and retain those bytes as is.
6784 (decode_coding_ccl): Delete unused variable `valids'.
6785 (setup_coding_system): Delete unused variable `category'.
6786 (consume_chars): Delete unused variable `category'. Make it work
6787 for non-multibyte case.
1f45f627 6788 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
6789 (saved_coding): Delete unused variable.
6790 (code_conversion_restore): Don't check saved_coding->destination.
6791 (code_conversion_save): New function.
6792 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
6793 instead of record_unwind_protect.
1f45f627 6794 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 6795 (detect_coding_system): Delete unused variable `mask'.
1f45f627 6796 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
6797
6798 * fileio.c (kill_workbuf_unwind): New function.
6799 (Finsert_file_contents): On replacing, call
6800 make_conversion_work_buffer with correct args, and call
6801 record_unwind_protect with the first arg kill_workbuf_unwind.
6802
6803 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
6804
73acf815 68052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6806
1f45f627 6807 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
6808 (fontset_add): Fix for the case that TO is less than TO1.
6809 (Ffontset_info): Don't use fallback fontset on checking the
6810 default fontset.
6811 (dump_fontset): New function for debugging.
6812
6813 * coding.c (Fdefine_coding_system_internal): Fix for the case that
6814 coding_type is Qcharset.
6815
73acf815 68162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6817
6818 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
6819 (map_char_table): Don't inherit the value from the parent on
1f45f627 6820 initializing VAL. Adjust for the above change.
aca7a3d2 6821
73acf815 68222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6823
6824 * coding.c (Qsignature, Qendian): Delete these variables.
6825 (syms_of_coding): Don't initialize them.
6826 (CATEGORY_MASK_UTF_16_AUTO): New macro.
6827 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
6828 detect_info->found.
6829 (decode_coding_utf_16): Don't detect BOM here.
6830 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
6831 is NOT utf_16_without_bom.
6832 (setup_coding_system): For a coding system of type utf-16, check
6833 if the attribute :endian is Qbig or not (not nil or not), and set
6834 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
6835 (detect_coding): If coding type is utf-16 and BOM detection is
6836 required, detect it.
6837 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 6838 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 6839
73acf815 68402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6841
6842 * coding.c (coding_set_source): Fix for the case that the current
6843 buffer is different from coding->src_object.
6844 (decode_coding_object): Don't use the conversion work buffer if
6845 DST_OBJECT is a buffer.
6846
73acf815 68472008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6848
6849 * lread.c (read_emacs_mule_char) [len==2]: Index
6850 emacs_mule_charset correctly.
6851
73acf815 68522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6853
6854 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
6855 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 6856 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
6857 treated specially.)
6858 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
6859 (detected_mask): Remove Big5 bits.
6860
73acf815 68612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6862
6863 The following changes are to make the font rescaling facility
6864 compatible with Emacs 21.
6865
1f45f627 6866 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
6867 Vface_resizing_fonts.
6868 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 6869 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
6870 (split_font_name): Set font->rescale_ratio.
6871 (better_font_p): Pay attention to font->rescale_ratio.
6872 (build_scalable_font_name): Likewise. Change RESX, and RESY
6873 fields.
1f45f627 6874 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 6875
73acf815 68762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6877
6878 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
6879 (Qutf_16_le): Remove these variables.
6880 (syms_of_coding): Don't DEFSYM them.
6881 (decode_coding_utf_16): Fix handling of BOM.
6882 (encode_coding_utf_16): Fix handling of BOM.
6883
73acf815 68842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6885
6886 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 6887 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 6888
73acf815 68892008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6890
6891 * coding.c (Fcheck_coding_systems_region): Fix type errors.
6892
73acf815 68932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6894
6895 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6896 and fix C types.
6897
73acf815 68982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6899
6900 * xdisp.c (SKIP_GLYPHS): New macro.
6901 (set_cursor_from_row): Pay attention to string display properties.
6902
6903 * category.c (copy_category_entry): Fix for the case that RANGE
6904 is an integer.
6905
6906 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
6907
1f45f627 6908 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 6909
73acf815 69102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6911
6912 * charset.c (Fcharset_id_internal): New function.
6913 (syms_of_charset): Defsubr it.
6914
6915 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
6916 with the last arg charset_list acquired from coding.
6917 (Fdefine_coding_system_internal): For ccl-based coding system, fix
6918 the attribute coding_attr_ccl_valids.
6919
6920 * coding.h (enum define_coding_ccl_arg_index): Set the first
6921 member coding_arg_ccl_decoder to coding_arg_max.
6922
1f45f627 6923 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
6924
6925 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
6926 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
6927 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
6928 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
6929 last arg Qnil.
aca7a3d2 6930
73acf815 69312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6932
6933 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
6934 call encode_char.
6935
1f45f627 6936 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 6937
73acf815 69382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 6939
1f45f627 6940 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 6941
73acf815 69422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6943
6944 * dispextern.h (check_face_attributes, generate_ascii_font_name)
6945 (font_name_registry): Don't extern them.
1f45f627 6946 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
6947
6948 * fontset.h (Qfontset): Don't extern it.
6949 (new_fontset_from_font_name): Extern it.
6950
6951 * fontset.c: Give 8 extra slots to fontset objects.
6952 (Qfontset_info): New variable.
6953 (syms_of_fontset): Defsym it.
6954 (FONTSET_FALLBACK): New macro.
6955 (fontset_face): Try also the default fontset.
1f45f627
GM
6956 (make_fontset): Realize a fallback fontset from the default fontset.
6957 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
6958 using split_font_name_into_vector and build_font_name_from_vector.
6959 (Fset_fontset_font): Access the elements of font_spec by enum
6960 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
6961 name by using split_font_name_into_vector.
6962 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
6963 generate a proper font name from the fontset name. Update
6964 Vfontset_alias_alist.
6965 (n_auto_fontsets): New variable.
6966 (new_fontset_from_font_name): New function.
6967 (Ffont_info): Store the information about fonts generated from the
1f45f627 6968 default fontset in the first extra slot of the returned char-table.
aca7a3d2 6969
1f45f627
GM
6970 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
6971 (font_name_registry): Delete function.
aca7a3d2
MB
6972 (split_font_name_into_vector): New function.
6973 (build_font_name_from_vector): New function.
1f45f627 6974 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
6975 (choose_face_font): If we are choosing an ASCII font, and ATTRS
6976 specifies an explicit font name, return the name as is. Make a
6977 list of registy names.
6978
1f45f627 6979 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
6980 of x_new_fontset.
6981 (Fx_create_frame): Don't call x_new_fontset here. Just use
6982 x_list_fonts to check the existence of fonts.
6983
1f45f627 6984 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
6985
6986 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
6987 string. Use new_fontset_from_font_name to create a fontset from a
6988 font name.
6989
1c8658b9
GM
69902008-02-01 Kenichi Handa <handa@m17n.org>
6991
6992 * syntax.c (Vfind_word_boundary_function_table): New name for
6993 Vnext_word_boundary_function_table.
6994 (find-word-boundary-function-table): New name for
6995 next-word-boundary-function-table.
6996
73acf815 69972008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6998
6999 * Makefile.in: Fix some dependencies.
7000
7001 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
7002 set it to nil before returning.
7003
7004 * composite.c (update_compositions): Fix type error.
7005
7006 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
7007
73acf815 70082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7009
7010 * xterm.c (x_new_font): Optimize for the case that the font is
7011 already set for the frame.
7012
73acf815 70132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7014
7015 * chartab.c (char_table_ascii): Check if the char table contents
7016 is sub-char-table or not.
4c4475a8
GM
7017 (char_table_set, char_table_set_range): Fix argument to
7018 char_table_ascii.
aca7a3d2
MB
7019
7020 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
7021 (detect_coding_utf_8, detect_coding_utf_16)
7022 (detect_coding_emacs_mule, detect_coding_iso_2022)
7023 (detect_coding_sjis, detect_coding_big5)
7024 (detect_coding_ccl, detect_coding_charset): Change argument MASK
7025 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 7026 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
7027 (MAX_ANNOTATION_LENGTH): New macro.
7028 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
7029 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
7030 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 7031 (ADD_CHARSET_DATA): New macro.
1f45f627 7032 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
7033 (decode_coding_emacs_mule, decode_coding_iso_2022)
7034 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7035 Produce charset annotation data in coding->charbuf.
7036 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
7037 to charset annotation data in coding->charbuf.
7038 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
7039 coding->common_flags if the coding system is iso-2022 based and
7040 uses designation.
1f45f627 7041 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
7042 (produce_charset): New function.
7043 (produce_annotation): Handle charset annotation.
7044 (handle_composition_annotation, handle_charset_annotation): New
7045 functions.
7046 (consume_chars): Handle charset annotation. Utilize the above two
7047 functions.
7048 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
7049 buffer, get the deleted text as a string and set
7050 coding->src_object to that string.
7051 (detect_coding, detect_coding_system): Use the new struct
7052 coding_detection_info.
7053
7054 * coding.h (struct coding_detection_info): New structure.
1f45f627 7055 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
7056 (CODING_ANNOTATE_CHARSET_MASK): New macro.
7057
73acf815 70582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7059
7060 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
7061
73acf815 70622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7063
1f45f627 7064 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
7065 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
7066 to new local and nullify apropos_accumulate before returning.
7067 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
7068
73acf815 70692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7070
7071 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
7072 correctly.
7073
73acf815 70742008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7075
7076 * fns.c (Flanginfo): Call synchronize_system_time_locale.
7077
73acf815 70782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7079
7080 The following changes are to make character composition happen
7081 automatically on displaying.
7082
2a2e8de7 7083 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 7084
1f45f627
GM
7085 * composite.h (Qauto_composed, Vauto_composition_function)
7086 (Qauto_composition_function): Extern them.
aca7a3d2 7087
1f45f627
GM
7088 * composite.c (Vcomposition_function_table)
7089 (Qcomposition_function_table): Delete variables.
7090 (Qauto_composed, Vauto_composition_function)
7091 (Qauto_composition_function): New variables.
aca7a3d2
MB
7092 (run_composition_function): Don't call
7093 compose-chars-after-function.
7094 (update_compositions): Clear `auto-composed' text property.
7095 (compose_chars_in_text): Delete this function.
7096 (syms_of_composite): Staticpro Qauto_composed and
7097 Qauto_composition_function. Declare Vauto_composition_function as
7098 a Lisp variable.
7099
7100 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
7101
7102 * xdisp.c (it_props): Add an entry for Qauto_composed.
7103 (handle_auto_composed_prop): New function.
7104
7105 * xselect.c (selection_data_to_lisp_data): Don't call
7106 compose_chars_in_text.
7107
73acf815 71082008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7109
7110 * keyboard.c (read_char): Modify checking around use of
7111 Vkeyboard_translate_table.
7112
7113 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7114 and fix C types.
7115
73acf815 71162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7117
4c4475a8
GM
7118 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
7119 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7120 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 7121 the case that the last byte is '\r' correctly.
1f45f627
GM
7122 (decode_coding): Flush out the unprocessed data correctly.
7123 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 7124
73acf815 71252008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7126
7127 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
7128 XK_ISO... case.
7129 (xaw_scroll_callback): Revert last change.
7130
73acf815 71312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7132
1f45f627 7133 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 7134
73acf815 71352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7136
7137 * xfaces.c (Vface_resizing_fonts): New variable.
7138 (struct font_name): New member `resizing_ratio'.
7139 (font_resizing_ratio): New function.
7140 (split_font_name): Set font->resizing_ratio.
7141 (better_font_p): Pay attention to font->resizing_ratio.
7142 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
7143 RESX, and RESY fields.
7144 (try_alternative_families): Try scalable fonts if
7145 Vscalable_fonts_allowed is not Qt.
7146 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
7147
73acf815 71482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7149
7150 * xterm.c (xaw_scroll_callback): Cast correctly.
7151
73acf815 71522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7153
7154 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
7155 (lispy_kana_keys): Comment out.
7156 (make_lispy_event) [XK_kana_A]: Comment out.
7157
7158 * xterm.c (xaw_scroll_callback): Cast call_data.
7159 (XTread_socket): Deal with ASCII keysyms.
7160 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
7161
73acf815 71622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7163
7164 * xterm.c (Vx_keysym_table): New.
7165 (syms_of_xterm): Initialize it.
7166 (XTread_socket): Use it.
7167 From head: Eliminate incorrect optimization that tried to avoid
7168 decoding the output of X*LookupString.
7169 (x_get_font_repertory): Delete charset declaration.
7170
73acf815 71712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7172
1f45f627
GM
7173 * coding.c (detect_coding_charset): If only ASCII bytes are found,
7174 return 0.
aca7a3d2
MB
7175 (Fdefine_coding_system_internal): Setup
7176 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
7177
73acf815 71782008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7179
7180 * coding.c (Fcheck_coding_system): Doc fix.
7181
7182 * editfns.c (Finsert_byte): Return a proper value.
7183
73acf815 71842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7185
7186 * coding.c (decode_coding): Fix args to translate_chars. Pay
7187 attention to Vstandard_translation_table_for_decode.
7188 (encode_coding): Fix args to translate_chars. Pay attention to
7189 Vstandard_translation_table_for_encode.
7190
7191 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
7192 SINGLE_BYTE_CHAR_P.
7193
7194 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
7195 not by SINGLE_BYTE_CHAR_P.
7196
7197 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
7198 SINGLE_BYTE_CHAR_P.
7199
7200 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
7201 SINGLE_BYTE_CHAR_P.
7202
7203 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
7204 by SINGLE_BYTE_CHAR_P.
7205
7206 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
7207 SINGLE_BYTE_CHAR_P.
7208
73acf815 72092008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7210
7211 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
7212
73acf815 72132008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7214
7215 * fns.c (Flanginfo): Fix typo.
7216
7217 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
7218
73acf815 72192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7220
4c4475a8
GM
7221 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
7222 (detect_coding_emacs_mule, detect_coding_iso_2022)
7223 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
7224 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 7225 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 7226 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 7227 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 7228
73acf815 72292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7230
1f45f627
GM
7231 * character.c (char_string): Rename from
7232 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
7233 (string_char): Rename from string_char.
aca7a3d2 7234
4c4475a8
GM
7235 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
7236 if C is greater than MAX_3_BYTE_CHAR.
7237 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
7238 string_char instead of string_char_with_unification.
aca7a3d2 7239
73acf815 72402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7241
7242 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
7243
73acf815 72442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7245
1f45f627 7246 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
7247
7248 * regex.c (re_search_2): Fix for the case of unibyte buffer.
7249
73acf815 72502008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7251
7252 * charset.c (define_charset_internal): Rename `supprementary'.
7253
7254 * Makefile.in (lisp, shortlisp): Remove latin-N.
7255
73acf815 72562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7257
7258 * xfns.c (x_window, x_window): Use use_xim.
7259
7260 * xterm.c (use_xim): Initialize.
7261 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
7262 (x_term_init): Maybe set use_xim.
7263
7264 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
7265
73acf815 72662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7267
7268 * search.c (search_buffer): Fix case-fold-search of multibyte
7269 characters.
7270 (boyer_moore): Rename the last argument to char_high_bits.
7271
73acf815 72722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7273
7274 * xdisp.c (display_string): Fix for the case of zero width glyph.
7275
7276 * xfns.c (x_set_font): Change the error message of the case that
7277 x_new_fontset returns Qt.
7278
7279 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
7280 (Finternal_set_lisp_face_attribute): Use signal_error for the
7281 error of invalid fontset.
7282
7283 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
7284 fontset, return Qt.
7285
73acf815 72862008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7287
aca7a3d2
MB
7288 * unexelf.c (unexec): Make .got handling not SGI-specific.
7289
7290 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
7291
7292 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
7293
7294 * keyboard.c (read_key_sequence): Fix type error.
7295
7296 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
7297 type error.
7298
7299 * fontset.c (fontset_add): Return Lisp_Object.
7300
73acf815 73012008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7302
7303 * charset.h (charset_ordered_list_tick): Declare extern.
7304
73acf815 73052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7306
73acf815 7307 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
7308 for handling syntax, category, and case conversion for unibyte
7309 characters by converting them to multibyte on the fly. With these
7310 changes, we don't have to setup syntax and case tables for unibyte
7311 characters in each language environment.
7312
7313 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
7314 multibyte if necessary.
7315
7316 * bytecode.c (Fbyte_code): Likewise.
7317
7318 * character.h (LEADING_CODE_LATIN_1_MIN)
7319 (LEADING_CODE_LATIN_1_MAX): New macros.
7320 (unibyte_to_multibyte_table): Extern it.
7321 (unibyte_char_to_multibyte): New macro.
7322 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
7323 (CHAR_LEADING_CODE): New macro.
7324 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
7325
7326 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 7327 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
7328 (multibyte_char_to_unibyte): If C is an eight-bit character,
7329 convert it to the corresponding byte value.
7330
7331 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
7332 not 1, singals an error. Update the elements of
7333 unibyte_to_multibyte_table.
7334 (init_charset_once): Initialize unibyte_to_multibyte_table.
7335 (syms_of_charset): Define the charset `iso-8859-1'.
7336
aca7a3d2
MB
7337 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
7338 as is without converting it to unibyte. In a unibyte buffer,
7339 convert C to multibyte before checking the syntax.
7340
1f45f627 7341 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
7342
7343 * minibuf.c (Fminibuffer_complete_word): Use the macro
7344 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
7345
7346 * regex.h (struct re_pattern_buffer): New member target_multibyte.
7347
7348 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
7349 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
7350 that is zero, convert an eight-bit char to multibyte.
7351 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
7352 non-emacs case.
7353 (PATFETCH): Convert an eight-bit char to multibyte.
7354 (HANDLE_UNIBYTE_RANGE): New macro.
7355 (regex_compile): Setup the compiled pattern for multibyte chars
7356 even if the given regex string is unibyte. Use PATFETCH_RAW
7357 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 7358 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 7359 only for ASCII chars.
1f45f627 7360 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
7361 is multibyte.
7362 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
7363 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 7364 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
7365 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
7366 multibyte always 1.
7367 (re_search_2): In emacs, set the locale variable multibyte to 1,
7368 otherwise to 0. New local variable target_multibyte. Check it
7369 to decide the multibyteness of STR1 and STR2. If
7370 target_multibyte is zero, convert unibyte chars to multibyte
7371 before translating and checking fastmap.
7372 (TARGET_CHAR_AND_LENGTH): New macro.
7373 (re_match_2_internal): In emacs, set the locale variable multibyte
7374 to 1, otherwise to 0. New local variable target_multibyte. Check
7375 it to decide the multibyteness of STR1 and STR2. Use
7376 TARGET_CHAR_AND_LENGTH to fetch a character from D.
7377 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 7378 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
7379 target_multibyte, not with multibyte.
7380 <begline>: Declare the local variable C as `unsigned'.
7381 (bcmp_translate): Change the last arg name to target_multibyte.
7382
7383 * search.c (compile_pattern_1): Don't adjust the multibyteness of
7384 the regexp pattern and the matching target. Set cp->buf.multibyte
7385 to the multibyteness of the regexp pattern. Set
1f45f627 7386 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
7387 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
7388 FETCH_STRING_CHAR_ADVANCE.
7389 (Freplace_match): Convert unibyte chars to multibyte.
7390
4c4475a8
GM
7391 * syntax.c (char_quoted, back_comment, scan_words)
7392 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
7393 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 7394 unibyte chars to multibyte.
1f45f627
GM
7395 (skip_chars): Delete the arg syntaxp, and move the code for
7396 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
7397 Fix the case that the multibyteness of STRING and the current
7398 buffer doesn't match.
7399 (skip_syntaxes): New function.
7400 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
7401 SINGLE_BYTE_CHAR_P.
aca7a3d2 7402
73acf815 74032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7404
7405 * xfaces.c (QCfontset): New variable.
7406 (LFACE_FONTSET): New macro.
7407 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
7408 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
7409 (Finternal_set_lisp_face_attribute)
7410 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
7411 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
7412 check also LFACE_FONTSET_INDEX.
7413 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
7414 attrs[LFACE_FONT_INDEX].
7415 (syms_of_xfaces): Intern and staticpro QCfontset.
7416
7417 * dispextern.h (enum lface_attribute_index): New member
7418 LFACE_FONTSET_INDEX.
7419
7420 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
7421
73acf815 74222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7423
7424 * coding.c (coding_set_destination): Fix coding->destination for
7425 the case converting a region.
7426 (encode_coding_utf_8): Encode eight-bit chars as single byte.
7427 (encode_coding_object): Fix coding->dst_pos and
7428 coding->dst_pos_byte for the case converting a region.
7429
7430 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
7431
7432 * character.h (BYTE8_STRING): New macro.
7433
7434 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
7435
73acf815 74362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7437
7438 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
7439 characters by octal form.
7440
7441 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7442
1f45f627 7443 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
7444 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
7445 _fetch_multibyte_char_len.
aca7a3d2
MB
7446 (FETCH_CHAR_AS_MULTIBYTE): New macro.
7447
1f45f627 7448 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 7449
1f45f627 7450 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 7451 the case conversion change the byte length.
1f45f627 7452 (casify_region): Likewise.
aca7a3d2 7453
1f45f627 7454 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 7455
1f45f627 7456 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
7457 (syms_of_character): Setup Vprintable_chars.
7458
7459 * editfns.c (Fchar_equal): Fix for the unibyte case.
7460 (Finsert_byte): New function.
7461 (syms_of_editfns): Defsubr it.
7462
7463 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
7464 of direct code 0x3ffff.
7465
7466 * search.c (Freplace_match): Fix for the unibyte case.
7467
73acf815 74682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7469
7470 * lread.c (safe_to_load_p): Fix the logic.
7471
7472 * syntax.c (scan_words): Don't treat characters belonging to
7473 different scripts as constituting a word.
7474
7475 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7476
1f45f627 7477 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
7478
7479 * emacs.c (main): In the case of --unibyte, instead of aborting on
7480 finding non-empty buffer, make it unibyte.
7481
73acf815 74822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7483
7484 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
7485 to create a fontset.
7486
73acf815 74872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7488
7489 * character.c (Funibyte_char_to_multibyte): Doc fix.
7490
7491 * xfns.c [HAVE_STDLIB_H]: Fix last change.
7492
73acf815 74932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7494
7495 * fontset.c (fontset_add): Make the type `int'.
7496 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
7497
4c4475a8
GM
7498 * character.c (unibyte_char_to_multibyte)
7499 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 7500 charset_unibyte, not charset_primary.
aca7a3d2 7501
1f45f627 7502 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 7503
1f45f627
GM
7504 * charset.c (charset_unibyte): Rename from charset_primary.
7505 (Funibyte_charset): Rename from Fprimary_charset.
7506 (Fset_unibyte_charset): Rename from Fset_primary_charset.
7507 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
7508
7509 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7510 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7511 it->multibyte_p is zero.
7512
7513 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 7514 Delete extern.
aca7a3d2 7515
73acf815 75162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7517
7518 * coding.c (Fdefine_coding_system_internal): Fix category setting
7519 for a coding system of type iso-2022.
7520
73acf815 75212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7522
1f45f627 7523 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 7524
73acf815 75252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7526
7527 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
7528 (next-word-boundary-function-table): Declare it as a Lisp variable
7529 in syms_of_syntax.
aca7a3d2
MB
7530 (scan_words): Call functions in Vnext_word_boundary_function_table
7531 if any.
7532
7533 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
7534
7535 * fontset.c (fs_load_font): If fontp->charset is not negative,
7536 return fontp without setting its members.
7537
73acf815 75382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7539
aca7a3d2
MB
7540 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
7541
7542 * m/sparc.h (HAVE_ALLOCA): Delete.
7543
7544 * s/irix6-5.h: Don't include strings.h.
7545 (bcopy, bzero, bcmp): Don't undef.
7546
7547 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
7548
7549 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
7550 (TIOCSIGSEND): Don't test IRIX6.
7551 (bcopy, bzero, bcmp): Define conditionally.
7552
73acf815 75532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7554
7555 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 7556 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
7557 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
7558
7559 * callproc.c (Fcall_process): Don't call insert_1_both directly if
7560 we are inserting a process output into a multibyte buffer.
7561
7562 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
7563 multibyte_char_to_unibyte.
7564
7565 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
7566 by the primary charset, make it eight-bit char.
7567 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
7568
1f45f627
GM
7569 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
7570 (charset_8_bit__control, charset_8_bit_graphic)
7571 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
7572 (define_charset_internal): New function.
7573 (syms_of_charset): Call define_charset_internal for pre-defined
7574 charsets.
7575
7576 * charset.h (charset_8_bit): Extern it.
7577
1f45f627 7578 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
7579 of Fset_buffer_multibyte.
7580 (encode_coding_raw_text): Increment p0 in the loop.
7581
1f45f627 7582 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 7583
1f45f627 7584 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
7585 for the change of Fset_buffer_multibyte.
7586
7587 * fns.c (Fstring_to_multibyte): New function.
7588 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
7589
73acf815 75902008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7591
7592 * xfns.c (x_put_x_image): Declare args.
7593
1f45f627 7594 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
7595 (try_font_list): Declare an arg.
7596
7597 * xdisp.c (message2_nolog, set_message): Declare an arg.
7598
7599 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
7600
7601 * syntax.c (scan_sexps_forward): Declare an arg.
7602
7603 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7604 Declare an arg.
7605
7606 * lisp.h (Fnew_fontset): Declare.
7607
7608 * keymap.c (push_key_description): Call CHARACTERP correctly.
7609
1f45f627 7610 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
7611 (face_for_char): Delete unused vars.
7612 (Fset_fontset_font): Doc fix. Delete unused vars.
7613
7614 * doc.c (Fsubstitute_command_keys): Delete unused vars.
7615
7616 * composite.c (update_compositions): Declare arg.
7617
7618 * cm.c (calccost, cmgoto): Declare args.
7619
7620 * charset.c: Remove `emacs' conditional. Doc fixes.
7621 (map_char_table_for_charset): Declare.
7622
1f45f627 7623 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 7624
1f45f627 7625 * ccl.c: Remove `emacs' conditional.
aca7a3d2 7626
73acf815 76272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7628
7629 The following changes are to allow specifying multiple font
7630 patterns for a character range (specified by script or charset).
7631
7632 * Makefile.in (abbrev.o): Depend on syntax.h.
7633 (xfaces.o): Depend on charset.h.
7634
7635 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
7636 SINGLE_BYTE_CHAR_P.
7637
7638 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
7639
7640 * character.h (Vchar_script_table): Extern it.
7641
1f45f627 7642 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
7643 (Vchar_script_table, Qchar_script_table): New variable.
7644 (syms_of_character): Declare Vchar_script_table as a lisp variable
7645 and initialize it.
7646
1f45f627 7647 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
7648 have property char-table-extra-slots, make no extra slot.
7649
1f45f627 7650 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
7651 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
7652 SINGLE_BYTE_CHAR_P.
1f45f627
GM
7653 (choose_face_font, lookup_non_ascii_face, font_name_registry):
7654 Add prototypes.
7655 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
7656 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7657
7658 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 7659 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
7660 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
7661
7662 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 7663 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
7664 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
7665 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
7666 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
7667 (fontset_ref_and_range, fontset_add, reorder_font_vector)
7668 (load_font_get_repertory): New functions.
1f45f627 7669 (fontset_set): Delete.
aca7a3d2 7670 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 7671 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
7672 (free_face_fontset): Use ASET istead of AREF (X) = Y.
7673 (face_for_char): Don't call lookup_face.
7674 (make_fontset_for_ascii_face): New arg FACE.
7675 (fs_load_font): New arg CHARSET_ID. Don't check
7676 Vfont_encoding_alist here.
7677 (find_font_encoding): New function.
7678 (list_fontsets): Use STRINGP, not ! NILP.
7679 (accumulate_script_ranges): New function.
7680 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
7681 re-written to handle new fontset structure.
7682 (Ffontset_font): Return a copy of element.
7683 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
7684 docstring of font-encoding-alist.
7685
7686 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
7687 (Fset_fotset_font): Fix arguments to 5.
7688
1f45f627 7689 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
7690
7691 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
7692 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 7693 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
7694 lookup_named_face.
7695
7696 * xfaces.c: Include charset.h.
1f45f627
GM
7697 (load_face_font): Delete argument C. Change caller.
7698 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7699 (font_name_registry): New function.
7700 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 7701 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
7702 Lookup only ascii faces.
7703 (lookup_non_ascii_face): New function.
1f45f627
GM
7704 (lookup_named_face): Delete argument C. Change caller.
7705 (lookup_derived_face): Delete argument C. Change caller.
7706 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 7707 a string, just call font_list with it.
1f45f627
GM
7708 (choose_face_font): Delete arguments FACE and C. New arg
7709 FONT_SPEC. Change caller.
4c4475a8
GM
7710 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
7711 Change caller.
aca7a3d2
MB
7712 (realize_non_ascii_face): New function.
7713 (realize_x_face): Call load_face_font here.
1f45f627 7714 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
7715 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
7716 get a face ID.
7717 (dump_realized_face): Don't print charset of FACE.
7718
7719 * xfns.c (x_set_font): Always call x_new_fontset and
7720 store_frame_parameter.
7721 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 7722 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
7723
7724 * xterm.h (x_get_font_repertory): Extern it.
7725
7726 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7727 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7728 it->multibyte_p is zero.
7729 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7730 (x_new_fontset): If FONTSETNAME doesn't match any existing
7731 fontsets, create a new one.
7732 (x_get_font_repertory): New function.
7733
73acf815 77342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7735
7736 * coding.c (Ffind_coding_systems_region_internal): Detect an
7737 ASCII only string correctly.
7738
7739 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
7740 version is 0.
7741
73acf815 77422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7743
7744 * lread.c: Include "coding.h".
1f45f627
GM
7745 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
7746 (load_each_byte, unread_char): New variables.
7747 (readchar_backlog): Delete.
aca7a3d2
MB
7748 (readchar): Return a character unless load_each_byte is nonzero.
7749 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
7750 cons. If unread_char is not -1, simply return it.
7751 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
7752 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
7753 (read_multibyte): Delete.
aca7a3d2
MB
7754 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
7755 (read_emacs_mule_char): New functions.
7756 (Fload): Even if the file doesn't have the extention ".elc", if
7757 safe_to_load_p returns a positive version number, assume that the
7758 file contains bytecompiled code. If the version is less than 22,
7759 load the file while decoding multibyte sequences by emacs-mule.
7760 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
7761 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
7762 (Fread_from_string): Pay attention to the case that STREAM is a cons.
7763 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
7764 (read1): Set load_each_byte to 1 temporarily while handling
7765 #@NUMBER. Don't call read_multibyte.
7766 (read_vector): Call Fread with a cons. If readcharfun is
7767 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 7768 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
7769 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
7770 and Qload_force_doc_strings.
7771
73acf815 77722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7773
7774 * xdisp.c (face_before_or_after_it_pos): Call
7775 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7776
73acf815 77772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7778
7779 * character.h (TRAILING_CODE_P): New macro.
1f45f627 7780 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
7781 (string_char_with_unification): Fix prototype.
7782 (Vscript_alist): Extern it.
7783
7784 * character.c (Vscript_alist): New variable.
4c4475a8
GM
7785 (string_char_with_unification, str_as_unibyte)
7786 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
7787 (syms_of_character): Declare script-alist as a Lisp variable.
7788
7789 * charset.h (Vcharset_ordered_list): Extern it.
7790 (charset_ordered_list_tick): Extern it.
7791 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
7792 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
7793 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 7794 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 7795 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
7796
7797 * charset.c (charset_ordered_list_tick): New variable.
7798 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
7799 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
7800 deunify intead of unify a charset.
7801 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
7802 (find_charsets_in_text): Add `const' to arguemnts and local variables.
7803 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
7804 detecting of invalid code.
7805 (Fset_charset_priority): Increment charset_ordered_list_tick.
7806 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
7807 and TO_CODE.
7808
7809 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
7810 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
7811 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
7812 (decode_coding_ccl, consume_chars)
7813 (Ffind_coding_systems_region_internal)
7814 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
7815
7816 * print.c (print_object): Use octal form for printing the
7817 contents of a bool vector.
7818
73acf815 78192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7820
7821 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
7822 <version == 20>: Refuse to load.
7823
73acf815 78242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7825
7826 * fns.c: Move coding.h.
7827 (Qcodeset, Qdays, Qmonths): New.
7828 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 7829 (Flocale_codeset): Delete.
aca7a3d2 7830 (Flanginfo): New function.
1f45f627 7831 (syms_of_fns): Change accordingly.
aca7a3d2
MB
7832
7833 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
7834
73acf815 78352008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7836
7837 * casetab.c (init_casetab_once, init_casetab_once): Fix
7838 CHAR_TABLE_SET call.
7839
7840 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
7841
7842 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
7843
7844 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
7845 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
7846 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
7847
7848 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
7849
7850 * coding.c (ENCODE_DESIGNATION, decode_eol)
7851 (make_conversion_work_buffer, code_conversion_restore)
7852 (Fdefine_coding_system_internal): Convert Lisp types.
7853 (code_conversion_restore): Use EQ, not ==.
7854 (Fencode_coding_string): Fix code_convert_string call.
7855
7856 * coding.h (code_convert_region): Fix prototype.
7857
1f45f627 7858 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
7859
7860 * fontset.c (fontset_ref, fontset_set, fs_load_font)
7861 (Ffontset_info): Convert Lisp types.
7862
7863 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
7864
7865 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
7866
7867 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
7868
7869 * chartab.c: Include "...h", not <...h> in some cases.
7870
7871 * callproc.c (Fcall_process): Remove unused variables.
7872
73acf815 78732008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7874
7875 * coding.c (Fset_coding_system_priority): Allow null arg list.
7876
73acf815 78772008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7878
7879 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7880 (Fself_insert_and_exit): Use CHARACTERP.
7881
7882 * callproc.c (Fcall_process): Remove unused vars.
7883
7884 * xterm.c (XTread_socket): Add extra dead keysyms.
7885
7886 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
7887
7888 * dispextern.h: Remove prototypes for redraw_frame,
7889 redraw_garbaged_frames.
7890
7891 * cmds.c (Fself_insert_command): Use CHARACTERP.
7892
7893 * chartab.c (make_sub_char_table): Remove unused var.
7894 (Fset_char_table_default, Fmap_char_table): Doc fix.
7895
7896 * keymap.c (access_keymap): Remove generic char code.
7897 (push_key_description): Use CHARACTERP.
7898
73acf815 78992008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7900
7901 * charset.c: Doc fixes.
7902 (Funify_charset): Extra checking.
7903
73acf815 79042008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7905
7906 * lread.c: Remove some unused variables.
7907 (safe_to_load_p): If safe, return the magic number version byte.
7908 (Fload): Maybe use load-with-code-conversion.
7909
73acf815 79102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7911
7912 * category.c (Fmodify_category_entry): Don't modify the contents
7913 of category_set for characters out of the range. Avoid
7914 unnecessary modification.
7915
1f45f627 7916 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
7917 Vchar_unify_table. The default value of the table is now nil.
7918
7919 * character.c (syms_of_character): Setup Vchar_width_table for
7920 eight-bit-control and raw-byte chars.
7921
7922 * charset.h (enum define_charset_arg_index): Delete
7923 charset_arg_parents and add charset_arg_subset and
7924 charset_arg_superset.
7925 (enum charset_attr_index): Delete charset_parents and add
7926 charset_subset and charset_superset.
7927 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
7928 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 7929 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
7930 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
7931 (CHARSET_SUPERSET): New macros.
7932 (charset_work): Extern it.
7933 (ENCODE_CHAR): Use charset_work.
1f45f627 7934 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
7935 (map_charset_chars): Extern it.
7936
7937 * charset.c (load_charset_map): Set the default value of encoder
7938 and deunifier char-tables to nil.
1f45f627 7939 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
7940 map_char_table_for_charset instead of map_char_table.
7941 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 7942 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
7943 `define-charset' (:parents -> :subset or :superset).
7944 (charset_work): New variable.
4c4475a8
GM
7945 (encode_char, syms_of_charset): Adjust for the change of
7946 Fdefine_charset_internal.
aca7a3d2
MB
7947 (Ffind_charset_string): Setup the vector `charsets' correctly.
7948
1f45f627 7949 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 7950 the previous change.
1f45f627 7951 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
7952 (map_sub_char_table_for_charset): New function.
7953 (map_char_table_for_charset): New function.
7954
7955 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 7956 (describe_char_table): Delete.
aca7a3d2 7957
1f45f627 7958 * lisp.h (map_charset_chars): Delete.
aca7a3d2 7959
73acf815 79602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7961
7962 * fns.c (count_combining): Comment out (unused).
7963 (Flocale_codeset): New.
7964 (syms_of_fns): Defsubr it.
7965
7966 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 7967 (size_t): Remove.
aca7a3d2 7968
73acf815 79692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7970
6f69e89b 7971 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 7972
73acf815 79732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7974
7975 * character.c (syms_of_character): Set the default value of
7976 Vprintable_chars to Qnil.
7977
73acf815 79782008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7979
7980 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
7981
73acf815 79822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7983
7984 * charset.c (load_charset_map): Handle the case that from < to
7985 correctly.
7986
4c4475a8
GM
7987 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
7988 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
7989 Pay attention to raw-8-bit chars.
aca7a3d2 7990
73acf815 79912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7992
4c4475a8
GM
7993 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
7994 It is not bytecompiled now.
aca7a3d2
MB
7995
7996 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
7997 (charset_jisx0208): New variables.
7998 (Fdefine_charset_internal): Setup them if appropriate.
7999 (init_charset_once): Initialize them to -1.
8000
1f45f627
GM
8001 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
8002 (charset_jisx0208): Extern them.
aca7a3d2 8003
1f204af3 8004 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 8005 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
8006 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
8007 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
8008 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
8009 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
8010 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
8011 (encode_coding_iso_2022): Change the 1st arg to
8012 ENCODE_ISO_CHARACTER to a variable.
8013
73acf815 80142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8015
8016 * charset.h (enum define_charset_arg_index): New enums
8017 charset_arg_min_code and charset_arg_max_code.
8018 (struct charset): New member char_index_offset.
8019
4c4475a8
GM
8020 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
8021 Take charset->char_index_offset into account.
aca7a3d2
MB
8022 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
8023 args[charset_arg_max_code]. Setup charset.char_index_offset.
8024 (syms_of_charset): Fix args to Fdefine_charset_internal.
8025
73acf815 80262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8027
8028 * coding.c (decode_coding_utf_8): Reject overlong sequences.
8029
73acf815 80302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8031
8032 * coding.c: Doc fixes.
8033 (Fcoding_system_aliases): Fix return value.
8034 (Qmac): Remove (duplicated) definition.
8035
73acf815 80362008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8037
8038 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
8039 functions.
8040
8041 * character.c (Fstring): Doc fix.
8042
8043 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
8044
8045 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
8046 ids.
8047 (font-encoding-alist): Doc fix.
8048
73acf815 80492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8050
8051 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 8052 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
8053
8054 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8055 for K&R.
8056
8057 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
8058
8059 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 8060 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 8061
1f45f627 8062 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
8063
8064 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
8065
73acf815 80662008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8067
8068 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
8069
1f45f627 8070 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 8071
2a2e8de7 80722008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
8073
8074 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
8075
1f45f627 8076 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 8077
73acf815 80782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8079
4c4475a8 8080 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 8081 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 8082
73acf815 80832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8084
1f45f627 8085 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
8086 Fdefine_coding_system_internal.
8087 (Fdefine_coding_system_internal): For a coding system of
8088 `charset' type, store a list of charset IDs in
8089 `charset_attr_charset_valids' element of coding attributes.
8090
73acf815 80912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8092
8093 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
8094 (emacs_mule_char): New arg src. Delete arg `composition'. Change
8095 caller. Handle 2-byte and 3-byte charsets correctly.
8096 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
8097 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
8098 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
8099 (DECODE_EMACS_MULE_21_COMPOSITION): Call
8100 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
8101 sequence.
8102 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 8103 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
8104 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
8105 and alt&rule composition.
8106 (decode_coding_iso_2022): Handle composition correctly.
8107 (init_coding_once): Setup emacs_mule_bytes for private charsets.
8108
8109 * charset.c (Fdefine_charset_internal): Fix bug for the case of
8110 re-defining a charset. If the charset has :emacs-mule-id, setup
8111 emacs_mule_bytes.
1f45f627 8112 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 8113
73acf815 81142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8115
4c4475a8
GM
8116 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
8117 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
8118 encoding, produce a character specified by
8119 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 8120
73acf815 81212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8122
8123 * xterm.c (XSetIMValues): Declare.
8124
8125 * process.c: Conditionally include sys/wait.h, pty.h.
8126
1f45f627 8127 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 8128
1f45f627 8129 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
8130
8131 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
8132
8133 * fontset.c (Fclear_face_cache): Declare.
1f45f627 8134 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
8135 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
8136 variables.
8137
8138 * character.h (string_escape_byte8): Declare.
8139
8140 * charset.c (load_charset_map, load_charset_map_from_file): Remove
8141 unused vars.
8142 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
8143 (Fmap_charset_chars): Doc fix.
8144
1f45f627 8145 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
8146 (Fset_coding_system_priority, Fset_coding_system_priority)
8147 (Fdefine_coding_system_internal): Doc fix.
8148
73acf815 81492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8150
8151 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
8152
73acf815 81532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8154
8155 * character.c (string_escape_byte8): Make multibyte string with
8156 correct size.
8157
8158 * charset.c (Fmake_char): Delete unnecessary code.
8159
73acf815 81602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8161
8162 * xfns.c (x_encode_text): Allocate coding.destination here, and
8163 call encode_coding_object with dst_object Qnil.
8164
8165 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
8166 multibyte form correctly.
8167
8168 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
8169 against Vfont_encoding_alist.
8170
8171 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
8172 handling of charset list.
8173 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8174 (decode_coding_object): Move point to coding->dst_pos before
8175 calling post-read-conversion function.
8176 (encode_coding_object): Give correct arguments to
8177 pre-write-conversion. Ignore the return value of
8178 pre-write-conversion function. Pay attention to the case that
8179 pre-write-conversion changes the current buffer. If dst_object is
8180 Qt, even if coding->src_bytes is zero, allocate at least one byte
8181 to coding->destination.
8182
8183 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
8184
8185 * charset.c (Fmake_char): Make it more backward compatible.
8186 (Fmap_charset_chars): Fix docstring.
8187
73acf815 81882008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8189
8190 * coding.c: Doc fixes.
8191 (Fdefine_coding_system_alias): Use names, not symbols, in
8192 coding-system-alist.
8193
73acf815 81942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8195
8196 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
8197 of calling free_realized_face.
8198
2a2e8de7 81992008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 8200
1f45f627
GM
8201 * charset.c (read_hex): Don't treat SPC as a comment starter.
8202 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
8203 (Fdecode_char): Fix typo.
8204
73acf815 82052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8206
8207 * charset.h (struct charset): New member `code_space_mask'.
8208
1f45f627 8209 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
8210 (encode_coding_charset, Fdefine_coding_system_internal):
8211 Delete the local variable charset.
aca7a3d2
MB
8212 (Fdefine_coding_system_internal): Setup
8213 attrs[coding_attr_charset_valids] correctly.
8214
8215 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
8216 member to check if CODE is valid or not.
8217 (Fdefine_charset_internal): Initialize `code_space_mask' member.
8218 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
8219 is within the range of charset->min_code and carset->max_code.
8220
73acf815 82212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8222
8223 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
8224
8225 * dispextern.h (generate_ascii_font): Fix return type.
8226
8227 * xfaces.c (generate_ascii_font): Fix arg declaration.
8228
8229 * coding.c (coding_inherit_eol_type)
8230 (Fset_terminal_coding_system_internal)
8231 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
8232
73acf815 82332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8234
8235 * coding.c (decode_coding_charset, encode_coding_charset): Handle
8236 multiple charsets correctly.
8237
73acf815 82382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8239
8240 * search.c (boyer_moore): Fix handling of mulitbyte character
8241 translation.
8242
8243 * xdisp.c (display_mode_element): When the variable `elt' is
8244 changed, update `this' and `lisp_string'.
8245
73acf815 82462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8247
8248 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
8249
8250 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 8251 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
8252
8253 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
8254 (load_charset_map): Rename from parse_charset_map. New args
8255 entries and n_entries. Change caller.
8256 (load_charset_map_from_file): Rename from load_charset_map.
8257 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
8258 the tail.
8259 (load_charset_map_from_vector): New function.
8260 (Fdefine_charset_internal): Setup charset.compact_codes_p.
8261 (encode_char): If the charset is compact, change a character index
8262 to a code point.
8263
8264 * coding.c (coding_alloc_by_making_gap): Check the case that the
8265 source and destination are the same correctly.
8266 (decode_coding_raw_text): Set coding->consumed_char and
8267 coding->consumed to 0.
8268 (produce_chars): If coding->chars_at_source is nonzero, update
8269 coding->consumed_char and coding->consumed before calling
8270 alloc_destination.
8271 (Fdefine_coding_system_alias): Register ALIAS in
8272 Vcoding_system_alist.
8273 (syms_of_coding): Define `no-convesion' coding system at the tail.
8274
8275 * fileio.c (Finsert_file_contents): Set coding_system instead of
8276 val. If the current buffer is multibyte, always call
8277 decode_coding_gap.
8278
8279 * xfaces.c (try_font_list): Give higher priority to fontset's
8280 family than face's family.
8281
73acf815 82822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8283
8284 * callproc.c (Fcall_process): Be sure to give the current buffer
8285 to decode_coding_c_string.
8286
8287 * xfaces.c (try_font_list): Give a family specified in a fontset
8288 higher priority than a family specified in a face.
8289
73acf815 82902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8291
8292 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
8293 Fix arguments to insert_from_buffer.
8294
8295 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
8296
73acf815 82972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8298
8299 * coding.c (produce_chars): Set the variable `multibytep' correctly.
8300 (decode_coding_gap): Set coding->dst_multibyte correctly.
8301
73acf815 83022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8303
8304 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 8305 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
8306 (encode_coding_utf_16): Substitute coding->default_char for
8307 non-Unicode characters.
8308 (decode_coding): Don't call record_insert here.
8309 (setup_coding_system): Initialize `surrogate' of
8310 coding->spec.utf_16 to 0.
8311 (EMIT_ONE_BYTE): Fix for multibyte case.
8312
8313 * insdel.c (insert_from_gap): Call record_insert.
8314
73acf815 83152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8316
8317 * casefiddle.c (casify_region): Fix multibyte case.
8318
8319 * character.c (c_string_width): Add return type `int'.
1f45f627 8320 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
8321
8322 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 8323 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
8324 (CHAR_STRING_ADVANCE): Make it do-while statement.
8325
1f45f627 8326 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
8327 DEPTH == 3. Add workaround code for a GCC optimization bug.
8328
8329 * charset.c (parse_charset_map): Remove an unused variable.
8330
8331 * coding.c: Delete unused variables.
8332
8333 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
8334 earlier. If inserted is zero and the coding system doesn't
8335 require flushing, don't call decode_coding_gap.
8336
8337 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
8338
73acf815 83392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8340
8341 The following changes are for using Unicode as an internal
8342 character model, and use UTF-8 format for buffer/string
8343 representation.
8344
1f45f627 8345 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
8346 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
8347
8348 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 8349 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
8350 (*.o): For many files, change dependency on charset.h to
8351 character.h, and add dependency on character.h.
8352 (character.o, chartab.o): New targets.
8353
1f45f627
GM
8354 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
8355 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
8356 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
8357 of "charset.h".
8358
8359 * dired.c, filelock.c: Include "character.h".
8360
8361 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 8362 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8363 (syms_of_alloc): Remove defsubr for Smake_char_table.
8364
8365 * buffer.c: Include "character.h" instead of "charset.h", don't
8366 include "coding.h".
1f45f627 8367 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
8368
8369 * buffer.h: EXFUN Fbuffer_live_p.
8370
8371 * callproc.c: Include "character.h" instead of "charset.h".
8372 (Fcall_process): Big change for the new code-conversion APIs.
8373
8374 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 8375 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
8376 map_char_table spec.
8377 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
8378 accessing the char table structure.
8379
8380 * chartab.c: New file that implements char table.
8381
8382 * category.c: Include "character.h".
8383 (copy_category_entry): New function.
8384 (copy_category_table): Call map_char_table and copy_category_entry.
8385 (Fmake_category_table): Initialize all top-vel slots.
8386 (char_category_set): New function.
1f45f627 8387 (modify_lower_category_set): Delete.
aca7a3d2
MB
8388 (Fmodify_category_entry): Call char_table_ref_and_range.
8389
8390 * category.h (CATEGORY_SET): Just call char_category_set.
8391
8392 * ccl.c: Include "character.h".
8393 (Qccl, Qcclp): New variables.
8394 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
8395 it's less than 256.
1f45f627
GM
8396 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
8397 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 8398 and DST type.
1f45f627
GM
8399 (ccl_driver): Change types of argument, adjust code accordingly.
8400 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
8401 ccl_driver.
8402 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
8403
1f45f627
GM
8404 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
8405 New members src_multibyte, dst_multibyte, consumed, and produced.
8406 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 8407 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 8408 (ccl_driver): Update prototype.
aca7a3d2
MB
8409 (Qccl, Qcclp, Fccl_program_p): Extern them.
8410 (CHECK_CCL_PROGRAM): New macro.
8411
8412 * character.c, character.h, chartab.c: New files.
8413
1f45f627
GM
8414 * charset.c: Mostly re-written. Move character and multibyte sequence
8415 handling codes to character.c.
aca7a3d2 8416
1f45f627
GM
8417 * charset.h: Mostly re-written. Move character and multibyte sequence
8418 handling codes to character.h.
aca7a3d2
MB
8419
8420 * coding.c, coding.h: Mostly re-written.
8421
8422 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8423 (CHAR_WIDTH): Move to character.h.
8424 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 8425
1f45f627
GM
8426 * composite.h (enum composition_method): Change order of enumeration
8427 symbols.
aca7a3d2
MB
8428
8429 * data.c: Include "character.h" instead of "charset.h".
8430 (Faref): Call CHAR_TABLE_REF for a char table.
8431 (Faset): Call CHAR_TABLE_SET for a char table.
8432
1f45f627
GM
8433 * dispextern.h (free_realized_face, check_face_attribytes)
8434 (generate_ascii_font): Extern them.
8435 (free_realized_multibyte_face): Delete extern.
aca7a3d2 8436
1f45f627 8437 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
8438 table structure.
8439
8440 * editfns.c: Include "character.h" instead of "charset.h".
8441 (Fchar_to_string): Always call CHAR_STRING.
8442
8443 * emacs.c (main): Call init_charset_once, init_charset,
8444 syms_of_chartab, and syms_of_character.
8445
8446 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 8447 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 8448 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 8449 (build_annotations_2): Delete.
aca7a3d2
MB
8450 (e_write): Big change for the new code-conversion API.
8451
8452 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 8453 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8454 (Fcopy_sequence): Call copy_char_table for a char table.
8455 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
8456 (string_char_to_byte, string_byte_to_char): Adjust for the new
8457 multibyte form.
1f45f627
GM
8458 (internal_equal): Adjust for the change of char table structure.
8459 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
8460 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
8461 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
8462 (char_table_translate, optimize_sub_char_table)
8463 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 8464 chartab.c.
1f45f627
GM
8465 (char_table_ref_and_index): Delete.
8466 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 8467 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
8468 Vcoding_category_list. Adjust for the new code-conversion API.
8469 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
8470 chartab.c.
8471
8472 * fontset.c: Mostly re-written.
8473
1f45f627 8474 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 8475 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
8476 (fontset_font_pattern, fs_load_font): Update prototype.
8477 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
8478
8479 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 8480 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
8481
8482 * insdel.c: Include "character.h" instead of "charset.h".
8483 (copy_text): Don't refer to Vnonascii_translation_table.
8484 (insert_from_gap): New function.
8485
8486 * keyboard.c: Include "character.h" instead of "charset.h".
8487 (command_loop_1): Never call direct_output_forward_char before
8488 a non-ASCII character.
8489 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 8490 translate a character.
aca7a3d2
MB
8491
8492 * keymap.c: Include "character.h".
8493 (store_in_keymap): Handle the case that IDX is a cons.
8494 (Fdefine_key): Handle the case that KEY is a cons and the car part
8495 is also a cons (range).
1f45f627 8496 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
8497 (describe_vector): Call describe_char_table for a char table.
8498 (describe_char_table): New function.
8499
8500 * keymap.h (describe_char_table): Extern it.
8501
8502 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
8503 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
8504 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
8505 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
8506 Delete.
8507 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
8508 structure.
8509 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
8510 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
8511 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 8512 (chartab_size): Extern it.
1f45f627 8513 (struct Lisp_Char_Table): Re-design.
aca7a3d2 8514 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
8515 (HASH_KEY, HASH_VALUE): Move from fns.c.
8516 (CHARACTERBITS): Define as 22.
8517 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
8518 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
8519 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
8520 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
8521 (code_convert_string_norecord): Deleted extern.
8522 (init_character_once, syms_of_character, init_charset)
8523 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
8524
8525 * lread.c: Include "character.h".
8526 (read_multibyte): New arg NBYTES.
1f45f627
GM
8527 (read_escape): Change the meaning of returned *BYTEREP.
8528 (to_multibyte): Delete.
8529 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
8530
8531 * print.c: Include "character.h" instead of "charset.h".
8532 (print_string): Convert 8-bit raw bytes to octal form by
8533 string_escape_byte8.
1f45f627 8534 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
8535 raw bytes always in octal form. Handle sub char table correctly.
8536
8537 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
8538 (read_process_output, send_process): Adjust for the new
8539 code-conversion API.
aca7a3d2 8540
1f45f627 8541 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
8542
8543 * regex.c: Include "character.h" instead of "charset.h".
8544 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
8545 (regex_compile): Accept a range whose starting and ending
8546 character have different leading bytes.
1f45f627 8547 (analyse_first): Adjust for the above change.
aca7a3d2
MB
8548
8549 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8550 (search_buffer, boyer_moore): Adjust for the new multibyte form.
8551 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
8552
8553 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 8554 (syntax_parent_lookup): Delete.
aca7a3d2 8555 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 8556 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
8557 (init_syntax_once): Call char_table_set_range instead of directly
8558 accessing the structure of a char table.
8559
8560 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 8561 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
8562 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
8563 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
8564
8565 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
8566 (encode_terminal_code, write_glyphs): Adjust for the new
8567 code-conversion API.
aca7a3d2
MB
8568 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
8569
1f45f627 8570 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
8571
8572 * xdisp.c: Include "character.h".
1f45f627
GM
8573 (get_next_display_element): Adjust for the new multibyte form.
8574 (disp_char_vector): Adjust for the new char table structure.
8575 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 8576 coding system.
1f45f627 8577 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
8578
8579 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 8580 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
8581 FS_LOAD_FONT.
8582 (generate_ascii_font): New function.
1f45f627
GM
8583 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
8584 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 8585 (free_realized_face): Make it public.
1f45f627 8586 (free_realized_faces_for_fontset): Rename from
aca7a3d2 8587 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 8588 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
8589 fontset_font_pattern and FS_LOAD_FONT.
8590
8591 * xfns.c: Include "character.h".
1f45f627 8592 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
8593
8594 * xselect.c: Don't include "charset.h".
1f45f627 8595 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
8596
8597 * xterm.c: Include "character.h".
1f45f627 8598 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
8599 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
8600 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
8601 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
8602 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
8603 (XTread_socket): Adjust for the new code-conversion API.
8604 (x_new_font): Adjust for the change of FS_LOAD_FONT.
8605 (x_load_font): Adjust for the change of struct font.
aca7a3d2 8606
d6abfc14
SM
86072008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8608
8609 * xfaces.c (face_at_buffer_position): Remove unused vars.
8610
0acdaf8d
KH
86112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8612
4c4475a8
GM
8613 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
8614 Fix overflow checking.
0acdaf8d 8615
6c8a0ebf
GM
86162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8617
8618 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
8619 Cancel previous change.
8620
86212008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8622
8623 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
8624 ccl->eight_bit_control. Fix check for buffer overflow.
8625 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
8626 (ccl_driver): Initialize extra_bytes to 0.
8627
a32aad64
KH
86282008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8629
8630 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
8631 return it ORed with ctrl_modifier.
8632
8b329dba
MB
86332008-01-29 Miles Bader <miles@gnu.org>
8634
8635 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
8636
548667aa
JR
86372008-01-28 Jason Rumney <jasonr@gnu.org>
8638
8639 * w32.c (stat): Don't double check for networked drive.
8640
0975aa24
SM
86412008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
8642
ef264c42
SM
8643 * window.c (run_window_configuration_change_hook): New function.
8644 Code extracted from set_window_buffer. Set the selected frame.
8645 (set_window_buffer): Use it.
8646 * window.h (run_window_configuration_change_hook): Declare.
8647 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
8648
0975aa24
SM
8649 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
8650
9c28b587
DN
86512008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
8652
8653 * Makefile.in: Remove references to unused macros.
8654
c617afce
EZ
86552008-01-26 Eli Zaretskii <eliz@gnu.org>
8656
8657 * w32.c (g_b_init_get_sid_sub_authority)
8658 (g_b_init_get_sid_sub_authority_count): New static variables.
8659 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
8660 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
8661 (init_user_info): Use them to retrieve uid and gid.
8662 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
8663 (fstat): Use pw_uid and pw_gid from the_passwd structure for
8664 st_uid and st_gid of the file.
c617afce 8665
302d7d54
JR
86662008-01-26 Jason Rumney <jasonr@gnu.org>
8667
8668 * w32.c (logon_network_drive): New function.
8669 (stat): Use it.
8670
3ac7a21e
CY
86712008-01-26 Chong Yidong <cyd@stupidchicken.com>
8672
8673 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
8674 invisible text covered with an ellipsis.
8675
bbb9fc1f
RS
86762008-01-25 Richard Stallman <rms@gnu.org>
8677
8678 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
8679 jump back to beginning. Move some other initializations after that.
8680 (Qwindow_text_change_functions, Vwindow_text_change_functions):
8681 New variables.
8682 (syms_of_xdisp): Init them.
8683
8684 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
8685
0975aa24
SM
8686 * buffer.c (reset_buffer_local_variables):
8687 Implement `permanent-local-hook'.
bbb9fc1f 8688 (Qpermanent_local_hook): New variable.
0975aa24 8689 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 8690
79235cbe
MA
86912008-01-25 Michael Albinus <michael.albinus@gmx.de>
8692
8693 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
8694
ccd8f7fe
TTN
86952008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
8696
8697 * fns.c (Fclrhash): Return TABLE.
8698
dfbe40f2 86992008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
8700
8701 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
8702 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
8703 is set even without positional changes.
8704 (x_scroll_bar_clear): Set bar->redraw_needed_p.
8705
8706 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
8707
dfbe40f2 87082008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 8709
d6169680
JR
8710 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
8711
602e142f
JR
8712 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
8713 the unicode range available in MULE by locale-coding-system.
c041e2d1 8714 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
8715 earlier.
8716
dfbe40f2 87172008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
8718
8719 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
8720 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 8721 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
8722 when used on child processes.
8723
8c7a4ac5
MA
87242008-01-21 Michael Albinus <michael.albinus@gmx.de>
8725
e0df1b73 8726 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 8727 Fdbus_method_return.
e0df1b73 8728 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 8729 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 8730 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 8731
8abe0f97
MR
87322008-01-20 Martin Rudalics <rudalics@gmx.at>
8733
8734 * undo.c (undo_inhibit_record_point): New variable.
8735 (syms_of_undo): Initialize it.
8736 (record_point): Don't record point when undo_inhibit_record_point
8737 is set.
8738
c3b232e4
SM
87392008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
8740
e69c4cae
SM
8741 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
8742
823e0ebb
SM
8743 * xdisp.c (Qauto_hscroll_mode): New var.
8744 (syms_of_xdisp): Initialize it.
8745 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
8746 window's buffer.
8747 (hscroll_windows): Don't check automatic_hscrolling_p here.
8748
c3b232e4
SM
8749 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
8750 vscroll if we're setting window-buffer to the value it already has.
8751
76ed5e01
DN
87522008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
8753
8754 * m/intel386.h: Remove references to XENIX.
8755
55e6d9b2
AS
87562008-01-17 Andreas Schwab <schwab@suse.de>
8757
8758 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
8759 instead of HAVE_X86_64_LIB64_DIR.
8760 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
8761
b16ed52d
GM
87622008-01-17 Glenn Morris <rgm@gnu.org>
8763
8764 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
8765 to HAVE_X86_64_LIB64_DIR.
8766
6bed5c4a
DN
87672008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
8768
8769 * s/irix3-3.h:
8770 * s/irix4-0.h:
8771 * s/386-ix.h:
8772 * s/domain.h:
8773 * s/hpux9-x11r4.h:
8774 * s/hpux9shxr4.h: Remove files for systems no longer supported.
8775
8776 * sysdep.c: Remove code containing references to symbols defined
8777 by unsupported systems.
8778
fdecf907
GM
87792008-01-16 Glenn Morris <rgm@gnu.org>
8780
8781 * coding.c (select-safe-coding-system-function): Doc fix.
8782
9292328f
GM
87832008-01-15 Glenn Morris <rgm@gnu.org>
8784
8785 * config.in: Revert 2008-01-13 change: this is a generated file.
8786
944df511
MO
87872008-01-13 Tom Tromey <tromey@redhat.com>
8788
8789 * lisp.h: Fix typo.
8790
8111ec05
DN
87912008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8792
f40f5dc3
DN
8793 * m/sequent-ptx.h:
8794 * m/sequent.h:
8795 * s/ptx.h:
8796 * s/ptx4-2.h:
8797 * s/ptx4.h: Remove files for systems no longer supported.
8798
ce20b664 8799 * callproc.c (Fcall_process): Fix previous change.
8111ec05 8800
e39a993c
DN
88012008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8802
052e457f 8803 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 8804
290afd83
JB
8805 * m/mips.h:
8806 * m/intel386.h:
e39a993c
DN
8807 * callproc.c:
8808 * config.in:
8809 * ecrt0.c:
8810 * emacs.c:
8811 * fileio.c:
8812 * frame.c:
8813 * getpagesize.h:
8814 * keyboard.c:
8815 * lread.c:
8816 * process.c:
8817 * puresize.h:
8818 * sysdep.c:
8819 * systty.h:
8820 * syswait.h:
8821 * unexec.c:
8822 * xdisp.c:
8823 * alloc.c: Remove code containing references to symbols defined by
8824 unsupported systems.
8825
81cd7687
KH
88262008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
8827
8828 * coding.c (detect_coding_mask): Fix previous change.
8829
218b3b76
KH
88302008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
8831
8832 * coding.c (detect_coding_iso2022): New arg
8833 latin_extra_code_state. Allow Latin extra codes only
8834 when *latin_extra_code_state is nonzero.
8835 (detect_coding_mask): If there is a NULL byte, detect the encoding
8836 as UTF-16 or binary. If Latin extra codes exist, detect the
8837 encoding as ISO-2022 only when there's no other proper encoding is
8838 found.
8839
59ce725a 88402008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 8841
59ce725a
MB
8842 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
8843 #ifdef MAC_OS.
048addec 8844
59ce725a 88452008-01-08 Richard Stallman <rms@gnu.org>
048addec 8846
59ce725a 8847 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 8848
8290574e
NR
88492008-01-06 Nick Roberts <nickrob@snap.net.nz>
8850
a0a3805c 8851 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
8852 menu bar in parentheses.
8853
f3041af1
DN
88542008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
8855
8856 * m/7300.h:
8857 * m/acorn.h:
8858 * m/alliant-2800.h:
8859 * m/alliant.h:
8860 * m/alliant1.h:
8861 * m/alliant4.h:
8862 * m/altos.h:
8863 * m/amdahl.h:
8864 * m/apollo.h:
8865 * m/att3b.h:
8866 * m/aviion-intel.h:
8867 * m/aviion.h:
8868 * m/celerity.h:
8869 * m/clipper.h:
8870 * m/cnvrgnt.h:
8871 * m/convex.h:
8872 * m/cydra5.h:
8873 * m/delta88k.h:
8874 * m/dpx2.h:
8875 * m/dual.h:
8876 * m/elxsi.h:
8877 * m/f301.h:
8878 * m/gould-np1.h:
8879 * m/gould.h:
8880 * m/i860.h:
8881 * m/ibmps2-aix.h:
8882 * m/ibmrt-aix.h:
8883 * m/ibmrt.h:
8884 * m/irist.h:
8885 * m/is386.h:
8886 * m/isi-ov.h:
8887 * m/mega68.h:
8888 * m/mg1.h:
8889 * m/news-r6.h:
8890 * m/news-risc.h:
8891 * m/news.h:
8892 * m/nh3000.h:
8893 * m/nh4000.h:
8894 * m/ns16000.h:
8895 * m/ns32000.h:
8896 * m/nu.h:
8897 * m/orion.h:
8898 * m/orion105.h:
8899 * m/paragon.h:
8900 * m/pfa50.h:
8901 * m/plexus.h:
8902 * m/pyramid.h:
8903 * m/pyrmips.h:
8904 * m/sh3el.h:
8905 * m/sps7.h:
8906 * m/sr2k.h:
8907 * m/stride.h:
8908 * m/sun1.h:
8909 * m/sun2.h:
8910 * m/sun3-68881.h:
8911 * m/sun3-fpa.h:
8912 * m/sun3-soft.h:
8913 * m/sun3.h:
8914 * m/sun386.h:
8915 * m/symmetry.h:
8916 * m/tad68k.h:
8917 * m/tahoe.h:
8918 * m/targon31.h:
8919 * m/tek4300.h:
8920 * m/tekxd88.h:
8921 * m/tower32.h:
8922 * m/tower32v3.h:
8923 * m/ustation.h:
8924 * m/wicat.h:
8925 * m/xps100.h:
8926 * s/cxux.h:
8927 * s/cxux7.h:
8928 * s/dgux.h:
8929 * s/dgux4.h:
8930 * s/dgux5-4-3.h:
8931 * s/dgux5-4r2.h:
8932 * s/esix.h:
8933 * s/esix5r4.h:
8934 * s/hiuxmpp.h:
8935 * s/hiuxwe2.h:
8936 * s/iris3-5.h:
8937 * s/iris3-6.h:
8938 * s/isc2-2.h:
8939 * s/isc3-0.h:
8940 * s/isc4-0.h:
8941 * s/isc4-1.h:
8942 * s/newsos5.h:
8943 * s/newsos6.h:
8944 * s/osf1.h:
8945 * s/osf5-0.h:
8946 * s/riscix1-1.h:
8947 * s/riscix12.h:
8948 * s/sco4.h:
8949 * s/sco5.h:
8950 * s/sunos4-0.h:
8951 * s/sunos4-1.h:
8952 * s/sunos413.h:
8953 * s/sunos4shr.h:
8954 * s/umax.h:
8955 * s/unipl5-2.h:
8956 * s/xenix.h:
8957 * cxux-crt0.s:
8958 * unexapollo.c:
8959 * unexconvex.c:
8960 * unexenix.c:
8961 * unexsni.c: Remove files for systems no longer supported.
8962
8963 * m/intel386.h: Remove references to unsupported systems.
8964
8965 * w32.c (get_emacs_configuration): Remove reference to i860.
8966
8967 * sysdep.c: Remove dead code.
8968
d35e1cd7
DN
89692008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
8970
8971 * s/rtu.h:
a0a3805c 8972 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 8973
abe136ee
MA
89742008-01-04 Michael Albinus <michael.albinus@gmx.de>
8975
8976 * dbusbind.c (Fdbus_method_return): New function.
8977 (xd_read_message): Add the serial number to the event.
8978 (Fdbus_register_method): Activate the function.
8979
87df3c32
SM
89802008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
8981
8982 * keyboard.c (read_key_sequence): Fix typo.
8983
5125905e
MA
89842008-01-03 Michael Albinus <michael.albinus@gmx.de>
8985
8986 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
8987 (xd_signature, xd_append_arg): Handle element type detection for
8988 empty arrays.
8989 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
8990 SDATA () calls; this must be solved more general.
8991 (Fdbus_register_signal): Use SBYTES instead of strlen.
8992
8bba1b5c
MH
89932008-01-03 Magnus Henoch <magnus@zemdatav>
8994
8995 * dbusbind.c (xd_append_arg): Use unsigned char instead of
8996 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 8997 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 8998
a0a3805c 89992007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
9000
9001 * dbusbind.c (xd_read_message): Use non-static input_event struct.
9002
a271e124
MH
90032007-12-31 Magnus Henoch <mange@freemail.hu>
9004
9005 * dbusbind.c (xd_signature): Signature of variant is just "v".
9006
17bc8f94
MA
90072007-12-30 Michael Albinus <michael.albinus@gmx.de>
9008
87df3c32 9009 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 9010 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
9011 (XD_ERROR, XD_DEBUG_MESSAGE)
9012 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
9013 (xd_append_arg): Part for basic D-Bus types rewitten.
9014 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
9015 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
9016 appropriate.
9017 (xd_read_message): Return Qnil. Don't signal an error; it is not
9018 useful during event reading.
9019 (Fdbus_register_signal): Signal an error if the check for
9020 FUNCTIONP fails.
9021 (Fdbus_register_method): New function. The implementation is not
9022 complete, the call of the function signals an error therefore.
9023 (Fdbus_unregister_object): New function, renamed from
9024 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 9025 the object is not well formed.
17bc8f94 9026
dd6f2802
RS
90272007-12-30 Richard Stallman <rms@gnu.org>
9028
9029 * textprop.c (get_char_property_and_overlay):
9030 Signal error if POSITION is out of range in a buffer.
9031
1da8a031
MR
90322007-12-29 Martin Rudalics <rudalics@gmx.at>
9033
9034 * w32fns.c (Fx_create_frame): Make copy of frame parameters
9035 because the original parameters are in pure storage now.
9036
5742be86
YM
90372007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9038
9039 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
9040
b014713c
EZ
90412007-12-22 Eli Zaretskii <eliz@gnu.org>
9042
b17f53ab
MB
9043 * callint.c (syms_of_callint) <command-history>: Add reference to
9044 history-length in the doc string.
048addec 9045
b17f53ab 90462007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 9047
b17f53ab
MB
9048 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
9049 before passing as wParam.
048addec 9050
9af5078b
MA
90512007-12-22 Michael Albinus <michael.albinus@gmx.de>
9052
9053 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
9054 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
9055 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
9056 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
9057 as number.
9058 (Fdbus_call_method): Fix docstring.
9059
87cf1a39
MA
90602007-12-21 Michael Albinus <michael.albinus@gmx.de>
9061
9062 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
9063 New macros.
87df3c32 9064 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
9065 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
9066 Simplify.
87cf1a39
MA
9067 (xd_signature): New function.
9068 (xd_append_arg): Compute also signatures. Major rewrite.
9069 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
9070 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
9071 Check for signatures of arguments.
87cf1a39 9072
54371585
MA
90732007-12-19 Michael Albinus <michael.albinus@gmx.de>
9074
9075 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
9076 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
9077 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
9078 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
9079 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 9080 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
9081 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
9082 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 9083 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
9084 (xd_append_arg): New function.
9085 (Fdbus_call_method, Fdbus_send_signal): Apply it.
9086
f5306ca3
MA
90872007-12-16 Michael Albinus <michael.albinus@gmx.de>
9088
9089 * dbusbind.c (top): Include <stdio.h>.
9090 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
9091 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
9092 (Fdbus_register_signal): Rename unique_name to uname.
9093 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
9094 non-existing unique name. Fix typos in matching rule. Return an
9095 object which is useful in Fdbus_unregister_signal.
9096 (Fdbus_unregister_signal): Reimplementation, in order to remove
9097 only the corresponding entry.
9098 (Vdbus_registered_functions_table): Change the order of entries.
9099 Apply these changes in xd_read_message and Fdbus_register_signal.
9100
77a28bbf
AS
91012007-12-16 Andreas Schwab <schwab@suse.de>
9102
9103 * fileio.c (Finsert_file_contents): Fix overflow check to not
9104 depend on undefined integer overflow.
9105
2e3566d8
JR
91062007-12-14 Jason Rumney <jasonr@gnu.org>
9107
9108 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
9109 for characters above 127.
9110
bf254037
JR
91112007-12-13 Jason Rumney <jasonr@gnu.org>
9112
9113 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
9114 before dereferencing array.
9115 (lookup_vk_code): Remove zero comparison.
9116
eb7c7bf5
MA
91172007-12-14 Michael Albinus <michael.albinus@gmx.de>
9118
9119 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
9120 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
9121 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
9122 (xd_read_message, Fdbus_register_signal): Split expressions into
9123 multiple lines before operators "&&" and "||", according to the
9124 GNU Coding Standards.
9125
34fb0fc9
EZ
91262007-12-14 Eli Zaretskii <eliz@gnu.org>
9127
9128 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
9129
c7d97628
JL
91302007-12-12 Juri Linkov <juri@jurta.org>
9131
9132 * buffer.c (Frename_buffer): In interactive spec replace
9133 `read-buffer' with `read-string' that uses `buffer-name-history'
9134 as history, and the current buffer's name as default.
9135
3709505e
SM
91362007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
9137
9138 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
9139 manipulating the backtrace manually.
9140 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
9141 (struct backtrace, backtrace_list): Remove.
9142 (command_loop_1): Remove dead var `no_direct'.
9143
9144 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
9145 preserve non-built-in buffer-local variables.
9146 (Fkill_all_local_variables): Don't re-create&re-set permanent
9147 buffer-local variables.
9148
e2bec886
JL
91492007-12-09 Juri Linkov <juri@jurta.org>
9150
9151 * buffer.c (Frename_buffer): Change interactive spec from "s" to
9152 Lisp code that uses `read-buffer' with current buffer as default.
9153
a31d47c7
MA
91542007-12-08 Michael Albinus <michael.albinus@gmx.de>
9155
9156 * dbusbind.c (xd_read_message): Generate an event for every
9157 registered handler. There might be several handlers registered
9158 for the same signal.
9159 (Fdbus_register_signal): Don't overwrite a registration for the
9160 same signal. Add a new registration if handlers are different.
9161 (Vdbus_registered_functions_table): Rework doc string.
9162
52da95fa
MA
91632007-12-07 Michael Albinus <michael.albinus@gmx.de>
9164
9165 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
9166 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
9167 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
9168 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
9169 Unify argument lists.
a0a3805c 9170 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
9171 arguments and hash table keys. Use unique name for service.
9172 (Fdbus_unregister_signal): Remove checks.
9173 (Vdbus_registered_functions_table): Fix doc string.
9174
e5e76c04 91752007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
9176
9177 * process.c (make_process): Initialize pty_flag to 0.
9178
e5e76c04 91792007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
9180
9181 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
9182 specified XBMs.
9183
e5e76c04 91842007-12-05 Richard Stallman <rms@gnu.org>
048addec 9185
e5e76c04 9186 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 9187
e5e76c04 91882007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9189
e5e76c04
MB
9190 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
9191 New variable.
9192 (mac_try_close_socket) [MAC_OSX]: New function.
9193 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
9194 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 9195
e5e76c04
MB
9196 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
9197 Use mac_try_close_socket.
048addec 9198
e5e76c04 91992007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9200
e5e76c04
MB
9201 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
9202 reloc_base.
9203 (copy_dysymtab): Compute relocation base here.
9204 (rebase_reloc_address) [__ppc64__]: New function.
9205 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
9206 changed.
048addec 9207
e5e76c04 92082007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 9209
e5e76c04 9210 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 9211
e5e76c04 92122007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9213
e5e76c04
MB
9214 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
9215 __objc_* sections.
9216 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 9217
96faeb40
MA
92182007-12-05 Michael Albinus <michael.albinus@gmx.de>
9219
9220 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
9221 Move check for Vdbus_registered_functions_table to
9222 xd_read_queued_messages.
9223 (xd_read_queued_messages): Protect xd_read_message calls by
9224 internal_condition_case_1.
9225
39abdd4a
MA
92262007-12-04 Michael Albinus <michael.albinus@gmx.de>
9227
87df3c32 9228 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 9229 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 9230 (Vdbus_intern_symbols): Remove.
39abdd4a 9231 (Vdbus_registered_functions_table): New hash table.
87df3c32 9232 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 9233 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 9234 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
9235 Vdbus_registered_functions_table.
9236
880820fe 92372007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
9238
9239 * xterm.c: Update URL to Window Manager Specification in comment.
9240
033b73e2
MA
92412007-12-02 Michael Albinus <michael.albinus@gmx.de>
9242
9243 * config.in (HAVE_DBUS): Add.
9244
a0a3805c 9245 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
9246 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
9247 (obj): Add $(DBUS_OBJ).
9248 (LIBES): Add $(DBUS_LIBS).
9249 (dbusbind.o): New target.
9250
9251 * dbusbind.c: New file.
9252
9253 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
9254
9255 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 9256 (Qdbus_event): New Lisp symbol.
033b73e2 9257 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 9258 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
9259 (keys_of_keyboard ): Define dbus-event.
9260
9261 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
9262
39d0bf74
RS
92632007-12-01 Richard Stallman <rms@gnu.org>
9264
9265 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
9266
f3157c65
JR
92672007-11-30 Jason Rumney <jasonr@gnu.org>
9268
9269 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
9270 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
9271 (w32_face_attributes): Don't use color indexes that are out of range.
9272 Only reverse the default colors.
f3157c65
JR
9273
9274 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
9275 WINDOWSNT.
9276
9277 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
9278
b510360c
JR
92792007-11-29 Jason Rumney <jasonr@gnu.org>
9280
9281 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
9282 (w32_face_attributes): Use Vtty_defined_color_alist to determine
9283 if the terminal colors are initialized.
9284 (unspecified_fg, unspecified_bg): Remove unused declarations.
9285
4b7ab1c4
AS
92862007-11-29 Andreas Schwab <schwab@suse.de>
9287
9288 * keyboard.c (apply_modifiers): Fix typo.
9289
4bb6c266
RS
92902007-11-29 Richard Stallman <rms@gnu.org>
9291
9292 * keymap.c (Fcurrent_local_map): Doc fix.
9293
aa44cd84
GM
92942007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
9295
9296 * s/gnu-kfreebsd.h: New file.
9297
21ec2c43
SM
92982007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
9299
cc648cef
SM
9300 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
9301 Don't cast redundantly.
9302
21ec2c43
SM
9303 * keyboard.c (KEY_TO_CHAR): New macro.
9304 (parse_modifiers, apply_modifiers): Accept integer arguments.
9305 (read_key_sequence): Use them to unify the "shift->unshift" mapping
9306 for chars and symbol keys.
9307 After doing such remapping, apply function-key-map again.
9308
73e72da4
DN
93092007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
9310
9311 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
9312 compiled anymore.
9313
254693ff
AS
93142007-11-26 Andreas Schwab <schwab@suse.de>
9315
9316 * process.c (list_processes_1): Fix indentation level of the
9317 command column.
9318
ff6e6ac8
AS
93192007-11-23 Andreas Schwab <schwab@suse.de>
9320
9321 * editfns.c (Fformat): Handle %c specially since it requires the
9322 argument to be of type int.
9323
f7cf8b20
SM
93242007-11-23 Markus Triska <markus.triska@gmx.at>
9325
9326 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 9327 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 9328
569c11e3
SM
93292007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
9330
8787dd73
SM
9331 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
9332 (find_symbol_value): Use do_symval_forwarding.
9333
569c11e3
SM
9334 * data.c (set_internal): Set the value in the `cons-cell' (for
9335 Buffer_Local_values) not only for frame-local variables.
9336
6af1696d
AS
93372007-11-22 Andreas Schwab <schwab@suse.de>
9338
9339 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
9340 values to sprintf.
9341 * keymap.c (Fsingle_key_description): Likewise.
9342 * print.c (print_object): Likewise.
9343
880820fe 93442007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
9345
9346 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
9347 file for image is nil.
9348
7c401d15
DN
93492007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
9350
9351 * term.c: Include stdarg.h.
569c11e3 9352 (fatal): Implement using varargs.
a0a3805c 9353 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 9354
64e16c3c
SM
93552007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
9356
9357 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
9358 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
9359 Update call to buffer_slot_type_mismatch.
9360 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
9361 (buffer_slot_type_mismatch): Update.
9362 * buffer.c (buffer_local_types): Remove.
9363 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
9364 (defvar_per_buffer): Set the type in the buffer_objfwd.
9365
d4aa48db 93662007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 9367
64e16c3c
SM
9368 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
9369 CreateFileMapping returns NULL on failure.
5f42a7eb 9370
d4aa48db 93712007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 9372
d4aa48db
MB
9373 * search.c (Fset_match_data): Remove the `evaporate' feature.
9374 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 9375
bdae0540
JR
93762007-11-21 Jason Rumney <jasonr@gnu.org>
9377
9378 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
9379
9380 * w32console.c (w32con_write_glyphs): Remove unused variables.
9381
202c09a8
DN
93822007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
9383
b951420f
DN
9384 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
9385
202c09a8
DN
9386 * s/darwin.h (MULTI_KBOARD): Remove.
9387
9388 * macfns.c (x_create_tip_frame, Fx_create_frame)
9389 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
9390
bae72c12
SM
93912007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
9392
e7c10f83
SM
9393 * buffer.c (Fbuffer_local_value): Remove redundant test.
9394 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
9395 than in `current-buffer' to match the comment.
9396 Do the swap using swap_in_global_binding.
9397
136eb6ed
SM
9398 * data.c (store_symval_forwarding, set_internal):
9399 * eval.c (specbind): Remove dead code.
9400
bae72c12
SM
9401 * coding.c (detect_coding, Fupdate_coding_systems_internal):
9402 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
9403 Since we do not want to see internal Lisp_*fwd objects here.
9404
880820fe 94052007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 9406
3d66b985
JD
9407 * sysdep.c (init_system_name): Use getaddrinfo if available.
9408
95fbaefc
JD
9409 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
9410 (x_scroll_bar_note_movement): start, end, with, height in struct
9411 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
9412
6c1d8cb6
DN
94132007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
9414
9415 * puresize.h (BASE_PURESIZE): Increase to 1190000.
9416
30f95089
SM
94172007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
9418
66b04bd4
SM
9419 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
9420 This undoes Richard's change of 14-Oct-2002.
9421
6d3f2bb2
SM
9422 * alloc.c (allocate_other_vector):
9423 * lisp.h (allocate_other_vector): Remove.
9424
b05b4e27
SM
9425 * window.c (struct save_window_data): Move non-lisp data to the end
9426 and make it `int' rather than Lisp_Object.
9427 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
9428 Done wrap/unwrap integer values.
9429 (Fset_window_configuration, compare_window_configurations):
9430 Update use of fields to their new types.
9431
056ce195
SM
9432 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
9433 Turn integer fields into `int'. Merge x_window_low and x_window_high.
9434 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
9435 (SET_SCROLL_BAR_X_WINDOW): Remove.
9436 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
9437 Access the new x_window field directly.
9438 * xterm.c (x_scroll_bar_create): Use a pseudovector.
9439 Don't wrap/unwrap integers into Lisp_Objects.
9440 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
9441 (x_scroll_bar_report_motion):
9442 Don't wrap/unwrap integers into Lisp_Objects.
9443 (x_term_init): Use SDATA.
9444 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
9445 (x_scroll_bar_set_handle, x_scroll_bar_remove)
9446 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
9447 (x_scroll_bar_report_motion, x_scroll_bar_clear):
9448 * xfns.c (x_set_background_color):
9449 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
9450 Access the new x_window field directly.
9451
30f95089
SM
9452 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
9453 (allocate_pseudovector): Make non-static.
6d3f2bb2 9454
30f95089
SM
9455 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
9456 (allocate_pseudovector): Declare.
6f69e89b 9457 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 9458
9b6112e8
AS
94592007-11-15 Andreas Schwab <schwab@suse.de>
9460
30f95089
SM
9461 * editfns.c (Fformat): Correctly format EMACS_INT values.
9462 Also take precision into account when formatting an integer.
0f860bd7 9463
9b6112e8
AS
9464 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
9465
262fcd41
SM
94662007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
9467
58da34c7
SM
9468 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
9469 (syms_of_keyboard): Defsubr it.
9470
262fcd41
SM
9471 * data.c (swap_in_global_binding): Fix longstanding bug where
9472 store_symval_forwarding was not called with the right second argument,
9473 thus causing objfwd-ing from being dropped.
9474
d29a9848
JB
94752007-11-14 Juanma Barranquero <lekktu@gmail.com>
9476
9477 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
9478 (Fx_display_pixel_height, Fx_display_planes)
9479 (Fx_display_color_cells, Fx_server_max_request_size)
9480 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9481 (Fx_display_visual_class, Fx_display_save_under):
9482 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
9483 (Fx_display_pixel_height, Fx_display_planes)
9484 (Fx_display_color_cells, Fx_server_max_request_size)
9485 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
9486 (Fx_display_mm_height, Fx_display_mm_width)
9487 (Fx_display_backing_store, Fx_display_visual_class)
9488 (Fw32_select_font, Fx_display_save_under):
9489 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
9490 (Fx_display_pixel_height, Fx_display_planes)
9491 (Fx_display_color_cells, Fx_server_max_request_size)
9492 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9493 (Fx_display_save_under): Fix typos in docstrings.
9494
74084731
JB
94952007-11-14 Juanma Barranquero <lekktu@gmail.com>
9496
9497 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
9498 corresponding to deleted entries; they are an implementation detail.
9499 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
9500 Remove variables.
9501 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
9502 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
9503 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
9504 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
9505 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 9506 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 9507 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
9508 Fix typos in docstrings.
9509 (Fx_server_version): Reflow docstring.
9510 (Fw32_shell_execute): Doc fixes.
74084731 9511
fb053a1f
JB
95122007-11-13 Juanma Barranquero <lekktu@gmail.com>
9513
9514 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
9515 if w32_parse_hot_key returned nil.
9516
a457417e 95172007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 9518
a457417e 9519 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 9520
4b219faa
JR
95212007-11-09 Jason Rumney <jasonr@gnu.org>
9522
9523 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
9524
9525 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
9526
9527 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
9528 Remove W32_SCROLL_BAR_CLICK_EVENT.
9529
9530 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
9531 Add MULTIMEDIA_KEY_EVENT.
9532
9533 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
9534 (lispy_multimedia_keys) [WINDOWSNT]: New array.
9535 (make_lispy_event) [WINDOWSNT]: Use it to translate
9536 MULTIMEDIA_KEY_EVENT.
9537
9538 * w32term.h (WM_APPCOMMAND): Define if not already.
9539 (GET_APPCOMMAND_LPARAM): Likewise.
9540
9541 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
9542 WM_APPCOMMAND.
9543
9544 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
9545 (syms_of_w32fns): Export and initialize it.
9546 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
9547
c12ecb0a 95482007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
9549
9550 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
9551 twice.
9552
9553 * xdisp.c (handle_face_prop): Fix last change.
9554
c12ecb0a 95552007-11-09 Richard Stallman <rms@gnu.org>
048addec 9556
c12ecb0a
MB
9557 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
9558 not just for after-strings and before-strings.
9559 Call face_for_overlay_string and pass the overlay to it.
9560 (handle_display_prop): Determine whether property came from an overlay.
9561 Pass OVERLAY arg to handle_single_display_spec.
9562 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
9563 (load_overlay_strings): Fill in it->string_overlays.
9564 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 9565
c12ecb0a
MB
9566 * xfaces.c (face_for_overlay_string): Function renamed from
9567 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 9568
c12ecb0a
MB
9569 * dispextern.h (struct it): New elt string_overlays.
9570 New elt from_overlay, also in stack.
9571 Rearrange a few elements.
9572 (face_for_overlay_string): Decl renamed from
9573 face_at_buffer_position_no_overlays, and add argument.
15fff01d 9574
c12ecb0a 95752007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 9576
c12ecb0a
MB
9577 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
9578 to get the base face for an overlay string.
0d8466cc 9579
c12ecb0a 9580 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 9581
c12ecb0a 9582 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 9583
c12ecb0a 9584 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 9585
c12ecb0a 95862007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 9587
c12ecb0a
MB
9588 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
9589 Fix conversion from Lisp object to ATSUFontID.
07025a55 9590
c12ecb0a 95912007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 9592
c12ecb0a 9593 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 9594
c12ecb0a 95952007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 9596
c12ecb0a
MB
9597 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
9598 Don't assume regions are aligned to page boundary.
9599 (print_load_command_name): Add LC_UUID if defined.
3a232704 9600
c12ecb0a 96012007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 9602
c12ecb0a 9603 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 9604
b8ddfbcc
JR
96052007-11-07 Jason Rumney <jasonr@gnu.org>
9606
9607 * s/windows95.h: Remove.
9608
880820fe 96092007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
9610
9611 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
9612 abort with a message on unhandled store_type values.
9613
880820fe 96142007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
9615
9616 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
9617 Remove HAVE_X11R5 and HAVE_X11R4.
9618
04a697fe
DN
96192007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9620
9621 * Makefile.in: Remove references to sunfns.c and sunfns.o.
9622
880820fe 96232007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
9624
9625 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 9626 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
9627 x_set_glyph_string_gc from x_draw_glyph_string.
9628
07e5c0b0
DN
96292007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9630
2a2e8de7 9631 * sunfns.c: Remove file.
07e5c0b0
DN
9632
9633 * m/sun386.h:
9634 * m/sun2.h:
9635 * m/sparc.h: Remove Sun windows code.
9636
1bc973c2
SM
96372007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
9638
9639 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
9640 (init_keyboard): Set current_kboard's window-system to nil.
9641 (tty_read_avail_input): Typo.
9642 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
9643
c22140f6
DN
96442007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
9645
9646 * s/usg5-4.h:
9647 * s/usg5-3.h:
9648 * s/ptx.h:
9649 * m/is386.h:
9650 * m/ibmps2-aix.h:
2a2e8de7 9651 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
9652
9653 * dispnew.c (syms_of_display): Don't mention version 10.
9654
660a8219
JB
96552007-10-28 Juanma Barranquero <lekktu@gmail.com>
9656
9657 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
9658 ($(BLD)/abbrev.$(O)): Remove.
9659
e047f448
SM
96602007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
9661
9662 Rewrite abbrev.c in Elisp.
9663 * image.c (Qcount): Don't declare as extern.
9664 (syms_of_image): Initialize and staticpro `Qcount'.
9665 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
9666 * emacs.c (main): Don't call syms_of_abbrev.
9667 * Makefile.in (obj): Remove abbrev.o.
9668 (abbrev.o): Remove.
9669 * abbrev.c: Remove.
9670
67b73e3a
MR
96712007-10-26 Martin Rudalics <rudalics@gmx.at>
9672
9673 * window.c (window_min_size_2): Don't count header-line.
9674
e3d7bd83
DN
96752007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
9676
9677 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 9678 field to take advantage of the available space. Group all the
e3d7bd83
DN
9679 chars together to reduce wasted space due to padding.
9680
a3547743
JB
96812007-10-26 Juanma Barranquero <lekktu@gmail.com>
9682
e298936f
JB
9683 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
9684
d3d47262
JB
9685 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
9686 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
9687 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
9688 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
9689 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
9690 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
9691 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
9692 (last_marked, mark_object_loop_halt): Make static.
9693
a3547743
JB
9694 * frame.c (syms_of_frame) <delete-frame-functions>:
9695 Fix typo in docstring.
9696
14c71d8b
JB
96972007-10-25 Juanma Barranquero <lekktu@gmail.com>
9698
9699 * w32.c (init_environment): Fix tiny memory leak.
66199f74 9700 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 9701
70b8d0a4
SM
97022007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
9703
9704 Make `window-system' into a keyboard-local variable (rather than
9705 frame-local as done originally by multi-tty).
9706
9707 * keyboard.h (struct kboard): Add Vwindow_system.
9708 * keyboard.c (init_kboard): Set a default for Vwindow_system.
9709 (mark_kboards): Mark Vwindow_system.
9710
9711 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
9712 (init_display): Don't set the obsolete `window-system' frame-param.
9713
9714 * xterm.c (x_term_init):
9715 * w32term.c (w32_create_terminal):
9716 * term.c (init_tty): Set Vwindow_system.
9717 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
9718 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
9719
9720 * xfns.c (Fx_create_frame, x_create_tip_frame):
9721 * w32fns.c (Fx_create_frame, x_create_tip_frame):
9722 * macfns.c (Fx_create_frame):
9723 Don't set the obsolete `window-system' frame-param.
9724
9725 * frame.h (Qwindow_system): Remove.
9726 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
9727 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
9728
fdc90613 97292007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 9730
fdc90613
MB
9731 * frame.c (x_figure_window_size): For fullscreen case,
9732 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 9733
fdc90613 9734 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 9735
fdc90613 9736 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 9737
7357cb04
SM
97382007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
9739
98228e72
SM
9740 * process.c (unwind_request_sigio): Only define if __ultrix__.
9741
1baf6db9
SM
9742 * callproc.c (child_setup): Remove spurious *.
9743
4d0ac3d7
SM
9744 * lisp.h (Fget_text_property): Declare.
9745 (have_menus_p): Declare it here rather than in sys-dep header files.
9746 * macterm.h (have_menus_p):
9747 * msdos.h (have_menus_p):
9748 * xterm.h (have_menus_p): Remove.
9749
7357cb04
SM
9750 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9751 (Fmake_variable_frame_local): Just check the variable's const-ness
9752 rather than checking nil or t.
9753
866e6dd6
JR
97542007-10-22 Jason Rumney <jasonr@gnu.org>
9755
b00afeae
JR
9756 * w32fns.c: Include math.h.
9757 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 9758
c8f7c76b
JR
9759 * s/ms-w32.h (HAVE_STDLIB_H): Define.
9760 (abort): Redefinition moved to nt/config.nt.
9761
866e6dd6
JR
9762 * m/windowsnt.h: Remove.
9763
e79beb56
JB
97642007-10-22 Juanma Barranquero <lekktu@gmail.com>
9765
9766 * emacs.c (Fdump_emacs): Fix typo in message.
9767 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
9768 <installation-directory>: Reflow docstring.
9769
fb30dfd2
JL
97702007-10-22 Juri Linkov <juri@jurta.org>
9771
9772 * minibuf.c: Allow minibuffer default to be a list of default values.
9773 With empty input use the first element of this list as returned default.
e79beb56 9774 (string_to_object)
0f7f11b7 9775 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
9776 (read_minibuf): If defalt is cons, set histstring to its car.
9777 (Fread_string): If default_value is cons, set val to its car.
9778 (Fread_buffer): If def is cons, use its car.
9779 (Fcompleting_read): If defalt is cons, set val to its car.
9780
1f163f28
MA
97812007-10-21 Michael Albinus <michael.albinus@gmx.de>
9782
9783 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
9784
db3534c3
JB
97852007-10-20 Juanma Barranquero <lekktu@gmail.com>
9786
9787 * doc.c (Fdocumentation): Check for advice in all cases.
9788
c6f18a07
CY
97892007-10-19 Chong Yidong <cyd@stupidchicken.com>
9790
9791 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
9792
2a1534d3
RS
97932007-10-19 Richard Stallman <rms@gnu.org>
9794
9795 * doc.c (Fdocumentation): Check for and handle an advised function.
9796
7b82c3b6
JB
97972007-10-19 Juanma Barranquero <lekktu@gmail.com>
9798
9799 * process.c (Fset_process_filter): Doc fix.
9800
3278f20e
SM
98012007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
9802
9803 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
9804 which caused key-translation-map to applied repeatedly (thus breaking
9805 double-mode).
9806
99784d63
SM
98072007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9808
9809 * xselect.c (x_own_selection, x_handle_selection_clear)
9810 (x_clear_frame_selections):
9811 * w32menu.c (list_of_panes, list_of_items):
9812 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
9813 * textprop.c (validate_plist, interval_has_all_properties)
9814 (interval_has_some_properties, interval_has_some_properties_list)
9815 (add_properties, text_property_list):
9816 * process.c (Fget_buffer_process, list_processes_1, status_notify):
9817 * minibuf.c (Fassoc_string):
9818 * macselect.c (x_own_selection, x_clear_frame_selections)
9819 (Fx_disown_selection_internal):
9820 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
9821 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
9822
44bb704d
CY
98232007-10-17 Chong Yidong <cyd@stupidchicken.com>
9824
9825 * process.c: Link to libs for calling res_init() if available.
9826 (Fmake_network_process): Call res_init() before getaddrinfo or
9827 gethostbyname, if possible.
9828
d314756e
SM
98292007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9830
2504022a
SM
9831 * lread.c (read1): Set pvectype for char_tables.
9832
19fa82b9
SM
9833 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
9834 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
9835 Add type checks.
9836 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
9837
d314756e
SM
9838 * alloc.c (free_misc): Use XMISCTYPE.
9839 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
9840
94b9aaa2
GM
98412007-10-17 Glenn Morris <rgm@gnu.org>
9842
9843 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
9844 (syms_of_minibuf): Add Qcompletion_ignore_case.
9845 * dired.c (Qcompletion_ignore_case): Change to external.
9846 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
9847 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
9848 (Fread_file_name): Use it rather than intern'ing.
9849
9850 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
9851 (Fread_coding_system): Ignore case of user input.
9852
da6658e8
YM
98532007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9854
9855 * xdisp.c (handle_display_prop): Ignore display specs after
9856 replacing one when string text is being replaced.
9857 (handle_single_display_spec): Pretend as if characters with display
9858 property haven't been consumed only when buffer text is being replaced.
9859
11fb4bdb
SM
98602007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
9861
9beb8baa
SM
9862 * xfns.c (Fx_create_frame, Fx_display_list):
9863 * window.c (window_fixed_size_p, enlarge_window)
9864 (shrink_window_lowest_first):
9865 * macterm.c (init_font_name_table):
9866 * macfns.c (Fx_create_frame, Fx_display_list):
9867 * lread.c (close_load_descs):
9868 * keyboard.c (read_char_x_menu_prompt):
9869 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
9870 * coding.c (code_convert_region_unwind): Test the type of an object
9871 rather than just !NILP before extracting data from it.
9872
d3f41ff5
SM
9873 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
9874
67ee9f6e
SM
9875 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
9876 (XMISCANY): New macro.
9877 (XMISCTYPE): Use it.
9878 (struct Lisp_Misc_Any): New type.
9879 (union Lisp_Misc): Use it.
9880 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
9881 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
9882 (find_symbol_value, set_internal, default_value, Fset_default)
9883 (Fmake_variable_buffer_local, Fmake_local_variable)
9884 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
9885 (Flocal_variable_if_set_p, Fvariable_binding_locus):
9886 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
9887 * alloc.c (allocate_buffer): Set the size and tag.
9888 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
9889 Use XMISCANY.
9890 (die): Follow the GNU convention for error messages.
9891 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
9892 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
9893 tag any more.
9894 (set_buffer_internal_1):
9895 * frame.c (store_frame_param):
9896 * eval.c (specbind):
9897 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
9898
11fb4bdb
SM
9899 * doc.c (Fsnarf_documentation): Simplify.
9900
decb374a
JB
99012007-10-14 Juanma Barranquero <lekktu@gmail.com>
9902
9903 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
9904 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
9905
b5a40ee7
SM
99062007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
9907
9908 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
9909
35277b03
JB
99102007-10-14 Juanma Barranquero <lekktu@gmail.com>
9911
9912 * eval.c (do_autoload): Don't save autoloads.
9913
9914 * data.c (Ffset): Save autoload of the function being set.
9915
35fdaa62
GM
99162007-10-07 John Paul Wallington <jpw@pobox.com>
9917
9918 * xfns.c (x_create_tip_frame): Set the `display-type' frame
9919 parameter before setting up faces.
9920
1ea40aa2
EZ
99212007-10-13 Eli Zaretskii <eliz@gnu.org>
9922
35fdaa62 9923 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
9924 * keyboard.c (append_tool_bar_item): Reformat last change.
9925
1ea40aa2
EZ
9926 * lisp.h (eabs): Rename from `abs'. All callers changed.
9927
35277b03 99282007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
9929
9930 * buffer.c (add_overlay_mod_hooklist):
9931 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
9932 * fontset.c (make_fontset):
9933 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
9934 (append_tool_bar_item):
9935 * macmenu.c (grow_menu_items):
35fdaa62 9936 * w32menu.c (grow_menu_items):
71d00ce4 9937 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 9938
bc82f120
EZ
99392007-10-13 Eli Zaretskii <eliz@gnu.org>
9940
9941 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
9942 selected frame'' on MSDOS).
9943
d57d5a78
MR
99442007-10-12 Martin Rudalics <rudalics@gmx.at>
9945
9946 * frame.c (Qexplicit_name): New variable.
9947 (x_report_frame_params): Report it in parameter alist.
9948 (syms_of_frame): Intern and staticpro it.
9949
35277b03 99502007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
9951
9952 * macfns.c (x_create_tip_frame): Set terminal for frame.
9953
c7a4b95b
SM
99542007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
9955
26f9c7b7
SM
9956 * frame.c (Qenvironment): Remove.
9957 (syms_of_frame) <Qenvironment>: Don't initialize.
9958 (Fdelete_frame): Don't treat the `environment' param specially.
9959 * frame.h (Qenvironment): Don't declare.
9960 * callproc.c (set_initial_environment): Don't set unused frame param.
9961
c7a4b95b
SM
9962 * frame.c (Fframe_with_environment): Remove.
9963 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 9964
c7a4b95b
SM
9965 * lisp.h (Fframe_with_environment): Don't declare.
9966
c86f7377
JB
99672007-10-10 Juanma Barranquero <lekktu@gmail.com>
9968
9969 * indent.c (indent_tabs_mode, last_known_column)
9970 (last_known_column_modified): Make static.
9971 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
9972
d1b3a122
KY
99732007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
9974
9975 * puresize.h (BASE_PURESIZE): Increase to 1170000.
9976
d57d5a78
MR
99772007-10-09 Jason Rumney <jasonr@gnu.org>
9978
9979 * w32term.c (x_set_window_size): Disable code that attempts to tell
9980 Lisp code about a size change before it actually happens.
9981
81d3d428 99822007-10-09 Richard Stallman <rms@gnu.org>
91175673 9983
81d3d428
MB
9984 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
9985 return HANDLED_RETURN.
91175673 9986
1af74d06 99872007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 9988
1af74d06
MB
9989 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
9990 when there's an unread command event.
e0fead5d 9991
c7a4b95b 9992 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
9993 window autoselection act appropriately when leaving selected frame.
9994 (syms_of_frame): Initialize focus_follows_mouse.
9995 * frame.h (focus_follows_mouse): Extern it.
9996 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 9997 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
9998 * msdos.c (dos_rawgetc): Likewise.
9999 * w32term.c (w32_read_socket): Likewise.
10000 * xterm.c (handle_one_xevent): Likewise.
10001 * xdisp.c (syms_of_xdisp): In doc-string of
10002 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 10003
1af74d06 100042007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 10005
1af74d06
MB
10006 * macterm.c (mac_load_query_font): Fix missing return value.
10007 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
10008 Add BLOCK_INPUT.
c186cdb3 10009
1af74d06 100102007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 10011
1af74d06
MB
10012 * xdisp.c (get_window_cursor_type): Implement documented behavior
10013 for cursor-in-non-selected-windows = t.
c186cdb3 10014
1af74d06 100152007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 10016
1af74d06 10017 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 10018
1af74d06 100192007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 10020
1af74d06 10021 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 10022
1af74d06 10023 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 10024
1af74d06 100252007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 10026
c7a4b95b 10027 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 10028
1af74d06 100292007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 10030
1af74d06 10031 * buffer.c (Foverlays_at): Doc fix.
036e218d 10032
1af74d06 100332007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 10034
1af74d06 10035 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 10036
1af74d06 100372007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 10038
1af74d06 10039 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 10040
1af74d06 10041 * frame.h (enum): Remove trailing comma.
90647b07 10042
8993ad2e 100432007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 10044
1af74d06 10045 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 10046
1af74d06 100472007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 10048
1af74d06 10049 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 10050
1af74d06
MB
10051 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
10052 last-repeatable-command.
10053 (init_kboard): Initialize Vlast_repeatable_command.
10054 (command_loop_1): Set it to real_this_command unless that was
10055 bound to an input event.
10056 (mark_kboards): Mark it.
9fbc32aa 10057
1af74d06 100582007-10-08 Richard Stallman <rms@gnu.org>
036e218d 10059
1af74d06 10060 * eval.c (condition-case): Doc fix.
9fbc32aa 10061
1af74d06 100622007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 10063
1af74d06
MB
10064 * xfaces.c (tty_supports_face_attributes_p): Fix code
10065 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
10066 was copied and not edited.
9fbc32aa 10067
beb9f745
SM
100682007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
10069
c86f7377 10070 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
10071 escape sequences.
10072 * keyboard.h (struct kboard): Add Vinput_decode_map.
10073 Remove Vlocal_key_translation_map.
10074 * keyboard.c (read_key_sequence): Add support for input-decode-map.
10075 (init_kboard): Init input-decode-map.
10076 Replace local-key-translation-map back with key-translation-map.
10077 (syms_of_keyboard): Declare input-decode-map.
10078 Remove local-key-translation-map. Update docstrings.
10079 (mark_kboards): Mark Vinput_decode_map.
10080 Don't mark Vlocal_key_translation_map.
10081 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
10082 Replace local-key-translation-map back with key-translation-map.
10083 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
10084 Bind in input-decode-map rather than function-key-map.
10085
beb9f745
SM
10086 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
10087 This was made redundant by the previous introduction of XSETPVECTYPE.
10088
65342ae3
RS
100892007-10-09 Richard Stallman <rms@gnu.org>
10090
beb9f745 10091 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
10092
100932007-09-29 Richard Stallman <rms@gnu.org>
10094
10095 * eval.c (internal_condition_case_2, internal_condition_case_1)
10096 (internal_condition_case): Reenable abort if x_catching_errors ()
10097 to see if that really happens and why.
10098
6cff77fd
AS
100992007-10-06 Andreas Schwab <schwab@suse.de>
10100
10101 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
10102
bbe6f2aa
JB
101032007-10-04 Juanma Barranquero <lekktu@gmail.com>
10104
10105 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
10106
a390930c
SM
101072007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
10108
10109 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
10110
d6aa1876
SM
101112007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
10112
d0fdb6da
SM
10113 * window.h (struct window):
10114 * window.c (struct save_window_data, struct saved_window):
10115 * termhooks.h (struct terminal):
10116 * process.h (struct Lisp_Process):
10117 * frame.h (struct frame):
10118 * buffer.h (struct buffer):
10119 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
10120 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
10121 The size field of (pseudo)vectors is now unsigned.
10122 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
10123
878f97ff
SM
10124 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
10125 Turn `count' into an integer.
d0fdb6da 10126
878f97ff
SM
10127 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
10128 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
10129 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
10130 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
10131 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
10132
d2029e5b
SM
10133 * alloc.c (allocate_pseudovector): New fun.
10134 (ALLOCATE_PSEUDOVECTOR): New macro.
10135 (allocate_window, allocate_terminal, allocate_frame)
10136 (allocate_process): Use it.
10137 (mark_vectorlike): New function.
10138 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
10139 (mark_terminals): Use it.
10140 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
10141 (Fmake_byte_code): Use XSETPVECTYPE.
10142
10143 * frame.c (Fframe_parameters): Minor simplification.
10144
10145 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
10146
10147 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
10148
10149 * buffer.c (Fget_buffer_create, init_buffer_once):
10150 * lread.c (defsubr):
10151 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
10152
10153 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
10154 defined differently in the m/*.h files.
10155 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
10156 (XSETPVECTYPE): New macro.
10157 (XSETPSEUDOVECTOR): Use it.
10158
d6aa1876
SM
10159 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
10160 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 10161
d6aa1876
SM
10162 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
10163 * lread.c (defvar_per_buffer):
10164 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
10165
10166 * window.c (candidate_window_p): Only consider as visible frames that
10167 are on the same terminal.
10168
10169 * m/ibms390x.h (MARKBIT): Remove unused macro.
10170
88852d45
JB
101712007-10-01 Juanma Barranquero <lekktu@gmail.com>
10172
10173 * lread.c (Fload): Fix typo in docstring.
10174
880820fe 101752007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
10176
10177 * floatfns.c (Fexpt): Manually check for overflows, so that a power
10178 of a non-zero value can't yield zero.
10179
ed0c79c6
SM
101802007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
10181
b870aa61
SM
10182 * term.c (term_clear_mouse_face, term_mouse_highlight)
10183 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
10184
4c37a414
SM
10185 * print.c (safe_debug_print): Use XHASH.
10186
b9466edb
SM
10187 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
10188 Lisp elements such as tags.
10189 (XHASH): New macro.
10190 (EQ): Use it.
10191 (SREF, SSET, STRING_COPYIN): Use SDATA.
10192 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
10193
9c545a55
SM
10194 * alloc.c (mark_terminal): Remove left-over declaration.
10195 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
10196 (allocate_vectorlike): Remove type argument. Adjust callers.
10197 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
10198 Only handle the one remaining MEM_TYPE_VECTORLIKE.
10199
dafc79fa
SM
10200 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
10201 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
10202 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
10203 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
10204 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
10205 Use them.
10206
ed0c79c6
SM
10207 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
10208 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
10209 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
10210
3c81afd4
DN
102112007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
10212
10213 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
10214 loaded by default.
10215
6178ce5e
SM
102162007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
10217
4ce5ab77
SM
10218 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
10219 on this tty.
10220 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
10221
6178ce5e
SM
10222 * term.c (mouse_face_window): Rename from Qmouse_face_window.
10223 Update all users.
10224 (handle_one_term_event): Use Gpm_DrawPointer.
10225 (Fgpm_mouse_start): Rename from Fterm_open_connection.
10226 Signal errors instead of returning nil. Always return nil.
10227 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
10228 Make it a noop if gpm-mouse was not activated.
10229 (syms_of_term): Update names.
10230
bdf5f8ef
SM
102312007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
10232
75a8734b
SM
10233 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
10234 (init_sys_modes): Check that gpm_tty is the current tty.
10235
13559ee0
SM
10236 * alloc.c (allocate_terminal): Set the vector size to only count the
10237 lisp fields. Initialize those to nil.
10238 (mark_object): Don't treat terminals specially.
10239 (mark_terminal): Remove.
10240 (mark_terminals): Use mark_object instead.
10241
ff16b875
SM
10242 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
10243 the GC to the beginning.
10244
83155776
SM
10245 * indent.h:
10246 * indent.c: Use EMACS_INT for ints coming from Elisp data.
10247
bdf5f8ef
SM
10248 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
10249
ec8705b6
JR
102502007-09-25 Jason Rumney <jasonr@gnu.org>
10251
10252 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
10253
10254 * w32console.c (create_w32cons_output): Remove.
10255
10256 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
10257
10258 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
10259 (reset_sys_modes): Use reset_terminal_modes_hook.
10260
7351b242
SM
102612007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
10262
10263 * eval.c (do_autoload): Don't output any message.
10264
16706228
JL
102652007-09-24 Juri Linkov <juri@jurta.org>
10266
10267 * emacs.c (standard_args): Change priority of "--no-splash"
10268 from 40 to 3. Add "--no-desktop" with the same priority.
10269
3ae2e3a3
RS
102702007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
10271
10272 * alloc.c (gc_sweep): Check cons cell mark bits word by word
10273 and optimize the case where they are all 1.
10274
7a58fb43
GM
102752007-09-23 Johannes Weiner <hannes@saeurebad.de>
10276
3ae2e3a3
RS
10277 * lisp.h (abs): Define if not defined.
10278 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
10279 Don't define `abs', since it's defined in lisp.h.
7a58fb43 10280
78048085
EZ
102812007-09-22 Eli Zaretskii <eliz@gnu.org>
10282
c7a4b95b 10283 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
10284 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
10285 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
10286 (init_tty): Use DEV_TTY instead of "/dev/tty".
10287 [WINDOWSNT]: No need to protect from NAME arg being null.
10288
23d4cba5
DN
102892007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
10290
10291 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
10292 up the tty state.
10293
71f44e7a
SM
102942007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10295
10296 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
10297 (gpm_tty): Change its type.
10298 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
10299 (gpm_tty): Change its type and initialize it.
10300 (Fterm_open_connection): Check the frame is indeed a tty.
10301 Use the new gpm_tty.
10302 (Fterm_close_connection): Use the new gpm_tty.
10303 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
10304 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
10305
def7fa34
JB
103062007-09-21 Juanma Barranquero <lekktu@gmail.com>
10307
10308 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
10309 underline_color, to draw strike-through.
10310
d2bb6598
SM
103112007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10312
273f164c
SM
10313 * lisp.h (allocate_terminal): Declare.
10314
ca2d5566
SM
10315 * window.c (candidate_window_p): Consider frames that are being placed
10316 by the user as somewhere between visible and iconified.
10317 (window_loop): Prefer windows on the current frame.
10318 (Fselect_window): Move the use of select-frame to the beginning so we
10319 can just delegate all the work (it'll call us back anyway).
10320
6168122d
SM
10321 * frame.c (Qdisplay_environment_variable):
10322 * frame.h (Qdisplay_environment_variable): Delete.
10323
c51842ec
SM
10324 * .gdbinit (xbacktrace): Print the arg's address rather than the value
10325 of the first arg, since that value may be a union.
10326
d2bb6598
SM
10327 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
10328 parameter rather than Qdisplay_environment_variable. If all else
10329 fails, look for DISPLAY in initial-environment.
10330
6f022c19
GM
103312007-09-21 Glenn Morris <rgm@gnu.org>
10332
10333 * Makefile.in (emacstool): Remove target.
f466320b 10334 (lisp, shortlisp): Remove termdev.elc.
6f022c19 10335
ea1bf8c7
GM
103362007-09-21 Markus Triska <markus.triska@gmx.at>
10337
d2bb6598 10338 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 10339
d30a25b3
SM
103402007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
10341
db699fc6
SM
10342 * callproc.c (getenv_internal_1): New function.
10343 (getenv_internal): Use it.
10344 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
10345
d2bb6598 10346 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
10347 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
10348 (Fset_terminal_parameter): Work with dead terminals as well.
10349 (Fmodify_terminal_parameters): Remove.
10350
d30a25b3
SM
10351 * terminal.c (get_terminal): Handle terminals.
10352 Make sure the terminal returned is live.
10353 (create_terminal): Use allocate_terminal.
10354 (mark_terminals): Move to alloc.c.
10355 (delete_terminal): Use terminal->name as liveness status.
10356 NULL out fields after freeing their contents.
10357 Don't deallocate the object.
10358 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
10359 rather than an int.
10360 (Fterminal_live_p): Accept non-integer arguments.
10361 (Fterminal_list): Return terminal objects rather than an ints.
10362
10363 * alloc.c (enum mem_type): New member for `terminal' objects.
10364 (allocate_terminal): New function.
d2bb6598
SM
10365 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
10366 Handle terminals.
d30a25b3
SM
10367 (mark_terminal): New fun.
10368 (mark_terminals): Move from terminal.c.
10369
10370 * term.c (get_tty_terminal): Don't treat output_initial specially.
10371 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
10372 (delete_tty): Use terminal->name as liveness status.
10373
10374 * termhooks.h (struct terminal): Make it into a pseudovector.
10375 Remove `deleted' replaced by checking `name's nullness.
10376
10377 * print.c (print_object): Handle terminals.
10378
10379 * lisp.h (enum pvec_type): New `terminal' pseudovector.
10380 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
10381
10382 * frame.c (make_terminal_frame):
10383 * keyboard.c (tty_read_avail_input):
10384 * w32term.c (x_delete_terminal):
10385 * xfns.c (Fx_create_frame, x_create_tip_frame):
10386 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
10387
eba25e7c
GM
103882007-09-20 Glenn Morris <rgm@gnu.org>
10389
10390 * process.c (Fmake_network_process): Doc fix.
10391
2a29c3c1
JR
103922007-09-19 Jason Rumney <jasonr@gnu.org>
10393
10394 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
10395
880820fe 103962007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
10397
10398 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
10399 Fix a C warning regarding variable constness.
10400
10401 * xterm.c (handle_one_xevent): Fix a C warning.
10402
334a1195
JR
104032007-09-18 Jason Rumney <jasonr@gnu.org>
10404
10405 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
10406
880820fe 104072007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
10408
10409 * gtkutil.c (gdpy_def): New variable.
10410 (xg_initialize): Initialize gdpy_def.
10411 (xg_display_close): If no other display exists, set gdpy_def to a
10412 new connection.
10413
880820fe 104142007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
10415
10416 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
10417 when we have no file name for the icon.
10418 (xg_tool_bar_expose_callback): Remove.
10419 (xg_create_tool_bar): Don't connect expose signal to
10420 xg_tool_bar_expose_callback.
10421 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
10422
4d580af2
AS
104232007-09-16 Andreas Schwab <schwab@suse.de>
10424
10425 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
10426 values instead of zapping them.
10427
aca946f3
GM
104282007-09-14 Glenn Morris <rgm@gnu.org>
10429
10430 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
10431 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
10432 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
10433 scope and rename to omfib_buffer for clarity.
10434 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
10435
25c460e5
KH
104362007-09-14 Kenichi Handa <handa@m17n.org>
10437
10438 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
10439
09b69f01
JR
104402007-09-13 Jason Rumney <jasonr@gnu.org>
10441
10442 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
10443
10444 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
10445
10446 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
10447 (mac_term_init): Call here instead, passing rif.
10448
442218db
GM
104492007-09-13 Glenn Morris <rgm@gnu.org>
10450
10451 * s/hpux.h: No longer define `static' as nothing.
10452
880820fe 104532007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
10454
10455 * callint.c (Fcall_interactively): Remove unused var `fun'.
10456
1971a872
RF
104572007-09-12 Romain Francoise <romain@orebokech.com>
10458
10459 * window.c (prefer_window_split_horizontally, display_buffer):
10460 Revert 2007-09-08 change.
10461
2d33f506
GM
104622007-09-12 Glenn Morris <rgm@gnu.org>
10463
585474ae 10464 * alloca.c: Remove file.
ca7af97a
GM
10465 * Makefile.in (alloca): Do not undef.
10466 (allocaobj, alloca.o): Remove.
10467 (otherobj): Remove allocaobj.
10468 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
10469 * regex.c (C_ALLOCA): Remove all references and code that was only
10470 used when this was defined.
10471 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
10472 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
10473 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
10474
2d33f506 10475 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
10476
10477 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
10478 (menu_grab_callback): All uses changed.
10479
10480 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
10481 (x_reply_selection_request): All uses changed.
2d33f506 10482
18a4a65e
SM
104832007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
10484
10485 * lread.c (load_warn_old_style_backquotes): Change message to look
10486 better when it appears in the middle of byte-compiler messages.
10487
47cc8819
DN
104882007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
10489
b7ea0894
DN
10490 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
10491
47cc8819
DN
10492 * xterm.c (x_create_terminal): Add comment.
10493
10494 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
10495
5632bd0f
RS
104962007-09-10 Richard Stallman <rms@gnu.org>
10497
10498 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
10499
880820fe 105002007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 10501
4bca9161
MC
10502 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
10503 (DEFUN): Document `intspec', use it instead of `prompt'.
10504
04724b69
MC
10505 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
10506
8a6d230a
MC
10507 * data.c (Finteractive_form): If the interactive specification starts
10508 with a `(', use it as a Lisp form.
10509
09fbdf6c
MC
10510 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
10511 name and file modes.
10512
ccb5c14f
MC
10513 * callint.c (Fcall_interactively): Comment fixes.
10514
023accd6
SM
105152007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
10516
10517 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
10518 and compiled functions.
10519
f26b9544
EZ
105202007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
10521
10522 * window.c (prefer_window_split_horizontally): New variable.
10523 (display_buffer): Consider splitting window horizontally depending
10524 on prefer_window_split_horizontally.
10525
4d395425
EZ
105262007-09-08 Eli Zaretskii <eliz@gnu.org>
10527
97ddc760 10528 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 10529
08c1d235
SM
105302007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10531
179cef48
SM
10532 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
10533
08c1d235
SM
10534 * frame.c (x_set_frame_parameters): Check number is positive before
10535 using XFASTINT.
10536
10537 * window.c (freeze_window_start): Don't presume selected_window holds
10538 a window object.
92f94a12 10539 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 10540
97ddc760 105412007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
10542
10543 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
10544
90ab5c62
SM
105452007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10546
10547 * window.c (Vsplit_window_preferred_function): New var.
10548 (Fdisplay_buffer): Use it.
10549 (syms_of_window): Export, and initialize it.
10550
1ab2cd43
TTN
105512007-09-06 Pixel <pixel@mandriva.com> (tiny change)
10552
10553 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
10554
0b0515bc
GM
105552007-09-06 Glenn Morris <rgm@gnu.org>
10556
57fd5c55 10557 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
10558 * xselect.c (x_reply_selection_request) <cnt>: Move static
10559 variable to file scope.
10560
98594580
SM
105612007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
10562
10563 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
10564 consistent values of selected_frame and selected_window.
10565
0f4c7aef
JR
105662007-09-04 Jason Rumney <jasonr@gnu.org>
10567
10568 * w32console.c (initialize_w32_display): Zero unused hooks.
10569
e4019195
DN
105702007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10571
10572 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
10573 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
10574
bce179b5
JR
105752007-09-04 Jason Rumney <jasonr@gnu.org>
10576
a0236551
JR
10577 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
10578 in w32console.c. Set up input. Remove XXX comments that have been
10579 confirmed as correct.
10580
a4926668
JR
10581 * s/ms-w32.h (MULTI_KBOARD): Define.
10582
953bf0dc
JR
10583 * w32console.c (one_and_only_w32cons): Remove.
10584 (initialize_w32_display): Take terminal argument.
10585
10586 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
10587 initialize_w32_display.
10588 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
10589
bce179b5
JR
10590 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
10591
10592 * keyboard.c (discard_mouse_events): Discard it.
10593 (make_lispy_event): Translate it to a lisp event.
10594 (lispy_wheel_names): Add wheel-left and right events.
10595 (syms_of_keyboard): Enlarge wheel_syms.
10596
10597 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
10598 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
10599
10600 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
10601
10602 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
10603 from WM_MOUSEHWHEEL.
10604 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
10605
10606 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
10607 terminal.
10608
10609 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
10610 keyboard for the terminal.
10611
92cd6a7c
DN
106122007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10613
10614 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
10615 (Vresume_tty_hook): Rename from Vresume_tty_functions.
10616 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
10617 and resume-tty-function to resume-tty-hook.
10618 (Fsuspend_tty, Fresume_tty): Use new names.
10619
880820fe 106202007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
10621
10622 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
10623 if it starts with "n:".
10624
880820fe 106252007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
10626
10627 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
10628
6b8e474c
SM
106292007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
10630
92d9c1d4
SM
10631 * frame.h:
10632 * frame.c (Qterm_environment_variable): Remove.
10633 (syms_of_frame): Don't init and staticpro it.
10634
92d9c1d4
SM
10635 * callproc.c (getenv_internal): Remove special case for $TERM.
10636
6b8e474c
SM
10637 * callproc.c (Vinitial_environment): New variable.
10638 (set_initial_environment): Initialize it.
10639 (syms_of_callproc): Declare it.
10640 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
10641 TERM under which a process runs is never related to the TERM in which
10642 Emacs is running.
10643
0f1444e1
DN
106442007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10645
10646 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
10647 * s/darwin.h: ... do it here.
10648
b8866860
SM
106492007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
10650
10651 * lisp.h (set_initial_environment): Rename from set_global_environment.
10652
10653 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
10654 removed by mistake on the multi-tty branch.
10655
10656 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
10657 (Fmodify_frame_parameters): Return a value.
10658
10659 * image.c (png_load): Comment-out var only used in commented-out code.
10660
10661 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
10662 before passing it to mark_object.
10663
10664 * xfaces.c (internal_resolve_face_name): Return a value.
10665 (internal_resolve_face_name, resolve_face_name_error): Comment out.
10666
10667 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
10668 (x_icon): Comment-out var only used in commented-out code.
10669
0a42be6d
RF
106702007-08-29 Romain Francoise <romain@orebokech.com>
10671
10672 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
10673 QUIT hasn't been provided.
10674
8d9cc0b7
MB
106752007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10676
10677 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 10678 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
10679 (set_initial_environment): Initialise Vprocess_environment.
10680
10681 * config.in: Disable multi-keyboard support on a mac.
10682
10683 * frame.c (Qterm_environment_variable)
10684 (Qdisplay_environment_variable): New variables.
10685 (syms_of_frame): Intern and staticpro them.
10686 (Fmake_terminal_frame): Disable output method test.
10687
10688 * frame.h: Declare them here.
10689
10690 * macfns.c (x_set_mouse_color): Get rif from the frame.
10691 (x_set_tool_bar_lines): Don't use updating_frame.
10692 (mac_window): Add 2 new parameters for consistency with other systems.
10693 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
10694 frame parameters following what is done in X11 and w32. Don't use
10695 FRAME_MAC_DISPLAY_INFO.
10696 (Fx_open_connection, start_hourglass): Remove window-system check.
10697 (x_create_tip_frame): Get the keyboard from the terminal.
10698
10699 * macmenu.c: Reorder includes.
10700 (Fx_popup_menu): Use terminal specific mouse_position_hook.
10701
10702 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
10703 terminal parameter.
10704 (x_clear_frame): Add a frame parameter.
10705 (note_mouse_movement): Get rif from the frame.
10706 (mac_term_init): Initialize the terminal.
10707 (mac_initialize): Make static and move terminal initialization ...
10708 (mac_create_terminal): ... to this new function.
10709
10710 * macterm.h (struct mac_display_info): Add terminal.
7196c970 10711 (mac_initialize): Delete declaration.
8d9cc0b7 10712
381864b2 10713 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
10714
10715 * sysdep.c: Comment out text after #endif.
10716
10717 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
10718 is defined. Better initialize ttys in windows. Use terminal
10719 specific mouse_position_hook.
10720
10721 * termhooks.h (union display_info): Add mac_display_info.
10722
b8866860
SM
10723 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
10724 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
10725 frame parameters following what is done in X11.
10726
10727 * w32term.c (w32_initialize): Make static.
10728
10729 * xselect.c (x_handle_selection_clear): Only access
10730 terminal->kboard when MULTI_KBOARD is defined.
10731
10732 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
10733 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
10734
107352007-08-29 Jason Rumney <jasonr@gnu.org>
10736
10737 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
10738 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
10739
10740 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
10741 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
10742
10743 * keyboard.c (restore_kboard_configuration): Only define when
10744 MULTI_KBOARD defined.
10745
35277b03 10746 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
10747 (OBJ1): Add terminal.$(O)
10748
b8866860
SM
10749 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
10750 Don't define function body.
8d9cc0b7
MB
10751 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
10752
10753 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
10754
10755 * w32.c (request_sigio, unrequest_sigio): Remove.
10756
10757 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
10758 (w32con_clear_frame, w32con_clear_end_of_line)
10759 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
10760 (w32con_delete_glyphs, w32con_set_terminal_window)
10761 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
10762 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
10763 Add terminal arg.
8d9cc0b7
MB
10764 (PICK_FRAME): Remove.
10765 (w32con_write_glyphs): Use frame specific terminal coding.
10766 (one_and_only_w32cons): New global variable.
10767 (initialize_w32_display): Use it for storing hooks.
10768 (create_w32cons_output): New function.
10769
10770 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
10771 arg a frame.
10772
b8866860
SM
10773 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
10774 Set window_system.
8d9cc0b7
MB
10775 (x_set_tool_bar_lines): Don't use updating_frame.
10776 (Fx_create_frame): Set terminal and ref count.
10777 (Fx_open_connection): Remove window-system check.
10778
10779 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
10780
10781 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
10782 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
10783 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
10784 Add frame arg.
10785 (x_delete_terminal, w32_create_terminal): New functions.
10786 (w32_term_init): Create a terminal.
10787 (w32_initialize): Move terminal specific initialization to
10788 w32_create_terminal.
10789
b8866860 10790 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
10791 (w32_clear_rect, w32_clear_area): Use background from frame.
10792 (w32_display_info): Add terminal.
10793 (w32_sys_ring_bell, x_delete_display): Declare here.
10794
10795 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
10796
10797 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
10798
107992007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
10800
10801 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
10802 Fix get_named_tty calls for the controlling tty.
10803
108042007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
10805
10806 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
10807
108082007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
10809
10810 * term.c (tty_insert_glyphs): Add missing first parameter.
10811
880820fe 108122007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 10813
b8866860
SM
10814 * buffer.c (Fbuffer_list, Fbury_buffer):
10815 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
10816
10817 * cm.c (current_tty): New variable, for cmputc().
10818 (cmputc): Use it.
10819 (cmcheckmagic): Add tty parameter, look up terminal streams there.
10820 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
10821 (cmgoto): Add tty parameter. Pass it on to calccost().
10822 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
10823
10824 * cm.h (emacs_tputs): New macro to set current_tty, and then call
10825 tputs().
10826 (current_tty): New variable, for cmputc().
10827 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
10828
10829 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
10830 (internal_condition_case, internal_condition_case_1)
10831 (internal_condition_case_2): Don't abort when x_catching_errors.
10832
10833 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
10834 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
10835 prevent crashes caused by bogus longjmps in read_char.
10836
10837 * keymap.h (Fset_keymap_parent): Add EXFUN.
10838
10839 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
10840 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
10841 Remove redundant definition.
10842
b8866860
SM
10843 * macfns.c (x_set_mouse_color, x_make_gc):
10844 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 10845
b8866860
SM
10846 * w32term.c (x_free_frame_resources):
10847 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10848 (w32_initialize): Use the accessor macros for terminal characteristics.
10849
10850 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
10851 Use the accessor macros for terminal characteristics.
10852 * msdos.c (internal_terminal_init): Use the accessor macros for
10853 terminal characteristics.
b8866860
SM
10854 (ScreenVisualBell, internal_terminal_init):
10855 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10856
10857 * termopts.h (no_redraw_on_reenter): Declare.
10858
10859 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 10860 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 10861 (Fgarbage_collect): Call them.
03f06e5c 10862 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
10863
10864 * prefix-args.c: Include stdlib.h for exit.
10865
10866 * syssignal.h: Add comment.
10867
10868 * indent.c: Include stdio.h.
10869
10870 * window.h (Vinitial_window_system): Declare.
10871 (Vwindow_system): Delete declaration.
10872
10873 * fontset.c (Finternal_char_font): Use FRAME_RIF.
10874
10875 * image.c (lookup_image): Don't initialize `c' until the xasserts
10876 have been run.
10877
10878 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
10879 FRAME_FOREGROUND_PIXEL.
10880
10881 * print.c (print_preprocess): Don't lose print_depth levels while
10882 iterating.
10883
b8866860
SM
10884 * widget.c (update_from_various_frame_slots):
10885 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10886
10887 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
10888 frames.
10889 (window_internal_height): Remove bogus make_number call.
b8866860 10890 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
10891
10892 * fileio.c (Fread_file_name): Update comment.
10893
b8866860
SM
10894 * callint.c (Fcall_interactively):
10895 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
10896 Make sure it is correctly unwound.
10897
10898 * xsmfns.c (x_session_close): New function.
10899
03f06e5c 10900 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
10901 Delete declarations.
10902
10903 * xterm.h: Remove declaration for x_fully_uncatch_errors.
10904 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 10905 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 10906 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
10907
10908 * lread.c: Include setjmp.h. Update declaration of `read_char'.
10909 (read_filtered_event): Call `read_char' with a local
10910 `wrong_kboard_jmpbuf'.
10911
b8866860
SM
10912 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
10913 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
10914
10915 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
10916 systems.
10917
b8866860 10918 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 10919 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 10920 (Fset_quit_char): EXFUN.
03f06e5c 10921 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
10922 (init_sys_modes, reset_sys_modes): Update prototypes.
10923 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
10924
b8866860
SM
10925 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
10926 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 10927 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 10928 Delete declarations.
03f06e5c
JB
10929 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
10930 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
10931 New declarations.
10932
10933 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
10934 already does that during init_display(). Call syms_of_keymap
b8866860
SM
10935 before syms_of_keyboard. Call `syms_of_terminal'.
10936 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
10937 (shut_down_emacs): Call reset_all_sys_modes() instead of
10938 reset_sys_modes().
10939
10940 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
10941 (internal_resolve_face_name, resolve_face_name_error): New functions.
10942 (resolve_face_name): Protect against loops and errors thrown by Fget.
10943 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
10944 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
10945
10946 * scroll.c: Replace CURTTY() with local variables throughout the
10947 file (where applicable).
10948 (calculate_scrolling, calculate_direct_scrolling)
10949 (scrolling_1, scroll_cost): Use the accessor macros for terminal
10950 characteristics.
10951
10952 * keymap.c (Vfunction_key_map): Remove.
b8866860 10953 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
10954 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
10955 (Vkey_translation_map): Remove.
10956 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 10957 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
10958 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
10959 Update for terminal-local key-translation-map.
10960
10961 * Makefile.in (callproc.o): Update dependencies.
10962 (lisp, shortlisp): Add termdev.elc.
10963 (obj): Add terminal.o.
10964 (terminal.o): Add dependencies.
10965 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
10966 (data.o, fns.o): Add termhooks.h dependency.
10967 (SOME_MACHINE_LISP): Add dnd.elc.
10968 (minibuf.o): Fix typo.
10969 Update dependencies.
10970
10971 * data.c (do_symval_forwarding, store_symval_forwarding)
10972 (find_symbol_value): Use the selected frame's keyboard, not
10973 current_kboard.
10974
10975 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
10976 Vwindow_system.
10977
10978 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
10979 Fmenu_bar_open.
10980 (syms_of_xmenu): Update defsubr.
10981 (mouse_position_for_popup, Fx_popup_menu)
10982 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
10983 (set_frame_menubar, free_frame_menubar)
10984 (create_and_show_popup_menu, xmenu_show, )
10985 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
10986 an X frame.
10987
10988 * xselect.c (x_own_selection): Abort if not an X frame.
10989 (some_frame_on_display): Check if it is an X frame.
10990 (x_handle_selection_clear): Deal with MULTI_KBOARD.
10991
10992 * coding.c: Include frame.h and termhooks.h.
03f06e5c 10993 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
10994 (Fset_terminal_coding_system_internal)
10995 (Fset_keyboard_coding_system_internal)
10996 (Fkeyboard_coding_system)
03f06e5c
JB
10997 (Fterminal_coding_system): Add a terminal parameter.
10998 Get terminal_coding from the terminal.
8d9cc0b7
MB
10999 (init_coding_once): Don't call setup_coding_system here.
11000
11001 * dispextern.h (set_scroll_region, turn_off_insert)
11002 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
11003 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 11004 (delete_tty, updating_frame)
8d9cc0b7
MB
11005 (produce_special_glyphs, produce_glyphs, write_glyphs)
11006 (insert_glyphs): Remove.
11007 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 11008 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 11009 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
11010
11011 * frame.h (enum output_method): Add output_initial.
11012 (struct x_output): Delete.
b8866860
SM
11013 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11014 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
11015 (tty_display): Delete.
11016 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 11017 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
11018 (union output_data): Add tty.
11019 (FRAME_KBOARD): Get the kboard from the terminal.
11020 (FRAME_INITIAL_P): New macro.
11021 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
11022 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
11023 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
11024 New declarations.
8d9cc0b7
MB
11025
11026 * termchar.h (tty_output, tty_display_info): New structures.
11027 (tty_list): Declare.
11028 (FRAME_TTY, CURTTY): New macros.
11029 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
11030 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
11031 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
11032 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
11033
11034 * callproc.c: Include frame.h and termhooks.h, for terminal
11035 parameters.
11036 (add_env): New function.
11037 (child_setup): Use it.
b8866860 11038 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
11039 (getenv_internal): Fix get_terminal_param call.
11040 (Fgetenv_internal, egetenv): Update doc.
11041 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 11042 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
11043 strings.
11044 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
11045 (getenv_internal): Add terminal parameter.
11046 Handle Vlocal_environment_variables.
8d9cc0b7
MB
11047 (Fgetenv_internal): Add terminal parameter.
11048 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 11049 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
11050 (set_initial_environment): Rename from set_global_environment.
11051 Store Emacs environment in initial frame parameter.
11052
11053 * xdisp.c (redisplay_internal): Update references to
11054 `previous_terminal_frame'.
11055 (display_mode_line, Fformat_mode_line): Replace calls to
11056 `push_frame_kboard' with `push_kboard'.
11057 (get_glyph_string_clip_rects): Add extra parentheses and
11058 braces to prevent compiler warnings.
11059 (calc_pixel_width_or_height): Add xassert to check that the
11060 frame is alive. Don't call `lookup_image' on a termcap frame.
11061 (message2_nolog, message3_nolog, redisplay_internal)
11062 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
11063 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
11064 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
11065 (Fx_display_pixel_width, Fx_display_pixel_height)
11066 (Fx_display_planes, Fx_display_color_cells)
11067 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
11068 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
11069 (Fx_display_backing_store, Fx_display_visual_class)
11070 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 11071 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
11072
11073 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
11074 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
11075 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
11076 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
11077 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
11078 terminal that is being deleted.
11079 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 11080 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
11081 (Fx_close_connection, Fx_synchronize): Unify argument names with
11082 the rest of the DEFUNs.
11083
11084 * dispnew.c (Fsend_string_to_terminal): Update call to
11085 `get_tty_terminal'.
11086 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 11087 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
11088 FRAME_TERMCAP_P and FRAME_TTY.
11089 (window_change_signal): Don't believe width/height values that are
11090 impossibly small.
11091 (Vinitial_window_system): Rename from Vwindow_system.
11092 (termscript, Wcm, rif): Delete.
11093
11094 * termhooks.h (struct terminal): New struct containing the
11095 previously global text display hooks and new members NAME,
11096 DELETED and PARAM_ALIST.
11097 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
11098 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
11099 (FRAME_RIF): New macros.
11100 (get_terminal_param, get_device): New declarations.
11101 (termscript): Delete declaration.
11102
11103 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
11104 (XTflash, x_free_frame_resources, x_scroll_bar_create)
11105 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
11106 FRAME_FOREGROUND_PIXEL.
11107 (x_fully_uncatch_errors): Disable definition.
11108 (x_scroll_bar_expose): Fix reference to foreground pixel.
11109 (XTread_socket): Disable loop on all X displays.
11110 (x_delete_terminal): Don't set terminal->deleted and let
11111 delete_terminal delete the frames on the terminal.
11112 (x_delete_display): Doc update to reflect changes in
11113 delete_terminal.
11114 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
11115 (deleting_tty): Remove old variable.
11116 (Fsuspend_tty): Call clear_tty_hooks.
11117 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
11118 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
11119 errors on X frames.
11120 (x_catch_errors_unwind): Abort if x_error_message is NULL.
11121 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 11122 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
11123 (XTset_terminal_modes, XTreset_terminal_modes)
11124 (XTread_socket, x_connection_closed, x_term_init)
11125 (x_term_init, x_delete_display): Add terminal parameter.
11126 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
11127 X connections.
11128
bf380f53
GM
11129 * frame.c: Include termchar.h.
11130 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
11131 (Qwindow_system, Qenvironment, Qterm_environment_variable)
11132 (Qdisplay_environment_variable): New vars.
11133 (Fframep): Deal with output_initial.
11134 (Fframe-live-p): Doc fix.
11135 (Fwindow-system): New function.
8d9cc0b7
MB
11136 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
11137 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 11138 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 11139 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
11140 (Fmake_terminal_frame): Handle NULL tty names correctly.
11141 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
11142 (Fdelete_frame): Remove unused variable `count'. Don't allow other
11143 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 11144 (Fframe_with_environment): New function.
b8866860 11145 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
11146 (get_future_frame_param): New function.
11147 (Fmake_terminal_frame): Use it.
2d33f506 11148 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
11149
11150 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
11151 * sysdep.c (reset_sys_modes): Update for renames.
11152
11153 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 11154 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
11155 (syms_of_keyboard): Defsubr them.
11156 (Fset_input_meta_mode, Fset_quit_char): New functions.
11157 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
11158 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
11159 parameter. Use it in call to `read_char'.
b8866860
SM
11160 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
11161 Set wrong_kboard_jmpbuf correctly in recursive calls.
11162 Use current_kboard to access Vkeyboard_translate_table.
11163 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
11164 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
11165 Update longjmp invocations. Remember the original current_kboard,
11166 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
11167 changes it. Comment out unnecessary calls to
11168 `record_single_kboard_state' and `any_kboard_state'.
11169 Update recursive calls.
8d9cc0b7
MB
11170 (wrong_kboard_jmpbuf): Remove global variable.
11171 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
11172 Handle deleted interrupted_kboards correctly; that is a legal
11173 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 11174 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
11175 (any_kboard_state, single_kboard_state)
11176 (push_frame_kboard): Remove function.
11177 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
11178 been deleted. Remove unused variable. Help debugging by not
11179 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
11180 kboard of the selected frame when the stored kboard object has
11181 been deleted before pop_kboard.
11182 (temporarily_switch_to_single_kboard): Change first parameter to a
11183 frame pointer. Throw an error when caller wants to change kboards
11184 while in single_kboard mode. Don't push_kboard if we weren't in
11185 single kboard state. Don't pop_kboard if we popped into any
11186 kboard state.
11187 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 11188 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
11189 up single_kboard mode.
11190 (Frecursive_edit): Switch to single_kboard mode only in nested
11191 command loops.
b8866860
SM
11192 (cmd_error, command_loop, command_loop_1, timer_check):
11193 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
11194 `record_single_kboard_state'.
11195 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 11196 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
11197 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
11198 `fatal_error_signal'.
11199 (record_single_kboard_state): Don't push_kboard if we weren't in
11200 single kboard state. Don't pop_kboard if we popped into any
11201 kboard state.
11202 (push_frame_kboard): Rename to push_kboard.
11203 (kbd_buffer_get_event): Use FRAME_TERMINAL.
11204 (read_avail_input): Read input from all terminals.
11205 (mark_kboards): Also mark Vkeyboard_translate_table.
11206 (kbd_buffer_store_event_hold): Simplify condition.
11207 (read_key_sequence): Reinitialize fkey and keytran at each replay.
11208 (Vkeyboard_translate_table): Move to struct kboard.
11209 (init_kboard): Initialize Vkeyboard_translate_table.
11210 (syms_of_keyboard): Use DEFVAR_KBOARD to define
11211 Vkeyboard_translate_table. Update doc strings. Update docs of
11212 local-function-key-map and function-key-map.
11213
11214 * terminal.c: New file.
11215
11216 * term.c: Include errno.h.
11217 (Vring_bell_function, device_list, initial_device)
11218 (next_device_id, ring_bell, update_begin, update_end)
11219 (set_terminal_window, cursor_to, raw_cursor_to)
11220 (clear_to_end, clear_frame, clear_end_of_line)
11221 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
11222 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
11223 (syms_of_term): Move their initialization to terminal.c.
11224 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
11225 (Ftty_display_color_cells)
11226 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 11227 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
11228 (init_tty, maybe_fatal): New functions.
11229 (Ftty_type): Return nil if terminal is not on a tty instead of
11230 throwing an error. Doc update.
11231 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 11232 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
11233 (delete_tty): Use terminal->deleted.
11234 (tty_set_terminal_modes): Rename from set_terminal_modes.
11235 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
11236 (set_scroll_region): Rename to `tty_set_scroll_region'.
11237 (turn_on_insert): Rename to `tty_turn_on_insert'.
11238 (turn_off_insert): Rename to `tty_turn_off_insert'.
11239 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
11240 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
11241 (toggle_highligh): Rename to `tty_toggle_highlight'.
11242 (background_highlight): Rename to `tty_background_highlight'.
11243 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
11244 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
11245 (tty_set_scroll_region, tty_background_highlight)
11246 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
11247 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
11248 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
11249 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
11250 Add static modifier.
11251 (tty_reset_terminal_modes, tty_set_terminal_window)
11252 (tty_set_scroll_region, tty_background_highlight)
11253 (tty_highlight_if_desired, tty_cursor_to)
11254 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
11255 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
11256 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
11257 renames.
11258
880820fe 112592007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
11260
11261 * keyboard.c: Qrtl is new.
11262 (parse_tool_bar_item): Handle :rtl keyword.
11263 (syms_of_keyboard): Intern :rtl keyword.
11264
11265 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
11266
11267 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
11268 so no Lisp code is executed.
11269 (file_for_image, find_rtl_image): New functions.
1f204af3 11270 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
11271 (update_frame_tool_bar): If direction is RTL, use RTL image if
11272 defined. Use Gtk stock images if defined.
11273
83cc8d35
YM
112742007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11275
11276 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
11277 for nonexistent or zero-width glyph in composition glyph.
11278
e60c4e15
SM
112792007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
11280
d7e2a28f
SM
11281 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
11282
e60c4e15
SM
11283 * xdisp.c (Finvisible_p): New function.
11284 (syms_of_xdisp): defsubr it.
11285
ee163e6d
JB
112862007-08-24 Juanma Barranquero <lekktu@gmail.com>
11287
11288 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
11289 Doc fixes.
11290
90fa408d
YM
112912007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11292
35277b03 11293 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 11294
cac4219c
MR
112952007-08-24 Martin Rudalics <rudalics@gmx.at>
11296
11297 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
11298 whether decoding has modified buffer contents.
11299
5fc9fdeb
JR
113002007-08-24 Jason Rumney <jasonr@gnu.org>
11301
11302 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
11303 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
11304 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
11305 (init_svg_functions) [HAVE_NTGUI]: New function.
11306 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
11307 (svg_load_image): Use them.
11308 (svg_load_image) [HAVE_NTGUI]: Implement background.
11309
93b23406
YM
113102007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11311
11312 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
11313 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
11314 (LIBX): Remove @RSVG_LIBS@.
11315 (LIBES): Add $(RSVG_LIBS).
11316
11317 * image.c (svg_load_image): Blend with specified background if exists.
11318 Use IMAGE_BACKGROUND. Add Mac OS Support.
11319
11320 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
11321 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
11322 Remove macros.
11323 [MAC_OSX] (socket_callback): Do nothing.
11324 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
11325 ReceiveNextEvent.
11326 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
11327 socket_callback.
11328 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
11329
2467875c
GM
113302007-08-22 Glenn Morris <rgm@gnu.org>
11331
ff8da443 11332 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 11333
4ab27a43
GM
113342007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
11335
11336 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 11337
666e0eda
GM
11338 * image.c: Add support for SVG images. Some additional comments
11339 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
11340 (svg_image_p): New function to test for SVG image.
11341 (svg_load): New function to load SVG image.
11342 (svg_load_image): New function, helper for svg_load.
11343 (Qsvg): New Lisp_object.
11344 (svg_keyword_index): New enum.
11345 (svg_format): New static `image_keyword' struct.
11346 (svg_type): New static `image_type' struct.
11347 (librsvg/rsvg.h): Include it.
4ab27a43 11348
b636b4c1
SM
113492007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
11350
11351 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
11352
9ecb827b
SM
113532007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
11354
1d064697
SM
11355 * lread.c (Qold_style_backquotes): New var.
11356 (syms_of_lread): Init and staticpro it.
11357 (load_warn_old_style_backquotes): New fun.
11358 (Fload): Use them to warn about old style backquotes.
11359 (end_of_file_error, Fload): Remove unused vars.
11360
5772ed4b
SM
11361 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
11362
9ecb827b 11363 * lread.c (Vold_style_backquotes): New var.
5aa273b0 11364 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
11365 (read1): Set it when we find an old-style (back)quote.
11366
32e1c7b1
JR
113672007-08-22 Jason Rumney <jasonr@gnu.org>
11368
11369 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
11370
b8fa755b
KY
113712007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
11372
11373 * puresize.h (BASE_PURESIZE): Increase to 1140000.
11374
1283140e
RS
113752007-08-19 Richard Stallman <rms@gnu.org>
11376
11377 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
11378
2c4685ee
AS
113792007-08-19 Andreas Schwab <schwab@suse.de>
11380
11381 * alloc.c (pure): Round PURESIZE up.
11382
880820fe 113832007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
11384
11385 * xterm.c (handle_one_xevent): Remove check that mouse click is in
11386 active frame.
11387
6e33efc4
RS
113882007-08-16 Richard Stallman <rms@gnu.org>
11389
11390 * eval.c (Fcommandp): Add parens to clarify.
11391
11392 * minibuf.c (Fall_completions): Use enum for type of table.
11393
11394 * emacs.c (USAGE2): Improve text.
11395
fcf8ff2e
GM
113962007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
11397
5205ee62
GM
11398 * term.c (tty_default_color_capabilities): Declare static
11399 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 11400
880820fe 114012007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
11402
11403 * gtkutil.c (update_frame_tool_bar): Use -1 as index
11404 to gtk_toolbar_insert.
11405
4a181359
SM
114062007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
11407
1bc99c9c
SM
11408 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
11409
4a181359
SM
11410 * insdel.c (reset_var_on_error): New fun.
11411 (signal_before_change, signal_after_change):
11412 Use it to reset (after|before)-change-functions to nil in case of error.
11413 Bind inhibit-modification-hooks to t.
11414 Don't bind (after|before)-change-functions to nil while they run.
11415
6c28435c
YM
114162007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11417
11418 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
11419 filling pixmap with stippled background.
11420
ad3b3e02
YM
114212007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11422
11423 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
11424 Don't use invisible frame as parent window for repositioning.
11425
a22dec27
SM
114262007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
11427
11428 * print.c (new_backquote_output): Rename from old_backquote_output.
11429 (print): Inverse its logic (according to its name) so as to match the
11430 behavior of new_backquote_flag in lread.c.
11431
7b7d07bb
YM
114322007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11433
11434 * gmalloc.c (posix_memalign): New function.
11435
11436 * macterm.c (frame_highlight, frame_unhighlight): Don't call
11437 ActivateControl/DeactivateControl here.
11438 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
11439 frame-notice-user-settings is non-nil.
11440 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
11441 for kEventParamFMFontStyle.
11442 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
11443 mac_pass_command_to_system and mac_pass_control_to_system here.
11444 (XTread_socket): Call ActivateControl/DeactivateControl here.
11445 (XTread_socket) [TARGET_API_MAC_CARBON]:
11446 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
11447 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
11448 for window repositioning.
7b7d07bb 11449
22e9fe24
GM
114502007-08-08 Glenn Morris <rgm@gnu.org>
11451
11452 * Replace `iff' in doc-strings and comments.
11453
ae494350
CY
114542007-08-07 Chong Yidong <cyd@stupidchicken.com>
11455
11456 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
11457
6f2528d8
MR
114582007-08-07 Martin Rudalics <rudalics@gmx.at>
11459
11460 * fileio.c (Finsert_file_contents): Run format-decode and
11461 after_insert_file_functions on entire buffer when REPLACE is
11462 non-nil and inhibit modification_hooks and point_motion_hooks.
11463 For consistency, run after_insert_file_functions iff something
11464 got inserted. Move signal_after_change and update_compositions
11465 after code running after_insert_file_functions. Make sure that
6b8e474c 11466 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 11467
3ceeb306
YM
114682007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11469
11470 * emacs.c (main)
11471 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
11472 Call malloc_enable_thread on interactive startup.
11473
11474 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
11475 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
11476 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
11477 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
11478 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
11479 New functions.
11480
ca5e6fd5
CY
114812007-08-06 Chong Yidong <cyd@stupidchicken.com>
11482
32bfce5d
CY
11483 * xdisp.c (redisplay_window): When restoring original buffer
11484 position, make sure it is still valid.
11485
ca5e6fd5
CY
11486 * image.c (png_load): Ignore png-supplied background color.
11487
a5b11587
YM
114882007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11489
11490 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
11491 Use kCFAbsoluteTimeIntervalSince1970.
11492
11493 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
11494 New variable.
11495 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
11496 event loop should be quit.
11497 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
11498 Quit dialog event loop if quit_dialog_event_loop is set.
11499
11500 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
11501 (Selection): New typedef. Use instead of ScrapRef.
11502 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
11503 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
11504 (mac_clear_selection): Rename from clear_scrap.
11505 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 11506 scrap_has_target_type. All uses changed.
a5b11587
YM
11507 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
11508 (mac_selection_has_target_p): New functions.
11509 (mac_put_selection_value): Rename from put_scrap_string.
11510 (mac_get_selection_value): Rename from get_scrap_string.
11511 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
11512 (put_scrap_private_timestamp, scrap_has_target_type)
11513 (get_scrap_private_timestamp): Remove functions.
11514 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
11515 (x_own_selection, x_get_local_selection):
11516 Use mac_valid_selection_value_p.
11517 (x_own_selection): Don't use put_scrap_private_timestamp.
11518 Record OWNERSHIP-INFO into Vselection_alist instead.
11519 (x_get_local_selection): Don't check type if request is local.
11520 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
11521 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
11522
880820fe 115232007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
11524
11525 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
11526 add comment explaining why.
11527
73ff9d42
RS
115282007-08-03 Richard Stallman <rms@gnu.org>
11529
11530 * fileio.c (Fvisited_file_modtime): Use make_time.
11531
54ed9a2d 115322007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
11533
11534 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
11535 build.
11536
65a9c8e2
SM
115372007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
11538
11539 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
11540
c5925799
KY
115412007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
11542
11543 * puresize.h (BASE_PURESIZE): Increase to 1130000.
11544
adef3de7
RS
115452007-07-30 Richard Stallman <rms@gnu.org>
11546
11547 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
11548
880820fe 115492007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
11550
11551 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
11552
a10421a1
NR
115532007-07-28 Nick Roberts <nickrob@snap.net.nz>
11554
11555 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
11556 remote default-directory.
11557
11558 * buffer.c (mode-line-format): Update doc string.
11559
0cb1ae20
YM
115602007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11561
11562 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
11563 scroll bar gap.
11564 (x_scroll_bar_create): Set bar->fringe_extended_p.
11565 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
11566 on frame edge. Check fringe background extension. Don't clear
11567 extended fringe background area.
11568
11569 * w32term.h (struct scroll_bar): New member fringe_extended_p.
11570 (w32_fill_area): Enclose multiple statements with do ... while (0).
11571
11572 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
11573 Extend fringe background to scroll bar gap.
11574 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
11575 Set bar->fringe_extended_p.
11576 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11577 Put leftmost/rightmost scroll bars on frame edge. Check fringe
11578 background extension. Don't clear extended fringe background area.
11579
11580 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11581 New member fringe_extended_p.
11582
cacc7b51
GM
115832007-07-25 Glenn Morris <rgm@gnu.org>
11584
11585 * Relicense all FSF files to GPLv3 or later.
11586
11587 * COPYING: Switch to GPLv3.
11588
89835619
SM
115892007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11590
c4f46926
SM
11591 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
11592
11593 * data.c (Finteractive_form): Check for the presence of an
11594 `interactive-form' symbol property more thoroughly.
11595
11596 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
11597 present, analogous to the function-documentation property.
11598
ee04257d
JR
115992007-07-24 Jason Rumney <jasonr@gnu.org>
11600
11601 * w32fns.c (x_real_positions): Get real position from OS instead of
11602 calculating it.
11603
50624218
JR
116042007-07-23 Jason Rumney <jasonr@gnu.org>
11605
11606 * filelock.c (current_lock_owner): Allow for @ sign in username.
11607
3650f60e
NR
116082007-07-22 Nick Roberts <nickrob@snap.net.nz>
11609
11610 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
11611 remote default-directory.
11612
11613 * buffer.c (mode-line-format): Describe above case in doc string.
11614
1e899515 116152007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 11616
75be5258
EZ
11617 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
11618 Define if not defined.
11619
2b6e2f4d
JR
116202007-07-18 Jason Rumney <jasonr@gnu.org>
11621
11622 * w32proc.c (w32_executable_type): Handle 64 bit executables.
11623
23dacf80
JB
116242007-07-18 Richard Stallman <rms@gnu.org>
11625
11626 * data.c (Fsetq_default): Doc fix.
11627
11628 * eval.c (Fsetq): Doc fix.
11629
116302007-07-18 Juanma Barranquero <lekktu@gmail.com>
11631
11632 * coding.c (Ffind_operation_coding_system):
11633 * eval.c (For, Fand): Doc fixes.
880820fe 11634 Reported by Johan Bockgård.
23dacf80 11635
880820fe 116362007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 11637
23dacf80 11638 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 11639
23dacf80 11640 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
11641
11642 * xterm.c (x_ewmh_activate_frame): New function.
11643 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
11644
71ec17e6
MR
116452007-07-17 Martin Rudalics <rudalics@gmx.at>
11646
11647 * window.c (Fdisplay_buffer): If largest or LRU window is the
11648 only window, split it even if it is not eligible for splitting.
11649 This restores the original behavior broken by the 2007-07-15
11650 change.
11651
e9818042
GM
116522007-07-17 Glenn Morris <rgm@gnu.org>
11653
11654 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
11655 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11656 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
11657 constituents. Doc fix.
11658
e6fca843
SM
116592007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
11660
11661 * process.c (Fstart_process, Fmake_network_process)
11662 (read_process_output): Fix up last changes.
11663
b5d2b4ab
EZ
116642007-07-16 Eli Zaretskii <eliz@gnu.org>
11665
11666 * makefile.w32-in (clean): Don't delete *~.
11667
413a79ad
AS
116682007-07-16 Andreas Schwab <schwab@suse.de>
11669
11670 * window.c (Fdisplay_buffer): Use NILP.
11671 (Fset_window_scroll_bars): Likewise.
11672
f1de8c77
MR
116732007-07-15 Martin Rudalics <rudalics@gmx.at>
11674
11675 * window.c (window_min_size_2): New function.
11676 (window_min_size_1, size_window, Fdisplay_buffer)
11677 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
11678 windows without mode- or header-lines when window-min-height is
11679 too small.
11680 (size_window): Reset nodelete_p after testing it, following an
11681 earlier note by Kim F. Storm.
11682 (display_buffer): Do not set split_height_threshold to twice the
11683 value of window_min_height to avoid changing the value of a
11684 customizable variable. Rather explicitly check whether the
11685 height of the window that shall be splitted is at least as large
11686 as split_height_threshold.
1af74d06
MB
11687 (Fwindow_full_width_p): New defun.
11688 (syms_of_window): Defsubr it.
d31053f9 11689
1af74d06 11690 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 11691
5e1ab613
JR
116922007-07-14 Jason Rumney <jasonr@gnu.org>
11693
11694 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
11695
f01cbfdd
RS
116962007-07-14 Richard Stallman <rms@gnu.org>
11697
11698 * eval.c (maybe_call_debugger): New function.
11699 (find_handler_clause): Use maybe_call_debugger.
11700 Call it when the handler says `debug'.
11701 Eliminate DEBUGGER_VALUE_PTR.
11702 (Fsignal): Eliminate debugger_value.
11703 (Qdebug): New variable.
11704 (syms_of_eval): Initialize it.
11705
1bab435a
JB
117062007-07-14 Juanma Barranquero <lekktu@gmail.com>
11707
11708 * eval.c (Fprogn):
11709 * keyboard.c (Ftrack_mouse):
11710 * print.c (Fwith_output_to_temp_buffer):
11711 * window.c (Fsave_window_excursion): Doc fix.
11712
be436d23
SM
117132007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
11714
11715 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
11716
60f0fb11
SM
117172007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
11718
11719 * process.h (struct Lisp_Process): Turn slots infd, outfd,
11720 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
11721 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
11722 read_output_delay, and read_output_skip from Lisp_Objects to ints.
11723 Remove unused encoding_carryover.
11724 * process.c: Adjust all functions accordingly.
11725
d8b18043
RS
117262007-07-12 Richard Stallman <rms@gnu.org>
11727
11728 * term.c: Include unistd.h only if HAVE_UNISTD_H.
11729
d5781bb6
JR
117302007-07-11 Jason Rumney <jasonr@gnu.org>
11731
11732 * makefile.w32-in (LIBS): Include OLE32.
11733
11734 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
11735 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
11736
5bb7dfee
SM
117372007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
11738
11739 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
11740 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
11741 from a Lisp_Object into a bare pointer.
11742 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11743 Adjust the code correspondingly.
11744
11745 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
11746
11747 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
11748 (term_show_mouse_face): Remove unused var `j'.
11749 (handle_one_term_event): Remove unused vars `i' and `j'.
11750 Don't cast return value of ttyname since it's not necessary.
11751
a1be1ce8
SM
117522007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
11753
5045e68e
SM
11754 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
11755 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
11756
8071c00f
SM
11757 * fns.c (map_char_table): Use an array of int for `indices' rather than
11758 an array of Lisp_Objects (which are only ever integers anyway).
11759 (Fmap_char_table): Update caller.
11760 * lisp.h: Update prototype.
11761 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
11762 * fontset.c (Ffontset_info):
11763 * casetab.c (set_case_table): Update callers.
11764
11765 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
11766
fab84e3c
SM
11767 * keymap.c (struct accessible_keymaps_data)
11768 (struct where_is_internal_data): New structures.
11769 (accessible_keymaps_1, where_is_internal_1): Use them to change
11770 interface to adhere to the one used by map_keymap.
11771 (Faccessible_keymaps, where_is_internal): Use map_keymap.
11772 (accessible_keymaps_char_table, where_is_internal_2): Remove.
11773
a1be1ce8
SM
11774 * keymap.h (map_keymap_function_t): More informative prototype.
11775
ef887810
RS
117762007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
11777
11778 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
11779 (looking_at_1): Don't change search_regs and last_thing_searched
11780 if `inhibit-changing-match-data' is non-nil.
11781 (string_match_1, search_buffer, set_search_regs): Likewise.
11782 (syms_of_search): Add Lisp level definition for
11783 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
11784 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
11785 start and end of the match, instead of using values in search_regs.
ef887810 11786
4d02fc25
SM
117872007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
11788
11789 * minibuf.c (Fcompleting_read): New value `confirm-only'
11790 for `require-match'.
11791
fe45b81f
SM
117922007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
11793
11794 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
11795 part of the 2007-06-27 change to syms_of_fileio.
11796
a56dd283
YM
117972007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11798
11799 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
11800 Check WINDOWP before using XWINDOW. Consolidate return statements.
11801
0cf9f5b5
RS
118022007-06-27 Richard Stallman <rms@gnu.org>
11803
11804 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
11805
a66f285a
JB
118062007-06-27 Juanma Barranquero <lekktu@gmail.com>
11807
11808 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
11809
8d0d84d2
YM
118102007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11811
11812 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
11813 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
11814 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
11815 (_free_internal, memalign): Use them.
11816 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
11817 Initialize to PTHREAD_MUTEX_INITIALIZER.
11818 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
11819 (morecore_nolock): Rename from morecore. All uses changed.
11820 Use only nolock versions of internal allocation functions.
11821 (_malloc_internal_nolock, _realloc_internal_nolock)
11822 (_free_internal_nolock): New functions created from
11823 _malloc_internal, _realloc_internal, and _free_internal.
11824 (_malloc_internal, _realloc_internal, _free_internal): Use them.
11825 Copy hook value to automatic variable before its use.
11826 (memalign): Copy hook value to automatic variable before its use.
11827
5a0bbd9a
KH
118282007-06-26 Kenichi Handa <handa@m17n.org>
11829
11830 * coding.c (Ffind_operation_coding_system): Docstring improved.
11831 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
11832
9a51747b
DK
118332007-06-25 David Kastrup <dak@gnu.org>
11834
11835 * keymap.c (Fcurrent_active_maps): Add `position' argument.
11836 (Fwhere_is_internal): Adjust call to `current-active-maps' to
11837 cater for additional parameter.
11838
11839 * keymap.h: Adjust number of parameters to `current-active-maps'.
11840
11841 * doc.c (Fsubstitute_command_keys): Adjust call of
11842 `current-active-maps'.
11843
e4305426
DK
118442007-06-25 David Kastrup <dak@gnu.org>
11845
11846 * callint.c (Fcall_interactively): Make the parsing of interactive
11847 specs somewhat more readable.
11848
511a18d9
YM
118492007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11850
11851 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
11852 to scroll bar gap also when bitmap fills fringe. Draw only foreground
11853 if extended background has already been filled.
11854
512eb161
YM
118552007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11856
11857 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
11858 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
11859
11860 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
11861 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
11862 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
11863 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
11864 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
11865 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
11866 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
11867 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
11868 Run timers during dialog popup.
11869 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
11870
2386b1f1
JR
118712007-06-21 Jason Rumney <jasonr@gnu.org>
11872
11873 * image.c (convert_mono_to_color_image): Swap fore and background.
11874
fab8b787
JR
118752007-06-20 Jason Rumney <jasonr@gnu.org>
11876
11877 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
11878 (w32_free_bdf_font): Unmap memory not handle.
11879
15bdd7a0 118802007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
11881
11882 * gmalloc.c (__morecore): Fix the declaration to comply with the
11883 definition.
11884
1bb8a291
JB
118852007-06-20 Juanma Barranquero <lekktu@gmail.com>
11886
11887 * w32term.c (w32_delete_display): Remove leftover declaration.
11888 (w32_define_cursor, w32_initialize): Make static.
11889
11890 * w32.c (_wsa_errlist): Fix typo in error message.
11891 (init_environment): Ignore any environment variable from the
11892 registry having a null value.
11893
92648dea
GM
118942007-06-20 Glenn Morris <rgm@gnu.org>
11895
11896 * Makefile.in (LIBGIF): Default to -lgif.
11897
ff25d115
JR
118982007-06-17 Jason Rumney <jasonr@gnu.org>
11899
11900 * w32menu.c (add_menu_item): Don't use multibyte string functions on
11901 unicode strings.
11902
a1a578a5
JB
119032007-06-16 Juanma Barranquero <lekktu@gmail.com>
11904
11905 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
11906 Fix typo in docstring.
11907
af41f8a8
EZ
119082007-06-16 Eli Zaretskii <eliz@gnu.org>
11909
11910 * w32menu.c (add_menu_item): Escape `&' characters in menu items
11911 and their keybindings.
11912
8b29cab9
CY
119132007-06-15 Chong Yidong <cyd@stupidchicken.com>
11914
11915 * composite.c (update_compositions): Fix last fix.
11916
c433c134
JR
119172007-06-14 Jason Rumney <jasonr@gnu.org>
11918
11919 * w32.c (get_process_times_fn): New function pointer.
11920 (globals_of_w32): Intialize it if present in kernel32.dll.
11921 (w32_get_internal_run_time): New function.
11922
11923 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
11924
553d3164
KH
119252007-06-14 Kenichi Handa <handa@etlken.m17n.org>
11926
11927 * composite.c (update_compositions): Check the validness of
11928 compositions.
11929
446ba96f
YM
119302007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11931
11932 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
11933 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
11934
11935 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
11936 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
11937
11938 * macgui.h (USE_MAC_TOOLBAR): New define.
11939
11940 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
11941 Return immediately unless popup is activated.
11942
11943 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
11944 background to scroll bar gap.
11945 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
11946 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
11947 scroll bars on frame edge. Check fringe background extension.
11948 Don't clear extended fringe background area.
11949 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
11950 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
11951 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
11952 [USE_MAC_TOOLBAR]: New macros.
11953 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
11954 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
11955 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
11956 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
11957 [USE_MAC_TOOLBAR]: New functions.
11958 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
11959 manually if previous repositioning has failed.
11960 (mac_handle_keyboard_event): Use precomputed event kind.
11961 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
11962 as tool bar item click. Handle mouse movement over tool bar items.
11963
11964 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
11965 toolbar_win_gravity.
11966 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
11967 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
11968 Add externs.
11969
11970 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
11971 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
11972
9720173f
CY
119732007-06-14 Chong Yidong <cyd@stupidchicken.com>
11974
11975 * image.c (search_image_cache): Remove unused variable.
11976
1217dd00
CY
119772007-06-13 Chong Yidong <cyd@stupidchicken.com>
11978
11979 * xfns.c, xmenu.c: Link to xaw3d if available.
11980
c5b8e0ea
YM
119812007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11982
11983 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
11984 frame_foreground and frame_background.
11985
11986 * image.c (lookup_image): Save frame foreground and background colors.
11987 (search_image_cache): Check if saved and current frame colors match.
11988
c69b0314
SM
119892007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
11990
11991 * regex.c (regex_compile): Remove the `regnum' counter.
11992 Use bufp->re_nsub instead. Add support for \(?N:RE\).
11993
c9612b8e
SM
119942007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
11995
11996 * term.c: Include intervals.h to declare Fget_text_property.
11997
843d2458
JR
119982007-06-10 Jason Rumney <jasonr@gnu.org>
11999
12000 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
12001
1e0d2d60 120022007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
12003
12004 * callint.c (Fcall_interactively):
12005 * editfns.c (Fdelete_and_extract_region):
12006 * fileio.c (Fread_file_name):
12007 * fns.c (Fmapconcat):
12008 * keyboard.c (cmd_error_internal):
12009 * keymap.c (Fkey_description):
12010 * lread.c (openp):
12011 * minibuf.c (read_minibuf):
12012 * search.c (wordify):
12013 * sunfns.c (sel_read):
12014 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
12015 * xfns.c (x_default_scroll_bar_color_parameter):
12016 * xmenu.c (menu_help_callback):
12017 * xselect.c (Fx_get_atom_name):
12018 * xterm.c (x_term_init): Use empty_unibyte_string.
12019
15bdd7a0 120202007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
12021
12022 * alloc.c (init_strings): Initialize canonical empty strings.
12023 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
12024 canonical empty string when the requested size is 0.
12025
12026 * emacs.c (empty_unibyte_string): Rename from empty_string.
12027 (empty_multibyte_string): New canonical empty string.
12028 (syms_of_emacs): Don't initialize empty_string.
12029
12030 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
12031 string, if appropriate.
12032 (empty_unibyte_string, empty_multibyte_string): New externs.
12033 (empty_string): Remove extern.
12034
12035 * lread.c (syms_of_lread): Use empty_unibyte_string.
12036
42c4c67a
JR
120372007-06-07 Jason Rumney <jasonr@gnu.org>
12038
12039 * s/ms-w32.h: Don't define HAVE_TZNAME.
12040
12041 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
12042
aa8280d3
YM
120432007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12044
12045 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
12046
12047 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
12048 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
12049
12050 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12051 Don't call next handler.
12052 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
12053 Remove argument. Install handler to application.
12054 (set_frame_menubar): Don't change deep_p.
1e0d2d60 12055 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
12056 FRAME_OUTER_TO_INNER_DIFF_Y.
12057 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
12058 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
12059 [HAVE_DIALOGS]: New macros.
12060 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
12061 Use them.
12062 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
12063
12064 * macselect.c [MAC_OSX] (install_service_handler): Rename from
12065 init_service_handler. All callers changed. Return OSStatus value.
12066
12067 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
12068 All callers changed so as not to call SetPortWindowPort.
12069 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
12070 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
12071 mac_draw_string_common.
12072 (mac_draw_image_string_qd): Likewise.
12073 (mac_draw_string_common): Use them. Add INLINE.
12074 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
12075 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
12076 GetGlobalMouse.
12077 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
12078 and FRAME_OUTER_TO_INNER_DIFF_Y.
12079 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
12080 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
12081 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
12082 repositioning window to mac_handle_window_event.
12083 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
12084 saving window location to mac_handle_window_event
12085 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
12086 (install_menu_target_item_handler): Remove argument in extern.
12087 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
12088 Also accept command events.
12089 (do_keystroke): New function created from XTread_socket.
12090 (init_command_handler): Remove functions.
12091 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
12092 and save window location by kEventWindowShowing and kEventWindowHiding
12093 handlers here. Don't call next handler for window state change and
12094 focus events.
12095 (mac_handle_application_event, mac_handle_keyboard_event)
12096 [TARGET_API_MAC_CARBON]: New functions.
12097 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
12098 kEventWindowShowing and kEventWindowHiding events. Move installation
12099 of mouse, font, text input and menu target item handlers to
12100 install_application_handler.
12101 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
12102 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12103 New function.
12104 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12105 Register it.
c9612b8e
SM
12106 (XTread_socket) [TARGET_API_MAC_CARBON]:
12107 Consolidate SendEventToEventTarget calls.
12108 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
12109 Move application activation handler to mac_handle_application_event.
12110 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
12111 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
12112 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
12113 init_command_handler. Call install_application_handler.
12114
12115 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
12116 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
12117
6926c954
GM
121182007-06-07 Glenn Morris <rgm@gnu.org>
12119
12120 * emacs.c (main): Use `emacs-copyright' in --version output.
12121
6fe04c89
CY
121222007-06-06 Chong Yidong <cyd@stupidchicken.com>
12123
c9612b8e 12124 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 12125
7eb0d727
YM
121262007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12127
12128 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
12129
12130 * macgui.h: Replace WindowPtr with WindowRef.
12131
12132 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12133 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12134 Replace ControlHandle with ControlRef.
12135 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
12136
12137 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12138 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12139 Replace ControlHandle with ControlRef.
12140 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
12141 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
12142
12143 * macterm.h (struct scroll_bar): Rename member control_handle_low
12144 and control_handle_high to control_ref_low and control_ref_high.
12145 All uses changed.
12146 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
12147 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
12148 respectively. All uses changed.
12149 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
12150 (install_window_handler, remove_window_handler): Replace WindowPtr
12151 with WindowRef in externs.
12152
65fddb74
JB
121532007-06-05 Juanma Barranquero <lekktu@gmail.com>
12154
12155 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
12156
db1213a9
NR
121572007-06-03 Nick Roberts <nickrob@snap.net.nz>
12158
12159 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
12160
65fddb74 12161 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
12162 Condition on HAVE_GPM too.
12163
12164 * term.c (term_mouse_highlight): Remove unused variables.
12165 (Fterm_open_connection): Set gpm_zerobased to 1.
12166 (term_mouse_movement, term_mouse_click, handle_one_term_event):
12167 Use zero based co-ordinates.
12168 (handle_one_term_event): Report a drag as mouse movement too.
12169
12170 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
12171
d94df25b
CY
121722007-06-03 Chong Yidong <cyd@stupidchicken.com>
12173
12174 * image.c (search_image_cache): New function. Require background
12175 color match if background color is unspecified in the image spec.
12176 (uncache_image, lookup_image): Use it.
12177
4797b6d9
JB
121782007-06-01 Juanma Barranquero <lekktu@gmail.com>
12179
12180 * window.c (Fshrink_window): Reflow docstring.
12181
1ffe7343
NR
121822007-06-02 Chong Yidong <cyd@stupidchicken.com>
12183
12184 * Version 22.1 released.
12185
121862007-06-01 Richard Stallman <rms@gnu.org>
12187
12188 * xfns.c (x_encode_text): Add GCPRO.
12189
121902007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12191
12192 * xfns.c (x_set_name_internal): Save encoded name before
12193 x_encode_text in case string data is relocated.
12194
121952007-05-31 Richard Stallman <rms@gnu.org>
12196
12197 * buffer.c (syms_of_buffer): Doc fix.
12198
121992007-05-30 Nick Roberts <nickrob@snap.net.nz>
12200
12201 * sysdep.c (init_sys_modes): Add rather than replace with
12202 O_NONBLOCK.
12203
12204 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
12205 term_mouse_moveto.
12206
12207 * termhooks.h (term_mouse_moveto): New extern.
12208
12209 * term.c (mouse_face_window): Rename...
12210 (Qmouse_face_window): ...to this.
12211 (term_show_mouse_face, term_clear_mouse_face)
12212 (term_mouse_highlight): Use Qmouse_face_window.
12213 (term_mouse_moveto): New function.
12214 (term_mouse_position): Make it work.
12215 (syms_of_term): Uncomment assignment to mouse_position_hook.
12216 Staticpro Qmouse_face_window.
12217
122182007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12219
12220 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
12221 around current_column call.
12222
122232007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
12224
12225 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
12226 * xdisp.c (next_element_from_buffer):
12227 * window.c (delete_window):
12228 * term.c (term_mouse_highlight):
12229 * msdos.c (getdefdir):
12230 * macterm.c (mac_create_bitmap_from_bitmap_data)
12231 (init_font_name_table):
12232 * fns.c (Fsxhash):
12233 * data.c (Fmake_local_variable):
12234 * ccl.c (ccl_driver): Likewise.
12235
122362007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12237
12238 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
12239 Call mac_wakeup_from_rne on window size change.
12240
122412007-05-25 Chong Yidong <cyd@stupidchicken.com>
12242
12243 * image.c (uncache_image): Fix typo.
12244
122452007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
12246
12247 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
12248
122492007-05-22 Richard Stallman <rms@gnu.org>
12250
12251 * xterm.c (x_connection_closed): Remove NO_RETURN.
12252
122532007-05-22 Martin Rudalics <rudalics@gmx.at>
12254
12255 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
12256
122572007-05-21 Chong Yidong <cyd@stupidchicken.com>
12258
12259 * image.c (uncache_image): New function.
12260 (Fimage_refresh): New function.
12261
880820fe 122622007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
12263
12264 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
12265
122662007-05-20 Nick Roberts <nickrob@snap.net.nz>
12267
12268 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
12269 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
12270
122712007-05-20 Nick Roberts <nickrob@snap.net.nz>
12272
12273 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
12274 conditional on [HAVE_GPM_H].
12275
122762007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
12277
12278 * syntax.c (skip_chars): Update syntax-table only after we checked that
12279 the new location is valid.
12280
122812007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12282
12283 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
12284 mac_get_window_bounds.
12285
122862007-05-20 Nick Roberts <nickrob@snap.net.nz>
12287
12288 * Makefile.in (LIBGPM): Allow it to be set from configure.
12289 If set then link Emacs with it.
12290
12291 * config.in: Regenerate.
12292
12293 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
12294 New externs.
12295
12296 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
12297 Include gpm.h.
12298 (handle_one_term_event, term_gpm): New externs.
12299
12300 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
12301 and allow it to be interrupted by SIGIO.
12302
12303 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
12304 (wait_reading_process_output): Wait on gpm_fd too.
12305 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
12306 (add_gpm_wait_descriptor_called_flag): New variable.
12307 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
12308
12309 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
12310 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
12311 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
12312 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
12313 (make_lispy_event): Add case GPM_CLICK_EVENT.
12314 (read_avail_input): Handle mouse input.
12315
12316 * term.c (write_glyphs_with_face): New function.
12317 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
12318 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
12319 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
12320 (mouse_face_face_id, term_gpm, pos_x, pos_y)
12321 (last_mouse_x, last_mouse_y): New variables.
12322 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
12323 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
12324 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
12325 (Fterm_close_connection): New functions.
12326 (term_init): Initialise mouse_face_window.
12327
123282007-05-19 Chong Yidong <cyd@stupidchicken.com>
12329
12330 * xdisp.c (redisplay_window): If first window line is a
12331 continuation line, recompute the new window start instead of
12332 recentering.
12333
123342007-05-18 Glenn Morris <rgm@gnu.org>
12335
12336 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
12337 Suggested by Alfred M. Szmidt <ams@gnu.org>.
12338
123392007-05-17 Glenn Morris <rgm@gnu.org>
12340
12341 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
12342
123432007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12344
12345 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
12346 dead key repeat and up events.
12347
123482007-05-14 Chong Yidong <cyd@stupidchicken.com>
12349
12350 * image.c (pbm_load): Check image size for monochrome pbm.
12351
123522007-05-13 Chong Yidong <cyd@stupidchicken.com>
12353
12354 * xterm.c (XTread_socket): Revert last change.
12355
123562007-05-12 Chong Yidong <cyd@stupidchicken.com>
12357
12358 * image.c (pbm_load): Correctly check image size for greyscale pbm.
12359
12360 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
12361
123622007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12363
12364 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
12365 mixup (YAILOM).
12366
123672007-05-07 Andreas Schwab <schwab@suse.de>
12368
12369 * keymap.c (Flookup_key): Fix typo in last change.
12370
123712007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12372
12373 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
12374 mapping for unibyte strings.
12375
123762007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12377
12378 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
12379 (Fx_popup_dialog) [MAC_OSX]: Likewise.
12380
123812007-04-29 Richard Stallman <rms@gnu.org>
12382
12383 * insdel.c (replace_range): For undo, record insertion first.
12384
123852007-04-29 Andreas Schwab <schwab@suse.de>
12386
12387 * lisp.h (VECSIZE): Use OFFSETOF.
12388
123892007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12390
12391 * xdisp.c (try_window_reusing_current_matrix): Fix number of
12392 disabled lines.
12393
123942007-04-28 Richard Stallman <rms@gnu.org>
12395
12396 * lread.c (read_escape): In a string, \s is always space.
12397
880820fe 123982007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
12399
12400 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
12401
12402 * gtkutil.c (xg_update_menubar, create_menus): Create empty
12403 submenu for menu bar items.
12404
382c648d 12405See ChangeLog.10 for earlier changes.
6922b018
KH
12406
12407;; Local Variables:
880820fe 12408;; coding: utf-8
33462dfa 12409;; add-log-time-zone-rule: t
6922b018 12410;; End:
2a34a036 12411
59ce725a 12412 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
12413
12414 This file is part of GNU Emacs.
12415
5a1dde61 12416 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 12417 it under the terms of the GNU General Public License as published by
5a1dde61
GM
12418 the Free Software Foundation, either version 3 of the License, or
12419 (at your option) any later version.
7f6d64f8
GM
12420
12421 GNU Emacs is distributed in the hope that it will be useful,
12422 but WITHOUT ANY WARRANTY; without even the implied warranty of
12423 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12424 GNU General Public License for more details.
12425
12426 You should have received a copy of the GNU General Public License
5a1dde61 12427 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 12428
28f60c3d 12429;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40