(ftfont_pattern_entity): New arg extra. Caller changed.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
51cf11be
AS
12008-06-18 Andreas Schwab <schwab@suse.de>
2
3 * font.c (Ffont_face_attributes): Only define if
4 HAVE_WINDOW_SYSTEM.
5 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
6
07d9ba9b
JR
72008-06-18 Jason Rumney <jasonr@gnu.org>
8
9 * w32font.c (w32font_list, w32font_match): Add logging.
10
11 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
12
0c36bc4e
CY
132008-06-17 Chong Yidong <cyd@stupidchicken.com>
14
15 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
16 unknown-spec list. For known key symbols, intern using correct
17 symbol name.
0c36bc4e 18
70d6ecc6
KH
192008-06-17 Kenichi Handa <handa@m17n.org>
20
21 * xfaces.c (realize_default_face): If the frame is not on window
22 system, set the fontset of face to nil.
23
821bc4db
KH
242008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
25
26 * fontset.c (fontset_pattern_regexp): Escape some reg-expr
27 characters.
28
3554e566
JB
292008-06-16 Juanma Barranquero <lekktu@gmail.com>
30
31 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
32 (build_font_name_from_vector): Delete externs.
33
34 * xfaces.c (struct font_name): Don't declare.
35
93eed26b
SM
362008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
37
38 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
39
d756bcd0
CY
402008-06-16 Chong Yidong <cyd@stupidchicken.com>
41
42 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
43
7a18a178
JB
442008-06-16 Juanma Barranquero <lekktu@gmail.com>
45
46 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 47 (Ffont_face_attributes): Doc fix.
7a18a178 48
6f568955
AS
492008-06-16 Andreas Schwab <schwab@suse.de>
50
51 * font.c (Ffont_face_attributes): Fix definition.
52
3ef8c1b4
JR
532008-06-16 Jason Rumney <jasonr@gnu.org>
54
93eed26b 55 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 56
93eed26b
SM
57 * font.c (font_style_symbolic_from_value): Remove.
58 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 59
93eed26b
SM
60 * w32font.c (w32_to_fc_weight): New function.
61 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 62
5e634ec9
KH
632008-06-16 Kenichi Handa <handa@m17n.org>
64
65 * font.c (font_check_object): Delete it.
66 (font_clear_cache): Check if a font-object is alive.
67 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
68 font-object to nil.
69 (font_close_object): Don't check FONT_CLOSE_OBJECT.
70 (font_at): Don't call font_check_object.
2babb359 71 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 72
6409a955
KY
732008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
74
75 * puresize.h (BASE_PURESIZE): Increase to 1230000.
76
ce4eaddb
CY
772008-06-16 Chong Yidong <cyd@stupidchicken.com>
78
79 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
80
523dbe64
CY
812008-06-15 Chong Yidong <cyd@stupidchicken.com>
82
54b2ab27 83 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
84 (font_unparse_fcname): Handle data in family and foundry indices
85 as symbols, not strings.
86 (font_unparse_gtkname, Ffont_face_attributes): New functions.
87
54b2ab27 88 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
89
90 * font.h (font_unparse_gtkname): Add prototype.
91
9f296082
KH
922008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
93
54b2ab27 94 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 95
3306c6dc
AS
962008-06-15 Andreas Schwab <schwab@suse.de>
97
98 * font.c (font_update_drivers): Fix crash when no drivers match.
99
a099c27a
SM
1002008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
101
102 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
103 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
104
a8aa344d
SM
1052008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
106
107 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
108
a879ee6f
SM
1092008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
110
111 * process.c (Fserial_process_configure, Fprocess_send_eof):
112 Use EQ to compare Lisp_Objects.
113
6fe9826d
JR
1142008-06-13 Jason Rumney <jasonr@gnu.org>
115
a879ee6f 116 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 117
a879ee6f
SM
118 * w32font.c (logfont_to_fcname): New function.
119 (Fx_select_font): New font dialog function compatible with
120 GTK/fontconfig version.
6fe9826d 121
a879ee6f
SM
122 * font.c (font_style_symbolic_from_value): New function.
123 (font_style_symbolic): Use it.
6fe9826d 124
a879ee6f 125 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 126
17ab8f5d
JB
1272008-06-13 Juanma Barranquero <lekktu@gmail.com>
128
129 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
130 <font-width-table>: Fix typos in docstrings.
131
d888760c
GM
1322008-06-13 Daniel Engeler <engeler@gmail.com>
133
134 These changes add serial port access.
135 * process.c: Add HAVE_SERIAL.
136 (Fdelete_process, Fprocess_status, Fset_process_buffer)
137 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
138 (list_processes_1, select_wrapper, Fstop_process)
139 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
140 (status_notify): Modify to handle serial processes.
141 [HAVE_SERIAL] (Fserial_process_configure)
142 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
143 New functions.
144 * process.h (struct Lisp_Process): Add `type'.
145 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
146 New functions.
147 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
148 serial ports.
149 (serial_open, serial_configure) New functions.
150 * w32.h: Add FILE_SERIAL.
151 (struct _child_process): Add ovl_read, ovl_write.
152
f4cc0153
KH
1532008-06-13 Kenichi Handa <handa@m17n.org>
154
155 * dispextern.h (enum lface_attribute_index): New member
156 LFACE_FOUNDRY_INDEX.
157
158 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 159 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 160 style symbols.
7a18e381 161 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
162 order of font-driver to scores.
163 (font_list_entities): Don't check alternate_familes here.
164 (font_clear_prop): Handle foundry.
165 (font_update_lface): Don't parse "foundry-family" form here.
166 Handle FONT_FOUNDRY_INDEX.
167 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 168 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 169 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 170 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
171 (free_font_driver_list): Delete it.
172 (font_update_drivers): Preserve the order of backends.
173 (syms_of_font): Setting of sort_shift_bits adjusted for the change
174 of font_score and font_sort_entites.
175 (font_update_sort_order): Likewise.
176
177 * xfaces.c (LFACE_FOUNDRY): New macro.
178 (check_lface_attrs): Check foundry.
7a18e381 179 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
180 (merge_face_vectors): Check foundry.
181 (merge_face_ref): Likewise.
182 (Finternal_set_lisp_face_attribute): Likewise.
183 (x_update_menu_appearance): Likewise.
184 (Finternal_get_lisp_face_attribute): Likewise.
185 (lface_hash): Likewise.
186 (lface_same_font_attributes_p): Likewise.
187 (x_supports_face_attributes_p): Likewise.
188 (tty_supports_face_attributes_p): Likewise.
189 (Finternal_set_alternative_font_family_alist): Intern strings.
190 (Finternal_set_alternative_font_registry_alist): Downcase strings.
191 (realize_default_face): Set LFACE_FOUNDRY (lface).
192
193 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
194 font-driver at first.
195
196 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
197
d434fef5 1982008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
199
200 * lread.c (Fload): Use xfree, not free on saved_doc_string.
201
9c5e177e
JM
2022008-06-12 Jim Meyering <meyering@redhat.com>
203
d434fef5 204 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
205 * unexmacosx.c (unexec_free): Ignore a NULL argument.
206
2afc21f5
SM
2072008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
208
209 * character.h (CHAR_TO_BYTE_SAFE): New macro.
210 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
211 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
212 (WEAK_ALIAS): Simplify.
213 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
214 when searching a unibyte buffer.
215
76c0de62
CY
2162008-06-12 Chong Yidong <cyd@stupidchicken.com>
217
218 * xfns.c (Fx_select_font): Rename from x-font-dialog.
219
0500dcc9
JB
2202008-06-12 Juanma Barranquero <lekktu@gmail.com>
221
222 * w32font.c: Include ctype.h.
223
f42adef6
JR
2242008-06-11 Jason Rumney <jasonr@gnu.org>
225
2afc21f5
SM
226 * w32font.c (w32font_encode_char): Detect missing glyphs that are
227 misreported as space.
228 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
229 as aliases for registry iso10646-1.
f42adef6 230
4b7cdc0e
SM
2312008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
232
233 * buffer.c (clone_per_buffer_values): Skip `name'.
234
cc02ebe1
CY
2352008-06-11 Chong Yidong <cyd@stupidchicken.com>
236
237 * font.c (font_parse_fcname): Fix last change; accept decimal
238 points in font size.
239
351ccb76
JR
2402008-06-10 Jason Rumney <jasonr@gnu.org>
241
0500dcc9
JB
242 * w32uniscribe.c (add_opentype_font_name_to_list):
243 Skip non unicode fonts.
351ccb76 244
f473ed6f
CY
2452008-06-10 Chong Yidong <cyd@stupidchicken.com>
246
247 * xfns.c (Fx_font_dialog): New function.
248
5d6333d5 249 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
250 xg_file_response_callback.
251 (pop_down_dialog): Rename from pop_down_file_dialog.
252 (xg_get_file_name): Callers changed.
253 (xg_get_font_name): New function.
254
5d6333d5 255 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 256
2a3bd2e1
SM
2572008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
258
259 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
260 x_underline_minimum_display_offset.
261 (syms_of_xdisp): Declare it here rather than in xterm.c.
262 * dispextern.h (underline_minimum_offset): Declare it.
263 * w32term.c (x_draw_glyph_string): Use it.
264 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
265 (syms_of_xterm): Don't declare it any more.
266 (x_draw_glyph_string): Adjust to the new name.
267
d5dc6163
SM
2682008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
269
270 * xterm.c (x_underline_minimum_display_offset): New var.
271 (x_draw_glyph_string): Use it.
272 (syms_of_xterm): Declare it.
273
0abdd197
CY
2742008-06-10 Chong Yidong <cyd@stupidchicken.com>
275
276 * font.c (font_parse_fcname): Accept GTK-style font names too.
277
a1562258
SM
2782008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
279
928b5acc
SM
280 * dired.c (file_name_completion): Don't return t if the match is exact
281 but with different capitalization.
282 * minibuf.c (Ftry_completion): Simplify.
283
a1562258
SM
284 * window.c (Vwindow_point_insertion_type): New var.
285 (set_window_buffer): Use it.
286 (syms_of_window): Init and export it to Lisp.
287
9552dbd1
KH
2882008-06-10 Kenichi Handa <handa@m17n.org>
289
290 * font.h (font_intern_prop): Prototype adjusted.
291
292 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
293 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
294 Adjust for the change of font_intern_prop.
9552dbd1 295
a1562258
SM
296 * ftfont.c (ftfont_pattern_entity):
297 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
298 (w32_registry):
299 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
300 the change of font_intern_prop.
301
8993ad2e
JB
3022008-06-09 Juanma Barranquero <lekktu@gmail.com>
303
304 * w32menu.c (digest_single_submenu): Declare extern.
305
0c2258fc
JR
3062008-06-09 Jason Rumney <jasonr@gnu.org>
307
a1562258 308 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 309
a1562258
SM
310 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
311 (parse_single_submenu): Remove.
312 (digest_single_submenu): Remove.
313 (syms_of_w32menu): Don't initialise variables that have moved
314 to menu.c.
315 (set_frame_menubar): Sync with version in xmenu.c.
316 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 317
8993ad2e
JB
318 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
319 Make static again.
0c2258fc 320
02246cb8
JR
3212008-06-09 Jason Rumney <jasonr@gnu.org>
322
8993ad2e
JB
323 Changes to w32 files related to the move of common menu code
324 to menu.c on 2008-06-08 by Chong Yidong.
325
326 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
327 defs to w32gui.h.
328 (single_keymap_panes, push_menu_item, push_menu_pane):
329 Make globally visible.
330
d434fef5
JB
331 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
332 (local_free, malloc_widget_value, free_widget_value)
333 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
334 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
335 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 336 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 337 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
338 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
339 (init_menu_items, finish_menu_items, discard_menu_items)
340 (grow_menu_items, push_submenu_start, push_submenu_end)
341 (push_left_right_boundary, push_menu_pane, push_menu_item)
342 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 343 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
344 (update_submenu_strings): Remove functions.
345 (xmalloc_widget_value): Remove and declare extern.
346
347 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
348 (OBJ1): Build it.
349
350 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
351 (local_heap, local_alloc, local_free, malloc_widget_value)
352 (free_widget_value): Define here.
02246cb8 353
9e1bb909
KH
3542008-06-09 Kenichi Handa <handa@m17n.org>
355
366664ad
KH
356 * font.h (Qascii_0): Extern it.
357
9e1bb909
KH
358 * font.c (Qascii_0): New variable.
359 (syms_of_font): DEFSYM it.
360 (font_open_by_name): If the registry "iso8859-1" fails, try also
361 "ascii-0".
362
363 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
364
b2ee479e
KH
3652008-06-08 Kenichi Handa <handa@m17n.org>
366
8f440b79 367 * .gdbinit (xfont): New command.
b2ee479e 368
01ef9d36
AS
3692008-06-08 Andreas Schwab <schwab@suse.de>
370
a4240420
AS
371 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
372 * Makefile.in (menu.o): Update dependencies.
373
0181bf66 374 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
375 * emacs.c (main): Always call syms_of_menu.
376 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
377
c07cbae6
CY
3782008-06-08 Chong Yidong <cyd@stupidchicken.com>
379
380 * Makefile.in: Compile menu.c.
381
382 * lisp.h: Declare syms_of_menu.
383
384 * emacs.c (main): Call syms_of_menu.
385
386 * keyboard.h: Relocate platform-independent menu definitions from
387 xmenu.c.
388
389 * menu.c: New file. Relocate platform-independent menu
904d8c69 390 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
391
392 * xmenu.c: Remove platform-independent menu definitions.
393 (menu_items menu_items_inuse, menu_items_allocated)
394 (menu_items_used, menu_items_n_panes)
395 (menu_items_submenu_depth): Move to keyboard.h.
396 (init_menu_items, finish_menu_items, unuse_menu_items)
397 (discard_menu_items, restore_menu_items, save_menu_items)
398 (grow_menu_items, push_submenu_start, push_submenu_end)
399 (push_left_right_boundary, push_menu_pane, push_menu_item)
400 (keymap_panes, single_keymap_panes, single_menu_item)
401 (list_of_panes, list_of_items, find_and_call_menu_selection)
402 (xmalloc_widget_value, free_menubar_widget_value_tree)
403 (parse_single_submenu, digest_single_submenu)
404 (update_submenu_strings): Move to menu.c.
405
4958ed94
SM
4062008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
407
408 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
409
408b8ab4
MB
4102008-06-06 Miles Bader <miles@gnu.org>
411
412 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
413 face, not frame default.
414
87478b52
SM
4152008-06-05 Martin Rudalics <rudalics@gmx.at>
416
417 * window.c (pop_up_windows, pop_up_frames)
418 (display_buffer_reuse_frames, Vpop_up_frame_function)
419 (Vdisplay_buffer_function, Veven_window_heights)
420 (Vspecial_display_buffer_names, Vspecial_display_regexps)
421 (Vspecial_display_function, Vsame_window_buffer_names)
422 (Vsame_window_regexps, split_height_threshold)
423 (Vsplit_window_preferred_function): Move those vars to window.el.
424 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
425 (Fdisplay_buffer): Move those functions to window.el.
426 (syms_of_window): Remove corresponding declarations.
427 (display_buffer): New function.
428 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
429 * dispnew.c (Flast_nonminibuf_frame): New function.
430 * buffer.c (Fpop_to_buffer): Move to window.el.
431
9e0e0d77
SM
4322008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
433
434 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
435
4a485df8
KH
4362008-06-05 Kenichi Handa <handa@m17n.org>
437
438 * coding.c (detect_coding): Fix previous change.
439 (detect_coding_system): Likewise.
440
8ba31f36
SM
4412008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
442
c0dc8f64
SM
443 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
444
8ba31f36
SM
445 * keymap.c (Vminibuffer_local_filename_must_match_map):
446 Rename from Vminibuffer_local_must_match_filename_map.
447 (syms_of_keymap):
448 * minibuf.c (Fcompleting_read): Adjust accordingly.
449 * commands.h: Rename declaration as well.
450
7740d2c7
KH
4512008-06-05 Kenichi Handa <handa@m17n.org>
452
e7438ece
KH
453 * font.c (Ffont_spec): Don't use font_parse_family_registry for
454 family name.
455 (Ffont_put): Likewise.
456
457 * fontset.c (fontset_find_font): Call font_open_for_lface with the
458 current font-spec.
459
7740d2c7
KH
460 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
461 is unspecified.
462
463 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
464 are the same as those of default face, realize a new fontset from
465 default->fontset.
9e0e0d77 466 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 467
c876b227
SM
4682008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
469
470 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
471 (move_it_in_display_line): New wrapper.
472
473 * window.c (window_scroll_pixel_based_preserve_x)
474 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
475 (window_scroll_pixel_based, window_scroll_line_based):
476 Use them to preserve column positions.
477 (syms_of_window): Initialize them.
478
479 * indent.c (Fvertical_motion): Extend first arg to allow passing an
480 (HPOS . VPOS) pair.
481
482 * dispextern.h (move_it_in_display_line): Declare.
483
927abf37
JB
4842008-06-05 Juanma Barranquero <lekktu@gmail.com>
485
486 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
487 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
488 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
489
9d14503e
JB
4902008-06-04 Juanma Barranquero <lekktu@gmail.com>
491
492 * window.c (Fset_window_parameter): Doc fix.
493 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
494
e6841c3b
JB
4952008-06-04 Joakim Verona <joakim@verona.se>
496
497 * window.h (struct window): Add new member window_parameters.
498
499 * window.c (Fwindow_parameters, Fwindow_parameter)
500 (Fset_window_parameter): New defuns.
501 (syms_of_window): Defsubr the new defuns.
502 (make_window): Initialize window_parameters to nil.
503
4ba50634
JPW
5042008-06-04 John Paul Wallington <jpw@pobox.com>
505
506 * eval.c (Fdefmacro): Doc fix.
507
c0e16b14
KH
5082008-06-04 Kenichi Handa <handa@m17n.org>
509
510 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 511 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
512 (detect_coding_system): Fix handling of coding->head_ascii.
513
0615d903
AS
5142008-06-03 Andreas Schwab <schwab@suse.de>
515
516 * font.c (font_prop_validate_spacing): Fix last change.
517
8a1816bb
KH
5182008-06-03 Kenichi Handa <handa@m17n.org>
519
eea9c5c4
KH
520 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
521 (font_parse_fcname): Fix handling of unknown key.
522
523 * xfont.c (xfont_list): Try an alias.
524
8a1816bb
KH
525 * charset.c (char_charset): Return NULL if the arg charset_list is
526 specified and C doesn't belong to any of them.
527
2f593f4c 5282008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
529
530 * font.c (font_pixel_size): Don't take cdr of an integer.
531
c2cd06e6
JM
5322008-06-02 Jim Meyering <meyering@redhat.com>
533
70fdbb46
JM
534 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
535 * alloc.c (xfree): Return right away for a NULL arg.
536 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
537 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
538 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
539 (create_apple_event_from_drag_ref, cfstring_create_normalized):
540 Likewise.
70fdbb46
JM
541 * doprnt.c (doprnt1): Likewise.
542 * frame.c (frame): Likewise.
543 * keyboard.c (wipe_kboard): Likewise.
1f204af3 544 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
545 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
546 * term.c (tty_default_color_capabilities, maybe_fatal)
547 (delete_tty): Likewise.
548 * w16select.c (string): Likewise.
549 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
550 * w32bdf.c (w32_free_bdf_font): Likewise.
551 * w32fns.c (w32_unload_font): Likewise.
552 * w32font.c (w32font_close): Likewise.
553 * window.c (size_window): Likewise.
554 * xselect.c (receive_incremental_selection): Likewise.
555 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
556 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
557 * w32.c (stat): Likewise.
558
2f593f4c 559 Remove useless if-before-free tests.
70fdbb46
JM
560 * editfns.c (Fset_time_zone_rule): Likewise.
561 * lread.c (nosuffix): Likewise.
562 * ralloc.c (get_bloc): Likewise.
563 * regex.c (reg_free): Likewise.
564 * xftfont.c (xftfont_open, xftfont_close): Likewise.
565 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
566 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 567
4fc1984a
KH
5682008-06-02 Kenichi Handa <handa@m17n.org>
569
1d1e1245
KH
570 * font.c (font_find_for_lface): Handle float font size.
571 (font_open_for_lface): Likewise.
572
4fc1984a
KH
573 * xfaces.c (x_supports_face_attributes_p): Check face->font before
574 comparing the properties.
575
aee986fd
JR
5762008-06-01 Jason Rumney <jasonr@gnu.org>
577
e6841c3b
JB
578 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
579 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
580 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
581 Don't add empty script list.
582 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 583
60a3d7ee
DN
5842008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
585
aee986fd 586 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
587 ".." has been used elsewhere in the file for a long time.
588 (LIBXT_STATIC): Remove conditional based on unused variable.
589
f2cec7a9
MB
5902008-06-01 Miles Bader <miles@gnu.org>
591
592 * xfaces.c (Vface_remapping_alist): New variable.
593 (syms_of_xfaces): Initialize it.
594 (enum named_merge_point_kind): New type.
595 (struct named_merge_point): Add `named_merge_point_kind' field.
596 (push_named_merge_point): Make cycle detection respect different
597 named-merge-point kinds.
c876b227 598 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
599 Remove face-name alias resolution.
600 (lface_from_face_name): New definition using
601 `lface_from_face_name_no_resolve'.
c876b227 602 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
603 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
604 (get_lface_attributes): New definition that layers face-remapping on
605 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
606 (lookup_basic_face): New function.
607 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
608 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
609 `get_lface_attributes'.
610 (face_at_buffer_position): Use `lookup_basic_face' to lookup
611 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
612 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
613
614 * xdisp.c (init_iterator): Pass base_face_id through
615 `lookup_basic_face' when we actually use it as a face-id.
616 (handle_single_display_prop): Use `lookup_basic_face' to lookup
617 DEFAULT_FACE_ID.
618
619 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
620 lookup the initial face-id.
621
622 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
623
518c0b83
JB
6242008-06-01 Juanma Barranquero <lekktu@gmail.com>
625
626 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
627 (Fremove_text_properties): Fix typos in docstrings.
628
719b3d63
KH
6292008-05-31 Kenichi Handa <handa@m17n.org>
630
e4c93315
KH
631 * font.c (font_list_entities): Fix the car part of data to be
632 stored in the cache.
633
719b3d63
KH
634 * ftfont.c (ftfont_font_format): Don't use strcasestr.
635
d0827857
SM
6362008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
637
638 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
639 Add a `test' argument so another predicate than `equal' can be used.
640 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
641 (map_char_table): Remove unused vars `c' and `i'.
642 * lisp.h (Foptimize_char_table): Adjust declaration.
643 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
644
a266686a
KH
6452008-05-30 Kenichi Handa <handa@m17n.org>
646
d0827857 647 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
648 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
649 defined.
650
fd9440c5
SM
6512008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
652
653 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
654 (Fmake_variable_frame_local): Disallow mixing buffer-local and
655 frame-local settings for the same variable.
656
fd2ae9b2
KH
6572008-05-30 Kenichi Handa <handa@m17n.org>
658
9e0e0d77 659 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
660 (syms_of_fontset): Delete defsubr of Sfont_info.
661
662 * font.c (font_style_to_value, font_score): Delete casting of the
663 args to xstcasecmp.
664 (register_font_driver): Increment num_font_drivers only when
665 registering the driver globally.
9e0e0d77 666 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
667 (syms_of_font): Defsubr Sfont_info.
668
eaf11618
KH
6692008-05-29 Kenichi Handa <handa@m17n.org>
670
671 * coding.h (enum define_coding_utf8_arg_index): New enum.
672 (enum coding_attr_index): Change coding_attr_utf_16_bom to
673 coding_attr_utf_bom.
fd9440c5
SM
674 (enum utf_bom_type): Rename from utf_16_bom_type.
675 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
676 (struct coding_system): Add utf_8_bom in `spec' union.
677
678 * coding.c (CODING_UTF_8_BOM): New macro.
679 (enum coding_category): Delete coding_category_utf_8, add
680 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
681 coding_category_utf_8_sig.
682 (CATEGORY_MASK_UTF_8): Delete it.
683 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
684 (CATEGORY_MASK_UTF_8_SIG): New macros.
685 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
686 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
687 CATEGORY_MASK_UTF_8_SIG.
688 (CATEGORY_MASK_UTF_8): New macro.
689 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
690 (detect_coding_utf_8): Check BOM.
691 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 692 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
693 (encode_coding_utf_16): Likewise.
694 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
695 (detect_coding, detect_coding_system): Handle utf-8-auto.
696 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
697 (syms_of_coding): Fix setting up of Vcoding_category_table.
698
891bd142
SM
6992008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
700
701 * process.c (Faccept_process_output): If `millisec' is non-nil,
702 `seconds' default to 0.
703 (wait_reading_process_output): Also return non-nil if we read output
704 from a non-running process.
705
1519d52e
JR
7062008-05-29 Jason Rumney <jasonr@gnu.org>
707
fd9440c5
SM
708 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
709 `raster' specified.
710 (add_font_entity_to_list): Allow non-opentype truetype fonts back
711 in the uniscribe backend, but disallow any font that has no
712 unicode subrange support.
1519d52e 713
d5ab09cd
JB
7142008-05-29 Juanma Barranquero <lekktu@gmail.com>
715
716 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
717 Fix typos in docstrings.
718
a4eec626
KH
7192008-05-29 Kenichi Handa <handa@m17n.org>
720
721 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 722 (Fx_family_fonts): Set frame correctly.
a4eec626 723
a6e0b7e5
JR
7242008-05-28 Jason Rumney <jasonr@gnu.org>
725
d5ab09cd 726 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 727
6b3d752c
SM
7282008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
729
730 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
731 calling build_annotations.
732
c3f9fba8
JB
7332008-05-28 Juanma Barranquero <lekktu@gmail.com>
734
735 * coding.c (Fdecode_coding_region, Fencode_coding_region)
736 (Fencode_coding_string):
737 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
738 <latin-extra-code-table>: Fix typos in docstrings.
739 (syms_of_coding) <coding-system-alist>: Doc fix.
740 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
741
00c670e1
KH
7422008-05-28 Kenichi Handa <handa@m17n.org>
743
b75d7f28
KH
744 * fontset.c (Ffont_info): Don't call font_close_object.
745
746 * font.c (font_parse_family_registry): Use Ffont_put to validate
747 foundry and family.
748 (font_delete_unmatched): Don't check spacing.
749 (font_list_entities): Add spacing to the spec to list fonts.
750
751 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 752 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 753
00c670e1
KH
754 * coding.c (encode_coding_raw_text): Fix previous change.
755 (encode_coding_object): When the dst_object is a buffer and is
756 different from src_object, move gap to PT.
757
45feca91
CY
7582008-05-27 Chong Yidong <cyd@stupidchicken.com>
759
c3f9fba8 760 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 761
5dd5d9eb
SM
7622008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
763
01d45367
SM
764 * coding.c (encode_coding_raw_text): Set coding->produced_char for
765 all branches. Compute it differently.
766
5dd5d9eb
SM
767 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
768
9c623c85
JB
7692008-05-27 Juanma Barranquero <lekktu@gmail.com>
770
771 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
772 into "else if () ... else ...".
773
943f2093
JR
7742008-05-27 Jason Rumney <jasonr@gnu.org>
775
5dd5d9eb
SM
776 * w32font.c (w32font_open_internal): Determine if glyph indices
777 are likely to work here.
943f2093 778
7385fe74
CY
7792008-05-27 Chong Yidong <cyd@stupidchicken.com>
780
781 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
782 draw overlap glyphs with appropriate highlighting.
783
4f64a164
KH
7842008-05-27 Kenichi Handa <handa@m17n.org>
785
786 * xfont.c (xfont_open): Fix calculation of font->average_width.
787
1fb5aad7
SM
7882008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
789
790 * casefiddle.c (casify_object): Try to guess better whether the
791 argument is a byte or a char.
792
f8eb1603
AS
7932008-05-26 Andreas Schwab <schwab@suse.de>
794
1fb5aad7
SM
795 * xselect.c (x_reply_selection_request): Properly handle format == 32.
796 Always send multiples of format size.
5a9c35e5 797
f8eb1603
AS
798 * xterm.c (x_set_frame_alpha): Fix type mismatch.
799
ba93d684
JR
8002008-05-26 Jason Rumney <jasonr@gnu.org>
801
1fb5aad7
SM
802 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
803 (compute_metrics): Don't set failure if we just cleared the cache.
804 (w32_weight_table): Remove unused variable.
805 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
806 backwards compatibility.
ba93d684 807
505ecc49
KH
8082008-05-25 Kenichi Handa <handa@m17n.org>
809
1fb5aad7
SM
810 * w32term.c (x_draw_glyph_string):
811 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
812
813 * xfaces.c: Delete unused function prototypes.
814 (xstrlwr, font_frame): Delete them.
815 (clear_face_cache): Delete unused variable.
816
1fb5aad7
SM
817 * xftfont.c (xftfont_open): Delete unused variable.
818 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
819
820 * ftxfont.c (ftxfont_open): Delete unused variable.
821
822 * fontset.c (face_for_char): Optimize for the case of no charset
823 property.
824
825 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
826 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
827 (otf_open, font_otf_capability, generate_otf_features)
828 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 829 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
830 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
831 (syms_of_font): Codes for accessing above commented out.
832
f481eb31
EZ
8332008-05-24 Eli Zaretskii <eliz@gnu.org>
834
835 * w32proc.c: Include dispextern.h.
836
837 * w32.c: Include dispextern.h.
838
20746fe4
JB
8392008-05-23 Juanma Barranquero <lekktu@gmail.com>
840
841 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
842 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
843 Fix typos in docstrings.
844
e7150846
JR
8452008-05-23 Jason Rumney <jasonr@gnu.org>
846
20746fe4 847 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 848
dbf46ba6
KH
8492008-05-23 Kenichi Handa <handa@m17n.org>
850
6c652beb
KH
851 * charset.c (Qemacs, charset_emacs): New variables.
852 (char_charset): Fix for non-Unicode characters.
853 (syms_of_charset): Define charset_emacs.
854
baf4d3b3 855 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
856 s->underline_thickness and s->underline_position. Be sure to draw
857 underline within the current line area.
baf4d3b3
KH
858
859 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 860 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 861 underline within the current line area.
baf4d3b3 862
dbf46ba6
KH
863 * fontset.c: Delete unused variables and add casting for char *
864 throughout the file.
865 (fontset_font): Try the fallback fonts of the current fontset
866 before consulting the default fontset.
867
868 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
869
9e0e0d77 870 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 871
3b780338
JR
8722008-05-22 Jason Rumney <jasonr@gnu.org>
873
20746fe4 874 * font.c: Don't include strings.h.
577eba22 875
9e0e0d77 876 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 877
20746fe4
JB
878 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
879 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
880 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
881 to call xstrcasecmp.
05131107 882
b1722a46 883 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 884
b1722a46 885 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 886
b1722a46 887 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 888
b1722a46 889 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 890
a30e1957
KH
8912008-05-22 Kenichi Handa <handa@m17n.org>
892
20746fe4 893 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 894
20746fe4 895 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
896 change of font_style_table.
897
a30e1957
KH
898 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
899 two args.
900
901 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
902 two args.
903
631248e5
SM
9042008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
905
906 * minibuf.c (keys_of_minibuf): Delete.
907 * lisp.h (keys_of_minibuf): Delete.
908 * emacs.c (main): Don't call keys_of_minibuf.
909
318548be
KH
9102008-05-22 Kenichi Handa <handa@m17n.org>
911
631248e5 912 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
913 ftfont_list_generic_family. Return a single family for each
914 generic family.
915 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
916 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
917 Call font_add_log.
318548be
KH
918 (ftfont_match): Call font_add_log.
919
920 * font.h (Ffont_xlfd_name): EXFUN adjusted.
921 (FONT_DEBUG): Define it.
922 (font_add_log): Extern it.
631248e5 923 (font_assert): Rename from xassert.
318548be
KH
924
925 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
926 (xfont_list_family): Call font_add_log.
927 (xfont_match): Likewise.
631248e5 928 (memq_no_quit): Delete.
318548be
KH
929
930 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
931 call of Ffont_xlfd_name.
932
933 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 934 (swidth_table): Move to font.c.
318548be
KH
935
936 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 937 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
938 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
939 New variables.
631248e5
SM
940 (struct table_entry): Move from xfaces.c and modified.
941 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 942 contents adjusted for the change of struct table_entry.
20746fe4 943 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 944 format change of font_style_table.
318548be
KH
945 (font_parse_family_registry): Don't overwrite existing foundry and
946 family of font_spec.
947 (font_score): Fix calculation of diff for sizes.
948 (font_sort_entites): Call font_add_log.
949 (font_delete_unmatched): Return a newly created list.
950 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
951 (font_matching_entity, font_open_entity, font_close_entity):
952 Call font_add_log.
318548be 953 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 954 (Finternal_set_font_style_table): Delete.
318548be
KH
955 (BUILD_STYLE_TABLE): New macro.
956 (build_style_table): New function.
957 (Vfont_log, font_log_env_checked): New variables.
958 (font_add_log): New function.
959 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
960 Declare Lisp variables "font-weight-table", "font-slant-table",
961 "font-width-table", and "font-log". Initialize font_style_table.
962
6aac1c03
DN
9632008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
964
bcc850aa 965 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 966
7950790f
GM
9672008-05-21 Seiji Zenitani <zenitani@mac.com>
968 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 969
7950790f 970 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 971 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 972 (x_set_alpha): New function.
a2979e8e 973
7950790f 974 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 975
7950790f
GM
976 * xfns.c (x-create-frame, Qalpha):
977 Initialize the frame parameter `alpha'.
b9fb2c45
GM
978 * xterm.c (OPAQUE, OPACITY): New.
979 (x_set_frame_alpha): New function.
980 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 981
7950790f
GM
982 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
983 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 984
5c2a72d9
JR
9852008-05-20 Jason Rumney <jasonr@gnu.org>
986
20746fe4
JB
987 * w32font.c (add_font_entity_to_list): Don't add non-opentype
988 truetype fonts to opentype list.
5c2a72d9 989
eb152aa9
JB
9902008-05-20 Juanma Barranquero <lekktu@gmail.com>
991
992 * fontset.c (Ffontset_info): Doc fix.
993 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
994 <ignore-relative-composition>: Fix typos in docstrings.
995
996 * font.c (syms-of-font) <font-encoding-alist>:
997 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
998 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
999 (Ffont_otf_alternates): Doc fixes.
1000
ad00e1a3
KH
10012008-05-20 Kenichi Handa <handa@m17n.org>
1002
1003 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
1004 font.h through out the file.
9e0e0d77 1005 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 1006 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
1007 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
1008
1009 * emacs.c (main): Call syms_of_font unconditionally.
1010
1011 * font.h (find_font_encoding): Extern it.
1012
9e0e0d77 1013 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
1014 fontset.c.
1015 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
1016 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
1017 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
1018 only when HAVE_WINDOW_SYSTEM is defined.
1019 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
1020 when HAVE_WINDOW_SYSTEM is defined.
1021
9e0e0d77
SM
1022 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
1023 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
1024
1025 * xfaces.c: Include font.h unconditionally.
1026 (merge_face_ref, merge_face_vectors)
1027 (Finternal_set_lisp_face_attribute): Cancel the previous change.
1028
40a69fac
SM
10292008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
1030
1031 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
1032 indirect_variable.
1033 * eval.c (lisp_indirect_variable): New fun.
1034 (Fuser_variable_p): Use it.
1035
8c2dccbf
SM
10362008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1037
ad97b375
SM
1038 * lisp.h (indirect_variable):
1039 * data.c (indirect_variable, let_shadows_buffer_binding_p):
1040 Use Lisp_Symbol pointers rather than Lisp_Object.
1041 Adjust callers.
1042 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
1043 To this end, change calling-convention.
1044
8c2dccbf
SM
1045 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
1046 if some non-hidden buffers are selected by string&pred.
1047
ad97b375
SM
10482008-05-19 Chong Yidong <cyd@stupidchicken.com>
1049
1050 * process.c (wait_reading_process_output): Always check status
1051 when in batch mode.
1052
25b81df4
KH
10532008-05-19 Kenichi Handa <handa@m17n.org>
1054
1055 * font.c (font_list_entities): Fix handling of cache.
1056 (font_matching_entity): Likewise.
1057
8c2dccbf 1058 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 1059 (ft_face_cache): New variable.
1f204af3 1060 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 1061 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
1062 (fc_charset_table): New variable.
1063 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
1064 . FC_CHARSET_IDX) as :font-entity property in the font entity.
1065 Callers changed.
dde8403f 1066 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
1067 (ftfont_spec_pattern): New argument fc_charset_idx.
1068 Check registry more rigidly. Change callers.
a2979e8e 1069 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
1070 change of :font-entity property of the font.
1071
a2979e8e 1072 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
1073 property of the font.
1074
d4a1d553
JB
10752008-05-18 Juanma Barranquero <lekktu@gmail.com>
1076
1077 * coding.c (Fcoding_system_p): Rename argument to match docstring.
1078 (Funencodable_char_position, Fcheck_coding_systems_region)
1079 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
1080 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
1081 (Ffind_operation_coding_system, Fset_coding_system_priority)
1082 (Fcoding_system_eol_type): Doc fixes.
1083
07cfc4e7
GM
10842008-05-17 Glenn Morris <rgm@gnu.org>
1085
1086 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
1087
1cab27d2
EZ
10882008-05-16 Eli Zaretskii <eliz@gnu.org>
1089
1090 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
1091 and st_gid.
1092
dde8403f 1093 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
1094 HAVE_WINDOW_SYSTEM is not defined.
1095
1096 * xfaces.c (merge_face_ref, merge_face_vectors)
1097 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
1098 HAVE_WINDOW_SYSTEM is defined.
1099 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
1100
86b89713
SM
11012008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
1102
1103 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
1104
6750bd93
YM
11052008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1106
62867b11 1107 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 1108
79f105c9
KH
11092008-05-15 Kenichi Handa <handa@m17n.org>
1110
1111 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
1112 preference.
1113
6b33da9f
GM
11142008-05-15 Glenn Morris <rgm@gnu.org>
1115
1116 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
1117
d0e4433b
CY
11182008-05-15 Chong Yidong <cyd@stupidchicken.com>
1119
1120 * fns.c (init_fns): Don't initialize weak_hash_tables here.
1121 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
1122
1123 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
1124
5f2d79e0
KH
11252008-05-15 Kenichi Handa <handa@m17n.org>
1126
fd8a1cae
KH
1127 * ftfont.c (ftfont_list): Downcase family name to check generic
1128 families.
1129
1130 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
1131 font-spec for QCfont value.
1132
5f2d79e0
KH
1133 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
1134 buffer. Check the return value of it.
1135
e5e29349
JR
11362008-05-14 Jason Rumney <jasonr@gnu.org>
1137
1138 * w32term.c (w32_get_glyph_overhangs): Remove.
1139 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
1140
1f09f444
KH
11412008-05-14 Kenichi Handa <handa@m17n.org>
1142
1143 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
1144 (font_clear_cache): Check if the cached vector of entities is nil
1145 or not.
1f09f444 1146
ecae6af9 11472008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
1148
1149 * emacs.c (main_thread): Conditionalize on
1150 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1151 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
1152
1153 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
1154 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
1155 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1156
c6b278e7
KH
11572008-05-14 Kenichi Handa <handa@m17n.org>
1158
1159 * coding.c (detect_coding_iso_2022): Ignore a coding category that
1160 has no corresponding coding system.
1161
11622008-05-14 Jason Rumney <jasonr@gnu.org>
1163
1164 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
1165
1166 * w32font.h (w32font_open_internal): Update declaration.
1167
1168 * w32font.c (w32font_open_internal): Change last argument from
1169 w32font_info struct to font object. Fill in font object from
1170 font_entity. Get Outline metrics if possible. Use them to
1171 calculate underline position and thickness. Use xlfd name as name
1172 property. Don't set codepage.
1173 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 1174 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
1175 (w32font_draw): Use s->font.
1176 (clear_cached_metrics): Don't clear non-existent blocks.
1177
1178 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
1179 font was not found.
a879ee6f 1180 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
1181
1182 * w32uniscribe.c (uniscribe_open): Pass font_object to
1183 w32font_open_internal.
1184
11852008-05-14 Kenichi Handa <handa@m17n.org>
1186
1187 These changes are to delete all legacy font-handling codes, and
1188 make Emacs use only font-backends.
1189
1190 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
1191 (frame.o, image.o, print.o): Depend on $(FONTSRC).
1192
1193 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
1194
1195 * charset.h (Vcharset_non_preferred_head)
1196 (Vcurrent_iso639_language): Extern them.
1197
1198 * charset.c (Vcharset_non_preferred_head): New variable.
1199 (Vcurrent_iso639_language): New variable.
1200 (syms_of_charset): Declare it as a Lisp variable.
1201 (char_charset): Don't check non preferred charsets. As a last
1202 resort, return charset_unicode.
1203 (Fset_charset_priority): Update Vcharset_non_preferred_head.
1204
1205 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
1206 conditionals. Don't check enable_font_backend. Delete all codes
1207 used only when USE_FONT_BACKEND is not defined.
1208
1209 * dispextern.h (struct glyph_string): Change type of `font' to
1210 `struct font *'.
1211 (struct glyph_string): New member underline_position and
1212 underline_thickness.
1213 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
1214 (struct face): Change type of `font' to `struct font *'. Remove
1215 members `font_name', `font_info_id'.
1216 (per_char_metric, encode_char): Delete externs.
1217 (calc_pixel_width_or_height): Adjust the prototype.
1218
1219 * emacs.c (enable_font_backend): Delete extern.
1220 (main): Don't set enable_font_backend. Don't check the command
1221 line argument "-disable-font-backend".
1222
1223 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
1224 (enum font_property_index): New members FONT_DPI_INDEX,
1225 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
1226 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
1227 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
1228 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
1229 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
1230 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
1231 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
1232 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
1233 (struct font_spec, struct font_entity): New structs.
1234 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
1235 (struct font): Many members from old "struct font_info" moved to
1236 here. Members font and entity deleted.
1237 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
1238 the new font-related objects.
1239 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
1240 (CHECK_FONT_GET_OBJECT): Likewise.
1241 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
1242 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
1243 (struct font_driver): New members case_sensitive anc check. Type
1244 of the member list and open changed.
1245 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
1246 (font_symbolic_width, font_find_object, font_get_spec)
1247 (font_set_lface_from_name): Delete extern.
20746fe4 1248 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
1249
1250 * font.c: Include <strings.h>.
1251 (enable_font_backend): Delete it.
1252 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
1253 (CHECK_VALIDATE_FONT_SPEC): Delete it.
1254 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
1255 (null_string): Delete it.
1256 (null_vector): Make it static.
1257 (font_family_alist): Delete it.
1258 (Qnormal): Extern it.
1259 (QCextra, QClanguage): Delete it.
1f204af3 1260 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
1261 (font_make_spec, font_make_entity, font_make_object)
1262 (font_intern_prop): Renamed from intern_downcase. Don't downcase
1263 the string. Callers changed.
1264 (font_pixel_size): Adjusted for the format change of font-related
1265 objects.
1266 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
1267 (font_style_to_value, font_style_symbolic): New function.
1268 (build_font_family_alist): Delete it.
1269 (font_registry_charsets): Use Fassoc_string instead of
1270 assq_no_quit.
1271 (font_prop_validate_symbol): Don't return null_string.
1272 (font_prop_validate_style): Adjusted for the change of
1273 style-related values in a font vector.
20746fe4 1274 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
1275 QCantialias, add entries for QCavgwidth.
1276 (get_font_prop_index): Delete the 2nd argument FROM.
1277 (font_prop_validate): Arguments changed.
1278 (font_put_extra): Adjusted for the change of font-related objects.
1279 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
1280 (font_parse_fcname, font_unparse_fcname)
1281 (font_prepare_composition): Likewise.
1282 (font_parse_family_registry): Renamed from font_merge_old_spec.
1283 (otf_open): Delete the 1st arg entity.
1284 (font_otf_capability): Adjusted for the above change.
1285 (font_score): New arg alternate_families. Adjusted for the change
1286 of font-related objects.
1287 (font_sort_entites): New arg best_only.
1288 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
1289 Delete them.
1290 (font_match_p): Check alternate families.
1291 (font_find_object): Delete it.
1292 (font_check_object): New function.
c3f9fba8 1293 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
1294 (font_delete_unmatched): New arg.
1295 (font_list_entities): Call font_driver->list with a spec that
1296 doesn't specify style-related properties.
1297 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 1298 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
1299 (font_close_object, font_has_char, font_encode_char)
1300 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
1301 (font_spec_from_name, font_clear_prop, font_update_lface):
1302 New functions.
1303 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
1304 (font_prepare_for_face, font_done_for_face, font_open_by_name)
1305 (font_at): Adjusted for the change of font-related objects.
1306 (font_range): New function.
1307 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 1308 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
1309 (Fcopy_font_spec, Fmerge_font_spec): New function.
1310 (Ffont_family_list): Renamed from list-families.
1311 (Finternal_set_font_style_table): Arguments changed.
1312 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
1313 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
1314 change of font-related objects.
c3f9fba8 1315 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 1316
3554e566 1317 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
1318 struct font.
1319 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
1320 (enum FONT_SPEC_INDEX): Delete it.
1321 (font_info, list_fonts_func, load_font_func, query_font_func)
1322 (set_frame_fontset_func, find_ccl_program_func)
1323 (get_font_repertory_func, new_fontset_from_font_name): Delete
1324 externs.
1325 (fontset_from_font_name): Extern it.
1326 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
1327 (FONT_INFO_FROM_FACE): Deleted.
1328 (face_for_font): Adjust prototype.
1329
1330 * fontset.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 (get_font_info_func, list_font_func, load_font_func)
1334 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
1335 (get_font_repertory_func): Delete them.
1336 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
1337 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
1338 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
1339 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
1340 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
1341 (fontset_compare_rfontdef): New function.
1342 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
1343 ront-defs by qsort. Adjusted for the change of font-group vector.
1344 (load_font_get_repertory): Deleted.
1345 (fontset_find_font): Use new macros to ref/set elements of
1346 font-def and rfont-def.
1347 (fontset_font): Fix the timing of remembering that no font for C.
1348 (free_face_fontset): Do nothing if the face has no fontset.
1349 (face_suitable_for_char_p): Use new macros to ref/set elements of
1350 rfont-def.
1351 (face_for_char): Likewise. Call face_for_char with font_object.
1352 (fs_load_font): Delete. Delete #pragma surrounding it.
1353 (fs_query_fontset): Use strcasecmp instead of strcmp.
1354 (generate_ascii_font_name): Adjusted for the format change of
1355 font-spec.
1356 (Fset_fontset_font): Likewise. Use new macros to set elements of
1357 font-def.
1358 (Fnew_fontset): Use font_unparse_xlfd to generate
1359 FONTSET_ASCII (fontset).
1360 (new_fontset_from_font_name): Deleted.
1361 (fontset_from_font): Renamed from new_fontset_from_font. Check if
1362 a fontset is already created for the font. FIx updating of
1363 Vfontset_alias_alist.
1364 (fontset_ascii_font): Deleted.
1365 (Ffont_info): Adjusted for the format change of font-spec.
1366 (Finternal_char_font): Likewise.
1367 (Ffontset_info): Likewise.
1368 (syms_of_fontset): Don't check load_font_func.
1369
1370 * fns.c (internal_equal): Handle PREV_FONT.
1371
1372 * frame.h: Delete USE_FONT_BACKEND conditional.
1373
1374 * frame.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 (x_set_font): Call x_new_font, not x_new_fontset2.
1378 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
1379 already set for the frame.
1380
1381 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
1382 a font-entity by font_make_entity. Use font_intern_prop instead
1383 of intern_downcase. Use FONT_SET_STYLE to set a style-related
1384 font property. If a font is scalable, set avgwidth property to 0.
1385 Set font-entity property by font_put_extra.
1386 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
1387 (ffont_driver): Adjusted for the change of struct font_driver.
1388 (ftfont_spec_pattern): New function.
1389 (ftfont_list): Return a list, not vector.
1390 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
1391 (ftfont_list_family): Don't downcase names.
1392 (ftfont_free_entity): Deleted.
1393 (ftfont_open): Return a font-ojbect. Adjusted for the change of
1394 struct font. Get underline_thickness and underline_position from
1395 font property. Don't update dpyinfo->smallest_font_height and
1396 dpyinfo->smallest_char_width.
1397 (ftfont_close): Don't free `struct font'.
1398 (ftfont_has_char): Adjusted for the format change of font-entity.
1399 (ftfont_encode_char, ftfont_text_extents): Likewise.
1400
1401 * ftxfont.c (ftxfont_list): Return a list, not vector.
1402 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
1403 struct font. Get underline_thickness and underline_position from
1404 font property. Don't update dpyinfo->smallest_font_height and
1405 dpyinfo->smallest_char_width.
1406 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
1407 (ftxfont_draw): Adjusted for the change of struct font.
1408
1409 * image.c (image_ascent): Don't include "charset.h". Include
1410 "character.h" and "font.h".
1411
1412 * lisp.h (enum pvec_type): New member PREV_FONT.
1413 (Fassoc_string): EXFUN it.
1414
1415 * print.c: Include font.h.
1416 (print_object): Handle font-related objects.
1417
1418 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
1419 conditionals. Don't check enable_font_backend. Delete all codes
1420 used only when USE_FONT_BACKEND is not defined.
1421 (handle_auto_composed_prop): Do nothing if it->f is not on a
1422 window system. Check how many following characters can be
1423 displayed by the same font.
1424 (calc_pixel_width_or_height): Type of the 4th arg is changed to
1425 'struct font *'.
1426 (get_char_face_and_encoding): Assign the whole encoding task to
1427 the `encode-char' method of a font driver.
1428 (fill_composite_glyph_string): Adjusted for the change of `struct
1429 face' and `struct glyph_string'.
1430 (fill_glyph_string): Likewise.
1431 (get_per_char_metric): Arguments changed.
1432 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
1433 and `struct glyph_string'.
1434 (produce_stretch_glyph, calc_line_height_property)
1435 (x_produce_glyphs): Likewise.
1436
1437 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
1438 conditionals. Don't check enable_font_backend. Delete all codes
1439 used only when USE_FONT_BACKEND is not defined. Use
1440 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
1441 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
1442 (Qp): Extern them.
1443 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
1444 Deleted.
1445 (struct font_name): Deleted.
1446 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
1447 (compare_fonts_by_sort_order): New function.
1448 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
1449 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
1450 Deleted.
1451 (Fx_family_fonts): Use font_list_entities, and sort fonts by
1452 compare_fonts_by_sort_order.
1453 (Fx_font_family_list): Call Ffont_family_list.
1454 (face_numeric_value, face_numeric_weight, face_numeric_slant)
1455 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
1456 (face_symbolic_slant, face_symbolic_swidth)
1457 (split_font_name_into_vector, build_font_name_from_vector)
1458 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
1459 (font_rescale_ratio, split_font_name, build_font_name)
1460 (free_font_names, sort_fonts, x_face_list_fonts)
1461 (face_font_available_p, sorted_font_list, cmp_font_names)
1462 (font_list_1, concat_font_list, font_list, remove_duplicates):
1463 Deleted.
1464 (Fx_list_fonts): Use Ffont_list.
1465 (LFACE_AVGWIDTH): Deleted.
1466 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
1467 by FONTP.
1468 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1469 (set_lface_from_font_name): Delete it.
1470 (set_lface_from_font): Renamed from
1471 set_lface_from_font_and_fontset. Caller changed. Don't set
1472 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
1473 for face.
c3f9fba8
JB
1474 (merge_face_vectors): Copy font-spec if necessary.
1475 Clear properties of the font-spec if necessary.
c6b278e7
KH
1476 (merge_face_ref): Clear properties of the font-spec if necessary.
1477 (Finternal_set_lisp_face_attribute): Likewise.
1478 (set_font_frame_param): Use font_load_for_lface to load a
1479 font-object, and call Fmodify_frame_parameters with it.
1480 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
1481 font name by Ffont_xlfd_name.
1482 (Finternal_lisp_face_attribute_values): Don't check QCweight,
1483 QCslant, and QCwidth.
1484 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
1485 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
1486 Compare fonts by EQ.
1487 (lookup_non_ascii_face): Deleted.
1488 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
1489 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
1490 Check atomic font properties by case insensitive.
c6b278e7
KH
1491 (realize_non_ascii_face): Set face->overstrike correctly.
1492 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
1493 (dump_realized_face): Get font name from
1494 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
1495
1496 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
1497 conditionals. Don't check enable_font_backend. Delete all codes
1498 used only when USE_FONT_BACKEND is not defined.
1499 (xic_create_xfontset): Original code deleted and renamed from
1500 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
1501 (x_make_gc): Don't set GCFont in GCs.
1502 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
1503 opened by "fixed".
1504 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
1505 find_ccl_program_func, query_font_func, set_frame_fontset_func,
1506 get_font_repertory_func.
1507
1508 * xfont.c: Include <stdlib.h> and "ccl.h".
1509 (struct xfont_info): New structure.
1510 (xfont_query_font): Deleted.
1511 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
1512 moved from xterm.c.
1513 (xfont_driver): Adjusted for the change of struct font_driver.
1514 (compare_font_names): New function.
1515 (xfont_list_pattern): Sort font names case insensitively. Make
1516 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
1517 (xfont_list): Return a list, not vector.
1518 (xfont_match): If the font doesn't have QCname property, generate
1519 a name from the other font properties.
1520 (xfont_open): Return a font-ojbect. Adjusted for the change of
1521 struct font. Get underline_thickness and underline_position from
1522 font property. Don't update dpyinfo->smallest_font_height and
1523 dpyinfo->smallest_char_width.
1524 (xfont_close): Don't free struct font.
1525 (xfont_prepare_face): Adjusted for the change of struct font.
1526 (xfont_done_face): Deleted.
1527 (xfont_has_char): Adjusted for the change of struct font.
1528 (xfont_encode_char, xfont_draw): Likewise.
1529 (xfont_check): New function.
1530
1531 * xftfont.c (xftfont_list): Adjusted for the change of `list'
1532 callback function.
1533 (xftfont_match): Adjusted for the fontmat change of font-entity.
1534 (xftfont_open): Adjusted for the format change of font-entity and
1535 font-object. Adjusted for the change of struct font. Return a
1536 font-object. Don't update dpyinfo->smallest_font_height and
1537 dpyinfo->smallest_char_width.
1538 (xftfont_close): Block input while calling XftFontClose.
1539 (xftfont_prepare_face): Don't block input while calling
1540 xftfont_get_colors. Adjusted for the change of struct font.
1541 (xftfont_shape): Return value of error case fixed.
1542
1543 * xrdb.c (x_load_resources): Don't setup a fontset resource.
1544
1545 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
1546 conditionals.
1547 (FONT_WIDTH): Return (f)->max_width.
1548 (struct x_display_info): Delete member `font'.
1549 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
1550 (x_find_ccl_program, x_get_font_repertory): Delete externs.
1551 (struct x_output): Change type of `font' to `struct font *'.
1552
1553 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
1554 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 1555 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
1556 (x_per_char_metric, x_encode_char): Deleted.
1557 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
1558 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 1559 `struct face'.
c6b278e7
KH
1560 (x_draw_glyph_string_foreground)
1561 (x_draw_composite_glyph_string_foreground): Likewise.
1562 (x_draw_glyph_string): Likewise. Use font->underline_position and
1563 font->underline_thickness.
1564 (x_new_font): Renamed from x_new_fontset2.
1565 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
1566 (x_check_font): Call `check' method of a font driver.
1567 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
1568 (x_query_font, x_get_font_repertory): Deleted.
1569 (x_find_ccl_program): Renamed and moved to xfont.c.
1570 (x_redisplay_interface): Adjusted for the change of `struct
1571 redisplay_interface'.
1572
1573 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
1574 conditionals. Don't check enable_font_backend. Delete all codes
1575 used only when USE_FONT_BACKEND is not defined. Surround non-used
1576 code by "#ifdef OLD_FONT" and "endif".
1577 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
1578
1579 * w32font.h (struct w32font_info): New member.
1580 (FONT_COMPAT): New macro.
1581 (w32font_open_internal): Prototype adjusted.
1582
1583 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
1584 OLD_FONT" and "endif".
1585
1586 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
1587 conditionals. Don't check enable_font_backend. Delete all codes
1588 used only when USE_FONT_BACKEND is not defined.
1589 (w32font_open): Return a font-object. Make a font-object by
1590 font_make_object. Adjusted for the change of struct w32font_info.
1591 (w32font_close): Don't free struct font. Adjusted for the change
1592 of struct w32font_info.
1593 (w32font_encode_char, w32font_text_extents, w32font_draw):
1594 Adjusted for the change of struct w32font_info.
1595 (w32font_draw): Likewise.
1596 (w32font_list_internal): Return a list, not vector.
1597 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 1598 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
1599 (add_font_name_to_list): Don't downcase names.
1600 (w32_enumfont_pattern_entity): Make a font-entity by
1601 font_make_entity. Adjusted for the format change of font-entity.
1602 Use FONT_SET_STYLE to set a style-related font property. If a
1603 font is scalable, set avgwidth property to 0. Set font-entity
1604 property by font_put_extra.
c3f9fba8 1605 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
1606 (w32_weight_table, w32_decode_weight): New variables.
1607 (w32_encode_weight): New function.
1608 (fill_in_logfont): Adjusted for the format change of font-spec.
1609 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
1610 weight value.
1611 (w32font_driver): Adjusted for the change of struct font_driver.
1612
1613 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
1614 conditionals. Don't check enable_font_backend. Surround non-used
1615 code by "#ifdef OLD_FONT" and "endif".
1616 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
1617 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
1618
1619 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
1620 conditionals. Don't check enable_font_backend. Delete all codes
1621 used only when USE_FONT_BACKEND is not defined. Surround non-used
1622 code by "#ifdef OLD_FONT" and "endif".
1623
1624 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
1625 (uniscribe_open): Return value changed to font-object.
1626 Adjusted for the format change of font-object.
1627 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
1628 (add_opentype_font_name_to_list): Don't downcase names.
1629 (uniscribe_font_driver): Adjusted for the change of struct
1630 font_driver.
1631
f9d4c199
CY
16322008-05-13 Chong Yidong <cyd@stupidchicken.com>
1633
1634 * dispnew.c (update_frame_1): Check if tty output is still valid
1635 before flushing it.
1636
44f249c0
JD
16372008-05-13 Jan Djärv <jan.h.d@swipnet.se>
1638
1639 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
1640 to Gtk+ menus.
1641
01bb4018
SM
16422008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1643
3271a8f5
SM
1644 * dired.c (file_name_completion): Tweak the code so as to always do it
1645 in a single pass. Tighten the scope of some variables.
1646
01bb4018
SM
1647 * dired.c (Qdefault_directory): New var.
1648 (file_name_completion): Use it instead of Fexpand_file_name.
1649 (syms_of_dired): Initialize it.
1650
728bb8e0
SM
16512008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
1652
1653 * fileio.c (double_dollars): Remove dead code.
1654
ed4c17bb
EZ
16552008-05-10 Eli Zaretskii <eliz@gnu.org>
1656
6c5665e9
EZ
1657 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
1658 Mention w32-get-true-file-attributes in doc string.
1659
ed4c17bb
EZ
1660 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1661
71e1f69d
GM
16622008-05-09 Glenn Morris <rgm@gnu.org>
1663
1664 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
1665 2008-04-23.
1666
ee7a2e7a
EZ
16672008-05-09 Eli Zaretskii <eliz@gnu.org>
1668
8aaaec6b
EZ
1669 Support for reporting owner and group of each file on MS-Windows:
1670 * dired.c (stat_uname, stat_gname): New functions, with special
1671 implementation for w32.
1672 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
1673
ee7a2e7a
EZ
1674 * w32.c: Rename the_passwd_* to dflt_passwd_*.
1675 (dflt_group_name): New static variable.
728bb8e0 1676 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
1677 (init_user_info): Init dflt_group fields. Get user's group name
1678 from LookupAccountSid.
8aaaec6b
EZ
1679 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
1680 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
1681 New initialization states.
1682 (globals_of_w32): Initialize them to zero. Initialize the default
1683 group name to "None".
1684 (GetFileSecurity_Name): New global var, the name of the function
1685 to call for GetFileSecurity.
1686 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
1687 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
1688 (get_file_security, get_security_descriptor_owner)
1689 (get_security_descriptor_group, is_valid_sid)
1690 (get_file_security_desc, get_rid, get_name_and_id)
1691 (get_file_owner_and_group): New functions.
1692 (stat): Use get_file_security_desc and get_file_owner_and_group to
1693 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
1694 high 32 bits of file's size, now that st_size is 64-bit wide.
1695 Fix test when to get true file attributes.
8aaaec6b
EZ
1696 (init_user_info): Use get_rid instead of equivalent inline code.
1697 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 1698
b199c436
CY
16992008-05-09 Chong Yidong <cyd@stupidchicken.com>
1700
1701 * image.c (png_load): Use correct bit-depth for setting background
1702 color.
1703
86914123
EZ
17042008-05-08 Eli Zaretskii <eliz@gnu.org>
1705
1706 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
1707 epa-hook.elc.
1708
67b5d7de
JB
17092008-05-08 Juanma Barranquero <lekktu@gmail.com>
1710
1711 * font.c (Ffont_match_p): Don't use `iff' in docstring.
1712
1a111394
DN
17132008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
1714
1715 * macfns.c (Fx_create_frame): Make a copy of frame parameters
1716 because the original parameters are in pure storage now.
1717 (mac_window): Remove unused params. Update callers.
1718
6d77fa95
SM
17192008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1720
7a3d90dc
SM
1721 * lread.c (substitute_object_recurse): Use lower-level primitives.
1722 Don't signal errors when traversing sub-char-tables.
1723 Don't loop over all the possible characters when traversing char-tables.
1724
6d77fa95
SM
1725 * print.c (print_preprocess): Add sub-char-tables to the print-table,
1726 just like we do in print.c.
1727
140eb764
SM
17282008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
1729
1730 * minibuf.c (Ftry_completion): Remove code left over from when we used
1731 scmp instead of Fcompare_strings.
1732
e9184ccb
JB
17332008-05-04 Juanma Barranquero <lekktu@gmail.com>
1734
1735 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
1736
0e9378b3
YM
17372008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1738
1739 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
1740 Create bitmap context in native byte order.
1741
f67e15be
MB
1742 * macterm.c (XDrawLine)
1743 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
1744 context in native byte order.
064032d0 1745
f67e15be 17462008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
1747
1748 * config.in: Regenerate.
1749
1750 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
1751 New definitions for Image I/O support.
1752 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1753 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
1754 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1755 (mac_data_provider_release_data, image_load_image_io)
1756 [USE_MAC_IMAGE_IO]: New functions.
1757 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
1758 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
1759 (init_image_func_pointer) [MAC_OSX]: Remove function.
1760 (image_load_quartz2d) [MAC_OSX]: Check availability of
1761 CGImageCreateWithPNGDataProvider at compile time.
1762 Use lowercase `false' for boolean constant.
1763 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
1764 Use image_load_image_io.
1765 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
1766 Don't check MyCGImageCreateWithPNGDataProvider.
1767 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
1768 Don't call init_image_func_pointer.
1769
1770 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
1771
1772 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
1773 Make variable non-static.
1774 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1775 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1776
1777 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
1778 (RED_FROM_ULONG): Mask off higher bits.
1779 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
1780
1781 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
1782 Include AvailabilityMacros.h.
1783 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
1784 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
1785
c6bff69e
SM
17862008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
1787
1788 * chartab.c (Fset_char_table_range): If range is t, really set all
1789 chars to that value.
1790
7412d429
EZ
17912008-05-03 Eli Zaretskii <eliz@gnu.org>
1792
1793 * dired.c (Ffile_attributes): Don't allow the device number become
1794 negative.
1795
f83bbfac
DU
17962008-05-02 Daiki Ueno <ueno@unixuser.org>
1797
5a81d3d7 1798 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 1799
2e3148e2
JL
18002008-05-02 Juri Linkov <juri@jurta.org>
1801
1802 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
1803 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
1804 DEFAULT argument as a list of default values in docstrings.
2e3148e2 1805
923fb88c
CY
18062008-05-01 Chong Yidong <cyd@stupidchicken.com>
1807
1808 * puresize.h (BASE_PURESIZE): Increase to 1210000.
1809
047aaeb9
MR
18102008-05-01 Martin Rudalics <rudalics@gmx.at>
1811
1812 * dispnew.c (change_frame_size_1): Preserve small windows when
1813 shrinking frames by calling set_window_height|width with third
1814 arg 2.
1815
1816 * window.h (struct window): Replace field too_small_ok by field
1817 resize_proportionally.
1818
1819 * window.c (make_window): Initialize resize_proportionally.
1820 (enlarge_window): Temporarily set resize_proportionally to make
1821 sure that shrink_windows does scale the window proportionally.
1822 (shrink_windows): When window has resize_proportionally set try
1823 to shrink it proportionally by stealing from other windows.
1824 (struct saved_window, Fset_window_configuration)
1825 (compare_window_configurations): Handle resize_proportionally.
1826 (WINDOW_TOTAL_SIZE): New macro.
1827 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 1828 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
1829 window-min-height|width are handled by window_min_size_2 now.
1830 (size_window, Fsplit_window, enlarge_window)
1831 (adjust_window_trailing_edge, grow_mini_window): Don't call
1832 check_min_window_sizes.
c6bff69e
SM
1833 (window_min_size_2, window_min_size_1, window_min_size):
1834 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 1835 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
1836 (adjust_window_trailing_edge, grow_mini_window):
1837 Adjust arguments of window_min_size... functions.
047aaeb9
MR
1838 (shrink_windows): Argument min_size removed. New argument
1839 safe_p allows shrinking windows to their safe minimum sizes.
1840 Calculate minimum size and decide whether a window shall be
1841 deleted for each window individually.
1842 (size_window): When nodelete_p equals 2, tell shrink_windows to
1843 delete windows only if their new minimum size is no more safe.
1844 (shrink_window_lowest_first): Call window_min_size_1 to make
1845 sure to preserve modeline of bottom-most window when resizing
1846 the minibuffer.
1847 (Fset_window_configuration, Fcurrent_window_configuration)
1848 (compare_window_configurations): Do not handle
1849 window-min-height|width any more.
1850 (syms_of_window): Clarify window-min-height|width doc-strings.
1851
2a54a229
SM
18522008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
1853
1854 * dired.c (file_name_completion): Fix up the encoding/decoding issue
1855 some more. Copy some of the code from Ftry_completions.
1856 Remove special case code that dates back to initial revision when the
1857 slash was only added when necessary and that can't trigger nowadays.
1858
384bc634
KH
18592008-04-27 Kenichi Handa <handa@m17n.org>
1860
1861 * font.c (font_prop_validate): Signal `error' instead of `font'.
1862
2c2279c6
JR
18632008-04-29 Jason Rumney <jasonr@gnu.org>
1864
1865 * w32fns.c (Fw32_battery_status): New defun.
1866 (syms_of_w32fns): Defsubr it.
1867
fb4a622a
AS
18682008-04-28 Andreas Schwab <schwab@suse.de>
1869
1870 * dired.c (file_name_completion): Fix another mixing of encoded
1871 and decoded names.
1872
23f250f4
JB
18732008-04-28 Juanma Barranquero <lekktu@gmail.com>
1874
1875 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
1876
d8d30dff
JB
18772008-04-27 Juanma Barranquero <lekktu@gmail.com>
1878
1879 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
1880
ea6104a8
AS
18812008-04-27 Andreas Schwab <schwab@suse.de>
1882
9c691c00
AS
1883 * dired.c (file_name_completion): Fix inappropriate mixing of
1884 encoded and decoded names.
1885
ec1bf773
AS
1886 * xterm.c (XTread_socket): Fix use of uninitialized variable.
1887
ea6104a8
AS
1888 * puresize.h (BASE_PURESIZE): Increase to 1200000.
1889
01388a3d
EZ
18902008-04-26 Eli Zaretskii <eliz@gnu.org>
1891
1892 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
1893 2008-03-31, it's not needed anymore with `struct stat' definition
1894 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
1895 for the same reasons.
1896
175aea10 18972008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
1898
1899 * m/sparc.h: Additional redefinitions for GNU/Linux.
1900
1289aeb8
YM
19012008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1902
1903 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
1904 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
1905 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
1906 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
1907 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1908 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
1909 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1910 Likewise.
1911
1912 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 1913 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
1914 (mac_ax_number_of_characters): Add externs.
1915 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1916 [USE_MAC_TSM]: Likewise.
1917 (mac_handle_text_input_event) [MAC_OSX]:
1918 Handle kEventTextInputOffsetToPos for no active input area case.
1919 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1920 (mac_handle_document_access_event)
1921 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
1922 (install_application_handler) [MAC_OSX]: Register handlers for
1923 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1924 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1925 Register mac_handle_document_access_event.
1926
1927 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
1928 Make functions non-static.
1929
dbd50d4b
SM
19302008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
1931
1932 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
1933 (read_file_name_completion_ignore_case, insert_default_directory)
1934 (Qdefault_directory): Move to minibuffer.el.
1935 (Fread_file_name): Call the new `read-file-name' instead.
1936
9ea37b9d 19372008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
1938
1939 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
1940 Make function non-static.
1941 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
1942 Remove function.
1943 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1944 Move to mactoolbox.c.
1945 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
1946
1947 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
1948 (mac_rect_make): New macro.
1949
1950 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
1951 instead of float.
1952 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1953 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
1954 (XSetBackground) [USE_CG_DRAWING]: Likewise.
1955 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
1956 CGRectMake.
1957 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1958 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
1959 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
1960 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1961 instead of WindowRef in argument type.
1962 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
1963 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
1964 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
1965 instead of DISPLAY. All uses changed.
1966 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
1967 (x_calc_absolute_position): Simplify so as not to use
1968 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
1969
1970 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1971 instead of WindowRef in argument type.
1972 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
1973 [TARGET_API_MAC_CARBON]: Remove externs.
1974 (create_apple_event, mac_event_parameters_to_lisp)
1975 [TARGET_API_MAC_CARBON]: Add externs.
1976
d8d30dff 1977 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
1978 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
1979 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
1980 is clicked.
1981 (x_activate_menubar): Remove extern for saved_menu_event_location.
1982 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1983 Move from mac.c.
1984
9ea37b9d 19852008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
1986
1987 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
1988 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
1989
9ea37b9d 19902008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
1991
1992 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
1993 attributes only for local files.
1994
1995 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 1996 default to Qlocal.
bd735631 1997
88970542
JL
19982008-04-22 Juri Linkov <juri@jurta.org>
1999
2000 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
2001 read-buffer-to-switch instead of using the letter "B".
2002
92ec67e3
SM
20032008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
2004
2005 * fileio.c (Qdefault_directory): New variable.
2006 (Fread_file_name): Use it to pass `dir' to the completion functions.
2007
a32b2382
CY
20082008-04-20 Chong Yidong <cyd@stupidchicken.com>
2009
2a2e8de7 2010 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 2011
6c8b4f07
SM
20122008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
2013
ece5f847
SM
2014 * keyboard.c (Vpre_help_message): Remove.
2015 (show_help_echo): Remove default C code.
2016
6c8b4f07
SM
2017 * dired.c (directory_files_internal, file_name_completion):
2018 Only call ENCODE_FILE if the string is indeed decoded.
2019
73d798d5
SM
20202008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2021
2022 * Makefile.in (TOOLKIT_DEFINES): Remove.
2023 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
2024
d8d30dff 20252008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
2026
2027 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
2028 (mactoolbox.o): New target.
2029
2030 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
2031 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
2032
2033 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
2034 Use mac_set_frame_window_background instead of XSetWindowBackground.
2035 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
2036 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
2037 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
2038 instead of SetWindowTitleWithCFString.
2039 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
2040 Move function to mactoolbox.c.
2041 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
2042 Use mac_set_window_modified instead of SetWindowModified.
2043 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
2044 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
2045 (Fx_focus_frame): Use mac_front_non_floating_window instead of
2046 FrontNonFloatingWindow. Use mac_activate_window instead of
2047 ActivateWindow. Use mac_active_non_floating_window instead of
2048 ActiveNonFloatingWindow.
2049 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
2050 Use mac_show_hourglass and mac_hide_hourglass.
2051 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
2052 instead of GetGlobalMouse.
2053 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
2054 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
2055 Use mac_bring_window_to_front instead of BringToFront.
2056 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
2057 mactoolbox.c.
2058 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
2059 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
2060 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
2061 mactoolbox.c.
2062
2063 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
2064 (XtPointer): Move typedef from macmenu.c.
2065 (enum button_type): Move enum from macmenu.c.
2066 (widget_value): Move typedef from macmenu.c.
2067 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
2068 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2069 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2070 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2071 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2072 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2073 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2074 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
2075 (Selection): Move typedef from macselect.c.
2076 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
2077 macterm.c.
2078 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
2079 (mac_is_window_collapsed, mac_bring_window_to_front)
2080 (mac_send_window_behind, mac_hide_window, mac_show_window)
2081 (mac_collapse_window, mac_front_non_floating_window)
2082 (mac_active_non_floating_window, mac_activate_window)
2083 (mac_move_window_structure, mac_move_window, mac_size_window)
2084 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
2085
2086 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
2087 (enum mac_menu_kind): Move enum to mactoolbox.c.
2088 (min_menu_id): Move variable to mactoolbox.c.
2089 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
2090 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
2091 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2092 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2093 [TARGET_API_MAC_CARBON]: Likewise.
2094 (XtPointer): Move typedef to macgui.h.
2095 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
2096 (widget_value): Move typedef to macgui.h.
2097 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2098 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2099 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2100 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2101 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2102 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2103 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
2104 (popup_activated_flag): Make variable non-static.
2105 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
2106 (add_menu_item, fill_menu, dispose_menus):
2107 Move functions to mactoolbox.c.
2108 (restore_show_help_function, menu_target_item_handler)
2109 (install_menu_target_item_handler, mac_handle_dialog_event)
2110 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
2111 [TARGET_API_MAC_CARBON]: Likewise.
2112 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
2113 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2114 (find_and_call_menu_selection, name_is_separator): Make function
2115 non-static.
2116 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
2117 to mactoolbox.c.
2118 (set_frame_menubar): Don't call install_menu_quit_handler.
2119 (menu_item_selection): New variable.
2120 (mac_menu_show): Use create_and_show_popup_menu.
2121 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
2122 selection but set variable menu_item_selection. All uses changed.
2123 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
2124 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 2125
d02fe47d
MB
2126 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
2127 (Selection): Move typedef to macgui.h.
2128 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
2129 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
2130 Make variables non-static.
2131 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2132 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
2133 Make functions non-static.
2134 (Vmac_service_selection) [MAC_OSX]: Likewise.
2135 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
2136 (mac_valid_selection_target_p, mac_clear_selection)
2137 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2138 (mac_put_selection_value, mac_selection_has_target_p)
2139 (mac_get_selection_value, mac_get_selection_target_list)
2140 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
2141 Move functions to mactoolbox.c.
2142 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
2143 Likewise.
2144 (copy_scrap_flavor_data, mac_handle_service_event)
2145 (install_service_handler) [MAC_OSX]: Likewise.
2146 (syms_of_macselect) <Vmac_dnd_known_types>:
2147 Use mac_dnd_default_known_types.
463f55ee 2148
d02fe47d
MB
2149 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
2150 Move to mactoolbox.c.
2151 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
2152 (Fx_selection_owner_p): Add EXFUN.
2153 (install_window_handler, remove_window_handler, XSetWindowBackground):
2154 Remove externs.
2155 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
2156 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
2157 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
2158 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
2159 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
2160 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
2161 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
2162 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
2163 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
2164 (create_and_show_popup_menu, mac_get_selection_from_symbol)
2165 (mac_valid_selection_target_p, mac_clear_selection)
2166 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2167 (mac_put_selection_value, mac_selection_has_target_p)
2168 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
2169 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
2170 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
2171 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2172 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
2173 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2174 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
2175 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2176 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 2177
d02fe47d 2178 * mactoolbox.c: New file.
af253914 2179
d8d30dff 21802008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 2181
d02fe47d 2182 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 2183
8ee085a4
SM
21842008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2185
73d798d5
SM
2186 * character.c (Fmultibyte_char_to_unibyte):
2187 Return latin1 chars unchanged.
5556875b 2188
8ee085a4
SM
2189 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
2190 relocated if it points to `name'.
2191
5dff5999
KH
21922008-04-17 Kenichi Handa <handa@m17n.org>
2193
2194 * data.c (Faset): Allow setting a multibyte character in an
2195 ASCII-only unibyte string.
2196
2197 * lisp.h (STRING_SET_MULTIBYTE): New macro.
2198
a51f4969
SM
21992008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2200
2201 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
2202 done in config.h.
2203
add553ac
JB
22042008-04-16 Juanma Barranquero <lekktu@gmail.com>
2205
2206 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
2207 (Fchar_direction): Add usage in the docstring.
2208
8ad7b280
CY
22092008-04-15 Chong Yidong <cyd@stupidchicken.com>
2210
2211 * keyboard.c (read_key_sequence): Remove always-true checks.
2212
e157d7ba
JR
22132008-04-14 Jason Rumney <jasonr@gnu.org>
2214
2215 * w32font.c (w32font_open_internal): Set max_bounds.descent in
2216 compatibility struct, for better underline positioning.
2217
9ec3aaef 22182008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
2219
2220 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
2221 string.
2222
36c08864
DN
22232008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
2224
2225 * m/hp800.h (XUINT, XSET): Remove.
2226
f5acc071
JB
22272008-04-12 Juanma Barranquero <lekktu@gmail.com>
2228
2229 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
2230 previous change.
2231
5b5a2ea1
SM
22322008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2233
2234 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
2235 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
2236
492d9fd6
SM
22372008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2238
2239 * keymap.h (map_keymap_canonical): Declare.
2240 * xmenu.c (single_keymap_panes): Use it.
2241
dd60787c
GM
22422008-04-11 Glenn Morris <rgm@gnu.org>
2243
2244 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
2245 set the target's value to that of the alias.
2246
c23b5410
SM
22472008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2248
2249 * term.c (set_tty_color_mode): Left over typo.
2250
e89b536d
MA
22512008-04-10 Michael Albinus <michael.albinus@gmx.de>
2252
2253 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 2254 only after check for file name handler functions. Signal, when
e89b536d
MA
2255 native functionality is not supported.
2256 (syms_of_fileio): Declare it unconditionally.
2257
40a339c8
JR
22582008-04-10 Jason Rumney <jasonr@gnu.org>
2259
31403b24
JR
2260 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
2261 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
2262
40a339c8
JR
2263 * w32.c (logon_network_drive): Also logon to remote drives that
2264 are mapped to drive letters.
2265
96a7394f
GM
22662008-04-10 Glenn Morris <rgm@gnu.org>
2267
2268 * xdisp.c (truncate-partial-width-windows): Doc fix.
2269
34b67b0f
SM
22702008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
2271
2272 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
2273 Move functions to minibuffer.el.
2274 (syms_of_fileio): Don't declare them.
2275
c025fb0a
SM
22762008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2277
ba5ff07b
SM
2278 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
2279 (syms_of_minibuf): Remove its initialization.
2280
c025fb0a
SM
2281 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
2282
7a6a86ad
JB
22832008-04-09 Juanma Barranquero <lekktu@gmail.com>
2284
2285 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
2286
cf907d69
JR
22872008-04-09 Jason Rumney <jasonr@gnu.org>
2288
3dc94c30
JR
2289 * makefile.w32-in (distclean): Delete makefile too.
2290 (maintainer-clean): New target.
2291
8d28646b
JR
2292 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
2293
cf907d69
JR
2294 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
2295 for new font backend and composite cases.
2296
ef5eb925
JD
22972008-04-09 Jan Djärv <jan.h.d@swipnet.se>
2298
2299 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
2300 Most of the code moved to run_timers.
2301 (do_pending_atimers): Call run_timers.
2302 (run_timers): New function.
2303
cf907d69
JR
2304 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
2305 run atimers.
ef5eb925
JD
2306
2307 * process.c (wait_reading_process_output): The same as above.
2308
9b2cd403
SM
23092008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2310
32bae13c
SM
2311 * minibuf.c (last_exact_completion): Remove variable.
2312 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
2313 (complete_and_exit_1, complete_and_exit_2)
2314 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2315 (Fdisplay_completion_list, display_completion_list_1)
2316 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
2317 (Fexit_minibuffer, Fminibuffer_message): Move functions to
2318 minibuffer.el.
32bae13c
SM
2319 (syms_of_minibuf): Remove corresponding initializations.
2320
5c4cc82a
SM
2321 * keyboard.c (Qdeactivate_mark): New var.
2322 (command_loop_1): Use it to call `deactivate-mark'.
2323 (syms_of_keyboard): Initialize it.
2324
9b2cd403
SM
2325 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
2326 to another frame.
2327 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
2328 Don't call set_tty_color_mode.
2329 (store_frame_param): Reset previous_frame rather than call
2330 set_tty_color_mode.
2331 * term.c (set_tty_color_mode): Rewrite.
2332 * dispextern.h (set_tty_color_mode): New type.
2333 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
2334
84cb7b45
SM
23352008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
2336
2337 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
2338 for generic chars, which do not exist any more in emacs-unicode.
2339
3ed051d4
MA
23402008-04-08 Michael Albinus <michael.albinus@gmx.de>
2341
2342 * coding.c (detect_coding_emacs_mule)
2343 (Ffind_operation_coding_system): Fix typo.
2344
58c3ea42
JR
23452008-04-08 Jason Rumney <jasonr@gnu.org>
2346
3bf8d230
JR
2347 * w32uniscribe.c (SNAME): Extract only symbol name.
2348
56a70cca
JR
2349 * w32font.h (struct w32_metric_cache): New struct.
2350 (w32font_info): Use it.
2351 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
2352 (CACHE_BLOCKSIZE): New constants.
3ed051d4 2353
58c3ea42
JR
2354 * w32font.c (Qja, Qko, Qzh): New symbols.
2355 (syms_of_w32font): Initialise them.
2356 (font_matches_spec): Use them to filter by language.
2357 (recompute_cached_metrics): Remove function.
2358 (compute_metrics, clear_cached_metrics): New functions.
2359 (w32font_encode_char): Use them to manage metric cache.
2360 (w32font_text_extents): Cache metrics for all glyphs on demand.
2361 Delay converting glyph indices to WORD until needed.
2362 (w32font_open_internal): Initialize metric cache to empty.
2363 (registry_to_w32_charset): Charset should always be a symbol.
2364 (fill_in_logfont, list_all_matching_fonts): Family should
2365 always be a symbol.
2366
0ce24b2d
JR
23672008-04-06 Jason Rumney <jasonr@gnu.org>
2368
2369 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
2370 Give up if glyph indices not supported. Use uniscribe obtained
2371 ABC widths for individual metrics. Map glyph clusters back to
2372 characters using fClusterStart flag. Return number of glyphs
2373 produced, not chars processed.
b7655e0c 2374 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 2375
5bc6ddff 23762008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 2377
fbf57abb
JB
2378 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
2379 Use SetMenuItemHierarchicalMenu.
56613f06 2380
5bc6ddff 23812008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 2382
5bc6ddff
MB
2383 * image.c (pbm_load): Allow color values up to 65535.
2384 Throw an error if max_color_idx is outside the supported range.
2385 Report an error when image size is invalid.
2386 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 2387
5bc6ddff 23882008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 2389
5bc6ddff
MB
2390 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2391 cFileName a file name that includes `?' characters, use the 8+3
2392 alias in cAlternateFileName instead.
5ed6ba5b 2393
5bc6ddff 23942008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 2395
5bc6ddff
MB
2396 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
2397 append "CCL: Quitted" when the CCL program is quitted.
2398 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 2399
5bc6ddff 2400 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 2401
c36e15db
CY
24022008-04-05 Chong Yidong <cyd@stupidchicken.com>
2403
9605d567
CY
2404 * search.c (compile_pattern_1): Treat non-nil and non-string of
2405 search-spaces-regexp as nil.
2406
c36e15db
CY
2407 * minibuf.c (Fassoc_string): Tweak docstring.
2408
40beb147
EZ
24092008-04-05 Eli Zaretskii <eliz@gnu.org>
2410
2411 * dired.c (Ffile_attributes): Support inode numbers wider than 32
2412 bits. Remove ugly WINDOWSNT-specific kludge introduced on
2413 2008-03-14 to force inode be positive.
2414
2415 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
2416 _S_* ones, since we now use our own sys/stat.h.
2417 (stat, fstat): Don't mangle the inode number.
aa08d1ff 2418 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 2419
4591d6cb
SM
24202008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
2421
d4417eb0
SM
2422 * frame.h (struct frame): Give one more bit to `visible' since we use
2423 values larger than 1 to indicate obscured frames on ttys.
2424
00f7c5ed
SM
2425 * keymap.c (Qkeymap_canonicalize): New var.
2426 (Fmap_keymap_internal): New fun.
2427 (describe_map): Use keymap-canonicalize.
2428
4591d6cb
SM
2429 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
2430 (Fundo_boundary): Set them.
2431 (syms_of_undo): Initialize them.
2432 (record_point): Use them instead of last_point_position*.
2433 (last_undo_buffer): Change type.
2434
3187540e
JR
24352008-04-04 Jason Rumney <jasonr@gnu.org>
2436
0ce24b2d
JR
2437 * w32font.c (w32font_text_extents): Use font's ascent and descent.
2438 (recompute_cached_metrics): Don't set ascent and descent per char.
2439
3187540e 2440 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 2441 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 2442 Rearrange loop for counting features.
3187540e 2443
f1a6b216
SM
24442008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2445
2446 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
2447 buffer with byte-size of source buffer.
2448
1d8dcf63
CY
24492008-04-03 Chong Yidong <cyd@stupidchicken.com>
2450
2451 * callint.c (Fcall_interactively): Handle temporary region even
2452 when shift-select-mode is off.
2453
6b8aa22a
JR
24542008-04-03 Jason Rumney <jasonr@gnu.org>
2455
2456 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
2457
2f3cbb32
KH
24582008-04-03 Kenichi Handa <handa@m17n.org>
2459
2460 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
2461 (CATEGORY_MASK_UTF_16): Likewise.
2462 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
2463 binary file.
2464 (detect_coding): Add null-byte detection for a binary file.
2465 (detect_coding_system): Likewise.
2466
43f4f91c
JR
24672008-04-03 Jason Rumney <jasonr@gnu.org>
2468
0c1b4ae2
JR
2469 * w32uniscribe.c: New file.
2470
2471 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
2472
2473 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
2474
2475 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
2476 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
2477 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
2478 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
2479 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
2480 (Qphonetic): New symbols.
2481 (syms_of_w32font): Initialize them.
2482 (font_supported_scripts): Use them.
2483 (w32font_list_family): List all charsets.
2484 (w32font_text_extents, recompute_cached_metrics): Fix metric
2485 calculations.
2486 (w32_enumfont_pattern_entity): Make full_type a DWORD.
2487 Give opentype fonts their own format.
2488 (font_matches_spec): New arguments backend and logfont.
2489 Handle :otf spec for uniscribe backend.
2490 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
2491 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 2492
0c1b4ae2
JR
2493 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
2494 font backend.
2495 (globals_of_w32fns): Initialize uniscribe font backend.
2496
fbf57abb 2497 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
2498 dependencies.
2499 (w32uniscribe.$(O)): New file to build.
2500 (FONT_OBJ): Include w32uniscribe.$(O).
2501 (LIBS): Add uniscribe libraries.
2502
43f4f91c
JR
2503 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
2504
75043a7d
CY
25052008-04-02 Chong Yidong <cyd@stupidchicken.com>
2506
2507 * callint.c (Vshift_select_mode): New var.
2508 (Finteractive): Document new ^ spec.
2509 (Fcall_interactively): Call handle-shift-selection if the ^ spec
2510 is present.
2511
2512 * keyboard.c (Vthis_command_keys_shift_translated): New var.
2513 (command_loop_1): Avoid running the direct display versions of
2514 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
2515 (read_key_sequence): Set Vthis_command_keys_shift_translated if
2516 shift-translation takes place.
2517
2518 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
2519 avoid clobbering by define-minor-mode.
2520
2521 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
2522 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
2523
2524 * syntax.c (Fforward_word): Add ^ interactive spec.
2525
2526 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
2527 (Fscroll_right): Add ^ interactive spec.
2528
b2b7f29e
SM
25292008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
2530
a432c0a6
SM
2531 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
2532
994b75e0
SM
2533 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
2534
b2b7f29e
SM
2535 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
2536
e99c7806
JL
25372008-03-31 Juri Linkov <juri@jurta.org>
2538
2539 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
2540
1c9c1270
JD
25412008-03-30 Jan Djärv <jan.h.d@swipnet.se>
2542
2543 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 2544 (xg_resize_outer_widget): Remove.
1c9c1270
JD
2545 (x_wm_size_hint_off): Fix indentation.
2546 (xg_frame_set_char_size): Call flush_and_sync after
2547 gtk_window_resize.
2548 (x_wm_set_size_hint): Pass NULL as geometry window to
2549 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
2550 Add menu bar and tool bar height to base height.
2551 (xg_update_frame_menubar, free_frame_menubar)
2552 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
2553 (update_frame_tool_bar, free_frame_tool_bar):
2554 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 2555
90b3fc84
MA
25562008-03-30 Michael Albinus <michael.albinus@gmx.de>
2557
2558 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
2559 (Fdbus_call_method): New parameter TIMEOUT.
2560 (dbus-send-signal): Optimize UNGCPRO call.
2561
7ae6d1d1
JL
25622008-03-29 Juri Linkov <juri@jurta.org>
2563
2564 * window.c (Fdisplay_buffer): Move call to
2565 Vsplit_window_preferred_function out of conditions that check
2566 if window is eligible for vertical splitting.
2567 When Vsplit_window_preferred_function is non-nil, call it and use
2568 its non-nil return value as window. Otherwise, continue doing
2569 vertical splitting using Fsplit_window with arg horflag=nil.
2570 (syms_of_window) <Vsplit_window_preferred_function>: Change the
2571 default value from `split-window' to nil.
2572
f03f8f2c
JL
25732008-03-29 Juri Linkov <juri@jurta.org>
2574
2575 * callint.c (Fcall_interactively): Revert 2008-03-16 change
2576 for interactive code letters 'b' and 'B'.
2577
6d557778
EZ
25782008-03-29 Eli Zaretskii <eliz@gnu.org>
2579
2580 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
2581 multibyte string.
2582
58555d81
SM
25832008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
2584
2585 * keyboard.c (pending_funcalls): New var.
2586 (timer_check): Run it.
2587 (syms_of_keyboard): Initialize it.
2588 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
2589 (Vdelete_terminal_functions): New vars.
2590 (syms_of_terminal): Initialize them.
2591 (Fdelete_terminal): Run delete-terminal-functions.
2592 * xdisp.c (safe_eval): Rewrite.
2593 (safe_call2): New fun.
2594 * frame.c (Qdelete_frame_functions): New var.
2595 (syms_of_frame): Initialize it.
2596 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
2597 * lisp.h (safe_call2, pending_funcalls): Declare.
2598
4c92f429
AS
25992008-03-28 Andreas Schwab <schwab@suse.de>
2600
2601 * indent.c (Fmove_to_column): Move declaration before statements.
2602
a1567c45
SM
26032008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
2604
2806a183
SM
2605 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
2606 (struct frame): Use bit fields for boolean vars.
2607
eef60308
SM
2608 * process.c (server_accept_connection): Simplify naming.
2609 (emacs_get_tty_pgrp): Use SDATA.
2610
a1567c45
SM
2611 * coding.c (decode_coding_object): Fix last change.
2612
30076589
JR
26132008-03-27 Jason Rumney <jasonr@gnu.org>
2614
2615 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
2616
880820fe
KH
26172008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
2618
2619 * charset.c (Fdefine_charset_internal): Change the way of
2620 registering charsets in Vcharset_order_list.
2621 (syms_of_charset): Make the charset `eight-bit' supplementary.
2622
3cf8cdfb
CY
26232008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
2624
2625 * regex.c (EXTEND_BUFFER): Change order of pointer addition
2626 operations, to avoid having the difference between pointers
2627 overflow.
2628
ef6f5c0e
SM
26292008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2630
80e3db56
SM
2631 * indent.c (check_display_width): New fun.
2632 (scan_for_column): Use it.
2633
c397dc7a
SM
2634 * data.c (syms_of_data): Mark most-positive-fixnum and
2635 most-negative-fixnum as constants.
2636
bf6b4d58
SM
2637 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
2638
ef6f5c0e
SM
2639 * indent.c (scan_for_column): Extract from current_column_1.
2640 Merge with the same code from Fmove_to_column.
2641 (current_column_1, Fmove_to_column): Use it.
2642
72d5003d
SM
26432008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
2644
12270607
SM
2645 * keymap.c (map_keymap_internal): New fun.
2646 (map_keymap): Use it.
2647 (Fmap_keymap_internal): New fun.
2648 (Fmap_keymap): Remove left-out test from before make_save_value.
2649
a10cca6c
SM
2650 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
2651
d7b10f4c
SM
2652 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
2653 Use XCAR/XCDR.
2654
5431bd6a
SM
2655 * process.h (struct Lisp_Process): Remove filter_multibyte.
2656 * process.c (QCfilter_multibyte): Remove.
2657 (setup_process_coding_systems): Don't use filter_multibyte.
2658 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
2659 (read_process_output): Don't adjust multibyteness to filter_multibyte.
2660 (Fset_process_filter_multibyte): Change the coding-system to
2661 approximate the previous behavior.
2662 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
2663 coding-system.
2664
72d5003d
SM
2665 * coding.c (decode_coding_object): When not decoding into a buffer,
2666 obey the coding system's preference of (uni|multi)byte.
2667
438eba3c
SM
26682008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
2669
2670 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
2671 every char is changed and has a different byte-length.
2672 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
2673 Fix int -> EMACS_INT.
2674
9ec3aaef 26752008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 2676
438eba3c 2677 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
2678 strings. Check for NULL `interface' or `member'.
2679
b07103dc
EZ
26802008-03-22 Eli Zaretskii <eliz@gnu.org>
2681
2682 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2683 cFileName a file name that includes `?' characters, use the 8+3
2684 alias in cAlternateFileName instead.
2685
5371d722
SM
26862008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2687
2688 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
2689
6ba7f443
SM
26902008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2691
2692 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
2693 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
2694 work on current_buffer only instead (that was already the case
2695 for some of the code anyway).
2696 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
2697 (temp_set_point, temp_set_point_both): Use EMACS_INT.
2698 (SET_PT, SET_PT_BOTH): Adjust.
2699 * intervals.h (set_point, temp_set_point, set_point_both)
2700 (temp_set_point_both): Remove redundant declarations.
2701
bf1c0f27
SM
27022008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2703
2704 * fileio.c (Finsert_file_contents):
2705 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
2706 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
2707 when buffer != current_buffer anyway.
2708
acab783e
AS
27092008-03-20 Andreas Schwab <schwab@suse.de>
2710
2711 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
2712 as default.
2713
d148e14d
JR
27142008-03-19 Jason Rumney <jasonr@gnu.org>
2715
2716 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
2717 (syms_of_w32fns): Initialize them.
2718 (HOURGLASS_ID): New constant.
2719 (x_window_to_frame): Don't check hourglass_window.
2720 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
2721 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
2722 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
2723 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
2724 Only change the cursor if hourglass is not active.
2725 (Fx_create_frame): Initialize frame's current_cursor.
2726 (hourglass_atimer): Remove.
2727 (hourglass_started): New function.
2728 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
2729 (show_hourglass): Adapt to w32, changing argument to frame.
2730
2731 * w32term.h (struct w32_output): Remove hourglass_window.
2732 Add current_cursor.
2733
2734 * eval.c (call_debugger, Fsignal):
2735 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
2736 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
2737 (Fexecute_extended_command, cancel_hourglass_unwind):
2738 * minibuf.c (read_minibuf):
2739 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 2740
a5c54077
JB
27412008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2742
2743 * window.c (run_funs): New fun.
2744 (run_window_configuration_change_hook): Use it to run the buffer-local
2745 and the global part of the hook.
2746
2747 * xdisp.c (format_mode_line_unwind_data): Add window argument.
2748 (unwind_format_mode_line): Restore selected window.
2749 (x_consider_frame_title, Fformat_mode_line): Set selected window.
2750
f9f3238f
SM
27512008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2752
253c3c82
SM
2753 * editfns.c (Fchar_equal): Check they are valid characters.
2754
f9f3238f
SM
2755 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
2756
065a118d
AS
27572008-03-17 Andreas Schwab <schwab@suse.de>
2758
0b8be006
AS
2759 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
2760 against a charset.
2761
065a118d
AS
2762 * lisp.h (Fbuffer_list): Declare.
2763
880820fe 27642008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
2765
2766 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
2767 handlebox_widget is != 0.
2768
6206d6c2
JL
27692008-03-16 Juri Linkov <juri@jurta.org>
2770
2771 * callint.c (Fcall_interactively): For interactive code letters
2772 'b' and 'B' put the buffer list into the list of default "future"
2773 values of the minibuffer.
2774
f5020181
AS
27752008-03-16 Andreas Schwab <schwab@suse.de>
2776
a864f6d6
AS
2777 * keyboard.c (read_key_sequence): Fix downcasing of letters with
2778 modifiers.
2779
f5020181
AS
2780 * regex.c (re_match_2_internal): Correct matching of a charset
2781 against latin-1 characters.
2782
03f244e2
KH
27832008-03-16 Kenichi Handa <handa@m17n.org>
2784
2785 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
2786 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
2787 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
2788 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
2789 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
2790 CHAR_STRING_ADVANCE.
2791 (produce_chars): Fix for the case that the source and the
2792 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
2793 instead of CHAR_STRING_ADVANCE.
2794 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
2795 STRING_CHAR_ADVANCE.
2796
0e2501ed
AS
27972008-03-15 Andreas Schwab <schwab@suse.de>
2798
2799 * regex.c (re_match_2_internal): Correct matching of eight bit
2800 characters in unibyte strings.
2801
7723e095
MR
28022008-03-15 Martin Rudalics <rudalics@gmx.at>
2803
2804 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
2805 at end of range when it coincides with the end of the buffer.
2806
f507f365
EZ
28072008-03-14 Eli Zaretskii <eliz@gnu.org>
2808
294f1153
EZ
2809 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
2810
f507f365
EZ
2811 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
2812
64f0809d
JR
28132008-03-14 Jason Rumney <jasonr@gnu.org>
2814
956ae531
JR
2815 * editfns.c (initial_tz): New variable.
2816 (syms_of_editfns): Initialize it.
2817 (Fset_time_zone_rule): Set it when first called.
2818 Use it when TZSTRING is nil.
2819
64f0809d
JR
2820 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
2821 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
2822 (monitor_from_point_fn, get_monitor_info_fn): New globals.
2823 (globals_of_w32fns): Initialize them.
2824 (compute_tip_xy): Use them to position tooltips.
2825
21a4ff8e
GM
28262008-03-14 Glenn Morris <rgm@gnu.org>
2827
2828 * emacs.c (main): Revert previous change.
2829 (standard_args): Revert -internal-script back to -scriptload,
2830 and remove the long-option form.
2831
a09a5b5b
GM
28322008-03-13 Glenn Morris <rgm@gnu.org>
2833
2834 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
2835 Remove option -enable-font-backend.
2836
1c55ebd1
SM
28372008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2838
2839 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
2840
880820fe 28412008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
2842
2843 * xterm.c (x_connection_closed): For GTK: If this is the last
2844 terminal just exit without closing the display.
2845
7145be81
JR
28462008-03-11 Jason Rumney <jasonr@gnu.org>
2847
2848 * w32font.c (w32font_full_name): Use floor to round.
2849
e6201af3 28502008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
2851
2852 * sound.c (alsa_configure): Declare vol at beginning of block.
2853
e6201af3 2854 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 2855
390b81fa 28562008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 2857
56388398
MB
2858 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
2859 size of resulting string.
af0ad939 2860
390b81fa 28612008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 2862
56388398 2863 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 2864
390b81fa 28652008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 2866
56388398
MB
2867 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
2868 Don't pretend as if characters with display property haven't been
2869 consumed for string-replacing-string case.
acd37560 2870
223ed6db
KS
28712008-03-08 Kim F. Storm <storm@cua.dk>
2872
2873 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
2874 (get_next_display_element, next_element_from_string)
2875 (next_element_from_ellipsis, next_element_from_buffer): Use it.
2876
28545f7c
AS
28772008-03-08 Andreas Schwab <schwab@suse.de>
2878
2879 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
2880
c960bff8
JR
28812008-03-06 Jason Rumney <jasonr@gnu.org>
2882
290afd83
JB
2883 * w32font.c (w32_registry): Take font_type argument. Use ANSI
2884 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
2885 font_type is truetype.
2886 (w32font_coverage_ok): New function.
2887 (add_font_entity_to_list): Use it to filter unsuitable fonts.
2888
87b8ce92
KH
28892008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
2890
2891 * lread.c (Fread_char): Resolve modifiers.
2892 (Fread_char_exclusive): Likewise.
2893
2894 * character.c (char_resolve_modifier_mask): New function.
2895 (char_string): Use char_resolve_modifier_mask.
2896 (Fchar_resolve_modifiers): New function.
2897 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
2898 function.
2899
cefd56f6
JR
29002008-03-04 Jason Rumney <jasonr@gnu.org>
2901
2902 * makefile.w32-in: Always include w32font.c in the build.
2903 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
2904
03bd3c1f
AS
29052008-03-04 Andreas Schwab <schwab@suse.de>
2906
2907 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
2908 (versionclean): Likewise.
2909
6f69e89b
JB
29102008-03-04 Juanma Barranquero <lekktu@gmail.com>
2911
2912 * .cvsignore: Add oo.
2913
f4a3cc44
AS
29142008-03-03 Andreas Schwab <schwab@suse.de>
2915
2916 * coding.c (decode_coding_object): Inhibit gap shrinking while
2917 decoding in place.
2918
73f838ad
DN
29192008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
2920
2921 * w32term.c: Remove unused include "gnu.h".
6f69e89b 2922 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
2923
2924 * gnu.h: Rename to ...
2925 * emacs-icon.h: ... this.
2926 * xterm.c: Use emacs-icon.h instead of gnu.h.
2927 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
2928
ce9c1f06
JB
29292008-03-03 Juanma Barranquero <lekktu@gmail.com>
2930
2931 * w32font.c: Include math.h.
2932
34fd2d28
JR
29332008-03-03 Jason Rumney <jasonr@gnu.org>
2934
54efdcd1
JR
2935 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
2936 Compute options separately.
2937 (w32font_open_internal): Set glyph_idx before caching metrics.
2938
ce9c1f06
JB
2939 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
2940 Define if system headers don't.
2941 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
2942 (w32font_encode_char): Don't declare here.
2943
2944 * w32font.c (Quniscribe, QCformat): New symbols.
2945 (syms_of_w32font): Define them.
2946 (w32font_has_char): Indicate uncertainty.
ce9c1f06 2947 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 2948 (recompute_cached_metrics): New function.
ce9c1f06
JB
2949 (w32font_open_internal): Use it. Set font to use glyph points
2950 initially. Set format based on type of font.
34fd2d28 2951 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
2952 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
2953 on it. Set format based on information available here.
34fd2d28
JR
2954 (add_font_entity_to_list): Identify backend based on opentype_only.
2955
14daee73
AS
29562008-03-02 Andreas Schwab <schwab@suse.de>
2957
f907fb2e
AS
2958 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
2959
ce9c1f06
JB
2960 * coding.c (decode_coding_big5, produce_chars):
2961 Fix typos in last change.
14daee73 2962
c9cc6462
DN
29632008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
2964
2965 * gnu.h: New icon.
2966
119852e7
KH
29672008-03-02 Kenichi Handa <handa@m17n.org>
2968
2969 * coding.c (decode_coding_utf_8): When eol-type of CODING is
2970 `dos', don't decode '\r' if that is the last in the source.
2971 (decode_coding_utf_16, decode_coding_emacs_mule)
2972 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2973 (decode_coding_raw_text, decode_coding_charset): Likewise.
2974 (produce_chars): Don't decode EOL here. Use EMACS_INT.
2975
a823468b
JR
29762008-03-01 Jason Rumney <jasonr@gnu.org>
2977
2978 * w32font.c (w32font_full_name): Report point size for scalable fonts.
2979
4ddc7e30
KS
29802008-03-01 Kim F. Storm <storm@cua.dk>
2981
2982 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
2983
67997c79
JR
29842008-03-01 Jason Rumney <jasonr@gnu.org>
2985
2986 * w32font.c (w32font_full_name): New function.
2987 (w32font_open_internal): Use it.
2988
3f4e9c35
KS
29892008-03-01 Kim F. Storm <storm@cua.dk>
2990
2991 * dispnew.c (line_draw_cost): Fix invalid glyph check.
2992
f3b9e479
JR
29932008-03-01 Jason Rumney <jasonr@gnu.org>
2994
2995 * font.c (font_unparse_fcname): Increase len when style is a symbol.
2996
880820fe 29972008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
2998
2999 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
3000 xg_frame_resized when the event is for the edit widget.
3001
3002 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
3003
3004 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
3005 set_char_size.
3006 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
3007 operations on widgets here. Just set frame size if needed.
3008 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
3009 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
3010 (x_wm_set_size_hint): Set size hints on the edit widget only, not
3011 the whole frame.
3012 (xg_create_tool_bar): Move attachement of the tool bar to
3013 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
3014 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
3015
6c8acaa1
JR
30162008-03-01 Jason Rumney <jasonr@gnu.org>
3017
3018 * w32fns.c (w32_msg_pump): Disable debug code.
3019
51fb064b 30202008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 3021
51fb064b 3022 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 3023
60221a33
CY
30242008-02-29 Chong Yidong <cyd@stupidchicken.com>
3025
3026 * xdisp.c (next_overlay_string): Don't set
3027 overlay_strings_at_end_processed_p if we're currently reading from
3028 a display string.
3029
10cbc34f
SM
30302008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
3031
3032 * xdisp.c (get_overlay_strings_1): Fix typo.
3033
73c0054e
CY
30342008-02-29 Chong Yidong <cyd@stupidchicken.com>
3035
3036 * xdisp.c (get_overlay_strings_1): Add missing argument type.
3037
ec1c4354
KH
30382008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
3039
55082642
KH
3040 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
3041
ec1c4354
KH
3042 * xdisp.c (display_mode_element): Cancel the previous change.
3043 (decode_mode_spec): Likewise.
ee548a94
KH
3044 (handle_auto_composed_prop): Don't make composition if it->string
3045 is a string.
ec1c4354 3046
b6d898a2
KS
30472008-02-27 Kim F. Storm <storm@cua.dk>
3048
3049 * lisp.h (GLYPH): Change type from int to struct with separate char
3050 and face_id members.
3051 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
3052 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
3053 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
3054 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
3055 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
3056 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
3057 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
3058 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
3059 handle new Lisp glyph code encoding, either an integer or a cons.
3060
3061 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
3062 (GLYPH_ALIAS): Delete.
3063 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
3064 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
3065 (GLYPH_FROM_CHAR): Replace macro by ...
3066 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
3067
3068 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
3069 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
3070 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
3071 (GLYPH_INVALID_P): New macro.
3072 (spec_glyph_lookup_face): Update prototype.
3073
3074 * dispnew.c (line_draw_cost): Adapt to new glyph type.
3075 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
3076 new glyph code encoding.
3077 (spec_glyph_lookup_face): No return value; update passed glyph instead.
3078 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
3079
3080 * xdisp.c (get_next_display_element, next_element_from_display_vector):
3081 Adapt to new glyph type and new glyph code encoding.
3082
3083 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
3084
3085 * indent.c (current_column, current_column_1, Fmove_to_column)
3086 (compute_motion): Adapt to new glyph code encoding.
3087
3088 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
3089
af2080a2
CY
30902008-02-27 Chong Yidong <cyd@stupidchicken.com>
3091
3092 * process.c (wait_reading_process_output): Check for window
3093 changes caused by timers.
880820fe 3094 Suggested by Johan Bockgård.
af2080a2 3095
253ed25e
GM
30962008-02-27 Glenn Morris <rgm@gnu.org>
3097
3098 * emacs.c (USAGE1): Add `--disable-font-backend'.
3099
18a9f8d9
SM
31002008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
3101
3102 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
3103 is made to the buffer.
3104
0f8b27ea
SM
31052008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
3106
3107 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
3108 (face_at_string_position):
3109 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
3110 (face_at_string_position):
3111 * xdisp.c (display_string, next_overlay_change):
3112 * buffer.h (overlays_at):
3113 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
3114 Update callers.
3115
4e7c53ca
CY
31162008-02-26 Chong Yidong <cyd@stupidchicken.com>
3117
3118 * editfns.c (Fformat): Doc fix.
3119
51c01100
JB
31202008-02-26 Juanma Barranquero <lekktu@gmail.com>
3121
3122 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
3123 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
3124 (Ffont_otf_alternates, Fquery_font): Doc fixes.
3125
13cda5f9
SM
31262008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3127
3128 * buffer.c (Fbuffer_swap_text): New function.
3129 (syms_of_buffer): Defsubr it.
3130
8018d430
CY
31312008-02-25 Chong Yidong <cyd@stupidchicken.com>
3132
3133 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
3134
9bde1a21
JR
31352008-02-25 Jason Rumney <jasonr@gnu.org>
3136
3137 * w32font.c (w32font_draw): Draw one character at a time when padding.
3138
eeca6f6f
SM
31392008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3140
3141 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
3142 Handle a nil arg. Use run_window_configuration_change_hook.
3143 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
3144 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
3145 Use run_window_configuration_change_hook.
3146
ec1c4354
KH
31472008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3148
3149 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
3150 1-pixel width.
3151
ae185452
KH
31522008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3153
3154 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
3155 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
3156 if the glyph in the font is zero pixel with.
3157
3158 * dispextern.h (struct glyph_string): New member padding_p.
3159
3160 * w32font.c (w32font_draw): Pay attention to s->padding_p.
3161
3162 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
3163
3164 * xfont.c (xfont_draw): Pay attention to s->padding_p.
3165
3166 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
3167
eeca6f6f 3168 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 3169
ffe832ea 31702008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 3171
ffe832ea 3172 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 3173
06045130
SM
31742008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
3175
3176 Allow fine-grained image-cache flushing.
3177 * dispextern.h (struct image): Add `dependencies' field.
3178 (clear_image_caches): Change arg to Lisp_Object.
3179 * image.c (make_image): Initialize `dependencies' field.
3180 (clear_image_cache): Change arg to allow fine-grained flushing.
3181 Perform the flush even if image-cache-eviction-delay is nil.
3182 (clear_image_caches): Change arg to Lisp_Object.
3183 (Fclear_image_cache): Expand meaning of the argument.
3184 (mark_image): Mark `dependencies' field.
3185 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
3186 (lface_hash): Use XHASH rather than XFASTINT.
3187 (face_at_buffer_position): Fix int -> EMACS_INT position.
3188 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
3189 (select_frame_for_redisplay): Remove code duplication.
3190 (redisplay_internal): Adapt arg to call to clear_image_caches.
3191
9d2818d6
DN
31922008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
3193
3194 * s/vms4-0.h:
3195 * s/vms4-2.h:
3196 * s/vms4-4.h:
3197 * s/vms5-5.h: Remove, unused.
3198
3199 * s/irix5-2.h:
3200 * s/irix6-0.h:
3201 * s/riscos5.h:
3202 * s/mach-bsd4-3.h:
2a2e8de7 3203 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
3204
3205 * Makefile.in:
3206 * filelock.c:
3207 * unexmips.c:
3208 * m/hp9000s300.h:
3209 * m/iris4d.h:
3210 * s/aix3-1.h:
3211 * s/hpux.h:
3212 * s/msdos.h:
3213 * s/usg5-0.h:
3214 * s/usg5-2-2.h:
3215 * s/usg5-2.h:
3216 * s/usg5-3.h: Remove references to obsolete variables.
3217
3218 * s/irix5-0.h: Remove, move all the contents ...
3219 * s/irix6-5.h: ... here. Simplify.
3220 * config.in: Regenerate.
3221
2a36efcf
JR
32222008-02-24 Jason Rumney <jasonr@gnu.org>
3223
c5ad7a3d 3224 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
3225 manually when cleartype is in use.
3226 (x_draw_glyph_string_foreground): Draw text transparently when
3227 cleartype is in use.
3228
2a36efcf
JR
3229 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
3230 a font into it unless we have to.
3231
b03f96dc 32322008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 3233
b03f96dc
MB
3234 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
3235 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 3236
b03f96dc 32372008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 3238
b03f96dc 3239 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 3240
b03f96dc 32412008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 3242
b03f96dc 3243 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 3244
b03f96dc 32452008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 3246
b03f96dc 3247 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 3248
d5958163
CY
32492008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
3250
3251 * xterm.c (x_set_offset): Don't change the gravity if
3252 CHANGE_GRAVITY is -1.
3253
9997701e
CY
32542008-02-23 Chong Yidong <cyd@stupidchicken.com>
3255
3256 * fileio.c (auto_save_error_occurred): New var.
3257 (auto_save_error): Set it.
3258 (Fdo_auto_save): Don't overwrite the error message if an auto-save
3259 error occurred.
3260
9d95a291
EZ
32612008-02-23 Eli Zaretskii <eliz@gnu.org>
3262
3263 * w32.c (globals_of_w32): Add initializations for
3264 g_b_init_get_sid_sub_authority and
3265 g_b_init_get_sid_sub_authority_count.
3266
43d1af23
SM
32672008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
3268
43a1d19b
SM
3269 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
3270 (font_parse_xlfd): Use them for sanity check.
608c3307 3271 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 3272
354884c4
SM
3273 Consolidate the image_cache to the terminal struct.
3274 * termhooks.h (P_): Remove redundant def.
3275 (struct terminal): New field `image_cache'.
3276 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
3277 of FRAME_X_IMAGE_CACHE.
3278 * xterm.h (struct x_display_info): Remove image_cache field.
3279 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3280 * w32term.h (struct w32_display_info): Remove image_cache field.
3281 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3282 * macterm.h (struct mac_display_info): Remove image_cache field.
3283 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3284 * xterm.c (x_term_init):
3285 * w32term.c (w32_term_init):
3286 * macterm.c (mac_term_init): Set the image_cache in the terminal.
3287 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
3288 Remove declarations.
3289 (clear_image_caches, mark_image_cache): New declarations.
3290 * xfaces.c (clear_face_cache):
3291 * xdisp.c (redisplay_internal): Use clear_image_caches.
3292 * image.c (clear_image_cache): Don't check that a frame is on
3293 a window-system before checking if it shares the same cache.
3294 (clear_image_caches): New function.
3295 (Fclear_image_cache): Use it.
3296 (mark_image): Move from allo.c.
3297 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
3298 * alloc.c (mark_image, mark_image_cache): Move to image.c.
3299 (mark_object): Don't call mark_image_cache for frames.
3300 (mark_terminals): Call mark_image_cache.
3301
c2e42690
SM
3302 * lisp.h (Fdelete_terminal): Declare.
3303
43d1af23
SM
3304 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
3305 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
3306 wrong_type_argument.
3307
cc8d1311
KH
33082008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
3309
3310 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 3311 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 3312
6bd92640
SM
33132008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
3314
3315 * xterm.c (x_connection_closed): Consolidate identical tests.
3316 (x_delete_terminal): Don't crash if called via x_connection_closed.
3317
a73b5627
KH
33182008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
3319
3320 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 3321 (display_mode_element): Adjust for the above change.
a73b5627 3322
1b511542
SM
33232008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3324
3325 * callint.c (Fcall_interactively): Use AREF.
3326
81aefea4
SM
33272008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
3328
3329 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
3330
880820fe 33312008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
3332
3333 * xfns.c (Fx_show_tip): Set string to " " if empty.
3334
a2b84f35
DN
33352008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
3336
3337 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
3338 with Qt.
3339
43c0454d
KH
33402008-02-17 Kenichi Handa <handa@m17n.org>
3341
3342 * ftfont.c (ftfont_shape): Return Lispy number.
3343
3344 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
3345 for GCs.
3346 (Finternal_set_font_selection_order): Call font_update_sort_order
3347 only when enable_font_backend is set.
3348 (realize_x_face): Set face->font_info to that of default face only
3349 when enable_font_backend is set.
3350
3351 * xdisp.c (handle_composition_prop): Set it->c to the fist
3352 characte of the composed region.
3353 (fill_composite_glyph_string): Set base_face->font_info to
3354 s->font_info. Get a face for ascii from base_face->ascii_face.
3355 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
3356 with a face already decided.
3357 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
3358 non-negative.
978bef9a
JB
3359 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
3360 call font_prepare_composition unconditionally.
43c0454d 3361
978bef9a 3362 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
3363
3364 * xterm.h (struct x_display_info): New member font.
3365
3366 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
3367 (x_set_mouse_face_gc, x_new_font): Likewise.
3368 (x_term_init): Setup display_info->font.
3369 (x_delete_terminal): Free display_info->font.
3370
3371 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
3372
3373 * ftxfont.c (ftxfont_default_fid): Delete it.
3374 (ftxfont_open): Set xfont->fid to 0.
978bef9a 3375 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
3376 font-driver.
3377
3378 * xftfont.c (xftfont_default_fid): Delete it.
3379 (xftfont_open): Set xfont->fid to 0.
3380
3381 * fontset.c (FONTSET_OBJLIST): New macro.
3382 (fontset_find_font): Update font-object list of the fontset.
3383 (free_realized_fontset): New function.
3384 (free_face_fontset): Call free_realized_fontset.
3385 (Ffont_info): Call font_close_object only when enable_font_backend
3386 is set.
3387
3388 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
3389 [HAVE_NTGUI]: Include w32term.h.
3390 [MAC_OS]: Include macterm.ch.
3391 (font_otf_ValueRecord): Use make_number.
3392 (font_finish_cache): Fix handling of reference count.
3393 (font_clear_cache): Update num_fonts.
3394 (font_open_entity): Update smallest_char_width and
3395 smallest_font_height of the frame.
3396 (font_close_object): Update num_fonts.
3397 (Fclear_font_cache): Fix finding the target cache data.
3398
be617367
GM
33992008-02-16 Glenn Morris <rgm@gnu.org>
3400
3401 * fontset.c (Finternal_char_font): Fix compilation warning.
3402
2930d117
EZ
34032008-02-16 Eli Zaretskii <eliz@gnu.org>
3404
634d3003
EZ
3405 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
3406 instead of char arrays. Enlarge the size of array passed to
3407 get_token_information.
3408
2930d117
EZ
3409 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
3410 warnings.
3411
79214046
DN
34122008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
3413
3414 * .gdbinit: Don't set `args', it breaks gdb --args.
3415
7f5d2c72
SM
34162008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
3417
3418 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
3419 within a narrowed buffer.
3420
6edacc43
KH
34212008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
3422
b270d6af
JB
3423 * coding.c (decode_coding_object, encode_coding_object):
3424 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 3425
174105f7
SM
34262008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
3427
b270d6af
JB
3428 * coding.c (coding_set_destination): Use BEG_BYTE rather than
3429 hardcoding 1.
13818c30
SM
3430 (detect_coding_system):
3431 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
3432 (string_char_to_byte, string_byte_to_char, insert_from_gap):
3433 * insdel.c (insert_from_gap):
3434 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
3435 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
3436 (string_to_multibyte):
3437 * character.c (chars_in_text, multibyte_chars_in_text):
3438 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
3439
f1c99628
SM
3440 * character.h (FETCH_STRING_CHAR_ADVANCE)
3441 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
3442 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
3443 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
3444
7927d8e3
SM
3445 * casefiddle.c (casify_region): Only call after-change and composition
3446 functions on the part of the region that was changed.
3447
adf6a429 3448 * keyboard.c (read_avail_input):
174105f7
SM
3449 * frame.c (Fdelete_frame): Call Fdelete_terminal.
3450
3ee24aec
SM
34512008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3452
3453 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
3454 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
3455
4ed4b975
JB
34562008-02-11 Juanma Barranquero <lekktu@gmail.com>
3457
3458 * w32menu.c (push_submenu_start, push_submenu_end)
3459 (push_left_right_boundary, push_menu_pane, push_menu_item):
3460 * keyboard.c (read_key_sequence): Don't pass args with side effects
3461 to AREF, it fails when compiling with -DENABLE_CHECKING.
3462
79e3bfb8
KH
34632008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
3464
4ed4b975
JB
3465 * Makefile.in (${lispsource}international/charprop.el):
3466 Delete this target.
6e76043f 3467
79e3bfb8
KH
3468 * search.c (boyer_moore): Fix incorrect synching of the trunk and
3469 emacs-unicode-2.
3470
5b8de9c5
SM
34712008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3472
3473 * terminal.c (Fdelete_terminal): Clean up the `force' path.
3474
eac1939a
SM
34752008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3476
c53956fe
SM
3477 * frame.c (Qnoelisp): New symbol.
3478 (syms_of_frame): Initialize it.
3479 (Fdelete_frame): Use it to distinguish a mere `force' passed from
3480 someharmles Elisp code, from a strong `force' from x_connection_closed.
3481 * frame.h (Qnoelisp): Declare.
3482 * xterm.c (x_connection_closed): Pass `noelisp'.
3483
eac1939a
SM
3484 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
3485 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
3486 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
3487 rather than `int' for the type of `type'.
3488
13f6772b
DN
34892008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
3490
3491 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
3492
3493 * Makefile.in (GNUC): Remove support for gcc-1.x.
3494
e8455367
RS
34952008-02-10 Richard Stallman <rms@gnu.org>
3496
3497 * lisp.h (ASET): Use AREF, not ASLOT.
3498
4b75ffab
SM
34992008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3500
3501 * lisp.h (ASET): Check bounds.
3502
d224e8c2
GM
35032008-02-10 Glenn Morris <rgm@gnu.org>
3504
3505 * buffer.c (mode-name): Doc fix.
3506
4624371d
DN
35072008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3508
290afd83
JB
3509 * Makefile.in:
3510 * emacs.c:
3511 * gmalloc.c:
3512 * keyboard.c:
3513 * lisp.h:
3514 * m/ibm370aix.h:
3515 * process.c:
3516 * regex.c:
3517 * s/hpux.h:
3518 * sysdep.c:
3519 * sysselect.h:
3520 * systty.h:
3521 * unexec.c:
3522 * w32term.c:
3523 * xsmfns.c:
3524 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
3525
3526 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
3527
3528 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
3529 nothing else needs it anymore.
3530
274ec34b
EZ
35312008-02-09 Eli Zaretskii <eliz@gnu.org>
3532
3533 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
3534 instead of unibyte_char_to_multibyte.
3535
deeaffe1
DN
35362008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3537
3538 * s/gnu-linux.h: Remove commented out code.
3539
4ed4b975 3540 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
3541
3542 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 3543 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 3544 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
3545 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
3546 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
3547
68b587a6
SM
35482008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
3549
9141ca5e
SM
3550 * keymap.c (Fkey_description): Move side effect outside of macro call.
3551
dfae5f9a 3552 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
3553 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
3554
ff7a2223
SM
3555 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
3556 (syms_of_fontset): Use ASET.
3557
68b587a6
SM
3558 * fns.c (concat): Move side effect outside of macro call.
3559 (hash_clear): Use ASET.
3560
a31787b1
RS
35612008-02-08 Richard Stallman <rms@gnu.org>
3562
3563 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
3564 If FORCE, and frame has a surrogate minibuffer for another frame,
3565 delete the other frame first.
3566
987be29b 35672008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
3568
3569 * xterm.c (x_detect_focus_change): Handle embed client message.
3570 (handle_one_xevent): Ditto.
3571 (handle_one_xevent): If embedded and we get a button press/release,
3572 request focus.
3573 (xembed_set_info, xembed_send_message): New functions.
3574 (x_make_frame_visible): Call xembed_set_info if embedded.
3575 (x_make_frame_invisible): Call xembed_set_info if embedded.
3576 (x_term_init): Initialize Xatom_XEMBED.
3577 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
3578 (x_iconify_frame): Ditto.
3579
3580 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
3581 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
3582 (enum xembed_modifier, enum xembed_accelerator): New.
3583 (xembed_set_info, xembed_send_message): Declare.
3584 (FRAME_X_EMBEDDED_P): New.
3585
3586 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
3587 gtk_plug_new.
3588
3589 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
3590 window ID of a frame.
3591 (x_window): Reparent frame if embedded.
3592 (Fx_create_frame): Don't set border width if embedded.
3593
1f204af3 3594 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
3595 (standard_args): Ditto.
3596
880820fe 35972008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
3598
3599 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
3600
92413ef3
JD
36012008-02-07 Jim Meyering <meyering@redhat.com>
3602
6f69e89b 3603 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
3604 The latter provokes a warning from gcc about the empty else, when
3605 followed by ";". Also, without that trailing semicolon, it would
3606 silently swallow up any following statement.
c3f9fba8 3607 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
3608 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
3609 * buffer.h (DECODE_POSITION): Likewise.
3610 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
3611 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
3612 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
3613 (FETCH_CHAR_ADVANCE): Likewise.
3614 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 3615
03fa5713
GM
36162008-02-07 Jim Meyering <meyering@redhat.com>
3617
3618 * lread.c [lint]: Don't include <sys/inode.h>.
3619
3ae565b3
SM
36202008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
3621
3622 * xselect.c (x_handle_dnd_message):
3623 * xmenu.c (digest_single_submenu, xmenu_show):
3624 * xdisp.c (with_echo_area_buffer_unwind_data)
3625 (format_mode_line_unwind_data, unwind_format_mode_line)
3626 (display_menu_bar):
3627 * eval.c (Ffetch_bytecode):
3628 * doc.c (store_function_docstring):
3629 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
3630 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
3631 * buffer.c (add_overlay_mod_hooklist): Use ASET.
3632
146b6e55
KH
36332008-02-07 Kenichi Handa <handa@m17n.org>
3634
3635 * ftxfont.c (ftxfont_open): Don't set
3636 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
3637
3638 * ftfont.c (ftfont_open): Fix previous change.
3639
46a923ac
JR
36402008-02-06 Jason Rumney <jasonr@gnu.org>
3641
3642 * w32font.c (w32font_text_extents): Fill in lbearing metric.
3643 Use cached metrics for ASCII characters.
3ae565b3
SM
3644 (w32font_open_internal): Don't set font's owning_frame.
3645 Cache metrics for ASCII characters.
46a923ac
JR
3646
3647 * w32font.h (struct w32font_info): Add ascii_metrics.
3648 Remove owning_frame.
3649
da7d7c21
KH
36502008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
3651
3652 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
3653 to negative value.
3654
3655 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
3656
3ae565b3 3657 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
3658
3659 * charset.c (syms_of_charset): Set QCtest and Qeq.
3660
c62c8ddb
SM
36612008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
3662
ca319910
SM
3663 * process.c (Fstart_process):
3664 * callproc.c (Fcall_process): Handle the case where
3665 Funhandled_file_name_directory returns nil.
3666
76860cbb
SM
3667 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
3668 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
3669 * font.c (check_gstring): Use them and AREF to access the vector before
3670 we know it's really a gstring.
3671 (Ffont_shape_text): Fix typo.
3672 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 3673
15139d67
SM
3674 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
3675 Declare.
3676
c62c8ddb
SM
3677 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
3678
04b65d2b
JR
36792008-02-05 Jason Rumney <jasonr@gnu.org>
3680
3681 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
3682 Set smallest_font_height and smallest_char_width in display info.
3683
fccaebfd
KH
36842008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
3685
3686 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
3687
e7d7fd8c
MB
36882008-02-05 Miles Bader <miles@gnu.org>
3689
3690 * xfaces.c (get_lface_attributes, merge_named_face)
3691 (lookup_named_face, lookup_derived_face, realize_named_face):
3692 Revert 2008-02-01 change by cyd@stupidchicken.com.
3693
3d4448a8
KH
36942008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
3695
3696 * fontset.c (Ffontset_info): Handle the case of inhibitting the
3697 fallback fonts.
15139d67 3698 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 3699
5ace1ec1
JR
37002008-02-04 Jason Rumney <jasonr@gnu.org>
3701
3702 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
3703 set full_name.
e3a77b22 3704 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 3705
ffe42183
JR
37062008-02-03 Jason Rumney <jasonr@gnu.org>
3707
3708 * makefile.w32-in (OBJ1): Include font.o here.
3709 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
3710
526dc3b3
JR
37112008-02-02 Jason Rumney <jasonr@gnu.org>
3712
a0fece35 3713 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 3714
af805c82
JR
37152008-02-01 Jason Rumney <jasonr@gnu.org>
3716
3717 * s/cygwin.h: Define VIRT_ADDR_VARIES.
3718
3719 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
3720
7f6519c5
AS
37212008-02-01 Andreas Schwab <schwab@suse.de>
3722
1f45f627 3723 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 3724 ../lisp/language/myanmar.el.
7f6519c5 3725
26f8aa27
CY
37262008-02-01 Chong Yidong <cyd@stupidchicken.com>
3727
1f45f627 3728 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
3729 (merge_named_face, lookup_named_face, lookup_derived_face)
3730 (realize_named_face): Call lface_from_face_name directly, and use
3731 the fact that merge_face_vectors does not alter its FROM argument.
3732
73acf815 37332008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3734
3735 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 3736 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 3737
73acf815 37382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3739
3740 * fontset.c (reorder_font_vector): Exclude nil elements from the
3741 font group. Don't try multiple fonts.
15139d67 3742 (fontset_font): Adjust for the above change.
aca7a3d2
MB
3743 (Finternal_char_font): Return nil if the found font doesn't
3744 contain the character ch.
3745
4c4475a8 3746 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 3747
73acf815 37482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3749
3750 * font.h (FONTP): Make it return 1 also for a font-object.
3751
3752 * .gdbinit (xfontset): New function.
3753
3754 * font.c (font_find_for_lface): Check if the character C is
3755 supported or not only for the first font.
3756
3757 * fontset.c (reorder_font_vector): Fix typo.
3758 (fontset_find_font): Don't add a font-spec specifying a script.
3759 Use 0 (not Qt) for the indication of empty font-group. Change the
3760 format of RFONT-DEF. Return Qt if no font in the font-group
3761 support the character.
15139d67 3762 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 3763 found the character, remember that.
15139d67 3764 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
3765 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
3766 no font for the target.
15139d67 3767 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 3768
73acf815 37692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3770
3771 * font.c (font_load_for_face): Handle the case that the font in
3772 face->lface is a string.
3773
73acf815 37742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3775
1f45f627 3776 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 3777
73acf815 37782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3779
3780 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
3781 Fix previous change. If the frame is not on a window system,
3782 signal an error.
3783
73acf815 37842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3785
4c4475a8
GM
3786 * coding.c (decode_coding_object, encode_coding_object): Adjust
3787 marker positions after conversion.
aca7a3d2
MB
3788
3789 * lisp.h (struct Lisp_Marker): New member need_adjustment.
3790
73acf815 37912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3792
3793 * font.c (font_find_for_lface): Fix the handling of the return
3794 value of font_has_char.
3795 (Ffont_shape_text): Fix previous change.
3796
3797 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
3798 (fontset_ref_and_range): Delete it.
3799 (fontset_find_font): Call char_table_ref_and_range instead of
3800 FONTSET_REF_AND_RANGE.
3801 (make_fontset): Don't setup font groups of Latin here.
3802 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
3803 (new_fontset_from_font): Make the specified font the default for
3804 all Latin characters.
3805
73acf815 38062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3807
3808 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
3809 is on a window system before accessing the fontset of the frame.
3810
73acf815 38112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3812
1f45f627 3813 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
3814
3815 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
3816 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
3817
3818 * font.c (Ffont_shape_text): If the font driver doesn't have a
3819 shaper function, make zero-width glyphs to have at least one-pixel
3820 width. Fix setting of `to' field of glyphs.
3821
73acf815 38222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3823
3824 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
3825 glyphs.
3826
1f45f627 3827 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 3828
73acf815 38292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3830
3831 * composite.c (syms_of_composite): Fix docstring of
3832 auto-composition-function.
3833
3834 * font.h (LGLYPH_SIZE): New macro.
3835
3836 * font.c (Ffont_fill_gstring): Stop filling when a character not
3837 supported by the font is found.
3838 (Ffont_shape_text): When a shape callback function returns nil,
3839 try at most two more times with larger gstring.
15139d67 3840 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
3841
3842 * xdisp.c (handle_auto_composed_prop): Change the argument to
3843 auto-composition-function.
3844
3845 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
3846 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
3847 Lispy glyph and store it in the lgstring.
3848
3849 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
3850
3851 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
3852
73acf815 38532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3854
3855 * font.c (Ffont_shape_text): Avoid unnecessary composition.
3856
3857 * fontset.c (Vfont_encoding_charset_alist): New variable.
3858 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
3859 (reorder_font_vector, fontset_find_font): Optimize for the case of
3860 no need of reordering.
aca7a3d2
MB
3861 (face_for_char): Map the charset property by
3862 Vfont_encoding_charset_alist.
3863
73acf815 38642008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3865
3866 * w32font.c (logfonts_match): Don't check adstyle here.
3867 (font_matches_spec): Check here against physical font instead.
3868 (add_font_entity_to_list): Avoid some substitutions.
3869
3870 * font.c (font_parse_fcname): Default weight and slant to normal.
3871 (font_score): Prefer normal fonts if weight or slant unspecified.
3872 (font_score) [WINDOWSNT]: Scale weight difference down to closer
3873 match freetype scores.
3874
73acf815 38752008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3876
3877 * w32font.c (w32font_text_extents): Don't use the frame stored in the
3878 font, as it may have been deleted.
3879 (w32_enumfont_pattern_entity): Map generic family to adstyle using
3880 most common hyphenless variation.
3881 (logfonts_match): Check generic family.
3882 (font_matches_spec): Don't check generic family here.
3883 (fill_in_logfont): Set generic family based on adstyle.
3884
3885 * w32font.h (w32font_get_cache): Update declaration.
3886
73acf815 38872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3888
3889 * ftfont.c (ftfont_get_cache): Adjust the argument type.
3890
15139d67 3891 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 3892 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
3893 with the old drivers.
3894
3895 * w32font.c (w32font_get_cache): Adjust the argument type.
3896
3897 * xfont.c (xfont_get_cache): Adjust the argument type.
3898
3899 * font.h (struct font_driver): Change argument type of get_cache.
3900
3901 * xftfont.c (xftfont_start_for_frame): Delete prototype.
3902
3903 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 3904 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 3905 (font_clear_cache): New function.
4c4475a8 3906 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 3907 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
3908
3909 * fontset.c (fontset_find_font): Fix previous change.
3910
73acf815 39112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3912
3913 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
3914 dpyinfo->font_table.
3915 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 3916 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
3917
3918 * font.c (font_at): Handle the case that the arg C is negative.
3919 Handle the unibyte case.
3920 (Ffont_at): Call font_at with the arg C -1.
3921
3922 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
3923 the position here, and call font_at with the arg C -1.
3924 Don't check the range of the existing composition at the point.
aca7a3d2 3925
73acf815 39262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3927
15139d67 3928 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 3929 Change caller.
4c4475a8
GM
3930 (load_font_get_repertory, fontset_find_font): Assume that
3931 font_spec is always a font-spec object.
aca7a3d2
MB
3932 (Fset_fontset_font): Always store a font-spec object in a fontset.
3933
3934 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
3935 instead of get_property_and_range.
3936
73acf815 39372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3938
3939 * xftfont.c (struct xftfont_info): Delete the member ft_face.
3940 (xftfont_open): Don't keep locking face.
3941 (xftfont_close): Don't unlock face.
4c4475a8 3942 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
3943
3944 * fontset.c (fontset_find_font): Don't prefer a font of
3945 supplementary charset.
3946
73acf815 39472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3948
1f45f627
GM
3949 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
3950 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
3951 (OTF_TAG_STR): Terminate by '\0'.
3952 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
3953 listing to the script specified in that property. Fix arg to
3954 OTF_check_features.
3955
73acf815 39562008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3957
3958 * w32font.h: New file.
3959
3960 * w32font.c: Include it.
3961 (struct w32font_info): Add owning_frame field. Move to w32font.h.
3962 (w32font_open): Set owning_frame.
3963 (w32font_text_extents): Use owning_frame.
3964 (struct font_callback_data): Add opentype_only field.
3965 (add_font_entity_to_list): Use it to filter fonts.
3966 Don't check against full name.
3967 (w32font_list_internal): New function.
3968 (w32font_list): Use it.
3969 (w32font_match_internal): New function.
3970 (w32font_match): Use it.
3971 (w32font_open_internal): New function.
3972 (w32font_open): Use it.
3973 (w32font_get_cache, w32font_close, w32font_has_char)
3974 (w32font_encode_char, w32font_text_extents, w32font_draw):
3975 Make non-static.
3976
3977 * makefile.w32-in (w32font.o): Depend on w32font.h.
3978
73acf815 39792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3980
3981 * charset.c (Fdefine_charset_internal): Record a supplementary
3982 charset at the tail of Vcharset_order_list.
3983
3984 * font.c (Ffont_shape_text): Fix the return value.
3985
3986 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
3987
3988 * xdisp.c (handle_auto_composed_prop): Fix previous change.
3989
73acf815 39902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3991
3992 * ftfont.c (struct OpenTypeSpec): New struct.
3993 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
3994 (ftfont_get_open_type_spec): New function.
3995 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
3996
15139d67 3997 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 3998
73acf815 39992008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4000
4001 * w32font.c (add_font_entity_to_list): Compare only the beginning
4002 of full name.
4003
73acf815 40042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4005
15139d67
SM
4006 * xdisp.c (handle_auto_composed_prop): Simplify the code.
4007 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 4008
73acf815 40092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4010
4011 * font.c (font_gstring_produce): Delete it.
4012
15139d67
SM
4013 * composite.h (COMPOSITION_METHOD):
4014 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 4015
73acf815 40162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 4017
15139d67 4018 * xfont.c (Qx): Delete.
aca7a3d2
MB
4019 (syms_of_xfont): Don't initialize Qx.
4020
15139d67
SM
4021 * composite.h (enum composition_method):
4022 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 4023
73acf815 40242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4025
4026 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
4027 (choose_face_font): Accept new form of font-spec.
4028
4029 * frame.h (font_driver_list): Declare it unconditionally.
4030 (struct frame): Define members font_driver_list and font_data_list
4031 unconditionally.
4032
4033 * fontset.c: Include "font.h" unconditionally.
15139d67 4034 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
4035 (Fset_fontset_font): Accept a font-spec object.
4036
4037 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
4038 PIXEL_SIZE part a wild card.
4039
4040 * dispextern.h (struct glyph_string): Define members clip and
4041 num_clips unconditionally.
4042 (struct face): Define members font_info and extra unconditionally.
4043
4044 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
4045 ftfont_info only when HAVE_LIBOTF is defined.
4046
73acf815 40472008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4048
4049 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
4050 and end.
4051
73acf815 40522008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4053
4054 * w32font.c (w32font_driver): Add new fields.
4055
73acf815 40562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 4057
aca7a3d2
MB
4058 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
4059 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
4060 (LIBES): Add @M17N_FLT_CFLAGS@.
4061
4062 * composite.c (compose_text): Don't treat the new style
4063 composition specially.
4064
4065 * emacs.c (main): Call syms_of_font unconditionally.
4066
4067 * font.h (FONT_ENTITY_NOT_LOADABLE)
4068 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 4069 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 4070 (struct font_driver): New member shape.
1f45f627 4071 (font_registry_charsets): Extern it.
4c4475a8 4072 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
4073 (font_otf_capability, font_drive_otf): Delete their externs.
4074
4075 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
4076 (font_charset_alist, font_registry_charsets): Move from xfont.c
4077 and rename.
aca7a3d2
MB
4078 (font_prop_validate_otf): New function.
4079 (font_property_table): Register it for QCotf.
4080 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 4081 (font_drive_otf): Delete.
1f45f627 4082 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
4083 lispy gstring.
4084 (font_find_for_lface): New arg C.
15139d67 4085 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
4086 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
4087 lispy gstring.
aca7a3d2
MB
4088 (Ffont_shape_text): New function.
4089 (Fopen_font): If the font size is not given, use 12-pixel.
4090 (Ffont_at): New arg STRING.
15139d67
SM
4091 (syms_of_font): Initalize font_charset_alist.
4092 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
4093 conditionally.
4094
4095 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
4096 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
4097 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
4098 Adjust for the change of RFONT-DEF.
15139d67 4099 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
4100
4101 * ftfont.h: New file.
4102
4103 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
4104 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4105 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4106 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
4107 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 4108 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
4109 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
4110 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
4111 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 4112 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
4113 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
4114 (otf_gstring, gstring, m17n_flt_initialized): New variables.
4115
15139d67
SM
4116 * w32term.c (x_draw_composite_glyph_string_foreground):
4117 Adjust for the change of lispy gstring.
aca7a3d2 4118
15139d67 4119 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 4120 lispy gstring. Call a function for auto-composition with the
15139d67
SM
4121 third arg it->window.
4122 (fill_composite_glyph_string): Adjust for the change of lispy string.
4123 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 4124
15139d67 4125 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4126 font_find_for_lface.
4127
1f45f627
GM
4128 * xfont.c (x_font_charset_alist): Move to font.c and rename.
4129 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
4130 (syms_of_xfont): Don't handle x_font_charset_alist.
4131
4132 * xftfont.c: Include "ftfont.h".
15139d67 4133 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
4134 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4135 (xftfont_close) [HAVE_LIBOTF]: Close otf.
4136 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
4137 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
4138 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 4139
15139d67 4140 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
4141 the change of lispy gstring.
4142
73acf815 41432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4144
4145 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
4146
73acf815 41472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4148
4149 * w32font.c (w32font_draw): Fill background manually.
4150
73acf815 41512008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4152
4153 * font.c (Qfontp): Remove unused symbol.
4154 (QCantialias): New symbol.
4155 (syms_of_font): Define it.
4156 (font_property_table): Set a validator for QCantialias.
4157
15139d67
SM
4158 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
4159 Define if not already.
aca7a3d2
MB
4160 (QCfamily): Share with xfaces.c.
4161 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 4162 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
4163 (w32_antialias_type, lispy_antialias_type): New functions.
4164 (w32_enumfont_pattern_entity): New arg requested_font.
4165 Set antialias parameter if non-default was requested.
4166 (fill_in_logfont): Fill in lfQuality if :antialias specified.
4167
73acf815 41682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4169
4170 * lread.c (read1): Undo the previous change.
4171
73acf815 41722008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
4173
4174 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 4175 USE_FONT_BACKEND is defined.
aca7a3d2 4176
73acf815 41772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4178
4179 * font.h (struct font_bitmap): New member bits_per_pixel.
4180 (struct font_driver): New members start_for_frame and end_for_frame.
4181 (struct font_data_list): New struct.
4182 (font_put_frame_data, font_get_frame_data): Extern them.
4183
4184 * frame.h (struct frame): New member font_data_list.
4185
4186 * font.c (font_update_drivers): Call driver->start_for_frame and
4187 driver->end_for_frame at proper timings.
4188 (font_put_frame_data, font_get_frame_data): New functions.
4189 (Ffont_spec): Add usage in the docstring.
4190
4191 * frame.c (make_frame): Initialize f->font_data_list to NULL.
4192 (Fdelete_frame): Call font_update_drivers.
4193
4194 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 4195 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
4196 (xftfont_get_xft_draw): New function.
4197 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
4198 (xftfont_end_for_frame): New function.
4199 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
4200
15139d67 4201 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 4202 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
4203 (struct ftxfont_frame_data): New struct.
4204 (ftxfont_draw_bitmap): New arg gc_fore and flush.
4205 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 4206 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
4207 (ftxfont_end_for_frame): New function.
4208 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
4209
4210 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
4211
73acf815 42122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4213
4214 * xselect.c (Vselection_coding_system)
4215 (Vnext_selection_coding_system): Delete them.
4216 (syms_of_xselect): Don't declare selection-coding-system and
4217 next-selection-coding-system. They are declared in select.el.
4218
73acf815 42192008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4220
4221 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
4222
4223 * w32fns.c: Include imm.h.
4224 (get_composition_string_fn, get_ime_context_fn): New optional
4225 system functions.
4226 (globals_of_w32fns): Load them from imm32.dll.
4227 (ignore_ime_char): New flag.
4228 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
4229 WM_IME_ENDCOMPOSITION messages.
4230
4231 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
4232 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
4233
73acf815 42342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4235
4236 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
4237 (READCHAR_REPORT_MULTIBYTE): New macro.
4238 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
4239 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
4240 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
4241 source.
4242
73acf815 42432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4244
4245 * xfaces.c (face_for_overlay_string): Call lookup_face with
4246 correct arguments (fix of synching with the trunk).
4247
73acf815 42482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4249
4c4475a8
GM
4250 * font.c (font_prop_validate_symbol, font_prop_validate_style)
4251 (font_prop_validate_non_neg, font_prop_validate_spacing):
4252 Delete argument prop_index.
15139d67
SM
4253 (font_property_table): Change arguments to validater. Change Callers.
4254 (font_lispy_object): Delete.
aca7a3d2
MB
4255 (font_at): Use font_find_object instead fo font_lispy_object.
4256
73acf815 42572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4258
4259 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
4260 and file names.
4261
73acf815 42622008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4263
4264 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
4265 (font_matches_spec): Remove debug output.
4266 (add_font_entity_to_list): Avoid using substituted fonts.
4267
73acf815 42682008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4269
4270 * doc.c (Fsnarf_documentation):
4271 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
4272
73acf815 42732008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 4274
290afd83 4275 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
4276 HAVE_WINDOW_SYSTEM is defined.
4277
73acf815 42782008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
4279
4280 Fix up multi-tty merge.
4281
4282 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
4283 and indentation.
4284
4285 * xfaces.c (free_realized_face, clear_face_gcs):
4286 Include font_done_for_face in the input_blocked section, just in case.
4287
4288 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
4289 (get_char_face_and_encoding): Undo last change and remove the *other*
4290 duplicate definition (i.e. keep the one that's better scoped and that
4291 includes code for the font-backend).
4292
4293 * terminal.c (create_terminal): Default keyboard_coding to
4294 `no-conversion' and terminal_coding to `undecided'.
4295
4296 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
4297
4298 * fontset.c (free_realized_fontsets): Check that the table entry does
4299 contain a fontset before trying to compare it to `base'.
4300
4301 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
4302 syms_of_charset, and syms_of_coding earlier because init_window_once
4303 now needs Vcoding_system_hash_table to be setup.
4304
4305 * coding.h (default_buffer_file_coding): Remove.
4306
4307 * coding.c (default_buffer_file_coding): Remove.
4308 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
4309 than ->symbol, and use the terminal-local coding system.
4310 (syms_of_coding): Don't setup the coding-systems that are not
4311 terminal-local.
4312 (Fdefine_coding_system_internal): Use XCAR/XCDR.
4313
4314 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
4315 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
4316
4317 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
4318 in chartab.c and were re-added here by mistake.
4319 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
4320
4321 * doc.c (Fsnarf_documentation):
4322 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
4323 src to etc.
4324
4325 * ChangeLog.10: Add mistakenly removed entry.
4326
73acf815 43272008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
4328
4329 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
4330
73acf815 43312008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4332
4333 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
4334 Add extra args to FACE_FOR_CHAR.
4335
73acf815 43362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4337
4338 * keymap.c (where_is_internal_1): If key is a cons, store the copy
4339 in sequence.
4340
4c4475a8
GM
4341 * chartab.c (map_sub_char_table, map_char_table): If the range
4342 contains just one character, call the function with that character
4343 even if the depth is not 3.
aca7a3d2 4344
73acf815 43452008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4346
4347 * w32font.c (w32font_text_extents): Calculate metrics for the
4348 whole string.
4349
73acf815 43502008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4351
4352 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
4353
73acf815 43542008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4355
4356 * w32term.c (x_set_glyph_string_clipping): Use
4357 get_glyph_string_clip_rects.
4c4475a8
GM
4358 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4359 Adjust for the change of struct glyph_string.
aca7a3d2
MB
4360
4361 * w32font.c (w32font_draw): Do clipping here.
4362
73acf815 43632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4364
1f45f627 4365 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
4366 glyph_string.
4367
4368 * xterm.c (x_set_glyph_string_clipping): Use
4369 get_glyph_string_clip_rects.
4c4475a8
GM
4370 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4371 Adjust for the change of struct glyph_string.
aca7a3d2
MB
4372
4373 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
4374 the resulting clip(s}.
1f45f627 4375 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
4376 row->clip temporarily.
4377 (expose_window): Redraw rows overlapping the exposed area.
4378
4379 * dispextern.h (struct glyph_row): New member clip.
4380 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
4381 clip_height, new member clip, and num_clips.
4382
73acf815 43832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4384
4385 * data.c (Fchar_or_string_p): Fix docstring.
4386
73acf815 43872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4388
4389 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
4390 create a temporal XftDraw object.
4391
73acf815 43922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4393
4394 * font.c (Ffontp): Fix docstring.
4395
4396 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
4397 strong evidence of ISO-2022.
4398
73acf815 43992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4400
4401 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
4402 SYNTAX_ENTRY_FOLLOW_PARENT.
4403
73acf815 44042008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
4405
4406 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
4407 its type.
4408 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
4409 Update to the new type of weak_hash_tables and next_weak.
4410
4411 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
4412 a plain C pointer to Lisp_Hash_Table.
4413
4414 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
4415 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
4416 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
4417 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
4418 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
4419 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
4420 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
4421 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
4422 (GC_EQ): Remove since they've been identical to their non-GC_
4423 alter-egos ever since the markbit was eradicated.
4424
290afd83
JB
4425 * alloc.c:
4426 * buffer.c:
4427 * buffer.h:
4428 * data.c:
4429 * fileio.c:
4430 * filelock.c:
4431 * fns.c:
4432 * frame.h:
4433 * lisp.h:
4434 * macterm.c:
4435 * print.c:
4436 * process.c:
4437 * w32fns.c:
4438 * w32menu.c:
4439 * w32term.c:
4440 * xfns.c:
4441 * xmenu.c:
4442 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 4443
73acf815 44442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4445
4446 * chartab.c (map_sub_char_table): Make it work for the top-level
4447 char-table. Fix handling of parent char-table.
c5ad7a3d 4448 (map_char_table): Adjust for the above change.
aca7a3d2 4449
73acf815 44502008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4451
4452 * w32font.c (Qgdi): Rename from Qw32.
4453
73acf815 44542008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4455
4456 * w32bdf.c (get_quoted_string): Make function static.
4457
73acf815 44582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4459
4460 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
4461 bigger ascent and descent than those of the font, use them as
4462 font's ascent and descent.
4463
73acf815 44642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4465
4466 * Makefile.in (${lispsource}international/charprop.el): Move this
4467 target within "#ifdef HAVE_UNIDATA" and "#endif".
4468
73acf815 44692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4470
4471 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
4472 (shortlisp): Add ../lisp/language/tai-viet.el.
4473
1f45f627 44742008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
4475
4476 * Makefile.in (${lispsource}international/charprop.el): Depend on
4477 temacs${EXEEXT}.
4478
73acf815 44792008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4480
4481 * w32font.c (w32font_close): Delete the GDI font object.
4482
6f69e89b 4483 * w32menu.c: Include character.h.
aca7a3d2
MB
4484
4485 * w32proc.c: Likewise.
4486
4487 * w32select.c: Likewise.
4488
6f69e89b 4489 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 4490
73acf815 44912008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4492
4493 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
4494
4495 * w32menu.c (syms_of_w32menu): Likewise.
4496
4497 * w32proc.c (syms_of_ntproc): Likewise.
4498
4499 * w32select.c (syms_of_w32select): Likewise.
4500
4501 * w32term.c (syms_of_w32term): Likewise.
4502
73acf815 45032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4504
4505 * w32font.c (w32font_draw): Delete brush after using it.
4506
73acf815 45072008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4508
4509 * w32font.c (w32font_open): Don't set font_idx.
4510 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
4511 to font settings.
4512 (w32font_draw): Fill background explicitly.
4513
73acf815 45142008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4515
4516 * w32term.c (w32_initialize): Don't call w32font_initialize.
4517
4518 * w32font.c (w32font_info): Remove subranges.
4519 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
4520 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
4521 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
4522 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
4523 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
4524 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
4525 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
4526 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
4527 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
4528 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
4529 New symbols.
4530 (font_callback_data): New struct.
4531 (w32font_list, w32font_match): Use it.
4532 (w32font_open): Don't populate subranges.
4533 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
4534 (w32font_encode_char): Always return unicode code-point as-is.
4535 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
4536 GetGlyphOutline. Never look up by glyph index. Avoid looping
4537 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 4538 glyph index version.
1f204af3 4539 (set_fonts_frame): Remove.
aca7a3d2 4540 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
4541 set frame parameter. Use backward compatible fake foundries.
4542 Save generic family in extra slot under QCfamily. Make width slot
4543 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
4544 binary subranges.
4545 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 4546 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
4547 unwanted fonts.
4548 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
4549 (w32_registry): Default to iso10646_1.
4550 (fill_in_logfont): Use dpi from extra slot. Don't bother with
4551 string font registries. Don't fill in font name if it is a generic
4552 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
4553 extra info to fill pitch, family and charset fields.
4554 (list_all_matching_fonts): Use font_callback_data struct.
4555 (unicode_range_for_char): Remove.
4556 (font_supported_scripts): New function.
4557 (w32font_initialize): Remove.
4558 (syms_of_w32font): Update which symbols are defined.
4559
73acf815 45602008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4561
4562 * font.c (font_pixel_size): Reverse assq_no_quit args.
4563
4564 * w32term.h (FONT_WIDTH): Report max width, not average.
4565 (FONT_MAX_WIDTH): Remove.
4566 (FONT_AVG_WIDTH): New macro.
4567
4568 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
4569 redefinition of FONT_WIDTH.
4570
4571 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
4572 (w32_cache_char_metrics): Use FONT_WIDTH.
4573
4574 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
4575
73acf815 45762008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4577
4578 * w32font.c (w32font_open): Make lfHeight negative.
4579
4580 * w32fns.c (x_default_font_parameter): Use new style font name.
4581 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
4582
73acf815 45832008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4584
4585 * w32font.c (QCsubranges): New symbol.
4586 (w32font_open, w32font_has_char): Get subranges from subproperty
4587 of extra.
4588 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
4589 (syms_of_w32font): Define :subranges symbol.
4590
4591 * font.c (font_put_extra): Expose externally.
4592
1f45f627 4593 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
4594
4595 * font.c (Ffont_get): Use font driver to determine otf capability.
4596 (adjust_anchor): Check if driver defines anchor_point before using.
4597
4598 * w32font.c (w32font_open): Handle size, height and pixel_size better.
4599 (w32font_draw): Use options.
4600 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
4601 Fix detection of truetype fonts.
4602 (registry_to_w32_charset): Handle charsets other than iso8859-1
4603 expressed as lisp symbols.
4604 (w32_registry): Express charset as lisp symbol.
4605 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 4606 Don't set width here. Set quality to default.
aca7a3d2
MB
4607
4608 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
4609 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
4610
4611 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4612 Remove redundant loop and allocation.
4613
4614 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 4615 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
4616 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
4617
4618 * xdisp.c (fill_composite_glyph_string): Make the first arg to
4619 STORE_XCHARB a valid l-value.
4620
4621 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
4622 calculations for non-Truetype fonts.
4623 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
4624 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4625 Remove redundant code.
aca7a3d2
MB
4626 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
4627
4628 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
4629 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
4630
4631 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
4632 (x_to_w32_charset, w32_to_x_charset): Expose externally.
4633
4634 * w32font.c: New file for w32 font backend.
4635
73acf815 46362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4637
4638 * term.c: Don't include "buffer.h" twice.
4639
73acf815 46402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4641
4642 * character.c (Funibyte_string): New function.
4643 (syms_of_character): Defsubr it.
4644
73acf815 46452008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4646
4647 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
4648 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
4649 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
4650 (x_draw_glyph_string, x_draw_glyph_string_foreground)
4651 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
4652 (x_free_frame_resources): Sync with xterm.c.
4653
73acf815 46542008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4655
4656 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
4657 char-table size.
4658
73acf815 46592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4660
c3f9fba8 4661 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 4662
73acf815 46632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4664
4665 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
4666 font_otf_gpos, add font_drive_otf.
4667
4668 * fontset.c (fontset_find_font): Pay attention to font size
4669 specified for a font.
4670 (reorder_font_vector): Check contents of font_def.
4671
4672 * font.c (struct otf_list): Delete it.
6f69e89b 4673 (otf_list): Make it a lisp variable.
aca7a3d2 4674 (otf_open): Use lispy otf_list.
1f45f627 4675 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 4676 (check_otf_features): New function.
c3f9fba8
JB
4677 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4678 New functions.
aca7a3d2
MB
4679 (font_drive_otf): New function merging font_otf_gsub and
4680 font_otf_gpos.
4681 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 4682 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
4683 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
4684 Ffont_otf_gpos.
4685 (syms_of_font): Staticpro otf_list. Delete defsubr of
4686 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
4687
1f45f627 4688 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4689 font_open_for_lface.
4690
4691 * font.h (font_open_for_lface): Adjust prototype.
4692 (struct font_driver): Delete members otf_gsub and otf_gpos, add
4693 member otf_drive.
4694 (font_otf_gsub, font_otf_gpos): Delete externs.
4695 (font_drive_otf): Extern it.
4696
73acf815 46972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4698
4699 * font.c (font_at): If the window W is not on a window system,
4700 return Qnil.
4701
4c4475a8
GM
4702 * coding.c (produce_chars, encode_coding): Don't call
4703 insert_from_gap if no characters to produce.
aca7a3d2 4704
73acf815 47052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4706
4707 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
4708 Fclear_face_cache.
4709
4710 * xfaces.c (face_for_font): Check also face->font==font->font.font.
4711
73acf815 47122008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4713
4714 * emacs.c (main): Change default value of `enable_font_backend' to 1.
4715 Parse "--disable-font-backend" option.
4716 (standard_args): Add "--disable-font-backend" option.
4717
73acf815 47182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4719
4720 * fontset.c (fontset_find_font): New function.
4721 (fontset_font): Use fontset_find_font.
4722 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
4723 Register the specified font for all Latin characters.
4724 (new_fontset_from_font): Register the specified font for all Latin
4725 characters.
4726 (dump_fontset): For a realized fontset, include the base fontset
4727 name in the returned vector.
4728
73acf815 47292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4730
4731 * character.h (CHAR_STRING): Cast C to unsigned on calling
4732 char_string.
4733
4734 * character.c (char_string): Type of arg C changed to unsigned.
4735 Signal an error if C is an invalid character code.
4736
4c4475a8
GM
4737 * editfns.c (general_insert_function, Fchar_to_string):
4738 Use CHARACTERP, not INTEGERP.
aca7a3d2 4739
73acf815 47402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4741
4742 * character.h (MIN_MULTIBYTE_LEADING_CODE)
4743 (MAX_MULTIBYTE_LEADING_CODE): New macros.
4744
4745 * regex.c (analyse_first): Fix for multibyte characters in "case
4746 charset:" and "case categoryspec:".
4747
73acf815 47482008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4749
4750 * Makefile.in (LIBES): Move standard libraries to the end.
4751
73acf815 47522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4753
4754 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
4755 nonzero, don't shrink the buffer nextb.
4756
4757 * buffer.h (struct buffer_text): New member inhibit_shrinking.
4758
4759 * coding.c (coding_alloc_by_making_gap): New arg offset.
4760 (alloc_destination): Call coding_alloc_by_making_gap with the arg
4761 offset.
4762 (decode_coding_iso_2022): Update coding->safe_charsets.
4763 (decode_coding_gap): Temporarily set
4764 current_buffer->text->inhibit_shrinking to 1.
4765
73acf815 47662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4767
4768 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
4769 indexing into elements of s->cmp and s->char2b.
4770
73acf815 47712008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
4772
4773 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
4774
73acf815 47752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4776
4777 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
4778 target_multibyte instead of multibyte.
4779 (re_match_2_internal): Call bcmp_translate with target_multibyte.
4780 (bcmp_translate): Change the argument name from multibyte to
4781 target_multibyte.
4782
73acf815 47832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4784
4785 These changes are to compile a regexp into a pattern that can be
4786 used both for multibyte and unibyte targets.
4787
4788 * Makefile.in (search.o): Depend on charset.h.
4789
4790 * character.c (multibyte_char_to_unibyte_safe): New function.
4791
4792 * search.c: Include "charset.h".
4793 (compile_pattern_1): Delete argument multibyte. Don't set
4794 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
4795 (compile_pattern): Don't compare cp->buf.target_multibyte.
4796 Compare cp->buf.charset_unibyte.
4797 (compile_pattern): Set cp->buf.target_multibyte.
4798
4799 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
4800
4801 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
4802
4803 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 4804 multibyte. Change callers.
aca7a3d2 4805 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
4806 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
4807 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
4808 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
4809 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
4810 (regex_compile): Make the compiled pattern usable both for
4811 multibyte and unibyte targets.
4812 (analyse_first): Make the fastmap usable both for multibyte and
4813 unibyte targets.
1f45f627 4814 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
4815 (re_match_2_internal): Pay attention to the case that the
4816 multibyteness of bufp and target may be different.
4817
73acf815 48182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4819
4820 * xdisp.c (x_produce_glyphs): When a font is not found, make the
4821 empty box occupy at least one column width.
4822
73acf815 48232008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4824
4825 * Makefile.in: Remove redundant HAVE_XFT clause.
4826
73acf815 48272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4828
4829 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
4830
73acf815 48312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4832
4833 * fontset.c (Finternal_char_font): Fix for the case of POSITION
4834 being nil.
4835
73acf815 48362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4837
4838 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
4839
73acf815 48402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4841
4842 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
4843
73acf815 48442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4845
4846 * search.c (simple_search): Fix previous change.
4847
73acf815 48482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4849
4850 * xftfont.c (ftfont_font_format): Extern declaration.
4851
4852 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
4853
4854 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
4855 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
4856
4857 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
4858 (ftfont_font_format): Fix previous change.
4859
4860 * font.h (Ffont_xlfd_name): EXFUN it.
4861
4862 * font.c (font_parse_xlfd): Fix the array size of `f'.
4863 (register_font_driver): Use EQ to compare driver->type.
4864
4865 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
4866 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
4867 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
4868
73acf815 48692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4870
4c4475a8
GM
4871 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
4872 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 4873
73acf815 48742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4875
4876 * xfont.c (xfont_open): Set font->format.
4877
4878 * xftfont.c (xftfont_open): Set font->format.
4879
4880 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
4881 (ftfont_list): Include FC_FONTFORMAT in FcObject.
4882 (ftfont_open): Set font->format.
4883 (ftfont_font_format): New function.
4884
4885 * font.h (struct font): New memeber format.
4886
4887 * font.c (Qopentype): New variable.
4888 (syms_of_font): Defsym it.
4889 (Fquery_font): Change the format of the last element of the return
4890 value.
4891
73acf815 48922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4893
4894 * xfns.c (xic_create_xfontset): Try the default fontset name as a
4895 last resort.
4896
73acf815 48972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4898
4899 * coding.c (detect_coding_charset): Fix detection of multi-byte
4900 charset.
4901
73acf815 49022008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
4903
4904 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
4905
73acf815 49062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4907
4908 * xdisp.c (get_next_display_element): Set it->face_id for the
4909 first component of a composition.
1f45f627 4910 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 4911
73acf815 49122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4913
4914 * fontset.c (Qlatin): New variable.
4915 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 4916 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 4917
73acf815 49182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4919
4920 * font.c (font_unparse_fcname): Pay attention to the case that
4921 some of font property is a null string.
4922
73acf815 49232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4924
4925 * term.c: Include "composite.h".
4926 (encode_terminal_code): Output all components of composition.
4927 Check the size of encode_terminal_src.
424c157f 4928 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
4929 (append_composite_glyph, produce_composite_glyph): New functions.
4930
4931 * xdisp.c (x_produce_glyphs): In handling composition, if a font
4932 is not found, get font_info from the current ascii face.
4933
73acf815 49342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4935
4936 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
4937 buffer-file-name to Qnil before calling insert_from_buffer.
4938
4939 * font.c (font_unparse_fcname): Pay attention to the case that
4940 foundry is a null string.
4941
73acf815 49422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4943
4944 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
4945
4946 * font.c (Qunicode_sip): New variable.
4947 (syms_of_font): Declare it as a Lisp symbol.
4948
4949 * font.h (Qunicode_sip): Extern it.
4950
73acf815 49512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4952
1f45f627 4953 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
4954
4955 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 4956 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
4957 the first elememnt of allocated memory.
4958
1f45f627 4959 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
4960
4961 * xdisp.c (handle_composition_prop): Set it->c to the first
4962 non-TAB component.
1f45f627
GM
4963 (fill_composite_glyph_string): Change argument.
4964 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
4965 (x_produce_glyphs): Fix handling of left/right padding.
4966
73acf815 49672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4968
4969 * coding.c (detect_coding_system): Fix for handling off
4970 inhibit_iso_escape_detection. Fix for the case that no coding
4971 system is defined for a specific coding category.
4972
73acf815 49732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4974
1f45f627 4975 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
4976
4977 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
4978 opening a font.
4979
4980 * fileio.c (Finsert_file_contents): On recovering a file, assume
4981 Unix-like eol.
4982 (choose_write_coding_system): On auto-saving a file, force
4983 Unix-like eol.
4984
4985 * coding.c (setup_coding_system): Fix setting of
4986 coding->common_flags based on eol_type.
4987 (coding_inherit_eol_type): If PARENT is not nil, be sure to
4988 inherit from it.
4989
73acf815 49902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4991
1f45f627 4992 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 4993
73acf815 49942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4995
1f45f627 4996 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
4997 (ftfont_list): Don't check :name property.
4998 (ftfont_match): New function.
4999 (ftfont_pattern_entity): If the pattern doesn't contain
5000 FC_SPACING, don't assuce FC_MONO.
5001
5002 * font.h (struct font_driver): New member `match'.
1f45f627 5003 (font_update_drivers): Adjust prototype.
aca7a3d2 5004
4c4475a8
GM
5005 * font.c (font_parse_fcname, font_parse_name): Don't change :name
5006 property of FONT.
aca7a3d2
MB
5007 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
5008 them unconditionally.
5009 (font_matching_entity): New function.
5010 (font_open_by_name): Try font_matching_entity if exact match is
5011 not found.
5012 (font_update_drivers): Delete the arg FONT. Return a list of
5013 actually used backends. Don't free faces, font caches here.
5014 Don't store data in frame parameters. Don't call x_set_font.
5015 (Ffont_spec): Store :name property as is.
5016 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
5017 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
5018 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
5019 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
5020 Call font->driver->otf_gsub instead of font_otf_gsub.
5021
5022 * frame.c (x_set_font_backend): Do more works that were done in
5023 font_update_drivers before.
5024
5025 * xfont.c (xfont_match): New function.
5026 (xfont_driver): Set xfont_driver.match to xfont_match.
5027 (xfont_draw): Set font in GC if necessary.
5028
5029 * ftxfont.c (ftxfont_match): New function.
5030 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
5031
5032 * xftfont.c (xftfont_match): New function.
5033 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
5034
73acf815 50352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5036
5037 * font.h (struct font): New member scalable.
5038 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 5039 (font_otf_gsub): Adjust prototype.
aca7a3d2 5040
1f45f627
GM
5041 * font.c (font_otf_capability): Fix handling of the default langsys.
5042 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
5043 Check the contents of SPEC.
5044 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
5045 (check_gstring): New function.
5046 (REPLACEMENT_CHARACTER): New macro.
5047 (font_otf_gsub): New arg alternate_subst. Be sure to set all
5048 glyph codes of GSTRING.
5049 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
5050 (font_prepare_composition): Set cmp->glyph_len.
5051 (font_open_entity): Set font->scalable.
5052 (Ffont_get): Handle :otf property.
5053 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
5054 functions.
5055 (Fquery_font): Use font->font.full_name.
5056 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
5057 Sfont_otf_alternates.
5058
5059 * ftfont.c (ftfont_open): Set font->font.full_name and
5060 font->font.name properly. Fix calculation of font->font.height
5061 and font->min_width.
5062
5063 * ftxfont.c (ftxfont_create_gcs): New function.
5064 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
5065 (ftxfont_draw_backgrond): Fix filling region.
5066 (ftxfont_default_fid): New function.
5067 (ftxfont_open): Set xfotn->fid to the return value of
5068 ftxfont_default_fid.
5069 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
5070 (ftxfont_done_face): Free only GCs that are created by
5071 ftxfont_create_gcs.
5072 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
5073
5074 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
5075 Clip to src->width, etc (not src->clip_XXX).
5076
5077 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
5078 FontBackend frame parameter.
5079
73acf815 50802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5081
5082 * font.h (struct font_driver_list): New member `on'.
5083 (Fclear_font_cache): EXFUN it.
5084 (font_update_drivers): Extern it.
5085
5086 * font.c (font_unparse_fcname): Fix typo (swidth->width).
5087 (font_list_entities): Check driver_list->on.
5088 (register_font_driver): Initalize `on' member to 0.
5089 (font_update_drivers): New function.
5090 (Fclear_font_cache): Check driver_list->on.
5091
5092 * frame.h (Qfont_backend): Extern it.
5093 (x_set_font_backend): Extern it.
5094
5095 * frame.c (Qfont_backend): New variable.
5096 (frame_parms): New element for font-backend.
5097 (x_set_font_backend): New function.
5098
5099 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
5100 FontBackend frame parameter.
5101 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
5102 x_set_font_backend.
5103
5104 * xfont.c (xfont_list): Don't try listing by :name property if the
5105 name is not for XLFD.
5106
73acf815 51072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5108
5109 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
5110 (LGLYPH_SET_TO): New macros.
5111 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
5112 element of G is vector or not.
5113 (font_at): Extern it.
5114
5115 * font.c: Include window.h.
5116 (font_lispy_object): New function.
5117 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
5118 end of valid glyph.
5119 (font_close_object): Fix getting (struct font *).
5120 (font_at): New function.
5121 (Ffont_get): If FONT is a font-object, get entity from it.
5122 (Ffont_make_gstring): Initialize elements of glyphs with nil.
5123 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
5124 range check.
5125 (Ffont_at): New function.
5126 (syms_of_font): Defsubr Sfont_at.
5127
5128 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 5129 before the entry for Qcomposition.
1f45f627 5130 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
5131 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
5132 the font in gstring.
5133 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
5134 LGLYPH_FORM (g) to detect the end of valid glyph.
5135 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
5136 we are composing with gstring.
5137
5138 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
5139 Check if adjustment is vector or not.
5140
5141 * Makefile.in (font.o): Make it depends on window.h.
5142
73acf815 51432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5144
5145 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
5146 adjustment is vector or not.
5147
73acf815 51482008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5149
5150 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
5151
73acf815 51522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5153
5154 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
5155 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
5156 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
5157
1f45f627 5158 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 5159 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
5160 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
5161 LGLYPH format.
aca7a3d2 5162
1f45f627 5163 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5164 the change of LGLYPH format.
5165
73acf815 51662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5167
5168 * ftfont.c (ftfont_list): Fix typo.
1f45f627 5169 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 5170
880820fe 51712008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
5172
5173 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
5174
5175 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
5176 xftface_info is non-NULL.
5177
880820fe 51782008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 5179
1f45f627 5180 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 5181
73acf815 51822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5183
5184 * ftfont.c (ftfont_list): Pay attention to the case that
5185 FC_CAPABILITY is not defined.
5186
73acf815 51872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5188
5189 * xftfont.c (xftfont_open): Set charset related members to -1.
5190
1f45f627
GM
5191 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
5192 QCname.
aca7a3d2
MB
5193 (ftfont_open): Set charset related members to -1.
5194
5195 * fontset.c (Votf_script_alist): New variable.
5196 (syms_of_fontset): Initialize it.
5197 (fontset_font): Delete unused variable.
5198
5199 * fontset.h (Votf_script_alist): Extern it.
5200
1f45f627 5201 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
5202
5203 * font.h (font_close_object, font_merge_old_spec): Extern them.
5204
73acf815 52052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5206
5207 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
5208 (syms_of_font): Initialize them.
5209 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
5210 (font_prop_validate_type): Delete.
5211 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
5212 Change caller.
5213 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
5214 (font_prop_validate_extra): Delete.
aca7a3d2
MB
5215 (font_prop_validate_spacing): New function.
5216 (font_property_table): Add elements for all known properties.
1f45f627
GM
5217 (get_font_prop_index): Rename from check_font_prop_name. New
5218 argument FROM. Change caller.
aca7a3d2 5219 (font_prop_validate): Validate all known properties.
1f45f627 5220 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
5221 (font_expand_wildcards): Make it static. Fix the way of shrinking
5222 the possible range.
1f45f627 5223 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 5224 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 5225 Change caller.
aca7a3d2 5226 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
5227 (font_parse_fcname): Delete argument merge. Fix parsing of point
5228 size. Don't validate properties values here. Change caller.
5229 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
5230 (font_open_by_name): Delete unused variable.
5231 (Ffont_spec): Likewise. Validate property values.
5232 (Ffont_match_p): New function.
5233
5234 * font.h (QCscalable): Extern it.
1f45f627 5235 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 5236
1f45f627 5237 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 5238
1f45f627 5239 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
5240 (xfont_list_pattern): New function.
5241 (xfont_list): Use xfont_list_pattern.
5242
73acf815 52432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5244
5245 * font.h (Flist_fonts): EXFUN it.
5246
73acf815 52472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5248
5249 * w32term.c (w32_initialize): Add back smoothing_type and
5250 smoothing_enabled definitions.
5251
73acf815 52522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5253
5254 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
5255 s->face->font on determining underline position.
5256
73acf815 52572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5258
5259 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
5260 (font_has_char): Accept font-object too.
5261 (font_find_for_lface): Try at first with a size specified in face.
5262
73acf815 52632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5264
5265 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
5266 font_open_by_name.
5267
73acf815 52682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5269
5270 * font.h (QCspacing, QCdpi): Extern them.
5271 (enum font_spacing): New enum.
5272 (FONT_PIXEL_SIZE_QUANTUM): New macro.
5273
5274 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
5275 (QCspacing, QCdpi): New variables.
5276 (syms_of_font): Initialize them.
5277 (font_pixel_size): New function.
5278 (font_put_extra): New function.
5279 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
5280 in FONT_EXTRA.
e9184ccb
JB
5281 (font_parse_fcname): Handle enumenrated values (e.g. bold).
5282 Fix handling font size. Add QCname property that contains only
aca7a3d2 5283 unknown properties.
1f45f627 5284 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 5285 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
5286 (font_sort_entites, font_list_entities, font_find_for_lface)
5287 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 5288 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
5289
5290 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
5291 include weight in listing pattern, instead check weight of each
5292 listed font. Don't include scalable in pattern. Pay attention to
5293 FONT_PIXEL_SIZE_QUANTUM.
5294
73acf815 52952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5296
aca7a3d2 5297 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 5298 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
5299 (font_list_entities): Handle float size correctly.
5300 (font_open_by_name): Prefer `normal' property values if the name
5301 doesn't specify them.
5302
5303 * fontset.c (Finternal_char_font): Use font_get_name, not
5304 Ffont_xlfd_name.
5305
5306 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
5307 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
5308 pattern. Don't force scalable.
5309
5310 * xftfont.c (xftfont_open): For generating a name, start from
5311 96-byte buffer.
5312
880820fe 53132008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
5314
5315 * frame.h (x_new_fontset2): Fix prototype.
5316
73acf815 53172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5318
1f45f627 5319 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
5320 (font_match_p, font_get_spec, font_parse_fcname)
5321 (font_unparse_fcname): Extern them.
1f45f627 5322 (font_get_name): Adjust prototype.
aca7a3d2
MB
5323
5324 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
5325 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
5326 (font_expand_wildcards): Fix handling ENCODING field. Avoid
5327 unnecessary checks for weight, slant, and swidth.
5328 (font_parse_fcname): New function.
5329 (font_unparse_fcname): New function.
5330 (font_parse_name): New function.
5331 (font_match_p): New function.
1f45f627 5332 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
5333 (font_get_spec): New function.
5334 (Qunspecified, Qignore_defface): Don't extern them.
5335 (font_find_for_lface): Assume that LFACE is fully specified.
5336 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
5337 object, use it for FACE.
5338 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
5339 driver->parse_name.
5340 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
5341
1f45f627
GM
5342 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
5343 prototype.
aca7a3d2 5344
1f45f627
GM
5345 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
5346 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
5347 make_fontset.
5348
1f45f627 5349 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 5350
1f45f627 5351 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
5352 of x_new_fontset2.
5353
5354 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
5355 (Qsans__serif): New variables.
5356 (ftfont_generic_family_list): New variable.
5357 (syms_of_ftfont): Initialize the above variables.
1f45f627 5358 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
5359 (ftfont_list_generic_family): New function.
5360 (ftfont_parse_name): Delete this function.
1f45f627 5361 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
5362 (ftfont_list_family): Fix args to FcObjectSetBuild.
5363
5364 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
5365 object in attrs[LFACE_FONT_INDEX].
5366 (set_lface_from_font_name): Cancel all changes for font-backend.
5367 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
5368 function.
5369 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
5370 font object in QCfont attribute.
5371 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
5372 (realize_default_face) [USE_FONT_BACKEND]: Call
5373 set_lface_from_font_and_fontset.
5374
5375 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
5376 "fixed", and signal error here if no suitable font was found.
5377
5378 * xfont.c (xfont_parse_name): Delete this function.
5379
5380 * xftfont.c (xftfont_open): Change coding style of error
5381 handling. Generate fontconfig's fontname pattern.
5382
5383 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
5384 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
5385
5386 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
5387 Both args FONTSET and FONT_OBJECT must be existing ones.
5388
73acf815 53892008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5390
5391 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
5392
73acf815 53932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5394
5395 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
5396
5397 * font.h (struct font): Fix typo.
5398
5399 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
5400 XLFD_XXX_INDEX.
5401 (enum xlfd_field_mask): New enum.
1f45f627 5402 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
5403 are followed by non-digits, return a symbol.
5404 (font_expand_wildcards): New function.
5405 (font_parse_xlfd): Fix wildcard handling.
5406 (Ffont_spec): If :name is specified, reflect the info in the other
5407 properties.
5408
5409 * ftfont.c (ftfont_pattern_entity): Fix typo.
5410 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
5411 locale.
5412
73acf815 54132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5414
5415 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
5416
1f45f627 5417 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
5418 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
5419 registry doesn't specify encoding part.
5420 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
5421 (font_open_by_name): At first try parsing the name.
5422 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
5423 as Lisp symbols.
5424
5425 * fontset.c (reorder_font_vector): Pay attention to the case that
5426 the 3rd element of font_def is nil.
5427 (fontset_font): For the default fontset, append one more fontset
5428 elements for a script-based font specification. Don't add script
5429 attribute on finding a font.
5430 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
5431 font name.
5432 (fontset_ascii_font): If a font can't be opened, return nil.
5433
1f45f627 5434 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
5435 (ftfont_pattern_entity): New function.
5436 (ftfont_get_cache): Assume that freetype_font_cache is already
5437 initialized.
5438 (ftfont_list): Handle the case that a file is specified in font
5439 name. Use ftfont_pattern_entity to generate entities.
5440 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
5441 (syms_of_ftfont): Initialize freetype_font_cache.
5442
5443 * xftfont.c (xftfont_open): Make the font name fontconfig's
5444 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
5445 (xftfont_close): Free font->font.name if not NULL.
5446
5447 * xfont.c (xfont_list): If script is specified for a font, return
5448 null_vector.
5449 (xfont_list_family): Declare argument type.
5450
5451 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
5452 name, set LFACE_FONT (lface) to nil.
5453
5454 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
5455 return Qnil.
5456
73acf815 54572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5458
1f45f627 5459 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
5460 (standard_args): Add "-enable-font-backend".
5461
73acf815 54622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5463
5464 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
5465 (struct xftdraw_list, xftdraw_list): Delete them.
5466 (register_xftdraw, check_xftdraw): Delete them.
5467 (xftfont_prepare_face): Don't call register_xftdraw.
5468 (xftfont_done_face): Don't call check_xftdraw.
5469 (xftfont_draw): Get backroudn color only when with_background is
5470 nonzero.
5471
5472 * xfont.c (xfont_encode_char): Fix calculation of char2b.
5473
73acf815 54742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5475
5476 These changes are for the new font handling codes.
5477
5478 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
5479 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
5480 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
5481 (FONTSRC, FONTOBJ): New variables.
5482 (obj): Add $(FONTOBJ).
5483 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
5484 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
5485 @LIBOTF_LIBS@.
5486 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 5487 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 5488
1f45f627 5489 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
5490
5491 * character.h (Vscript_representative_chars): Extern it.
5492
5493 * character.c (Vscript_representative_chars): New variable.
5494 (syms_of_character): Declare it as a Lisp variable.
5495
5496 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
5497 enable_font_backend is nonzero, accept the composition method
5498 COMPOSITION_WITH_GLYPH_STRING.
5499
5500 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
5501 enumeration COMPOSITION_WITH_GLYPH_STRING.
5502
aca7a3d2
MB
5503 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
5504 members clip_x, clip_y, clip_width, and clip_height.
5505 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
5506
5507 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
5508 --enable-font-backend. Call syms_of_font.
5509
5510 * fns.c (assoc_no_quit): New function.
5511
5512 * fontset.h (FONT_INFO_FROM_FACE): New macro.
5513 (face_for_font, new_fontset_from_font)
5514 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
5515
5516 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
5517 (fontset_font, fontset_ascii, face_for_char)
5518 (make_fontset_for_ascii_face, Ffont_info)
5519 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
5520 is nonzero, use font-backend mechanism.
5521 (find_font_encoding): Make it non-static.
5522 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
5523 New functions.
5524
5525 * frame.h (struct frame): New members resx and resy.
5526 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
5527 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
5528
5529 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 5530 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
5531
5532 * lisp.h (assoc_no_quit): Extern it.
5533
5534 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
5535 Through out the file, use FONT_INFO_FROM_FACE instead of
5536 FONT_INFO_FROM_ID, use get_per_char_metric instead of
5537 rif->per_char_metric.
5538 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
5539 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
5540 (get_glyph_face_and_encoding, fill_composite_glyph_string)
5541 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
5542 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
5543 nonzero, use font-backend mechanism.
5544 (get_per_char_metric): New function.
5545
5546 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
5547 (set_lface_from_font_name)
5548 (set_font_frame_param, free_realized_face)
5549 (prepare_face_for_display, clear_face_gcs)
5550 (Finternal_set_font_selection_order, realize_x_face)
5551 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
5552 font-backend mechanism.
1f45f627 5553 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
5554 (load_face_font) [USE_FONT_BACKEND]: Abort.
5555 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 5556 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
5557
5558 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
5559 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
5560 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
5561 nonzero, register all available font drivers. Call
5562 x_default_font_parameter for deciding a font.
5563 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
5564
5565 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
5566 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
5567 (x_set_glyph_string_clipping_exactly)
5568 (x_compute_glyph_string_overhangs)
5569 (x_draw_glyph_string_foreground)
5570 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
5571 (x_free_frame_resources) [USE_FONT_BACKEND]: If
5572 enable_font_backend is nonzero, use font-backend mechanism.
5573 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
5574
73acf815 55752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5576
fcb314b2 5577 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
5578 system_eol_type.
5579 (syms_of_coding): Initialize system_eol_type.
5580
fcb314b2
GM
5581 * process.c (Fset_process_coding_system): Inherit system's eol
5582 format if necessary.
aca7a3d2 5583
73acf815 55842008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5585
5586 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
5587
73acf815 55882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5589
5590 * coding.c (decode_eol): Pay attention to buffer relocation in
5591 del_range_2.
5592 (decode_coding): Call decode_eol before restoring undo_list.
5593
73acf815 55942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5595
5596 * charset.c (Fdefine_charset_internal): Fix setting of
5597 emacs_mule_bytes.
5598
73acf815 55992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5600
5601 * keyboard.c (read_char): Check if C is a character or not before
5602 looking up Vkeyboard_translate_table.
5603
73acf815 56042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5605
5606 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
5607 condition to terminate the loop.
5608
73acf815 56092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5610
5611 * coding.c (produce_composition): Compare charbuf[i] instead of
5612 args[i] against 0.
5613 (Fterminal_coding_system): Use EQ to compare Lisp objects.
5614
73acf815 56152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5616
5617 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
5618 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
5619 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
5620 detect_coding.
5621 (emacs_mule_char): Handle old style (Emacs 20) component character
5622 of a composition.
4c4475a8
GM
5623 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
5624 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
5625 composition rule.
aca7a3d2
MB
5626 (decode_coding_emacs_mule): Handle invalid bytes correctly.
5627
73acf815 56282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5629
5630 * coding.c (encode_coding_ccl): Allocate destination dynamically
5631 when necessary.
5632
73acf815 56332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5634
5635 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
5636 the loop. When quitted, show a proper error message.
5637
73acf815 56382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5639
aca7a3d2
MB
5640 * xterm.c (x_set_glyph_string_clipping_exactly): Set
5641 src->clip_head and src->clip_tail temporarily instead of src->hl.
5642
5643 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
5644 character sequence.
5645 (Fccl_execute_on_string): Use ASET, not XSET.
5646
73acf815 56472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5648
1f45f627 5649 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 5650
73acf815 56512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5652
5653 * coding.c (decode_coding): Fix the condition of terminating the
5654 decoding loop.
5655
73acf815 56562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5657
5658 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 5659 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 5660
73acf815 56612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5662
5663 * charset.c (map_charset_chars): Fix for ascii-compatible charset
5664 made by a mapping table.
5665
73acf815 56662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5667
5668 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
5669 not.
5670 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
5671 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
5672
5673 * xterm.c (x_draw_composite_glyph_string_foreground): Check
5674 s->face is NULL or not.
5675
73acf815 56762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5677
5678 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
5679 (x_draw_glyph_string): Fix drawing of right_overhang and
5680 left_overhang around/on cursor.
5681
1f45f627 5682 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 5683
73acf815 56842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5685
5686 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
5687
73acf815 56882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5689
4c4475a8
GM
5690 * coding.c (Fdefine_coding_system_internal)
5691 (Fdefine_coding_system_alias): Avoid a duplicated element in
5692 Vcoding_system_alist.
aca7a3d2 5693
73acf815 56942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5695
5696 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
5697
fcb314b2 5698 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
5699 (syms_of_coding): Intern and staticpro it.
5700 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 5701 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
5702
5703 * coding.h (CODING_SYSTEM_P): If ID is not available, call
5704 Fcoding_system_p.
5705 (CHECK_CODING_SYSTEM): If ID is not available, call
5706 Fcheck_coding_system.
4c4475a8
GM
5707 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
5708 Try also Fcheck_coding_system.
aca7a3d2 5709
73acf815 57102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5711
aca7a3d2
MB
5712 * coding.c (code_conversion_restore): GCPRO arg.
5713
73acf815 57142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5715
5716 * character.c (lisp_string_width): Check multibyteness of STRING.
5717
73acf815 57182008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5719
5720 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
5721 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
5722 (decode_mac_font_name): Use decode_coding_c_string instead of
5723 decode_coding.
5724 (x_load_font): Initialize fontp->fontset to -1. Set
5725 fontp->encoding_type.
5726
73acf815 57272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5728
5729 * search.c (search_buffer): Give up BM search on case-fold-search
5730 if one of a target character has a case-equivalence of different
5731 byte length even if that target charcter is an ASCII.
1f45f627
GM
5732 (simple_search): Fix calculation of byte length of matched text.
5733 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 5734
73acf815 57352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5736
5737 * coding.c (decode_coding): Fix handling of invalid bytes.
5738
73acf815 57392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5740
5741 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
5742 Unicode characters.
5743
73acf815 57442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5745
5746 * coding.c (encode_coding_object): If a pre-write-conversion
5747 function makes a new buffer, kill it.
5748
73acf815 57492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5750
5751 * coding.c (QCascii_compatible_p): New variable.
5752 (syms_of_coding): Initialize it.
4c4475a8
GM
5753 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
5754 calling string_char.
aca7a3d2
MB
5755 (record_conversion_result): Add `default:' case.
5756 (coding_charset_list): Delete unused variable `coding_type'.
5757 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
5758 property in the plist of the coding system.
5759 (Fcoding_system_put): Check QCascii_compatible_p.
5760
73acf815 57612008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5762
5763 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
5764 removed calculation of frame `f', as it's now used.
5765
73acf815 57662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5767
1f45f627 5768 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
5769 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
5770 (UNIDATA): New variable.
5771 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
5772 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
5773 $(RUN_TEMACS) unconditionally.
5774
73acf815 57752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5776
1f45f627 5777 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
5778 (admindir): New variable.
5779 ($(lispsource)international/charprop.el): New target.
5780
73acf815 57812008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5782
1f45f627 5783 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
5784 (syms_of_character): Remove its initialization.
5785
73acf815 57862008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
5787
5788 * w32select.c (validate_coding_system)
5789 (setup_windows_coding_system): New functions.
5790 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
5791 setup_windows_coding_system.
5792 (setup_config, Fw32_get_clipboard_data): Use
5793 validate_coding_system.
5794 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 5795 where signals are allowed.
aca7a3d2
MB
5796
5797 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
5798 (Fcheck_coding_system): Add declarations.
5799
73acf815 58002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5801
1f45f627 5802 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 5803
73acf815 58042008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5805
5806 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
5807 string as the second argument for x_new_fontset.
5808
73acf815 58092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5810
5811 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
5812 (encode_coding_object): Use safe_call instead of call2.
5813
73acf815 58142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5815
1f45f627 5816 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
5817
5818 * Makefile.in (lisp): Include charprop.el.
5819
73acf815 58202008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5821
5822 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
5823 Not sure if it's unnecessary.
5824
73acf815 58252008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5826
5827 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
5828 some possibly unnecessary fontset checking code that crashed
1f45f627 5829 when creating a new frame.
aca7a3d2 5830
73acf815 58312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5832
5833 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
5834 lookup_face.
5835
5836 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
5837
1f45f627 5838 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 5839
73acf815 58402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5841
73acf815 5842 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
5843 (coding_charset_list): New function.
5844
5845 * coding.h (coding_charset_list): Extern it.
5846
73acf815 58472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5848
5849 * fontset.c (Fset_fontset_font): Call find_font_encoding with
5850 concatenation of family and registry.
5851
73acf815 58522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5853
5854 * character.h (BYTE8_STRING): Fix typo.
5855
5856 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
5857 string to multibyte (sync to HEAD).
5858
5859 * casefiddle.c (casify_region): Handle changes in byte-length
5860 using replace_range_2 (sync to HEAD).
5861
73acf815 58622008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5863
5864 * chartab.c (map_char_table): GCPRO table and arg.
5865
73acf815 58662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5867
5868 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
5869 already at limit.
5870
73acf815 58712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5872
5873 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
5874 instead of fast_c_string_match_ignore_case.
1f45f627 5875 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 5876 fast_string_match_ignore_case instead of
1f45f627 5877 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 5878
73acf815 58792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5880
5881 * xdisp.c (get_next_display_element): In unibyte case, decide to
5882 display in octal form by checking a chacter by
5883 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
5884
1f45f627 5885 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
5886
5887 * character.c (unibyte_has_multibyte_table): New variable.
5888
5889 * character.h (unibyte_has_multibyte_table): Extern it.
5890 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
5891
73acf815 58922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5893
5894 * coding.c (encode_coding_iso_2022): Fix handling of charset
5895 annotation.
5896
73acf815 58972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5898
5899 * coding.c (setup_coding_system): If coding_system is nil, use
5900 Qundecided.
5901 (Fterminal_coding_system): Return nil if terminal coding system is
5902 `undecided'.
5903 (syms_of_coding): Define coding-system `undecided' here. Setup
5904 terminal_coding as `undecided'.
5905
73acf815 59062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5907
5908 * xdisp.c (message_dolog, set_message_1): Call
5909 unibyte_char_to_multibyte with arg type int.
5910
aca7a3d2
MB
5911 * lread.c (read1): Fix reading of a char-table.
5912
5913 * print.c (print_object): Include sub char-table in cicularities
5914 detection.
5915
73acf815 59162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5917
5918 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 5919 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 5920
73acf815 59212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5922
5923 * fileio.c (report_file_error): Make a unibyte string from
5924 strerror (errorno).
5925 (Fsubstitute_in_file_name): Fix the arg to
5926 unibyte_char_to_multibyte. It is evaluated twice.
5927
73acf815 59282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5929
5930 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
5931
73acf815 59322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5933
5934 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
5935 BOM is not found.
4c4475a8
GM
5936 (detect_coding, detect_coding_system): Optimization for ISO-2022
5937 when no 8-bit data is found.
aca7a3d2 5938
73acf815 59392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5940
5941 * w32fns.c (x_to_w32_font): Update to use new coding struct.
5942
73acf815 59432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5944
4c4475a8
GM
5945 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
5946 CHARS.
aca7a3d2 5947
73acf815 59482008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5949
5950 * macterm.c (mac_encode_char): Add charset argument and update
5951 to use encoding_type.
2a2e8de7 5952 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
5953 switch to pure fontset.
5954 (decode_mac_font_name): Temporarily remove decoding.
5955 (x_font_name_to_mac_font_name): Temporarily remove encoding.
5956 (x_load_font): Temporarily remove encoding.
aca7a3d2 5957
73acf815 59582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5959
5960 * xfaces.c (Fface_font): If frame is not on a window system,
5961 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
5962 refer to face->font.
5963 (split_font_name_into_vector, build_font_name_from_vector)
5964 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
5965 whne HAVE_WINDOW_SYSTEM is defined.
5966
73acf815 59672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5968
5969 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
5970 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 5971 cmp->glyph_len is zero.
aca7a3d2 5972
1f45f627 5973 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
5974 (Ffontset_info): Make it backward compatible. New arg ALL.
5975
73acf815 59762008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
5977
5978 * process.c (read_process_output): Grow decoding_buf when needed;
5979 this could cause a crash in allocate_string and compact_small_strings.
5980
73acf815 59812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5982
1f45f627 5983 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 5984
73acf815 59852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5986
5987 * coding.c (setup_coding_system): Set coding->common_flags
5988 correctly for raw-text.
5989 (consume_chars): On encoding unibyte text by raw-text, don't check
5990 multibyte form.
1f45f627 5991 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
5992
5993 * fileio.c (e_write): Short cut for the case of no encoding.
5994
73acf815 59952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5996
4c4475a8
GM
5997 * coding.c (detect_coding, detect_coding_system): Delete unused
5998 variables.
aca7a3d2 5999
73acf815 60002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6001
6002 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
6003 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
6004
73acf815 60052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6006
6007 * coding.c (Ffind_coding_systems_region_internal): Include
6008 raw-text and no-conversion in the result.
6009
73acf815 60102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6011
1f45f627 6012 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
6013 (load_font_get_repertory): Delete unnecessary check of ENCODING of
6014 FONT_DEF.
6015 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 6016 (set_fontset_font): Change argument.
aca7a3d2
MB
6017 (Fset_fontset_font): Fix for the case that TARGET is a script
6018 name and charset name.
6019 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
6020
73acf815 60212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6022
1f45f627
GM
6023 * fontset.c (fontset_font): Rename from fontset_face. Change return
6024 value.
4c4475a8
GM
6025 (face_suitable_for_char_p, face_for_char): Adjust for the change
6026 of fontset_font.
aca7a3d2
MB
6027 (make_fontset_for_ascii_face): Fix setting of the fontset element
6028 for ASCII.
6029 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
6030 to get a font name.
1f45f627 6031 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 6032
fcb314b2 6033 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
6034
6035 * character.h (LEADING_CODE_LATIN_1_MIN)
6036 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
6037
73acf815 60382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6039
fcb314b2 6040 * editfns.c (check_translation): New function.
aca7a3d2
MB
6041 (Ftranslate_region_internal): Handle M:N mapping.
6042
73acf815 60432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6044
6045 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
6046
73acf815 60472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6048
6049 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
6050 goto invalid_code.
6051 (decode_coding_iso_2022): Fix handling of invalid designation.
6052
6053 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
6054 after calling code_conversion_save.
6055
73acf815 60562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6057
6058 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
6059
6060 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
6061
6062 * fontset.c: Include "intervals.h".
6063 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
6064 (free_face_fontset, new_fontset_from_font_name): Fix
6065 Lisp_Object/int mixup.
aca7a3d2
MB
6066
6067 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
6068
6069 * coding.c: Add many prototypes for static functions.
6070 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 6071 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
6072 (Funencodable_char_position, Fcheck_coding_systems_region): Call
6073 get_translation_table with max_lookup NULL.
aca7a3d2 6074
73acf815 60752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6076
6077 * coding.c (get_translation_table): Declare it as Lisp_Object.
6078 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
6079 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
6080 instead of CHAR_TABLE_REF.
aca7a3d2 6081
73acf815 60822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6083
1f45f627 6084 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
6085 annotation data format.
6086 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 6087 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 6088 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 6089 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
6090 (decode_coding_ccl, decode_coding_charset): Pay attention to
6091 coding->charbuf_used.
aca7a3d2
MB
6092 (get_translation): New function.
6093 (produce_chars): New arguments translation_table and last_block.
6094 Translate characters here. Return number of carryover chars.
1f45f627
GM
6095 Change caller.
6096 (produce_composition): New argument pos. Change caller.
6097 Adjust for the change of annotation data format.
aca7a3d2
MB
6098 (produce_charset, produce_annotation): Likewise.
6099 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
6100 (consume_chars): New arg translation_table. Change caller.
6101 (translate_chars): Delete.
6102 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 6103
73acf815 61042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6105
6106 * search.c (simple_search): Fix setting this_pos_byte in backward
6107 search.
6108
6109 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
6110 byte sequence.
6111 (detect_coding_ccl): Fix setting of the variable valids.
6112
73acf815 61132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6114
6115 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
6116
6117 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
6118
1f45f627 6119 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
6120 Ftranslate_region. Accept a char-table in TABLE.
6121 (syms_of_editfns): Defsubr Stranslate_region_internal.
6122
6123 * xfaces.c (set_lface_from_font_name): If a font is specified for
6124 a frame, generate a fontset from the font.
6125 (build_scalable_font_name): If the scalable font is requested for
6126 a specific size, don't change that size.
6127 (try_font_list): Try a scalable font also in the case that a
1f45f627 6128 pattern string is specified.
aca7a3d2 6129
73acf815 61302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6131
6132 * xfaces.c (Fface_font): New optional arg CHARACTER.
6133
73acf815 61342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6135
6136 * charset.h (CHARSET_OFFSET): New macro.
6137
73acf815 61382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6139
6140 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
6141
6142 * fontset.c (fontset_face): Handle the case that repertory is a
6143 char-table.
6144 (find_font_encoding): Return nil for unknown encoding.
6145 (Fset_fontset_font): Ignore a font of unknown encoding.
6146
73acf815 61472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6148
1f45f627 6149 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
6150
6151 * fontset.c (fontset_face): Handle fallback fonts correctly.
6152 (Ffontset_info): Return infomation about fallback fonts.
6153
73acf815 61542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6155
6156 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 6157 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
6158 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
6159 the case that it is nil.
6160 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 6161 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
6162
6163 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
6164 subset or superset.
6165
73acf815 61662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6167
6168 * emacs.c (main): Call init_charset after syms_of_XXX.
6169
1f45f627 6170 * charset.c (Vcharset_map_directory): Delete.
1f204af3 6171 (Vcharset_map_path): New variable.
aca7a3d2
MB
6172 (load_charset_map_from_file): Use Vcharset_map_path instead.
6173 (init_charset): Initialize Vcharset_map_path.
6174 (syms_of_charset): Delete declaration of "charset-map-directory",
6175 add declaration of "charset-map-path".
6176
73acf815 61772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6178
4c4475a8
GM
6179 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
6180 ASCII only string.
aca7a3d2
MB
6181
6182 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
6183
6184 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 6185 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 6186
73acf815 61872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6188
6189 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
6190
6191 * coding.c (QCmnemonic, QCdefalut_char)
6192 (QCdecode_translation_table, QCencode_translation_table)
6193 (QCpost_read_conversion, QCpre_write_conversion): New variables.
6194 (get_translation_table): Return a list of translation tables if
6195 necessary.
6196 (decode_coding): Call get_translation_table with ENCODEP 0.
6197 (char_encodable_p): If translation_table is non-nil, always call
6198 translate_char.
6199 (Fdefine_coding_system_internal): Accept list of translation
6200 tables as :encode-translation-table and :decode-translation-table.
6201 (Fcoding_system_put): New function.
6202 (syms_of_coding): Declare new symbols. Defsubr
6203 Scoding_system_put.
4c4475a8
GM
6204 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
6205 typically JISX0212.
aca7a3d2
MB
6206
6207 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
6208 when the charset is superset type.
6209
6210 * character.c (translate_char): Accept list of translation tables.
6211
73acf815 62122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6213
1f45f627 6214 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
6215 (CODING_ATTR_TRANS_TBL): New macro.
6216
6217 * coding.c (get_translation_table): New function.
6218 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
6219 (decode_coding, encode_coding): Utilize get_translation_table.
6220 (char_encodable_p, Funencodable_char_position): Translate char if
6221 necessary.
6222 (Ffind_coding_systems_region_internal)
6223 (Fcheck_coding_systems_region): Setup translation table for encode
6224 in a coding system attribute vector in advance.
aca7a3d2
MB
6225 (Fdefine_coding_system_internal): Allow a symbol as translation
6226 table. For shift-jis type coding system, allow 4th charset.
6227
73acf815 62282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6229
6230 * coding.c (decode_coding_sjis): Check the first byte rigidly.
6231
6232 * xdisp.c (get_next_display_element): Pass -1 as POS to
6233 FACE_FOR_CHAR if displaying a C-string.
6234
73acf815 62352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6236
6237 * composite.c (get_composition_id): Handle xoff and yoff in a
6238 composition rule.
6239
6240 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
6241 (struct composition): New member lbearing and rbearing.
6242
6243 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
6244 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 6245 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
6246
6247 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
6248 composition glyph.
6249
73acf815 62502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6251
6252 * print.c: Include charset.h.
6253 (Vprint_charset_text_property): New variable.
6254 (Qdefault): Extern it.
6255 (PRINT_STRING_NON_CHARSET_FOUND)
6256 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
6257 (print_check_string_result): New variable.
6258 (print_check_string_charset_prop): New function.
6259 (print_prune_charset_plist): New variable.
6260 (print_prune_string_charset): New function.
6261 (print_object): Call print_prune_string_charset if
6262 Vprint_charset_text_property is not t.
6263 (print_interval): Print nothing if itnerval->plist is nil.
6264 (syms_of_print): Declare Vprint_charset_text_property as a lisp
6265 variable. Init and staticpro print_prune_charset_plist.
6266
73acf815 62672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6268
6269 * fontset.c (new_fontset_from_font_name): Use the specified font
6270 for all characters in the new fontset.
6271
6272 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6273 OBJECT args.
6274
6275 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
6276 OBJECT args for composition too.
6277
6278 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6279 OBJECT args.
6280
73acf815 62812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6282
6283 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
6284
1f45f627 6285 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 6286 FONT_DEF format.
1f45f627 6287 (fontset_face): New arg id. Change caller.
aca7a3d2 6288 (face_for_char): New args pos and object.
1f204af3 6289 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
6290 (fs_query_fontset): Check NAME by Fassoc too.
6291 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 6292 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 6293
1f45f627 6294 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 6295
4c4475a8
GM
6296 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
6297 (append_space, extend_face_to_end_of_line)
6298 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6299 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
6300
6301 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
6302 POS and OBJECT args.
6303
6304 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
6305 POS and OBJECT args.
6306
73acf815 63072008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6308
6309 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
6310 of GlobalAlloc'ed memory.
6311
73acf815 63122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6313
6314 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
6315
6316 * charset.h (charset_table_used): Delete extern.
6317
6318 * charset.c (charset_table_used): Make it static.
6319 (map_charset_chars): Fix args to c_function with.
6320
6321 * chartab.c (map_sub_char_table_for_charset): Fix args to
6322 c_function with.
6323
6324 * coding.h (enum coding_result_code): Delete
6325 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
6326
6327 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 6328 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
6329 (Vlast_code_conversion_error): New variables.
6330 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
6331 (ONE_MORE_BYTE): Record error if any instead of signaling an
6332 error. If non-ASCII multibyte char is found, return the negative
6333 value of the code. All callers changed to check it.
6334 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
6335 (record_conversion_result): New function. Change all codes setting
6336 coding->result to call this function.
4c4475a8
GM
6337 (detect_coding_utf_8, decode_coding_utf_8)
6338 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
6339 Don't use the local variable incomplete.
aca7a3d2 6340 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
6341 (decode_coding): Fix of flushing out unprocessed data.
6342 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 6343 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
6344
6345 * fontset.c (set_fontset_font): Fix args.
6346
6347 * lisp.h (CHARACTERBITS): Define as 22.
6348
6349 * process.c (send_process): Be sure to set coding->src_multibyte.
6350
6351 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
6352
73acf815 63532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6354
6355 * xdisp.c (handle_auto_composed_prop): Give limit to
6356 Fnext_single_char_property_change.
6357
73acf815 63582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6359
424c157f 6360 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 6361 table weak.
aca7a3d2
MB
6362
6363 * fontset.c (Fset_fontset_font): Fix docstring.
6364
6365 * lisp.h (detect_coding_system): Adjust prototype.
6366
6367 * fileio.c (kill_workbuf_unwind): Delete this function.
6368 (Finsert_file_contents): Adjust the call of detect_coding_system.
6369 Get conversion_buffer by code_conversion_save. Use the macor
6370 CODING_MAY_REQUIRE_DECODING. After decoding, update
6371 coding_system.
6372
6373 * coding.h (make_conversion_work_buffer): Delete extern.
6374 (code_conversion_save): Extern it.
6375
6376 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 6377 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
6378 (decode_coding_utf_8): Don't do eol converion.
6379 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 6380 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
6381 (decode_coding_emacs_mule, decode_coding_iso_2022)
6382 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
6383 Don't do eol converion.
aca7a3d2
MB
6384 (adjust_coding_eol_type): Return a new coding system.
6385 (detect_coding): Don't detect eol. Fix for utf-16 detection.
6386 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
6387 each change.
6388 (decode_coding): Pay attention to undo_list. Do eol convesion for
6389 all types of coding-systems (if necessary).
6390 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 6391 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
6392 Vcode_conversion_reused_work_buf.
6393 (Vcode_conversion_workbuf_name): New variable.
6394 (reused_workbuf_in_use): New variable.
6395 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 6396 (code_conversion_restore): Change argument to cons.
1f45f627
GM
6397 (code_conversion_save): Delete the argument BUFFER. Change callers.
6398 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
6399 Fix for utf-16 detection.
6400 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 6401 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
6402 reused_workbuf_in_use.
6403
73acf815 64042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6405
6406 * keymap.c (store_in_keymap): Pay attention to the case that idx
6407 is a cons specifying a character range.
6408
73acf815 64092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6410
6411 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
6412 HANDLED_RECOMPUTE_PROPS.
6413
6414 * coding.c (Fdefine_coding_system_internal): Fix checking of
6415 ascii compatibility.
6416
73acf815 64172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6418
1f45f627 6419 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
6420 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
6421
6422 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
6423 Resync charset_list to Vemacs_mule_charset_list.
6424
6425 * keymap.c (store_in_keymap): Pay attention to the case that idx
6426 is a cons specifying a character range.
6427
73acf815 64282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6429
6430 * composite.c (update_compositions): Bind inhibit-read-only, etc
6431 to t before calling remove-list-of-text-properties.
6432
6433 * print.c (print_object): Always print ASCII chars as is.
6434
73acf815 64352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6436
1f45f627 6437 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 6438
4c4475a8
GM
6439 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
6440 is a char table.
aca7a3d2 6441
73acf815 64422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6443
1f45f627 6444 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 6445
73acf815 64462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6447
6448 * xfaces.c (set_lface_from_font_name): Fix for the case that
6449 FONTNAME is not fontset name.
6450
73acf815 64512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6452
6453 * fns.c (base64_encode_1): Fix previous change.
6454
73acf815 64552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6456
6457 * fontset.c (set_fontset_font): New function.
6458 (Fset_fontset_font): If a font is specified for a charset, use
6459 map_charset_chars to store the font spec in a fontset.
6460
73acf815 64612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6462
1f204af3 6463 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
6464 (make_fontset): Don't create a fallback fontset here.
6465 (free_face_fontset): Free a fallback fontset (if any) too.
6466 (n_auto_fontsets): Delete this variable.
6467 (auto_fontset_alist): New variable.
6468 (new_fontset_from_font_name): Check auto_fontset_alist.
6469 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
6470 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
6471 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
6472 Defsubr Sfontset_list_all.
6473
73acf815 64742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6475
6476 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6477
73acf815 64782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6479
6480 * fontset.c (Fnew_fontset): Check NAME more rigidly.
6481
73acf815 64822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6483
6484 * editfns.c (Fgoto_char): Fix docstring.
6485
73acf815 64862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6487
6488 * insdel.c (insert_from_gap): Adjust intervals correctly.
6489
73acf815 64902008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6491
6492 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
6493 (pfnGetFontUnicodeRanges): New dynamically loaded function.
6494 (w32_initialize): Try to load it.
6495 (x_get_font_repertory): Use it if available.
6496 (w32_encode_char): Add shortcut for unicode output.
6497
6498 * w32fns.c (w32_load_system_font): Default charset to -1.
6499 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 6500 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
6501 or wildcard charsets.
6502 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
6503 (w32_codepage_for_font): Return CP_UNICODE for unicode.
6504 (w32_to_x_font): Match charset to real charset.
6505 (enum_font_cb2): Always list unicode versions.
6506
6507 * makefile.w32-in (temacs): Increase EMHEAP.
6508
73acf815 65092008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6510
6511 * w32term.c (w32_encode_char): New charset parameter.
6512 font_info.encoding becomes encoding_type.
1f45f627 6513 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
6514 (x_new_font): Return quickly if font already set.
6515 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
6516 Use new fs_query_fontset. Try new_fontset_from_font_name.
6517 Use fontset_name for return value.
aca7a3d2
MB
6518
6519 * w32term.h: Declare x_get_font_repertory.
6520
6521 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 6522 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
6523 of encode_coding.
6524 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
6525 decode_coding.
6526
6527 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
6528 of x_new_fontset.
6529 (w32_load_system_font): Initialize charset as unicode.
6530 font_info.encoding becomes encoding_type.
1f45f627
GM
6531 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
6532 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
6533 (syms_of_w32fns): Set get_font_repertory_func.
6534
1f45f627 6535 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 6536 from term.c.
1f45f627 6537 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
6538 encode_coding_object in place of encode_coding.
6539
6540 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
6541 encoding becomes encoding_type.
6542
6543 * term.c (terminal_encode_buffer): Make externally visible.
6544
6545 * makefile.w32-in: Add character.h dependancies.
6546 (character.o, chartab.o): New targets.
6547
73acf815 65482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6549
6550 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 6551 CODING_ID_EOL_TYPE.
aca7a3d2 6552
73acf815 65532008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6554
6555 * coding.c (produce_chars): Revert last change.
6556
73acf815 65572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6558
6559 * charset.h (charset_unicode): Extern it.
6560
6561 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 6562 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 6563 arg MULTIBYTE.
1f45f627 6564 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
6565 change of find_charsets_in_text.
6566 (Fsplit_char): Fix doc. Never return unknown.
6567
6568 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
6569
6570 * coding.c (Fdefine_coding_system_alias): Update
6571 Vcoding_system_list.
6572
6573 * fontset.c (load_font_get_repertory): Pay attention to the case
6574 that ENCODING of a font is specified by a char-table.
6575
6576 * xterm.c (x_get_font_repertory): Handle the case that the
6577 encoding of font is other than Unicode.
6578
73acf815 65792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6580
6581 * term.c (encode_terminal_code): Don't handle glyph-table. Check
6582 if a character is encodable by the terminal coding system. If
6583 not, produces proper number of `?'s. Update
6584 terminal_encode_buffer and terminal_encode_buf_size if necessary.
6585 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
6586
73acf815 65872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6588
6589 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
6590 variables.
1f45f627 6591 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
6592 characters at once. Store the result of encoding in
6593 terminal_encode_buffer.
4c4475a8
GM
6594 (write_glyphs, insert_glyphs): Adjust for the change of
6595 encode_terminal_code.
aca7a3d2
MB
6596 (term_init): Initialize terminal_encode_buffer and
6597 terminal_encode_buf_size.
6598
6599 * coding.c (consume_chars): If coding->src_object is nil, don't
6600 check annotation.
6601
73acf815 66022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6603
6604 * character.c (char_string): Use ASCII_CHAR_P instead of
6605 SINGLE_BYTE_CHAR_P.
6606
73acf815 66072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6608
6609 * xdisp.c (handle_auto_composed_prop): Check if the last
6610 characters of auto-composed region is newly composed with the
6611 following characters.
6612 (handle_composition_prop): Fix checking of point being inside
6613 composition.
6614
73acf815 66152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6616
6617 * fns.c (concat): Don't change multibyteness of the result by
6618 concatenating an 8-bit character.
6619
6620 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
6621 multibyteness of the result when newelt is an 8-bit character.
6622
73acf815 66232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6624
6625 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
6626 EMACS_INT.
6627
6628 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
6629
6630 * xfaces.c (face_numeric_value): Declare dim size_t.
6631 (Finternal_lisp_face_equal_p): Remove unused f.
6632
6633 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
6634 (MATRIX_ROW): Remove unused vars.
6635 (draw_glyphs, x_insert_glyphs, fast_find_position)
6636 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
6637 byte/char counts.
6638
6639 * regex.c (regex_compile): Remove unused var.
6640
6641 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
6642
6643 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6644 (Faccessible_keymaps, where_is_internal): Remove unused vars.
6645
6646 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
6647
6648 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
6649
6650 * fileio.c (Fwrite_region): Remove unused var.
6651
6652 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
6653 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
6654
6655 * composite.c (Fremove_list_of_text_properties): Declare.
6656
1f45f627
GM
6657 * coding.c (inhibit_pre_post_conversion): Remove (unused).
6658 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
6659 (coding_inherit_eol_type): Remove unused attrs.
6660 (detect_coding): Cast arg of detect_eol.
6661
6662 * charset.c (syms_of_charset): Remove unused var p.
6663 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
6664 byte/char counts.
6665
6666 * casetab.c (set_case_table): Remove unused var.
6667
6668 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 6669 unused vars.
aca7a3d2 6670
73acf815 66712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6672
6673 * xterm.c (x_bitmap_mask): Declare.
6674
73acf815 66752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6676
6677 * xterm.c (x_term_init): Fix type error.
6678
6679 * lisp.h: Add Funibyte_char_to_multibyte.
6680
6681 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
6682 (Fset_coding_system_priority): Doc fix.
6683
aca7a3d2
MB
6684 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
6685
6686 * indent.c (check_composition): Make start and end EMACS_INT.
6687
6688 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
6689
6690 * xdisp.c (handle_composition_prop, check_point_in_composition):
6691 Make buffer positions EMACS_INT.
6692
6693 * composite.c (find_composition, run_composition_function)
6694 (update_compositions, Ffind_composition_internal): Make buffer
6695 positions EMACS_INT.
6696
6697 * composite.h (find_composition, update_compositions): Make
6698 position args EMACS_INT.
6699
1f45f627 6700 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
6701
6702 * intervals.c (get_property_and_range):
6703 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
6704
6705 * unexalpha.c: Don't include varargs.h.
6706
73acf815 67072008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6708
6709 * coding.h (ENCODE_UTF_8): New.
6710
6711 * Makefile.in (gtkutil.o): Depend on coding.h.
6712
6713 * coding.c (Fset_coding_system_priority): Doc fix.
6714
73acf815 67152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6716
6717 * fileio.c (Finsert_file_contents): Call setup_coding_system in
6718 the case of auto saving.
6719
73acf815 67202008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 6721
4c4475a8
GM
6722 * chartab.c (map_char_table, map_char_table_for_charset): Protect
6723 `range' from GC.
aca7a3d2 6724
73acf815 67252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6726
6727 * coding.c (decode_coding_sjis): Check bytes more rigidly.
6728
73acf815 67292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6730
1f45f627 6731 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
6732 (Fwrite_region): Set Vlast_coding_system_used to the return value
6733 of choose_write_coding_system.
6734
73acf815 67352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6736
6737 * charset.c (Fset_charset_priority): Pay attention to duplicated
6738 arguments.
6739
6740 * coding.c (QCcategory): New variable.
6741 (syms_of_coding): Defsym it. Set all elements of
6742 Vcoding_category_table and their symbol values.
6743 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
6744 coding-category-XXX, and coding-category-list.
6745 (Fdefine_coding_system_internal): Add category in the plist.
6746
73acf815 67472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6748
6749 * callproc.c (Fcall_process): Handle carryover correctly.
6750
1f45f627 6751 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
6752 (raw_text_coding_system): Check NILP (coding_system).
6753 (coding_inherit_eol_type): Check NILP (coding_system) and
6754 NILP (parent).
6755 (consume_chars): Fix for the case of raw-text.
6756
6757 * process.c (read_process_output): Handle carryover correctly.
6758
73acf815 67592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6760
6761 * regex.c (re_search_2): Fix last change.
6762
73acf815 67632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6764
6765 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
6766 target_multibyte. Even in a unibyte case, return a converted
6767 multibyte char.
6768 (GET_CHAR_AFTER): New macro.
6769 (PATFETCH): Translate via multibyte char.
6770 (HANDLE_UNIBYTE_RANGE): Delete this macro.
6771 (SETUP_MULTIBYTE_RANGE): New macro.
6772 (regex_compile): Setup compiled code so that its multibyteness
6773 matches that of a target. Fix the handling of "[X-YZ]" using
6774 SETUP_MULTIBYTE_RANGE.
6775 (analyse_first) <charset>: For filling fastmap for all multibyte
6776 characters, don't check by BASE_LEADING_CODE_P.
6777 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
6778 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 6779 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
6780 (TARGET_CHAR_AND_LENGTH): Delete this macro.
6781 (TRANSLATE_VIA_MULTIBYTE): New macro.
6782 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
6783 It is the same as RE_MULTIBYTE_P (bufp) now.
6784 <exactn>: Translate via multibyte.
6785 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
6786 translate it.
6787 <charset, charset_not>: Fetch a character by
6788 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
6789 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
6790 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
6791 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
6792 by GET_CHAR_AFTER.
c5ad7a3d 6793 (bcmp_translate): Likewise.
aca7a3d2
MB
6794
6795 * search.c (compile_pattern): Check the member target_multibyte,
6796 not the member multibyte of buf.
6797
6798 * lread.c (read1): While reading a string, set force_singlebyte
6799 and force_multibyte correctly.
6800
4c4475a8
GM
6801 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
6802 up of unibyte_to_multibyte_table.
aca7a3d2 6803
73acf815 68042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6805
6806 * coding.c (setup_coding_system): If coding has
6807 post-read-conversion or pre-write-conversion, set
6808 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
6809 respectively.
6810 (decode_coding_gap): Run post-read-conversion if any.
6811
6812 * fileio.c (Finsert_file_contents): Even if we read into a
6813 unibyte buffer, check if we must decode the result or not.
6814
73acf815 68152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6816
6817 * coding.c (make_conversion_work_buffer): Change the work buffer
6818 name to the same one as that of Emacs 21.
6819
73acf815 68202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6821
1f45f627 6822 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
6823 (code_conversion_restore): Don't extern it.
6824
6825 * coding.c (detected_mask): Delete unused variable.
6826 (decode_coding_iso_2022): Pay attention to the byte sequence of
6827 CTEXT extended segment, and retain those bytes as is.
6828 (decode_coding_ccl): Delete unused variable `valids'.
6829 (setup_coding_system): Delete unused variable `category'.
6830 (consume_chars): Delete unused variable `category'. Make it work
6831 for non-multibyte case.
1f45f627 6832 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
6833 (saved_coding): Delete unused variable.
6834 (code_conversion_restore): Don't check saved_coding->destination.
6835 (code_conversion_save): New function.
6836 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
6837 instead of record_unwind_protect.
1f45f627 6838 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 6839 (detect_coding_system): Delete unused variable `mask'.
1f45f627 6840 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
6841
6842 * fileio.c (kill_workbuf_unwind): New function.
6843 (Finsert_file_contents): On replacing, call
6844 make_conversion_work_buffer with correct args, and call
6845 record_unwind_protect with the first arg kill_workbuf_unwind.
6846
6847 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
6848
73acf815 68492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6850
1f45f627 6851 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
6852 (fontset_add): Fix for the case that TO is less than TO1.
6853 (Ffontset_info): Don't use fallback fontset on checking the
6854 default fontset.
6855 (dump_fontset): New function for debugging.
6856
6857 * coding.c (Fdefine_coding_system_internal): Fix for the case that
6858 coding_type is Qcharset.
6859
73acf815 68602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6861
6862 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
6863 (map_char_table): Don't inherit the value from the parent on
1f45f627 6864 initializing VAL. Adjust for the above change.
aca7a3d2 6865
73acf815 68662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6867
6868 * coding.c (Qsignature, Qendian): Delete these variables.
6869 (syms_of_coding): Don't initialize them.
6870 (CATEGORY_MASK_UTF_16_AUTO): New macro.
6871 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
6872 detect_info->found.
6873 (decode_coding_utf_16): Don't detect BOM here.
6874 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
6875 is NOT utf_16_without_bom.
6876 (setup_coding_system): For a coding system of type utf-16, check
6877 if the attribute :endian is Qbig or not (not nil or not), and set
6878 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
6879 (detect_coding): If coding type is utf-16 and BOM detection is
6880 required, detect it.
6881 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 6882 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 6883
73acf815 68842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6885
6886 * coding.c (coding_set_source): Fix for the case that the current
6887 buffer is different from coding->src_object.
6888 (decode_coding_object): Don't use the conversion work buffer if
6889 DST_OBJECT is a buffer.
6890
73acf815 68912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6892
6893 * lread.c (read_emacs_mule_char) [len==2]: Index
6894 emacs_mule_charset correctly.
6895
73acf815 68962008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6897
6898 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
6899 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 6900 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
6901 treated specially.)
6902 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
6903 (detected_mask): Remove Big5 bits.
6904
73acf815 69052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6906
6907 The following changes are to make the font rescaling facility
6908 compatible with Emacs 21.
6909
1f45f627 6910 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
6911 Vface_resizing_fonts.
6912 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 6913 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
6914 (split_font_name): Set font->rescale_ratio.
6915 (better_font_p): Pay attention to font->rescale_ratio.
6916 (build_scalable_font_name): Likewise. Change RESX, and RESY
6917 fields.
1f45f627 6918 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 6919
73acf815 69202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6921
6922 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
6923 (Qutf_16_le): Remove these variables.
6924 (syms_of_coding): Don't DEFSYM them.
6925 (decode_coding_utf_16): Fix handling of BOM.
6926 (encode_coding_utf_16): Fix handling of BOM.
6927
73acf815 69282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6929
6930 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 6931 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 6932
73acf815 69332008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6934
6935 * coding.c (Fcheck_coding_systems_region): Fix type errors.
6936
73acf815 69372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6938
6939 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6940 and fix C types.
6941
73acf815 69422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6943
6944 * xdisp.c (SKIP_GLYPHS): New macro.
6945 (set_cursor_from_row): Pay attention to string display properties.
6946
6947 * category.c (copy_category_entry): Fix for the case that RANGE
6948 is an integer.
6949
6950 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
6951
1f45f627 6952 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 6953
73acf815 69542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6955
6956 * charset.c (Fcharset_id_internal): New function.
6957 (syms_of_charset): Defsubr it.
6958
6959 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
6960 with the last arg charset_list acquired from coding.
6961 (Fdefine_coding_system_internal): For ccl-based coding system, fix
6962 the attribute coding_attr_ccl_valids.
6963
6964 * coding.h (enum define_coding_ccl_arg_index): Set the first
6965 member coding_arg_ccl_decoder to coding_arg_max.
6966
1f45f627 6967 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
6968
6969 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
6970 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
6971 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
6972 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
6973 last arg Qnil.
aca7a3d2 6974
73acf815 69752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6976
6977 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
6978 call encode_char.
6979
1f45f627 6980 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 6981
73acf815 69822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 6983
1f45f627 6984 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 6985
73acf815 69862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6987
6988 * dispextern.h (check_face_attributes, generate_ascii_font_name)
6989 (font_name_registry): Don't extern them.
1f45f627 6990 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
6991
6992 * fontset.h (Qfontset): Don't extern it.
6993 (new_fontset_from_font_name): Extern it.
6994
6995 * fontset.c: Give 8 extra slots to fontset objects.
6996 (Qfontset_info): New variable.
6997 (syms_of_fontset): Defsym it.
6998 (FONTSET_FALLBACK): New macro.
6999 (fontset_face): Try also the default fontset.
1f45f627
GM
7000 (make_fontset): Realize a fallback fontset from the default fontset.
7001 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
7002 using split_font_name_into_vector and build_font_name_from_vector.
7003 (Fset_fontset_font): Access the elements of font_spec by enum
7004 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
7005 name by using split_font_name_into_vector.
7006 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
7007 generate a proper font name from the fontset name. Update
7008 Vfontset_alias_alist.
7009 (n_auto_fontsets): New variable.
7010 (new_fontset_from_font_name): New function.
7011 (Ffont_info): Store the information about fonts generated from the
1f45f627 7012 default fontset in the first extra slot of the returned char-table.
aca7a3d2 7013
1f45f627
GM
7014 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
7015 (font_name_registry): Delete function.
aca7a3d2
MB
7016 (split_font_name_into_vector): New function.
7017 (build_font_name_from_vector): New function.
1f45f627 7018 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
7019 (choose_face_font): If we are choosing an ASCII font, and ATTRS
7020 specifies an explicit font name, return the name as is. Make a
7021 list of registy names.
7022
1f45f627 7023 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
7024 of x_new_fontset.
7025 (Fx_create_frame): Don't call x_new_fontset here. Just use
7026 x_list_fonts to check the existence of fonts.
7027
1f45f627 7028 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
7029
7030 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
7031 string. Use new_fontset_from_font_name to create a fontset from a
7032 font name.
7033
1c8658b9
GM
70342008-02-01 Kenichi Handa <handa@m17n.org>
7035
7036 * syntax.c (Vfind_word_boundary_function_table): New name for
7037 Vnext_word_boundary_function_table.
7038 (find-word-boundary-function-table): New name for
7039 next-word-boundary-function-table.
7040
73acf815 70412008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7042
7043 * Makefile.in: Fix some dependencies.
7044
7045 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
7046 set it to nil before returning.
7047
7048 * composite.c (update_compositions): Fix type error.
7049
7050 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
7051
73acf815 70522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7053
7054 * xterm.c (x_new_font): Optimize for the case that the font is
7055 already set for the frame.
7056
73acf815 70572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7058
7059 * chartab.c (char_table_ascii): Check if the char table contents
7060 is sub-char-table or not.
4c4475a8
GM
7061 (char_table_set, char_table_set_range): Fix argument to
7062 char_table_ascii.
aca7a3d2
MB
7063
7064 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
7065 (detect_coding_utf_8, detect_coding_utf_16)
7066 (detect_coding_emacs_mule, detect_coding_iso_2022)
7067 (detect_coding_sjis, detect_coding_big5)
7068 (detect_coding_ccl, detect_coding_charset): Change argument MASK
7069 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 7070 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
7071 (MAX_ANNOTATION_LENGTH): New macro.
7072 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
7073 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
7074 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 7075 (ADD_CHARSET_DATA): New macro.
1f45f627 7076 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
7077 (decode_coding_emacs_mule, decode_coding_iso_2022)
7078 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7079 Produce charset annotation data in coding->charbuf.
7080 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
7081 to charset annotation data in coding->charbuf.
7082 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
7083 coding->common_flags if the coding system is iso-2022 based and
7084 uses designation.
1f45f627 7085 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
7086 (produce_charset): New function.
7087 (produce_annotation): Handle charset annotation.
7088 (handle_composition_annotation, handle_charset_annotation): New
7089 functions.
7090 (consume_chars): Handle charset annotation. Utilize the above two
7091 functions.
7092 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
7093 buffer, get the deleted text as a string and set
7094 coding->src_object to that string.
7095 (detect_coding, detect_coding_system): Use the new struct
7096 coding_detection_info.
7097
7098 * coding.h (struct coding_detection_info): New structure.
1f45f627 7099 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
7100 (CODING_ANNOTATE_CHARSET_MASK): New macro.
7101
73acf815 71022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7103
7104 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
7105
73acf815 71062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7107
1f45f627 7108 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
7109 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
7110 to new local and nullify apropos_accumulate before returning.
7111 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
7112
73acf815 71132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7114
7115 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
7116 correctly.
7117
73acf815 71182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7119
7120 * fns.c (Flanginfo): Call synchronize_system_time_locale.
7121
73acf815 71222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7123
7124 The following changes are to make character composition happen
7125 automatically on displaying.
7126
2a2e8de7 7127 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 7128
1f45f627
GM
7129 * composite.h (Qauto_composed, Vauto_composition_function)
7130 (Qauto_composition_function): Extern them.
aca7a3d2 7131
1f45f627
GM
7132 * composite.c (Vcomposition_function_table)
7133 (Qcomposition_function_table): Delete variables.
7134 (Qauto_composed, Vauto_composition_function)
7135 (Qauto_composition_function): New variables.
aca7a3d2
MB
7136 (run_composition_function): Don't call
7137 compose-chars-after-function.
7138 (update_compositions): Clear `auto-composed' text property.
7139 (compose_chars_in_text): Delete this function.
7140 (syms_of_composite): Staticpro Qauto_composed and
7141 Qauto_composition_function. Declare Vauto_composition_function as
7142 a Lisp variable.
7143
7144 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
7145
7146 * xdisp.c (it_props): Add an entry for Qauto_composed.
7147 (handle_auto_composed_prop): New function.
7148
7149 * xselect.c (selection_data_to_lisp_data): Don't call
7150 compose_chars_in_text.
7151
73acf815 71522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7153
7154 * keyboard.c (read_char): Modify checking around use of
7155 Vkeyboard_translate_table.
7156
7157 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7158 and fix C types.
7159
73acf815 71602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7161
4c4475a8
GM
7162 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
7163 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7164 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 7165 the case that the last byte is '\r' correctly.
1f45f627
GM
7166 (decode_coding): Flush out the unprocessed data correctly.
7167 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 7168
73acf815 71692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7170
7171 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
7172 XK_ISO... case.
7173 (xaw_scroll_callback): Revert last change.
7174
73acf815 71752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7176
1f45f627 7177 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 7178
73acf815 71792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7180
7181 * xfaces.c (Vface_resizing_fonts): New variable.
7182 (struct font_name): New member `resizing_ratio'.
7183 (font_resizing_ratio): New function.
7184 (split_font_name): Set font->resizing_ratio.
7185 (better_font_p): Pay attention to font->resizing_ratio.
7186 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
7187 RESX, and RESY fields.
7188 (try_alternative_families): Try scalable fonts if
7189 Vscalable_fonts_allowed is not Qt.
7190 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
7191
73acf815 71922008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7193
7194 * xterm.c (xaw_scroll_callback): Cast correctly.
7195
73acf815 71962008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7197
7198 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
7199 (lispy_kana_keys): Comment out.
7200 (make_lispy_event) [XK_kana_A]: Comment out.
7201
7202 * xterm.c (xaw_scroll_callback): Cast call_data.
7203 (XTread_socket): Deal with ASCII keysyms.
7204 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
7205
73acf815 72062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7207
7208 * xterm.c (Vx_keysym_table): New.
7209 (syms_of_xterm): Initialize it.
7210 (XTread_socket): Use it.
7211 From head: Eliminate incorrect optimization that tried to avoid
7212 decoding the output of X*LookupString.
7213 (x_get_font_repertory): Delete charset declaration.
7214
73acf815 72152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7216
1f45f627
GM
7217 * coding.c (detect_coding_charset): If only ASCII bytes are found,
7218 return 0.
aca7a3d2
MB
7219 (Fdefine_coding_system_internal): Setup
7220 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
7221
73acf815 72222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7223
7224 * coding.c (Fcheck_coding_system): Doc fix.
7225
7226 * editfns.c (Finsert_byte): Return a proper value.
7227
73acf815 72282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7229
7230 * coding.c (decode_coding): Fix args to translate_chars. Pay
7231 attention to Vstandard_translation_table_for_decode.
7232 (encode_coding): Fix args to translate_chars. Pay attention to
7233 Vstandard_translation_table_for_encode.
7234
7235 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
7236 SINGLE_BYTE_CHAR_P.
7237
7238 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
7239 not by SINGLE_BYTE_CHAR_P.
7240
7241 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
7242 SINGLE_BYTE_CHAR_P.
7243
7244 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
7245 SINGLE_BYTE_CHAR_P.
7246
7247 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
7248 by SINGLE_BYTE_CHAR_P.
7249
7250 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
7251 SINGLE_BYTE_CHAR_P.
7252
73acf815 72532008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7254
7255 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
7256
73acf815 72572008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7258
7259 * fns.c (Flanginfo): Fix typo.
7260
7261 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
7262
73acf815 72632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7264
4c4475a8
GM
7265 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
7266 (detect_coding_emacs_mule, detect_coding_iso_2022)
7267 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
7268 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 7269 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 7270 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 7271 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 7272
73acf815 72732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7274
1f45f627
GM
7275 * character.c (char_string): Rename from
7276 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
7277 (string_char): Rename from string_char.
aca7a3d2 7278
4c4475a8
GM
7279 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
7280 if C is greater than MAX_3_BYTE_CHAR.
7281 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
7282 string_char instead of string_char_with_unification.
aca7a3d2 7283
73acf815 72842008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7285
7286 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
7287
73acf815 72882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7289
1f45f627 7290 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
7291
7292 * regex.c (re_search_2): Fix for the case of unibyte buffer.
7293
73acf815 72942008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7295
7296 * charset.c (define_charset_internal): Rename `supprementary'.
7297
7298 * Makefile.in (lisp, shortlisp): Remove latin-N.
7299
73acf815 73002008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7301
7302 * xfns.c (x_window, x_window): Use use_xim.
7303
7304 * xterm.c (use_xim): Initialize.
7305 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
7306 (x_term_init): Maybe set use_xim.
7307
7308 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
7309
73acf815 73102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7311
7312 * search.c (search_buffer): Fix case-fold-search of multibyte
7313 characters.
7314 (boyer_moore): Rename the last argument to char_high_bits.
7315
73acf815 73162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7317
7318 * xdisp.c (display_string): Fix for the case of zero width glyph.
7319
7320 * xfns.c (x_set_font): Change the error message of the case that
7321 x_new_fontset returns Qt.
7322
7323 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
7324 (Finternal_set_lisp_face_attribute): Use signal_error for the
7325 error of invalid fontset.
7326
7327 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
7328 fontset, return Qt.
7329
73acf815 73302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7331
aca7a3d2
MB
7332 * unexelf.c (unexec): Make .got handling not SGI-specific.
7333
7334 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
7335
7336 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
7337
7338 * keyboard.c (read_key_sequence): Fix type error.
7339
7340 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
7341 type error.
7342
7343 * fontset.c (fontset_add): Return Lisp_Object.
7344
73acf815 73452008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7346
7347 * charset.h (charset_ordered_list_tick): Declare extern.
7348
73acf815 73492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7350
73acf815 7351 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
7352 for handling syntax, category, and case conversion for unibyte
7353 characters by converting them to multibyte on the fly. With these
7354 changes, we don't have to setup syntax and case tables for unibyte
7355 characters in each language environment.
7356
7357 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
7358 multibyte if necessary.
7359
7360 * bytecode.c (Fbyte_code): Likewise.
7361
7362 * character.h (LEADING_CODE_LATIN_1_MIN)
7363 (LEADING_CODE_LATIN_1_MAX): New macros.
7364 (unibyte_to_multibyte_table): Extern it.
7365 (unibyte_char_to_multibyte): New macro.
7366 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
7367 (CHAR_LEADING_CODE): New macro.
7368 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
7369
7370 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 7371 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
7372 (multibyte_char_to_unibyte): If C is an eight-bit character,
7373 convert it to the corresponding byte value.
7374
7375 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
7376 not 1, singals an error. Update the elements of
7377 unibyte_to_multibyte_table.
7378 (init_charset_once): Initialize unibyte_to_multibyte_table.
7379 (syms_of_charset): Define the charset `iso-8859-1'.
7380
aca7a3d2
MB
7381 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
7382 as is without converting it to unibyte. In a unibyte buffer,
7383 convert C to multibyte before checking the syntax.
7384
1f45f627 7385 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
7386
7387 * minibuf.c (Fminibuffer_complete_word): Use the macro
7388 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
7389
7390 * regex.h (struct re_pattern_buffer): New member target_multibyte.
7391
7392 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
7393 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
7394 that is zero, convert an eight-bit char to multibyte.
7395 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
7396 non-emacs case.
7397 (PATFETCH): Convert an eight-bit char to multibyte.
7398 (HANDLE_UNIBYTE_RANGE): New macro.
7399 (regex_compile): Setup the compiled pattern for multibyte chars
7400 even if the given regex string is unibyte. Use PATFETCH_RAW
7401 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 7402 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 7403 only for ASCII chars.
1f45f627 7404 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
7405 is multibyte.
7406 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
7407 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 7408 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
7409 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
7410 multibyte always 1.
7411 (re_search_2): In emacs, set the locale variable multibyte to 1,
7412 otherwise to 0. New local variable target_multibyte. Check it
7413 to decide the multibyteness of STR1 and STR2. If
7414 target_multibyte is zero, convert unibyte chars to multibyte
7415 before translating and checking fastmap.
7416 (TARGET_CHAR_AND_LENGTH): New macro.
7417 (re_match_2_internal): In emacs, set the locale variable multibyte
7418 to 1, otherwise to 0. New local variable target_multibyte. Check
7419 it to decide the multibyteness of STR1 and STR2. Use
7420 TARGET_CHAR_AND_LENGTH to fetch a character from D.
7421 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 7422 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
7423 target_multibyte, not with multibyte.
7424 <begline>: Declare the local variable C as `unsigned'.
7425 (bcmp_translate): Change the last arg name to target_multibyte.
7426
7427 * search.c (compile_pattern_1): Don't adjust the multibyteness of
7428 the regexp pattern and the matching target. Set cp->buf.multibyte
7429 to the multibyteness of the regexp pattern. Set
1f45f627 7430 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
7431 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
7432 FETCH_STRING_CHAR_ADVANCE.
7433 (Freplace_match): Convert unibyte chars to multibyte.
7434
4c4475a8
GM
7435 * syntax.c (char_quoted, back_comment, scan_words)
7436 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
7437 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 7438 unibyte chars to multibyte.
1f45f627
GM
7439 (skip_chars): Delete the arg syntaxp, and move the code for
7440 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
7441 Fix the case that the multibyteness of STRING and the current
7442 buffer doesn't match.
7443 (skip_syntaxes): New function.
7444 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
7445 SINGLE_BYTE_CHAR_P.
aca7a3d2 7446
73acf815 74472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7448
7449 * xfaces.c (QCfontset): New variable.
7450 (LFACE_FONTSET): New macro.
7451 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
7452 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
7453 (Finternal_set_lisp_face_attribute)
7454 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
7455 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
7456 check also LFACE_FONTSET_INDEX.
7457 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
7458 attrs[LFACE_FONT_INDEX].
7459 (syms_of_xfaces): Intern and staticpro QCfontset.
7460
7461 * dispextern.h (enum lface_attribute_index): New member
7462 LFACE_FONTSET_INDEX.
7463
7464 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
7465
73acf815 74662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7467
7468 * coding.c (coding_set_destination): Fix coding->destination for
7469 the case converting a region.
7470 (encode_coding_utf_8): Encode eight-bit chars as single byte.
7471 (encode_coding_object): Fix coding->dst_pos and
7472 coding->dst_pos_byte for the case converting a region.
7473
7474 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
7475
7476 * character.h (BYTE8_STRING): New macro.
7477
7478 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
7479
73acf815 74802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7481
7482 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
7483 characters by octal form.
7484
7485 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7486
1f45f627 7487 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
7488 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
7489 _fetch_multibyte_char_len.
aca7a3d2
MB
7490 (FETCH_CHAR_AS_MULTIBYTE): New macro.
7491
1f45f627 7492 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 7493
1f45f627 7494 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 7495 the case conversion change the byte length.
1f45f627 7496 (casify_region): Likewise.
aca7a3d2 7497
1f45f627 7498 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 7499
1f45f627 7500 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
7501 (syms_of_character): Setup Vprintable_chars.
7502
7503 * editfns.c (Fchar_equal): Fix for the unibyte case.
7504 (Finsert_byte): New function.
7505 (syms_of_editfns): Defsubr it.
7506
7507 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
7508 of direct code 0x3ffff.
7509
7510 * search.c (Freplace_match): Fix for the unibyte case.
7511
73acf815 75122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7513
7514 * lread.c (safe_to_load_p): Fix the logic.
7515
7516 * syntax.c (scan_words): Don't treat characters belonging to
7517 different scripts as constituting a word.
7518
7519 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7520
1f45f627 7521 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
7522
7523 * emacs.c (main): In the case of --unibyte, instead of aborting on
7524 finding non-empty buffer, make it unibyte.
7525
73acf815 75262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7527
7528 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
7529 to create a fontset.
7530
73acf815 75312008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7532
7533 * character.c (Funibyte_char_to_multibyte): Doc fix.
7534
7535 * xfns.c [HAVE_STDLIB_H]: Fix last change.
7536
73acf815 75372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7538
7539 * fontset.c (fontset_add): Make the type `int'.
7540 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
7541
4c4475a8
GM
7542 * character.c (unibyte_char_to_multibyte)
7543 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 7544 charset_unibyte, not charset_primary.
aca7a3d2 7545
1f45f627 7546 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 7547
1f45f627
GM
7548 * charset.c (charset_unibyte): Rename from charset_primary.
7549 (Funibyte_charset): Rename from Fprimary_charset.
7550 (Fset_unibyte_charset): Rename from Fset_primary_charset.
7551 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
7552
7553 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7554 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7555 it->multibyte_p is zero.
7556
7557 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 7558 Delete extern.
aca7a3d2 7559
73acf815 75602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7561
7562 * coding.c (Fdefine_coding_system_internal): Fix category setting
7563 for a coding system of type iso-2022.
7564
73acf815 75652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7566
1f45f627 7567 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 7568
73acf815 75692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7570
7571 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
7572 (next-word-boundary-function-table): Declare it as a Lisp variable
7573 in syms_of_syntax.
aca7a3d2
MB
7574 (scan_words): Call functions in Vnext_word_boundary_function_table
7575 if any.
7576
7577 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
7578
7579 * fontset.c (fs_load_font): If fontp->charset is not negative,
7580 return fontp without setting its members.
7581
73acf815 75822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7583
aca7a3d2
MB
7584 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
7585
7586 * m/sparc.h (HAVE_ALLOCA): Delete.
7587
7588 * s/irix6-5.h: Don't include strings.h.
7589 (bcopy, bzero, bcmp): Don't undef.
7590
7591 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
7592
7593 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
7594 (TIOCSIGSEND): Don't test IRIX6.
7595 (bcopy, bzero, bcmp): Define conditionally.
7596
73acf815 75972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7598
7599 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 7600 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
7601 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
7602
7603 * callproc.c (Fcall_process): Don't call insert_1_both directly if
7604 we are inserting a process output into a multibyte buffer.
7605
7606 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
7607 multibyte_char_to_unibyte.
7608
7609 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
7610 by the primary charset, make it eight-bit char.
7611 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
7612
1f45f627
GM
7613 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
7614 (charset_8_bit__control, charset_8_bit_graphic)
7615 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
7616 (define_charset_internal): New function.
7617 (syms_of_charset): Call define_charset_internal for pre-defined
7618 charsets.
7619
7620 * charset.h (charset_8_bit): Extern it.
7621
1f45f627 7622 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
7623 of Fset_buffer_multibyte.
7624 (encode_coding_raw_text): Increment p0 in the loop.
7625
1f45f627 7626 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 7627
1f45f627 7628 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
7629 for the change of Fset_buffer_multibyte.
7630
7631 * fns.c (Fstring_to_multibyte): New function.
7632 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
7633
73acf815 76342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7635
7636 * xfns.c (x_put_x_image): Declare args.
7637
1f45f627 7638 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
7639 (try_font_list): Declare an arg.
7640
7641 * xdisp.c (message2_nolog, set_message): Declare an arg.
7642
7643 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
7644
7645 * syntax.c (scan_sexps_forward): Declare an arg.
7646
7647 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7648 Declare an arg.
7649
7650 * lisp.h (Fnew_fontset): Declare.
7651
7652 * keymap.c (push_key_description): Call CHARACTERP correctly.
7653
1f45f627 7654 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
7655 (face_for_char): Delete unused vars.
7656 (Fset_fontset_font): Doc fix. Delete unused vars.
7657
7658 * doc.c (Fsubstitute_command_keys): Delete unused vars.
7659
7660 * composite.c (update_compositions): Declare arg.
7661
7662 * cm.c (calccost, cmgoto): Declare args.
7663
7664 * charset.c: Remove `emacs' conditional. Doc fixes.
7665 (map_char_table_for_charset): Declare.
7666
1f45f627 7667 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 7668
1f45f627 7669 * ccl.c: Remove `emacs' conditional.
aca7a3d2 7670
73acf815 76712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7672
7673 The following changes are to allow specifying multiple font
7674 patterns for a character range (specified by script or charset).
7675
7676 * Makefile.in (abbrev.o): Depend on syntax.h.
7677 (xfaces.o): Depend on charset.h.
7678
7679 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
7680 SINGLE_BYTE_CHAR_P.
7681
7682 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
7683
7684 * character.h (Vchar_script_table): Extern it.
7685
1f45f627 7686 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
7687 (Vchar_script_table, Qchar_script_table): New variable.
7688 (syms_of_character): Declare Vchar_script_table as a lisp variable
7689 and initialize it.
7690
1f45f627 7691 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
7692 have property char-table-extra-slots, make no extra slot.
7693
1f45f627 7694 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
7695 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
7696 SINGLE_BYTE_CHAR_P.
1f45f627
GM
7697 (choose_face_font, lookup_non_ascii_face, font_name_registry):
7698 Add prototypes.
7699 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
7700 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7701
7702 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 7703 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
7704 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
7705
7706 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 7707 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
7708 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
7709 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
7710 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
7711 (fontset_ref_and_range, fontset_add, reorder_font_vector)
7712 (load_font_get_repertory): New functions.
1f45f627 7713 (fontset_set): Delete.
aca7a3d2 7714 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 7715 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
7716 (free_face_fontset): Use ASET istead of AREF (X) = Y.
7717 (face_for_char): Don't call lookup_face.
7718 (make_fontset_for_ascii_face): New arg FACE.
7719 (fs_load_font): New arg CHARSET_ID. Don't check
7720 Vfont_encoding_alist here.
7721 (find_font_encoding): New function.
7722 (list_fontsets): Use STRINGP, not ! NILP.
7723 (accumulate_script_ranges): New function.
7724 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
7725 re-written to handle new fontset structure.
7726 (Ffontset_font): Return a copy of element.
7727 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
7728 docstring of font-encoding-alist.
7729
7730 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
7731 (Fset_fotset_font): Fix arguments to 5.
7732
1f45f627 7733 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
7734
7735 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
7736 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 7737 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
7738 lookup_named_face.
7739
7740 * xfaces.c: Include charset.h.
1f45f627
GM
7741 (load_face_font): Delete argument C. Change caller.
7742 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7743 (font_name_registry): New function.
7744 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 7745 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
7746 Lookup only ascii faces.
7747 (lookup_non_ascii_face): New function.
1f45f627
GM
7748 (lookup_named_face): Delete argument C. Change caller.
7749 (lookup_derived_face): Delete argument C. Change caller.
7750 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 7751 a string, just call font_list with it.
1f45f627
GM
7752 (choose_face_font): Delete arguments FACE and C. New arg
7753 FONT_SPEC. Change caller.
4c4475a8
GM
7754 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
7755 Change caller.
aca7a3d2
MB
7756 (realize_non_ascii_face): New function.
7757 (realize_x_face): Call load_face_font here.
1f45f627 7758 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
7759 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
7760 get a face ID.
7761 (dump_realized_face): Don't print charset of FACE.
7762
7763 * xfns.c (x_set_font): Always call x_new_fontset and
7764 store_frame_parameter.
7765 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 7766 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
7767
7768 * xterm.h (x_get_font_repertory): Extern it.
7769
7770 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7771 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7772 it->multibyte_p is zero.
7773 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7774 (x_new_fontset): If FONTSETNAME doesn't match any existing
7775 fontsets, create a new one.
7776 (x_get_font_repertory): New function.
7777
73acf815 77782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7779
7780 * coding.c (Ffind_coding_systems_region_internal): Detect an
7781 ASCII only string correctly.
7782
7783 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
7784 version is 0.
7785
73acf815 77862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7787
7788 * lread.c: Include "coding.h".
1f45f627
GM
7789 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
7790 (load_each_byte, unread_char): New variables.
7791 (readchar_backlog): Delete.
aca7a3d2
MB
7792 (readchar): Return a character unless load_each_byte is nonzero.
7793 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
7794 cons. If unread_char is not -1, simply return it.
7795 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
7796 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
7797 (read_multibyte): Delete.
aca7a3d2
MB
7798 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
7799 (read_emacs_mule_char): New functions.
7800 (Fload): Even if the file doesn't have the extention ".elc", if
7801 safe_to_load_p returns a positive version number, assume that the
7802 file contains bytecompiled code. If the version is less than 22,
7803 load the file while decoding multibyte sequences by emacs-mule.
7804 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
7805 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
7806 (Fread_from_string): Pay attention to the case that STREAM is a cons.
7807 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
7808 (read1): Set load_each_byte to 1 temporarily while handling
7809 #@NUMBER. Don't call read_multibyte.
7810 (read_vector): Call Fread with a cons. If readcharfun is
7811 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 7812 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
7813 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
7814 and Qload_force_doc_strings.
7815
73acf815 78162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7817
7818 * xdisp.c (face_before_or_after_it_pos): Call
7819 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7820
73acf815 78212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7822
7823 * character.h (TRAILING_CODE_P): New macro.
1f45f627 7824 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
7825 (string_char_with_unification): Fix prototype.
7826 (Vscript_alist): Extern it.
7827
7828 * character.c (Vscript_alist): New variable.
4c4475a8
GM
7829 (string_char_with_unification, str_as_unibyte)
7830 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
7831 (syms_of_character): Declare script-alist as a Lisp variable.
7832
7833 * charset.h (Vcharset_ordered_list): Extern it.
7834 (charset_ordered_list_tick): Extern it.
7835 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
7836 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
7837 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 7838 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 7839 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
7840
7841 * charset.c (charset_ordered_list_tick): New variable.
7842 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
7843 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
7844 deunify intead of unify a charset.
7845 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
7846 (find_charsets_in_text): Add `const' to arguemnts and local variables.
7847 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
7848 detecting of invalid code.
7849 (Fset_charset_priority): Increment charset_ordered_list_tick.
7850 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
7851 and TO_CODE.
7852
7853 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
7854 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
7855 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
7856 (decode_coding_ccl, consume_chars)
7857 (Ffind_coding_systems_region_internal)
7858 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
7859
7860 * print.c (print_object): Use octal form for printing the
7861 contents of a bool vector.
7862
73acf815 78632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7864
7865 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
7866 <version == 20>: Refuse to load.
7867
73acf815 78682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7869
7870 * fns.c: Move coding.h.
7871 (Qcodeset, Qdays, Qmonths): New.
7872 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 7873 (Flocale_codeset): Delete.
aca7a3d2 7874 (Flanginfo): New function.
1f45f627 7875 (syms_of_fns): Change accordingly.
aca7a3d2
MB
7876
7877 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
7878
73acf815 78792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7880
7881 * casetab.c (init_casetab_once, init_casetab_once): Fix
7882 CHAR_TABLE_SET call.
7883
7884 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
7885
7886 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
7887
7888 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
7889 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
7890 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
7891
7892 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
7893
7894 * coding.c (ENCODE_DESIGNATION, decode_eol)
7895 (make_conversion_work_buffer, code_conversion_restore)
7896 (Fdefine_coding_system_internal): Convert Lisp types.
7897 (code_conversion_restore): Use EQ, not ==.
7898 (Fencode_coding_string): Fix code_convert_string call.
7899
7900 * coding.h (code_convert_region): Fix prototype.
7901
1f45f627 7902 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
7903
7904 * fontset.c (fontset_ref, fontset_set, fs_load_font)
7905 (Ffontset_info): Convert Lisp types.
7906
7907 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
7908
7909 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
7910
7911 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
7912
7913 * chartab.c: Include "...h", not <...h> in some cases.
7914
7915 * callproc.c (Fcall_process): Remove unused variables.
7916
73acf815 79172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7918
7919 * coding.c (Fset_coding_system_priority): Allow null arg list.
7920
73acf815 79212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7922
7923 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7924 (Fself_insert_and_exit): Use CHARACTERP.
7925
7926 * callproc.c (Fcall_process): Remove unused vars.
7927
7928 * xterm.c (XTread_socket): Add extra dead keysyms.
7929
7930 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
7931
7932 * dispextern.h: Remove prototypes for redraw_frame,
7933 redraw_garbaged_frames.
7934
7935 * cmds.c (Fself_insert_command): Use CHARACTERP.
7936
7937 * chartab.c (make_sub_char_table): Remove unused var.
7938 (Fset_char_table_default, Fmap_char_table): Doc fix.
7939
7940 * keymap.c (access_keymap): Remove generic char code.
7941 (push_key_description): Use CHARACTERP.
7942
73acf815 79432008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7944
7945 * charset.c: Doc fixes.
7946 (Funify_charset): Extra checking.
7947
73acf815 79482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7949
7950 * lread.c: Remove some unused variables.
7951 (safe_to_load_p): If safe, return the magic number version byte.
7952 (Fload): Maybe use load-with-code-conversion.
7953
73acf815 79542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7955
7956 * category.c (Fmodify_category_entry): Don't modify the contents
7957 of category_set for characters out of the range. Avoid
7958 unnecessary modification.
7959
1f45f627 7960 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
7961 Vchar_unify_table. The default value of the table is now nil.
7962
7963 * character.c (syms_of_character): Setup Vchar_width_table for
7964 eight-bit-control and raw-byte chars.
7965
7966 * charset.h (enum define_charset_arg_index): Delete
7967 charset_arg_parents and add charset_arg_subset and
7968 charset_arg_superset.
7969 (enum charset_attr_index): Delete charset_parents and add
7970 charset_subset and charset_superset.
7971 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
7972 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 7973 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
7974 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
7975 (CHARSET_SUPERSET): New macros.
7976 (charset_work): Extern it.
7977 (ENCODE_CHAR): Use charset_work.
1f45f627 7978 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
7979 (map_charset_chars): Extern it.
7980
7981 * charset.c (load_charset_map): Set the default value of encoder
7982 and deunifier char-tables to nil.
1f45f627 7983 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
7984 map_char_table_for_charset instead of map_char_table.
7985 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 7986 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
7987 `define-charset' (:parents -> :subset or :superset).
7988 (charset_work): New variable.
4c4475a8
GM
7989 (encode_char, syms_of_charset): Adjust for the change of
7990 Fdefine_charset_internal.
aca7a3d2
MB
7991 (Ffind_charset_string): Setup the vector `charsets' correctly.
7992
1f45f627 7993 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 7994 the previous change.
1f45f627 7995 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
7996 (map_sub_char_table_for_charset): New function.
7997 (map_char_table_for_charset): New function.
7998
7999 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 8000 (describe_char_table): Delete.
aca7a3d2 8001
1f45f627 8002 * lisp.h (map_charset_chars): Delete.
aca7a3d2 8003
73acf815 80042008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8005
8006 * fns.c (count_combining): Comment out (unused).
8007 (Flocale_codeset): New.
8008 (syms_of_fns): Defsubr it.
8009
8010 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 8011 (size_t): Remove.
aca7a3d2 8012
73acf815 80132008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8014
6f69e89b 8015 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 8016
73acf815 80172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8018
8019 * character.c (syms_of_character): Set the default value of
8020 Vprintable_chars to Qnil.
8021
73acf815 80222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8023
8024 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
8025
73acf815 80262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8027
8028 * charset.c (load_charset_map): Handle the case that from < to
8029 correctly.
8030
4c4475a8
GM
8031 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
8032 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
8033 Pay attention to raw-8-bit chars.
aca7a3d2 8034
73acf815 80352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8036
4c4475a8
GM
8037 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
8038 It is not bytecompiled now.
aca7a3d2
MB
8039
8040 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
8041 (charset_jisx0208): New variables.
8042 (Fdefine_charset_internal): Setup them if appropriate.
8043 (init_charset_once): Initialize them to -1.
8044
1f45f627
GM
8045 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
8046 (charset_jisx0208): Extern them.
aca7a3d2 8047
1f204af3 8048 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 8049 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
8050 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
8051 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
8052 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
8053 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
8054 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
8055 (encode_coding_iso_2022): Change the 1st arg to
8056 ENCODE_ISO_CHARACTER to a variable.
8057
73acf815 80582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8059
8060 * charset.h (enum define_charset_arg_index): New enums
8061 charset_arg_min_code and charset_arg_max_code.
8062 (struct charset): New member char_index_offset.
8063
4c4475a8
GM
8064 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
8065 Take charset->char_index_offset into account.
aca7a3d2
MB
8066 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
8067 args[charset_arg_max_code]. Setup charset.char_index_offset.
8068 (syms_of_charset): Fix args to Fdefine_charset_internal.
8069
73acf815 80702008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8071
8072 * coding.c (decode_coding_utf_8): Reject overlong sequences.
8073
73acf815 80742008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8075
8076 * coding.c: Doc fixes.
8077 (Fcoding_system_aliases): Fix return value.
8078 (Qmac): Remove (duplicated) definition.
8079
73acf815 80802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8081
8082 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
8083 functions.
8084
8085 * character.c (Fstring): Doc fix.
8086
8087 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
8088
8089 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
8090 ids.
8091 (font-encoding-alist): Doc fix.
8092
73acf815 80932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8094
8095 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 8096 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
8097
8098 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8099 for K&R.
8100
8101 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
8102
8103 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 8104 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 8105
1f45f627 8106 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
8107
8108 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
8109
73acf815 81102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8111
8112 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
8113
1f45f627 8114 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 8115
2a2e8de7 81162008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
8117
8118 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
8119
1f45f627 8120 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 8121
73acf815 81222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8123
4c4475a8 8124 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 8125 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 8126
73acf815 81272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8128
1f45f627 8129 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
8130 Fdefine_coding_system_internal.
8131 (Fdefine_coding_system_internal): For a coding system of
8132 `charset' type, store a list of charset IDs in
8133 `charset_attr_charset_valids' element of coding attributes.
8134
73acf815 81352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8136
8137 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
8138 (emacs_mule_char): New arg src. Delete arg `composition'. Change
8139 caller. Handle 2-byte and 3-byte charsets correctly.
8140 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
8141 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
8142 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
8143 (DECODE_EMACS_MULE_21_COMPOSITION): Call
8144 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
8145 sequence.
8146 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 8147 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
8148 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
8149 and alt&rule composition.
8150 (decode_coding_iso_2022): Handle composition correctly.
8151 (init_coding_once): Setup emacs_mule_bytes for private charsets.
8152
8153 * charset.c (Fdefine_charset_internal): Fix bug for the case of
8154 re-defining a charset. If the charset has :emacs-mule-id, setup
8155 emacs_mule_bytes.
1f45f627 8156 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 8157
73acf815 81582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8159
4c4475a8
GM
8160 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
8161 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
8162 encoding, produce a character specified by
8163 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 8164
73acf815 81652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8166
8167 * xterm.c (XSetIMValues): Declare.
8168
8169 * process.c: Conditionally include sys/wait.h, pty.h.
8170
1f45f627 8171 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 8172
1f45f627 8173 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
8174
8175 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
8176
8177 * fontset.c (Fclear_face_cache): Declare.
1f45f627 8178 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
8179 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
8180 variables.
8181
8182 * character.h (string_escape_byte8): Declare.
8183
8184 * charset.c (load_charset_map, load_charset_map_from_file): Remove
8185 unused vars.
8186 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
8187 (Fmap_charset_chars): Doc fix.
8188
1f45f627 8189 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
8190 (Fset_coding_system_priority, Fset_coding_system_priority)
8191 (Fdefine_coding_system_internal): Doc fix.
8192
73acf815 81932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8194
8195 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
8196
73acf815 81972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8198
8199 * character.c (string_escape_byte8): Make multibyte string with
8200 correct size.
8201
8202 * charset.c (Fmake_char): Delete unnecessary code.
8203
73acf815 82042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8205
8206 * xfns.c (x_encode_text): Allocate coding.destination here, and
8207 call encode_coding_object with dst_object Qnil.
8208
8209 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
8210 multibyte form correctly.
8211
8212 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
8213 against Vfont_encoding_alist.
8214
8215 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
8216 handling of charset list.
8217 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8218 (decode_coding_object): Move point to coding->dst_pos before
8219 calling post-read-conversion function.
8220 (encode_coding_object): Give correct arguments to
8221 pre-write-conversion. Ignore the return value of
8222 pre-write-conversion function. Pay attention to the case that
8223 pre-write-conversion changes the current buffer. If dst_object is
8224 Qt, even if coding->src_bytes is zero, allocate at least one byte
8225 to coding->destination.
8226
8227 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
8228
8229 * charset.c (Fmake_char): Make it more backward compatible.
8230 (Fmap_charset_chars): Fix docstring.
8231
73acf815 82322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8233
8234 * coding.c: Doc fixes.
8235 (Fdefine_coding_system_alias): Use names, not symbols, in
8236 coding-system-alist.
8237
73acf815 82382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8239
8240 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
8241 of calling free_realized_face.
8242
2a2e8de7 82432008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 8244
1f45f627
GM
8245 * charset.c (read_hex): Don't treat SPC as a comment starter.
8246 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
8247 (Fdecode_char): Fix typo.
8248
73acf815 82492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8250
8251 * charset.h (struct charset): New member `code_space_mask'.
8252
1f45f627 8253 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
8254 (encode_coding_charset, Fdefine_coding_system_internal):
8255 Delete the local variable charset.
aca7a3d2
MB
8256 (Fdefine_coding_system_internal): Setup
8257 attrs[coding_attr_charset_valids] correctly.
8258
8259 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
8260 member to check if CODE is valid or not.
8261 (Fdefine_charset_internal): Initialize `code_space_mask' member.
8262 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
8263 is within the range of charset->min_code and carset->max_code.
8264
73acf815 82652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8266
8267 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
8268
8269 * dispextern.h (generate_ascii_font): Fix return type.
8270
8271 * xfaces.c (generate_ascii_font): Fix arg declaration.
8272
8273 * coding.c (coding_inherit_eol_type)
8274 (Fset_terminal_coding_system_internal)
8275 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
8276
73acf815 82772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8278
8279 * coding.c (decode_coding_charset, encode_coding_charset): Handle
8280 multiple charsets correctly.
8281
73acf815 82822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8283
8284 * search.c (boyer_moore): Fix handling of mulitbyte character
8285 translation.
8286
8287 * xdisp.c (display_mode_element): When the variable `elt' is
8288 changed, update `this' and `lisp_string'.
8289
73acf815 82902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8291
8292 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
8293
8294 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 8295 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
8296
8297 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
8298 (load_charset_map): Rename from parse_charset_map. New args
8299 entries and n_entries. Change caller.
8300 (load_charset_map_from_file): Rename from load_charset_map.
8301 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
8302 the tail.
8303 (load_charset_map_from_vector): New function.
8304 (Fdefine_charset_internal): Setup charset.compact_codes_p.
8305 (encode_char): If the charset is compact, change a character index
8306 to a code point.
8307
8308 * coding.c (coding_alloc_by_making_gap): Check the case that the
8309 source and destination are the same correctly.
8310 (decode_coding_raw_text): Set coding->consumed_char and
8311 coding->consumed to 0.
8312 (produce_chars): If coding->chars_at_source is nonzero, update
8313 coding->consumed_char and coding->consumed before calling
8314 alloc_destination.
8315 (Fdefine_coding_system_alias): Register ALIAS in
8316 Vcoding_system_alist.
8317 (syms_of_coding): Define `no-convesion' coding system at the tail.
8318
8319 * fileio.c (Finsert_file_contents): Set coding_system instead of
8320 val. If the current buffer is multibyte, always call
8321 decode_coding_gap.
8322
8323 * xfaces.c (try_font_list): Give higher priority to fontset's
8324 family than face's family.
8325
73acf815 83262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8327
8328 * callproc.c (Fcall_process): Be sure to give the current buffer
8329 to decode_coding_c_string.
8330
8331 * xfaces.c (try_font_list): Give a family specified in a fontset
8332 higher priority than a family specified in a face.
8333
73acf815 83342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8335
8336 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
8337 Fix arguments to insert_from_buffer.
8338
8339 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
8340
73acf815 83412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8342
8343 * coding.c (produce_chars): Set the variable `multibytep' correctly.
8344 (decode_coding_gap): Set coding->dst_multibyte correctly.
8345
73acf815 83462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8347
8348 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 8349 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
8350 (encode_coding_utf_16): Substitute coding->default_char for
8351 non-Unicode characters.
8352 (decode_coding): Don't call record_insert here.
8353 (setup_coding_system): Initialize `surrogate' of
8354 coding->spec.utf_16 to 0.
8355 (EMIT_ONE_BYTE): Fix for multibyte case.
8356
8357 * insdel.c (insert_from_gap): Call record_insert.
8358
73acf815 83592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8360
8361 * casefiddle.c (casify_region): Fix multibyte case.
8362
8363 * character.c (c_string_width): Add return type `int'.
1f45f627 8364 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
8365
8366 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 8367 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
8368 (CHAR_STRING_ADVANCE): Make it do-while statement.
8369
1f45f627 8370 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
8371 DEPTH == 3. Add workaround code for a GCC optimization bug.
8372
8373 * charset.c (parse_charset_map): Remove an unused variable.
8374
8375 * coding.c: Delete unused variables.
8376
8377 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
8378 earlier. If inserted is zero and the coding system doesn't
8379 require flushing, don't call decode_coding_gap.
8380
8381 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
8382
73acf815 83832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8384
8385 The following changes are for using Unicode as an internal
8386 character model, and use UTF-8 format for buffer/string
8387 representation.
8388
1f45f627 8389 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
8390 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
8391
8392 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 8393 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
8394 (*.o): For many files, change dependency on charset.h to
8395 character.h, and add dependency on character.h.
8396 (character.o, chartab.o): New targets.
8397
1f45f627
GM
8398 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
8399 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
8400 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
8401 of "charset.h".
8402
8403 * dired.c, filelock.c: Include "character.h".
8404
8405 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 8406 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8407 (syms_of_alloc): Remove defsubr for Smake_char_table.
8408
8409 * buffer.c: Include "character.h" instead of "charset.h", don't
8410 include "coding.h".
1f45f627 8411 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
8412
8413 * buffer.h: EXFUN Fbuffer_live_p.
8414
8415 * callproc.c: Include "character.h" instead of "charset.h".
8416 (Fcall_process): Big change for the new code-conversion APIs.
8417
8418 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 8419 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
8420 map_char_table spec.
8421 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
8422 accessing the char table structure.
8423
8424 * chartab.c: New file that implements char table.
8425
8426 * category.c: Include "character.h".
8427 (copy_category_entry): New function.
8428 (copy_category_table): Call map_char_table and copy_category_entry.
8429 (Fmake_category_table): Initialize all top-vel slots.
8430 (char_category_set): New function.
1f45f627 8431 (modify_lower_category_set): Delete.
aca7a3d2
MB
8432 (Fmodify_category_entry): Call char_table_ref_and_range.
8433
8434 * category.h (CATEGORY_SET): Just call char_category_set.
8435
8436 * ccl.c: Include "character.h".
8437 (Qccl, Qcclp): New variables.
8438 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
8439 it's less than 256.
1f45f627
GM
8440 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
8441 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 8442 and DST type.
1f45f627
GM
8443 (ccl_driver): Change types of argument, adjust code accordingly.
8444 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
8445 ccl_driver.
8446 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
8447
1f45f627
GM
8448 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
8449 New members src_multibyte, dst_multibyte, consumed, and produced.
8450 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 8451 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 8452 (ccl_driver): Update prototype.
aca7a3d2
MB
8453 (Qccl, Qcclp, Fccl_program_p): Extern them.
8454 (CHECK_CCL_PROGRAM): New macro.
8455
8456 * character.c, character.h, chartab.c: New files.
8457
1f45f627
GM
8458 * charset.c: Mostly re-written. Move character and multibyte sequence
8459 handling codes to character.c.
aca7a3d2 8460
1f45f627
GM
8461 * charset.h: Mostly re-written. Move character and multibyte sequence
8462 handling codes to character.h.
aca7a3d2
MB
8463
8464 * coding.c, coding.h: Mostly re-written.
8465
8466 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8467 (CHAR_WIDTH): Move to character.h.
8468 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 8469
1f45f627
GM
8470 * composite.h (enum composition_method): Change order of enumeration
8471 symbols.
aca7a3d2
MB
8472
8473 * data.c: Include "character.h" instead of "charset.h".
8474 (Faref): Call CHAR_TABLE_REF for a char table.
8475 (Faset): Call CHAR_TABLE_SET for a char table.
8476
1f45f627
GM
8477 * dispextern.h (free_realized_face, check_face_attribytes)
8478 (generate_ascii_font): Extern them.
8479 (free_realized_multibyte_face): Delete extern.
aca7a3d2 8480
1f45f627 8481 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
8482 table structure.
8483
8484 * editfns.c: Include "character.h" instead of "charset.h".
8485 (Fchar_to_string): Always call CHAR_STRING.
8486
8487 * emacs.c (main): Call init_charset_once, init_charset,
8488 syms_of_chartab, and syms_of_character.
8489
8490 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 8491 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 8492 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 8493 (build_annotations_2): Delete.
aca7a3d2
MB
8494 (e_write): Big change for the new code-conversion API.
8495
8496 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 8497 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8498 (Fcopy_sequence): Call copy_char_table for a char table.
8499 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
8500 (string_char_to_byte, string_byte_to_char): Adjust for the new
8501 multibyte form.
1f45f627
GM
8502 (internal_equal): Adjust for the change of char table structure.
8503 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
8504 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
8505 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
8506 (char_table_translate, optimize_sub_char_table)
8507 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 8508 chartab.c.
1f45f627
GM
8509 (char_table_ref_and_index): Delete.
8510 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 8511 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
8512 Vcoding_category_list. Adjust for the new code-conversion API.
8513 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
8514 chartab.c.
8515
8516 * fontset.c: Mostly re-written.
8517
1f45f627 8518 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 8519 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
8520 (fontset_font_pattern, fs_load_font): Update prototype.
8521 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
8522
8523 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 8524 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
8525
8526 * insdel.c: Include "character.h" instead of "charset.h".
8527 (copy_text): Don't refer to Vnonascii_translation_table.
8528 (insert_from_gap): New function.
8529
8530 * keyboard.c: Include "character.h" instead of "charset.h".
8531 (command_loop_1): Never call direct_output_forward_char before
8532 a non-ASCII character.
8533 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 8534 translate a character.
aca7a3d2
MB
8535
8536 * keymap.c: Include "character.h".
8537 (store_in_keymap): Handle the case that IDX is a cons.
8538 (Fdefine_key): Handle the case that KEY is a cons and the car part
8539 is also a cons (range).
1f45f627 8540 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
8541 (describe_vector): Call describe_char_table for a char table.
8542 (describe_char_table): New function.
8543
8544 * keymap.h (describe_char_table): Extern it.
8545
8546 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
8547 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
8548 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
8549 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
8550 Delete.
8551 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
8552 structure.
8553 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
8554 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
8555 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 8556 (chartab_size): Extern it.
1f45f627 8557 (struct Lisp_Char_Table): Re-design.
aca7a3d2 8558 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
8559 (HASH_KEY, HASH_VALUE): Move from fns.c.
8560 (CHARACTERBITS): Define as 22.
8561 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
8562 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
8563 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
8564 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
8565 (code_convert_string_norecord): Deleted extern.
8566 (init_character_once, syms_of_character, init_charset)
8567 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
8568
8569 * lread.c: Include "character.h".
8570 (read_multibyte): New arg NBYTES.
1f45f627
GM
8571 (read_escape): Change the meaning of returned *BYTEREP.
8572 (to_multibyte): Delete.
8573 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
8574
8575 * print.c: Include "character.h" instead of "charset.h".
8576 (print_string): Convert 8-bit raw bytes to octal form by
8577 string_escape_byte8.
1f45f627 8578 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
8579 raw bytes always in octal form. Handle sub char table correctly.
8580
8581 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
8582 (read_process_output, send_process): Adjust for the new
8583 code-conversion API.
aca7a3d2 8584
1f45f627 8585 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
8586
8587 * regex.c: Include "character.h" instead of "charset.h".
8588 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
8589 (regex_compile): Accept a range whose starting and ending
8590 character have different leading bytes.
1f45f627 8591 (analyse_first): Adjust for the above change.
aca7a3d2
MB
8592
8593 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8594 (search_buffer, boyer_moore): Adjust for the new multibyte form.
8595 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
8596
8597 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 8598 (syntax_parent_lookup): Delete.
aca7a3d2 8599 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 8600 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
8601 (init_syntax_once): Call char_table_set_range instead of directly
8602 accessing the structure of a char table.
8603
8604 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 8605 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
8606 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
8607 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
8608
8609 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
8610 (encode_terminal_code, write_glyphs): Adjust for the new
8611 code-conversion API.
aca7a3d2
MB
8612 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
8613
1f45f627 8614 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
8615
8616 * xdisp.c: Include "character.h".
1f45f627
GM
8617 (get_next_display_element): Adjust for the new multibyte form.
8618 (disp_char_vector): Adjust for the new char table structure.
8619 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 8620 coding system.
1f45f627 8621 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
8622
8623 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 8624 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
8625 FS_LOAD_FONT.
8626 (generate_ascii_font): New function.
1f45f627
GM
8627 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
8628 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 8629 (free_realized_face): Make it public.
1f45f627 8630 (free_realized_faces_for_fontset): Rename from
aca7a3d2 8631 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 8632 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
8633 fontset_font_pattern and FS_LOAD_FONT.
8634
8635 * xfns.c: Include "character.h".
1f45f627 8636 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
8637
8638 * xselect.c: Don't include "charset.h".
1f45f627 8639 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
8640
8641 * xterm.c: Include "character.h".
1f45f627 8642 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
8643 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
8644 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
8645 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
8646 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
8647 (XTread_socket): Adjust for the new code-conversion API.
8648 (x_new_font): Adjust for the change of FS_LOAD_FONT.
8649 (x_load_font): Adjust for the change of struct font.
aca7a3d2 8650
d6abfc14
SM
86512008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8652
8653 * xfaces.c (face_at_buffer_position): Remove unused vars.
8654
0acdaf8d
KH
86552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8656
4c4475a8
GM
8657 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
8658 Fix overflow checking.
0acdaf8d 8659
6c8a0ebf
GM
86602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8661
8662 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
8663 Cancel previous change.
8664
86652008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8666
8667 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
8668 ccl->eight_bit_control. Fix check for buffer overflow.
8669 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
8670 (ccl_driver): Initialize extra_bytes to 0.
8671
a32aad64
KH
86722008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8673
8674 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
8675 return it ORed with ctrl_modifier.
8676
8b329dba
MB
86772008-01-29 Miles Bader <miles@gnu.org>
8678
8679 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
8680
548667aa
JR
86812008-01-28 Jason Rumney <jasonr@gnu.org>
8682
8683 * w32.c (stat): Don't double check for networked drive.
8684
0975aa24
SM
86852008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
8686
ef264c42
SM
8687 * window.c (run_window_configuration_change_hook): New function.
8688 Code extracted from set_window_buffer. Set the selected frame.
8689 (set_window_buffer): Use it.
8690 * window.h (run_window_configuration_change_hook): Declare.
8691 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
8692
0975aa24
SM
8693 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
8694
9c28b587
DN
86952008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
8696
8697 * Makefile.in: Remove references to unused macros.
8698
c617afce
EZ
86992008-01-26 Eli Zaretskii <eliz@gnu.org>
8700
8701 * w32.c (g_b_init_get_sid_sub_authority)
8702 (g_b_init_get_sid_sub_authority_count): New static variables.
8703 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
8704 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
8705 (init_user_info): Use them to retrieve uid and gid.
8706 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
8707 (fstat): Use pw_uid and pw_gid from the_passwd structure for
8708 st_uid and st_gid of the file.
c617afce 8709
302d7d54
JR
87102008-01-26 Jason Rumney <jasonr@gnu.org>
8711
8712 * w32.c (logon_network_drive): New function.
8713 (stat): Use it.
8714
3ac7a21e
CY
87152008-01-26 Chong Yidong <cyd@stupidchicken.com>
8716
8717 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
8718 invisible text covered with an ellipsis.
8719
bbb9fc1f
RS
87202008-01-25 Richard Stallman <rms@gnu.org>
8721
8722 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
8723 jump back to beginning. Move some other initializations after that.
8724 (Qwindow_text_change_functions, Vwindow_text_change_functions):
8725 New variables.
8726 (syms_of_xdisp): Init them.
8727
8728 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
8729
0975aa24
SM
8730 * buffer.c (reset_buffer_local_variables):
8731 Implement `permanent-local-hook'.
bbb9fc1f 8732 (Qpermanent_local_hook): New variable.
0975aa24 8733 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 8734
79235cbe
MA
87352008-01-25 Michael Albinus <michael.albinus@gmx.de>
8736
8737 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
8738
ccd8f7fe
TTN
87392008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
8740
8741 * fns.c (Fclrhash): Return TABLE.
8742
dfbe40f2 87432008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
8744
8745 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
8746 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
8747 is set even without positional changes.
8748 (x_scroll_bar_clear): Set bar->redraw_needed_p.
8749
8750 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
8751
dfbe40f2 87522008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 8753
d6169680
JR
8754 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
8755
602e142f
JR
8756 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
8757 the unicode range available in MULE by locale-coding-system.
c041e2d1 8758 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
8759 earlier.
8760
dfbe40f2 87612008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
8762
8763 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
8764 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 8765 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
8766 when used on child processes.
8767
8c7a4ac5
MA
87682008-01-21 Michael Albinus <michael.albinus@gmx.de>
8769
e0df1b73 8770 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 8771 Fdbus_method_return.
e0df1b73 8772 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 8773 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 8774 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 8775
8abe0f97
MR
87762008-01-20 Martin Rudalics <rudalics@gmx.at>
8777
8778 * undo.c (undo_inhibit_record_point): New variable.
8779 (syms_of_undo): Initialize it.
8780 (record_point): Don't record point when undo_inhibit_record_point
8781 is set.
8782
c3b232e4
SM
87832008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
8784
e69c4cae
SM
8785 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
8786
823e0ebb
SM
8787 * xdisp.c (Qauto_hscroll_mode): New var.
8788 (syms_of_xdisp): Initialize it.
8789 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
8790 window's buffer.
8791 (hscroll_windows): Don't check automatic_hscrolling_p here.
8792
c3b232e4
SM
8793 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
8794 vscroll if we're setting window-buffer to the value it already has.
8795
76ed5e01
DN
87962008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
8797
8798 * m/intel386.h: Remove references to XENIX.
8799
55e6d9b2
AS
88002008-01-17 Andreas Schwab <schwab@suse.de>
8801
8802 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
8803 instead of HAVE_X86_64_LIB64_DIR.
8804 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
8805
b16ed52d
GM
88062008-01-17 Glenn Morris <rgm@gnu.org>
8807
8808 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
8809 to HAVE_X86_64_LIB64_DIR.
8810
6bed5c4a
DN
88112008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
8812
8813 * s/irix3-3.h:
8814 * s/irix4-0.h:
8815 * s/386-ix.h:
8816 * s/domain.h:
8817 * s/hpux9-x11r4.h:
8818 * s/hpux9shxr4.h: Remove files for systems no longer supported.
8819
8820 * sysdep.c: Remove code containing references to symbols defined
8821 by unsupported systems.
8822
fdecf907
GM
88232008-01-16 Glenn Morris <rgm@gnu.org>
8824
8825 * coding.c (select-safe-coding-system-function): Doc fix.
8826
9292328f
GM
88272008-01-15 Glenn Morris <rgm@gnu.org>
8828
8829 * config.in: Revert 2008-01-13 change: this is a generated file.
8830
944df511
MO
88312008-01-13 Tom Tromey <tromey@redhat.com>
8832
8833 * lisp.h: Fix typo.
8834
8111ec05
DN
88352008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8836
f40f5dc3
DN
8837 * m/sequent-ptx.h:
8838 * m/sequent.h:
8839 * s/ptx.h:
8840 * s/ptx4-2.h:
8841 * s/ptx4.h: Remove files for systems no longer supported.
8842
ce20b664 8843 * callproc.c (Fcall_process): Fix previous change.
8111ec05 8844
e39a993c
DN
88452008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8846
052e457f 8847 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 8848
290afd83
JB
8849 * m/mips.h:
8850 * m/intel386.h:
e39a993c
DN
8851 * callproc.c:
8852 * config.in:
8853 * ecrt0.c:
8854 * emacs.c:
8855 * fileio.c:
8856 * frame.c:
8857 * getpagesize.h:
8858 * keyboard.c:
8859 * lread.c:
8860 * process.c:
8861 * puresize.h:
8862 * sysdep.c:
8863 * systty.h:
8864 * syswait.h:
8865 * unexec.c:
8866 * xdisp.c:
8867 * alloc.c: Remove code containing references to symbols defined by
8868 unsupported systems.
8869
81cd7687
KH
88702008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
8871
8872 * coding.c (detect_coding_mask): Fix previous change.
8873
218b3b76
KH
88742008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
8875
8876 * coding.c (detect_coding_iso2022): New arg
8877 latin_extra_code_state. Allow Latin extra codes only
8878 when *latin_extra_code_state is nonzero.
8879 (detect_coding_mask): If there is a NULL byte, detect the encoding
8880 as UTF-16 or binary. If Latin extra codes exist, detect the
8881 encoding as ISO-2022 only when there's no other proper encoding is
8882 found.
8883
59ce725a 88842008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 8885
59ce725a
MB
8886 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
8887 #ifdef MAC_OS.
048addec 8888
59ce725a 88892008-01-08 Richard Stallman <rms@gnu.org>
048addec 8890
59ce725a 8891 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 8892
8290574e
NR
88932008-01-06 Nick Roberts <nickrob@snap.net.nz>
8894
a0a3805c 8895 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
8896 menu bar in parentheses.
8897
f3041af1
DN
88982008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
8899
8900 * m/7300.h:
8901 * m/acorn.h:
8902 * m/alliant-2800.h:
8903 * m/alliant.h:
8904 * m/alliant1.h:
8905 * m/alliant4.h:
8906 * m/altos.h:
8907 * m/amdahl.h:
8908 * m/apollo.h:
8909 * m/att3b.h:
8910 * m/aviion-intel.h:
8911 * m/aviion.h:
8912 * m/celerity.h:
8913 * m/clipper.h:
8914 * m/cnvrgnt.h:
8915 * m/convex.h:
8916 * m/cydra5.h:
8917 * m/delta88k.h:
8918 * m/dpx2.h:
8919 * m/dual.h:
8920 * m/elxsi.h:
8921 * m/f301.h:
8922 * m/gould-np1.h:
8923 * m/gould.h:
8924 * m/i860.h:
8925 * m/ibmps2-aix.h:
8926 * m/ibmrt-aix.h:
8927 * m/ibmrt.h:
8928 * m/irist.h:
8929 * m/is386.h:
8930 * m/isi-ov.h:
8931 * m/mega68.h:
8932 * m/mg1.h:
8933 * m/news-r6.h:
8934 * m/news-risc.h:
8935 * m/news.h:
8936 * m/nh3000.h:
8937 * m/nh4000.h:
8938 * m/ns16000.h:
8939 * m/ns32000.h:
8940 * m/nu.h:
8941 * m/orion.h:
8942 * m/orion105.h:
8943 * m/paragon.h:
8944 * m/pfa50.h:
8945 * m/plexus.h:
8946 * m/pyramid.h:
8947 * m/pyrmips.h:
8948 * m/sh3el.h:
8949 * m/sps7.h:
8950 * m/sr2k.h:
8951 * m/stride.h:
8952 * m/sun1.h:
8953 * m/sun2.h:
8954 * m/sun3-68881.h:
8955 * m/sun3-fpa.h:
8956 * m/sun3-soft.h:
8957 * m/sun3.h:
8958 * m/sun386.h:
8959 * m/symmetry.h:
8960 * m/tad68k.h:
8961 * m/tahoe.h:
8962 * m/targon31.h:
8963 * m/tek4300.h:
8964 * m/tekxd88.h:
8965 * m/tower32.h:
8966 * m/tower32v3.h:
8967 * m/ustation.h:
8968 * m/wicat.h:
8969 * m/xps100.h:
8970 * s/cxux.h:
8971 * s/cxux7.h:
8972 * s/dgux.h:
8973 * s/dgux4.h:
8974 * s/dgux5-4-3.h:
8975 * s/dgux5-4r2.h:
8976 * s/esix.h:
8977 * s/esix5r4.h:
8978 * s/hiuxmpp.h:
8979 * s/hiuxwe2.h:
8980 * s/iris3-5.h:
8981 * s/iris3-6.h:
8982 * s/isc2-2.h:
8983 * s/isc3-0.h:
8984 * s/isc4-0.h:
8985 * s/isc4-1.h:
8986 * s/newsos5.h:
8987 * s/newsos6.h:
8988 * s/osf1.h:
8989 * s/osf5-0.h:
8990 * s/riscix1-1.h:
8991 * s/riscix12.h:
8992 * s/sco4.h:
8993 * s/sco5.h:
8994 * s/sunos4-0.h:
8995 * s/sunos4-1.h:
8996 * s/sunos413.h:
8997 * s/sunos4shr.h:
8998 * s/umax.h:
8999 * s/unipl5-2.h:
9000 * s/xenix.h:
9001 * cxux-crt0.s:
9002 * unexapollo.c:
9003 * unexconvex.c:
9004 * unexenix.c:
9005 * unexsni.c: Remove files for systems no longer supported.
9006
9007 * m/intel386.h: Remove references to unsupported systems.
9008
9009 * w32.c (get_emacs_configuration): Remove reference to i860.
9010
9011 * sysdep.c: Remove dead code.
9012
d35e1cd7
DN
90132008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
9014
9015 * s/rtu.h:
a0a3805c 9016 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 9017
abe136ee
MA
90182008-01-04 Michael Albinus <michael.albinus@gmx.de>
9019
9020 * dbusbind.c (Fdbus_method_return): New function.
9021 (xd_read_message): Add the serial number to the event.
9022 (Fdbus_register_method): Activate the function.
9023
87df3c32
SM
90242008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
9025
9026 * keyboard.c (read_key_sequence): Fix typo.
9027
5125905e
MA
90282008-01-03 Michael Albinus <michael.albinus@gmx.de>
9029
9030 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
9031 (xd_signature, xd_append_arg): Handle element type detection for
9032 empty arrays.
9033 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
9034 SDATA () calls; this must be solved more general.
9035 (Fdbus_register_signal): Use SBYTES instead of strlen.
9036
8bba1b5c
MH
90372008-01-03 Magnus Henoch <magnus@zemdatav>
9038
9039 * dbusbind.c (xd_append_arg): Use unsigned char instead of
9040 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 9041 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 9042
a0a3805c 90432007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
9044
9045 * dbusbind.c (xd_read_message): Use non-static input_event struct.
9046
a271e124
MH
90472007-12-31 Magnus Henoch <mange@freemail.hu>
9048
9049 * dbusbind.c (xd_signature): Signature of variant is just "v".
9050
17bc8f94
MA
90512007-12-30 Michael Albinus <michael.albinus@gmx.de>
9052
87df3c32 9053 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 9054 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
9055 (XD_ERROR, XD_DEBUG_MESSAGE)
9056 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
9057 (xd_append_arg): Part for basic D-Bus types rewitten.
9058 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
9059 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
9060 appropriate.
9061 (xd_read_message): Return Qnil. Don't signal an error; it is not
9062 useful during event reading.
9063 (Fdbus_register_signal): Signal an error if the check for
9064 FUNCTIONP fails.
9065 (Fdbus_register_method): New function. The implementation is not
9066 complete, the call of the function signals an error therefore.
9067 (Fdbus_unregister_object): New function, renamed from
9068 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 9069 the object is not well formed.
17bc8f94 9070
dd6f2802
RS
90712007-12-30 Richard Stallman <rms@gnu.org>
9072
9073 * textprop.c (get_char_property_and_overlay):
9074 Signal error if POSITION is out of range in a buffer.
9075
1da8a031
MR
90762007-12-29 Martin Rudalics <rudalics@gmx.at>
9077
9078 * w32fns.c (Fx_create_frame): Make copy of frame parameters
9079 because the original parameters are in pure storage now.
9080
5742be86
YM
90812007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9082
9083 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
9084
b014713c
EZ
90852007-12-22 Eli Zaretskii <eliz@gnu.org>
9086
b17f53ab
MB
9087 * callint.c (syms_of_callint) <command-history>: Add reference to
9088 history-length in the doc string.
048addec 9089
b17f53ab 90902007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 9091
b17f53ab
MB
9092 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
9093 before passing as wParam.
048addec 9094
9af5078b
MA
90952007-12-22 Michael Albinus <michael.albinus@gmx.de>
9096
9097 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
9098 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
9099 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
9100 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
9101 as number.
9102 (Fdbus_call_method): Fix docstring.
9103
87cf1a39
MA
91042007-12-21 Michael Albinus <michael.albinus@gmx.de>
9105
9106 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
9107 New macros.
87df3c32 9108 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
9109 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
9110 Simplify.
87cf1a39
MA
9111 (xd_signature): New function.
9112 (xd_append_arg): Compute also signatures. Major rewrite.
9113 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
9114 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
9115 Check for signatures of arguments.
87cf1a39 9116
54371585
MA
91172007-12-19 Michael Albinus <michael.albinus@gmx.de>
9118
9119 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
9120 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
9121 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
9122 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
9123 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 9124 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
9125 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
9126 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 9127 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
9128 (xd_append_arg): New function.
9129 (Fdbus_call_method, Fdbus_send_signal): Apply it.
9130
f5306ca3
MA
91312007-12-16 Michael Albinus <michael.albinus@gmx.de>
9132
9133 * dbusbind.c (top): Include <stdio.h>.
9134 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
9135 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
9136 (Fdbus_register_signal): Rename unique_name to uname.
9137 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
9138 non-existing unique name. Fix typos in matching rule. Return an
9139 object which is useful in Fdbus_unregister_signal.
9140 (Fdbus_unregister_signal): Reimplementation, in order to remove
9141 only the corresponding entry.
9142 (Vdbus_registered_functions_table): Change the order of entries.
9143 Apply these changes in xd_read_message and Fdbus_register_signal.
9144
77a28bbf
AS
91452007-12-16 Andreas Schwab <schwab@suse.de>
9146
9147 * fileio.c (Finsert_file_contents): Fix overflow check to not
9148 depend on undefined integer overflow.
9149
2e3566d8
JR
91502007-12-14 Jason Rumney <jasonr@gnu.org>
9151
9152 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
9153 for characters above 127.
9154
bf254037
JR
91552007-12-13 Jason Rumney <jasonr@gnu.org>
9156
9157 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
9158 before dereferencing array.
9159 (lookup_vk_code): Remove zero comparison.
9160
eb7c7bf5
MA
91612007-12-14 Michael Albinus <michael.albinus@gmx.de>
9162
9163 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
9164 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
9165 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
9166 (xd_read_message, Fdbus_register_signal): Split expressions into
9167 multiple lines before operators "&&" and "||", according to the
9168 GNU Coding Standards.
9169
34fb0fc9
EZ
91702007-12-14 Eli Zaretskii <eliz@gnu.org>
9171
9172 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
9173
c7d97628
JL
91742007-12-12 Juri Linkov <juri@jurta.org>
9175
9176 * buffer.c (Frename_buffer): In interactive spec replace
9177 `read-buffer' with `read-string' that uses `buffer-name-history'
9178 as history, and the current buffer's name as default.
9179
3709505e
SM
91802007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
9181
9182 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
9183 manipulating the backtrace manually.
9184 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
9185 (struct backtrace, backtrace_list): Remove.
9186 (command_loop_1): Remove dead var `no_direct'.
9187
9188 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
9189 preserve non-built-in buffer-local variables.
9190 (Fkill_all_local_variables): Don't re-create&re-set permanent
9191 buffer-local variables.
9192
e2bec886
JL
91932007-12-09 Juri Linkov <juri@jurta.org>
9194
9195 * buffer.c (Frename_buffer): Change interactive spec from "s" to
9196 Lisp code that uses `read-buffer' with current buffer as default.
9197
a31d47c7
MA
91982007-12-08 Michael Albinus <michael.albinus@gmx.de>
9199
9200 * dbusbind.c (xd_read_message): Generate an event for every
9201 registered handler. There might be several handlers registered
9202 for the same signal.
9203 (Fdbus_register_signal): Don't overwrite a registration for the
9204 same signal. Add a new registration if handlers are different.
9205 (Vdbus_registered_functions_table): Rework doc string.
9206
52da95fa
MA
92072007-12-07 Michael Albinus <michael.albinus@gmx.de>
9208
9209 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
9210 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
9211 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
9212 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
9213 Unify argument lists.
a0a3805c 9214 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
9215 arguments and hash table keys. Use unique name for service.
9216 (Fdbus_unregister_signal): Remove checks.
9217 (Vdbus_registered_functions_table): Fix doc string.
9218
e5e76c04 92192007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
9220
9221 * process.c (make_process): Initialize pty_flag to 0.
9222
e5e76c04 92232007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
9224
9225 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
9226 specified XBMs.
9227
e5e76c04 92282007-12-05 Richard Stallman <rms@gnu.org>
048addec 9229
e5e76c04 9230 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 9231
e5e76c04 92322007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9233
e5e76c04
MB
9234 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
9235 New variable.
9236 (mac_try_close_socket) [MAC_OSX]: New function.
9237 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
9238 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 9239
e5e76c04
MB
9240 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
9241 Use mac_try_close_socket.
048addec 9242
e5e76c04 92432007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9244
e5e76c04
MB
9245 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
9246 reloc_base.
9247 (copy_dysymtab): Compute relocation base here.
9248 (rebase_reloc_address) [__ppc64__]: New function.
9249 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
9250 changed.
048addec 9251
e5e76c04 92522007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 9253
e5e76c04 9254 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 9255
e5e76c04 92562007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9257
e5e76c04
MB
9258 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
9259 __objc_* sections.
9260 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 9261
96faeb40
MA
92622007-12-05 Michael Albinus <michael.albinus@gmx.de>
9263
9264 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
9265 Move check for Vdbus_registered_functions_table to
9266 xd_read_queued_messages.
9267 (xd_read_queued_messages): Protect xd_read_message calls by
9268 internal_condition_case_1.
9269
39abdd4a
MA
92702007-12-04 Michael Albinus <michael.albinus@gmx.de>
9271
87df3c32 9272 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 9273 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 9274 (Vdbus_intern_symbols): Remove.
39abdd4a 9275 (Vdbus_registered_functions_table): New hash table.
87df3c32 9276 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 9277 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 9278 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
9279 Vdbus_registered_functions_table.
9280
880820fe 92812007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
9282
9283 * xterm.c: Update URL to Window Manager Specification in comment.
9284
033b73e2
MA
92852007-12-02 Michael Albinus <michael.albinus@gmx.de>
9286
9287 * config.in (HAVE_DBUS): Add.
9288
a0a3805c 9289 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
9290 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
9291 (obj): Add $(DBUS_OBJ).
9292 (LIBES): Add $(DBUS_LIBS).
9293 (dbusbind.o): New target.
9294
9295 * dbusbind.c: New file.
9296
9297 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
9298
9299 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 9300 (Qdbus_event): New Lisp symbol.
033b73e2 9301 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 9302 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
9303 (keys_of_keyboard ): Define dbus-event.
9304
9305 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
9306
39d0bf74
RS
93072007-12-01 Richard Stallman <rms@gnu.org>
9308
9309 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
9310
f3157c65
JR
93112007-11-30 Jason Rumney <jasonr@gnu.org>
9312
9313 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
9314 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
9315 (w32_face_attributes): Don't use color indexes that are out of range.
9316 Only reverse the default colors.
f3157c65
JR
9317
9318 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
9319 WINDOWSNT.
9320
9321 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
9322
b510360c
JR
93232007-11-29 Jason Rumney <jasonr@gnu.org>
9324
9325 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
9326 (w32_face_attributes): Use Vtty_defined_color_alist to determine
9327 if the terminal colors are initialized.
9328 (unspecified_fg, unspecified_bg): Remove unused declarations.
9329
4b7ab1c4
AS
93302007-11-29 Andreas Schwab <schwab@suse.de>
9331
9332 * keyboard.c (apply_modifiers): Fix typo.
9333
4bb6c266
RS
93342007-11-29 Richard Stallman <rms@gnu.org>
9335
9336 * keymap.c (Fcurrent_local_map): Doc fix.
9337
aa44cd84
GM
93382007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
9339
9340 * s/gnu-kfreebsd.h: New file.
9341
21ec2c43
SM
93422007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
9343
cc648cef
SM
9344 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
9345 Don't cast redundantly.
9346
21ec2c43
SM
9347 * keyboard.c (KEY_TO_CHAR): New macro.
9348 (parse_modifiers, apply_modifiers): Accept integer arguments.
9349 (read_key_sequence): Use them to unify the "shift->unshift" mapping
9350 for chars and symbol keys.
9351 After doing such remapping, apply function-key-map again.
9352
73e72da4
DN
93532007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
9354
9355 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
9356 compiled anymore.
9357
254693ff
AS
93582007-11-26 Andreas Schwab <schwab@suse.de>
9359
9360 * process.c (list_processes_1): Fix indentation level of the
9361 command column.
9362
ff6e6ac8
AS
93632007-11-23 Andreas Schwab <schwab@suse.de>
9364
9365 * editfns.c (Fformat): Handle %c specially since it requires the
9366 argument to be of type int.
9367
f7cf8b20
SM
93682007-11-23 Markus Triska <markus.triska@gmx.at>
9369
9370 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 9371 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 9372
569c11e3
SM
93732007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
9374
8787dd73
SM
9375 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
9376 (find_symbol_value): Use do_symval_forwarding.
9377
569c11e3
SM
9378 * data.c (set_internal): Set the value in the `cons-cell' (for
9379 Buffer_Local_values) not only for frame-local variables.
9380
6af1696d
AS
93812007-11-22 Andreas Schwab <schwab@suse.de>
9382
9383 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
9384 values to sprintf.
9385 * keymap.c (Fsingle_key_description): Likewise.
9386 * print.c (print_object): Likewise.
9387
880820fe 93882007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
9389
9390 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
9391 file for image is nil.
9392
7c401d15
DN
93932007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
9394
9395 * term.c: Include stdarg.h.
569c11e3 9396 (fatal): Implement using varargs.
a0a3805c 9397 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 9398
64e16c3c
SM
93992007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
9400
9401 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
9402 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
9403 Update call to buffer_slot_type_mismatch.
9404 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
9405 (buffer_slot_type_mismatch): Update.
9406 * buffer.c (buffer_local_types): Remove.
9407 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
9408 (defvar_per_buffer): Set the type in the buffer_objfwd.
9409
d4aa48db 94102007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 9411
64e16c3c
SM
9412 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
9413 CreateFileMapping returns NULL on failure.
5f42a7eb 9414
d4aa48db 94152007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 9416
d4aa48db
MB
9417 * search.c (Fset_match_data): Remove the `evaporate' feature.
9418 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 9419
bdae0540
JR
94202007-11-21 Jason Rumney <jasonr@gnu.org>
9421
9422 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
9423
9424 * w32console.c (w32con_write_glyphs): Remove unused variables.
9425
202c09a8
DN
94262007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
9427
b951420f
DN
9428 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
9429
202c09a8
DN
9430 * s/darwin.h (MULTI_KBOARD): Remove.
9431
9432 * macfns.c (x_create_tip_frame, Fx_create_frame)
9433 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
9434
bae72c12
SM
94352007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
9436
e7c10f83
SM
9437 * buffer.c (Fbuffer_local_value): Remove redundant test.
9438 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
9439 than in `current-buffer' to match the comment.
9440 Do the swap using swap_in_global_binding.
9441
136eb6ed
SM
9442 * data.c (store_symval_forwarding, set_internal):
9443 * eval.c (specbind): Remove dead code.
9444
bae72c12
SM
9445 * coding.c (detect_coding, Fupdate_coding_systems_internal):
9446 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
9447 Since we do not want to see internal Lisp_*fwd objects here.
9448
880820fe 94492007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 9450
3d66b985
JD
9451 * sysdep.c (init_system_name): Use getaddrinfo if available.
9452
95fbaefc
JD
9453 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
9454 (x_scroll_bar_note_movement): start, end, with, height in struct
9455 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
9456
6c1d8cb6
DN
94572007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
9458
9459 * puresize.h (BASE_PURESIZE): Increase to 1190000.
9460
30f95089
SM
94612007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
9462
66b04bd4
SM
9463 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
9464 This undoes Richard's change of 14-Oct-2002.
9465
6d3f2bb2
SM
9466 * alloc.c (allocate_other_vector):
9467 * lisp.h (allocate_other_vector): Remove.
9468
b05b4e27
SM
9469 * window.c (struct save_window_data): Move non-lisp data to the end
9470 and make it `int' rather than Lisp_Object.
9471 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
9472 Done wrap/unwrap integer values.
9473 (Fset_window_configuration, compare_window_configurations):
9474 Update use of fields to their new types.
9475
056ce195
SM
9476 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
9477 Turn integer fields into `int'. Merge x_window_low and x_window_high.
9478 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
9479 (SET_SCROLL_BAR_X_WINDOW): Remove.
9480 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
9481 Access the new x_window field directly.
9482 * xterm.c (x_scroll_bar_create): Use a pseudovector.
9483 Don't wrap/unwrap integers into Lisp_Objects.
9484 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
9485 (x_scroll_bar_report_motion):
9486 Don't wrap/unwrap integers into Lisp_Objects.
9487 (x_term_init): Use SDATA.
9488 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
9489 (x_scroll_bar_set_handle, x_scroll_bar_remove)
9490 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
9491 (x_scroll_bar_report_motion, x_scroll_bar_clear):
9492 * xfns.c (x_set_background_color):
9493 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
9494 Access the new x_window field directly.
9495
30f95089
SM
9496 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
9497 (allocate_pseudovector): Make non-static.
6d3f2bb2 9498
30f95089
SM
9499 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
9500 (allocate_pseudovector): Declare.
6f69e89b 9501 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 9502
9b6112e8
AS
95032007-11-15 Andreas Schwab <schwab@suse.de>
9504
30f95089
SM
9505 * editfns.c (Fformat): Correctly format EMACS_INT values.
9506 Also take precision into account when formatting an integer.
0f860bd7 9507
9b6112e8
AS
9508 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
9509
262fcd41
SM
95102007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
9511
58da34c7
SM
9512 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
9513 (syms_of_keyboard): Defsubr it.
9514
262fcd41
SM
9515 * data.c (swap_in_global_binding): Fix longstanding bug where
9516 store_symval_forwarding was not called with the right second argument,
9517 thus causing objfwd-ing from being dropped.
9518
d29a9848
JB
95192007-11-14 Juanma Barranquero <lekktu@gmail.com>
9520
9521 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
9522 (Fx_display_pixel_height, Fx_display_planes)
9523 (Fx_display_color_cells, Fx_server_max_request_size)
9524 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9525 (Fx_display_visual_class, Fx_display_save_under):
9526 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
9527 (Fx_display_pixel_height, Fx_display_planes)
9528 (Fx_display_color_cells, Fx_server_max_request_size)
9529 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
9530 (Fx_display_mm_height, Fx_display_mm_width)
9531 (Fx_display_backing_store, Fx_display_visual_class)
9532 (Fw32_select_font, Fx_display_save_under):
9533 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
9534 (Fx_display_pixel_height, Fx_display_planes)
9535 (Fx_display_color_cells, Fx_server_max_request_size)
9536 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9537 (Fx_display_save_under): Fix typos in docstrings.
9538
74084731
JB
95392007-11-14 Juanma Barranquero <lekktu@gmail.com>
9540
9541 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
9542 corresponding to deleted entries; they are an implementation detail.
9543 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
9544 Remove variables.
9545 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
9546 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
9547 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
9548 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
9549 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 9550 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 9551 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
9552 Fix typos in docstrings.
9553 (Fx_server_version): Reflow docstring.
9554 (Fw32_shell_execute): Doc fixes.
74084731 9555
fb053a1f
JB
95562007-11-13 Juanma Barranquero <lekktu@gmail.com>
9557
9558 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
9559 if w32_parse_hot_key returned nil.
9560
a457417e 95612007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 9562
a457417e 9563 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 9564
4b219faa
JR
95652007-11-09 Jason Rumney <jasonr@gnu.org>
9566
9567 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
9568
9569 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
9570
9571 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
9572 Remove W32_SCROLL_BAR_CLICK_EVENT.
9573
9574 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
9575 Add MULTIMEDIA_KEY_EVENT.
9576
9577 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
9578 (lispy_multimedia_keys) [WINDOWSNT]: New array.
9579 (make_lispy_event) [WINDOWSNT]: Use it to translate
9580 MULTIMEDIA_KEY_EVENT.
9581
9582 * w32term.h (WM_APPCOMMAND): Define if not already.
9583 (GET_APPCOMMAND_LPARAM): Likewise.
9584
9585 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
9586 WM_APPCOMMAND.
9587
9588 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
9589 (syms_of_w32fns): Export and initialize it.
9590 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
9591
c12ecb0a 95922007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
9593
9594 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
9595 twice.
9596
9597 * xdisp.c (handle_face_prop): Fix last change.
9598
c12ecb0a 95992007-11-09 Richard Stallman <rms@gnu.org>
048addec 9600
c12ecb0a
MB
9601 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
9602 not just for after-strings and before-strings.
9603 Call face_for_overlay_string and pass the overlay to it.
9604 (handle_display_prop): Determine whether property came from an overlay.
9605 Pass OVERLAY arg to handle_single_display_spec.
9606 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
9607 (load_overlay_strings): Fill in it->string_overlays.
9608 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 9609
c12ecb0a
MB
9610 * xfaces.c (face_for_overlay_string): Function renamed from
9611 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 9612
c12ecb0a
MB
9613 * dispextern.h (struct it): New elt string_overlays.
9614 New elt from_overlay, also in stack.
9615 Rearrange a few elements.
9616 (face_for_overlay_string): Decl renamed from
9617 face_at_buffer_position_no_overlays, and add argument.
15fff01d 9618
c12ecb0a 96192007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 9620
c12ecb0a
MB
9621 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
9622 to get the base face for an overlay string.
0d8466cc 9623
c12ecb0a 9624 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 9625
c12ecb0a 9626 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 9627
c12ecb0a 9628 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 9629
c12ecb0a 96302007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 9631
c12ecb0a
MB
9632 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
9633 Fix conversion from Lisp object to ATSUFontID.
07025a55 9634
c12ecb0a 96352007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 9636
c12ecb0a 9637 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 9638
c12ecb0a 96392007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 9640
c12ecb0a
MB
9641 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
9642 Don't assume regions are aligned to page boundary.
9643 (print_load_command_name): Add LC_UUID if defined.
3a232704 9644
c12ecb0a 96452007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 9646
c12ecb0a 9647 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 9648
b8ddfbcc
JR
96492007-11-07 Jason Rumney <jasonr@gnu.org>
9650
9651 * s/windows95.h: Remove.
9652
880820fe 96532007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
9654
9655 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
9656 abort with a message on unhandled store_type values.
9657
880820fe 96582007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
9659
9660 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
9661 Remove HAVE_X11R5 and HAVE_X11R4.
9662
04a697fe
DN
96632007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9664
9665 * Makefile.in: Remove references to sunfns.c and sunfns.o.
9666
880820fe 96672007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
9668
9669 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 9670 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
9671 x_set_glyph_string_gc from x_draw_glyph_string.
9672
07e5c0b0
DN
96732007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9674
2a2e8de7 9675 * sunfns.c: Remove file.
07e5c0b0
DN
9676
9677 * m/sun386.h:
9678 * m/sun2.h:
9679 * m/sparc.h: Remove Sun windows code.
9680
1bc973c2
SM
96812007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
9682
9683 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
9684 (init_keyboard): Set current_kboard's window-system to nil.
9685 (tty_read_avail_input): Typo.
9686 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
9687
c22140f6
DN
96882007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
9689
9690 * s/usg5-4.h:
9691 * s/usg5-3.h:
9692 * s/ptx.h:
9693 * m/is386.h:
9694 * m/ibmps2-aix.h:
2a2e8de7 9695 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
9696
9697 * dispnew.c (syms_of_display): Don't mention version 10.
9698
660a8219
JB
96992007-10-28 Juanma Barranquero <lekktu@gmail.com>
9700
9701 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
9702 ($(BLD)/abbrev.$(O)): Remove.
9703
e047f448
SM
97042007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
9705
9706 Rewrite abbrev.c in Elisp.
9707 * image.c (Qcount): Don't declare as extern.
9708 (syms_of_image): Initialize and staticpro `Qcount'.
9709 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
9710 * emacs.c (main): Don't call syms_of_abbrev.
9711 * Makefile.in (obj): Remove abbrev.o.
9712 (abbrev.o): Remove.
9713 * abbrev.c: Remove.
9714
67b73e3a
MR
97152007-10-26 Martin Rudalics <rudalics@gmx.at>
9716
9717 * window.c (window_min_size_2): Don't count header-line.
9718
e3d7bd83
DN
97192007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
9720
9721 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 9722 field to take advantage of the available space. Group all the
e3d7bd83
DN
9723 chars together to reduce wasted space due to padding.
9724
a3547743
JB
97252007-10-26 Juanma Barranquero <lekktu@gmail.com>
9726
e298936f
JB
9727 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
9728
d3d47262
JB
9729 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
9730 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
9731 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
9732 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
9733 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
9734 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
9735 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
9736 (last_marked, mark_object_loop_halt): Make static.
9737
a3547743
JB
9738 * frame.c (syms_of_frame) <delete-frame-functions>:
9739 Fix typo in docstring.
9740
14c71d8b
JB
97412007-10-25 Juanma Barranquero <lekktu@gmail.com>
9742
9743 * w32.c (init_environment): Fix tiny memory leak.
66199f74 9744 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 9745
70b8d0a4
SM
97462007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
9747
9748 Make `window-system' into a keyboard-local variable (rather than
9749 frame-local as done originally by multi-tty).
9750
9751 * keyboard.h (struct kboard): Add Vwindow_system.
9752 * keyboard.c (init_kboard): Set a default for Vwindow_system.
9753 (mark_kboards): Mark Vwindow_system.
9754
9755 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
9756 (init_display): Don't set the obsolete `window-system' frame-param.
9757
9758 * xterm.c (x_term_init):
9759 * w32term.c (w32_create_terminal):
9760 * term.c (init_tty): Set Vwindow_system.
9761 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
9762 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
9763
9764 * xfns.c (Fx_create_frame, x_create_tip_frame):
9765 * w32fns.c (Fx_create_frame, x_create_tip_frame):
9766 * macfns.c (Fx_create_frame):
9767 Don't set the obsolete `window-system' frame-param.
9768
9769 * frame.h (Qwindow_system): Remove.
9770 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
9771 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
9772
fdc90613 97732007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 9774
fdc90613
MB
9775 * frame.c (x_figure_window_size): For fullscreen case,
9776 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 9777
fdc90613 9778 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 9779
fdc90613 9780 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 9781
7357cb04
SM
97822007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
9783
98228e72
SM
9784 * process.c (unwind_request_sigio): Only define if __ultrix__.
9785
1baf6db9
SM
9786 * callproc.c (child_setup): Remove spurious *.
9787
4d0ac3d7
SM
9788 * lisp.h (Fget_text_property): Declare.
9789 (have_menus_p): Declare it here rather than in sys-dep header files.
9790 * macterm.h (have_menus_p):
9791 * msdos.h (have_menus_p):
9792 * xterm.h (have_menus_p): Remove.
9793
7357cb04
SM
9794 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9795 (Fmake_variable_frame_local): Just check the variable's const-ness
9796 rather than checking nil or t.
9797
866e6dd6
JR
97982007-10-22 Jason Rumney <jasonr@gnu.org>
9799
b00afeae
JR
9800 * w32fns.c: Include math.h.
9801 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 9802
c8f7c76b
JR
9803 * s/ms-w32.h (HAVE_STDLIB_H): Define.
9804 (abort): Redefinition moved to nt/config.nt.
9805
866e6dd6
JR
9806 * m/windowsnt.h: Remove.
9807
e79beb56
JB
98082007-10-22 Juanma Barranquero <lekktu@gmail.com>
9809
9810 * emacs.c (Fdump_emacs): Fix typo in message.
9811 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
9812 <installation-directory>: Reflow docstring.
9813
fb30dfd2
JL
98142007-10-22 Juri Linkov <juri@jurta.org>
9815
9816 * minibuf.c: Allow minibuffer default to be a list of default values.
9817 With empty input use the first element of this list as returned default.
e79beb56 9818 (string_to_object)
0f7f11b7 9819 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
9820 (read_minibuf): If defalt is cons, set histstring to its car.
9821 (Fread_string): If default_value is cons, set val to its car.
9822 (Fread_buffer): If def is cons, use its car.
9823 (Fcompleting_read): If defalt is cons, set val to its car.
9824
1f163f28
MA
98252007-10-21 Michael Albinus <michael.albinus@gmx.de>
9826
9827 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
9828
db3534c3
JB
98292007-10-20 Juanma Barranquero <lekktu@gmail.com>
9830
9831 * doc.c (Fdocumentation): Check for advice in all cases.
9832
c6f18a07
CY
98332007-10-19 Chong Yidong <cyd@stupidchicken.com>
9834
9835 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
9836
2a1534d3
RS
98372007-10-19 Richard Stallman <rms@gnu.org>
9838
9839 * doc.c (Fdocumentation): Check for and handle an advised function.
9840
7b82c3b6
JB
98412007-10-19 Juanma Barranquero <lekktu@gmail.com>
9842
9843 * process.c (Fset_process_filter): Doc fix.
9844
3278f20e
SM
98452007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
9846
9847 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
9848 which caused key-translation-map to applied repeatedly (thus breaking
9849 double-mode).
9850
99784d63
SM
98512007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9852
9853 * xselect.c (x_own_selection, x_handle_selection_clear)
9854 (x_clear_frame_selections):
9855 * w32menu.c (list_of_panes, list_of_items):
9856 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
9857 * textprop.c (validate_plist, interval_has_all_properties)
9858 (interval_has_some_properties, interval_has_some_properties_list)
9859 (add_properties, text_property_list):
9860 * process.c (Fget_buffer_process, list_processes_1, status_notify):
9861 * minibuf.c (Fassoc_string):
9862 * macselect.c (x_own_selection, x_clear_frame_selections)
9863 (Fx_disown_selection_internal):
9864 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
9865 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
9866
44bb704d
CY
98672007-10-17 Chong Yidong <cyd@stupidchicken.com>
9868
9869 * process.c: Link to libs for calling res_init() if available.
9870 (Fmake_network_process): Call res_init() before getaddrinfo or
9871 gethostbyname, if possible.
9872
d314756e
SM
98732007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9874
2504022a
SM
9875 * lread.c (read1): Set pvectype for char_tables.
9876
19fa82b9
SM
9877 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
9878 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
9879 Add type checks.
9880 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
9881
d314756e
SM
9882 * alloc.c (free_misc): Use XMISCTYPE.
9883 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
9884
94b9aaa2
GM
98852007-10-17 Glenn Morris <rgm@gnu.org>
9886
9887 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
9888 (syms_of_minibuf): Add Qcompletion_ignore_case.
9889 * dired.c (Qcompletion_ignore_case): Change to external.
9890 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
9891 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
9892 (Fread_file_name): Use it rather than intern'ing.
9893
9894 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
9895 (Fread_coding_system): Ignore case of user input.
9896
da6658e8
YM
98972007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9898
9899 * xdisp.c (handle_display_prop): Ignore display specs after
9900 replacing one when string text is being replaced.
9901 (handle_single_display_spec): Pretend as if characters with display
9902 property haven't been consumed only when buffer text is being replaced.
9903
11fb4bdb
SM
99042007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
9905
9beb8baa
SM
9906 * xfns.c (Fx_create_frame, Fx_display_list):
9907 * window.c (window_fixed_size_p, enlarge_window)
9908 (shrink_window_lowest_first):
9909 * macterm.c (init_font_name_table):
9910 * macfns.c (Fx_create_frame, Fx_display_list):
9911 * lread.c (close_load_descs):
9912 * keyboard.c (read_char_x_menu_prompt):
9913 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
9914 * coding.c (code_convert_region_unwind): Test the type of an object
9915 rather than just !NILP before extracting data from it.
9916
d3f41ff5
SM
9917 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
9918
67ee9f6e
SM
9919 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
9920 (XMISCANY): New macro.
9921 (XMISCTYPE): Use it.
9922 (struct Lisp_Misc_Any): New type.
9923 (union Lisp_Misc): Use it.
9924 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
9925 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
9926 (find_symbol_value, set_internal, default_value, Fset_default)
9927 (Fmake_variable_buffer_local, Fmake_local_variable)
9928 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
9929 (Flocal_variable_if_set_p, Fvariable_binding_locus):
9930 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
9931 * alloc.c (allocate_buffer): Set the size and tag.
9932 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
9933 Use XMISCANY.
9934 (die): Follow the GNU convention for error messages.
9935 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
9936 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
9937 tag any more.
9938 (set_buffer_internal_1):
9939 * frame.c (store_frame_param):
9940 * eval.c (specbind):
9941 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
9942
11fb4bdb
SM
9943 * doc.c (Fsnarf_documentation): Simplify.
9944
decb374a
JB
99452007-10-14 Juanma Barranquero <lekktu@gmail.com>
9946
9947 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
9948 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
9949
b5a40ee7
SM
99502007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
9951
9952 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
9953
35277b03
JB
99542007-10-14 Juanma Barranquero <lekktu@gmail.com>
9955
9956 * eval.c (do_autoload): Don't save autoloads.
9957
9958 * data.c (Ffset): Save autoload of the function being set.
9959
35fdaa62
GM
99602007-10-07 John Paul Wallington <jpw@pobox.com>
9961
9962 * xfns.c (x_create_tip_frame): Set the `display-type' frame
9963 parameter before setting up faces.
9964
1ea40aa2
EZ
99652007-10-13 Eli Zaretskii <eliz@gnu.org>
9966
35fdaa62 9967 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
9968 * keyboard.c (append_tool_bar_item): Reformat last change.
9969
1ea40aa2
EZ
9970 * lisp.h (eabs): Rename from `abs'. All callers changed.
9971
35277b03 99722007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
9973
9974 * buffer.c (add_overlay_mod_hooklist):
9975 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
9976 * fontset.c (make_fontset):
9977 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
9978 (append_tool_bar_item):
9979 * macmenu.c (grow_menu_items):
35fdaa62 9980 * w32menu.c (grow_menu_items):
71d00ce4 9981 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 9982
bc82f120
EZ
99832007-10-13 Eli Zaretskii <eliz@gnu.org>
9984
9985 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
9986 selected frame'' on MSDOS).
9987
d57d5a78
MR
99882007-10-12 Martin Rudalics <rudalics@gmx.at>
9989
9990 * frame.c (Qexplicit_name): New variable.
9991 (x_report_frame_params): Report it in parameter alist.
9992 (syms_of_frame): Intern and staticpro it.
9993
35277b03 99942007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
9995
9996 * macfns.c (x_create_tip_frame): Set terminal for frame.
9997
c7a4b95b
SM
99982007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
9999
26f9c7b7
SM
10000 * frame.c (Qenvironment): Remove.
10001 (syms_of_frame) <Qenvironment>: Don't initialize.
10002 (Fdelete_frame): Don't treat the `environment' param specially.
10003 * frame.h (Qenvironment): Don't declare.
10004 * callproc.c (set_initial_environment): Don't set unused frame param.
10005
c7a4b95b
SM
10006 * frame.c (Fframe_with_environment): Remove.
10007 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 10008
c7a4b95b
SM
10009 * lisp.h (Fframe_with_environment): Don't declare.
10010
c86f7377
JB
100112007-10-10 Juanma Barranquero <lekktu@gmail.com>
10012
10013 * indent.c (indent_tabs_mode, last_known_column)
10014 (last_known_column_modified): Make static.
10015 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
10016
d1b3a122
KY
100172007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
10018
10019 * puresize.h (BASE_PURESIZE): Increase to 1170000.
10020
d57d5a78
MR
100212007-10-09 Jason Rumney <jasonr@gnu.org>
10022
10023 * w32term.c (x_set_window_size): Disable code that attempts to tell
10024 Lisp code about a size change before it actually happens.
10025
81d3d428 100262007-10-09 Richard Stallman <rms@gnu.org>
91175673 10027
81d3d428
MB
10028 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
10029 return HANDLED_RETURN.
91175673 10030
1af74d06 100312007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 10032
1af74d06
MB
10033 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
10034 when there's an unread command event.
e0fead5d 10035
c7a4b95b 10036 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
10037 window autoselection act appropriately when leaving selected frame.
10038 (syms_of_frame): Initialize focus_follows_mouse.
10039 * frame.h (focus_follows_mouse): Extern it.
10040 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 10041 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
10042 * msdos.c (dos_rawgetc): Likewise.
10043 * w32term.c (w32_read_socket): Likewise.
10044 * xterm.c (handle_one_xevent): Likewise.
10045 * xdisp.c (syms_of_xdisp): In doc-string of
10046 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 10047
1af74d06 100482007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 10049
1af74d06
MB
10050 * macterm.c (mac_load_query_font): Fix missing return value.
10051 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
10052 Add BLOCK_INPUT.
c186cdb3 10053
1af74d06 100542007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 10055
1af74d06
MB
10056 * xdisp.c (get_window_cursor_type): Implement documented behavior
10057 for cursor-in-non-selected-windows = t.
c186cdb3 10058
1af74d06 100592007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 10060
1af74d06 10061 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 10062
1af74d06 100632007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 10064
1af74d06 10065 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 10066
1af74d06 10067 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 10068
1af74d06 100692007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 10070
c7a4b95b 10071 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 10072
1af74d06 100732007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 10074
1af74d06 10075 * buffer.c (Foverlays_at): Doc fix.
036e218d 10076
1af74d06 100772007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 10078
1af74d06 10079 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 10080
1af74d06 100812007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 10082
1af74d06 10083 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 10084
1af74d06 10085 * frame.h (enum): Remove trailing comma.
90647b07 10086
8993ad2e 100872007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 10088
1af74d06 10089 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 10090
1af74d06 100912007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 10092
1af74d06 10093 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 10094
1af74d06
MB
10095 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
10096 last-repeatable-command.
10097 (init_kboard): Initialize Vlast_repeatable_command.
10098 (command_loop_1): Set it to real_this_command unless that was
10099 bound to an input event.
10100 (mark_kboards): Mark it.
9fbc32aa 10101
1af74d06 101022007-10-08 Richard Stallman <rms@gnu.org>
036e218d 10103
1af74d06 10104 * eval.c (condition-case): Doc fix.
9fbc32aa 10105
1af74d06 101062007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 10107
1af74d06
MB
10108 * xfaces.c (tty_supports_face_attributes_p): Fix code
10109 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
10110 was copied and not edited.
9fbc32aa 10111
beb9f745
SM
101122007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
10113
c86f7377 10114 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
10115 escape sequences.
10116 * keyboard.h (struct kboard): Add Vinput_decode_map.
10117 Remove Vlocal_key_translation_map.
10118 * keyboard.c (read_key_sequence): Add support for input-decode-map.
10119 (init_kboard): Init input-decode-map.
10120 Replace local-key-translation-map back with key-translation-map.
10121 (syms_of_keyboard): Declare input-decode-map.
10122 Remove local-key-translation-map. Update docstrings.
10123 (mark_kboards): Mark Vinput_decode_map.
10124 Don't mark Vlocal_key_translation_map.
10125 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
10126 Replace local-key-translation-map back with key-translation-map.
10127 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
10128 Bind in input-decode-map rather than function-key-map.
10129
beb9f745
SM
10130 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
10131 This was made redundant by the previous introduction of XSETPVECTYPE.
10132
65342ae3
RS
101332007-10-09 Richard Stallman <rms@gnu.org>
10134
beb9f745 10135 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
10136
101372007-09-29 Richard Stallman <rms@gnu.org>
10138
10139 * eval.c (internal_condition_case_2, internal_condition_case_1)
10140 (internal_condition_case): Reenable abort if x_catching_errors ()
10141 to see if that really happens and why.
10142
6cff77fd
AS
101432007-10-06 Andreas Schwab <schwab@suse.de>
10144
10145 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
10146
bbe6f2aa
JB
101472007-10-04 Juanma Barranquero <lekktu@gmail.com>
10148
10149 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
10150
a390930c
SM
101512007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
10152
10153 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
10154
d6aa1876
SM
101552007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
10156
d0fdb6da
SM
10157 * window.h (struct window):
10158 * window.c (struct save_window_data, struct saved_window):
10159 * termhooks.h (struct terminal):
10160 * process.h (struct Lisp_Process):
10161 * frame.h (struct frame):
10162 * buffer.h (struct buffer):
10163 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
10164 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
10165 The size field of (pseudo)vectors is now unsigned.
10166 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
10167
878f97ff
SM
10168 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
10169 Turn `count' into an integer.
d0fdb6da 10170
878f97ff
SM
10171 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
10172 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
10173 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
10174 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
10175 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
10176
d2029e5b
SM
10177 * alloc.c (allocate_pseudovector): New fun.
10178 (ALLOCATE_PSEUDOVECTOR): New macro.
10179 (allocate_window, allocate_terminal, allocate_frame)
10180 (allocate_process): Use it.
10181 (mark_vectorlike): New function.
10182 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
10183 (mark_terminals): Use it.
10184 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
10185 (Fmake_byte_code): Use XSETPVECTYPE.
10186
10187 * frame.c (Fframe_parameters): Minor simplification.
10188
10189 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
10190
10191 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
10192
10193 * buffer.c (Fget_buffer_create, init_buffer_once):
10194 * lread.c (defsubr):
10195 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
10196
10197 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
10198 defined differently in the m/*.h files.
10199 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
10200 (XSETPVECTYPE): New macro.
10201 (XSETPSEUDOVECTOR): Use it.
10202
d6aa1876
SM
10203 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
10204 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 10205
d6aa1876
SM
10206 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
10207 * lread.c (defvar_per_buffer):
10208 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
10209
10210 * window.c (candidate_window_p): Only consider as visible frames that
10211 are on the same terminal.
10212
10213 * m/ibms390x.h (MARKBIT): Remove unused macro.
10214
88852d45
JB
102152007-10-01 Juanma Barranquero <lekktu@gmail.com>
10216
10217 * lread.c (Fload): Fix typo in docstring.
10218
880820fe 102192007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
10220
10221 * floatfns.c (Fexpt): Manually check for overflows, so that a power
10222 of a non-zero value can't yield zero.
10223
ed0c79c6
SM
102242007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
10225
b870aa61
SM
10226 * term.c (term_clear_mouse_face, term_mouse_highlight)
10227 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
10228
4c37a414
SM
10229 * print.c (safe_debug_print): Use XHASH.
10230
b9466edb
SM
10231 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
10232 Lisp elements such as tags.
10233 (XHASH): New macro.
10234 (EQ): Use it.
10235 (SREF, SSET, STRING_COPYIN): Use SDATA.
10236 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
10237
9c545a55
SM
10238 * alloc.c (mark_terminal): Remove left-over declaration.
10239 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
10240 (allocate_vectorlike): Remove type argument. Adjust callers.
10241 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
10242 Only handle the one remaining MEM_TYPE_VECTORLIKE.
10243
dafc79fa
SM
10244 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
10245 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
10246 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
10247 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
10248 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
10249 Use them.
10250
ed0c79c6
SM
10251 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
10252 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
10253 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
10254
3c81afd4
DN
102552007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
10256
10257 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
10258 loaded by default.
10259
6178ce5e
SM
102602007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
10261
4ce5ab77
SM
10262 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
10263 on this tty.
10264 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
10265
6178ce5e
SM
10266 * term.c (mouse_face_window): Rename from Qmouse_face_window.
10267 Update all users.
10268 (handle_one_term_event): Use Gpm_DrawPointer.
10269 (Fgpm_mouse_start): Rename from Fterm_open_connection.
10270 Signal errors instead of returning nil. Always return nil.
10271 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
10272 Make it a noop if gpm-mouse was not activated.
10273 (syms_of_term): Update names.
10274
bdf5f8ef
SM
102752007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
10276
75a8734b
SM
10277 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
10278 (init_sys_modes): Check that gpm_tty is the current tty.
10279
13559ee0
SM
10280 * alloc.c (allocate_terminal): Set the vector size to only count the
10281 lisp fields. Initialize those to nil.
10282 (mark_object): Don't treat terminals specially.
10283 (mark_terminal): Remove.
10284 (mark_terminals): Use mark_object instead.
10285
ff16b875
SM
10286 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
10287 the GC to the beginning.
10288
83155776
SM
10289 * indent.h:
10290 * indent.c: Use EMACS_INT for ints coming from Elisp data.
10291
bdf5f8ef
SM
10292 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
10293
ec8705b6
JR
102942007-09-25 Jason Rumney <jasonr@gnu.org>
10295
10296 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
10297
10298 * w32console.c (create_w32cons_output): Remove.
10299
10300 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
10301
10302 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
10303 (reset_sys_modes): Use reset_terminal_modes_hook.
10304
7351b242
SM
103052007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
10306
10307 * eval.c (do_autoload): Don't output any message.
10308
16706228
JL
103092007-09-24 Juri Linkov <juri@jurta.org>
10310
10311 * emacs.c (standard_args): Change priority of "--no-splash"
10312 from 40 to 3. Add "--no-desktop" with the same priority.
10313
3ae2e3a3
RS
103142007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
10315
10316 * alloc.c (gc_sweep): Check cons cell mark bits word by word
10317 and optimize the case where they are all 1.
10318
7a58fb43
GM
103192007-09-23 Johannes Weiner <hannes@saeurebad.de>
10320
3ae2e3a3
RS
10321 * lisp.h (abs): Define if not defined.
10322 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
10323 Don't define `abs', since it's defined in lisp.h.
7a58fb43 10324
78048085
EZ
103252007-09-22 Eli Zaretskii <eliz@gnu.org>
10326
c7a4b95b 10327 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
10328 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
10329 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
10330 (init_tty): Use DEV_TTY instead of "/dev/tty".
10331 [WINDOWSNT]: No need to protect from NAME arg being null.
10332
23d4cba5
DN
103332007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
10334
10335 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
10336 up the tty state.
10337
71f44e7a
SM
103382007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10339
10340 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
10341 (gpm_tty): Change its type.
10342 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
10343 (gpm_tty): Change its type and initialize it.
10344 (Fterm_open_connection): Check the frame is indeed a tty.
10345 Use the new gpm_tty.
10346 (Fterm_close_connection): Use the new gpm_tty.
10347 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
10348 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
10349
def7fa34
JB
103502007-09-21 Juanma Barranquero <lekktu@gmail.com>
10351
10352 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
10353 underline_color, to draw strike-through.
10354
d2bb6598
SM
103552007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10356
273f164c
SM
10357 * lisp.h (allocate_terminal): Declare.
10358
ca2d5566
SM
10359 * window.c (candidate_window_p): Consider frames that are being placed
10360 by the user as somewhere between visible and iconified.
10361 (window_loop): Prefer windows on the current frame.
10362 (Fselect_window): Move the use of select-frame to the beginning so we
10363 can just delegate all the work (it'll call us back anyway).
10364
6168122d
SM
10365 * frame.c (Qdisplay_environment_variable):
10366 * frame.h (Qdisplay_environment_variable): Delete.
10367
c51842ec
SM
10368 * .gdbinit (xbacktrace): Print the arg's address rather than the value
10369 of the first arg, since that value may be a union.
10370
d2bb6598
SM
10371 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
10372 parameter rather than Qdisplay_environment_variable. If all else
10373 fails, look for DISPLAY in initial-environment.
10374
6f022c19
GM
103752007-09-21 Glenn Morris <rgm@gnu.org>
10376
10377 * Makefile.in (emacstool): Remove target.
f466320b 10378 (lisp, shortlisp): Remove termdev.elc.
6f022c19 10379
ea1bf8c7
GM
103802007-09-21 Markus Triska <markus.triska@gmx.at>
10381
d2bb6598 10382 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 10383
d30a25b3
SM
103842007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
10385
db699fc6
SM
10386 * callproc.c (getenv_internal_1): New function.
10387 (getenv_internal): Use it.
10388 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
10389
d2bb6598 10390 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
10391 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
10392 (Fset_terminal_parameter): Work with dead terminals as well.
10393 (Fmodify_terminal_parameters): Remove.
10394
d30a25b3
SM
10395 * terminal.c (get_terminal): Handle terminals.
10396 Make sure the terminal returned is live.
10397 (create_terminal): Use allocate_terminal.
10398 (mark_terminals): Move to alloc.c.
10399 (delete_terminal): Use terminal->name as liveness status.
10400 NULL out fields after freeing their contents.
10401 Don't deallocate the object.
10402 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
10403 rather than an int.
10404 (Fterminal_live_p): Accept non-integer arguments.
10405 (Fterminal_list): Return terminal objects rather than an ints.
10406
10407 * alloc.c (enum mem_type): New member for `terminal' objects.
10408 (allocate_terminal): New function.
d2bb6598
SM
10409 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
10410 Handle terminals.
d30a25b3
SM
10411 (mark_terminal): New fun.
10412 (mark_terminals): Move from terminal.c.
10413
10414 * term.c (get_tty_terminal): Don't treat output_initial specially.
10415 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
10416 (delete_tty): Use terminal->name as liveness status.
10417
10418 * termhooks.h (struct terminal): Make it into a pseudovector.
10419 Remove `deleted' replaced by checking `name's nullness.
10420
10421 * print.c (print_object): Handle terminals.
10422
10423 * lisp.h (enum pvec_type): New `terminal' pseudovector.
10424 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
10425
10426 * frame.c (make_terminal_frame):
10427 * keyboard.c (tty_read_avail_input):
10428 * w32term.c (x_delete_terminal):
10429 * xfns.c (Fx_create_frame, x_create_tip_frame):
10430 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
10431
eba25e7c
GM
104322007-09-20 Glenn Morris <rgm@gnu.org>
10433
10434 * process.c (Fmake_network_process): Doc fix.
10435
2a29c3c1
JR
104362007-09-19 Jason Rumney <jasonr@gnu.org>
10437
10438 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
10439
880820fe 104402007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
10441
10442 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
10443 Fix a C warning regarding variable constness.
10444
10445 * xterm.c (handle_one_xevent): Fix a C warning.
10446
334a1195
JR
104472007-09-18 Jason Rumney <jasonr@gnu.org>
10448
10449 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
10450
880820fe 104512007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
10452
10453 * gtkutil.c (gdpy_def): New variable.
10454 (xg_initialize): Initialize gdpy_def.
10455 (xg_display_close): If no other display exists, set gdpy_def to a
10456 new connection.
10457
880820fe 104582007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
10459
10460 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
10461 when we have no file name for the icon.
10462 (xg_tool_bar_expose_callback): Remove.
10463 (xg_create_tool_bar): Don't connect expose signal to
10464 xg_tool_bar_expose_callback.
10465 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
10466
4d580af2
AS
104672007-09-16 Andreas Schwab <schwab@suse.de>
10468
10469 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
10470 values instead of zapping them.
10471
aca946f3
GM
104722007-09-14 Glenn Morris <rgm@gnu.org>
10473
10474 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
10475 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
10476 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
10477 scope and rename to omfib_buffer for clarity.
10478 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
10479
25c460e5
KH
104802007-09-14 Kenichi Handa <handa@m17n.org>
10481
10482 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
10483
09b69f01
JR
104842007-09-13 Jason Rumney <jasonr@gnu.org>
10485
10486 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
10487
10488 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
10489
10490 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
10491 (mac_term_init): Call here instead, passing rif.
10492
442218db
GM
104932007-09-13 Glenn Morris <rgm@gnu.org>
10494
10495 * s/hpux.h: No longer define `static' as nothing.
10496
880820fe 104972007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
10498
10499 * callint.c (Fcall_interactively): Remove unused var `fun'.
10500
1971a872
RF
105012007-09-12 Romain Francoise <romain@orebokech.com>
10502
10503 * window.c (prefer_window_split_horizontally, display_buffer):
10504 Revert 2007-09-08 change.
10505
2d33f506
GM
105062007-09-12 Glenn Morris <rgm@gnu.org>
10507
585474ae 10508 * alloca.c: Remove file.
ca7af97a
GM
10509 * Makefile.in (alloca): Do not undef.
10510 (allocaobj, alloca.o): Remove.
10511 (otherobj): Remove allocaobj.
10512 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
10513 * regex.c (C_ALLOCA): Remove all references and code that was only
10514 used when this was defined.
10515 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
10516 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
10517 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
10518
2d33f506 10519 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
10520
10521 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
10522 (menu_grab_callback): All uses changed.
10523
10524 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
10525 (x_reply_selection_request): All uses changed.
2d33f506 10526
18a4a65e
SM
105272007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
10528
10529 * lread.c (load_warn_old_style_backquotes): Change message to look
10530 better when it appears in the middle of byte-compiler messages.
10531
47cc8819
DN
105322007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
10533
b7ea0894
DN
10534 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
10535
47cc8819
DN
10536 * xterm.c (x_create_terminal): Add comment.
10537
10538 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
10539
5632bd0f
RS
105402007-09-10 Richard Stallman <rms@gnu.org>
10541
10542 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
10543
880820fe 105442007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 10545
4bca9161
MC
10546 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
10547 (DEFUN): Document `intspec', use it instead of `prompt'.
10548
04724b69
MC
10549 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
10550
8a6d230a
MC
10551 * data.c (Finteractive_form): If the interactive specification starts
10552 with a `(', use it as a Lisp form.
10553
09fbdf6c
MC
10554 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
10555 name and file modes.
10556
ccb5c14f
MC
10557 * callint.c (Fcall_interactively): Comment fixes.
10558
023accd6
SM
105592007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
10560
10561 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
10562 and compiled functions.
10563
f26b9544
EZ
105642007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
10565
10566 * window.c (prefer_window_split_horizontally): New variable.
10567 (display_buffer): Consider splitting window horizontally depending
10568 on prefer_window_split_horizontally.
10569
4d395425
EZ
105702007-09-08 Eli Zaretskii <eliz@gnu.org>
10571
97ddc760 10572 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 10573
08c1d235
SM
105742007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10575
179cef48
SM
10576 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
10577
08c1d235
SM
10578 * frame.c (x_set_frame_parameters): Check number is positive before
10579 using XFASTINT.
10580
10581 * window.c (freeze_window_start): Don't presume selected_window holds
10582 a window object.
92f94a12 10583 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 10584
97ddc760 105852007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
10586
10587 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
10588
90ab5c62
SM
105892007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10590
10591 * window.c (Vsplit_window_preferred_function): New var.
10592 (Fdisplay_buffer): Use it.
10593 (syms_of_window): Export, and initialize it.
10594
1ab2cd43
TTN
105952007-09-06 Pixel <pixel@mandriva.com> (tiny change)
10596
10597 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
10598
0b0515bc
GM
105992007-09-06 Glenn Morris <rgm@gnu.org>
10600
57fd5c55 10601 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
10602 * xselect.c (x_reply_selection_request) <cnt>: Move static
10603 variable to file scope.
10604
98594580
SM
106052007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
10606
10607 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
10608 consistent values of selected_frame and selected_window.
10609
0f4c7aef
JR
106102007-09-04 Jason Rumney <jasonr@gnu.org>
10611
10612 * w32console.c (initialize_w32_display): Zero unused hooks.
10613
e4019195
DN
106142007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10615
10616 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
10617 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
10618
bce179b5
JR
106192007-09-04 Jason Rumney <jasonr@gnu.org>
10620
a0236551
JR
10621 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
10622 in w32console.c. Set up input. Remove XXX comments that have been
10623 confirmed as correct.
10624
a4926668
JR
10625 * s/ms-w32.h (MULTI_KBOARD): Define.
10626
953bf0dc
JR
10627 * w32console.c (one_and_only_w32cons): Remove.
10628 (initialize_w32_display): Take terminal argument.
10629
10630 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
10631 initialize_w32_display.
10632 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
10633
bce179b5
JR
10634 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
10635
10636 * keyboard.c (discard_mouse_events): Discard it.
10637 (make_lispy_event): Translate it to a lisp event.
10638 (lispy_wheel_names): Add wheel-left and right events.
10639 (syms_of_keyboard): Enlarge wheel_syms.
10640
10641 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
10642 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
10643
10644 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
10645
10646 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
10647 from WM_MOUSEHWHEEL.
10648 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
10649
10650 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
10651 terminal.
10652
10653 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
10654 keyboard for the terminal.
10655
92cd6a7c
DN
106562007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10657
10658 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
10659 (Vresume_tty_hook): Rename from Vresume_tty_functions.
10660 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
10661 and resume-tty-function to resume-tty-hook.
10662 (Fsuspend_tty, Fresume_tty): Use new names.
10663
880820fe 106642007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
10665
10666 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
10667 if it starts with "n:".
10668
880820fe 106692007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
10670
10671 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
10672
6b8e474c
SM
106732007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
10674
92d9c1d4
SM
10675 * frame.h:
10676 * frame.c (Qterm_environment_variable): Remove.
10677 (syms_of_frame): Don't init and staticpro it.
10678
92d9c1d4
SM
10679 * callproc.c (getenv_internal): Remove special case for $TERM.
10680
6b8e474c
SM
10681 * callproc.c (Vinitial_environment): New variable.
10682 (set_initial_environment): Initialize it.
10683 (syms_of_callproc): Declare it.
10684 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
10685 TERM under which a process runs is never related to the TERM in which
10686 Emacs is running.
10687
0f1444e1
DN
106882007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10689
10690 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
10691 * s/darwin.h: ... do it here.
10692
b8866860
SM
106932007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
10694
10695 * lisp.h (set_initial_environment): Rename from set_global_environment.
10696
10697 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
10698 removed by mistake on the multi-tty branch.
10699
10700 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
10701 (Fmodify_frame_parameters): Return a value.
10702
10703 * image.c (png_load): Comment-out var only used in commented-out code.
10704
10705 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
10706 before passing it to mark_object.
10707
10708 * xfaces.c (internal_resolve_face_name): Return a value.
10709 (internal_resolve_face_name, resolve_face_name_error): Comment out.
10710
10711 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
10712 (x_icon): Comment-out var only used in commented-out code.
10713
0a42be6d
RF
107142007-08-29 Romain Francoise <romain@orebokech.com>
10715
10716 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
10717 QUIT hasn't been provided.
10718
8d9cc0b7
MB
107192007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10720
10721 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 10722 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
10723 (set_initial_environment): Initialise Vprocess_environment.
10724
10725 * config.in: Disable multi-keyboard support on a mac.
10726
10727 * frame.c (Qterm_environment_variable)
10728 (Qdisplay_environment_variable): New variables.
10729 (syms_of_frame): Intern and staticpro them.
10730 (Fmake_terminal_frame): Disable output method test.
10731
10732 * frame.h: Declare them here.
10733
10734 * macfns.c (x_set_mouse_color): Get rif from the frame.
10735 (x_set_tool_bar_lines): Don't use updating_frame.
10736 (mac_window): Add 2 new parameters for consistency with other systems.
10737 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
10738 frame parameters following what is done in X11 and w32. Don't use
10739 FRAME_MAC_DISPLAY_INFO.
10740 (Fx_open_connection, start_hourglass): Remove window-system check.
10741 (x_create_tip_frame): Get the keyboard from the terminal.
10742
10743 * macmenu.c: Reorder includes.
10744 (Fx_popup_menu): Use terminal specific mouse_position_hook.
10745
10746 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
10747 terminal parameter.
10748 (x_clear_frame): Add a frame parameter.
10749 (note_mouse_movement): Get rif from the frame.
10750 (mac_term_init): Initialize the terminal.
10751 (mac_initialize): Make static and move terminal initialization ...
10752 (mac_create_terminal): ... to this new function.
10753
10754 * macterm.h (struct mac_display_info): Add terminal.
7196c970 10755 (mac_initialize): Delete declaration.
8d9cc0b7 10756
381864b2 10757 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
10758
10759 * sysdep.c: Comment out text after #endif.
10760
10761 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
10762 is defined. Better initialize ttys in windows. Use terminal
10763 specific mouse_position_hook.
10764
10765 * termhooks.h (union display_info): Add mac_display_info.
10766
b8866860
SM
10767 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
10768 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
10769 frame parameters following what is done in X11.
10770
10771 * w32term.c (w32_initialize): Make static.
10772
10773 * xselect.c (x_handle_selection_clear): Only access
10774 terminal->kboard when MULTI_KBOARD is defined.
10775
10776 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
10777 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
10778
107792007-08-29 Jason Rumney <jasonr@gnu.org>
10780
10781 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
10782 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
10783
10784 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
10785 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
10786
10787 * keyboard.c (restore_kboard_configuration): Only define when
10788 MULTI_KBOARD defined.
10789
35277b03 10790 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
10791 (OBJ1): Add terminal.$(O)
10792
b8866860
SM
10793 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
10794 Don't define function body.
8d9cc0b7
MB
10795 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
10796
10797 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
10798
10799 * w32.c (request_sigio, unrequest_sigio): Remove.
10800
10801 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
10802 (w32con_clear_frame, w32con_clear_end_of_line)
10803 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
10804 (w32con_delete_glyphs, w32con_set_terminal_window)
10805 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
10806 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
10807 Add terminal arg.
8d9cc0b7
MB
10808 (PICK_FRAME): Remove.
10809 (w32con_write_glyphs): Use frame specific terminal coding.
10810 (one_and_only_w32cons): New global variable.
10811 (initialize_w32_display): Use it for storing hooks.
10812 (create_w32cons_output): New function.
10813
10814 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
10815 arg a frame.
10816
b8866860
SM
10817 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
10818 Set window_system.
8d9cc0b7
MB
10819 (x_set_tool_bar_lines): Don't use updating_frame.
10820 (Fx_create_frame): Set terminal and ref count.
10821 (Fx_open_connection): Remove window-system check.
10822
10823 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
10824
10825 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
10826 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
10827 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
10828 Add frame arg.
10829 (x_delete_terminal, w32_create_terminal): New functions.
10830 (w32_term_init): Create a terminal.
10831 (w32_initialize): Move terminal specific initialization to
10832 w32_create_terminal.
10833
b8866860 10834 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
10835 (w32_clear_rect, w32_clear_area): Use background from frame.
10836 (w32_display_info): Add terminal.
10837 (w32_sys_ring_bell, x_delete_display): Declare here.
10838
10839 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
10840
10841 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
10842
108432007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
10844
10845 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
10846 Fix get_named_tty calls for the controlling tty.
10847
108482007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
10849
10850 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
10851
108522007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
10853
10854 * term.c (tty_insert_glyphs): Add missing first parameter.
10855
880820fe 108562007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 10857
b8866860
SM
10858 * buffer.c (Fbuffer_list, Fbury_buffer):
10859 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
10860
10861 * cm.c (current_tty): New variable, for cmputc().
10862 (cmputc): Use it.
10863 (cmcheckmagic): Add tty parameter, look up terminal streams there.
10864 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
10865 (cmgoto): Add tty parameter. Pass it on to calccost().
10866 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
10867
10868 * cm.h (emacs_tputs): New macro to set current_tty, and then call
10869 tputs().
10870 (current_tty): New variable, for cmputc().
10871 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
10872
10873 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
10874 (internal_condition_case, internal_condition_case_1)
10875 (internal_condition_case_2): Don't abort when x_catching_errors.
10876
10877 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
10878 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
10879 prevent crashes caused by bogus longjmps in read_char.
10880
10881 * keymap.h (Fset_keymap_parent): Add EXFUN.
10882
10883 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
10884 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
10885 Remove redundant definition.
10886
b8866860
SM
10887 * macfns.c (x_set_mouse_color, x_make_gc):
10888 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 10889
b8866860
SM
10890 * w32term.c (x_free_frame_resources):
10891 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10892 (w32_initialize): Use the accessor macros for terminal characteristics.
10893
10894 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
10895 Use the accessor macros for terminal characteristics.
10896 * msdos.c (internal_terminal_init): Use the accessor macros for
10897 terminal characteristics.
b8866860
SM
10898 (ScreenVisualBell, internal_terminal_init):
10899 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10900
10901 * termopts.h (no_redraw_on_reenter): Declare.
10902
10903 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 10904 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 10905 (Fgarbage_collect): Call them.
03f06e5c 10906 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
10907
10908 * prefix-args.c: Include stdlib.h for exit.
10909
10910 * syssignal.h: Add comment.
10911
10912 * indent.c: Include stdio.h.
10913
10914 * window.h (Vinitial_window_system): Declare.
10915 (Vwindow_system): Delete declaration.
10916
10917 * fontset.c (Finternal_char_font): Use FRAME_RIF.
10918
10919 * image.c (lookup_image): Don't initialize `c' until the xasserts
10920 have been run.
10921
10922 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
10923 FRAME_FOREGROUND_PIXEL.
10924
10925 * print.c (print_preprocess): Don't lose print_depth levels while
10926 iterating.
10927
b8866860
SM
10928 * widget.c (update_from_various_frame_slots):
10929 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10930
10931 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
10932 frames.
10933 (window_internal_height): Remove bogus make_number call.
b8866860 10934 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
10935
10936 * fileio.c (Fread_file_name): Update comment.
10937
b8866860
SM
10938 * callint.c (Fcall_interactively):
10939 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
10940 Make sure it is correctly unwound.
10941
10942 * xsmfns.c (x_session_close): New function.
10943
03f06e5c 10944 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
10945 Delete declarations.
10946
10947 * xterm.h: Remove declaration for x_fully_uncatch_errors.
10948 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 10949 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 10950 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
10951
10952 * lread.c: Include setjmp.h. Update declaration of `read_char'.
10953 (read_filtered_event): Call `read_char' with a local
10954 `wrong_kboard_jmpbuf'.
10955
b8866860
SM
10956 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
10957 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
10958
10959 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
10960 systems.
10961
b8866860 10962 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 10963 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 10964 (Fset_quit_char): EXFUN.
03f06e5c 10965 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
10966 (init_sys_modes, reset_sys_modes): Update prototypes.
10967 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
10968
b8866860
SM
10969 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
10970 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 10971 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 10972 Delete declarations.
03f06e5c
JB
10973 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
10974 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
10975 New declarations.
10976
10977 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
10978 already does that during init_display(). Call syms_of_keymap
b8866860
SM
10979 before syms_of_keyboard. Call `syms_of_terminal'.
10980 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
10981 (shut_down_emacs): Call reset_all_sys_modes() instead of
10982 reset_sys_modes().
10983
10984 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
10985 (internal_resolve_face_name, resolve_face_name_error): New functions.
10986 (resolve_face_name): Protect against loops and errors thrown by Fget.
10987 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
10988 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
10989
10990 * scroll.c: Replace CURTTY() with local variables throughout the
10991 file (where applicable).
10992 (calculate_scrolling, calculate_direct_scrolling)
10993 (scrolling_1, scroll_cost): Use the accessor macros for terminal
10994 characteristics.
10995
10996 * keymap.c (Vfunction_key_map): Remove.
b8866860 10997 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
10998 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
10999 (Vkey_translation_map): Remove.
11000 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 11001 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
11002 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
11003 Update for terminal-local key-translation-map.
11004
11005 * Makefile.in (callproc.o): Update dependencies.
11006 (lisp, shortlisp): Add termdev.elc.
11007 (obj): Add terminal.o.
11008 (terminal.o): Add dependencies.
11009 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
11010 (data.o, fns.o): Add termhooks.h dependency.
11011 (SOME_MACHINE_LISP): Add dnd.elc.
11012 (minibuf.o): Fix typo.
11013 Update dependencies.
11014
11015 * data.c (do_symval_forwarding, store_symval_forwarding)
11016 (find_symbol_value): Use the selected frame's keyboard, not
11017 current_kboard.
11018
11019 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
11020 Vwindow_system.
11021
11022 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
11023 Fmenu_bar_open.
11024 (syms_of_xmenu): Update defsubr.
11025 (mouse_position_for_popup, Fx_popup_menu)
11026 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
11027 (set_frame_menubar, free_frame_menubar)
11028 (create_and_show_popup_menu, xmenu_show, )
11029 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
11030 an X frame.
11031
11032 * xselect.c (x_own_selection): Abort if not an X frame.
11033 (some_frame_on_display): Check if it is an X frame.
11034 (x_handle_selection_clear): Deal with MULTI_KBOARD.
11035
11036 * coding.c: Include frame.h and termhooks.h.
03f06e5c 11037 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
11038 (Fset_terminal_coding_system_internal)
11039 (Fset_keyboard_coding_system_internal)
11040 (Fkeyboard_coding_system)
03f06e5c
JB
11041 (Fterminal_coding_system): Add a terminal parameter.
11042 Get terminal_coding from the terminal.
8d9cc0b7
MB
11043 (init_coding_once): Don't call setup_coding_system here.
11044
11045 * dispextern.h (set_scroll_region, turn_off_insert)
11046 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
11047 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 11048 (delete_tty, updating_frame)
8d9cc0b7
MB
11049 (produce_special_glyphs, produce_glyphs, write_glyphs)
11050 (insert_glyphs): Remove.
11051 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 11052 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 11053 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
11054
11055 * frame.h (enum output_method): Add output_initial.
11056 (struct x_output): Delete.
b8866860
SM
11057 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11058 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
11059 (tty_display): Delete.
11060 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 11061 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
11062 (union output_data): Add tty.
11063 (FRAME_KBOARD): Get the kboard from the terminal.
11064 (FRAME_INITIAL_P): New macro.
11065 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
11066 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
11067 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
11068 New declarations.
8d9cc0b7
MB
11069
11070 * termchar.h (tty_output, tty_display_info): New structures.
11071 (tty_list): Declare.
11072 (FRAME_TTY, CURTTY): New macros.
11073 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
11074 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
11075 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
11076 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
11077
11078 * callproc.c: Include frame.h and termhooks.h, for terminal
11079 parameters.
11080 (add_env): New function.
11081 (child_setup): Use it.
b8866860 11082 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
11083 (getenv_internal): Fix get_terminal_param call.
11084 (Fgetenv_internal, egetenv): Update doc.
11085 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 11086 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
11087 strings.
11088 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
11089 (getenv_internal): Add terminal parameter.
11090 Handle Vlocal_environment_variables.
8d9cc0b7
MB
11091 (Fgetenv_internal): Add terminal parameter.
11092 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 11093 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
11094 (set_initial_environment): Rename from set_global_environment.
11095 Store Emacs environment in initial frame parameter.
11096
11097 * xdisp.c (redisplay_internal): Update references to
11098 `previous_terminal_frame'.
11099 (display_mode_line, Fformat_mode_line): Replace calls to
11100 `push_frame_kboard' with `push_kboard'.
11101 (get_glyph_string_clip_rects): Add extra parentheses and
11102 braces to prevent compiler warnings.
11103 (calc_pixel_width_or_height): Add xassert to check that the
11104 frame is alive. Don't call `lookup_image' on a termcap frame.
11105 (message2_nolog, message3_nolog, redisplay_internal)
11106 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
11107 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
11108 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
11109 (Fx_display_pixel_width, Fx_display_pixel_height)
11110 (Fx_display_planes, Fx_display_color_cells)
11111 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
11112 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
11113 (Fx_display_backing_store, Fx_display_visual_class)
11114 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 11115 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
11116
11117 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
11118 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
11119 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
11120 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
11121 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
11122 terminal that is being deleted.
11123 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 11124 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
11125 (Fx_close_connection, Fx_synchronize): Unify argument names with
11126 the rest of the DEFUNs.
11127
11128 * dispnew.c (Fsend_string_to_terminal): Update call to
11129 `get_tty_terminal'.
11130 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 11131 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
11132 FRAME_TERMCAP_P and FRAME_TTY.
11133 (window_change_signal): Don't believe width/height values that are
11134 impossibly small.
11135 (Vinitial_window_system): Rename from Vwindow_system.
11136 (termscript, Wcm, rif): Delete.
11137
11138 * termhooks.h (struct terminal): New struct containing the
11139 previously global text display hooks and new members NAME,
11140 DELETED and PARAM_ALIST.
11141 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
11142 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
11143 (FRAME_RIF): New macros.
11144 (get_terminal_param, get_device): New declarations.
11145 (termscript): Delete declaration.
11146
11147 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
11148 (XTflash, x_free_frame_resources, x_scroll_bar_create)
11149 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
11150 FRAME_FOREGROUND_PIXEL.
11151 (x_fully_uncatch_errors): Disable definition.
11152 (x_scroll_bar_expose): Fix reference to foreground pixel.
11153 (XTread_socket): Disable loop on all X displays.
11154 (x_delete_terminal): Don't set terminal->deleted and let
11155 delete_terminal delete the frames on the terminal.
11156 (x_delete_display): Doc update to reflect changes in
11157 delete_terminal.
11158 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
11159 (deleting_tty): Remove old variable.
11160 (Fsuspend_tty): Call clear_tty_hooks.
11161 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
11162 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
11163 errors on X frames.
11164 (x_catch_errors_unwind): Abort if x_error_message is NULL.
11165 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 11166 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
11167 (XTset_terminal_modes, XTreset_terminal_modes)
11168 (XTread_socket, x_connection_closed, x_term_init)
11169 (x_term_init, x_delete_display): Add terminal parameter.
11170 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
11171 X connections.
11172
bf380f53
GM
11173 * frame.c: Include termchar.h.
11174 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
11175 (Qwindow_system, Qenvironment, Qterm_environment_variable)
11176 (Qdisplay_environment_variable): New vars.
11177 (Fframep): Deal with output_initial.
11178 (Fframe-live-p): Doc fix.
11179 (Fwindow-system): New function.
8d9cc0b7
MB
11180 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
11181 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 11182 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 11183 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
11184 (Fmake_terminal_frame): Handle NULL tty names correctly.
11185 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
11186 (Fdelete_frame): Remove unused variable `count'. Don't allow other
11187 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 11188 (Fframe_with_environment): New function.
b8866860 11189 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
11190 (get_future_frame_param): New function.
11191 (Fmake_terminal_frame): Use it.
2d33f506 11192 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
11193
11194 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
11195 * sysdep.c (reset_sys_modes): Update for renames.
11196
11197 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 11198 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
11199 (syms_of_keyboard): Defsubr them.
11200 (Fset_input_meta_mode, Fset_quit_char): New functions.
11201 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
11202 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
11203 parameter. Use it in call to `read_char'.
b8866860
SM
11204 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
11205 Set wrong_kboard_jmpbuf correctly in recursive calls.
11206 Use current_kboard to access Vkeyboard_translate_table.
11207 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
11208 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
11209 Update longjmp invocations. Remember the original current_kboard,
11210 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
11211 changes it. Comment out unnecessary calls to
11212 `record_single_kboard_state' and `any_kboard_state'.
11213 Update recursive calls.
8d9cc0b7
MB
11214 (wrong_kboard_jmpbuf): Remove global variable.
11215 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
11216 Handle deleted interrupted_kboards correctly; that is a legal
11217 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 11218 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
11219 (any_kboard_state, single_kboard_state)
11220 (push_frame_kboard): Remove function.
11221 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
11222 been deleted. Remove unused variable. Help debugging by not
11223 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
11224 kboard of the selected frame when the stored kboard object has
11225 been deleted before pop_kboard.
11226 (temporarily_switch_to_single_kboard): Change first parameter to a
11227 frame pointer. Throw an error when caller wants to change kboards
11228 while in single_kboard mode. Don't push_kboard if we weren't in
11229 single kboard state. Don't pop_kboard if we popped into any
11230 kboard state.
11231 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 11232 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
11233 up single_kboard mode.
11234 (Frecursive_edit): Switch to single_kboard mode only in nested
11235 command loops.
b8866860
SM
11236 (cmd_error, command_loop, command_loop_1, timer_check):
11237 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
11238 `record_single_kboard_state'.
11239 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 11240 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
11241 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
11242 `fatal_error_signal'.
11243 (record_single_kboard_state): Don't push_kboard if we weren't in
11244 single kboard state. Don't pop_kboard if we popped into any
11245 kboard state.
11246 (push_frame_kboard): Rename to push_kboard.
11247 (kbd_buffer_get_event): Use FRAME_TERMINAL.
11248 (read_avail_input): Read input from all terminals.
11249 (mark_kboards): Also mark Vkeyboard_translate_table.
11250 (kbd_buffer_store_event_hold): Simplify condition.
11251 (read_key_sequence): Reinitialize fkey and keytran at each replay.
11252 (Vkeyboard_translate_table): Move to struct kboard.
11253 (init_kboard): Initialize Vkeyboard_translate_table.
11254 (syms_of_keyboard): Use DEFVAR_KBOARD to define
11255 Vkeyboard_translate_table. Update doc strings. Update docs of
11256 local-function-key-map and function-key-map.
11257
11258 * terminal.c: New file.
11259
11260 * term.c: Include errno.h.
11261 (Vring_bell_function, device_list, initial_device)
11262 (next_device_id, ring_bell, update_begin, update_end)
11263 (set_terminal_window, cursor_to, raw_cursor_to)
11264 (clear_to_end, clear_frame, clear_end_of_line)
11265 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
11266 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
11267 (syms_of_term): Move their initialization to terminal.c.
11268 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
11269 (Ftty_display_color_cells)
11270 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 11271 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
11272 (init_tty, maybe_fatal): New functions.
11273 (Ftty_type): Return nil if terminal is not on a tty instead of
11274 throwing an error. Doc update.
11275 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 11276 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
11277 (delete_tty): Use terminal->deleted.
11278 (tty_set_terminal_modes): Rename from set_terminal_modes.
11279 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
11280 (set_scroll_region): Rename to `tty_set_scroll_region'.
11281 (turn_on_insert): Rename to `tty_turn_on_insert'.
11282 (turn_off_insert): Rename to `tty_turn_off_insert'.
11283 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
11284 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
11285 (toggle_highligh): Rename to `tty_toggle_highlight'.
11286 (background_highlight): Rename to `tty_background_highlight'.
11287 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
11288 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
11289 (tty_set_scroll_region, tty_background_highlight)
11290 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
11291 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
11292 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
11293 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
11294 Add static modifier.
11295 (tty_reset_terminal_modes, tty_set_terminal_window)
11296 (tty_set_scroll_region, tty_background_highlight)
11297 (tty_highlight_if_desired, tty_cursor_to)
11298 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
11299 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
11300 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
11301 renames.
11302
880820fe 113032007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
11304
11305 * keyboard.c: Qrtl is new.
11306 (parse_tool_bar_item): Handle :rtl keyword.
11307 (syms_of_keyboard): Intern :rtl keyword.
11308
11309 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
11310
11311 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
11312 so no Lisp code is executed.
11313 (file_for_image, find_rtl_image): New functions.
1f204af3 11314 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
11315 (update_frame_tool_bar): If direction is RTL, use RTL image if
11316 defined. Use Gtk stock images if defined.
11317
83cc8d35
YM
113182007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11319
11320 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
11321 for nonexistent or zero-width glyph in composition glyph.
11322
e60c4e15
SM
113232007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
11324
d7e2a28f
SM
11325 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
11326
e60c4e15
SM
11327 * xdisp.c (Finvisible_p): New function.
11328 (syms_of_xdisp): defsubr it.
11329
ee163e6d
JB
113302007-08-24 Juanma Barranquero <lekktu@gmail.com>
11331
11332 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
11333 Doc fixes.
11334
90fa408d
YM
113352007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11336
35277b03 11337 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 11338
cac4219c
MR
113392007-08-24 Martin Rudalics <rudalics@gmx.at>
11340
11341 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
11342 whether decoding has modified buffer contents.
11343
5fc9fdeb
JR
113442007-08-24 Jason Rumney <jasonr@gnu.org>
11345
11346 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
11347 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
11348 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
11349 (init_svg_functions) [HAVE_NTGUI]: New function.
11350 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
11351 (svg_load_image): Use them.
11352 (svg_load_image) [HAVE_NTGUI]: Implement background.
11353
93b23406
YM
113542007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11355
11356 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
11357 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
11358 (LIBX): Remove @RSVG_LIBS@.
11359 (LIBES): Add $(RSVG_LIBS).
11360
11361 * image.c (svg_load_image): Blend with specified background if exists.
11362 Use IMAGE_BACKGROUND. Add Mac OS Support.
11363
11364 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
11365 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
11366 Remove macros.
11367 [MAC_OSX] (socket_callback): Do nothing.
11368 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
11369 ReceiveNextEvent.
11370 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
11371 socket_callback.
11372 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
11373
2467875c
GM
113742007-08-22 Glenn Morris <rgm@gnu.org>
11375
ff8da443 11376 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 11377
4ab27a43
GM
113782007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
11379
11380 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 11381
666e0eda
GM
11382 * image.c: Add support for SVG images. Some additional comments
11383 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
11384 (svg_image_p): New function to test for SVG image.
11385 (svg_load): New function to load SVG image.
11386 (svg_load_image): New function, helper for svg_load.
11387 (Qsvg): New Lisp_object.
11388 (svg_keyword_index): New enum.
11389 (svg_format): New static `image_keyword' struct.
11390 (svg_type): New static `image_type' struct.
11391 (librsvg/rsvg.h): Include it.
4ab27a43 11392
b636b4c1
SM
113932007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
11394
11395 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
11396
9ecb827b
SM
113972007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
11398
1d064697
SM
11399 * lread.c (Qold_style_backquotes): New var.
11400 (syms_of_lread): Init and staticpro it.
11401 (load_warn_old_style_backquotes): New fun.
11402 (Fload): Use them to warn about old style backquotes.
11403 (end_of_file_error, Fload): Remove unused vars.
11404
5772ed4b
SM
11405 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
11406
9ecb827b 11407 * lread.c (Vold_style_backquotes): New var.
5aa273b0 11408 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
11409 (read1): Set it when we find an old-style (back)quote.
11410
32e1c7b1
JR
114112007-08-22 Jason Rumney <jasonr@gnu.org>
11412
11413 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
11414
b8fa755b
KY
114152007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
11416
11417 * puresize.h (BASE_PURESIZE): Increase to 1140000.
11418
1283140e
RS
114192007-08-19 Richard Stallman <rms@gnu.org>
11420
11421 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
11422
2c4685ee
AS
114232007-08-19 Andreas Schwab <schwab@suse.de>
11424
11425 * alloc.c (pure): Round PURESIZE up.
11426
880820fe 114272007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
11428
11429 * xterm.c (handle_one_xevent): Remove check that mouse click is in
11430 active frame.
11431
6e33efc4
RS
114322007-08-16 Richard Stallman <rms@gnu.org>
11433
11434 * eval.c (Fcommandp): Add parens to clarify.
11435
11436 * minibuf.c (Fall_completions): Use enum for type of table.
11437
11438 * emacs.c (USAGE2): Improve text.
11439
fcf8ff2e
GM
114402007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
11441
5205ee62
GM
11442 * term.c (tty_default_color_capabilities): Declare static
11443 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 11444
880820fe 114452007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
11446
11447 * gtkutil.c (update_frame_tool_bar): Use -1 as index
11448 to gtk_toolbar_insert.
11449
4a181359
SM
114502007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
11451
1bc99c9c
SM
11452 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
11453
4a181359
SM
11454 * insdel.c (reset_var_on_error): New fun.
11455 (signal_before_change, signal_after_change):
11456 Use it to reset (after|before)-change-functions to nil in case of error.
11457 Bind inhibit-modification-hooks to t.
11458 Don't bind (after|before)-change-functions to nil while they run.
11459
6c28435c
YM
114602007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11461
11462 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
11463 filling pixmap with stippled background.
11464
ad3b3e02
YM
114652007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11466
11467 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
11468 Don't use invisible frame as parent window for repositioning.
11469
a22dec27
SM
114702007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
11471
11472 * print.c (new_backquote_output): Rename from old_backquote_output.
11473 (print): Inverse its logic (according to its name) so as to match the
11474 behavior of new_backquote_flag in lread.c.
11475
7b7d07bb
YM
114762007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11477
11478 * gmalloc.c (posix_memalign): New function.
11479
11480 * macterm.c (frame_highlight, frame_unhighlight): Don't call
11481 ActivateControl/DeactivateControl here.
11482 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
11483 frame-notice-user-settings is non-nil.
11484 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
11485 for kEventParamFMFontStyle.
11486 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
11487 mac_pass_command_to_system and mac_pass_control_to_system here.
11488 (XTread_socket): Call ActivateControl/DeactivateControl here.
11489 (XTread_socket) [TARGET_API_MAC_CARBON]:
11490 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
11491 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
11492 for window repositioning.
7b7d07bb 11493
22e9fe24
GM
114942007-08-08 Glenn Morris <rgm@gnu.org>
11495
11496 * Replace `iff' in doc-strings and comments.
11497
ae494350
CY
114982007-08-07 Chong Yidong <cyd@stupidchicken.com>
11499
11500 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
11501
6f2528d8
MR
115022007-08-07 Martin Rudalics <rudalics@gmx.at>
11503
11504 * fileio.c (Finsert_file_contents): Run format-decode and
11505 after_insert_file_functions on entire buffer when REPLACE is
11506 non-nil and inhibit modification_hooks and point_motion_hooks.
11507 For consistency, run after_insert_file_functions iff something
11508 got inserted. Move signal_after_change and update_compositions
11509 after code running after_insert_file_functions. Make sure that
6b8e474c 11510 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 11511
3ceeb306
YM
115122007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11513
11514 * emacs.c (main)
11515 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
11516 Call malloc_enable_thread on interactive startup.
11517
11518 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
11519 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
11520 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
11521 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
11522 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
11523 New functions.
11524
ca5e6fd5
CY
115252007-08-06 Chong Yidong <cyd@stupidchicken.com>
11526
32bfce5d
CY
11527 * xdisp.c (redisplay_window): When restoring original buffer
11528 position, make sure it is still valid.
11529
ca5e6fd5
CY
11530 * image.c (png_load): Ignore png-supplied background color.
11531
a5b11587
YM
115322007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11533
11534 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
11535 Use kCFAbsoluteTimeIntervalSince1970.
11536
11537 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
11538 New variable.
11539 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
11540 event loop should be quit.
11541 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
11542 Quit dialog event loop if quit_dialog_event_loop is set.
11543
11544 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
11545 (Selection): New typedef. Use instead of ScrapRef.
11546 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
11547 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
11548 (mac_clear_selection): Rename from clear_scrap.
11549 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 11550 scrap_has_target_type. All uses changed.
a5b11587
YM
11551 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
11552 (mac_selection_has_target_p): New functions.
11553 (mac_put_selection_value): Rename from put_scrap_string.
11554 (mac_get_selection_value): Rename from get_scrap_string.
11555 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
11556 (put_scrap_private_timestamp, scrap_has_target_type)
11557 (get_scrap_private_timestamp): Remove functions.
11558 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
11559 (x_own_selection, x_get_local_selection):
11560 Use mac_valid_selection_value_p.
11561 (x_own_selection): Don't use put_scrap_private_timestamp.
11562 Record OWNERSHIP-INFO into Vselection_alist instead.
11563 (x_get_local_selection): Don't check type if request is local.
11564 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
11565 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
11566
880820fe 115672007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
11568
11569 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
11570 add comment explaining why.
11571
73ff9d42
RS
115722007-08-03 Richard Stallman <rms@gnu.org>
11573
11574 * fileio.c (Fvisited_file_modtime): Use make_time.
11575
54ed9a2d 115762007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
11577
11578 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
11579 build.
11580
65a9c8e2
SM
115812007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
11582
11583 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
11584
c5925799
KY
115852007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
11586
11587 * puresize.h (BASE_PURESIZE): Increase to 1130000.
11588
adef3de7
RS
115892007-07-30 Richard Stallman <rms@gnu.org>
11590
11591 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
11592
880820fe 115932007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
11594
11595 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
11596
a10421a1
NR
115972007-07-28 Nick Roberts <nickrob@snap.net.nz>
11598
11599 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
11600 remote default-directory.
11601
11602 * buffer.c (mode-line-format): Update doc string.
11603
0cb1ae20
YM
116042007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11605
11606 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
11607 scroll bar gap.
11608 (x_scroll_bar_create): Set bar->fringe_extended_p.
11609 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
11610 on frame edge. Check fringe background extension. Don't clear
11611 extended fringe background area.
11612
11613 * w32term.h (struct scroll_bar): New member fringe_extended_p.
11614 (w32_fill_area): Enclose multiple statements with do ... while (0).
11615
11616 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
11617 Extend fringe background to scroll bar gap.
11618 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
11619 Set bar->fringe_extended_p.
11620 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11621 Put leftmost/rightmost scroll bars on frame edge. Check fringe
11622 background extension. Don't clear extended fringe background area.
11623
11624 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11625 New member fringe_extended_p.
11626
cacc7b51
GM
116272007-07-25 Glenn Morris <rgm@gnu.org>
11628
11629 * Relicense all FSF files to GPLv3 or later.
11630
11631 * COPYING: Switch to GPLv3.
11632
89835619
SM
116332007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11634
c4f46926
SM
11635 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
11636
11637 * data.c (Finteractive_form): Check for the presence of an
11638 `interactive-form' symbol property more thoroughly.
11639
11640 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
11641 present, analogous to the function-documentation property.
11642
ee04257d
JR
116432007-07-24 Jason Rumney <jasonr@gnu.org>
11644
11645 * w32fns.c (x_real_positions): Get real position from OS instead of
11646 calculating it.
11647
50624218
JR
116482007-07-23 Jason Rumney <jasonr@gnu.org>
11649
11650 * filelock.c (current_lock_owner): Allow for @ sign in username.
11651
3650f60e
NR
116522007-07-22 Nick Roberts <nickrob@snap.net.nz>
11653
11654 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
11655 remote default-directory.
11656
11657 * buffer.c (mode-line-format): Describe above case in doc string.
11658
1e899515 116592007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 11660
75be5258
EZ
11661 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
11662 Define if not defined.
11663
2b6e2f4d
JR
116642007-07-18 Jason Rumney <jasonr@gnu.org>
11665
11666 * w32proc.c (w32_executable_type): Handle 64 bit executables.
11667
23dacf80
JB
116682007-07-18 Richard Stallman <rms@gnu.org>
11669
11670 * data.c (Fsetq_default): Doc fix.
11671
11672 * eval.c (Fsetq): Doc fix.
11673
116742007-07-18 Juanma Barranquero <lekktu@gmail.com>
11675
11676 * coding.c (Ffind_operation_coding_system):
11677 * eval.c (For, Fand): Doc fixes.
880820fe 11678 Reported by Johan Bockgård.
23dacf80 11679
880820fe 116802007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 11681
23dacf80 11682 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 11683
23dacf80 11684 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
11685
11686 * xterm.c (x_ewmh_activate_frame): New function.
11687 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
11688
71ec17e6
MR
116892007-07-17 Martin Rudalics <rudalics@gmx.at>
11690
11691 * window.c (Fdisplay_buffer): If largest or LRU window is the
11692 only window, split it even if it is not eligible for splitting.
11693 This restores the original behavior broken by the 2007-07-15
11694 change.
11695
e9818042
GM
116962007-07-17 Glenn Morris <rgm@gnu.org>
11697
11698 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
11699 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11700 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
11701 constituents. Doc fix.
11702
e6fca843
SM
117032007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
11704
11705 * process.c (Fstart_process, Fmake_network_process)
11706 (read_process_output): Fix up last changes.
11707
b5d2b4ab
EZ
117082007-07-16 Eli Zaretskii <eliz@gnu.org>
11709
11710 * makefile.w32-in (clean): Don't delete *~.
11711
413a79ad
AS
117122007-07-16 Andreas Schwab <schwab@suse.de>
11713
11714 * window.c (Fdisplay_buffer): Use NILP.
11715 (Fset_window_scroll_bars): Likewise.
11716
f1de8c77
MR
117172007-07-15 Martin Rudalics <rudalics@gmx.at>
11718
11719 * window.c (window_min_size_2): New function.
11720 (window_min_size_1, size_window, Fdisplay_buffer)
11721 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
11722 windows without mode- or header-lines when window-min-height is
11723 too small.
11724 (size_window): Reset nodelete_p after testing it, following an
11725 earlier note by Kim F. Storm.
11726 (display_buffer): Do not set split_height_threshold to twice the
11727 value of window_min_height to avoid changing the value of a
11728 customizable variable. Rather explicitly check whether the
11729 height of the window that shall be splitted is at least as large
11730 as split_height_threshold.
1af74d06
MB
11731 (Fwindow_full_width_p): New defun.
11732 (syms_of_window): Defsubr it.
d31053f9 11733
1af74d06 11734 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 11735
5e1ab613
JR
117362007-07-14 Jason Rumney <jasonr@gnu.org>
11737
11738 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
11739
f01cbfdd
RS
117402007-07-14 Richard Stallman <rms@gnu.org>
11741
11742 * eval.c (maybe_call_debugger): New function.
11743 (find_handler_clause): Use maybe_call_debugger.
11744 Call it when the handler says `debug'.
11745 Eliminate DEBUGGER_VALUE_PTR.
11746 (Fsignal): Eliminate debugger_value.
11747 (Qdebug): New variable.
11748 (syms_of_eval): Initialize it.
11749
1bab435a
JB
117502007-07-14 Juanma Barranquero <lekktu@gmail.com>
11751
11752 * eval.c (Fprogn):
11753 * keyboard.c (Ftrack_mouse):
11754 * print.c (Fwith_output_to_temp_buffer):
11755 * window.c (Fsave_window_excursion): Doc fix.
11756
be436d23
SM
117572007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
11758
11759 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
11760
60f0fb11
SM
117612007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
11762
11763 * process.h (struct Lisp_Process): Turn slots infd, outfd,
11764 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
11765 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
11766 read_output_delay, and read_output_skip from Lisp_Objects to ints.
11767 Remove unused encoding_carryover.
11768 * process.c: Adjust all functions accordingly.
11769
d8b18043
RS
117702007-07-12 Richard Stallman <rms@gnu.org>
11771
11772 * term.c: Include unistd.h only if HAVE_UNISTD_H.
11773
d5781bb6
JR
117742007-07-11 Jason Rumney <jasonr@gnu.org>
11775
11776 * makefile.w32-in (LIBS): Include OLE32.
11777
11778 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
11779 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
11780
5bb7dfee
SM
117812007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
11782
11783 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
11784 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
11785 from a Lisp_Object into a bare pointer.
11786 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11787 Adjust the code correspondingly.
11788
11789 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
11790
11791 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
11792 (term_show_mouse_face): Remove unused var `j'.
11793 (handle_one_term_event): Remove unused vars `i' and `j'.
11794 Don't cast return value of ttyname since it's not necessary.
11795
a1be1ce8
SM
117962007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
11797
5045e68e
SM
11798 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
11799 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
11800
8071c00f
SM
11801 * fns.c (map_char_table): Use an array of int for `indices' rather than
11802 an array of Lisp_Objects (which are only ever integers anyway).
11803 (Fmap_char_table): Update caller.
11804 * lisp.h: Update prototype.
11805 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
11806 * fontset.c (Ffontset_info):
11807 * casetab.c (set_case_table): Update callers.
11808
11809 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
11810
fab84e3c
SM
11811 * keymap.c (struct accessible_keymaps_data)
11812 (struct where_is_internal_data): New structures.
11813 (accessible_keymaps_1, where_is_internal_1): Use them to change
11814 interface to adhere to the one used by map_keymap.
11815 (Faccessible_keymaps, where_is_internal): Use map_keymap.
11816 (accessible_keymaps_char_table, where_is_internal_2): Remove.
11817
a1be1ce8
SM
11818 * keymap.h (map_keymap_function_t): More informative prototype.
11819
ef887810
RS
118202007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
11821
11822 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
11823 (looking_at_1): Don't change search_regs and last_thing_searched
11824 if `inhibit-changing-match-data' is non-nil.
11825 (string_match_1, search_buffer, set_search_regs): Likewise.
11826 (syms_of_search): Add Lisp level definition for
11827 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
11828 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
11829 start and end of the match, instead of using values in search_regs.
ef887810 11830
4d02fc25
SM
118312007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
11832
11833 * minibuf.c (Fcompleting_read): New value `confirm-only'
11834 for `require-match'.
11835
fe45b81f
SM
118362007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
11837
11838 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
11839 part of the 2007-06-27 change to syms_of_fileio.
11840
a56dd283
YM
118412007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11842
11843 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
11844 Check WINDOWP before using XWINDOW. Consolidate return statements.
11845
0cf9f5b5
RS
118462007-06-27 Richard Stallman <rms@gnu.org>
11847
11848 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
11849
a66f285a
JB
118502007-06-27 Juanma Barranquero <lekktu@gmail.com>
11851
11852 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
11853
8d0d84d2
YM
118542007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11855
11856 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
11857 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
11858 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
11859 (_free_internal, memalign): Use them.
11860 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
11861 Initialize to PTHREAD_MUTEX_INITIALIZER.
11862 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
11863 (morecore_nolock): Rename from morecore. All uses changed.
11864 Use only nolock versions of internal allocation functions.
11865 (_malloc_internal_nolock, _realloc_internal_nolock)
11866 (_free_internal_nolock): New functions created from
11867 _malloc_internal, _realloc_internal, and _free_internal.
11868 (_malloc_internal, _realloc_internal, _free_internal): Use them.
11869 Copy hook value to automatic variable before its use.
11870 (memalign): Copy hook value to automatic variable before its use.
11871
5a0bbd9a
KH
118722007-06-26 Kenichi Handa <handa@m17n.org>
11873
11874 * coding.c (Ffind_operation_coding_system): Docstring improved.
11875 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
11876
9a51747b
DK
118772007-06-25 David Kastrup <dak@gnu.org>
11878
11879 * keymap.c (Fcurrent_active_maps): Add `position' argument.
11880 (Fwhere_is_internal): Adjust call to `current-active-maps' to
11881 cater for additional parameter.
11882
11883 * keymap.h: Adjust number of parameters to `current-active-maps'.
11884
11885 * doc.c (Fsubstitute_command_keys): Adjust call of
11886 `current-active-maps'.
11887
e4305426
DK
118882007-06-25 David Kastrup <dak@gnu.org>
11889
11890 * callint.c (Fcall_interactively): Make the parsing of interactive
11891 specs somewhat more readable.
11892
511a18d9
YM
118932007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11894
11895 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
11896 to scroll bar gap also when bitmap fills fringe. Draw only foreground
11897 if extended background has already been filled.
11898
512eb161
YM
118992007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11900
11901 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
11902 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
11903
11904 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
11905 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
11906 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
11907 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
11908 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
11909 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
11910 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
11911 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
11912 Run timers during dialog popup.
11913 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
11914
2386b1f1
JR
119152007-06-21 Jason Rumney <jasonr@gnu.org>
11916
11917 * image.c (convert_mono_to_color_image): Swap fore and background.
11918
fab8b787
JR
119192007-06-20 Jason Rumney <jasonr@gnu.org>
11920
11921 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
11922 (w32_free_bdf_font): Unmap memory not handle.
11923
15bdd7a0 119242007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
11925
11926 * gmalloc.c (__morecore): Fix the declaration to comply with the
11927 definition.
11928
1bb8a291
JB
119292007-06-20 Juanma Barranquero <lekktu@gmail.com>
11930
11931 * w32term.c (w32_delete_display): Remove leftover declaration.
11932 (w32_define_cursor, w32_initialize): Make static.
11933
11934 * w32.c (_wsa_errlist): Fix typo in error message.
11935 (init_environment): Ignore any environment variable from the
11936 registry having a null value.
11937
92648dea
GM
119382007-06-20 Glenn Morris <rgm@gnu.org>
11939
11940 * Makefile.in (LIBGIF): Default to -lgif.
11941
ff25d115
JR
119422007-06-17 Jason Rumney <jasonr@gnu.org>
11943
11944 * w32menu.c (add_menu_item): Don't use multibyte string functions on
11945 unicode strings.
11946
a1a578a5
JB
119472007-06-16 Juanma Barranquero <lekktu@gmail.com>
11948
11949 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
11950 Fix typo in docstring.
11951
af41f8a8
EZ
119522007-06-16 Eli Zaretskii <eliz@gnu.org>
11953
11954 * w32menu.c (add_menu_item): Escape `&' characters in menu items
11955 and their keybindings.
11956
8b29cab9
CY
119572007-06-15 Chong Yidong <cyd@stupidchicken.com>
11958
11959 * composite.c (update_compositions): Fix last fix.
11960
c433c134
JR
119612007-06-14 Jason Rumney <jasonr@gnu.org>
11962
11963 * w32.c (get_process_times_fn): New function pointer.
11964 (globals_of_w32): Intialize it if present in kernel32.dll.
11965 (w32_get_internal_run_time): New function.
11966
11967 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
11968
553d3164
KH
119692007-06-14 Kenichi Handa <handa@etlken.m17n.org>
11970
11971 * composite.c (update_compositions): Check the validness of
11972 compositions.
11973
446ba96f
YM
119742007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11975
11976 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
11977 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
11978
11979 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
11980 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
11981
11982 * macgui.h (USE_MAC_TOOLBAR): New define.
11983
11984 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
11985 Return immediately unless popup is activated.
11986
11987 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
11988 background to scroll bar gap.
11989 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
11990 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
11991 scroll bars on frame edge. Check fringe background extension.
11992 Don't clear extended fringe background area.
11993 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
11994 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
11995 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
11996 [USE_MAC_TOOLBAR]: New macros.
11997 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
11998 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
11999 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
12000 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
12001 [USE_MAC_TOOLBAR]: New functions.
12002 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
12003 manually if previous repositioning has failed.
12004 (mac_handle_keyboard_event): Use precomputed event kind.
12005 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
12006 as tool bar item click. Handle mouse movement over tool bar items.
12007
12008 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
12009 toolbar_win_gravity.
12010 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
12011 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
12012 Add externs.
12013
12014 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
12015 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
12016
9720173f
CY
120172007-06-14 Chong Yidong <cyd@stupidchicken.com>
12018
12019 * image.c (search_image_cache): Remove unused variable.
12020
1217dd00
CY
120212007-06-13 Chong Yidong <cyd@stupidchicken.com>
12022
12023 * xfns.c, xmenu.c: Link to xaw3d if available.
12024
c5b8e0ea
YM
120252007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12026
12027 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
12028 frame_foreground and frame_background.
12029
12030 * image.c (lookup_image): Save frame foreground and background colors.
12031 (search_image_cache): Check if saved and current frame colors match.
12032
c69b0314
SM
120332007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
12034
12035 * regex.c (regex_compile): Remove the `regnum' counter.
12036 Use bufp->re_nsub instead. Add support for \(?N:RE\).
12037
c9612b8e
SM
120382007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
12039
12040 * term.c: Include intervals.h to declare Fget_text_property.
12041
843d2458
JR
120422007-06-10 Jason Rumney <jasonr@gnu.org>
12043
12044 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
12045
1e0d2d60 120462007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
12047
12048 * callint.c (Fcall_interactively):
12049 * editfns.c (Fdelete_and_extract_region):
12050 * fileio.c (Fread_file_name):
12051 * fns.c (Fmapconcat):
12052 * keyboard.c (cmd_error_internal):
12053 * keymap.c (Fkey_description):
12054 * lread.c (openp):
12055 * minibuf.c (read_minibuf):
12056 * search.c (wordify):
12057 * sunfns.c (sel_read):
12058 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
12059 * xfns.c (x_default_scroll_bar_color_parameter):
12060 * xmenu.c (menu_help_callback):
12061 * xselect.c (Fx_get_atom_name):
12062 * xterm.c (x_term_init): Use empty_unibyte_string.
12063
15bdd7a0 120642007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
12065
12066 * alloc.c (init_strings): Initialize canonical empty strings.
12067 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
12068 canonical empty string when the requested size is 0.
12069
12070 * emacs.c (empty_unibyte_string): Rename from empty_string.
12071 (empty_multibyte_string): New canonical empty string.
12072 (syms_of_emacs): Don't initialize empty_string.
12073
12074 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
12075 string, if appropriate.
12076 (empty_unibyte_string, empty_multibyte_string): New externs.
12077 (empty_string): Remove extern.
12078
12079 * lread.c (syms_of_lread): Use empty_unibyte_string.
12080
42c4c67a
JR
120812007-06-07 Jason Rumney <jasonr@gnu.org>
12082
12083 * s/ms-w32.h: Don't define HAVE_TZNAME.
12084
12085 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
12086
aa8280d3
YM
120872007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12088
12089 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
12090
12091 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
12092 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
12093
12094 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12095 Don't call next handler.
12096 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
12097 Remove argument. Install handler to application.
12098 (set_frame_menubar): Don't change deep_p.
1e0d2d60 12099 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
12100 FRAME_OUTER_TO_INNER_DIFF_Y.
12101 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
12102 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
12103 [HAVE_DIALOGS]: New macros.
12104 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
12105 Use them.
12106 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
12107
12108 * macselect.c [MAC_OSX] (install_service_handler): Rename from
12109 init_service_handler. All callers changed. Return OSStatus value.
12110
12111 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
12112 All callers changed so as not to call SetPortWindowPort.
12113 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
12114 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
12115 mac_draw_string_common.
12116 (mac_draw_image_string_qd): Likewise.
12117 (mac_draw_string_common): Use them. Add INLINE.
12118 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
12119 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
12120 GetGlobalMouse.
12121 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
12122 and FRAME_OUTER_TO_INNER_DIFF_Y.
12123 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
12124 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
12125 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
12126 repositioning window to mac_handle_window_event.
12127 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
12128 saving window location to mac_handle_window_event
12129 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
12130 (install_menu_target_item_handler): Remove argument in extern.
12131 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
12132 Also accept command events.
12133 (do_keystroke): New function created from XTread_socket.
12134 (init_command_handler): Remove functions.
12135 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
12136 and save window location by kEventWindowShowing and kEventWindowHiding
12137 handlers here. Don't call next handler for window state change and
12138 focus events.
12139 (mac_handle_application_event, mac_handle_keyboard_event)
12140 [TARGET_API_MAC_CARBON]: New functions.
12141 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
12142 kEventWindowShowing and kEventWindowHiding events. Move installation
12143 of mouse, font, text input and menu target item handlers to
12144 install_application_handler.
12145 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
12146 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12147 New function.
12148 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12149 Register it.
c9612b8e
SM
12150 (XTread_socket) [TARGET_API_MAC_CARBON]:
12151 Consolidate SendEventToEventTarget calls.
12152 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
12153 Move application activation handler to mac_handle_application_event.
12154 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
12155 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
12156 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
12157 init_command_handler. Call install_application_handler.
12158
12159 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
12160 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
12161
6926c954
GM
121622007-06-07 Glenn Morris <rgm@gnu.org>
12163
12164 * emacs.c (main): Use `emacs-copyright' in --version output.
12165
6fe04c89
CY
121662007-06-06 Chong Yidong <cyd@stupidchicken.com>
12167
c9612b8e 12168 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 12169
7eb0d727
YM
121702007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12171
12172 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
12173
12174 * macgui.h: Replace WindowPtr with WindowRef.
12175
12176 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12177 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12178 Replace ControlHandle with ControlRef.
12179 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
12180
12181 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12182 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12183 Replace ControlHandle with ControlRef.
12184 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
12185 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
12186
12187 * macterm.h (struct scroll_bar): Rename member control_handle_low
12188 and control_handle_high to control_ref_low and control_ref_high.
12189 All uses changed.
12190 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
12191 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
12192 respectively. All uses changed.
12193 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
12194 (install_window_handler, remove_window_handler): Replace WindowPtr
12195 with WindowRef in externs.
12196
65fddb74
JB
121972007-06-05 Juanma Barranquero <lekktu@gmail.com>
12198
12199 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
12200
db1213a9
NR
122012007-06-03 Nick Roberts <nickrob@snap.net.nz>
12202
12203 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
12204
65fddb74 12205 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
12206 Condition on HAVE_GPM too.
12207
12208 * term.c (term_mouse_highlight): Remove unused variables.
12209 (Fterm_open_connection): Set gpm_zerobased to 1.
12210 (term_mouse_movement, term_mouse_click, handle_one_term_event):
12211 Use zero based co-ordinates.
12212 (handle_one_term_event): Report a drag as mouse movement too.
12213
12214 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
12215
d94df25b
CY
122162007-06-03 Chong Yidong <cyd@stupidchicken.com>
12217
12218 * image.c (search_image_cache): New function. Require background
12219 color match if background color is unspecified in the image spec.
12220 (uncache_image, lookup_image): Use it.
12221
4797b6d9
JB
122222007-06-01 Juanma Barranquero <lekktu@gmail.com>
12223
12224 * window.c (Fshrink_window): Reflow docstring.
12225
1ffe7343
NR
122262007-06-02 Chong Yidong <cyd@stupidchicken.com>
12227
12228 * Version 22.1 released.
12229
122302007-06-01 Richard Stallman <rms@gnu.org>
12231
12232 * xfns.c (x_encode_text): Add GCPRO.
12233
122342007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12235
12236 * xfns.c (x_set_name_internal): Save encoded name before
12237 x_encode_text in case string data is relocated.
12238
122392007-05-31 Richard Stallman <rms@gnu.org>
12240
12241 * buffer.c (syms_of_buffer): Doc fix.
12242
122432007-05-30 Nick Roberts <nickrob@snap.net.nz>
12244
12245 * sysdep.c (init_sys_modes): Add rather than replace with
12246 O_NONBLOCK.
12247
12248 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
12249 term_mouse_moveto.
12250
12251 * termhooks.h (term_mouse_moveto): New extern.
12252
12253 * term.c (mouse_face_window): Rename...
12254 (Qmouse_face_window): ...to this.
12255 (term_show_mouse_face, term_clear_mouse_face)
12256 (term_mouse_highlight): Use Qmouse_face_window.
12257 (term_mouse_moveto): New function.
12258 (term_mouse_position): Make it work.
12259 (syms_of_term): Uncomment assignment to mouse_position_hook.
12260 Staticpro Qmouse_face_window.
12261
122622007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12263
12264 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
12265 around current_column call.
12266
122672007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
12268
12269 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
12270 * xdisp.c (next_element_from_buffer):
12271 * window.c (delete_window):
12272 * term.c (term_mouse_highlight):
12273 * msdos.c (getdefdir):
12274 * macterm.c (mac_create_bitmap_from_bitmap_data)
12275 (init_font_name_table):
12276 * fns.c (Fsxhash):
12277 * data.c (Fmake_local_variable):
12278 * ccl.c (ccl_driver): Likewise.
12279
122802007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12281
12282 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
12283 Call mac_wakeup_from_rne on window size change.
12284
122852007-05-25 Chong Yidong <cyd@stupidchicken.com>
12286
12287 * image.c (uncache_image): Fix typo.
12288
122892007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
12290
12291 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
12292
122932007-05-22 Richard Stallman <rms@gnu.org>
12294
12295 * xterm.c (x_connection_closed): Remove NO_RETURN.
12296
122972007-05-22 Martin Rudalics <rudalics@gmx.at>
12298
12299 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
12300
123012007-05-21 Chong Yidong <cyd@stupidchicken.com>
12302
12303 * image.c (uncache_image): New function.
12304 (Fimage_refresh): New function.
12305
880820fe 123062007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
12307
12308 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
12309
123102007-05-20 Nick Roberts <nickrob@snap.net.nz>
12311
12312 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
12313 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
12314
123152007-05-20 Nick Roberts <nickrob@snap.net.nz>
12316
12317 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
12318 conditional on [HAVE_GPM_H].
12319
123202007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
12321
12322 * syntax.c (skip_chars): Update syntax-table only after we checked that
12323 the new location is valid.
12324
123252007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12326
12327 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
12328 mac_get_window_bounds.
12329
123302007-05-20 Nick Roberts <nickrob@snap.net.nz>
12331
12332 * Makefile.in (LIBGPM): Allow it to be set from configure.
12333 If set then link Emacs with it.
12334
12335 * config.in: Regenerate.
12336
12337 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
12338 New externs.
12339
12340 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
12341 Include gpm.h.
12342 (handle_one_term_event, term_gpm): New externs.
12343
12344 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
12345 and allow it to be interrupted by SIGIO.
12346
12347 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
12348 (wait_reading_process_output): Wait on gpm_fd too.
12349 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
12350 (add_gpm_wait_descriptor_called_flag): New variable.
12351 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
12352
12353 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
12354 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
12355 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
12356 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
12357 (make_lispy_event): Add case GPM_CLICK_EVENT.
12358 (read_avail_input): Handle mouse input.
12359
12360 * term.c (write_glyphs_with_face): New function.
12361 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
12362 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
12363 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
12364 (mouse_face_face_id, term_gpm, pos_x, pos_y)
12365 (last_mouse_x, last_mouse_y): New variables.
12366 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
12367 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
12368 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
12369 (Fterm_close_connection): New functions.
12370 (term_init): Initialise mouse_face_window.
12371
123722007-05-19 Chong Yidong <cyd@stupidchicken.com>
12373
12374 * xdisp.c (redisplay_window): If first window line is a
12375 continuation line, recompute the new window start instead of
12376 recentering.
12377
123782007-05-18 Glenn Morris <rgm@gnu.org>
12379
12380 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
12381 Suggested by Alfred M. Szmidt <ams@gnu.org>.
12382
123832007-05-17 Glenn Morris <rgm@gnu.org>
12384
12385 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
12386
123872007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12388
12389 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
12390 dead key repeat and up events.
12391
123922007-05-14 Chong Yidong <cyd@stupidchicken.com>
12393
12394 * image.c (pbm_load): Check image size for monochrome pbm.
12395
123962007-05-13 Chong Yidong <cyd@stupidchicken.com>
12397
12398 * xterm.c (XTread_socket): Revert last change.
12399
124002007-05-12 Chong Yidong <cyd@stupidchicken.com>
12401
12402 * image.c (pbm_load): Correctly check image size for greyscale pbm.
12403
12404 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
12405
124062007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12407
12408 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
12409 mixup (YAILOM).
12410
124112007-05-07 Andreas Schwab <schwab@suse.de>
12412
12413 * keymap.c (Flookup_key): Fix typo in last change.
12414
124152007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12416
12417 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
12418 mapping for unibyte strings.
12419
124202007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12421
12422 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
12423 (Fx_popup_dialog) [MAC_OSX]: Likewise.
12424
124252007-04-29 Richard Stallman <rms@gnu.org>
12426
12427 * insdel.c (replace_range): For undo, record insertion first.
12428
124292007-04-29 Andreas Schwab <schwab@suse.de>
12430
12431 * lisp.h (VECSIZE): Use OFFSETOF.
12432
124332007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12434
12435 * xdisp.c (try_window_reusing_current_matrix): Fix number of
12436 disabled lines.
12437
124382007-04-28 Richard Stallman <rms@gnu.org>
12439
12440 * lread.c (read_escape): In a string, \s is always space.
12441
880820fe 124422007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
12443
12444 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
12445
12446 * gtkutil.c (xg_update_menubar, create_menus): Create empty
12447 submenu for menu bar items.
12448
382c648d 12449See ChangeLog.10 for earlier changes.
6922b018
KH
12450
12451;; Local Variables:
880820fe 12452;; coding: utf-8
33462dfa 12453;; add-log-time-zone-rule: t
6922b018 12454;; End:
2a34a036 12455
59ce725a 12456 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
12457
12458 This file is part of GNU Emacs.
12459
5a1dde61 12460 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 12461 it under the terms of the GNU General Public License as published by
5a1dde61
GM
12462 the Free Software Foundation, either version 3 of the License, or
12463 (at your option) any later version.
7f6d64f8
GM
12464
12465 GNU Emacs is distributed in the hope that it will be useful,
12466 but WITHOUT ANY WARRANTY; without even the implied warranty of
12467 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12468 GNU General Public License for more details.
12469
12470 You should have received a copy of the GNU General Public License
5a1dde61 12471 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 12472
28f60c3d 12473;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40