*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
0c36bc4e
CY
12008-06-17 Chong Yidong <cyd@stupidchicken.com>
2
3 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
4 unknown-spec list. For known key symbols, intern using correct
5 symbol name.
0c36bc4e 6
70d6ecc6
KH
72008-06-17 Kenichi Handa <handa@m17n.org>
8
9 * xfaces.c (realize_default_face): If the frame is not on window
10 system, set the fontset of face to nil.
11
821bc4db
KH
122008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
13
14 * fontset.c (fontset_pattern_regexp): Escape some reg-expr
15 characters.
16
3554e566
JB
172008-06-16 Juanma Barranquero <lekktu@gmail.com>
18
19 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
20 (build_font_name_from_vector): Delete externs.
21
22 * xfaces.c (struct font_name): Don't declare.
23
93eed26b
SM
242008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
25
26 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
27
d756bcd0
CY
282008-06-16 Chong Yidong <cyd@stupidchicken.com>
29
30 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
31
7a18a178
JB
322008-06-16 Juanma Barranquero <lekktu@gmail.com>
33
34 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 35 (Ffont_face_attributes): Doc fix.
7a18a178 36
6f568955
AS
372008-06-16 Andreas Schwab <schwab@suse.de>
38
39 * font.c (Ffont_face_attributes): Fix definition.
40
3ef8c1b4
JR
412008-06-16 Jason Rumney <jasonr@gnu.org>
42
93eed26b 43 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 44
93eed26b
SM
45 * font.c (font_style_symbolic_from_value): Remove.
46 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 47
93eed26b
SM
48 * w32font.c (w32_to_fc_weight): New function.
49 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 50
5e634ec9
KH
512008-06-16 Kenichi Handa <handa@m17n.org>
52
53 * font.c (font_check_object): Delete it.
54 (font_clear_cache): Check if a font-object is alive.
55 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
56 font-object to nil.
57 (font_close_object): Don't check FONT_CLOSE_OBJECT.
58 (font_at): Don't call font_check_object.
2babb359 59 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 60
6409a955
KY
612008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
62
63 * puresize.h (BASE_PURESIZE): Increase to 1230000.
64
ce4eaddb
CY
652008-06-16 Chong Yidong <cyd@stupidchicken.com>
66
67 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
68
523dbe64
CY
692008-06-15 Chong Yidong <cyd@stupidchicken.com>
70
54b2ab27 71 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
72 (font_unparse_fcname): Handle data in family and foundry indices
73 as symbols, not strings.
74 (font_unparse_gtkname, Ffont_face_attributes): New functions.
75
54b2ab27 76 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
77
78 * font.h (font_unparse_gtkname): Add prototype.
79
9f296082
KH
802008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
81
54b2ab27 82 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 83
3306c6dc
AS
842008-06-15 Andreas Schwab <schwab@suse.de>
85
86 * font.c (font_update_drivers): Fix crash when no drivers match.
87
a099c27a
SM
882008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
89
90 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
91 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
92
a8aa344d
SM
932008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
94
95 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
96
a879ee6f
SM
972008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
98
99 * process.c (Fserial_process_configure, Fprocess_send_eof):
100 Use EQ to compare Lisp_Objects.
101
6fe9826d
JR
1022008-06-13 Jason Rumney <jasonr@gnu.org>
103
a879ee6f 104 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 105
a879ee6f
SM
106 * w32font.c (logfont_to_fcname): New function.
107 (Fx_select_font): New font dialog function compatible with
108 GTK/fontconfig version.
6fe9826d 109
a879ee6f
SM
110 * font.c (font_style_symbolic_from_value): New function.
111 (font_style_symbolic): Use it.
6fe9826d 112
a879ee6f 113 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 114
17ab8f5d
JB
1152008-06-13 Juanma Barranquero <lekktu@gmail.com>
116
117 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
118 <font-width-table>: Fix typos in docstrings.
119
d888760c
GM
1202008-06-13 Daniel Engeler <engeler@gmail.com>
121
122 These changes add serial port access.
123 * process.c: Add HAVE_SERIAL.
124 (Fdelete_process, Fprocess_status, Fset_process_buffer)
125 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
126 (list_processes_1, select_wrapper, Fstop_process)
127 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
128 (status_notify): Modify to handle serial processes.
129 [HAVE_SERIAL] (Fserial_process_configure)
130 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
131 New functions.
132 * process.h (struct Lisp_Process): Add `type'.
133 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
134 New functions.
135 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
136 serial ports.
137 (serial_open, serial_configure) New functions.
138 * w32.h: Add FILE_SERIAL.
139 (struct _child_process): Add ovl_read, ovl_write.
140
f4cc0153
KH
1412008-06-13 Kenichi Handa <handa@m17n.org>
142
143 * dispextern.h (enum lface_attribute_index): New member
144 LFACE_FOUNDRY_INDEX.
145
146 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 147 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 148 style symbols.
7a18e381 149 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
150 order of font-driver to scores.
151 (font_list_entities): Don't check alternate_familes here.
152 (font_clear_prop): Handle foundry.
153 (font_update_lface): Don't parse "foundry-family" form here.
154 Handle FONT_FOUNDRY_INDEX.
155 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 156 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 157 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 158 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
159 (free_font_driver_list): Delete it.
160 (font_update_drivers): Preserve the order of backends.
161 (syms_of_font): Setting of sort_shift_bits adjusted for the change
162 of font_score and font_sort_entites.
163 (font_update_sort_order): Likewise.
164
165 * xfaces.c (LFACE_FOUNDRY): New macro.
166 (check_lface_attrs): Check foundry.
7a18e381 167 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
168 (merge_face_vectors): Check foundry.
169 (merge_face_ref): Likewise.
170 (Finternal_set_lisp_face_attribute): Likewise.
171 (x_update_menu_appearance): Likewise.
172 (Finternal_get_lisp_face_attribute): Likewise.
173 (lface_hash): Likewise.
174 (lface_same_font_attributes_p): Likewise.
175 (x_supports_face_attributes_p): Likewise.
176 (tty_supports_face_attributes_p): Likewise.
177 (Finternal_set_alternative_font_family_alist): Intern strings.
178 (Finternal_set_alternative_font_registry_alist): Downcase strings.
179 (realize_default_face): Set LFACE_FOUNDRY (lface).
180
181 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
182 font-driver at first.
183
184 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
185
d434fef5 1862008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
187
188 * lread.c (Fload): Use xfree, not free on saved_doc_string.
189
9c5e177e
JM
1902008-06-12 Jim Meyering <meyering@redhat.com>
191
d434fef5 192 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
193 * unexmacosx.c (unexec_free): Ignore a NULL argument.
194
2afc21f5
SM
1952008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
196
197 * character.h (CHAR_TO_BYTE_SAFE): New macro.
198 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
199 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
200 (WEAK_ALIAS): Simplify.
201 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
202 when searching a unibyte buffer.
203
76c0de62
CY
2042008-06-12 Chong Yidong <cyd@stupidchicken.com>
205
206 * xfns.c (Fx_select_font): Rename from x-font-dialog.
207
0500dcc9
JB
2082008-06-12 Juanma Barranquero <lekktu@gmail.com>
209
210 * w32font.c: Include ctype.h.
211
f42adef6
JR
2122008-06-11 Jason Rumney <jasonr@gnu.org>
213
2afc21f5
SM
214 * w32font.c (w32font_encode_char): Detect missing glyphs that are
215 misreported as space.
216 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
217 as aliases for registry iso10646-1.
f42adef6 218
4b7cdc0e
SM
2192008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
220
221 * buffer.c (clone_per_buffer_values): Skip `name'.
222
cc02ebe1
CY
2232008-06-11 Chong Yidong <cyd@stupidchicken.com>
224
225 * font.c (font_parse_fcname): Fix last change; accept decimal
226 points in font size.
227
351ccb76
JR
2282008-06-10 Jason Rumney <jasonr@gnu.org>
229
0500dcc9
JB
230 * w32uniscribe.c (add_opentype_font_name_to_list):
231 Skip non unicode fonts.
351ccb76 232
f473ed6f
CY
2332008-06-10 Chong Yidong <cyd@stupidchicken.com>
234
235 * xfns.c (Fx_font_dialog): New function.
236
5d6333d5 237 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
238 xg_file_response_callback.
239 (pop_down_dialog): Rename from pop_down_file_dialog.
240 (xg_get_file_name): Callers changed.
241 (xg_get_font_name): New function.
242
5d6333d5 243 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 244
2a3bd2e1
SM
2452008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
246
247 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
248 x_underline_minimum_display_offset.
249 (syms_of_xdisp): Declare it here rather than in xterm.c.
250 * dispextern.h (underline_minimum_offset): Declare it.
251 * w32term.c (x_draw_glyph_string): Use it.
252 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
253 (syms_of_xterm): Don't declare it any more.
254 (x_draw_glyph_string): Adjust to the new name.
255
d5dc6163
SM
2562008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
257
258 * xterm.c (x_underline_minimum_display_offset): New var.
259 (x_draw_glyph_string): Use it.
260 (syms_of_xterm): Declare it.
261
0abdd197
CY
2622008-06-10 Chong Yidong <cyd@stupidchicken.com>
263
264 * font.c (font_parse_fcname): Accept GTK-style font names too.
265
a1562258
SM
2662008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
267
928b5acc
SM
268 * dired.c (file_name_completion): Don't return t if the match is exact
269 but with different capitalization.
270 * minibuf.c (Ftry_completion): Simplify.
271
a1562258
SM
272 * window.c (Vwindow_point_insertion_type): New var.
273 (set_window_buffer): Use it.
274 (syms_of_window): Init and export it to Lisp.
275
9552dbd1
KH
2762008-06-10 Kenichi Handa <handa@m17n.org>
277
278 * font.h (font_intern_prop): Prototype adjusted.
279
280 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
281 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
282 Adjust for the change of font_intern_prop.
9552dbd1 283
a1562258
SM
284 * ftfont.c (ftfont_pattern_entity):
285 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
286 (w32_registry):
287 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
288 the change of font_intern_prop.
289
8993ad2e
JB
2902008-06-09 Juanma Barranquero <lekktu@gmail.com>
291
292 * w32menu.c (digest_single_submenu): Declare extern.
293
0c2258fc
JR
2942008-06-09 Jason Rumney <jasonr@gnu.org>
295
a1562258 296 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 297
a1562258
SM
298 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
299 (parse_single_submenu): Remove.
300 (digest_single_submenu): Remove.
301 (syms_of_w32menu): Don't initialise variables that have moved
302 to menu.c.
303 (set_frame_menubar): Sync with version in xmenu.c.
304 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 305
8993ad2e
JB
306 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
307 Make static again.
0c2258fc 308
02246cb8
JR
3092008-06-09 Jason Rumney <jasonr@gnu.org>
310
8993ad2e
JB
311 Changes to w32 files related to the move of common menu code
312 to menu.c on 2008-06-08 by Chong Yidong.
313
314 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
315 defs to w32gui.h.
316 (single_keymap_panes, push_menu_item, push_menu_pane):
317 Make globally visible.
318
d434fef5
JB
319 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
320 (local_free, malloc_widget_value, free_widget_value)
321 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
322 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
323 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 324 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 325 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
326 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
327 (init_menu_items, finish_menu_items, discard_menu_items)
328 (grow_menu_items, push_submenu_start, push_submenu_end)
329 (push_left_right_boundary, push_menu_pane, push_menu_item)
330 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 331 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
332 (update_submenu_strings): Remove functions.
333 (xmalloc_widget_value): Remove and declare extern.
334
335 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
336 (OBJ1): Build it.
337
338 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
339 (local_heap, local_alloc, local_free, malloc_widget_value)
340 (free_widget_value): Define here.
02246cb8 341
9e1bb909
KH
3422008-06-09 Kenichi Handa <handa@m17n.org>
343
366664ad
KH
344 * font.h (Qascii_0): Extern it.
345
9e1bb909
KH
346 * font.c (Qascii_0): New variable.
347 (syms_of_font): DEFSYM it.
348 (font_open_by_name): If the registry "iso8859-1" fails, try also
349 "ascii-0".
350
351 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
352
b2ee479e
KH
3532008-06-08 Kenichi Handa <handa@m17n.org>
354
8f440b79 355 * .gdbinit (xfont): New command.
b2ee479e 356
01ef9d36
AS
3572008-06-08 Andreas Schwab <schwab@suse.de>
358
a4240420
AS
359 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
360 * Makefile.in (menu.o): Update dependencies.
361
0181bf66 362 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
363 * emacs.c (main): Always call syms_of_menu.
364 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
365
c07cbae6
CY
3662008-06-08 Chong Yidong <cyd@stupidchicken.com>
367
368 * Makefile.in: Compile menu.c.
369
370 * lisp.h: Declare syms_of_menu.
371
372 * emacs.c (main): Call syms_of_menu.
373
374 * keyboard.h: Relocate platform-independent menu definitions from
375 xmenu.c.
376
377 * menu.c: New file. Relocate platform-independent menu
904d8c69 378 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
379
380 * xmenu.c: Remove platform-independent menu definitions.
381 (menu_items menu_items_inuse, menu_items_allocated)
382 (menu_items_used, menu_items_n_panes)
383 (menu_items_submenu_depth): Move to keyboard.h.
384 (init_menu_items, finish_menu_items, unuse_menu_items)
385 (discard_menu_items, restore_menu_items, save_menu_items)
386 (grow_menu_items, push_submenu_start, push_submenu_end)
387 (push_left_right_boundary, push_menu_pane, push_menu_item)
388 (keymap_panes, single_keymap_panes, single_menu_item)
389 (list_of_panes, list_of_items, find_and_call_menu_selection)
390 (xmalloc_widget_value, free_menubar_widget_value_tree)
391 (parse_single_submenu, digest_single_submenu)
392 (update_submenu_strings): Move to menu.c.
393
4958ed94
SM
3942008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
395
396 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
397
408b8ab4
MB
3982008-06-06 Miles Bader <miles@gnu.org>
399
400 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
401 face, not frame default.
402
87478b52
SM
4032008-06-05 Martin Rudalics <rudalics@gmx.at>
404
405 * window.c (pop_up_windows, pop_up_frames)
406 (display_buffer_reuse_frames, Vpop_up_frame_function)
407 (Vdisplay_buffer_function, Veven_window_heights)
408 (Vspecial_display_buffer_names, Vspecial_display_regexps)
409 (Vspecial_display_function, Vsame_window_buffer_names)
410 (Vsame_window_regexps, split_height_threshold)
411 (Vsplit_window_preferred_function): Move those vars to window.el.
412 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
413 (Fdisplay_buffer): Move those functions to window.el.
414 (syms_of_window): Remove corresponding declarations.
415 (display_buffer): New function.
416 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
417 * dispnew.c (Flast_nonminibuf_frame): New function.
418 * buffer.c (Fpop_to_buffer): Move to window.el.
419
9e0e0d77
SM
4202008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
421
422 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
423
4a485df8
KH
4242008-06-05 Kenichi Handa <handa@m17n.org>
425
426 * coding.c (detect_coding): Fix previous change.
427 (detect_coding_system): Likewise.
428
8ba31f36
SM
4292008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
430
c0dc8f64
SM
431 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
432
8ba31f36
SM
433 * keymap.c (Vminibuffer_local_filename_must_match_map):
434 Rename from Vminibuffer_local_must_match_filename_map.
435 (syms_of_keymap):
436 * minibuf.c (Fcompleting_read): Adjust accordingly.
437 * commands.h: Rename declaration as well.
438
7740d2c7
KH
4392008-06-05 Kenichi Handa <handa@m17n.org>
440
e7438ece
KH
441 * font.c (Ffont_spec): Don't use font_parse_family_registry for
442 family name.
443 (Ffont_put): Likewise.
444
445 * fontset.c (fontset_find_font): Call font_open_for_lface with the
446 current font-spec.
447
7740d2c7
KH
448 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
449 is unspecified.
450
451 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
452 are the same as those of default face, realize a new fontset from
453 default->fontset.
9e0e0d77 454 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 455
c876b227
SM
4562008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
457
458 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
459 (move_it_in_display_line): New wrapper.
460
461 * window.c (window_scroll_pixel_based_preserve_x)
462 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
463 (window_scroll_pixel_based, window_scroll_line_based):
464 Use them to preserve column positions.
465 (syms_of_window): Initialize them.
466
467 * indent.c (Fvertical_motion): Extend first arg to allow passing an
468 (HPOS . VPOS) pair.
469
470 * dispextern.h (move_it_in_display_line): Declare.
471
927abf37
JB
4722008-06-05 Juanma Barranquero <lekktu@gmail.com>
473
474 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
475 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
476 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
477
9d14503e
JB
4782008-06-04 Juanma Barranquero <lekktu@gmail.com>
479
480 * window.c (Fset_window_parameter): Doc fix.
481 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
482
e6841c3b
JB
4832008-06-04 Joakim Verona <joakim@verona.se>
484
485 * window.h (struct window): Add new member window_parameters.
486
487 * window.c (Fwindow_parameters, Fwindow_parameter)
488 (Fset_window_parameter): New defuns.
489 (syms_of_window): Defsubr the new defuns.
490 (make_window): Initialize window_parameters to nil.
491
4ba50634
JPW
4922008-06-04 John Paul Wallington <jpw@pobox.com>
493
494 * eval.c (Fdefmacro): Doc fix.
495
c0e16b14
KH
4962008-06-04 Kenichi Handa <handa@m17n.org>
497
498 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 499 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
500 (detect_coding_system): Fix handling of coding->head_ascii.
501
0615d903
AS
5022008-06-03 Andreas Schwab <schwab@suse.de>
503
504 * font.c (font_prop_validate_spacing): Fix last change.
505
8a1816bb
KH
5062008-06-03 Kenichi Handa <handa@m17n.org>
507
eea9c5c4
KH
508 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
509 (font_parse_fcname): Fix handling of unknown key.
510
511 * xfont.c (xfont_list): Try an alias.
512
8a1816bb
KH
513 * charset.c (char_charset): Return NULL if the arg charset_list is
514 specified and C doesn't belong to any of them.
515
2f593f4c 5162008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
517
518 * font.c (font_pixel_size): Don't take cdr of an integer.
519
c2cd06e6
JM
5202008-06-02 Jim Meyering <meyering@redhat.com>
521
70fdbb46
JM
522 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
523 * alloc.c (xfree): Return right away for a NULL arg.
524 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
525 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
526 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
527 (create_apple_event_from_drag_ref, cfstring_create_normalized):
528 Likewise.
70fdbb46
JM
529 * doprnt.c (doprnt1): Likewise.
530 * frame.c (frame): Likewise.
531 * keyboard.c (wipe_kboard): Likewise.
1f204af3 532 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
533 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
534 * term.c (tty_default_color_capabilities, maybe_fatal)
535 (delete_tty): Likewise.
536 * w16select.c (string): Likewise.
537 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
538 * w32bdf.c (w32_free_bdf_font): Likewise.
539 * w32fns.c (w32_unload_font): Likewise.
540 * w32font.c (w32font_close): Likewise.
541 * window.c (size_window): Likewise.
542 * xselect.c (receive_incremental_selection): Likewise.
543 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
544 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
545 * w32.c (stat): Likewise.
546
2f593f4c 547 Remove useless if-before-free tests.
70fdbb46
JM
548 * editfns.c (Fset_time_zone_rule): Likewise.
549 * lread.c (nosuffix): Likewise.
550 * ralloc.c (get_bloc): Likewise.
551 * regex.c (reg_free): Likewise.
552 * xftfont.c (xftfont_open, xftfont_close): Likewise.
553 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
554 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 555
4fc1984a
KH
5562008-06-02 Kenichi Handa <handa@m17n.org>
557
1d1e1245
KH
558 * font.c (font_find_for_lface): Handle float font size.
559 (font_open_for_lface): Likewise.
560
4fc1984a
KH
561 * xfaces.c (x_supports_face_attributes_p): Check face->font before
562 comparing the properties.
563
aee986fd
JR
5642008-06-01 Jason Rumney <jasonr@gnu.org>
565
e6841c3b
JB
566 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
567 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
568 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
569 Don't add empty script list.
570 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 571
60a3d7ee
DN
5722008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
573
aee986fd 574 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
575 ".." has been used elsewhere in the file for a long time.
576 (LIBXT_STATIC): Remove conditional based on unused variable.
577
f2cec7a9
MB
5782008-06-01 Miles Bader <miles@gnu.org>
579
580 * xfaces.c (Vface_remapping_alist): New variable.
581 (syms_of_xfaces): Initialize it.
582 (enum named_merge_point_kind): New type.
583 (struct named_merge_point): Add `named_merge_point_kind' field.
584 (push_named_merge_point): Make cycle detection respect different
585 named-merge-point kinds.
c876b227 586 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
587 Remove face-name alias resolution.
588 (lface_from_face_name): New definition using
589 `lface_from_face_name_no_resolve'.
c876b227 590 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
591 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
592 (get_lface_attributes): New definition that layers face-remapping on
593 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
594 (lookup_basic_face): New function.
595 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
596 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
597 `get_lface_attributes'.
598 (face_at_buffer_position): Use `lookup_basic_face' to lookup
599 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
600 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
601
602 * xdisp.c (init_iterator): Pass base_face_id through
603 `lookup_basic_face' when we actually use it as a face-id.
604 (handle_single_display_prop): Use `lookup_basic_face' to lookup
605 DEFAULT_FACE_ID.
606
607 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
608 lookup the initial face-id.
609
610 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
611
518c0b83
JB
6122008-06-01 Juanma Barranquero <lekktu@gmail.com>
613
614 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
615 (Fremove_text_properties): Fix typos in docstrings.
616
719b3d63
KH
6172008-05-31 Kenichi Handa <handa@m17n.org>
618
e4c93315
KH
619 * font.c (font_list_entities): Fix the car part of data to be
620 stored in the cache.
621
719b3d63
KH
622 * ftfont.c (ftfont_font_format): Don't use strcasestr.
623
d0827857
SM
6242008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
625
626 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
627 Add a `test' argument so another predicate than `equal' can be used.
628 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
629 (map_char_table): Remove unused vars `c' and `i'.
630 * lisp.h (Foptimize_char_table): Adjust declaration.
631 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
632
a266686a
KH
6332008-05-30 Kenichi Handa <handa@m17n.org>
634
d0827857 635 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
636 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
637 defined.
638
fd9440c5
SM
6392008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
640
641 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
642 (Fmake_variable_frame_local): Disallow mixing buffer-local and
643 frame-local settings for the same variable.
644
fd2ae9b2
KH
6452008-05-30 Kenichi Handa <handa@m17n.org>
646
9e0e0d77 647 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
648 (syms_of_fontset): Delete defsubr of Sfont_info.
649
650 * font.c (font_style_to_value, font_score): Delete casting of the
651 args to xstcasecmp.
652 (register_font_driver): Increment num_font_drivers only when
653 registering the driver globally.
9e0e0d77 654 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
655 (syms_of_font): Defsubr Sfont_info.
656
eaf11618
KH
6572008-05-29 Kenichi Handa <handa@m17n.org>
658
659 * coding.h (enum define_coding_utf8_arg_index): New enum.
660 (enum coding_attr_index): Change coding_attr_utf_16_bom to
661 coding_attr_utf_bom.
fd9440c5
SM
662 (enum utf_bom_type): Rename from utf_16_bom_type.
663 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
664 (struct coding_system): Add utf_8_bom in `spec' union.
665
666 * coding.c (CODING_UTF_8_BOM): New macro.
667 (enum coding_category): Delete coding_category_utf_8, add
668 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
669 coding_category_utf_8_sig.
670 (CATEGORY_MASK_UTF_8): Delete it.
671 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
672 (CATEGORY_MASK_UTF_8_SIG): New macros.
673 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
674 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
675 CATEGORY_MASK_UTF_8_SIG.
676 (CATEGORY_MASK_UTF_8): New macro.
677 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
678 (detect_coding_utf_8): Check BOM.
679 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 680 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
681 (encode_coding_utf_16): Likewise.
682 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
683 (detect_coding, detect_coding_system): Handle utf-8-auto.
684 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
685 (syms_of_coding): Fix setting up of Vcoding_category_table.
686
891bd142
SM
6872008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
688
689 * process.c (Faccept_process_output): If `millisec' is non-nil,
690 `seconds' default to 0.
691 (wait_reading_process_output): Also return non-nil if we read output
692 from a non-running process.
693
1519d52e
JR
6942008-05-29 Jason Rumney <jasonr@gnu.org>
695
fd9440c5
SM
696 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
697 `raster' specified.
698 (add_font_entity_to_list): Allow non-opentype truetype fonts back
699 in the uniscribe backend, but disallow any font that has no
700 unicode subrange support.
1519d52e 701
d5ab09cd
JB
7022008-05-29 Juanma Barranquero <lekktu@gmail.com>
703
704 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
705 Fix typos in docstrings.
706
a4eec626
KH
7072008-05-29 Kenichi Handa <handa@m17n.org>
708
709 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 710 (Fx_family_fonts): Set frame correctly.
a4eec626 711
a6e0b7e5
JR
7122008-05-28 Jason Rumney <jasonr@gnu.org>
713
d5ab09cd 714 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 715
6b3d752c
SM
7162008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
717
718 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
719 calling build_annotations.
720
c3f9fba8
JB
7212008-05-28 Juanma Barranquero <lekktu@gmail.com>
722
723 * coding.c (Fdecode_coding_region, Fencode_coding_region)
724 (Fencode_coding_string):
725 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
726 <latin-extra-code-table>: Fix typos in docstrings.
727 (syms_of_coding) <coding-system-alist>: Doc fix.
728 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
729
00c670e1
KH
7302008-05-28 Kenichi Handa <handa@m17n.org>
731
b75d7f28
KH
732 * fontset.c (Ffont_info): Don't call font_close_object.
733
734 * font.c (font_parse_family_registry): Use Ffont_put to validate
735 foundry and family.
736 (font_delete_unmatched): Don't check spacing.
737 (font_list_entities): Add spacing to the spec to list fonts.
738
739 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 740 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 741
00c670e1
KH
742 * coding.c (encode_coding_raw_text): Fix previous change.
743 (encode_coding_object): When the dst_object is a buffer and is
744 different from src_object, move gap to PT.
745
45feca91
CY
7462008-05-27 Chong Yidong <cyd@stupidchicken.com>
747
c3f9fba8 748 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 749
5dd5d9eb
SM
7502008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
751
01d45367
SM
752 * coding.c (encode_coding_raw_text): Set coding->produced_char for
753 all branches. Compute it differently.
754
5dd5d9eb
SM
755 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
756
9c623c85
JB
7572008-05-27 Juanma Barranquero <lekktu@gmail.com>
758
759 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
760 into "else if () ... else ...".
761
943f2093
JR
7622008-05-27 Jason Rumney <jasonr@gnu.org>
763
5dd5d9eb
SM
764 * w32font.c (w32font_open_internal): Determine if glyph indices
765 are likely to work here.
943f2093 766
7385fe74
CY
7672008-05-27 Chong Yidong <cyd@stupidchicken.com>
768
769 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
770 draw overlap glyphs with appropriate highlighting.
771
4f64a164
KH
7722008-05-27 Kenichi Handa <handa@m17n.org>
773
774 * xfont.c (xfont_open): Fix calculation of font->average_width.
775
1fb5aad7
SM
7762008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
777
778 * casefiddle.c (casify_object): Try to guess better whether the
779 argument is a byte or a char.
780
f8eb1603
AS
7812008-05-26 Andreas Schwab <schwab@suse.de>
782
1fb5aad7
SM
783 * xselect.c (x_reply_selection_request): Properly handle format == 32.
784 Always send multiples of format size.
5a9c35e5 785
f8eb1603
AS
786 * xterm.c (x_set_frame_alpha): Fix type mismatch.
787
ba93d684
JR
7882008-05-26 Jason Rumney <jasonr@gnu.org>
789
1fb5aad7
SM
790 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
791 (compute_metrics): Don't set failure if we just cleared the cache.
792 (w32_weight_table): Remove unused variable.
793 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
794 backwards compatibility.
ba93d684 795
505ecc49
KH
7962008-05-25 Kenichi Handa <handa@m17n.org>
797
1fb5aad7
SM
798 * w32term.c (x_draw_glyph_string):
799 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
800
801 * xfaces.c: Delete unused function prototypes.
802 (xstrlwr, font_frame): Delete them.
803 (clear_face_cache): Delete unused variable.
804
1fb5aad7
SM
805 * xftfont.c (xftfont_open): Delete unused variable.
806 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
807
808 * ftxfont.c (ftxfont_open): Delete unused variable.
809
810 * fontset.c (face_for_char): Optimize for the case of no charset
811 property.
812
813 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
814 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
815 (otf_open, font_otf_capability, generate_otf_features)
816 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 817 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
818 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
819 (syms_of_font): Codes for accessing above commented out.
820
f481eb31
EZ
8212008-05-24 Eli Zaretskii <eliz@gnu.org>
822
823 * w32proc.c: Include dispextern.h.
824
825 * w32.c: Include dispextern.h.
826
20746fe4
JB
8272008-05-23 Juanma Barranquero <lekktu@gmail.com>
828
829 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
830 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
831 Fix typos in docstrings.
832
e7150846
JR
8332008-05-23 Jason Rumney <jasonr@gnu.org>
834
20746fe4 835 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 836
dbf46ba6
KH
8372008-05-23 Kenichi Handa <handa@m17n.org>
838
6c652beb
KH
839 * charset.c (Qemacs, charset_emacs): New variables.
840 (char_charset): Fix for non-Unicode characters.
841 (syms_of_charset): Define charset_emacs.
842
baf4d3b3 843 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
844 s->underline_thickness and s->underline_position. Be sure to draw
845 underline within the current line area.
baf4d3b3
KH
846
847 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 848 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 849 underline within the current line area.
baf4d3b3 850
dbf46ba6
KH
851 * fontset.c: Delete unused variables and add casting for char *
852 throughout the file.
853 (fontset_font): Try the fallback fonts of the current fontset
854 before consulting the default fontset.
855
856 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
857
9e0e0d77 858 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 859
3b780338
JR
8602008-05-22 Jason Rumney <jasonr@gnu.org>
861
20746fe4 862 * font.c: Don't include strings.h.
577eba22 863
9e0e0d77 864 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 865
20746fe4
JB
866 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
867 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
868 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
869 to call xstrcasecmp.
05131107 870
b1722a46 871 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 872
b1722a46 873 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 874
b1722a46 875 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 876
b1722a46 877 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 878
a30e1957
KH
8792008-05-22 Kenichi Handa <handa@m17n.org>
880
20746fe4 881 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 882
20746fe4 883 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
884 change of font_style_table.
885
a30e1957
KH
886 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
887 two args.
888
889 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
890 two args.
891
631248e5
SM
8922008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
893
894 * minibuf.c (keys_of_minibuf): Delete.
895 * lisp.h (keys_of_minibuf): Delete.
896 * emacs.c (main): Don't call keys_of_minibuf.
897
318548be
KH
8982008-05-22 Kenichi Handa <handa@m17n.org>
899
631248e5 900 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
901 ftfont_list_generic_family. Return a single family for each
902 generic family.
903 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
904 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
905 Call font_add_log.
318548be
KH
906 (ftfont_match): Call font_add_log.
907
908 * font.h (Ffont_xlfd_name): EXFUN adjusted.
909 (FONT_DEBUG): Define it.
910 (font_add_log): Extern it.
631248e5 911 (font_assert): Rename from xassert.
318548be
KH
912
913 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
914 (xfont_list_family): Call font_add_log.
915 (xfont_match): Likewise.
631248e5 916 (memq_no_quit): Delete.
318548be
KH
917
918 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
919 call of Ffont_xlfd_name.
920
921 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 922 (swidth_table): Move to font.c.
318548be
KH
923
924 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 925 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
926 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
927 New variables.
631248e5
SM
928 (struct table_entry): Move from xfaces.c and modified.
929 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 930 contents adjusted for the change of struct table_entry.
20746fe4 931 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 932 format change of font_style_table.
318548be
KH
933 (font_parse_family_registry): Don't overwrite existing foundry and
934 family of font_spec.
935 (font_score): Fix calculation of diff for sizes.
936 (font_sort_entites): Call font_add_log.
937 (font_delete_unmatched): Return a newly created list.
938 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
939 (font_matching_entity, font_open_entity, font_close_entity):
940 Call font_add_log.
318548be 941 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 942 (Finternal_set_font_style_table): Delete.
318548be
KH
943 (BUILD_STYLE_TABLE): New macro.
944 (build_style_table): New function.
945 (Vfont_log, font_log_env_checked): New variables.
946 (font_add_log): New function.
947 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
948 Declare Lisp variables "font-weight-table", "font-slant-table",
949 "font-width-table", and "font-log". Initialize font_style_table.
950
6aac1c03
DN
9512008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
952
bcc850aa 953 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 954
7950790f
GM
9552008-05-21 Seiji Zenitani <zenitani@mac.com>
956 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 957
7950790f 958 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 959 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 960 (x_set_alpha): New function.
a2979e8e 961
7950790f 962 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 963
7950790f
GM
964 * xfns.c (x-create-frame, Qalpha):
965 Initialize the frame parameter `alpha'.
b9fb2c45
GM
966 * xterm.c (OPAQUE, OPACITY): New.
967 (x_set_frame_alpha): New function.
968 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 969
7950790f
GM
970 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
971 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 972
5c2a72d9
JR
9732008-05-20 Jason Rumney <jasonr@gnu.org>
974
20746fe4
JB
975 * w32font.c (add_font_entity_to_list): Don't add non-opentype
976 truetype fonts to opentype list.
5c2a72d9 977
eb152aa9
JB
9782008-05-20 Juanma Barranquero <lekktu@gmail.com>
979
980 * fontset.c (Ffontset_info): Doc fix.
981 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
982 <ignore-relative-composition>: Fix typos in docstrings.
983
984 * font.c (syms-of-font) <font-encoding-alist>:
985 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
986 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
987 (Ffont_otf_alternates): Doc fixes.
988
ad00e1a3
KH
9892008-05-20 Kenichi Handa <handa@m17n.org>
990
991 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
992 font.h through out the file.
9e0e0d77 993 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 994 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
995 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
996
997 * emacs.c (main): Call syms_of_font unconditionally.
998
999 * font.h (find_font_encoding): Extern it.
1000
9e0e0d77 1001 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
1002 fontset.c.
1003 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
1004 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
1005 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
1006 only when HAVE_WINDOW_SYSTEM is defined.
1007 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
1008 when HAVE_WINDOW_SYSTEM is defined.
1009
9e0e0d77
SM
1010 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
1011 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
1012
1013 * xfaces.c: Include font.h unconditionally.
1014 (merge_face_ref, merge_face_vectors)
1015 (Finternal_set_lisp_face_attribute): Cancel the previous change.
1016
40a69fac
SM
10172008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
1018
1019 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
1020 indirect_variable.
1021 * eval.c (lisp_indirect_variable): New fun.
1022 (Fuser_variable_p): Use it.
1023
8c2dccbf
SM
10242008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1025
ad97b375
SM
1026 * lisp.h (indirect_variable):
1027 * data.c (indirect_variable, let_shadows_buffer_binding_p):
1028 Use Lisp_Symbol pointers rather than Lisp_Object.
1029 Adjust callers.
1030 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
1031 To this end, change calling-convention.
1032
8c2dccbf
SM
1033 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
1034 if some non-hidden buffers are selected by string&pred.
1035
ad97b375
SM
10362008-05-19 Chong Yidong <cyd@stupidchicken.com>
1037
1038 * process.c (wait_reading_process_output): Always check status
1039 when in batch mode.
1040
25b81df4
KH
10412008-05-19 Kenichi Handa <handa@m17n.org>
1042
1043 * font.c (font_list_entities): Fix handling of cache.
1044 (font_matching_entity): Likewise.
1045
8c2dccbf 1046 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 1047 (ft_face_cache): New variable.
1f204af3 1048 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 1049 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
1050 (fc_charset_table): New variable.
1051 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
1052 . FC_CHARSET_IDX) as :font-entity property in the font entity.
1053 Callers changed.
dde8403f 1054 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
1055 (ftfont_spec_pattern): New argument fc_charset_idx.
1056 Check registry more rigidly. Change callers.
a2979e8e 1057 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
1058 change of :font-entity property of the font.
1059
a2979e8e 1060 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
1061 property of the font.
1062
d4a1d553
JB
10632008-05-18 Juanma Barranquero <lekktu@gmail.com>
1064
1065 * coding.c (Fcoding_system_p): Rename argument to match docstring.
1066 (Funencodable_char_position, Fcheck_coding_systems_region)
1067 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
1068 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
1069 (Ffind_operation_coding_system, Fset_coding_system_priority)
1070 (Fcoding_system_eol_type): Doc fixes.
1071
07cfc4e7
GM
10722008-05-17 Glenn Morris <rgm@gnu.org>
1073
1074 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
1075
1cab27d2
EZ
10762008-05-16 Eli Zaretskii <eliz@gnu.org>
1077
1078 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
1079 and st_gid.
1080
dde8403f 1081 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
1082 HAVE_WINDOW_SYSTEM is not defined.
1083
1084 * xfaces.c (merge_face_ref, merge_face_vectors)
1085 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
1086 HAVE_WINDOW_SYSTEM is defined.
1087 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
1088
86b89713
SM
10892008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
1090
1091 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
1092
6750bd93
YM
10932008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1094
62867b11 1095 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 1096
79f105c9
KH
10972008-05-15 Kenichi Handa <handa@m17n.org>
1098
1099 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
1100 preference.
1101
6b33da9f
GM
11022008-05-15 Glenn Morris <rgm@gnu.org>
1103
1104 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
1105
d0e4433b
CY
11062008-05-15 Chong Yidong <cyd@stupidchicken.com>
1107
1108 * fns.c (init_fns): Don't initialize weak_hash_tables here.
1109 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
1110
1111 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
1112
5f2d79e0
KH
11132008-05-15 Kenichi Handa <handa@m17n.org>
1114
fd8a1cae
KH
1115 * ftfont.c (ftfont_list): Downcase family name to check generic
1116 families.
1117
1118 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
1119 font-spec for QCfont value.
1120
5f2d79e0
KH
1121 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
1122 buffer. Check the return value of it.
1123
e5e29349
JR
11242008-05-14 Jason Rumney <jasonr@gnu.org>
1125
1126 * w32term.c (w32_get_glyph_overhangs): Remove.
1127 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
1128
1f09f444
KH
11292008-05-14 Kenichi Handa <handa@m17n.org>
1130
1131 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
1132 (font_clear_cache): Check if the cached vector of entities is nil
1133 or not.
1f09f444 1134
ecae6af9 11352008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
1136
1137 * emacs.c (main_thread): Conditionalize on
1138 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1139 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
1140
1141 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
1142 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
1143 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1144
c6b278e7
KH
11452008-05-14 Kenichi Handa <handa@m17n.org>
1146
1147 * coding.c (detect_coding_iso_2022): Ignore a coding category that
1148 has no corresponding coding system.
1149
11502008-05-14 Jason Rumney <jasonr@gnu.org>
1151
1152 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
1153
1154 * w32font.h (w32font_open_internal): Update declaration.
1155
1156 * w32font.c (w32font_open_internal): Change last argument from
1157 w32font_info struct to font object. Fill in font object from
1158 font_entity. Get Outline metrics if possible. Use them to
1159 calculate underline position and thickness. Use xlfd name as name
1160 property. Don't set codepage.
1161 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 1162 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
1163 (w32font_draw): Use s->font.
1164 (clear_cached_metrics): Don't clear non-existent blocks.
1165
1166 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
1167 font was not found.
a879ee6f 1168 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
1169
1170 * w32uniscribe.c (uniscribe_open): Pass font_object to
1171 w32font_open_internal.
1172
11732008-05-14 Kenichi Handa <handa@m17n.org>
1174
1175 These changes are to delete all legacy font-handling codes, and
1176 make Emacs use only font-backends.
1177
1178 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
1179 (frame.o, image.o, print.o): Depend on $(FONTSRC).
1180
1181 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
1182
1183 * charset.h (Vcharset_non_preferred_head)
1184 (Vcurrent_iso639_language): Extern them.
1185
1186 * charset.c (Vcharset_non_preferred_head): New variable.
1187 (Vcurrent_iso639_language): New variable.
1188 (syms_of_charset): Declare it as a Lisp variable.
1189 (char_charset): Don't check non preferred charsets. As a last
1190 resort, return charset_unicode.
1191 (Fset_charset_priority): Update Vcharset_non_preferred_head.
1192
1193 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
1194 conditionals. Don't check enable_font_backend. Delete all codes
1195 used only when USE_FONT_BACKEND is not defined.
1196
1197 * dispextern.h (struct glyph_string): Change type of `font' to
1198 `struct font *'.
1199 (struct glyph_string): New member underline_position and
1200 underline_thickness.
1201 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
1202 (struct face): Change type of `font' to `struct font *'. Remove
1203 members `font_name', `font_info_id'.
1204 (per_char_metric, encode_char): Delete externs.
1205 (calc_pixel_width_or_height): Adjust the prototype.
1206
1207 * emacs.c (enable_font_backend): Delete extern.
1208 (main): Don't set enable_font_backend. Don't check the command
1209 line argument "-disable-font-backend".
1210
1211 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
1212 (enum font_property_index): New members FONT_DPI_INDEX,
1213 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
1214 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
1215 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
1216 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
1217 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
1218 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
1219 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
1220 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
1221 (struct font_spec, struct font_entity): New structs.
1222 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
1223 (struct font): Many members from old "struct font_info" moved to
1224 here. Members font and entity deleted.
1225 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
1226 the new font-related objects.
1227 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
1228 (CHECK_FONT_GET_OBJECT): Likewise.
1229 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
1230 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
1231 (struct font_driver): New members case_sensitive anc check. Type
1232 of the member list and open changed.
1233 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
1234 (font_symbolic_width, font_find_object, font_get_spec)
1235 (font_set_lface_from_name): Delete extern.
20746fe4 1236 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
1237
1238 * font.c: Include <strings.h>.
1239 (enable_font_backend): Delete it.
1240 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
1241 (CHECK_VALIDATE_FONT_SPEC): Delete it.
1242 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
1243 (null_string): Delete it.
1244 (null_vector): Make it static.
1245 (font_family_alist): Delete it.
1246 (Qnormal): Extern it.
1247 (QCextra, QClanguage): Delete it.
1f204af3 1248 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
1249 (font_make_spec, font_make_entity, font_make_object)
1250 (font_intern_prop): Renamed from intern_downcase. Don't downcase
1251 the string. Callers changed.
1252 (font_pixel_size): Adjusted for the format change of font-related
1253 objects.
1254 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
1255 (font_style_to_value, font_style_symbolic): New function.
1256 (build_font_family_alist): Delete it.
1257 (font_registry_charsets): Use Fassoc_string instead of
1258 assq_no_quit.
1259 (font_prop_validate_symbol): Don't return null_string.
1260 (font_prop_validate_style): Adjusted for the change of
1261 style-related values in a font vector.
20746fe4 1262 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
1263 QCantialias, add entries for QCavgwidth.
1264 (get_font_prop_index): Delete the 2nd argument FROM.
1265 (font_prop_validate): Arguments changed.
1266 (font_put_extra): Adjusted for the change of font-related objects.
1267 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
1268 (font_parse_fcname, font_unparse_fcname)
1269 (font_prepare_composition): Likewise.
1270 (font_parse_family_registry): Renamed from font_merge_old_spec.
1271 (otf_open): Delete the 1st arg entity.
1272 (font_otf_capability): Adjusted for the above change.
1273 (font_score): New arg alternate_families. Adjusted for the change
1274 of font-related objects.
1275 (font_sort_entites): New arg best_only.
1276 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
1277 Delete them.
1278 (font_match_p): Check alternate families.
1279 (font_find_object): Delete it.
1280 (font_check_object): New function.
c3f9fba8 1281 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
1282 (font_delete_unmatched): New arg.
1283 (font_list_entities): Call font_driver->list with a spec that
1284 doesn't specify style-related properties.
1285 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 1286 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
1287 (font_close_object, font_has_char, font_encode_char)
1288 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
1289 (font_spec_from_name, font_clear_prop, font_update_lface):
1290 New functions.
1291 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
1292 (font_prepare_for_face, font_done_for_face, font_open_by_name)
1293 (font_at): Adjusted for the change of font-related objects.
1294 (font_range): New function.
1295 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 1296 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
1297 (Fcopy_font_spec, Fmerge_font_spec): New function.
1298 (Ffont_family_list): Renamed from list-families.
1299 (Finternal_set_font_style_table): Arguments changed.
1300 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
1301 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
1302 change of font-related objects.
c3f9fba8 1303 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 1304
3554e566 1305 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
1306 struct font.
1307 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
1308 (enum FONT_SPEC_INDEX): Delete it.
1309 (font_info, list_fonts_func, load_font_func, query_font_func)
1310 (set_frame_fontset_func, find_ccl_program_func)
1311 (get_font_repertory_func, new_fontset_from_font_name): Delete
1312 externs.
1313 (fontset_from_font_name): Extern it.
1314 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
1315 (FONT_INFO_FROM_FACE): Deleted.
1316 (face_for_font): Adjust prototype.
1317
1318 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
1319 conditionals. Don't check enable_font_backend. Delete all codes
1320 used only when USE_FONT_BACKEND is not defined.
1321 (get_font_info_func, list_font_func, load_font_func)
1322 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
1323 (get_font_repertory_func): Delete them.
1324 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
1325 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
1326 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
1327 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
1328 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
1329 (fontset_compare_rfontdef): New function.
1330 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
1331 ront-defs by qsort. Adjusted for the change of font-group vector.
1332 (load_font_get_repertory): Deleted.
1333 (fontset_find_font): Use new macros to ref/set elements of
1334 font-def and rfont-def.
1335 (fontset_font): Fix the timing of remembering that no font for C.
1336 (free_face_fontset): Do nothing if the face has no fontset.
1337 (face_suitable_for_char_p): Use new macros to ref/set elements of
1338 rfont-def.
1339 (face_for_char): Likewise. Call face_for_char with font_object.
1340 (fs_load_font): Delete. Delete #pragma surrounding it.
1341 (fs_query_fontset): Use strcasecmp instead of strcmp.
1342 (generate_ascii_font_name): Adjusted for the format change of
1343 font-spec.
1344 (Fset_fontset_font): Likewise. Use new macros to set elements of
1345 font-def.
1346 (Fnew_fontset): Use font_unparse_xlfd to generate
1347 FONTSET_ASCII (fontset).
1348 (new_fontset_from_font_name): Deleted.
1349 (fontset_from_font): Renamed from new_fontset_from_font. Check if
1350 a fontset is already created for the font. FIx updating of
1351 Vfontset_alias_alist.
1352 (fontset_ascii_font): Deleted.
1353 (Ffont_info): Adjusted for the format change of font-spec.
1354 (Finternal_char_font): Likewise.
1355 (Ffontset_info): Likewise.
1356 (syms_of_fontset): Don't check load_font_func.
1357
1358 * fns.c (internal_equal): Handle PREV_FONT.
1359
1360 * frame.h: Delete USE_FONT_BACKEND conditional.
1361
1362 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
1363 conditionals. Don't check enable_font_backend. Delete all codes
1364 used only when USE_FONT_BACKEND is not defined.
1365 (x_set_font): Call x_new_font, not x_new_fontset2.
1366 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
1367 already set for the frame.
1368
1369 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
1370 a font-entity by font_make_entity. Use font_intern_prop instead
1371 of intern_downcase. Use FONT_SET_STYLE to set a style-related
1372 font property. If a font is scalable, set avgwidth property to 0.
1373 Set font-entity property by font_put_extra.
1374 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
1375 (ffont_driver): Adjusted for the change of struct font_driver.
1376 (ftfont_spec_pattern): New function.
1377 (ftfont_list): Return a list, not vector.
1378 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
1379 (ftfont_list_family): Don't downcase names.
1380 (ftfont_free_entity): Deleted.
1381 (ftfont_open): Return a font-ojbect. Adjusted for the change of
1382 struct font. Get underline_thickness and underline_position from
1383 font property. Don't update dpyinfo->smallest_font_height and
1384 dpyinfo->smallest_char_width.
1385 (ftfont_close): Don't free `struct font'.
1386 (ftfont_has_char): Adjusted for the format change of font-entity.
1387 (ftfont_encode_char, ftfont_text_extents): Likewise.
1388
1389 * ftxfont.c (ftxfont_list): Return a list, not vector.
1390 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
1391 struct font. Get underline_thickness and underline_position from
1392 font property. Don't update dpyinfo->smallest_font_height and
1393 dpyinfo->smallest_char_width.
1394 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
1395 (ftxfont_draw): Adjusted for the change of struct font.
1396
1397 * image.c (image_ascent): Don't include "charset.h". Include
1398 "character.h" and "font.h".
1399
1400 * lisp.h (enum pvec_type): New member PREV_FONT.
1401 (Fassoc_string): EXFUN it.
1402
1403 * print.c: Include font.h.
1404 (print_object): Handle font-related objects.
1405
1406 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
1407 conditionals. Don't check enable_font_backend. Delete all codes
1408 used only when USE_FONT_BACKEND is not defined.
1409 (handle_auto_composed_prop): Do nothing if it->f is not on a
1410 window system. Check how many following characters can be
1411 displayed by the same font.
1412 (calc_pixel_width_or_height): Type of the 4th arg is changed to
1413 'struct font *'.
1414 (get_char_face_and_encoding): Assign the whole encoding task to
1415 the `encode-char' method of a font driver.
1416 (fill_composite_glyph_string): Adjusted for the change of `struct
1417 face' and `struct glyph_string'.
1418 (fill_glyph_string): Likewise.
1419 (get_per_char_metric): Arguments changed.
1420 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
1421 and `struct glyph_string'.
1422 (produce_stretch_glyph, calc_line_height_property)
1423 (x_produce_glyphs): Likewise.
1424
1425 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
1426 conditionals. Don't check enable_font_backend. Delete all codes
1427 used only when USE_FONT_BACKEND is not defined. Use
1428 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
1429 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
1430 (Qp): Extern them.
1431 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
1432 Deleted.
1433 (struct font_name): Deleted.
1434 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
1435 (compare_fonts_by_sort_order): New function.
1436 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
1437 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
1438 Deleted.
1439 (Fx_family_fonts): Use font_list_entities, and sort fonts by
1440 compare_fonts_by_sort_order.
1441 (Fx_font_family_list): Call Ffont_family_list.
1442 (face_numeric_value, face_numeric_weight, face_numeric_slant)
1443 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
1444 (face_symbolic_slant, face_symbolic_swidth)
1445 (split_font_name_into_vector, build_font_name_from_vector)
1446 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
1447 (font_rescale_ratio, split_font_name, build_font_name)
1448 (free_font_names, sort_fonts, x_face_list_fonts)
1449 (face_font_available_p, sorted_font_list, cmp_font_names)
1450 (font_list_1, concat_font_list, font_list, remove_duplicates):
1451 Deleted.
1452 (Fx_list_fonts): Use Ffont_list.
1453 (LFACE_AVGWIDTH): Deleted.
1454 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
1455 by FONTP.
1456 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1457 (set_lface_from_font_name): Delete it.
1458 (set_lface_from_font): Renamed from
1459 set_lface_from_font_and_fontset. Caller changed. Don't set
1460 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
1461 for face.
c3f9fba8
JB
1462 (merge_face_vectors): Copy font-spec if necessary.
1463 Clear properties of the font-spec if necessary.
c6b278e7
KH
1464 (merge_face_ref): Clear properties of the font-spec if necessary.
1465 (Finternal_set_lisp_face_attribute): Likewise.
1466 (set_font_frame_param): Use font_load_for_lface to load a
1467 font-object, and call Fmodify_frame_parameters with it.
1468 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
1469 font name by Ffont_xlfd_name.
1470 (Finternal_lisp_face_attribute_values): Don't check QCweight,
1471 QCslant, and QCwidth.
1472 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
1473 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
1474 Compare fonts by EQ.
1475 (lookup_non_ascii_face): Deleted.
1476 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
1477 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
1478 Check atomic font properties by case insensitive.
c6b278e7
KH
1479 (realize_non_ascii_face): Set face->overstrike correctly.
1480 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
1481 (dump_realized_face): Get font name from
1482 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
1483
1484 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
1485 conditionals. Don't check enable_font_backend. Delete all codes
1486 used only when USE_FONT_BACKEND is not defined.
1487 (xic_create_xfontset): Original code deleted and renamed from
1488 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
1489 (x_make_gc): Don't set GCFont in GCs.
1490 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
1491 opened by "fixed".
1492 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
1493 find_ccl_program_func, query_font_func, set_frame_fontset_func,
1494 get_font_repertory_func.
1495
1496 * xfont.c: Include <stdlib.h> and "ccl.h".
1497 (struct xfont_info): New structure.
1498 (xfont_query_font): Deleted.
1499 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
1500 moved from xterm.c.
1501 (xfont_driver): Adjusted for the change of struct font_driver.
1502 (compare_font_names): New function.
1503 (xfont_list_pattern): Sort font names case insensitively. Make
1504 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
1505 (xfont_list): Return a list, not vector.
1506 (xfont_match): If the font doesn't have QCname property, generate
1507 a name from the other font properties.
1508 (xfont_open): Return a font-ojbect. Adjusted for the change of
1509 struct font. Get underline_thickness and underline_position from
1510 font property. Don't update dpyinfo->smallest_font_height and
1511 dpyinfo->smallest_char_width.
1512 (xfont_close): Don't free struct font.
1513 (xfont_prepare_face): Adjusted for the change of struct font.
1514 (xfont_done_face): Deleted.
1515 (xfont_has_char): Adjusted for the change of struct font.
1516 (xfont_encode_char, xfont_draw): Likewise.
1517 (xfont_check): New function.
1518
1519 * xftfont.c (xftfont_list): Adjusted for the change of `list'
1520 callback function.
1521 (xftfont_match): Adjusted for the fontmat change of font-entity.
1522 (xftfont_open): Adjusted for the format change of font-entity and
1523 font-object. Adjusted for the change of struct font. Return a
1524 font-object. Don't update dpyinfo->smallest_font_height and
1525 dpyinfo->smallest_char_width.
1526 (xftfont_close): Block input while calling XftFontClose.
1527 (xftfont_prepare_face): Don't block input while calling
1528 xftfont_get_colors. Adjusted for the change of struct font.
1529 (xftfont_shape): Return value of error case fixed.
1530
1531 * xrdb.c (x_load_resources): Don't setup a fontset resource.
1532
1533 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
1534 conditionals.
1535 (FONT_WIDTH): Return (f)->max_width.
1536 (struct x_display_info): Delete member `font'.
1537 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
1538 (x_find_ccl_program, x_get_font_repertory): Delete externs.
1539 (struct x_output): Change type of `font' to `struct font *'.
1540
1541 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
1542 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 1543 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
1544 (x_per_char_metric, x_encode_char): Deleted.
1545 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
1546 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 1547 `struct face'.
c6b278e7
KH
1548 (x_draw_glyph_string_foreground)
1549 (x_draw_composite_glyph_string_foreground): Likewise.
1550 (x_draw_glyph_string): Likewise. Use font->underline_position and
1551 font->underline_thickness.
1552 (x_new_font): Renamed from x_new_fontset2.
1553 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
1554 (x_check_font): Call `check' method of a font driver.
1555 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
1556 (x_query_font, x_get_font_repertory): Deleted.
1557 (x_find_ccl_program): Renamed and moved to xfont.c.
1558 (x_redisplay_interface): Adjusted for the change of `struct
1559 redisplay_interface'.
1560
1561 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
1562 conditionals. Don't check enable_font_backend. Delete all codes
1563 used only when USE_FONT_BACKEND is not defined. Surround non-used
1564 code by "#ifdef OLD_FONT" and "endif".
1565 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
1566
1567 * w32font.h (struct w32font_info): New member.
1568 (FONT_COMPAT): New macro.
1569 (w32font_open_internal): Prototype adjusted.
1570
1571 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
1572 OLD_FONT" and "endif".
1573
1574 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
1575 conditionals. Don't check enable_font_backend. Delete all codes
1576 used only when USE_FONT_BACKEND is not defined.
1577 (w32font_open): Return a font-object. Make a font-object by
1578 font_make_object. Adjusted for the change of struct w32font_info.
1579 (w32font_close): Don't free struct font. Adjusted for the change
1580 of struct w32font_info.
1581 (w32font_encode_char, w32font_text_extents, w32font_draw):
1582 Adjusted for the change of struct w32font_info.
1583 (w32font_draw): Likewise.
1584 (w32font_list_internal): Return a list, not vector.
1585 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 1586 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
1587 (add_font_name_to_list): Don't downcase names.
1588 (w32_enumfont_pattern_entity): Make a font-entity by
1589 font_make_entity. Adjusted for the format change of font-entity.
1590 Use FONT_SET_STYLE to set a style-related font property. If a
1591 font is scalable, set avgwidth property to 0. Set font-entity
1592 property by font_put_extra.
c3f9fba8 1593 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
1594 (w32_weight_table, w32_decode_weight): New variables.
1595 (w32_encode_weight): New function.
1596 (fill_in_logfont): Adjusted for the format change of font-spec.
1597 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
1598 weight value.
1599 (w32font_driver): Adjusted for the change of struct font_driver.
1600
1601 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
1602 conditionals. Don't check enable_font_backend. Surround non-used
1603 code by "#ifdef OLD_FONT" and "endif".
1604 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
1605 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
1606
1607 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
1608 conditionals. Don't check enable_font_backend. Delete all codes
1609 used only when USE_FONT_BACKEND is not defined. Surround non-used
1610 code by "#ifdef OLD_FONT" and "endif".
1611
1612 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
1613 (uniscribe_open): Return value changed to font-object.
1614 Adjusted for the format change of font-object.
1615 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
1616 (add_opentype_font_name_to_list): Don't downcase names.
1617 (uniscribe_font_driver): Adjusted for the change of struct
1618 font_driver.
1619
f9d4c199
CY
16202008-05-13 Chong Yidong <cyd@stupidchicken.com>
1621
1622 * dispnew.c (update_frame_1): Check if tty output is still valid
1623 before flushing it.
1624
44f249c0
JD
16252008-05-13 Jan Djärv <jan.h.d@swipnet.se>
1626
1627 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
1628 to Gtk+ menus.
1629
01bb4018
SM
16302008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1631
3271a8f5
SM
1632 * dired.c (file_name_completion): Tweak the code so as to always do it
1633 in a single pass. Tighten the scope of some variables.
1634
01bb4018
SM
1635 * dired.c (Qdefault_directory): New var.
1636 (file_name_completion): Use it instead of Fexpand_file_name.
1637 (syms_of_dired): Initialize it.
1638
728bb8e0
SM
16392008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
1640
1641 * fileio.c (double_dollars): Remove dead code.
1642
ed4c17bb
EZ
16432008-05-10 Eli Zaretskii <eliz@gnu.org>
1644
6c5665e9
EZ
1645 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
1646 Mention w32-get-true-file-attributes in doc string.
1647
ed4c17bb
EZ
1648 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1649
71e1f69d
GM
16502008-05-09 Glenn Morris <rgm@gnu.org>
1651
1652 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
1653 2008-04-23.
1654
ee7a2e7a
EZ
16552008-05-09 Eli Zaretskii <eliz@gnu.org>
1656
8aaaec6b
EZ
1657 Support for reporting owner and group of each file on MS-Windows:
1658 * dired.c (stat_uname, stat_gname): New functions, with special
1659 implementation for w32.
1660 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
1661
ee7a2e7a
EZ
1662 * w32.c: Rename the_passwd_* to dflt_passwd_*.
1663 (dflt_group_name): New static variable.
728bb8e0 1664 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
1665 (init_user_info): Init dflt_group fields. Get user's group name
1666 from LookupAccountSid.
8aaaec6b
EZ
1667 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
1668 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
1669 New initialization states.
1670 (globals_of_w32): Initialize them to zero. Initialize the default
1671 group name to "None".
1672 (GetFileSecurity_Name): New global var, the name of the function
1673 to call for GetFileSecurity.
1674 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
1675 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
1676 (get_file_security, get_security_descriptor_owner)
1677 (get_security_descriptor_group, is_valid_sid)
1678 (get_file_security_desc, get_rid, get_name_and_id)
1679 (get_file_owner_and_group): New functions.
1680 (stat): Use get_file_security_desc and get_file_owner_and_group to
1681 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
1682 high 32 bits of file's size, now that st_size is 64-bit wide.
1683 Fix test when to get true file attributes.
8aaaec6b
EZ
1684 (init_user_info): Use get_rid instead of equivalent inline code.
1685 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 1686
b199c436
CY
16872008-05-09 Chong Yidong <cyd@stupidchicken.com>
1688
1689 * image.c (png_load): Use correct bit-depth for setting background
1690 color.
1691
86914123
EZ
16922008-05-08 Eli Zaretskii <eliz@gnu.org>
1693
1694 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
1695 epa-hook.elc.
1696
67b5d7de
JB
16972008-05-08 Juanma Barranquero <lekktu@gmail.com>
1698
1699 * font.c (Ffont_match_p): Don't use `iff' in docstring.
1700
1a111394
DN
17012008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
1702
1703 * macfns.c (Fx_create_frame): Make a copy of frame parameters
1704 because the original parameters are in pure storage now.
1705 (mac_window): Remove unused params. Update callers.
1706
6d77fa95
SM
17072008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1708
7a3d90dc
SM
1709 * lread.c (substitute_object_recurse): Use lower-level primitives.
1710 Don't signal errors when traversing sub-char-tables.
1711 Don't loop over all the possible characters when traversing char-tables.
1712
6d77fa95
SM
1713 * print.c (print_preprocess): Add sub-char-tables to the print-table,
1714 just like we do in print.c.
1715
140eb764
SM
17162008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
1717
1718 * minibuf.c (Ftry_completion): Remove code left over from when we used
1719 scmp instead of Fcompare_strings.
1720
e9184ccb
JB
17212008-05-04 Juanma Barranquero <lekktu@gmail.com>
1722
1723 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
1724
0e9378b3
YM
17252008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1726
1727 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
1728 Create bitmap context in native byte order.
1729
f67e15be
MB
1730 * macterm.c (XDrawLine)
1731 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
1732 context in native byte order.
064032d0 1733
f67e15be 17342008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
1735
1736 * config.in: Regenerate.
1737
1738 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
1739 New definitions for Image I/O support.
1740 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1741 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
1742 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1743 (mac_data_provider_release_data, image_load_image_io)
1744 [USE_MAC_IMAGE_IO]: New functions.
1745 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
1746 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
1747 (init_image_func_pointer) [MAC_OSX]: Remove function.
1748 (image_load_quartz2d) [MAC_OSX]: Check availability of
1749 CGImageCreateWithPNGDataProvider at compile time.
1750 Use lowercase `false' for boolean constant.
1751 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
1752 Use image_load_image_io.
1753 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
1754 Don't check MyCGImageCreateWithPNGDataProvider.
1755 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
1756 Don't call init_image_func_pointer.
1757
1758 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
1759
1760 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
1761 Make variable non-static.
1762 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1763 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1764
1765 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
1766 (RED_FROM_ULONG): Mask off higher bits.
1767 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
1768
1769 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
1770 Include AvailabilityMacros.h.
1771 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
1772 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
1773
c6bff69e
SM
17742008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
1775
1776 * chartab.c (Fset_char_table_range): If range is t, really set all
1777 chars to that value.
1778
7412d429
EZ
17792008-05-03 Eli Zaretskii <eliz@gnu.org>
1780
1781 * dired.c (Ffile_attributes): Don't allow the device number become
1782 negative.
1783
f83bbfac
DU
17842008-05-02 Daiki Ueno <ueno@unixuser.org>
1785
5a81d3d7 1786 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 1787
2e3148e2
JL
17882008-05-02 Juri Linkov <juri@jurta.org>
1789
1790 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
1791 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
1792 DEFAULT argument as a list of default values in docstrings.
2e3148e2 1793
923fb88c
CY
17942008-05-01 Chong Yidong <cyd@stupidchicken.com>
1795
1796 * puresize.h (BASE_PURESIZE): Increase to 1210000.
1797
047aaeb9
MR
17982008-05-01 Martin Rudalics <rudalics@gmx.at>
1799
1800 * dispnew.c (change_frame_size_1): Preserve small windows when
1801 shrinking frames by calling set_window_height|width with third
1802 arg 2.
1803
1804 * window.h (struct window): Replace field too_small_ok by field
1805 resize_proportionally.
1806
1807 * window.c (make_window): Initialize resize_proportionally.
1808 (enlarge_window): Temporarily set resize_proportionally to make
1809 sure that shrink_windows does scale the window proportionally.
1810 (shrink_windows): When window has resize_proportionally set try
1811 to shrink it proportionally by stealing from other windows.
1812 (struct saved_window, Fset_window_configuration)
1813 (compare_window_configurations): Handle resize_proportionally.
1814 (WINDOW_TOTAL_SIZE): New macro.
1815 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 1816 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
1817 window-min-height|width are handled by window_min_size_2 now.
1818 (size_window, Fsplit_window, enlarge_window)
1819 (adjust_window_trailing_edge, grow_mini_window): Don't call
1820 check_min_window_sizes.
c6bff69e
SM
1821 (window_min_size_2, window_min_size_1, window_min_size):
1822 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 1823 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
1824 (adjust_window_trailing_edge, grow_mini_window):
1825 Adjust arguments of window_min_size... functions.
047aaeb9
MR
1826 (shrink_windows): Argument min_size removed. New argument
1827 safe_p allows shrinking windows to their safe minimum sizes.
1828 Calculate minimum size and decide whether a window shall be
1829 deleted for each window individually.
1830 (size_window): When nodelete_p equals 2, tell shrink_windows to
1831 delete windows only if their new minimum size is no more safe.
1832 (shrink_window_lowest_first): Call window_min_size_1 to make
1833 sure to preserve modeline of bottom-most window when resizing
1834 the minibuffer.
1835 (Fset_window_configuration, Fcurrent_window_configuration)
1836 (compare_window_configurations): Do not handle
1837 window-min-height|width any more.
1838 (syms_of_window): Clarify window-min-height|width doc-strings.
1839
2a54a229
SM
18402008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
1841
1842 * dired.c (file_name_completion): Fix up the encoding/decoding issue
1843 some more. Copy some of the code from Ftry_completions.
1844 Remove special case code that dates back to initial revision when the
1845 slash was only added when necessary and that can't trigger nowadays.
1846
384bc634
KH
18472008-04-27 Kenichi Handa <handa@m17n.org>
1848
1849 * font.c (font_prop_validate): Signal `error' instead of `font'.
1850
2c2279c6
JR
18512008-04-29 Jason Rumney <jasonr@gnu.org>
1852
1853 * w32fns.c (Fw32_battery_status): New defun.
1854 (syms_of_w32fns): Defsubr it.
1855
fb4a622a
AS
18562008-04-28 Andreas Schwab <schwab@suse.de>
1857
1858 * dired.c (file_name_completion): Fix another mixing of encoded
1859 and decoded names.
1860
23f250f4
JB
18612008-04-28 Juanma Barranquero <lekktu@gmail.com>
1862
1863 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
1864
d8d30dff
JB
18652008-04-27 Juanma Barranquero <lekktu@gmail.com>
1866
1867 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
1868
ea6104a8
AS
18692008-04-27 Andreas Schwab <schwab@suse.de>
1870
9c691c00
AS
1871 * dired.c (file_name_completion): Fix inappropriate mixing of
1872 encoded and decoded names.
1873
ec1bf773
AS
1874 * xterm.c (XTread_socket): Fix use of uninitialized variable.
1875
ea6104a8
AS
1876 * puresize.h (BASE_PURESIZE): Increase to 1200000.
1877
01388a3d
EZ
18782008-04-26 Eli Zaretskii <eliz@gnu.org>
1879
1880 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
1881 2008-03-31, it's not needed anymore with `struct stat' definition
1882 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
1883 for the same reasons.
1884
175aea10 18852008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
1886
1887 * m/sparc.h: Additional redefinitions for GNU/Linux.
1888
1289aeb8
YM
18892008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1890
1891 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
1892 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
1893 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
1894 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
1895 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1896 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
1897 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1898 Likewise.
1899
1900 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 1901 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
1902 (mac_ax_number_of_characters): Add externs.
1903 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1904 [USE_MAC_TSM]: Likewise.
1905 (mac_handle_text_input_event) [MAC_OSX]:
1906 Handle kEventTextInputOffsetToPos for no active input area case.
1907 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1908 (mac_handle_document_access_event)
1909 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
1910 (install_application_handler) [MAC_OSX]: Register handlers for
1911 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1912 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1913 Register mac_handle_document_access_event.
1914
1915 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
1916 Make functions non-static.
1917
dbd50d4b
SM
19182008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
1919
1920 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
1921 (read_file_name_completion_ignore_case, insert_default_directory)
1922 (Qdefault_directory): Move to minibuffer.el.
1923 (Fread_file_name): Call the new `read-file-name' instead.
1924
9ea37b9d 19252008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
1926
1927 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
1928 Make function non-static.
1929 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
1930 Remove function.
1931 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1932 Move to mactoolbox.c.
1933 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
1934
1935 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
1936 (mac_rect_make): New macro.
1937
1938 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
1939 instead of float.
1940 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1941 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
1942 (XSetBackground) [USE_CG_DRAWING]: Likewise.
1943 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
1944 CGRectMake.
1945 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1946 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
1947 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
1948 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1949 instead of WindowRef in argument type.
1950 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
1951 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
1952 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
1953 instead of DISPLAY. All uses changed.
1954 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
1955 (x_calc_absolute_position): Simplify so as not to use
1956 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
1957
1958 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1959 instead of WindowRef in argument type.
1960 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
1961 [TARGET_API_MAC_CARBON]: Remove externs.
1962 (create_apple_event, mac_event_parameters_to_lisp)
1963 [TARGET_API_MAC_CARBON]: Add externs.
1964
d8d30dff 1965 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
1966 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
1967 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
1968 is clicked.
1969 (x_activate_menubar): Remove extern for saved_menu_event_location.
1970 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1971 Move from mac.c.
1972
9ea37b9d 19732008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
1974
1975 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
1976 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
1977
9ea37b9d 19782008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
1979
1980 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
1981 attributes only for local files.
1982
1983 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 1984 default to Qlocal.
bd735631 1985
88970542
JL
19862008-04-22 Juri Linkov <juri@jurta.org>
1987
1988 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
1989 read-buffer-to-switch instead of using the letter "B".
1990
92ec67e3
SM
19912008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
1992
1993 * fileio.c (Qdefault_directory): New variable.
1994 (Fread_file_name): Use it to pass `dir' to the completion functions.
1995
a32b2382
CY
19962008-04-20 Chong Yidong <cyd@stupidchicken.com>
1997
2a2e8de7 1998 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 1999
6c8b4f07
SM
20002008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
2001
ece5f847
SM
2002 * keyboard.c (Vpre_help_message): Remove.
2003 (show_help_echo): Remove default C code.
2004
6c8b4f07
SM
2005 * dired.c (directory_files_internal, file_name_completion):
2006 Only call ENCODE_FILE if the string is indeed decoded.
2007
73d798d5
SM
20082008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2009
2010 * Makefile.in (TOOLKIT_DEFINES): Remove.
2011 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
2012
d8d30dff 20132008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
2014
2015 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
2016 (mactoolbox.o): New target.
2017
2018 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
2019 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
2020
2021 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
2022 Use mac_set_frame_window_background instead of XSetWindowBackground.
2023 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
2024 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
2025 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
2026 instead of SetWindowTitleWithCFString.
2027 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
2028 Move function to mactoolbox.c.
2029 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
2030 Use mac_set_window_modified instead of SetWindowModified.
2031 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
2032 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
2033 (Fx_focus_frame): Use mac_front_non_floating_window instead of
2034 FrontNonFloatingWindow. Use mac_activate_window instead of
2035 ActivateWindow. Use mac_active_non_floating_window instead of
2036 ActiveNonFloatingWindow.
2037 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
2038 Use mac_show_hourglass and mac_hide_hourglass.
2039 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
2040 instead of GetGlobalMouse.
2041 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
2042 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
2043 Use mac_bring_window_to_front instead of BringToFront.
2044 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
2045 mactoolbox.c.
2046 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
2047 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
2048 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
2049 mactoolbox.c.
2050
2051 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
2052 (XtPointer): Move typedef from macmenu.c.
2053 (enum button_type): Move enum from macmenu.c.
2054 (widget_value): Move typedef from macmenu.c.
2055 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
2056 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2057 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2058 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2059 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2060 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2061 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2062 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
2063 (Selection): Move typedef from macselect.c.
2064 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
2065 macterm.c.
2066 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
2067 (mac_is_window_collapsed, mac_bring_window_to_front)
2068 (mac_send_window_behind, mac_hide_window, mac_show_window)
2069 (mac_collapse_window, mac_front_non_floating_window)
2070 (mac_active_non_floating_window, mac_activate_window)
2071 (mac_move_window_structure, mac_move_window, mac_size_window)
2072 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
2073
2074 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
2075 (enum mac_menu_kind): Move enum to mactoolbox.c.
2076 (min_menu_id): Move variable to mactoolbox.c.
2077 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
2078 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
2079 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2080 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2081 [TARGET_API_MAC_CARBON]: Likewise.
2082 (XtPointer): Move typedef to macgui.h.
2083 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
2084 (widget_value): Move typedef to macgui.h.
2085 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2086 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2087 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2088 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2089 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2090 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2091 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
2092 (popup_activated_flag): Make variable non-static.
2093 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
2094 (add_menu_item, fill_menu, dispose_menus):
2095 Move functions to mactoolbox.c.
2096 (restore_show_help_function, menu_target_item_handler)
2097 (install_menu_target_item_handler, mac_handle_dialog_event)
2098 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
2099 [TARGET_API_MAC_CARBON]: Likewise.
2100 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
2101 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2102 (find_and_call_menu_selection, name_is_separator): Make function
2103 non-static.
2104 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
2105 to mactoolbox.c.
2106 (set_frame_menubar): Don't call install_menu_quit_handler.
2107 (menu_item_selection): New variable.
2108 (mac_menu_show): Use create_and_show_popup_menu.
2109 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
2110 selection but set variable menu_item_selection. All uses changed.
2111 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
2112 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 2113
d02fe47d
MB
2114 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
2115 (Selection): Move typedef to macgui.h.
2116 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
2117 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
2118 Make variables non-static.
2119 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2120 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
2121 Make functions non-static.
2122 (Vmac_service_selection) [MAC_OSX]: Likewise.
2123 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
2124 (mac_valid_selection_target_p, mac_clear_selection)
2125 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2126 (mac_put_selection_value, mac_selection_has_target_p)
2127 (mac_get_selection_value, mac_get_selection_target_list)
2128 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
2129 Move functions to mactoolbox.c.
2130 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
2131 Likewise.
2132 (copy_scrap_flavor_data, mac_handle_service_event)
2133 (install_service_handler) [MAC_OSX]: Likewise.
2134 (syms_of_macselect) <Vmac_dnd_known_types>:
2135 Use mac_dnd_default_known_types.
463f55ee 2136
d02fe47d
MB
2137 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
2138 Move to mactoolbox.c.
2139 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
2140 (Fx_selection_owner_p): Add EXFUN.
2141 (install_window_handler, remove_window_handler, XSetWindowBackground):
2142 Remove externs.
2143 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
2144 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
2145 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
2146 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
2147 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
2148 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
2149 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
2150 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
2151 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
2152 (create_and_show_popup_menu, mac_get_selection_from_symbol)
2153 (mac_valid_selection_target_p, mac_clear_selection)
2154 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2155 (mac_put_selection_value, mac_selection_has_target_p)
2156 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
2157 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
2158 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
2159 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2160 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
2161 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2162 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
2163 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2164 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 2165
d02fe47d 2166 * mactoolbox.c: New file.
af253914 2167
d8d30dff 21682008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 2169
d02fe47d 2170 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 2171
8ee085a4
SM
21722008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2173
73d798d5
SM
2174 * character.c (Fmultibyte_char_to_unibyte):
2175 Return latin1 chars unchanged.
5556875b 2176
8ee085a4
SM
2177 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
2178 relocated if it points to `name'.
2179
5dff5999
KH
21802008-04-17 Kenichi Handa <handa@m17n.org>
2181
2182 * data.c (Faset): Allow setting a multibyte character in an
2183 ASCII-only unibyte string.
2184
2185 * lisp.h (STRING_SET_MULTIBYTE): New macro.
2186
a51f4969
SM
21872008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2188
2189 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
2190 done in config.h.
2191
add553ac
JB
21922008-04-16 Juanma Barranquero <lekktu@gmail.com>
2193
2194 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
2195 (Fchar_direction): Add usage in the docstring.
2196
8ad7b280
CY
21972008-04-15 Chong Yidong <cyd@stupidchicken.com>
2198
2199 * keyboard.c (read_key_sequence): Remove always-true checks.
2200
e157d7ba
JR
22012008-04-14 Jason Rumney <jasonr@gnu.org>
2202
2203 * w32font.c (w32font_open_internal): Set max_bounds.descent in
2204 compatibility struct, for better underline positioning.
2205
9ec3aaef 22062008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
2207
2208 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
2209 string.
2210
36c08864
DN
22112008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
2212
2213 * m/hp800.h (XUINT, XSET): Remove.
2214
f5acc071
JB
22152008-04-12 Juanma Barranquero <lekktu@gmail.com>
2216
2217 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
2218 previous change.
2219
5b5a2ea1
SM
22202008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2221
2222 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
2223 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
2224
492d9fd6
SM
22252008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2226
2227 * keymap.h (map_keymap_canonical): Declare.
2228 * xmenu.c (single_keymap_panes): Use it.
2229
dd60787c
GM
22302008-04-11 Glenn Morris <rgm@gnu.org>
2231
2232 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
2233 set the target's value to that of the alias.
2234
c23b5410
SM
22352008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2236
2237 * term.c (set_tty_color_mode): Left over typo.
2238
e89b536d
MA
22392008-04-10 Michael Albinus <michael.albinus@gmx.de>
2240
2241 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 2242 only after check for file name handler functions. Signal, when
e89b536d
MA
2243 native functionality is not supported.
2244 (syms_of_fileio): Declare it unconditionally.
2245
40a339c8
JR
22462008-04-10 Jason Rumney <jasonr@gnu.org>
2247
31403b24
JR
2248 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
2249 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
2250
40a339c8
JR
2251 * w32.c (logon_network_drive): Also logon to remote drives that
2252 are mapped to drive letters.
2253
96a7394f
GM
22542008-04-10 Glenn Morris <rgm@gnu.org>
2255
2256 * xdisp.c (truncate-partial-width-windows): Doc fix.
2257
34b67b0f
SM
22582008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
2259
2260 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
2261 Move functions to minibuffer.el.
2262 (syms_of_fileio): Don't declare them.
2263
c025fb0a
SM
22642008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2265
ba5ff07b
SM
2266 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
2267 (syms_of_minibuf): Remove its initialization.
2268
c025fb0a
SM
2269 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
2270
7a6a86ad
JB
22712008-04-09 Juanma Barranquero <lekktu@gmail.com>
2272
2273 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
2274
cf907d69
JR
22752008-04-09 Jason Rumney <jasonr@gnu.org>
2276
3dc94c30
JR
2277 * makefile.w32-in (distclean): Delete makefile too.
2278 (maintainer-clean): New target.
2279
8d28646b
JR
2280 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
2281
cf907d69
JR
2282 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
2283 for new font backend and composite cases.
2284
ef5eb925
JD
22852008-04-09 Jan Djärv <jan.h.d@swipnet.se>
2286
2287 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
2288 Most of the code moved to run_timers.
2289 (do_pending_atimers): Call run_timers.
2290 (run_timers): New function.
2291
cf907d69
JR
2292 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
2293 run atimers.
ef5eb925
JD
2294
2295 * process.c (wait_reading_process_output): The same as above.
2296
9b2cd403
SM
22972008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2298
32bae13c
SM
2299 * minibuf.c (last_exact_completion): Remove variable.
2300 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
2301 (complete_and_exit_1, complete_and_exit_2)
2302 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2303 (Fdisplay_completion_list, display_completion_list_1)
2304 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
2305 (Fexit_minibuffer, Fminibuffer_message): Move functions to
2306 minibuffer.el.
32bae13c
SM
2307 (syms_of_minibuf): Remove corresponding initializations.
2308
5c4cc82a
SM
2309 * keyboard.c (Qdeactivate_mark): New var.
2310 (command_loop_1): Use it to call `deactivate-mark'.
2311 (syms_of_keyboard): Initialize it.
2312
9b2cd403
SM
2313 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
2314 to another frame.
2315 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
2316 Don't call set_tty_color_mode.
2317 (store_frame_param): Reset previous_frame rather than call
2318 set_tty_color_mode.
2319 * term.c (set_tty_color_mode): Rewrite.
2320 * dispextern.h (set_tty_color_mode): New type.
2321 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
2322
84cb7b45
SM
23232008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
2324
2325 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
2326 for generic chars, which do not exist any more in emacs-unicode.
2327
3ed051d4
MA
23282008-04-08 Michael Albinus <michael.albinus@gmx.de>
2329
2330 * coding.c (detect_coding_emacs_mule)
2331 (Ffind_operation_coding_system): Fix typo.
2332
58c3ea42
JR
23332008-04-08 Jason Rumney <jasonr@gnu.org>
2334
3bf8d230
JR
2335 * w32uniscribe.c (SNAME): Extract only symbol name.
2336
56a70cca
JR
2337 * w32font.h (struct w32_metric_cache): New struct.
2338 (w32font_info): Use it.
2339 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
2340 (CACHE_BLOCKSIZE): New constants.
3ed051d4 2341
58c3ea42
JR
2342 * w32font.c (Qja, Qko, Qzh): New symbols.
2343 (syms_of_w32font): Initialise them.
2344 (font_matches_spec): Use them to filter by language.
2345 (recompute_cached_metrics): Remove function.
2346 (compute_metrics, clear_cached_metrics): New functions.
2347 (w32font_encode_char): Use them to manage metric cache.
2348 (w32font_text_extents): Cache metrics for all glyphs on demand.
2349 Delay converting glyph indices to WORD until needed.
2350 (w32font_open_internal): Initialize metric cache to empty.
2351 (registry_to_w32_charset): Charset should always be a symbol.
2352 (fill_in_logfont, list_all_matching_fonts): Family should
2353 always be a symbol.
2354
0ce24b2d
JR
23552008-04-06 Jason Rumney <jasonr@gnu.org>
2356
2357 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
2358 Give up if glyph indices not supported. Use uniscribe obtained
2359 ABC widths for individual metrics. Map glyph clusters back to
2360 characters using fClusterStart flag. Return number of glyphs
2361 produced, not chars processed.
b7655e0c 2362 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 2363
5bc6ddff 23642008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 2365
fbf57abb
JB
2366 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
2367 Use SetMenuItemHierarchicalMenu.
56613f06 2368
5bc6ddff 23692008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 2370
5bc6ddff
MB
2371 * image.c (pbm_load): Allow color values up to 65535.
2372 Throw an error if max_color_idx is outside the supported range.
2373 Report an error when image size is invalid.
2374 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 2375
5bc6ddff 23762008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 2377
5bc6ddff
MB
2378 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2379 cFileName a file name that includes `?' characters, use the 8+3
2380 alias in cAlternateFileName instead.
5ed6ba5b 2381
5bc6ddff 23822008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 2383
5bc6ddff
MB
2384 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
2385 append "CCL: Quitted" when the CCL program is quitted.
2386 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 2387
5bc6ddff 2388 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 2389
c36e15db
CY
23902008-04-05 Chong Yidong <cyd@stupidchicken.com>
2391
9605d567
CY
2392 * search.c (compile_pattern_1): Treat non-nil and non-string of
2393 search-spaces-regexp as nil.
2394
c36e15db
CY
2395 * minibuf.c (Fassoc_string): Tweak docstring.
2396
40beb147
EZ
23972008-04-05 Eli Zaretskii <eliz@gnu.org>
2398
2399 * dired.c (Ffile_attributes): Support inode numbers wider than 32
2400 bits. Remove ugly WINDOWSNT-specific kludge introduced on
2401 2008-03-14 to force inode be positive.
2402
2403 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
2404 _S_* ones, since we now use our own sys/stat.h.
2405 (stat, fstat): Don't mangle the inode number.
aa08d1ff 2406 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 2407
4591d6cb
SM
24082008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
2409
d4417eb0
SM
2410 * frame.h (struct frame): Give one more bit to `visible' since we use
2411 values larger than 1 to indicate obscured frames on ttys.
2412
00f7c5ed
SM
2413 * keymap.c (Qkeymap_canonicalize): New var.
2414 (Fmap_keymap_internal): New fun.
2415 (describe_map): Use keymap-canonicalize.
2416
4591d6cb
SM
2417 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
2418 (Fundo_boundary): Set them.
2419 (syms_of_undo): Initialize them.
2420 (record_point): Use them instead of last_point_position*.
2421 (last_undo_buffer): Change type.
2422
3187540e
JR
24232008-04-04 Jason Rumney <jasonr@gnu.org>
2424
0ce24b2d
JR
2425 * w32font.c (w32font_text_extents): Use font's ascent and descent.
2426 (recompute_cached_metrics): Don't set ascent and descent per char.
2427
3187540e 2428 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 2429 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 2430 Rearrange loop for counting features.
3187540e 2431
f1a6b216
SM
24322008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2433
2434 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
2435 buffer with byte-size of source buffer.
2436
1d8dcf63
CY
24372008-04-03 Chong Yidong <cyd@stupidchicken.com>
2438
2439 * callint.c (Fcall_interactively): Handle temporary region even
2440 when shift-select-mode is off.
2441
6b8aa22a
JR
24422008-04-03 Jason Rumney <jasonr@gnu.org>
2443
2444 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
2445
2f3cbb32
KH
24462008-04-03 Kenichi Handa <handa@m17n.org>
2447
2448 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
2449 (CATEGORY_MASK_UTF_16): Likewise.
2450 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
2451 binary file.
2452 (detect_coding): Add null-byte detection for a binary file.
2453 (detect_coding_system): Likewise.
2454
43f4f91c
JR
24552008-04-03 Jason Rumney <jasonr@gnu.org>
2456
0c1b4ae2
JR
2457 * w32uniscribe.c: New file.
2458
2459 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
2460
2461 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
2462
2463 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
2464 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
2465 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
2466 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
2467 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
2468 (Qphonetic): New symbols.
2469 (syms_of_w32font): Initialize them.
2470 (font_supported_scripts): Use them.
2471 (w32font_list_family): List all charsets.
2472 (w32font_text_extents, recompute_cached_metrics): Fix metric
2473 calculations.
2474 (w32_enumfont_pattern_entity): Make full_type a DWORD.
2475 Give opentype fonts their own format.
2476 (font_matches_spec): New arguments backend and logfont.
2477 Handle :otf spec for uniscribe backend.
2478 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
2479 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 2480
0c1b4ae2
JR
2481 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
2482 font backend.
2483 (globals_of_w32fns): Initialize uniscribe font backend.
2484
fbf57abb 2485 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
2486 dependencies.
2487 (w32uniscribe.$(O)): New file to build.
2488 (FONT_OBJ): Include w32uniscribe.$(O).
2489 (LIBS): Add uniscribe libraries.
2490
43f4f91c
JR
2491 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
2492
75043a7d
CY
24932008-04-02 Chong Yidong <cyd@stupidchicken.com>
2494
2495 * callint.c (Vshift_select_mode): New var.
2496 (Finteractive): Document new ^ spec.
2497 (Fcall_interactively): Call handle-shift-selection if the ^ spec
2498 is present.
2499
2500 * keyboard.c (Vthis_command_keys_shift_translated): New var.
2501 (command_loop_1): Avoid running the direct display versions of
2502 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
2503 (read_key_sequence): Set Vthis_command_keys_shift_translated if
2504 shift-translation takes place.
2505
2506 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
2507 avoid clobbering by define-minor-mode.
2508
2509 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
2510 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
2511
2512 * syntax.c (Fforward_word): Add ^ interactive spec.
2513
2514 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
2515 (Fscroll_right): Add ^ interactive spec.
2516
b2b7f29e
SM
25172008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
2518
a432c0a6
SM
2519 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
2520
994b75e0
SM
2521 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
2522
b2b7f29e
SM
2523 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
2524
e99c7806
JL
25252008-03-31 Juri Linkov <juri@jurta.org>
2526
2527 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
2528
1c9c1270
JD
25292008-03-30 Jan Djärv <jan.h.d@swipnet.se>
2530
2531 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 2532 (xg_resize_outer_widget): Remove.
1c9c1270
JD
2533 (x_wm_size_hint_off): Fix indentation.
2534 (xg_frame_set_char_size): Call flush_and_sync after
2535 gtk_window_resize.
2536 (x_wm_set_size_hint): Pass NULL as geometry window to
2537 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
2538 Add menu bar and tool bar height to base height.
2539 (xg_update_frame_menubar, free_frame_menubar)
2540 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
2541 (update_frame_tool_bar, free_frame_tool_bar):
2542 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 2543
90b3fc84
MA
25442008-03-30 Michael Albinus <michael.albinus@gmx.de>
2545
2546 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
2547 (Fdbus_call_method): New parameter TIMEOUT.
2548 (dbus-send-signal): Optimize UNGCPRO call.
2549
7ae6d1d1
JL
25502008-03-29 Juri Linkov <juri@jurta.org>
2551
2552 * window.c (Fdisplay_buffer): Move call to
2553 Vsplit_window_preferred_function out of conditions that check
2554 if window is eligible for vertical splitting.
2555 When Vsplit_window_preferred_function is non-nil, call it and use
2556 its non-nil return value as window. Otherwise, continue doing
2557 vertical splitting using Fsplit_window with arg horflag=nil.
2558 (syms_of_window) <Vsplit_window_preferred_function>: Change the
2559 default value from `split-window' to nil.
2560
f03f8f2c
JL
25612008-03-29 Juri Linkov <juri@jurta.org>
2562
2563 * callint.c (Fcall_interactively): Revert 2008-03-16 change
2564 for interactive code letters 'b' and 'B'.
2565
6d557778
EZ
25662008-03-29 Eli Zaretskii <eliz@gnu.org>
2567
2568 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
2569 multibyte string.
2570
58555d81
SM
25712008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
2572
2573 * keyboard.c (pending_funcalls): New var.
2574 (timer_check): Run it.
2575 (syms_of_keyboard): Initialize it.
2576 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
2577 (Vdelete_terminal_functions): New vars.
2578 (syms_of_terminal): Initialize them.
2579 (Fdelete_terminal): Run delete-terminal-functions.
2580 * xdisp.c (safe_eval): Rewrite.
2581 (safe_call2): New fun.
2582 * frame.c (Qdelete_frame_functions): New var.
2583 (syms_of_frame): Initialize it.
2584 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
2585 * lisp.h (safe_call2, pending_funcalls): Declare.
2586
4c92f429
AS
25872008-03-28 Andreas Schwab <schwab@suse.de>
2588
2589 * indent.c (Fmove_to_column): Move declaration before statements.
2590
a1567c45
SM
25912008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
2592
2806a183
SM
2593 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
2594 (struct frame): Use bit fields for boolean vars.
2595
eef60308
SM
2596 * process.c (server_accept_connection): Simplify naming.
2597 (emacs_get_tty_pgrp): Use SDATA.
2598
a1567c45
SM
2599 * coding.c (decode_coding_object): Fix last change.
2600
30076589
JR
26012008-03-27 Jason Rumney <jasonr@gnu.org>
2602
2603 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
2604
880820fe
KH
26052008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
2606
2607 * charset.c (Fdefine_charset_internal): Change the way of
2608 registering charsets in Vcharset_order_list.
2609 (syms_of_charset): Make the charset `eight-bit' supplementary.
2610
3cf8cdfb
CY
26112008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
2612
2613 * regex.c (EXTEND_BUFFER): Change order of pointer addition
2614 operations, to avoid having the difference between pointers
2615 overflow.
2616
ef6f5c0e
SM
26172008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2618
80e3db56
SM
2619 * indent.c (check_display_width): New fun.
2620 (scan_for_column): Use it.
2621
c397dc7a
SM
2622 * data.c (syms_of_data): Mark most-positive-fixnum and
2623 most-negative-fixnum as constants.
2624
bf6b4d58
SM
2625 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
2626
ef6f5c0e
SM
2627 * indent.c (scan_for_column): Extract from current_column_1.
2628 Merge with the same code from Fmove_to_column.
2629 (current_column_1, Fmove_to_column): Use it.
2630
72d5003d
SM
26312008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
2632
12270607
SM
2633 * keymap.c (map_keymap_internal): New fun.
2634 (map_keymap): Use it.
2635 (Fmap_keymap_internal): New fun.
2636 (Fmap_keymap): Remove left-out test from before make_save_value.
2637
a10cca6c
SM
2638 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
2639
d7b10f4c
SM
2640 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
2641 Use XCAR/XCDR.
2642
5431bd6a
SM
2643 * process.h (struct Lisp_Process): Remove filter_multibyte.
2644 * process.c (QCfilter_multibyte): Remove.
2645 (setup_process_coding_systems): Don't use filter_multibyte.
2646 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
2647 (read_process_output): Don't adjust multibyteness to filter_multibyte.
2648 (Fset_process_filter_multibyte): Change the coding-system to
2649 approximate the previous behavior.
2650 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
2651 coding-system.
2652
72d5003d
SM
2653 * coding.c (decode_coding_object): When not decoding into a buffer,
2654 obey the coding system's preference of (uni|multi)byte.
2655
438eba3c
SM
26562008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
2657
2658 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
2659 every char is changed and has a different byte-length.
2660 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
2661 Fix int -> EMACS_INT.
2662
9ec3aaef 26632008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 2664
438eba3c 2665 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
2666 strings. Check for NULL `interface' or `member'.
2667
b07103dc
EZ
26682008-03-22 Eli Zaretskii <eliz@gnu.org>
2669
2670 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2671 cFileName a file name that includes `?' characters, use the 8+3
2672 alias in cAlternateFileName instead.
2673
5371d722
SM
26742008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2675
2676 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
2677
6ba7f443
SM
26782008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2679
2680 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
2681 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
2682 work on current_buffer only instead (that was already the case
2683 for some of the code anyway).
2684 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
2685 (temp_set_point, temp_set_point_both): Use EMACS_INT.
2686 (SET_PT, SET_PT_BOTH): Adjust.
2687 * intervals.h (set_point, temp_set_point, set_point_both)
2688 (temp_set_point_both): Remove redundant declarations.
2689
bf1c0f27
SM
26902008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2691
2692 * fileio.c (Finsert_file_contents):
2693 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
2694 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
2695 when buffer != current_buffer anyway.
2696
acab783e
AS
26972008-03-20 Andreas Schwab <schwab@suse.de>
2698
2699 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
2700 as default.
2701
d148e14d
JR
27022008-03-19 Jason Rumney <jasonr@gnu.org>
2703
2704 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
2705 (syms_of_w32fns): Initialize them.
2706 (HOURGLASS_ID): New constant.
2707 (x_window_to_frame): Don't check hourglass_window.
2708 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
2709 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
2710 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
2711 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
2712 Only change the cursor if hourglass is not active.
2713 (Fx_create_frame): Initialize frame's current_cursor.
2714 (hourglass_atimer): Remove.
2715 (hourglass_started): New function.
2716 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
2717 (show_hourglass): Adapt to w32, changing argument to frame.
2718
2719 * w32term.h (struct w32_output): Remove hourglass_window.
2720 Add current_cursor.
2721
2722 * eval.c (call_debugger, Fsignal):
2723 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
2724 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
2725 (Fexecute_extended_command, cancel_hourglass_unwind):
2726 * minibuf.c (read_minibuf):
2727 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 2728
a5c54077
JB
27292008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2730
2731 * window.c (run_funs): New fun.
2732 (run_window_configuration_change_hook): Use it to run the buffer-local
2733 and the global part of the hook.
2734
2735 * xdisp.c (format_mode_line_unwind_data): Add window argument.
2736 (unwind_format_mode_line): Restore selected window.
2737 (x_consider_frame_title, Fformat_mode_line): Set selected window.
2738
f9f3238f
SM
27392008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2740
253c3c82
SM
2741 * editfns.c (Fchar_equal): Check they are valid characters.
2742
f9f3238f
SM
2743 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
2744
065a118d
AS
27452008-03-17 Andreas Schwab <schwab@suse.de>
2746
0b8be006
AS
2747 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
2748 against a charset.
2749
065a118d
AS
2750 * lisp.h (Fbuffer_list): Declare.
2751
880820fe 27522008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
2753
2754 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
2755 handlebox_widget is != 0.
2756
6206d6c2
JL
27572008-03-16 Juri Linkov <juri@jurta.org>
2758
2759 * callint.c (Fcall_interactively): For interactive code letters
2760 'b' and 'B' put the buffer list into the list of default "future"
2761 values of the minibuffer.
2762
f5020181
AS
27632008-03-16 Andreas Schwab <schwab@suse.de>
2764
a864f6d6
AS
2765 * keyboard.c (read_key_sequence): Fix downcasing of letters with
2766 modifiers.
2767
f5020181
AS
2768 * regex.c (re_match_2_internal): Correct matching of a charset
2769 against latin-1 characters.
2770
03f244e2
KH
27712008-03-16 Kenichi Handa <handa@m17n.org>
2772
2773 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
2774 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
2775 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
2776 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
2777 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
2778 CHAR_STRING_ADVANCE.
2779 (produce_chars): Fix for the case that the source and the
2780 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
2781 instead of CHAR_STRING_ADVANCE.
2782 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
2783 STRING_CHAR_ADVANCE.
2784
0e2501ed
AS
27852008-03-15 Andreas Schwab <schwab@suse.de>
2786
2787 * regex.c (re_match_2_internal): Correct matching of eight bit
2788 characters in unibyte strings.
2789
7723e095
MR
27902008-03-15 Martin Rudalics <rudalics@gmx.at>
2791
2792 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
2793 at end of range when it coincides with the end of the buffer.
2794
f507f365
EZ
27952008-03-14 Eli Zaretskii <eliz@gnu.org>
2796
294f1153
EZ
2797 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
2798
f507f365
EZ
2799 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
2800
64f0809d
JR
28012008-03-14 Jason Rumney <jasonr@gnu.org>
2802
956ae531
JR
2803 * editfns.c (initial_tz): New variable.
2804 (syms_of_editfns): Initialize it.
2805 (Fset_time_zone_rule): Set it when first called.
2806 Use it when TZSTRING is nil.
2807
64f0809d
JR
2808 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
2809 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
2810 (monitor_from_point_fn, get_monitor_info_fn): New globals.
2811 (globals_of_w32fns): Initialize them.
2812 (compute_tip_xy): Use them to position tooltips.
2813
21a4ff8e
GM
28142008-03-14 Glenn Morris <rgm@gnu.org>
2815
2816 * emacs.c (main): Revert previous change.
2817 (standard_args): Revert -internal-script back to -scriptload,
2818 and remove the long-option form.
2819
a09a5b5b
GM
28202008-03-13 Glenn Morris <rgm@gnu.org>
2821
2822 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
2823 Remove option -enable-font-backend.
2824
1c55ebd1
SM
28252008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2826
2827 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
2828
880820fe 28292008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
2830
2831 * xterm.c (x_connection_closed): For GTK: If this is the last
2832 terminal just exit without closing the display.
2833
7145be81
JR
28342008-03-11 Jason Rumney <jasonr@gnu.org>
2835
2836 * w32font.c (w32font_full_name): Use floor to round.
2837
e6201af3 28382008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
2839
2840 * sound.c (alsa_configure): Declare vol at beginning of block.
2841
e6201af3 2842 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 2843
390b81fa 28442008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 2845
56388398
MB
2846 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
2847 size of resulting string.
af0ad939 2848
390b81fa 28492008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 2850
56388398 2851 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 2852
390b81fa 28532008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 2854
56388398
MB
2855 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
2856 Don't pretend as if characters with display property haven't been
2857 consumed for string-replacing-string case.
acd37560 2858
223ed6db
KS
28592008-03-08 Kim F. Storm <storm@cua.dk>
2860
2861 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
2862 (get_next_display_element, next_element_from_string)
2863 (next_element_from_ellipsis, next_element_from_buffer): Use it.
2864
28545f7c
AS
28652008-03-08 Andreas Schwab <schwab@suse.de>
2866
2867 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
2868
c960bff8
JR
28692008-03-06 Jason Rumney <jasonr@gnu.org>
2870
290afd83
JB
2871 * w32font.c (w32_registry): Take font_type argument. Use ANSI
2872 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
2873 font_type is truetype.
2874 (w32font_coverage_ok): New function.
2875 (add_font_entity_to_list): Use it to filter unsuitable fonts.
2876
87b8ce92
KH
28772008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
2878
2879 * lread.c (Fread_char): Resolve modifiers.
2880 (Fread_char_exclusive): Likewise.
2881
2882 * character.c (char_resolve_modifier_mask): New function.
2883 (char_string): Use char_resolve_modifier_mask.
2884 (Fchar_resolve_modifiers): New function.
2885 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
2886 function.
2887
cefd56f6
JR
28882008-03-04 Jason Rumney <jasonr@gnu.org>
2889
2890 * makefile.w32-in: Always include w32font.c in the build.
2891 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
2892
03bd3c1f
AS
28932008-03-04 Andreas Schwab <schwab@suse.de>
2894
2895 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
2896 (versionclean): Likewise.
2897
6f69e89b
JB
28982008-03-04 Juanma Barranquero <lekktu@gmail.com>
2899
2900 * .cvsignore: Add oo.
2901
f4a3cc44
AS
29022008-03-03 Andreas Schwab <schwab@suse.de>
2903
2904 * coding.c (decode_coding_object): Inhibit gap shrinking while
2905 decoding in place.
2906
73f838ad
DN
29072008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
2908
2909 * w32term.c: Remove unused include "gnu.h".
6f69e89b 2910 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
2911
2912 * gnu.h: Rename to ...
2913 * emacs-icon.h: ... this.
2914 * xterm.c: Use emacs-icon.h instead of gnu.h.
2915 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
2916
ce9c1f06
JB
29172008-03-03 Juanma Barranquero <lekktu@gmail.com>
2918
2919 * w32font.c: Include math.h.
2920
34fd2d28
JR
29212008-03-03 Jason Rumney <jasonr@gnu.org>
2922
54efdcd1
JR
2923 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
2924 Compute options separately.
2925 (w32font_open_internal): Set glyph_idx before caching metrics.
2926
ce9c1f06
JB
2927 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
2928 Define if system headers don't.
2929 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
2930 (w32font_encode_char): Don't declare here.
2931
2932 * w32font.c (Quniscribe, QCformat): New symbols.
2933 (syms_of_w32font): Define them.
2934 (w32font_has_char): Indicate uncertainty.
ce9c1f06 2935 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 2936 (recompute_cached_metrics): New function.
ce9c1f06
JB
2937 (w32font_open_internal): Use it. Set font to use glyph points
2938 initially. Set format based on type of font.
34fd2d28 2939 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
2940 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
2941 on it. Set format based on information available here.
34fd2d28
JR
2942 (add_font_entity_to_list): Identify backend based on opentype_only.
2943
14daee73
AS
29442008-03-02 Andreas Schwab <schwab@suse.de>
2945
f907fb2e
AS
2946 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
2947
ce9c1f06
JB
2948 * coding.c (decode_coding_big5, produce_chars):
2949 Fix typos in last change.
14daee73 2950
c9cc6462
DN
29512008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
2952
2953 * gnu.h: New icon.
2954
119852e7
KH
29552008-03-02 Kenichi Handa <handa@m17n.org>
2956
2957 * coding.c (decode_coding_utf_8): When eol-type of CODING is
2958 `dos', don't decode '\r' if that is the last in the source.
2959 (decode_coding_utf_16, decode_coding_emacs_mule)
2960 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2961 (decode_coding_raw_text, decode_coding_charset): Likewise.
2962 (produce_chars): Don't decode EOL here. Use EMACS_INT.
2963
a823468b
JR
29642008-03-01 Jason Rumney <jasonr@gnu.org>
2965
2966 * w32font.c (w32font_full_name): Report point size for scalable fonts.
2967
4ddc7e30
KS
29682008-03-01 Kim F. Storm <storm@cua.dk>
2969
2970 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
2971
67997c79
JR
29722008-03-01 Jason Rumney <jasonr@gnu.org>
2973
2974 * w32font.c (w32font_full_name): New function.
2975 (w32font_open_internal): Use it.
2976
3f4e9c35
KS
29772008-03-01 Kim F. Storm <storm@cua.dk>
2978
2979 * dispnew.c (line_draw_cost): Fix invalid glyph check.
2980
f3b9e479
JR
29812008-03-01 Jason Rumney <jasonr@gnu.org>
2982
2983 * font.c (font_unparse_fcname): Increase len when style is a symbol.
2984
880820fe 29852008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
2986
2987 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
2988 xg_frame_resized when the event is for the edit widget.
2989
2990 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
2991
2992 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
2993 set_char_size.
2994 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
2995 operations on widgets here. Just set frame size if needed.
2996 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
2997 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
2998 (x_wm_set_size_hint): Set size hints on the edit widget only, not
2999 the whole frame.
3000 (xg_create_tool_bar): Move attachement of the tool bar to
3001 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
3002 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
3003
6c8acaa1
JR
30042008-03-01 Jason Rumney <jasonr@gnu.org>
3005
3006 * w32fns.c (w32_msg_pump): Disable debug code.
3007
51fb064b 30082008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 3009
51fb064b 3010 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 3011
60221a33
CY
30122008-02-29 Chong Yidong <cyd@stupidchicken.com>
3013
3014 * xdisp.c (next_overlay_string): Don't set
3015 overlay_strings_at_end_processed_p if we're currently reading from
3016 a display string.
3017
10cbc34f
SM
30182008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
3019
3020 * xdisp.c (get_overlay_strings_1): Fix typo.
3021
73c0054e
CY
30222008-02-29 Chong Yidong <cyd@stupidchicken.com>
3023
3024 * xdisp.c (get_overlay_strings_1): Add missing argument type.
3025
ec1c4354
KH
30262008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
3027
55082642
KH
3028 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
3029
ec1c4354
KH
3030 * xdisp.c (display_mode_element): Cancel the previous change.
3031 (decode_mode_spec): Likewise.
ee548a94
KH
3032 (handle_auto_composed_prop): Don't make composition if it->string
3033 is a string.
ec1c4354 3034
b6d898a2
KS
30352008-02-27 Kim F. Storm <storm@cua.dk>
3036
3037 * lisp.h (GLYPH): Change type from int to struct with separate char
3038 and face_id members.
3039 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
3040 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
3041 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
3042 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
3043 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
3044 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
3045 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
3046 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
3047 handle new Lisp glyph code encoding, either an integer or a cons.
3048
3049 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
3050 (GLYPH_ALIAS): Delete.
3051 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
3052 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
3053 (GLYPH_FROM_CHAR): Replace macro by ...
3054 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
3055
3056 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
3057 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
3058 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
3059 (GLYPH_INVALID_P): New macro.
3060 (spec_glyph_lookup_face): Update prototype.
3061
3062 * dispnew.c (line_draw_cost): Adapt to new glyph type.
3063 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
3064 new glyph code encoding.
3065 (spec_glyph_lookup_face): No return value; update passed glyph instead.
3066 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
3067
3068 * xdisp.c (get_next_display_element, next_element_from_display_vector):
3069 Adapt to new glyph type and new glyph code encoding.
3070
3071 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
3072
3073 * indent.c (current_column, current_column_1, Fmove_to_column)
3074 (compute_motion): Adapt to new glyph code encoding.
3075
3076 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
3077
af2080a2
CY
30782008-02-27 Chong Yidong <cyd@stupidchicken.com>
3079
3080 * process.c (wait_reading_process_output): Check for window
3081 changes caused by timers.
880820fe 3082 Suggested by Johan Bockgård.
af2080a2 3083
253ed25e
GM
30842008-02-27 Glenn Morris <rgm@gnu.org>
3085
3086 * emacs.c (USAGE1): Add `--disable-font-backend'.
3087
18a9f8d9
SM
30882008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
3089
3090 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
3091 is made to the buffer.
3092
0f8b27ea
SM
30932008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
3094
3095 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
3096 (face_at_string_position):
3097 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
3098 (face_at_string_position):
3099 * xdisp.c (display_string, next_overlay_change):
3100 * buffer.h (overlays_at):
3101 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
3102 Update callers.
3103
4e7c53ca
CY
31042008-02-26 Chong Yidong <cyd@stupidchicken.com>
3105
3106 * editfns.c (Fformat): Doc fix.
3107
51c01100
JB
31082008-02-26 Juanma Barranquero <lekktu@gmail.com>
3109
3110 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
3111 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
3112 (Ffont_otf_alternates, Fquery_font): Doc fixes.
3113
13cda5f9
SM
31142008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3115
3116 * buffer.c (Fbuffer_swap_text): New function.
3117 (syms_of_buffer): Defsubr it.
3118
8018d430
CY
31192008-02-25 Chong Yidong <cyd@stupidchicken.com>
3120
3121 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
3122
9bde1a21
JR
31232008-02-25 Jason Rumney <jasonr@gnu.org>
3124
3125 * w32font.c (w32font_draw): Draw one character at a time when padding.
3126
eeca6f6f
SM
31272008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3128
3129 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
3130 Handle a nil arg. Use run_window_configuration_change_hook.
3131 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
3132 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
3133 Use run_window_configuration_change_hook.
3134
ec1c4354
KH
31352008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3136
3137 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
3138 1-pixel width.
3139
ae185452
KH
31402008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3141
3142 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
3143 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
3144 if the glyph in the font is zero pixel with.
3145
3146 * dispextern.h (struct glyph_string): New member padding_p.
3147
3148 * w32font.c (w32font_draw): Pay attention to s->padding_p.
3149
3150 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
3151
3152 * xfont.c (xfont_draw): Pay attention to s->padding_p.
3153
3154 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
3155
eeca6f6f 3156 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 3157
ffe832ea 31582008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 3159
ffe832ea 3160 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 3161
06045130
SM
31622008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
3163
3164 Allow fine-grained image-cache flushing.
3165 * dispextern.h (struct image): Add `dependencies' field.
3166 (clear_image_caches): Change arg to Lisp_Object.
3167 * image.c (make_image): Initialize `dependencies' field.
3168 (clear_image_cache): Change arg to allow fine-grained flushing.
3169 Perform the flush even if image-cache-eviction-delay is nil.
3170 (clear_image_caches): Change arg to Lisp_Object.
3171 (Fclear_image_cache): Expand meaning of the argument.
3172 (mark_image): Mark `dependencies' field.
3173 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
3174 (lface_hash): Use XHASH rather than XFASTINT.
3175 (face_at_buffer_position): Fix int -> EMACS_INT position.
3176 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
3177 (select_frame_for_redisplay): Remove code duplication.
3178 (redisplay_internal): Adapt arg to call to clear_image_caches.
3179
9d2818d6
DN
31802008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
3181
3182 * s/vms4-0.h:
3183 * s/vms4-2.h:
3184 * s/vms4-4.h:
3185 * s/vms5-5.h: Remove, unused.
3186
3187 * s/irix5-2.h:
3188 * s/irix6-0.h:
3189 * s/riscos5.h:
3190 * s/mach-bsd4-3.h:
2a2e8de7 3191 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
3192
3193 * Makefile.in:
3194 * filelock.c:
3195 * unexmips.c:
3196 * m/hp9000s300.h:
3197 * m/iris4d.h:
3198 * s/aix3-1.h:
3199 * s/hpux.h:
3200 * s/msdos.h:
3201 * s/usg5-0.h:
3202 * s/usg5-2-2.h:
3203 * s/usg5-2.h:
3204 * s/usg5-3.h: Remove references to obsolete variables.
3205
3206 * s/irix5-0.h: Remove, move all the contents ...
3207 * s/irix6-5.h: ... here. Simplify.
3208 * config.in: Regenerate.
3209
2a36efcf
JR
32102008-02-24 Jason Rumney <jasonr@gnu.org>
3211
c5ad7a3d 3212 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
3213 manually when cleartype is in use.
3214 (x_draw_glyph_string_foreground): Draw text transparently when
3215 cleartype is in use.
3216
2a36efcf
JR
3217 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
3218 a font into it unless we have to.
3219
b03f96dc 32202008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 3221
b03f96dc
MB
3222 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
3223 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 3224
b03f96dc 32252008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 3226
b03f96dc 3227 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 3228
b03f96dc 32292008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 3230
b03f96dc 3231 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 3232
b03f96dc 32332008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 3234
b03f96dc 3235 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 3236
d5958163
CY
32372008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
3238
3239 * xterm.c (x_set_offset): Don't change the gravity if
3240 CHANGE_GRAVITY is -1.
3241
9997701e
CY
32422008-02-23 Chong Yidong <cyd@stupidchicken.com>
3243
3244 * fileio.c (auto_save_error_occurred): New var.
3245 (auto_save_error): Set it.
3246 (Fdo_auto_save): Don't overwrite the error message if an auto-save
3247 error occurred.
3248
9d95a291
EZ
32492008-02-23 Eli Zaretskii <eliz@gnu.org>
3250
3251 * w32.c (globals_of_w32): Add initializations for
3252 g_b_init_get_sid_sub_authority and
3253 g_b_init_get_sid_sub_authority_count.
3254
43d1af23
SM
32552008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
3256
43a1d19b
SM
3257 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
3258 (font_parse_xlfd): Use them for sanity check.
608c3307 3259 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 3260
354884c4
SM
3261 Consolidate the image_cache to the terminal struct.
3262 * termhooks.h (P_): Remove redundant def.
3263 (struct terminal): New field `image_cache'.
3264 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
3265 of FRAME_X_IMAGE_CACHE.
3266 * xterm.h (struct x_display_info): Remove image_cache field.
3267 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3268 * w32term.h (struct w32_display_info): Remove image_cache field.
3269 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3270 * macterm.h (struct mac_display_info): Remove image_cache field.
3271 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3272 * xterm.c (x_term_init):
3273 * w32term.c (w32_term_init):
3274 * macterm.c (mac_term_init): Set the image_cache in the terminal.
3275 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
3276 Remove declarations.
3277 (clear_image_caches, mark_image_cache): New declarations.
3278 * xfaces.c (clear_face_cache):
3279 * xdisp.c (redisplay_internal): Use clear_image_caches.
3280 * image.c (clear_image_cache): Don't check that a frame is on
3281 a window-system before checking if it shares the same cache.
3282 (clear_image_caches): New function.
3283 (Fclear_image_cache): Use it.
3284 (mark_image): Move from allo.c.
3285 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
3286 * alloc.c (mark_image, mark_image_cache): Move to image.c.
3287 (mark_object): Don't call mark_image_cache for frames.
3288 (mark_terminals): Call mark_image_cache.
3289
c2e42690
SM
3290 * lisp.h (Fdelete_terminal): Declare.
3291
43d1af23
SM
3292 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
3293 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
3294 wrong_type_argument.
3295
cc8d1311
KH
32962008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
3297
3298 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 3299 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 3300
6bd92640
SM
33012008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
3302
3303 * xterm.c (x_connection_closed): Consolidate identical tests.
3304 (x_delete_terminal): Don't crash if called via x_connection_closed.
3305
a73b5627
KH
33062008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
3307
3308 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 3309 (display_mode_element): Adjust for the above change.
a73b5627 3310
1b511542
SM
33112008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3312
3313 * callint.c (Fcall_interactively): Use AREF.
3314
81aefea4
SM
33152008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
3316
3317 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
3318
880820fe 33192008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
3320
3321 * xfns.c (Fx_show_tip): Set string to " " if empty.
3322
a2b84f35
DN
33232008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
3324
3325 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
3326 with Qt.
3327
43c0454d
KH
33282008-02-17 Kenichi Handa <handa@m17n.org>
3329
3330 * ftfont.c (ftfont_shape): Return Lispy number.
3331
3332 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
3333 for GCs.
3334 (Finternal_set_font_selection_order): Call font_update_sort_order
3335 only when enable_font_backend is set.
3336 (realize_x_face): Set face->font_info to that of default face only
3337 when enable_font_backend is set.
3338
3339 * xdisp.c (handle_composition_prop): Set it->c to the fist
3340 characte of the composed region.
3341 (fill_composite_glyph_string): Set base_face->font_info to
3342 s->font_info. Get a face for ascii from base_face->ascii_face.
3343 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
3344 with a face already decided.
3345 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
3346 non-negative.
978bef9a
JB
3347 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
3348 call font_prepare_composition unconditionally.
43c0454d 3349
978bef9a 3350 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
3351
3352 * xterm.h (struct x_display_info): New member font.
3353
3354 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
3355 (x_set_mouse_face_gc, x_new_font): Likewise.
3356 (x_term_init): Setup display_info->font.
3357 (x_delete_terminal): Free display_info->font.
3358
3359 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
3360
3361 * ftxfont.c (ftxfont_default_fid): Delete it.
3362 (ftxfont_open): Set xfont->fid to 0.
978bef9a 3363 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
3364 font-driver.
3365
3366 * xftfont.c (xftfont_default_fid): Delete it.
3367 (xftfont_open): Set xfont->fid to 0.
3368
3369 * fontset.c (FONTSET_OBJLIST): New macro.
3370 (fontset_find_font): Update font-object list of the fontset.
3371 (free_realized_fontset): New function.
3372 (free_face_fontset): Call free_realized_fontset.
3373 (Ffont_info): Call font_close_object only when enable_font_backend
3374 is set.
3375
3376 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
3377 [HAVE_NTGUI]: Include w32term.h.
3378 [MAC_OS]: Include macterm.ch.
3379 (font_otf_ValueRecord): Use make_number.
3380 (font_finish_cache): Fix handling of reference count.
3381 (font_clear_cache): Update num_fonts.
3382 (font_open_entity): Update smallest_char_width and
3383 smallest_font_height of the frame.
3384 (font_close_object): Update num_fonts.
3385 (Fclear_font_cache): Fix finding the target cache data.
3386
be617367
GM
33872008-02-16 Glenn Morris <rgm@gnu.org>
3388
3389 * fontset.c (Finternal_char_font): Fix compilation warning.
3390
2930d117
EZ
33912008-02-16 Eli Zaretskii <eliz@gnu.org>
3392
634d3003
EZ
3393 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
3394 instead of char arrays. Enlarge the size of array passed to
3395 get_token_information.
3396
2930d117
EZ
3397 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
3398 warnings.
3399
79214046
DN
34002008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
3401
3402 * .gdbinit: Don't set `args', it breaks gdb --args.
3403
7f5d2c72
SM
34042008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
3405
3406 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
3407 within a narrowed buffer.
3408
6edacc43
KH
34092008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
3410
b270d6af
JB
3411 * coding.c (decode_coding_object, encode_coding_object):
3412 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 3413
174105f7
SM
34142008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
3415
b270d6af
JB
3416 * coding.c (coding_set_destination): Use BEG_BYTE rather than
3417 hardcoding 1.
13818c30
SM
3418 (detect_coding_system):
3419 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
3420 (string_char_to_byte, string_byte_to_char, insert_from_gap):
3421 * insdel.c (insert_from_gap):
3422 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
3423 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
3424 (string_to_multibyte):
3425 * character.c (chars_in_text, multibyte_chars_in_text):
3426 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
3427
f1c99628
SM
3428 * character.h (FETCH_STRING_CHAR_ADVANCE)
3429 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
3430 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
3431 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
3432
7927d8e3
SM
3433 * casefiddle.c (casify_region): Only call after-change and composition
3434 functions on the part of the region that was changed.
3435
adf6a429 3436 * keyboard.c (read_avail_input):
174105f7
SM
3437 * frame.c (Fdelete_frame): Call Fdelete_terminal.
3438
3ee24aec
SM
34392008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3440
3441 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
3442 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
3443
4ed4b975
JB
34442008-02-11 Juanma Barranquero <lekktu@gmail.com>
3445
3446 * w32menu.c (push_submenu_start, push_submenu_end)
3447 (push_left_right_boundary, push_menu_pane, push_menu_item):
3448 * keyboard.c (read_key_sequence): Don't pass args with side effects
3449 to AREF, it fails when compiling with -DENABLE_CHECKING.
3450
79e3bfb8
KH
34512008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
3452
4ed4b975
JB
3453 * Makefile.in (${lispsource}international/charprop.el):
3454 Delete this target.
6e76043f 3455
79e3bfb8
KH
3456 * search.c (boyer_moore): Fix incorrect synching of the trunk and
3457 emacs-unicode-2.
3458
5b8de9c5
SM
34592008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3460
3461 * terminal.c (Fdelete_terminal): Clean up the `force' path.
3462
eac1939a
SM
34632008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3464
c53956fe
SM
3465 * frame.c (Qnoelisp): New symbol.
3466 (syms_of_frame): Initialize it.
3467 (Fdelete_frame): Use it to distinguish a mere `force' passed from
3468 someharmles Elisp code, from a strong `force' from x_connection_closed.
3469 * frame.h (Qnoelisp): Declare.
3470 * xterm.c (x_connection_closed): Pass `noelisp'.
3471
eac1939a
SM
3472 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
3473 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
3474 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
3475 rather than `int' for the type of `type'.
3476
13f6772b
DN
34772008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
3478
3479 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
3480
3481 * Makefile.in (GNUC): Remove support for gcc-1.x.
3482
e8455367
RS
34832008-02-10 Richard Stallman <rms@gnu.org>
3484
3485 * lisp.h (ASET): Use AREF, not ASLOT.
3486
4b75ffab
SM
34872008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3488
3489 * lisp.h (ASET): Check bounds.
3490
d224e8c2
GM
34912008-02-10 Glenn Morris <rgm@gnu.org>
3492
3493 * buffer.c (mode-name): Doc fix.
3494
4624371d
DN
34952008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3496
290afd83
JB
3497 * Makefile.in:
3498 * emacs.c:
3499 * gmalloc.c:
3500 * keyboard.c:
3501 * lisp.h:
3502 * m/ibm370aix.h:
3503 * process.c:
3504 * regex.c:
3505 * s/hpux.h:
3506 * sysdep.c:
3507 * sysselect.h:
3508 * systty.h:
3509 * unexec.c:
3510 * w32term.c:
3511 * xsmfns.c:
3512 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
3513
3514 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
3515
3516 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
3517 nothing else needs it anymore.
3518
274ec34b
EZ
35192008-02-09 Eli Zaretskii <eliz@gnu.org>
3520
3521 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
3522 instead of unibyte_char_to_multibyte.
3523
deeaffe1
DN
35242008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3525
3526 * s/gnu-linux.h: Remove commented out code.
3527
4ed4b975 3528 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
3529
3530 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 3531 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 3532 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
3533 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
3534 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
3535
68b587a6
SM
35362008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
3537
9141ca5e
SM
3538 * keymap.c (Fkey_description): Move side effect outside of macro call.
3539
dfae5f9a 3540 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
3541 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
3542
ff7a2223
SM
3543 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
3544 (syms_of_fontset): Use ASET.
3545
68b587a6
SM
3546 * fns.c (concat): Move side effect outside of macro call.
3547 (hash_clear): Use ASET.
3548
a31787b1
RS
35492008-02-08 Richard Stallman <rms@gnu.org>
3550
3551 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
3552 If FORCE, and frame has a surrogate minibuffer for another frame,
3553 delete the other frame first.
3554
987be29b 35552008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
3556
3557 * xterm.c (x_detect_focus_change): Handle embed client message.
3558 (handle_one_xevent): Ditto.
3559 (handle_one_xevent): If embedded and we get a button press/release,
3560 request focus.
3561 (xembed_set_info, xembed_send_message): New functions.
3562 (x_make_frame_visible): Call xembed_set_info if embedded.
3563 (x_make_frame_invisible): Call xembed_set_info if embedded.
3564 (x_term_init): Initialize Xatom_XEMBED.
3565 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
3566 (x_iconify_frame): Ditto.
3567
3568 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
3569 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
3570 (enum xembed_modifier, enum xembed_accelerator): New.
3571 (xembed_set_info, xembed_send_message): Declare.
3572 (FRAME_X_EMBEDDED_P): New.
3573
3574 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
3575 gtk_plug_new.
3576
3577 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
3578 window ID of a frame.
3579 (x_window): Reparent frame if embedded.
3580 (Fx_create_frame): Don't set border width if embedded.
3581
1f204af3 3582 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
3583 (standard_args): Ditto.
3584
880820fe 35852008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
3586
3587 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
3588
92413ef3
JD
35892008-02-07 Jim Meyering <meyering@redhat.com>
3590
6f69e89b 3591 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
3592 The latter provokes a warning from gcc about the empty else, when
3593 followed by ";". Also, without that trailing semicolon, it would
3594 silently swallow up any following statement.
c3f9fba8 3595 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
3596 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
3597 * buffer.h (DECODE_POSITION): Likewise.
3598 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
3599 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
3600 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
3601 (FETCH_CHAR_ADVANCE): Likewise.
3602 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 3603
03fa5713
GM
36042008-02-07 Jim Meyering <meyering@redhat.com>
3605
3606 * lread.c [lint]: Don't include <sys/inode.h>.
3607
3ae565b3
SM
36082008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
3609
3610 * xselect.c (x_handle_dnd_message):
3611 * xmenu.c (digest_single_submenu, xmenu_show):
3612 * xdisp.c (with_echo_area_buffer_unwind_data)
3613 (format_mode_line_unwind_data, unwind_format_mode_line)
3614 (display_menu_bar):
3615 * eval.c (Ffetch_bytecode):
3616 * doc.c (store_function_docstring):
3617 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
3618 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
3619 * buffer.c (add_overlay_mod_hooklist): Use ASET.
3620
146b6e55
KH
36212008-02-07 Kenichi Handa <handa@m17n.org>
3622
3623 * ftxfont.c (ftxfont_open): Don't set
3624 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
3625
3626 * ftfont.c (ftfont_open): Fix previous change.
3627
46a923ac
JR
36282008-02-06 Jason Rumney <jasonr@gnu.org>
3629
3630 * w32font.c (w32font_text_extents): Fill in lbearing metric.
3631 Use cached metrics for ASCII characters.
3ae565b3
SM
3632 (w32font_open_internal): Don't set font's owning_frame.
3633 Cache metrics for ASCII characters.
46a923ac
JR
3634
3635 * w32font.h (struct w32font_info): Add ascii_metrics.
3636 Remove owning_frame.
3637
da7d7c21
KH
36382008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
3639
3640 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
3641 to negative value.
3642
3643 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
3644
3ae565b3 3645 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
3646
3647 * charset.c (syms_of_charset): Set QCtest and Qeq.
3648
c62c8ddb
SM
36492008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
3650
ca319910
SM
3651 * process.c (Fstart_process):
3652 * callproc.c (Fcall_process): Handle the case where
3653 Funhandled_file_name_directory returns nil.
3654
76860cbb
SM
3655 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
3656 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
3657 * font.c (check_gstring): Use them and AREF to access the vector before
3658 we know it's really a gstring.
3659 (Ffont_shape_text): Fix typo.
3660 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 3661
15139d67
SM
3662 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
3663 Declare.
3664
c62c8ddb
SM
3665 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
3666
04b65d2b
JR
36672008-02-05 Jason Rumney <jasonr@gnu.org>
3668
3669 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
3670 Set smallest_font_height and smallest_char_width in display info.
3671
fccaebfd
KH
36722008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
3673
3674 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
3675
e7d7fd8c
MB
36762008-02-05 Miles Bader <miles@gnu.org>
3677
3678 * xfaces.c (get_lface_attributes, merge_named_face)
3679 (lookup_named_face, lookup_derived_face, realize_named_face):
3680 Revert 2008-02-01 change by cyd@stupidchicken.com.
3681
3d4448a8
KH
36822008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
3683
3684 * fontset.c (Ffontset_info): Handle the case of inhibitting the
3685 fallback fonts.
15139d67 3686 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 3687
5ace1ec1
JR
36882008-02-04 Jason Rumney <jasonr@gnu.org>
3689
3690 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
3691 set full_name.
e3a77b22 3692 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 3693
ffe42183
JR
36942008-02-03 Jason Rumney <jasonr@gnu.org>
3695
3696 * makefile.w32-in (OBJ1): Include font.o here.
3697 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
3698
526dc3b3
JR
36992008-02-02 Jason Rumney <jasonr@gnu.org>
3700
a0fece35 3701 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 3702
af805c82
JR
37032008-02-01 Jason Rumney <jasonr@gnu.org>
3704
3705 * s/cygwin.h: Define VIRT_ADDR_VARIES.
3706
3707 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
3708
7f6519c5
AS
37092008-02-01 Andreas Schwab <schwab@suse.de>
3710
1f45f627 3711 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 3712 ../lisp/language/myanmar.el.
7f6519c5 3713
26f8aa27
CY
37142008-02-01 Chong Yidong <cyd@stupidchicken.com>
3715
1f45f627 3716 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
3717 (merge_named_face, lookup_named_face, lookup_derived_face)
3718 (realize_named_face): Call lface_from_face_name directly, and use
3719 the fact that merge_face_vectors does not alter its FROM argument.
3720
73acf815 37212008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3722
3723 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 3724 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 3725
73acf815 37262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3727
3728 * fontset.c (reorder_font_vector): Exclude nil elements from the
3729 font group. Don't try multiple fonts.
15139d67 3730 (fontset_font): Adjust for the above change.
aca7a3d2
MB
3731 (Finternal_char_font): Return nil if the found font doesn't
3732 contain the character ch.
3733
4c4475a8 3734 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 3735
73acf815 37362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3737
3738 * font.h (FONTP): Make it return 1 also for a font-object.
3739
3740 * .gdbinit (xfontset): New function.
3741
3742 * font.c (font_find_for_lface): Check if the character C is
3743 supported or not only for the first font.
3744
3745 * fontset.c (reorder_font_vector): Fix typo.
3746 (fontset_find_font): Don't add a font-spec specifying a script.
3747 Use 0 (not Qt) for the indication of empty font-group. Change the
3748 format of RFONT-DEF. Return Qt if no font in the font-group
3749 support the character.
15139d67 3750 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 3751 found the character, remember that.
15139d67 3752 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
3753 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
3754 no font for the target.
15139d67 3755 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 3756
73acf815 37572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3758
3759 * font.c (font_load_for_face): Handle the case that the font in
3760 face->lface is a string.
3761
73acf815 37622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3763
1f45f627 3764 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 3765
73acf815 37662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3767
3768 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
3769 Fix previous change. If the frame is not on a window system,
3770 signal an error.
3771
73acf815 37722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3773
4c4475a8
GM
3774 * coding.c (decode_coding_object, encode_coding_object): Adjust
3775 marker positions after conversion.
aca7a3d2
MB
3776
3777 * lisp.h (struct Lisp_Marker): New member need_adjustment.
3778
73acf815 37792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3780
3781 * font.c (font_find_for_lface): Fix the handling of the return
3782 value of font_has_char.
3783 (Ffont_shape_text): Fix previous change.
3784
3785 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
3786 (fontset_ref_and_range): Delete it.
3787 (fontset_find_font): Call char_table_ref_and_range instead of
3788 FONTSET_REF_AND_RANGE.
3789 (make_fontset): Don't setup font groups of Latin here.
3790 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
3791 (new_fontset_from_font): Make the specified font the default for
3792 all Latin characters.
3793
73acf815 37942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3795
3796 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
3797 is on a window system before accessing the fontset of the frame.
3798
73acf815 37992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3800
1f45f627 3801 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
3802
3803 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
3804 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
3805
3806 * font.c (Ffont_shape_text): If the font driver doesn't have a
3807 shaper function, make zero-width glyphs to have at least one-pixel
3808 width. Fix setting of `to' field of glyphs.
3809
73acf815 38102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3811
3812 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
3813 glyphs.
3814
1f45f627 3815 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 3816
73acf815 38172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3818
3819 * composite.c (syms_of_composite): Fix docstring of
3820 auto-composition-function.
3821
3822 * font.h (LGLYPH_SIZE): New macro.
3823
3824 * font.c (Ffont_fill_gstring): Stop filling when a character not
3825 supported by the font is found.
3826 (Ffont_shape_text): When a shape callback function returns nil,
3827 try at most two more times with larger gstring.
15139d67 3828 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
3829
3830 * xdisp.c (handle_auto_composed_prop): Change the argument to
3831 auto-composition-function.
3832
3833 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
3834 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
3835 Lispy glyph and store it in the lgstring.
3836
3837 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
3838
3839 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
3840
73acf815 38412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3842
3843 * font.c (Ffont_shape_text): Avoid unnecessary composition.
3844
3845 * fontset.c (Vfont_encoding_charset_alist): New variable.
3846 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
3847 (reorder_font_vector, fontset_find_font): Optimize for the case of
3848 no need of reordering.
aca7a3d2
MB
3849 (face_for_char): Map the charset property by
3850 Vfont_encoding_charset_alist.
3851
73acf815 38522008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3853
3854 * w32font.c (logfonts_match): Don't check adstyle here.
3855 (font_matches_spec): Check here against physical font instead.
3856 (add_font_entity_to_list): Avoid some substitutions.
3857
3858 * font.c (font_parse_fcname): Default weight and slant to normal.
3859 (font_score): Prefer normal fonts if weight or slant unspecified.
3860 (font_score) [WINDOWSNT]: Scale weight difference down to closer
3861 match freetype scores.
3862
73acf815 38632008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3864
3865 * w32font.c (w32font_text_extents): Don't use the frame stored in the
3866 font, as it may have been deleted.
3867 (w32_enumfont_pattern_entity): Map generic family to adstyle using
3868 most common hyphenless variation.
3869 (logfonts_match): Check generic family.
3870 (font_matches_spec): Don't check generic family here.
3871 (fill_in_logfont): Set generic family based on adstyle.
3872
3873 * w32font.h (w32font_get_cache): Update declaration.
3874
73acf815 38752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3876
3877 * ftfont.c (ftfont_get_cache): Adjust the argument type.
3878
15139d67 3879 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 3880 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
3881 with the old drivers.
3882
3883 * w32font.c (w32font_get_cache): Adjust the argument type.
3884
3885 * xfont.c (xfont_get_cache): Adjust the argument type.
3886
3887 * font.h (struct font_driver): Change argument type of get_cache.
3888
3889 * xftfont.c (xftfont_start_for_frame): Delete prototype.
3890
3891 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 3892 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 3893 (font_clear_cache): New function.
4c4475a8 3894 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 3895 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
3896
3897 * fontset.c (fontset_find_font): Fix previous change.
3898
73acf815 38992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3900
3901 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
3902 dpyinfo->font_table.
3903 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 3904 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
3905
3906 * font.c (font_at): Handle the case that the arg C is negative.
3907 Handle the unibyte case.
3908 (Ffont_at): Call font_at with the arg C -1.
3909
3910 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
3911 the position here, and call font_at with the arg C -1.
3912 Don't check the range of the existing composition at the point.
aca7a3d2 3913
73acf815 39142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3915
15139d67 3916 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 3917 Change caller.
4c4475a8
GM
3918 (load_font_get_repertory, fontset_find_font): Assume that
3919 font_spec is always a font-spec object.
aca7a3d2
MB
3920 (Fset_fontset_font): Always store a font-spec object in a fontset.
3921
3922 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
3923 instead of get_property_and_range.
3924
73acf815 39252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3926
3927 * xftfont.c (struct xftfont_info): Delete the member ft_face.
3928 (xftfont_open): Don't keep locking face.
3929 (xftfont_close): Don't unlock face.
4c4475a8 3930 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
3931
3932 * fontset.c (fontset_find_font): Don't prefer a font of
3933 supplementary charset.
3934
73acf815 39352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3936
1f45f627
GM
3937 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
3938 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
3939 (OTF_TAG_STR): Terminate by '\0'.
3940 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
3941 listing to the script specified in that property. Fix arg to
3942 OTF_check_features.
3943
73acf815 39442008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3945
3946 * w32font.h: New file.
3947
3948 * w32font.c: Include it.
3949 (struct w32font_info): Add owning_frame field. Move to w32font.h.
3950 (w32font_open): Set owning_frame.
3951 (w32font_text_extents): Use owning_frame.
3952 (struct font_callback_data): Add opentype_only field.
3953 (add_font_entity_to_list): Use it to filter fonts.
3954 Don't check against full name.
3955 (w32font_list_internal): New function.
3956 (w32font_list): Use it.
3957 (w32font_match_internal): New function.
3958 (w32font_match): Use it.
3959 (w32font_open_internal): New function.
3960 (w32font_open): Use it.
3961 (w32font_get_cache, w32font_close, w32font_has_char)
3962 (w32font_encode_char, w32font_text_extents, w32font_draw):
3963 Make non-static.
3964
3965 * makefile.w32-in (w32font.o): Depend on w32font.h.
3966
73acf815 39672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3968
3969 * charset.c (Fdefine_charset_internal): Record a supplementary
3970 charset at the tail of Vcharset_order_list.
3971
3972 * font.c (Ffont_shape_text): Fix the return value.
3973
3974 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
3975
3976 * xdisp.c (handle_auto_composed_prop): Fix previous change.
3977
73acf815 39782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3979
3980 * ftfont.c (struct OpenTypeSpec): New struct.
3981 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
3982 (ftfont_get_open_type_spec): New function.
3983 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
3984
15139d67 3985 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 3986
73acf815 39872008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3988
3989 * w32font.c (add_font_entity_to_list): Compare only the beginning
3990 of full name.
3991
73acf815 39922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3993
15139d67
SM
3994 * xdisp.c (handle_auto_composed_prop): Simplify the code.
3995 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 3996
73acf815 39972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3998
3999 * font.c (font_gstring_produce): Delete it.
4000
15139d67
SM
4001 * composite.h (COMPOSITION_METHOD):
4002 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 4003
73acf815 40042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 4005
15139d67 4006 * xfont.c (Qx): Delete.
aca7a3d2
MB
4007 (syms_of_xfont): Don't initialize Qx.
4008
15139d67
SM
4009 * composite.h (enum composition_method):
4010 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 4011
73acf815 40122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4013
4014 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
4015 (choose_face_font): Accept new form of font-spec.
4016
4017 * frame.h (font_driver_list): Declare it unconditionally.
4018 (struct frame): Define members font_driver_list and font_data_list
4019 unconditionally.
4020
4021 * fontset.c: Include "font.h" unconditionally.
15139d67 4022 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
4023 (Fset_fontset_font): Accept a font-spec object.
4024
4025 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
4026 PIXEL_SIZE part a wild card.
4027
4028 * dispextern.h (struct glyph_string): Define members clip and
4029 num_clips unconditionally.
4030 (struct face): Define members font_info and extra unconditionally.
4031
4032 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
4033 ftfont_info only when HAVE_LIBOTF is defined.
4034
73acf815 40352008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4036
4037 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
4038 and end.
4039
73acf815 40402008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4041
4042 * w32font.c (w32font_driver): Add new fields.
4043
73acf815 40442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 4045
aca7a3d2
MB
4046 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
4047 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
4048 (LIBES): Add @M17N_FLT_CFLAGS@.
4049
4050 * composite.c (compose_text): Don't treat the new style
4051 composition specially.
4052
4053 * emacs.c (main): Call syms_of_font unconditionally.
4054
4055 * font.h (FONT_ENTITY_NOT_LOADABLE)
4056 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 4057 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 4058 (struct font_driver): New member shape.
1f45f627 4059 (font_registry_charsets): Extern it.
4c4475a8 4060 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
4061 (font_otf_capability, font_drive_otf): Delete their externs.
4062
4063 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
4064 (font_charset_alist, font_registry_charsets): Move from xfont.c
4065 and rename.
aca7a3d2
MB
4066 (font_prop_validate_otf): New function.
4067 (font_property_table): Register it for QCotf.
4068 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 4069 (font_drive_otf): Delete.
1f45f627 4070 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
4071 lispy gstring.
4072 (font_find_for_lface): New arg C.
15139d67 4073 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
4074 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
4075 lispy gstring.
aca7a3d2
MB
4076 (Ffont_shape_text): New function.
4077 (Fopen_font): If the font size is not given, use 12-pixel.
4078 (Ffont_at): New arg STRING.
15139d67
SM
4079 (syms_of_font): Initalize font_charset_alist.
4080 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
4081 conditionally.
4082
4083 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
4084 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
4085 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
4086 Adjust for the change of RFONT-DEF.
15139d67 4087 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
4088
4089 * ftfont.h: New file.
4090
4091 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
4092 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4093 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4094 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
4095 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 4096 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
4097 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
4098 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
4099 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 4100 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
4101 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
4102 (otf_gstring, gstring, m17n_flt_initialized): New variables.
4103
15139d67
SM
4104 * w32term.c (x_draw_composite_glyph_string_foreground):
4105 Adjust for the change of lispy gstring.
aca7a3d2 4106
15139d67 4107 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 4108 lispy gstring. Call a function for auto-composition with the
15139d67
SM
4109 third arg it->window.
4110 (fill_composite_glyph_string): Adjust for the change of lispy string.
4111 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 4112
15139d67 4113 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4114 font_find_for_lface.
4115
1f45f627
GM
4116 * xfont.c (x_font_charset_alist): Move to font.c and rename.
4117 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
4118 (syms_of_xfont): Don't handle x_font_charset_alist.
4119
4120 * xftfont.c: Include "ftfont.h".
15139d67 4121 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
4122 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4123 (xftfont_close) [HAVE_LIBOTF]: Close otf.
4124 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
4125 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
4126 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 4127
15139d67 4128 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
4129 the change of lispy gstring.
4130
73acf815 41312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4132
4133 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
4134
73acf815 41352008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4136
4137 * w32font.c (w32font_draw): Fill background manually.
4138
73acf815 41392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4140
4141 * font.c (Qfontp): Remove unused symbol.
4142 (QCantialias): New symbol.
4143 (syms_of_font): Define it.
4144 (font_property_table): Set a validator for QCantialias.
4145
15139d67
SM
4146 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
4147 Define if not already.
aca7a3d2
MB
4148 (QCfamily): Share with xfaces.c.
4149 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 4150 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
4151 (w32_antialias_type, lispy_antialias_type): New functions.
4152 (w32_enumfont_pattern_entity): New arg requested_font.
4153 Set antialias parameter if non-default was requested.
4154 (fill_in_logfont): Fill in lfQuality if :antialias specified.
4155
73acf815 41562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4157
4158 * lread.c (read1): Undo the previous change.
4159
73acf815 41602008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
4161
4162 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 4163 USE_FONT_BACKEND is defined.
aca7a3d2 4164
73acf815 41652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4166
4167 * font.h (struct font_bitmap): New member bits_per_pixel.
4168 (struct font_driver): New members start_for_frame and end_for_frame.
4169 (struct font_data_list): New struct.
4170 (font_put_frame_data, font_get_frame_data): Extern them.
4171
4172 * frame.h (struct frame): New member font_data_list.
4173
4174 * font.c (font_update_drivers): Call driver->start_for_frame and
4175 driver->end_for_frame at proper timings.
4176 (font_put_frame_data, font_get_frame_data): New functions.
4177 (Ffont_spec): Add usage in the docstring.
4178
4179 * frame.c (make_frame): Initialize f->font_data_list to NULL.
4180 (Fdelete_frame): Call font_update_drivers.
4181
4182 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 4183 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
4184 (xftfont_get_xft_draw): New function.
4185 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
4186 (xftfont_end_for_frame): New function.
4187 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
4188
15139d67 4189 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 4190 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
4191 (struct ftxfont_frame_data): New struct.
4192 (ftxfont_draw_bitmap): New arg gc_fore and flush.
4193 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 4194 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
4195 (ftxfont_end_for_frame): New function.
4196 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
4197
4198 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
4199
73acf815 42002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4201
4202 * xselect.c (Vselection_coding_system)
4203 (Vnext_selection_coding_system): Delete them.
4204 (syms_of_xselect): Don't declare selection-coding-system and
4205 next-selection-coding-system. They are declared in select.el.
4206
73acf815 42072008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4208
4209 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
4210
4211 * w32fns.c: Include imm.h.
4212 (get_composition_string_fn, get_ime_context_fn): New optional
4213 system functions.
4214 (globals_of_w32fns): Load them from imm32.dll.
4215 (ignore_ime_char): New flag.
4216 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
4217 WM_IME_ENDCOMPOSITION messages.
4218
4219 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
4220 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
4221
73acf815 42222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4223
4224 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
4225 (READCHAR_REPORT_MULTIBYTE): New macro.
4226 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
4227 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
4228 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
4229 source.
4230
73acf815 42312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4232
4233 * xfaces.c (face_for_overlay_string): Call lookup_face with
4234 correct arguments (fix of synching with the trunk).
4235
73acf815 42362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4237
4c4475a8
GM
4238 * font.c (font_prop_validate_symbol, font_prop_validate_style)
4239 (font_prop_validate_non_neg, font_prop_validate_spacing):
4240 Delete argument prop_index.
15139d67
SM
4241 (font_property_table): Change arguments to validater. Change Callers.
4242 (font_lispy_object): Delete.
aca7a3d2
MB
4243 (font_at): Use font_find_object instead fo font_lispy_object.
4244
73acf815 42452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
4246
4247 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
4248 and file names.
4249
73acf815 42502008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4251
4252 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
4253 (font_matches_spec): Remove debug output.
4254 (add_font_entity_to_list): Avoid using substituted fonts.
4255
73acf815 42562008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4257
4258 * doc.c (Fsnarf_documentation):
4259 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
4260
73acf815 42612008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 4262
290afd83 4263 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
4264 HAVE_WINDOW_SYSTEM is defined.
4265
73acf815 42662008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
4267
4268 Fix up multi-tty merge.
4269
4270 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
4271 and indentation.
4272
4273 * xfaces.c (free_realized_face, clear_face_gcs):
4274 Include font_done_for_face in the input_blocked section, just in case.
4275
4276 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
4277 (get_char_face_and_encoding): Undo last change and remove the *other*
4278 duplicate definition (i.e. keep the one that's better scoped and that
4279 includes code for the font-backend).
4280
4281 * terminal.c (create_terminal): Default keyboard_coding to
4282 `no-conversion' and terminal_coding to `undecided'.
4283
4284 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
4285
4286 * fontset.c (free_realized_fontsets): Check that the table entry does
4287 contain a fontset before trying to compare it to `base'.
4288
4289 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
4290 syms_of_charset, and syms_of_coding earlier because init_window_once
4291 now needs Vcoding_system_hash_table to be setup.
4292
4293 * coding.h (default_buffer_file_coding): Remove.
4294
4295 * coding.c (default_buffer_file_coding): Remove.
4296 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
4297 than ->symbol, and use the terminal-local coding system.
4298 (syms_of_coding): Don't setup the coding-systems that are not
4299 terminal-local.
4300 (Fdefine_coding_system_internal): Use XCAR/XCDR.
4301
4302 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
4303 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
4304
4305 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
4306 in chartab.c and were re-added here by mistake.
4307 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
4308
4309 * doc.c (Fsnarf_documentation):
4310 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
4311 src to etc.
4312
4313 * ChangeLog.10: Add mistakenly removed entry.
4314
73acf815 43152008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
4316
4317 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
4318
73acf815 43192008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4320
4321 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
4322 Add extra args to FACE_FOR_CHAR.
4323
73acf815 43242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4325
4326 * keymap.c (where_is_internal_1): If key is a cons, store the copy
4327 in sequence.
4328
4c4475a8
GM
4329 * chartab.c (map_sub_char_table, map_char_table): If the range
4330 contains just one character, call the function with that character
4331 even if the depth is not 3.
aca7a3d2 4332
73acf815 43332008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4334
4335 * w32font.c (w32font_text_extents): Calculate metrics for the
4336 whole string.
4337
73acf815 43382008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4339
4340 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
4341
73acf815 43422008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4343
4344 * w32term.c (x_set_glyph_string_clipping): Use
4345 get_glyph_string_clip_rects.
4c4475a8
GM
4346 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
4347 Adjust for the change of struct glyph_string.
aca7a3d2
MB
4348
4349 * w32font.c (w32font_draw): Do clipping here.
4350
73acf815 43512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4352
1f45f627 4353 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
4354 glyph_string.
4355
4356 * xterm.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 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
4362 the resulting clip(s}.
1f45f627 4363 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
4364 row->clip temporarily.
4365 (expose_window): Redraw rows overlapping the exposed area.
4366
4367 * dispextern.h (struct glyph_row): New member clip.
4368 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
4369 clip_height, new member clip, and num_clips.
4370
73acf815 43712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4372
4373 * data.c (Fchar_or_string_p): Fix docstring.
4374
73acf815 43752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4376
4377 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
4378 create a temporal XftDraw object.
4379
73acf815 43802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4381
4382 * font.c (Ffontp): Fix docstring.
4383
4384 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
4385 strong evidence of ISO-2022.
4386
73acf815 43872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4388
4389 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
4390 SYNTAX_ENTRY_FOLLOW_PARENT.
4391
73acf815 43922008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
4393
4394 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
4395 its type.
4396 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
4397 Update to the new type of weak_hash_tables and next_weak.
4398
4399 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
4400 a plain C pointer to Lisp_Hash_Table.
4401
4402 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
4403 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
4404 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
4405 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
4406 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
4407 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
4408 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
4409 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
4410 (GC_EQ): Remove since they've been identical to their non-GC_
4411 alter-egos ever since the markbit was eradicated.
4412
290afd83
JB
4413 * alloc.c:
4414 * buffer.c:
4415 * buffer.h:
4416 * data.c:
4417 * fileio.c:
4418 * filelock.c:
4419 * fns.c:
4420 * frame.h:
4421 * lisp.h:
4422 * macterm.c:
4423 * print.c:
4424 * process.c:
4425 * w32fns.c:
4426 * w32menu.c:
4427 * w32term.c:
4428 * xfns.c:
4429 * xmenu.c:
4430 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 4431
73acf815 44322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4433
4434 * chartab.c (map_sub_char_table): Make it work for the top-level
4435 char-table. Fix handling of parent char-table.
c5ad7a3d 4436 (map_char_table): Adjust for the above change.
aca7a3d2 4437
73acf815 44382008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4439
4440 * w32font.c (Qgdi): Rename from Qw32.
4441
73acf815 44422008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4443
4444 * w32bdf.c (get_quoted_string): Make function static.
4445
73acf815 44462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4447
4448 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
4449 bigger ascent and descent than those of the font, use them as
4450 font's ascent and descent.
4451
73acf815 44522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4453
4454 * Makefile.in (${lispsource}international/charprop.el): Move this
4455 target within "#ifdef HAVE_UNIDATA" and "#endif".
4456
73acf815 44572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4458
4459 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
4460 (shortlisp): Add ../lisp/language/tai-viet.el.
4461
1f45f627 44622008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
4463
4464 * Makefile.in (${lispsource}international/charprop.el): Depend on
4465 temacs${EXEEXT}.
4466
73acf815 44672008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4468
4469 * w32font.c (w32font_close): Delete the GDI font object.
4470
6f69e89b 4471 * w32menu.c: Include character.h.
aca7a3d2
MB
4472
4473 * w32proc.c: Likewise.
4474
4475 * w32select.c: Likewise.
4476
6f69e89b 4477 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 4478
73acf815 44792008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4480
4481 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
4482
4483 * w32menu.c (syms_of_w32menu): Likewise.
4484
4485 * w32proc.c (syms_of_ntproc): Likewise.
4486
4487 * w32select.c (syms_of_w32select): Likewise.
4488
4489 * w32term.c (syms_of_w32term): Likewise.
4490
73acf815 44912008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4492
4493 * w32font.c (w32font_draw): Delete brush after using it.
4494
73acf815 44952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4496
4497 * w32font.c (w32font_open): Don't set font_idx.
4498 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
4499 to font settings.
4500 (w32font_draw): Fill background explicitly.
4501
73acf815 45022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4503
4504 * w32term.c (w32_initialize): Don't call w32font_initialize.
4505
4506 * w32font.c (w32font_info): Remove subranges.
4507 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
4508 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
4509 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
4510 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
4511 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
4512 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
4513 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
4514 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
4515 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
4516 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
4517 New symbols.
4518 (font_callback_data): New struct.
4519 (w32font_list, w32font_match): Use it.
4520 (w32font_open): Don't populate subranges.
4521 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
4522 (w32font_encode_char): Always return unicode code-point as-is.
4523 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
4524 GetGlyphOutline. Never look up by glyph index. Avoid looping
4525 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 4526 glyph index version.
1f204af3 4527 (set_fonts_frame): Remove.
aca7a3d2 4528 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
4529 set frame parameter. Use backward compatible fake foundries.
4530 Save generic family in extra slot under QCfamily. Make width slot
4531 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
4532 binary subranges.
4533 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 4534 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
4535 unwanted fonts.
4536 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
4537 (w32_registry): Default to iso10646_1.
4538 (fill_in_logfont): Use dpi from extra slot. Don't bother with
4539 string font registries. Don't fill in font name if it is a generic
4540 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
4541 extra info to fill pitch, family and charset fields.
4542 (list_all_matching_fonts): Use font_callback_data struct.
4543 (unicode_range_for_char): Remove.
4544 (font_supported_scripts): New function.
4545 (w32font_initialize): Remove.
4546 (syms_of_w32font): Update which symbols are defined.
4547
73acf815 45482008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4549
4550 * font.c (font_pixel_size): Reverse assq_no_quit args.
4551
4552 * w32term.h (FONT_WIDTH): Report max width, not average.
4553 (FONT_MAX_WIDTH): Remove.
4554 (FONT_AVG_WIDTH): New macro.
4555
4556 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
4557 redefinition of FONT_WIDTH.
4558
4559 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
4560 (w32_cache_char_metrics): Use FONT_WIDTH.
4561
4562 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
4563
73acf815 45642008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4565
4566 * w32font.c (w32font_open): Make lfHeight negative.
4567
4568 * w32fns.c (x_default_font_parameter): Use new style font name.
4569 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
4570
73acf815 45712008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4572
4573 * w32font.c (QCsubranges): New symbol.
4574 (w32font_open, w32font_has_char): Get subranges from subproperty
4575 of extra.
4576 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
4577 (syms_of_w32font): Define :subranges symbol.
4578
4579 * font.c (font_put_extra): Expose externally.
4580
1f45f627 4581 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
4582
4583 * font.c (Ffont_get): Use font driver to determine otf capability.
4584 (adjust_anchor): Check if driver defines anchor_point before using.
4585
4586 * w32font.c (w32font_open): Handle size, height and pixel_size better.
4587 (w32font_draw): Use options.
4588 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
4589 Fix detection of truetype fonts.
4590 (registry_to_w32_charset): Handle charsets other than iso8859-1
4591 expressed as lisp symbols.
4592 (w32_registry): Express charset as lisp symbol.
4593 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 4594 Don't set width here. Set quality to default.
aca7a3d2
MB
4595
4596 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
4597 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
4598
4599 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4600 Remove redundant loop and allocation.
4601
4602 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 4603 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
4604 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
4605
4606 * xdisp.c (fill_composite_glyph_string): Make the first arg to
4607 STORE_XCHARB a valid l-value.
4608
4609 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
4610 calculations for non-Truetype fonts.
4611 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
4612 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4613 Remove redundant code.
aca7a3d2
MB
4614 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
4615
4616 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
4617 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
4618
4619 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
4620 (x_to_w32_charset, w32_to_x_charset): Expose externally.
4621
4622 * w32font.c: New file for w32 font backend.
4623
73acf815 46242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4625
4626 * term.c: Don't include "buffer.h" twice.
4627
73acf815 46282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4629
4630 * character.c (Funibyte_string): New function.
4631 (syms_of_character): Defsubr it.
4632
73acf815 46332008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4634
4635 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
4636 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
4637 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
4638 (x_draw_glyph_string, x_draw_glyph_string_foreground)
4639 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
4640 (x_free_frame_resources): Sync with xterm.c.
4641
73acf815 46422008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4643
4644 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
4645 char-table size.
4646
73acf815 46472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4648
c3f9fba8 4649 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 4650
73acf815 46512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4652
4653 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
4654 font_otf_gpos, add font_drive_otf.
4655
4656 * fontset.c (fontset_find_font): Pay attention to font size
4657 specified for a font.
4658 (reorder_font_vector): Check contents of font_def.
4659
4660 * font.c (struct otf_list): Delete it.
6f69e89b 4661 (otf_list): Make it a lisp variable.
aca7a3d2 4662 (otf_open): Use lispy otf_list.
1f45f627 4663 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 4664 (check_otf_features): New function.
c3f9fba8
JB
4665 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4666 New functions.
aca7a3d2
MB
4667 (font_drive_otf): New function merging font_otf_gsub and
4668 font_otf_gpos.
4669 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 4670 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
4671 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
4672 Ffont_otf_gpos.
4673 (syms_of_font): Staticpro otf_list. Delete defsubr of
4674 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
4675
1f45f627 4676 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4677 font_open_for_lface.
4678
4679 * font.h (font_open_for_lface): Adjust prototype.
4680 (struct font_driver): Delete members otf_gsub and otf_gpos, add
4681 member otf_drive.
4682 (font_otf_gsub, font_otf_gpos): Delete externs.
4683 (font_drive_otf): Extern it.
4684
73acf815 46852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4686
4687 * font.c (font_at): If the window W is not on a window system,
4688 return Qnil.
4689
4c4475a8
GM
4690 * coding.c (produce_chars, encode_coding): Don't call
4691 insert_from_gap if no characters to produce.
aca7a3d2 4692
73acf815 46932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4694
4695 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
4696 Fclear_face_cache.
4697
4698 * xfaces.c (face_for_font): Check also face->font==font->font.font.
4699
73acf815 47002008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4701
4702 * emacs.c (main): Change default value of `enable_font_backend' to 1.
4703 Parse "--disable-font-backend" option.
4704 (standard_args): Add "--disable-font-backend" option.
4705
73acf815 47062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4707
4708 * fontset.c (fontset_find_font): New function.
4709 (fontset_font): Use fontset_find_font.
4710 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
4711 Register the specified font for all Latin characters.
4712 (new_fontset_from_font): Register the specified font for all Latin
4713 characters.
4714 (dump_fontset): For a realized fontset, include the base fontset
4715 name in the returned vector.
4716
73acf815 47172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4718
4719 * character.h (CHAR_STRING): Cast C to unsigned on calling
4720 char_string.
4721
4722 * character.c (char_string): Type of arg C changed to unsigned.
4723 Signal an error if C is an invalid character code.
4724
4c4475a8
GM
4725 * editfns.c (general_insert_function, Fchar_to_string):
4726 Use CHARACTERP, not INTEGERP.
aca7a3d2 4727
73acf815 47282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4729
4730 * character.h (MIN_MULTIBYTE_LEADING_CODE)
4731 (MAX_MULTIBYTE_LEADING_CODE): New macros.
4732
4733 * regex.c (analyse_first): Fix for multibyte characters in "case
4734 charset:" and "case categoryspec:".
4735
73acf815 47362008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4737
4738 * Makefile.in (LIBES): Move standard libraries to the end.
4739
73acf815 47402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4741
4742 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
4743 nonzero, don't shrink the buffer nextb.
4744
4745 * buffer.h (struct buffer_text): New member inhibit_shrinking.
4746
4747 * coding.c (coding_alloc_by_making_gap): New arg offset.
4748 (alloc_destination): Call coding_alloc_by_making_gap with the arg
4749 offset.
4750 (decode_coding_iso_2022): Update coding->safe_charsets.
4751 (decode_coding_gap): Temporarily set
4752 current_buffer->text->inhibit_shrinking to 1.
4753
73acf815 47542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4755
4756 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
4757 indexing into elements of s->cmp and s->char2b.
4758
73acf815 47592008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
4760
4761 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
4762
73acf815 47632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4764
4765 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
4766 target_multibyte instead of multibyte.
4767 (re_match_2_internal): Call bcmp_translate with target_multibyte.
4768 (bcmp_translate): Change the argument name from multibyte to
4769 target_multibyte.
4770
73acf815 47712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4772
4773 These changes are to compile a regexp into a pattern that can be
4774 used both for multibyte and unibyte targets.
4775
4776 * Makefile.in (search.o): Depend on charset.h.
4777
4778 * character.c (multibyte_char_to_unibyte_safe): New function.
4779
4780 * search.c: Include "charset.h".
4781 (compile_pattern_1): Delete argument multibyte. Don't set
4782 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
4783 (compile_pattern): Don't compare cp->buf.target_multibyte.
4784 Compare cp->buf.charset_unibyte.
4785 (compile_pattern): Set cp->buf.target_multibyte.
4786
4787 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
4788
4789 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
4790
4791 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 4792 multibyte. Change callers.
aca7a3d2 4793 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
4794 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
4795 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
4796 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
4797 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
4798 (regex_compile): Make the compiled pattern usable both for
4799 multibyte and unibyte targets.
4800 (analyse_first): Make the fastmap usable both for multibyte and
4801 unibyte targets.
1f45f627 4802 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
4803 (re_match_2_internal): Pay attention to the case that the
4804 multibyteness of bufp and target may be different.
4805
73acf815 48062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4807
4808 * xdisp.c (x_produce_glyphs): When a font is not found, make the
4809 empty box occupy at least one column width.
4810
73acf815 48112008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4812
4813 * Makefile.in: Remove redundant HAVE_XFT clause.
4814
73acf815 48152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4816
4817 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
4818
73acf815 48192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4820
4821 * fontset.c (Finternal_char_font): Fix for the case of POSITION
4822 being nil.
4823
73acf815 48242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4825
4826 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
4827
73acf815 48282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4829
4830 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
4831
73acf815 48322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4833
4834 * search.c (simple_search): Fix previous change.
4835
73acf815 48362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4837
4838 * xftfont.c (ftfont_font_format): Extern declaration.
4839
4840 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
4841
4842 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
4843 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
4844
4845 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
4846 (ftfont_font_format): Fix previous change.
4847
4848 * font.h (Ffont_xlfd_name): EXFUN it.
4849
4850 * font.c (font_parse_xlfd): Fix the array size of `f'.
4851 (register_font_driver): Use EQ to compare driver->type.
4852
4853 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
4854 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
4855 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
4856
73acf815 48572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4858
4c4475a8
GM
4859 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
4860 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 4861
73acf815 48622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4863
4864 * xfont.c (xfont_open): Set font->format.
4865
4866 * xftfont.c (xftfont_open): Set font->format.
4867
4868 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
4869 (ftfont_list): Include FC_FONTFORMAT in FcObject.
4870 (ftfont_open): Set font->format.
4871 (ftfont_font_format): New function.
4872
4873 * font.h (struct font): New memeber format.
4874
4875 * font.c (Qopentype): New variable.
4876 (syms_of_font): Defsym it.
4877 (Fquery_font): Change the format of the last element of the return
4878 value.
4879
73acf815 48802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4881
4882 * xfns.c (xic_create_xfontset): Try the default fontset name as a
4883 last resort.
4884
73acf815 48852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4886
4887 * coding.c (detect_coding_charset): Fix detection of multi-byte
4888 charset.
4889
73acf815 48902008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
4891
4892 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
4893
73acf815 48942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4895
4896 * xdisp.c (get_next_display_element): Set it->face_id for the
4897 first component of a composition.
1f45f627 4898 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 4899
73acf815 49002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4901
4902 * fontset.c (Qlatin): New variable.
4903 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 4904 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 4905
73acf815 49062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4907
4908 * font.c (font_unparse_fcname): Pay attention to the case that
4909 some of font property is a null string.
4910
73acf815 49112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4912
4913 * term.c: Include "composite.h".
4914 (encode_terminal_code): Output all components of composition.
4915 Check the size of encode_terminal_src.
424c157f 4916 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
4917 (append_composite_glyph, produce_composite_glyph): New functions.
4918
4919 * xdisp.c (x_produce_glyphs): In handling composition, if a font
4920 is not found, get font_info from the current ascii face.
4921
73acf815 49222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4923
4924 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
4925 buffer-file-name to Qnil before calling insert_from_buffer.
4926
4927 * font.c (font_unparse_fcname): Pay attention to the case that
4928 foundry is a null string.
4929
73acf815 49302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4931
4932 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
4933
4934 * font.c (Qunicode_sip): New variable.
4935 (syms_of_font): Declare it as a Lisp symbol.
4936
4937 * font.h (Qunicode_sip): Extern it.
4938
73acf815 49392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4940
1f45f627 4941 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
4942
4943 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 4944 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
4945 the first elememnt of allocated memory.
4946
1f45f627 4947 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
4948
4949 * xdisp.c (handle_composition_prop): Set it->c to the first
4950 non-TAB component.
1f45f627
GM
4951 (fill_composite_glyph_string): Change argument.
4952 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
4953 (x_produce_glyphs): Fix handling of left/right padding.
4954
73acf815 49552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4956
4957 * coding.c (detect_coding_system): Fix for handling off
4958 inhibit_iso_escape_detection. Fix for the case that no coding
4959 system is defined for a specific coding category.
4960
73acf815 49612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4962
1f45f627 4963 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
4964
4965 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
4966 opening a font.
4967
4968 * fileio.c (Finsert_file_contents): On recovering a file, assume
4969 Unix-like eol.
4970 (choose_write_coding_system): On auto-saving a file, force
4971 Unix-like eol.
4972
4973 * coding.c (setup_coding_system): Fix setting of
4974 coding->common_flags based on eol_type.
4975 (coding_inherit_eol_type): If PARENT is not nil, be sure to
4976 inherit from it.
4977
73acf815 49782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4979
1f45f627 4980 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 4981
73acf815 49822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4983
1f45f627 4984 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
4985 (ftfont_list): Don't check :name property.
4986 (ftfont_match): New function.
4987 (ftfont_pattern_entity): If the pattern doesn't contain
4988 FC_SPACING, don't assuce FC_MONO.
4989
4990 * font.h (struct font_driver): New member `match'.
1f45f627 4991 (font_update_drivers): Adjust prototype.
aca7a3d2 4992
4c4475a8
GM
4993 * font.c (font_parse_fcname, font_parse_name): Don't change :name
4994 property of FONT.
aca7a3d2
MB
4995 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
4996 them unconditionally.
4997 (font_matching_entity): New function.
4998 (font_open_by_name): Try font_matching_entity if exact match is
4999 not found.
5000 (font_update_drivers): Delete the arg FONT. Return a list of
5001 actually used backends. Don't free faces, font caches here.
5002 Don't store data in frame parameters. Don't call x_set_font.
5003 (Ffont_spec): Store :name property as is.
5004 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
5005 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
5006 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
5007 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
5008 Call font->driver->otf_gsub instead of font_otf_gsub.
5009
5010 * frame.c (x_set_font_backend): Do more works that were done in
5011 font_update_drivers before.
5012
5013 * xfont.c (xfont_match): New function.
5014 (xfont_driver): Set xfont_driver.match to xfont_match.
5015 (xfont_draw): Set font in GC if necessary.
5016
5017 * ftxfont.c (ftxfont_match): New function.
5018 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
5019
5020 * xftfont.c (xftfont_match): New function.
5021 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
5022
73acf815 50232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5024
5025 * font.h (struct font): New member scalable.
5026 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 5027 (font_otf_gsub): Adjust prototype.
aca7a3d2 5028
1f45f627
GM
5029 * font.c (font_otf_capability): Fix handling of the default langsys.
5030 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
5031 Check the contents of SPEC.
5032 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
5033 (check_gstring): New function.
5034 (REPLACEMENT_CHARACTER): New macro.
5035 (font_otf_gsub): New arg alternate_subst. Be sure to set all
5036 glyph codes of GSTRING.
5037 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
5038 (font_prepare_composition): Set cmp->glyph_len.
5039 (font_open_entity): Set font->scalable.
5040 (Ffont_get): Handle :otf property.
5041 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
5042 functions.
5043 (Fquery_font): Use font->font.full_name.
5044 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
5045 Sfont_otf_alternates.
5046
5047 * ftfont.c (ftfont_open): Set font->font.full_name and
5048 font->font.name properly. Fix calculation of font->font.height
5049 and font->min_width.
5050
5051 * ftxfont.c (ftxfont_create_gcs): New function.
5052 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
5053 (ftxfont_draw_backgrond): Fix filling region.
5054 (ftxfont_default_fid): New function.
5055 (ftxfont_open): Set xfotn->fid to the return value of
5056 ftxfont_default_fid.
5057 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
5058 (ftxfont_done_face): Free only GCs that are created by
5059 ftxfont_create_gcs.
5060 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
5061
5062 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
5063 Clip to src->width, etc (not src->clip_XXX).
5064
5065 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
5066 FontBackend frame parameter.
5067
73acf815 50682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5069
5070 * font.h (struct font_driver_list): New member `on'.
5071 (Fclear_font_cache): EXFUN it.
5072 (font_update_drivers): Extern it.
5073
5074 * font.c (font_unparse_fcname): Fix typo (swidth->width).
5075 (font_list_entities): Check driver_list->on.
5076 (register_font_driver): Initalize `on' member to 0.
5077 (font_update_drivers): New function.
5078 (Fclear_font_cache): Check driver_list->on.
5079
5080 * frame.h (Qfont_backend): Extern it.
5081 (x_set_font_backend): Extern it.
5082
5083 * frame.c (Qfont_backend): New variable.
5084 (frame_parms): New element for font-backend.
5085 (x_set_font_backend): New function.
5086
5087 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
5088 FontBackend frame parameter.
5089 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
5090 x_set_font_backend.
5091
5092 * xfont.c (xfont_list): Don't try listing by :name property if the
5093 name is not for XLFD.
5094
73acf815 50952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5096
5097 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
5098 (LGLYPH_SET_TO): New macros.
5099 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
5100 element of G is vector or not.
5101 (font_at): Extern it.
5102
5103 * font.c: Include window.h.
5104 (font_lispy_object): New function.
5105 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
5106 end of valid glyph.
5107 (font_close_object): Fix getting (struct font *).
5108 (font_at): New function.
5109 (Ffont_get): If FONT is a font-object, get entity from it.
5110 (Ffont_make_gstring): Initialize elements of glyphs with nil.
5111 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
5112 range check.
5113 (Ffont_at): New function.
5114 (syms_of_font): Defsubr Sfont_at.
5115
5116 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 5117 before the entry for Qcomposition.
1f45f627 5118 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
5119 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
5120 the font in gstring.
5121 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
5122 LGLYPH_FORM (g) to detect the end of valid glyph.
5123 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
5124 we are composing with gstring.
5125
5126 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
5127 Check if adjustment is vector or not.
5128
5129 * Makefile.in (font.o): Make it depends on window.h.
5130
73acf815 51312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5132
5133 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
5134 adjustment is vector or not.
5135
73acf815 51362008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5137
5138 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
5139
73acf815 51402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5141
5142 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
5143 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
5144 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
5145
1f45f627 5146 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 5147 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
5148 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
5149 LGLYPH format.
aca7a3d2 5150
1f45f627 5151 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5152 the change of LGLYPH format.
5153
73acf815 51542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5155
5156 * ftfont.c (ftfont_list): Fix typo.
1f45f627 5157 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 5158
880820fe 51592008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
5160
5161 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
5162
5163 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
5164 xftface_info is non-NULL.
5165
880820fe 51662008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 5167
1f45f627 5168 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 5169
73acf815 51702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5171
5172 * ftfont.c (ftfont_list): Pay attention to the case that
5173 FC_CAPABILITY is not defined.
5174
73acf815 51752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5176
5177 * xftfont.c (xftfont_open): Set charset related members to -1.
5178
1f45f627
GM
5179 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
5180 QCname.
aca7a3d2
MB
5181 (ftfont_open): Set charset related members to -1.
5182
5183 * fontset.c (Votf_script_alist): New variable.
5184 (syms_of_fontset): Initialize it.
5185 (fontset_font): Delete unused variable.
5186
5187 * fontset.h (Votf_script_alist): Extern it.
5188
1f45f627 5189 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
5190
5191 * font.h (font_close_object, font_merge_old_spec): Extern them.
5192
73acf815 51932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5194
5195 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
5196 (syms_of_font): Initialize them.
5197 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
5198 (font_prop_validate_type): Delete.
5199 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
5200 Change caller.
5201 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
5202 (font_prop_validate_extra): Delete.
aca7a3d2
MB
5203 (font_prop_validate_spacing): New function.
5204 (font_property_table): Add elements for all known properties.
1f45f627
GM
5205 (get_font_prop_index): Rename from check_font_prop_name. New
5206 argument FROM. Change caller.
aca7a3d2 5207 (font_prop_validate): Validate all known properties.
1f45f627 5208 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
5209 (font_expand_wildcards): Make it static. Fix the way of shrinking
5210 the possible range.
1f45f627 5211 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 5212 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 5213 Change caller.
aca7a3d2 5214 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
5215 (font_parse_fcname): Delete argument merge. Fix parsing of point
5216 size. Don't validate properties values here. Change caller.
5217 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
5218 (font_open_by_name): Delete unused variable.
5219 (Ffont_spec): Likewise. Validate property values.
5220 (Ffont_match_p): New function.
5221
5222 * font.h (QCscalable): Extern it.
1f45f627 5223 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 5224
1f45f627 5225 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 5226
1f45f627 5227 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
5228 (xfont_list_pattern): New function.
5229 (xfont_list): Use xfont_list_pattern.
5230
73acf815 52312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5232
5233 * font.h (Flist_fonts): EXFUN it.
5234
73acf815 52352008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5236
5237 * w32term.c (w32_initialize): Add back smoothing_type and
5238 smoothing_enabled definitions.
5239
73acf815 52402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5241
5242 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
5243 s->face->font on determining underline position.
5244
73acf815 52452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5246
5247 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
5248 (font_has_char): Accept font-object too.
5249 (font_find_for_lface): Try at first with a size specified in face.
5250
73acf815 52512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5252
5253 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
5254 font_open_by_name.
5255
73acf815 52562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5257
5258 * font.h (QCspacing, QCdpi): Extern them.
5259 (enum font_spacing): New enum.
5260 (FONT_PIXEL_SIZE_QUANTUM): New macro.
5261
5262 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
5263 (QCspacing, QCdpi): New variables.
5264 (syms_of_font): Initialize them.
5265 (font_pixel_size): New function.
5266 (font_put_extra): New function.
5267 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
5268 in FONT_EXTRA.
e9184ccb
JB
5269 (font_parse_fcname): Handle enumenrated values (e.g. bold).
5270 Fix handling font size. Add QCname property that contains only
aca7a3d2 5271 unknown properties.
1f45f627 5272 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 5273 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
5274 (font_sort_entites, font_list_entities, font_find_for_lface)
5275 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 5276 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
5277
5278 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
5279 include weight in listing pattern, instead check weight of each
5280 listed font. Don't include scalable in pattern. Pay attention to
5281 FONT_PIXEL_SIZE_QUANTUM.
5282
73acf815 52832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5284
aca7a3d2 5285 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 5286 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
5287 (font_list_entities): Handle float size correctly.
5288 (font_open_by_name): Prefer `normal' property values if the name
5289 doesn't specify them.
5290
5291 * fontset.c (Finternal_char_font): Use font_get_name, not
5292 Ffont_xlfd_name.
5293
5294 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
5295 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
5296 pattern. Don't force scalable.
5297
5298 * xftfont.c (xftfont_open): For generating a name, start from
5299 96-byte buffer.
5300
880820fe 53012008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
5302
5303 * frame.h (x_new_fontset2): Fix prototype.
5304
73acf815 53052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5306
1f45f627 5307 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
5308 (font_match_p, font_get_spec, font_parse_fcname)
5309 (font_unparse_fcname): Extern them.
1f45f627 5310 (font_get_name): Adjust prototype.
aca7a3d2
MB
5311
5312 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
5313 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
5314 (font_expand_wildcards): Fix handling ENCODING field. Avoid
5315 unnecessary checks for weight, slant, and swidth.
5316 (font_parse_fcname): New function.
5317 (font_unparse_fcname): New function.
5318 (font_parse_name): New function.
5319 (font_match_p): New function.
1f45f627 5320 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
5321 (font_get_spec): New function.
5322 (Qunspecified, Qignore_defface): Don't extern them.
5323 (font_find_for_lface): Assume that LFACE is fully specified.
5324 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
5325 object, use it for FACE.
5326 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
5327 driver->parse_name.
5328 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
5329
1f45f627
GM
5330 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
5331 prototype.
aca7a3d2 5332
1f45f627
GM
5333 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
5334 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
5335 make_fontset.
5336
1f45f627 5337 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 5338
1f45f627 5339 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
5340 of x_new_fontset2.
5341
5342 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
5343 (Qsans__serif): New variables.
5344 (ftfont_generic_family_list): New variable.
5345 (syms_of_ftfont): Initialize the above variables.
1f45f627 5346 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
5347 (ftfont_list_generic_family): New function.
5348 (ftfont_parse_name): Delete this function.
1f45f627 5349 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
5350 (ftfont_list_family): Fix args to FcObjectSetBuild.
5351
5352 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
5353 object in attrs[LFACE_FONT_INDEX].
5354 (set_lface_from_font_name): Cancel all changes for font-backend.
5355 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
5356 function.
5357 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
5358 font object in QCfont attribute.
5359 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
5360 (realize_default_face) [USE_FONT_BACKEND]: Call
5361 set_lface_from_font_and_fontset.
5362
5363 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
5364 "fixed", and signal error here if no suitable font was found.
5365
5366 * xfont.c (xfont_parse_name): Delete this function.
5367
5368 * xftfont.c (xftfont_open): Change coding style of error
5369 handling. Generate fontconfig's fontname pattern.
5370
5371 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
5372 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
5373
5374 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
5375 Both args FONTSET and FONT_OBJECT must be existing ones.
5376
73acf815 53772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5378
5379 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
5380
73acf815 53812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5382
5383 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
5384
5385 * font.h (struct font): Fix typo.
5386
5387 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
5388 XLFD_XXX_INDEX.
5389 (enum xlfd_field_mask): New enum.
1f45f627 5390 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
5391 are followed by non-digits, return a symbol.
5392 (font_expand_wildcards): New function.
5393 (font_parse_xlfd): Fix wildcard handling.
5394 (Ffont_spec): If :name is specified, reflect the info in the other
5395 properties.
5396
5397 * ftfont.c (ftfont_pattern_entity): Fix typo.
5398 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
5399 locale.
5400
73acf815 54012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5402
5403 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
5404
1f45f627 5405 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
5406 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
5407 registry doesn't specify encoding part.
5408 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
5409 (font_open_by_name): At first try parsing the name.
5410 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
5411 as Lisp symbols.
5412
5413 * fontset.c (reorder_font_vector): Pay attention to the case that
5414 the 3rd element of font_def is nil.
5415 (fontset_font): For the default fontset, append one more fontset
5416 elements for a script-based font specification. Don't add script
5417 attribute on finding a font.
5418 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
5419 font name.
5420 (fontset_ascii_font): If a font can't be opened, return nil.
5421
1f45f627 5422 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
5423 (ftfont_pattern_entity): New function.
5424 (ftfont_get_cache): Assume that freetype_font_cache is already
5425 initialized.
5426 (ftfont_list): Handle the case that a file is specified in font
5427 name. Use ftfont_pattern_entity to generate entities.
5428 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
5429 (syms_of_ftfont): Initialize freetype_font_cache.
5430
5431 * xftfont.c (xftfont_open): Make the font name fontconfig's
5432 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
5433 (xftfont_close): Free font->font.name if not NULL.
5434
5435 * xfont.c (xfont_list): If script is specified for a font, return
5436 null_vector.
5437 (xfont_list_family): Declare argument type.
5438
5439 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
5440 name, set LFACE_FONT (lface) to nil.
5441
5442 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
5443 return Qnil.
5444
73acf815 54452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5446
1f45f627 5447 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
5448 (standard_args): Add "-enable-font-backend".
5449
73acf815 54502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5451
5452 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
5453 (struct xftdraw_list, xftdraw_list): Delete them.
5454 (register_xftdraw, check_xftdraw): Delete them.
5455 (xftfont_prepare_face): Don't call register_xftdraw.
5456 (xftfont_done_face): Don't call check_xftdraw.
5457 (xftfont_draw): Get backroudn color only when with_background is
5458 nonzero.
5459
5460 * xfont.c (xfont_encode_char): Fix calculation of char2b.
5461
73acf815 54622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5463
5464 These changes are for the new font handling codes.
5465
5466 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
5467 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
5468 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
5469 (FONTSRC, FONTOBJ): New variables.
5470 (obj): Add $(FONTOBJ).
5471 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
5472 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
5473 @LIBOTF_LIBS@.
5474 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 5475 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 5476
1f45f627 5477 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
5478
5479 * character.h (Vscript_representative_chars): Extern it.
5480
5481 * character.c (Vscript_representative_chars): New variable.
5482 (syms_of_character): Declare it as a Lisp variable.
5483
5484 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
5485 enable_font_backend is nonzero, accept the composition method
5486 COMPOSITION_WITH_GLYPH_STRING.
5487
5488 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
5489 enumeration COMPOSITION_WITH_GLYPH_STRING.
5490
aca7a3d2
MB
5491 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
5492 members clip_x, clip_y, clip_width, and clip_height.
5493 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
5494
5495 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
5496 --enable-font-backend. Call syms_of_font.
5497
5498 * fns.c (assoc_no_quit): New function.
5499
5500 * fontset.h (FONT_INFO_FROM_FACE): New macro.
5501 (face_for_font, new_fontset_from_font)
5502 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
5503
5504 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
5505 (fontset_font, fontset_ascii, face_for_char)
5506 (make_fontset_for_ascii_face, Ffont_info)
5507 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
5508 is nonzero, use font-backend mechanism.
5509 (find_font_encoding): Make it non-static.
5510 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
5511 New functions.
5512
5513 * frame.h (struct frame): New members resx and resy.
5514 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
5515 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
5516
5517 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 5518 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
5519
5520 * lisp.h (assoc_no_quit): Extern it.
5521
5522 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
5523 Through out the file, use FONT_INFO_FROM_FACE instead of
5524 FONT_INFO_FROM_ID, use get_per_char_metric instead of
5525 rif->per_char_metric.
5526 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
5527 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
5528 (get_glyph_face_and_encoding, fill_composite_glyph_string)
5529 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
5530 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
5531 nonzero, use font-backend mechanism.
5532 (get_per_char_metric): New function.
5533
5534 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
5535 (set_lface_from_font_name)
5536 (set_font_frame_param, free_realized_face)
5537 (prepare_face_for_display, clear_face_gcs)
5538 (Finternal_set_font_selection_order, realize_x_face)
5539 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
5540 font-backend mechanism.
1f45f627 5541 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
5542 (load_face_font) [USE_FONT_BACKEND]: Abort.
5543 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 5544 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
5545
5546 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
5547 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
5548 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
5549 nonzero, register all available font drivers. Call
5550 x_default_font_parameter for deciding a font.
5551 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
5552
5553 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
5554 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
5555 (x_set_glyph_string_clipping_exactly)
5556 (x_compute_glyph_string_overhangs)
5557 (x_draw_glyph_string_foreground)
5558 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
5559 (x_free_frame_resources) [USE_FONT_BACKEND]: If
5560 enable_font_backend is nonzero, use font-backend mechanism.
5561 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
5562
73acf815 55632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5564
fcb314b2 5565 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
5566 system_eol_type.
5567 (syms_of_coding): Initialize system_eol_type.
5568
fcb314b2
GM
5569 * process.c (Fset_process_coding_system): Inherit system's eol
5570 format if necessary.
aca7a3d2 5571
73acf815 55722008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5573
5574 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
5575
73acf815 55762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5577
5578 * coding.c (decode_eol): Pay attention to buffer relocation in
5579 del_range_2.
5580 (decode_coding): Call decode_eol before restoring undo_list.
5581
73acf815 55822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5583
5584 * charset.c (Fdefine_charset_internal): Fix setting of
5585 emacs_mule_bytes.
5586
73acf815 55872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5588
5589 * keyboard.c (read_char): Check if C is a character or not before
5590 looking up Vkeyboard_translate_table.
5591
73acf815 55922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5593
5594 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
5595 condition to terminate the loop.
5596
73acf815 55972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5598
5599 * coding.c (produce_composition): Compare charbuf[i] instead of
5600 args[i] against 0.
5601 (Fterminal_coding_system): Use EQ to compare Lisp objects.
5602
73acf815 56032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5604
5605 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
5606 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
5607 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
5608 detect_coding.
5609 (emacs_mule_char): Handle old style (Emacs 20) component character
5610 of a composition.
4c4475a8
GM
5611 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
5612 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
5613 composition rule.
aca7a3d2
MB
5614 (decode_coding_emacs_mule): Handle invalid bytes correctly.
5615
73acf815 56162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5617
5618 * coding.c (encode_coding_ccl): Allocate destination dynamically
5619 when necessary.
5620
73acf815 56212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5622
5623 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
5624 the loop. When quitted, show a proper error message.
5625
73acf815 56262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5627
aca7a3d2
MB
5628 * xterm.c (x_set_glyph_string_clipping_exactly): Set
5629 src->clip_head and src->clip_tail temporarily instead of src->hl.
5630
5631 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
5632 character sequence.
5633 (Fccl_execute_on_string): Use ASET, not XSET.
5634
73acf815 56352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5636
1f45f627 5637 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 5638
73acf815 56392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5640
5641 * coding.c (decode_coding): Fix the condition of terminating the
5642 decoding loop.
5643
73acf815 56442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5645
5646 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 5647 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 5648
73acf815 56492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5650
5651 * charset.c (map_charset_chars): Fix for ascii-compatible charset
5652 made by a mapping table.
5653
73acf815 56542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5655
5656 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
5657 not.
5658 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
5659 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
5660
5661 * xterm.c (x_draw_composite_glyph_string_foreground): Check
5662 s->face is NULL or not.
5663
73acf815 56642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5665
5666 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
5667 (x_draw_glyph_string): Fix drawing of right_overhang and
5668 left_overhang around/on cursor.
5669
1f45f627 5670 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 5671
73acf815 56722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5673
5674 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
5675
73acf815 56762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5677
4c4475a8
GM
5678 * coding.c (Fdefine_coding_system_internal)
5679 (Fdefine_coding_system_alias): Avoid a duplicated element in
5680 Vcoding_system_alist.
aca7a3d2 5681
73acf815 56822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5683
5684 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
5685
fcb314b2 5686 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
5687 (syms_of_coding): Intern and staticpro it.
5688 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 5689 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
5690
5691 * coding.h (CODING_SYSTEM_P): If ID is not available, call
5692 Fcoding_system_p.
5693 (CHECK_CODING_SYSTEM): If ID is not available, call
5694 Fcheck_coding_system.
4c4475a8
GM
5695 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
5696 Try also Fcheck_coding_system.
aca7a3d2 5697
73acf815 56982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5699
aca7a3d2
MB
5700 * coding.c (code_conversion_restore): GCPRO arg.
5701
73acf815 57022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5703
5704 * character.c (lisp_string_width): Check multibyteness of STRING.
5705
73acf815 57062008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5707
5708 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
5709 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
5710 (decode_mac_font_name): Use decode_coding_c_string instead of
5711 decode_coding.
5712 (x_load_font): Initialize fontp->fontset to -1. Set
5713 fontp->encoding_type.
5714
73acf815 57152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5716
5717 * search.c (search_buffer): Give up BM search on case-fold-search
5718 if one of a target character has a case-equivalence of different
5719 byte length even if that target charcter is an ASCII.
1f45f627
GM
5720 (simple_search): Fix calculation of byte length of matched text.
5721 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 5722
73acf815 57232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5724
5725 * coding.c (decode_coding): Fix handling of invalid bytes.
5726
73acf815 57272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5728
5729 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
5730 Unicode characters.
5731
73acf815 57322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5733
5734 * coding.c (encode_coding_object): If a pre-write-conversion
5735 function makes a new buffer, kill it.
5736
73acf815 57372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5738
5739 * coding.c (QCascii_compatible_p): New variable.
5740 (syms_of_coding): Initialize it.
4c4475a8
GM
5741 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
5742 calling string_char.
aca7a3d2
MB
5743 (record_conversion_result): Add `default:' case.
5744 (coding_charset_list): Delete unused variable `coding_type'.
5745 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
5746 property in the plist of the coding system.
5747 (Fcoding_system_put): Check QCascii_compatible_p.
5748
73acf815 57492008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5750
5751 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
5752 removed calculation of frame `f', as it's now used.
5753
73acf815 57542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5755
1f45f627 5756 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
5757 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
5758 (UNIDATA): New variable.
5759 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
5760 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
5761 $(RUN_TEMACS) unconditionally.
5762
73acf815 57632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5764
1f45f627 5765 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
5766 (admindir): New variable.
5767 ($(lispsource)international/charprop.el): New target.
5768
73acf815 57692008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5770
1f45f627 5771 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
5772 (syms_of_character): Remove its initialization.
5773
73acf815 57742008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
5775
5776 * w32select.c (validate_coding_system)
5777 (setup_windows_coding_system): New functions.
5778 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
5779 setup_windows_coding_system.
5780 (setup_config, Fw32_get_clipboard_data): Use
5781 validate_coding_system.
5782 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 5783 where signals are allowed.
aca7a3d2
MB
5784
5785 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
5786 (Fcheck_coding_system): Add declarations.
5787
73acf815 57882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5789
1f45f627 5790 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 5791
73acf815 57922008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5793
5794 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
5795 string as the second argument for x_new_fontset.
5796
73acf815 57972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5798
5799 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
5800 (encode_coding_object): Use safe_call instead of call2.
5801
73acf815 58022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5803
1f45f627 5804 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
5805
5806 * Makefile.in (lisp): Include charprop.el.
5807
73acf815 58082008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5809
5810 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
5811 Not sure if it's unnecessary.
5812
73acf815 58132008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5814
5815 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
5816 some possibly unnecessary fontset checking code that crashed
1f45f627 5817 when creating a new frame.
aca7a3d2 5818
73acf815 58192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5820
5821 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
5822 lookup_face.
5823
5824 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
5825
1f45f627 5826 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 5827
73acf815 58282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5829
73acf815 5830 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
5831 (coding_charset_list): New function.
5832
5833 * coding.h (coding_charset_list): Extern it.
5834
73acf815 58352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5836
5837 * fontset.c (Fset_fontset_font): Call find_font_encoding with
5838 concatenation of family and registry.
5839
73acf815 58402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5841
5842 * character.h (BYTE8_STRING): Fix typo.
5843
5844 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
5845 string to multibyte (sync to HEAD).
5846
5847 * casefiddle.c (casify_region): Handle changes in byte-length
5848 using replace_range_2 (sync to HEAD).
5849
73acf815 58502008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5851
5852 * chartab.c (map_char_table): GCPRO table and arg.
5853
73acf815 58542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5855
5856 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
5857 already at limit.
5858
73acf815 58592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5860
5861 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
5862 instead of fast_c_string_match_ignore_case.
1f45f627 5863 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 5864 fast_string_match_ignore_case instead of
1f45f627 5865 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 5866
73acf815 58672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5868
5869 * xdisp.c (get_next_display_element): In unibyte case, decide to
5870 display in octal form by checking a chacter by
5871 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
5872
1f45f627 5873 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
5874
5875 * character.c (unibyte_has_multibyte_table): New variable.
5876
5877 * character.h (unibyte_has_multibyte_table): Extern it.
5878 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
5879
73acf815 58802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5881
5882 * coding.c (encode_coding_iso_2022): Fix handling of charset
5883 annotation.
5884
73acf815 58852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5886
5887 * coding.c (setup_coding_system): If coding_system is nil, use
5888 Qundecided.
5889 (Fterminal_coding_system): Return nil if terminal coding system is
5890 `undecided'.
5891 (syms_of_coding): Define coding-system `undecided' here. Setup
5892 terminal_coding as `undecided'.
5893
73acf815 58942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5895
5896 * xdisp.c (message_dolog, set_message_1): Call
5897 unibyte_char_to_multibyte with arg type int.
5898
aca7a3d2
MB
5899 * lread.c (read1): Fix reading of a char-table.
5900
5901 * print.c (print_object): Include sub char-table in cicularities
5902 detection.
5903
73acf815 59042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5905
5906 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 5907 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 5908
73acf815 59092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5910
5911 * fileio.c (report_file_error): Make a unibyte string from
5912 strerror (errorno).
5913 (Fsubstitute_in_file_name): Fix the arg to
5914 unibyte_char_to_multibyte. It is evaluated twice.
5915
73acf815 59162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5917
5918 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
5919
73acf815 59202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5921
5922 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
5923 BOM is not found.
4c4475a8
GM
5924 (detect_coding, detect_coding_system): Optimization for ISO-2022
5925 when no 8-bit data is found.
aca7a3d2 5926
73acf815 59272008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5928
5929 * w32fns.c (x_to_w32_font): Update to use new coding struct.
5930
73acf815 59312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5932
4c4475a8
GM
5933 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
5934 CHARS.
aca7a3d2 5935
73acf815 59362008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5937
5938 * macterm.c (mac_encode_char): Add charset argument and update
5939 to use encoding_type.
2a2e8de7 5940 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
5941 switch to pure fontset.
5942 (decode_mac_font_name): Temporarily remove decoding.
5943 (x_font_name_to_mac_font_name): Temporarily remove encoding.
5944 (x_load_font): Temporarily remove encoding.
aca7a3d2 5945
73acf815 59462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5947
5948 * xfaces.c (Fface_font): If frame is not on a window system,
5949 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
5950 refer to face->font.
5951 (split_font_name_into_vector, build_font_name_from_vector)
5952 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
5953 whne HAVE_WINDOW_SYSTEM is defined.
5954
73acf815 59552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5956
5957 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
5958 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 5959 cmp->glyph_len is zero.
aca7a3d2 5960
1f45f627 5961 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
5962 (Ffontset_info): Make it backward compatible. New arg ALL.
5963
73acf815 59642008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
5965
5966 * process.c (read_process_output): Grow decoding_buf when needed;
5967 this could cause a crash in allocate_string and compact_small_strings.
5968
73acf815 59692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5970
1f45f627 5971 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 5972
73acf815 59732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5974
5975 * coding.c (setup_coding_system): Set coding->common_flags
5976 correctly for raw-text.
5977 (consume_chars): On encoding unibyte text by raw-text, don't check
5978 multibyte form.
1f45f627 5979 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
5980
5981 * fileio.c (e_write): Short cut for the case of no encoding.
5982
73acf815 59832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5984
4c4475a8
GM
5985 * coding.c (detect_coding, detect_coding_system): Delete unused
5986 variables.
aca7a3d2 5987
73acf815 59882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5989
5990 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
5991 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
5992
73acf815 59932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5994
5995 * coding.c (Ffind_coding_systems_region_internal): Include
5996 raw-text and no-conversion in the result.
5997
73acf815 59982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5999
1f45f627 6000 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
6001 (load_font_get_repertory): Delete unnecessary check of ENCODING of
6002 FONT_DEF.
6003 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 6004 (set_fontset_font): Change argument.
aca7a3d2
MB
6005 (Fset_fontset_font): Fix for the case that TARGET is a script
6006 name and charset name.
6007 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
6008
73acf815 60092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6010
1f45f627
GM
6011 * fontset.c (fontset_font): Rename from fontset_face. Change return
6012 value.
4c4475a8
GM
6013 (face_suitable_for_char_p, face_for_char): Adjust for the change
6014 of fontset_font.
aca7a3d2
MB
6015 (make_fontset_for_ascii_face): Fix setting of the fontset element
6016 for ASCII.
6017 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
6018 to get a font name.
1f45f627 6019 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 6020
fcb314b2 6021 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
6022
6023 * character.h (LEADING_CODE_LATIN_1_MIN)
6024 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
6025
73acf815 60262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6027
fcb314b2 6028 * editfns.c (check_translation): New function.
aca7a3d2
MB
6029 (Ftranslate_region_internal): Handle M:N mapping.
6030
73acf815 60312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6032
6033 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
6034
73acf815 60352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6036
6037 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
6038 goto invalid_code.
6039 (decode_coding_iso_2022): Fix handling of invalid designation.
6040
6041 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
6042 after calling code_conversion_save.
6043
73acf815 60442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6045
6046 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
6047
6048 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
6049
6050 * fontset.c: Include "intervals.h".
6051 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
6052 (free_face_fontset, new_fontset_from_font_name): Fix
6053 Lisp_Object/int mixup.
aca7a3d2
MB
6054
6055 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
6056
6057 * coding.c: Add many prototypes for static functions.
6058 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 6059 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
6060 (Funencodable_char_position, Fcheck_coding_systems_region): Call
6061 get_translation_table with max_lookup NULL.
aca7a3d2 6062
73acf815 60632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6064
6065 * coding.c (get_translation_table): Declare it as Lisp_Object.
6066 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
6067 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
6068 instead of CHAR_TABLE_REF.
aca7a3d2 6069
73acf815 60702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6071
1f45f627 6072 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
6073 annotation data format.
6074 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 6075 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 6076 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 6077 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
6078 (decode_coding_ccl, decode_coding_charset): Pay attention to
6079 coding->charbuf_used.
aca7a3d2
MB
6080 (get_translation): New function.
6081 (produce_chars): New arguments translation_table and last_block.
6082 Translate characters here. Return number of carryover chars.
1f45f627
GM
6083 Change caller.
6084 (produce_composition): New argument pos. Change caller.
6085 Adjust for the change of annotation data format.
aca7a3d2
MB
6086 (produce_charset, produce_annotation): Likewise.
6087 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
6088 (consume_chars): New arg translation_table. Change caller.
6089 (translate_chars): Delete.
6090 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 6091
73acf815 60922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6093
6094 * search.c (simple_search): Fix setting this_pos_byte in backward
6095 search.
6096
6097 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
6098 byte sequence.
6099 (detect_coding_ccl): Fix setting of the variable valids.
6100
73acf815 61012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6102
6103 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
6104
6105 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
6106
1f45f627 6107 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
6108 Ftranslate_region. Accept a char-table in TABLE.
6109 (syms_of_editfns): Defsubr Stranslate_region_internal.
6110
6111 * xfaces.c (set_lface_from_font_name): If a font is specified for
6112 a frame, generate a fontset from the font.
6113 (build_scalable_font_name): If the scalable font is requested for
6114 a specific size, don't change that size.
6115 (try_font_list): Try a scalable font also in the case that a
1f45f627 6116 pattern string is specified.
aca7a3d2 6117
73acf815 61182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6119
6120 * xfaces.c (Fface_font): New optional arg CHARACTER.
6121
73acf815 61222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6123
6124 * charset.h (CHARSET_OFFSET): New macro.
6125
73acf815 61262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6127
6128 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
6129
6130 * fontset.c (fontset_face): Handle the case that repertory is a
6131 char-table.
6132 (find_font_encoding): Return nil for unknown encoding.
6133 (Fset_fontset_font): Ignore a font of unknown encoding.
6134
73acf815 61352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6136
1f45f627 6137 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
6138
6139 * fontset.c (fontset_face): Handle fallback fonts correctly.
6140 (Ffontset_info): Return infomation about fallback fonts.
6141
73acf815 61422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6143
6144 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 6145 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
6146 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
6147 the case that it is nil.
6148 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 6149 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
6150
6151 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
6152 subset or superset.
6153
73acf815 61542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6155
6156 * emacs.c (main): Call init_charset after syms_of_XXX.
6157
1f45f627 6158 * charset.c (Vcharset_map_directory): Delete.
1f204af3 6159 (Vcharset_map_path): New variable.
aca7a3d2
MB
6160 (load_charset_map_from_file): Use Vcharset_map_path instead.
6161 (init_charset): Initialize Vcharset_map_path.
6162 (syms_of_charset): Delete declaration of "charset-map-directory",
6163 add declaration of "charset-map-path".
6164
73acf815 61652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6166
4c4475a8
GM
6167 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
6168 ASCII only string.
aca7a3d2
MB
6169
6170 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
6171
6172 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 6173 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 6174
73acf815 61752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6176
6177 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
6178
6179 * coding.c (QCmnemonic, QCdefalut_char)
6180 (QCdecode_translation_table, QCencode_translation_table)
6181 (QCpost_read_conversion, QCpre_write_conversion): New variables.
6182 (get_translation_table): Return a list of translation tables if
6183 necessary.
6184 (decode_coding): Call get_translation_table with ENCODEP 0.
6185 (char_encodable_p): If translation_table is non-nil, always call
6186 translate_char.
6187 (Fdefine_coding_system_internal): Accept list of translation
6188 tables as :encode-translation-table and :decode-translation-table.
6189 (Fcoding_system_put): New function.
6190 (syms_of_coding): Declare new symbols. Defsubr
6191 Scoding_system_put.
4c4475a8
GM
6192 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
6193 typically JISX0212.
aca7a3d2
MB
6194
6195 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
6196 when the charset is superset type.
6197
6198 * character.c (translate_char): Accept list of translation tables.
6199
73acf815 62002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6201
1f45f627 6202 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
6203 (CODING_ATTR_TRANS_TBL): New macro.
6204
6205 * coding.c (get_translation_table): New function.
6206 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
6207 (decode_coding, encode_coding): Utilize get_translation_table.
6208 (char_encodable_p, Funencodable_char_position): Translate char if
6209 necessary.
6210 (Ffind_coding_systems_region_internal)
6211 (Fcheck_coding_systems_region): Setup translation table for encode
6212 in a coding system attribute vector in advance.
aca7a3d2
MB
6213 (Fdefine_coding_system_internal): Allow a symbol as translation
6214 table. For shift-jis type coding system, allow 4th charset.
6215
73acf815 62162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6217
6218 * coding.c (decode_coding_sjis): Check the first byte rigidly.
6219
6220 * xdisp.c (get_next_display_element): Pass -1 as POS to
6221 FACE_FOR_CHAR if displaying a C-string.
6222
73acf815 62232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6224
6225 * composite.c (get_composition_id): Handle xoff and yoff in a
6226 composition rule.
6227
6228 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
6229 (struct composition): New member lbearing and rbearing.
6230
6231 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
6232 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 6233 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
6234
6235 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
6236 composition glyph.
6237
73acf815 62382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6239
6240 * print.c: Include charset.h.
6241 (Vprint_charset_text_property): New variable.
6242 (Qdefault): Extern it.
6243 (PRINT_STRING_NON_CHARSET_FOUND)
6244 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
6245 (print_check_string_result): New variable.
6246 (print_check_string_charset_prop): New function.
6247 (print_prune_charset_plist): New variable.
6248 (print_prune_string_charset): New function.
6249 (print_object): Call print_prune_string_charset if
6250 Vprint_charset_text_property is not t.
6251 (print_interval): Print nothing if itnerval->plist is nil.
6252 (syms_of_print): Declare Vprint_charset_text_property as a lisp
6253 variable. Init and staticpro print_prune_charset_plist.
6254
73acf815 62552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6256
6257 * fontset.c (new_fontset_from_font_name): Use the specified font
6258 for all characters in the new fontset.
6259
6260 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6261 OBJECT args.
6262
6263 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
6264 OBJECT args for composition too.
6265
6266 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6267 OBJECT args.
6268
73acf815 62692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6270
6271 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
6272
1f45f627 6273 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 6274 FONT_DEF format.
1f45f627 6275 (fontset_face): New arg id. Change caller.
aca7a3d2 6276 (face_for_char): New args pos and object.
1f204af3 6277 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
6278 (fs_query_fontset): Check NAME by Fassoc too.
6279 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 6280 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 6281
1f45f627 6282 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 6283
4c4475a8
GM
6284 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
6285 (append_space, extend_face_to_end_of_line)
6286 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6287 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
6288
6289 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
6290 POS and OBJECT args.
6291
6292 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
6293 POS and OBJECT args.
6294
73acf815 62952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6296
6297 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
6298 of GlobalAlloc'ed memory.
6299
73acf815 63002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6301
6302 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
6303
6304 * charset.h (charset_table_used): Delete extern.
6305
6306 * charset.c (charset_table_used): Make it static.
6307 (map_charset_chars): Fix args to c_function with.
6308
6309 * chartab.c (map_sub_char_table_for_charset): Fix args to
6310 c_function with.
6311
6312 * coding.h (enum coding_result_code): Delete
6313 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
6314
6315 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 6316 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
6317 (Vlast_code_conversion_error): New variables.
6318 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
6319 (ONE_MORE_BYTE): Record error if any instead of signaling an
6320 error. If non-ASCII multibyte char is found, return the negative
6321 value of the code. All callers changed to check it.
6322 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
6323 (record_conversion_result): New function. Change all codes setting
6324 coding->result to call this function.
4c4475a8
GM
6325 (detect_coding_utf_8, decode_coding_utf_8)
6326 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
6327 Don't use the local variable incomplete.
aca7a3d2 6328 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
6329 (decode_coding): Fix of flushing out unprocessed data.
6330 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 6331 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
6332
6333 * fontset.c (set_fontset_font): Fix args.
6334
6335 * lisp.h (CHARACTERBITS): Define as 22.
6336
6337 * process.c (send_process): Be sure to set coding->src_multibyte.
6338
6339 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
6340
73acf815 63412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6342
6343 * xdisp.c (handle_auto_composed_prop): Give limit to
6344 Fnext_single_char_property_change.
6345
73acf815 63462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6347
424c157f 6348 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 6349 table weak.
aca7a3d2
MB
6350
6351 * fontset.c (Fset_fontset_font): Fix docstring.
6352
6353 * lisp.h (detect_coding_system): Adjust prototype.
6354
6355 * fileio.c (kill_workbuf_unwind): Delete this function.
6356 (Finsert_file_contents): Adjust the call of detect_coding_system.
6357 Get conversion_buffer by code_conversion_save. Use the macor
6358 CODING_MAY_REQUIRE_DECODING. After decoding, update
6359 coding_system.
6360
6361 * coding.h (make_conversion_work_buffer): Delete extern.
6362 (code_conversion_save): Extern it.
6363
6364 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 6365 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
6366 (decode_coding_utf_8): Don't do eol converion.
6367 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 6368 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
6369 (decode_coding_emacs_mule, decode_coding_iso_2022)
6370 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
6371 Don't do eol converion.
aca7a3d2
MB
6372 (adjust_coding_eol_type): Return a new coding system.
6373 (detect_coding): Don't detect eol. Fix for utf-16 detection.
6374 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
6375 each change.
6376 (decode_coding): Pay attention to undo_list. Do eol convesion for
6377 all types of coding-systems (if necessary).
6378 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 6379 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
6380 Vcode_conversion_reused_work_buf.
6381 (Vcode_conversion_workbuf_name): New variable.
6382 (reused_workbuf_in_use): New variable.
6383 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 6384 (code_conversion_restore): Change argument to cons.
1f45f627
GM
6385 (code_conversion_save): Delete the argument BUFFER. Change callers.
6386 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
6387 Fix for utf-16 detection.
6388 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 6389 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
6390 reused_workbuf_in_use.
6391
73acf815 63922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6393
6394 * keymap.c (store_in_keymap): Pay attention to the case that idx
6395 is a cons specifying a character range.
6396
73acf815 63972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6398
6399 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
6400 HANDLED_RECOMPUTE_PROPS.
6401
6402 * coding.c (Fdefine_coding_system_internal): Fix checking of
6403 ascii compatibility.
6404
73acf815 64052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6406
1f45f627 6407 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
6408 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
6409
6410 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
6411 Resync charset_list to Vemacs_mule_charset_list.
6412
6413 * keymap.c (store_in_keymap): Pay attention to the case that idx
6414 is a cons specifying a character range.
6415
73acf815 64162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6417
6418 * composite.c (update_compositions): Bind inhibit-read-only, etc
6419 to t before calling remove-list-of-text-properties.
6420
6421 * print.c (print_object): Always print ASCII chars as is.
6422
73acf815 64232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6424
1f45f627 6425 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 6426
4c4475a8
GM
6427 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
6428 is a char table.
aca7a3d2 6429
73acf815 64302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6431
1f45f627 6432 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 6433
73acf815 64342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6435
6436 * xfaces.c (set_lface_from_font_name): Fix for the case that
6437 FONTNAME is not fontset name.
6438
73acf815 64392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6440
6441 * fns.c (base64_encode_1): Fix previous change.
6442
73acf815 64432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6444
6445 * fontset.c (set_fontset_font): New function.
6446 (Fset_fontset_font): If a font is specified for a charset, use
6447 map_charset_chars to store the font spec in a fontset.
6448
73acf815 64492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6450
1f204af3 6451 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
6452 (make_fontset): Don't create a fallback fontset here.
6453 (free_face_fontset): Free a fallback fontset (if any) too.
6454 (n_auto_fontsets): Delete this variable.
6455 (auto_fontset_alist): New variable.
6456 (new_fontset_from_font_name): Check auto_fontset_alist.
6457 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
6458 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
6459 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
6460 Defsubr Sfontset_list_all.
6461
73acf815 64622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6463
6464 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6465
73acf815 64662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6467
6468 * fontset.c (Fnew_fontset): Check NAME more rigidly.
6469
73acf815 64702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6471
6472 * editfns.c (Fgoto_char): Fix docstring.
6473
73acf815 64742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6475
6476 * insdel.c (insert_from_gap): Adjust intervals correctly.
6477
73acf815 64782008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6479
6480 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
6481 (pfnGetFontUnicodeRanges): New dynamically loaded function.
6482 (w32_initialize): Try to load it.
6483 (x_get_font_repertory): Use it if available.
6484 (w32_encode_char): Add shortcut for unicode output.
6485
6486 * w32fns.c (w32_load_system_font): Default charset to -1.
6487 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 6488 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
6489 or wildcard charsets.
6490 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
6491 (w32_codepage_for_font): Return CP_UNICODE for unicode.
6492 (w32_to_x_font): Match charset to real charset.
6493 (enum_font_cb2): Always list unicode versions.
6494
6495 * makefile.w32-in (temacs): Increase EMHEAP.
6496
73acf815 64972008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6498
6499 * w32term.c (w32_encode_char): New charset parameter.
6500 font_info.encoding becomes encoding_type.
1f45f627 6501 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
6502 (x_new_font): Return quickly if font already set.
6503 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
6504 Use new fs_query_fontset. Try new_fontset_from_font_name.
6505 Use fontset_name for return value.
aca7a3d2
MB
6506
6507 * w32term.h: Declare x_get_font_repertory.
6508
6509 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 6510 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
6511 of encode_coding.
6512 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
6513 decode_coding.
6514
6515 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
6516 of x_new_fontset.
6517 (w32_load_system_font): Initialize charset as unicode.
6518 font_info.encoding becomes encoding_type.
1f45f627
GM
6519 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
6520 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
6521 (syms_of_w32fns): Set get_font_repertory_func.
6522
1f45f627 6523 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 6524 from term.c.
1f45f627 6525 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
6526 encode_coding_object in place of encode_coding.
6527
6528 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
6529 encoding becomes encoding_type.
6530
6531 * term.c (terminal_encode_buffer): Make externally visible.
6532
6533 * makefile.w32-in: Add character.h dependancies.
6534 (character.o, chartab.o): New targets.
6535
73acf815 65362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6537
6538 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 6539 CODING_ID_EOL_TYPE.
aca7a3d2 6540
73acf815 65412008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6542
6543 * coding.c (produce_chars): Revert last change.
6544
73acf815 65452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6546
6547 * charset.h (charset_unicode): Extern it.
6548
6549 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 6550 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 6551 arg MULTIBYTE.
1f45f627 6552 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
6553 change of find_charsets_in_text.
6554 (Fsplit_char): Fix doc. Never return unknown.
6555
6556 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
6557
6558 * coding.c (Fdefine_coding_system_alias): Update
6559 Vcoding_system_list.
6560
6561 * fontset.c (load_font_get_repertory): Pay attention to the case
6562 that ENCODING of a font is specified by a char-table.
6563
6564 * xterm.c (x_get_font_repertory): Handle the case that the
6565 encoding of font is other than Unicode.
6566
73acf815 65672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6568
6569 * term.c (encode_terminal_code): Don't handle glyph-table. Check
6570 if a character is encodable by the terminal coding system. If
6571 not, produces proper number of `?'s. Update
6572 terminal_encode_buffer and terminal_encode_buf_size if necessary.
6573 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
6574
73acf815 65752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6576
6577 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
6578 variables.
1f45f627 6579 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
6580 characters at once. Store the result of encoding in
6581 terminal_encode_buffer.
4c4475a8
GM
6582 (write_glyphs, insert_glyphs): Adjust for the change of
6583 encode_terminal_code.
aca7a3d2
MB
6584 (term_init): Initialize terminal_encode_buffer and
6585 terminal_encode_buf_size.
6586
6587 * coding.c (consume_chars): If coding->src_object is nil, don't
6588 check annotation.
6589
73acf815 65902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6591
6592 * character.c (char_string): Use ASCII_CHAR_P instead of
6593 SINGLE_BYTE_CHAR_P.
6594
73acf815 65952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6596
6597 * xdisp.c (handle_auto_composed_prop): Check if the last
6598 characters of auto-composed region is newly composed with the
6599 following characters.
6600 (handle_composition_prop): Fix checking of point being inside
6601 composition.
6602
73acf815 66032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6604
6605 * fns.c (concat): Don't change multibyteness of the result by
6606 concatenating an 8-bit character.
6607
6608 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
6609 multibyteness of the result when newelt is an 8-bit character.
6610
73acf815 66112008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6612
6613 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
6614 EMACS_INT.
6615
6616 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
6617
6618 * xfaces.c (face_numeric_value): Declare dim size_t.
6619 (Finternal_lisp_face_equal_p): Remove unused f.
6620
6621 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
6622 (MATRIX_ROW): Remove unused vars.
6623 (draw_glyphs, x_insert_glyphs, fast_find_position)
6624 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
6625 byte/char counts.
6626
6627 * regex.c (regex_compile): Remove unused var.
6628
6629 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
6630
6631 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6632 (Faccessible_keymaps, where_is_internal): Remove unused vars.
6633
6634 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
6635
6636 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
6637
6638 * fileio.c (Fwrite_region): Remove unused var.
6639
6640 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
6641 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
6642
6643 * composite.c (Fremove_list_of_text_properties): Declare.
6644
1f45f627
GM
6645 * coding.c (inhibit_pre_post_conversion): Remove (unused).
6646 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
6647 (coding_inherit_eol_type): Remove unused attrs.
6648 (detect_coding): Cast arg of detect_eol.
6649
6650 * charset.c (syms_of_charset): Remove unused var p.
6651 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
6652 byte/char counts.
6653
6654 * casetab.c (set_case_table): Remove unused var.
6655
6656 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 6657 unused vars.
aca7a3d2 6658
73acf815 66592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6660
6661 * xterm.c (x_bitmap_mask): Declare.
6662
73acf815 66632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6664
6665 * xterm.c (x_term_init): Fix type error.
6666
6667 * lisp.h: Add Funibyte_char_to_multibyte.
6668
6669 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
6670 (Fset_coding_system_priority): Doc fix.
6671
aca7a3d2
MB
6672 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
6673
6674 * indent.c (check_composition): Make start and end EMACS_INT.
6675
6676 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
6677
6678 * xdisp.c (handle_composition_prop, check_point_in_composition):
6679 Make buffer positions EMACS_INT.
6680
6681 * composite.c (find_composition, run_composition_function)
6682 (update_compositions, Ffind_composition_internal): Make buffer
6683 positions EMACS_INT.
6684
6685 * composite.h (find_composition, update_compositions): Make
6686 position args EMACS_INT.
6687
1f45f627 6688 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
6689
6690 * intervals.c (get_property_and_range):
6691 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
6692
6693 * unexalpha.c: Don't include varargs.h.
6694
73acf815 66952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6696
6697 * coding.h (ENCODE_UTF_8): New.
6698
6699 * Makefile.in (gtkutil.o): Depend on coding.h.
6700
6701 * coding.c (Fset_coding_system_priority): Doc fix.
6702
73acf815 67032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6704
6705 * fileio.c (Finsert_file_contents): Call setup_coding_system in
6706 the case of auto saving.
6707
73acf815 67082008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 6709
4c4475a8
GM
6710 * chartab.c (map_char_table, map_char_table_for_charset): Protect
6711 `range' from GC.
aca7a3d2 6712
73acf815 67132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6714
6715 * coding.c (decode_coding_sjis): Check bytes more rigidly.
6716
73acf815 67172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6718
1f45f627 6719 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
6720 (Fwrite_region): Set Vlast_coding_system_used to the return value
6721 of choose_write_coding_system.
6722
73acf815 67232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6724
6725 * charset.c (Fset_charset_priority): Pay attention to duplicated
6726 arguments.
6727
6728 * coding.c (QCcategory): New variable.
6729 (syms_of_coding): Defsym it. Set all elements of
6730 Vcoding_category_table and their symbol values.
6731 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
6732 coding-category-XXX, and coding-category-list.
6733 (Fdefine_coding_system_internal): Add category in the plist.
6734
73acf815 67352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6736
6737 * callproc.c (Fcall_process): Handle carryover correctly.
6738
1f45f627 6739 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
6740 (raw_text_coding_system): Check NILP (coding_system).
6741 (coding_inherit_eol_type): Check NILP (coding_system) and
6742 NILP (parent).
6743 (consume_chars): Fix for the case of raw-text.
6744
6745 * process.c (read_process_output): Handle carryover correctly.
6746
73acf815 67472008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6748
6749 * regex.c (re_search_2): Fix last change.
6750
73acf815 67512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6752
6753 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
6754 target_multibyte. Even in a unibyte case, return a converted
6755 multibyte char.
6756 (GET_CHAR_AFTER): New macro.
6757 (PATFETCH): Translate via multibyte char.
6758 (HANDLE_UNIBYTE_RANGE): Delete this macro.
6759 (SETUP_MULTIBYTE_RANGE): New macro.
6760 (regex_compile): Setup compiled code so that its multibyteness
6761 matches that of a target. Fix the handling of "[X-YZ]" using
6762 SETUP_MULTIBYTE_RANGE.
6763 (analyse_first) <charset>: For filling fastmap for all multibyte
6764 characters, don't check by BASE_LEADING_CODE_P.
6765 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
6766 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 6767 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
6768 (TARGET_CHAR_AND_LENGTH): Delete this macro.
6769 (TRANSLATE_VIA_MULTIBYTE): New macro.
6770 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
6771 It is the same as RE_MULTIBYTE_P (bufp) now.
6772 <exactn>: Translate via multibyte.
6773 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
6774 translate it.
6775 <charset, charset_not>: Fetch a character by
6776 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
6777 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
6778 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
6779 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
6780 by GET_CHAR_AFTER.
c5ad7a3d 6781 (bcmp_translate): Likewise.
aca7a3d2
MB
6782
6783 * search.c (compile_pattern): Check the member target_multibyte,
6784 not the member multibyte of buf.
6785
6786 * lread.c (read1): While reading a string, set force_singlebyte
6787 and force_multibyte correctly.
6788
4c4475a8
GM
6789 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
6790 up of unibyte_to_multibyte_table.
aca7a3d2 6791
73acf815 67922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6793
6794 * coding.c (setup_coding_system): If coding has
6795 post-read-conversion or pre-write-conversion, set
6796 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
6797 respectively.
6798 (decode_coding_gap): Run post-read-conversion if any.
6799
6800 * fileio.c (Finsert_file_contents): Even if we read into a
6801 unibyte buffer, check if we must decode the result or not.
6802
73acf815 68032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6804
6805 * coding.c (make_conversion_work_buffer): Change the work buffer
6806 name to the same one as that of Emacs 21.
6807
73acf815 68082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6809
1f45f627 6810 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
6811 (code_conversion_restore): Don't extern it.
6812
6813 * coding.c (detected_mask): Delete unused variable.
6814 (decode_coding_iso_2022): Pay attention to the byte sequence of
6815 CTEXT extended segment, and retain those bytes as is.
6816 (decode_coding_ccl): Delete unused variable `valids'.
6817 (setup_coding_system): Delete unused variable `category'.
6818 (consume_chars): Delete unused variable `category'. Make it work
6819 for non-multibyte case.
1f45f627 6820 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
6821 (saved_coding): Delete unused variable.
6822 (code_conversion_restore): Don't check saved_coding->destination.
6823 (code_conversion_save): New function.
6824 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
6825 instead of record_unwind_protect.
1f45f627 6826 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 6827 (detect_coding_system): Delete unused variable `mask'.
1f45f627 6828 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
6829
6830 * fileio.c (kill_workbuf_unwind): New function.
6831 (Finsert_file_contents): On replacing, call
6832 make_conversion_work_buffer with correct args, and call
6833 record_unwind_protect with the first arg kill_workbuf_unwind.
6834
6835 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
6836
73acf815 68372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6838
1f45f627 6839 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
6840 (fontset_add): Fix for the case that TO is less than TO1.
6841 (Ffontset_info): Don't use fallback fontset on checking the
6842 default fontset.
6843 (dump_fontset): New function for debugging.
6844
6845 * coding.c (Fdefine_coding_system_internal): Fix for the case that
6846 coding_type is Qcharset.
6847
73acf815 68482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6849
6850 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
6851 (map_char_table): Don't inherit the value from the parent on
1f45f627 6852 initializing VAL. Adjust for the above change.
aca7a3d2 6853
73acf815 68542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6855
6856 * coding.c (Qsignature, Qendian): Delete these variables.
6857 (syms_of_coding): Don't initialize them.
6858 (CATEGORY_MASK_UTF_16_AUTO): New macro.
6859 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
6860 detect_info->found.
6861 (decode_coding_utf_16): Don't detect BOM here.
6862 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
6863 is NOT utf_16_without_bom.
6864 (setup_coding_system): For a coding system of type utf-16, check
6865 if the attribute :endian is Qbig or not (not nil or not), and set
6866 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
6867 (detect_coding): If coding type is utf-16 and BOM detection is
6868 required, detect it.
6869 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 6870 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 6871
73acf815 68722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6873
6874 * coding.c (coding_set_source): Fix for the case that the current
6875 buffer is different from coding->src_object.
6876 (decode_coding_object): Don't use the conversion work buffer if
6877 DST_OBJECT is a buffer.
6878
73acf815 68792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6880
6881 * lread.c (read_emacs_mule_char) [len==2]: Index
6882 emacs_mule_charset correctly.
6883
73acf815 68842008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6885
6886 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
6887 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 6888 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
6889 treated specially.)
6890 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
6891 (detected_mask): Remove Big5 bits.
6892
73acf815 68932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6894
6895 The following changes are to make the font rescaling facility
6896 compatible with Emacs 21.
6897
1f45f627 6898 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
6899 Vface_resizing_fonts.
6900 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 6901 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
6902 (split_font_name): Set font->rescale_ratio.
6903 (better_font_p): Pay attention to font->rescale_ratio.
6904 (build_scalable_font_name): Likewise. Change RESX, and RESY
6905 fields.
1f45f627 6906 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 6907
73acf815 69082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6909
6910 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
6911 (Qutf_16_le): Remove these variables.
6912 (syms_of_coding): Don't DEFSYM them.
6913 (decode_coding_utf_16): Fix handling of BOM.
6914 (encode_coding_utf_16): Fix handling of BOM.
6915
73acf815 69162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6917
6918 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 6919 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 6920
73acf815 69212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6922
6923 * coding.c (Fcheck_coding_systems_region): Fix type errors.
6924
73acf815 69252008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6926
6927 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6928 and fix C types.
6929
73acf815 69302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6931
6932 * xdisp.c (SKIP_GLYPHS): New macro.
6933 (set_cursor_from_row): Pay attention to string display properties.
6934
6935 * category.c (copy_category_entry): Fix for the case that RANGE
6936 is an integer.
6937
6938 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
6939
1f45f627 6940 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 6941
73acf815 69422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6943
6944 * charset.c (Fcharset_id_internal): New function.
6945 (syms_of_charset): Defsubr it.
6946
6947 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
6948 with the last arg charset_list acquired from coding.
6949 (Fdefine_coding_system_internal): For ccl-based coding system, fix
6950 the attribute coding_attr_ccl_valids.
6951
6952 * coding.h (enum define_coding_ccl_arg_index): Set the first
6953 member coding_arg_ccl_decoder to coding_arg_max.
6954
1f45f627 6955 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
6956
6957 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
6958 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
6959 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
6960 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
6961 last arg Qnil.
aca7a3d2 6962
73acf815 69632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6964
6965 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
6966 call encode_char.
6967
1f45f627 6968 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 6969
73acf815 69702008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 6971
1f45f627 6972 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 6973
73acf815 69742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6975
6976 * dispextern.h (check_face_attributes, generate_ascii_font_name)
6977 (font_name_registry): Don't extern them.
1f45f627 6978 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
6979
6980 * fontset.h (Qfontset): Don't extern it.
6981 (new_fontset_from_font_name): Extern it.
6982
6983 * fontset.c: Give 8 extra slots to fontset objects.
6984 (Qfontset_info): New variable.
6985 (syms_of_fontset): Defsym it.
6986 (FONTSET_FALLBACK): New macro.
6987 (fontset_face): Try also the default fontset.
1f45f627
GM
6988 (make_fontset): Realize a fallback fontset from the default fontset.
6989 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
6990 using split_font_name_into_vector and build_font_name_from_vector.
6991 (Fset_fontset_font): Access the elements of font_spec by enum
6992 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
6993 name by using split_font_name_into_vector.
6994 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
6995 generate a proper font name from the fontset name. Update
6996 Vfontset_alias_alist.
6997 (n_auto_fontsets): New variable.
6998 (new_fontset_from_font_name): New function.
6999 (Ffont_info): Store the information about fonts generated from the
1f45f627 7000 default fontset in the first extra slot of the returned char-table.
aca7a3d2 7001
1f45f627
GM
7002 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
7003 (font_name_registry): Delete function.
aca7a3d2
MB
7004 (split_font_name_into_vector): New function.
7005 (build_font_name_from_vector): New function.
1f45f627 7006 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
7007 (choose_face_font): If we are choosing an ASCII font, and ATTRS
7008 specifies an explicit font name, return the name as is. Make a
7009 list of registy names.
7010
1f45f627 7011 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
7012 of x_new_fontset.
7013 (Fx_create_frame): Don't call x_new_fontset here. Just use
7014 x_list_fonts to check the existence of fonts.
7015
1f45f627 7016 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
7017
7018 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
7019 string. Use new_fontset_from_font_name to create a fontset from a
7020 font name.
7021
1c8658b9
GM
70222008-02-01 Kenichi Handa <handa@m17n.org>
7023
7024 * syntax.c (Vfind_word_boundary_function_table): New name for
7025 Vnext_word_boundary_function_table.
7026 (find-word-boundary-function-table): New name for
7027 next-word-boundary-function-table.
7028
73acf815 70292008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7030
7031 * Makefile.in: Fix some dependencies.
7032
7033 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
7034 set it to nil before returning.
7035
7036 * composite.c (update_compositions): Fix type error.
7037
7038 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
7039
73acf815 70402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7041
7042 * xterm.c (x_new_font): Optimize for the case that the font is
7043 already set for the frame.
7044
73acf815 70452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7046
7047 * chartab.c (char_table_ascii): Check if the char table contents
7048 is sub-char-table or not.
4c4475a8
GM
7049 (char_table_set, char_table_set_range): Fix argument to
7050 char_table_ascii.
aca7a3d2
MB
7051
7052 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
7053 (detect_coding_utf_8, detect_coding_utf_16)
7054 (detect_coding_emacs_mule, detect_coding_iso_2022)
7055 (detect_coding_sjis, detect_coding_big5)
7056 (detect_coding_ccl, detect_coding_charset): Change argument MASK
7057 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 7058 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
7059 (MAX_ANNOTATION_LENGTH): New macro.
7060 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
7061 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
7062 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 7063 (ADD_CHARSET_DATA): New macro.
1f45f627 7064 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
7065 (decode_coding_emacs_mule, decode_coding_iso_2022)
7066 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7067 Produce charset annotation data in coding->charbuf.
7068 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
7069 to charset annotation data in coding->charbuf.
7070 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
7071 coding->common_flags if the coding system is iso-2022 based and
7072 uses designation.
1f45f627 7073 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
7074 (produce_charset): New function.
7075 (produce_annotation): Handle charset annotation.
7076 (handle_composition_annotation, handle_charset_annotation): New
7077 functions.
7078 (consume_chars): Handle charset annotation. Utilize the above two
7079 functions.
7080 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
7081 buffer, get the deleted text as a string and set
7082 coding->src_object to that string.
7083 (detect_coding, detect_coding_system): Use the new struct
7084 coding_detection_info.
7085
7086 * coding.h (struct coding_detection_info): New structure.
1f45f627 7087 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
7088 (CODING_ANNOTATE_CHARSET_MASK): New macro.
7089
73acf815 70902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7091
7092 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
7093
73acf815 70942008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7095
1f45f627 7096 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
7097 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
7098 to new local and nullify apropos_accumulate before returning.
7099 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
7100
73acf815 71012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7102
7103 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
7104 correctly.
7105
73acf815 71062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7107
7108 * fns.c (Flanginfo): Call synchronize_system_time_locale.
7109
73acf815 71102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7111
7112 The following changes are to make character composition happen
7113 automatically on displaying.
7114
2a2e8de7 7115 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 7116
1f45f627
GM
7117 * composite.h (Qauto_composed, Vauto_composition_function)
7118 (Qauto_composition_function): Extern them.
aca7a3d2 7119
1f45f627
GM
7120 * composite.c (Vcomposition_function_table)
7121 (Qcomposition_function_table): Delete variables.
7122 (Qauto_composed, Vauto_composition_function)
7123 (Qauto_composition_function): New variables.
aca7a3d2
MB
7124 (run_composition_function): Don't call
7125 compose-chars-after-function.
7126 (update_compositions): Clear `auto-composed' text property.
7127 (compose_chars_in_text): Delete this function.
7128 (syms_of_composite): Staticpro Qauto_composed and
7129 Qauto_composition_function. Declare Vauto_composition_function as
7130 a Lisp variable.
7131
7132 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
7133
7134 * xdisp.c (it_props): Add an entry for Qauto_composed.
7135 (handle_auto_composed_prop): New function.
7136
7137 * xselect.c (selection_data_to_lisp_data): Don't call
7138 compose_chars_in_text.
7139
73acf815 71402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7141
7142 * keyboard.c (read_char): Modify checking around use of
7143 Vkeyboard_translate_table.
7144
7145 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7146 and fix C types.
7147
73acf815 71482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7149
4c4475a8
GM
7150 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
7151 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7152 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 7153 the case that the last byte is '\r' correctly.
1f45f627
GM
7154 (decode_coding): Flush out the unprocessed data correctly.
7155 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 7156
73acf815 71572008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7158
7159 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
7160 XK_ISO... case.
7161 (xaw_scroll_callback): Revert last change.
7162
73acf815 71632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7164
1f45f627 7165 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 7166
73acf815 71672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7168
7169 * xfaces.c (Vface_resizing_fonts): New variable.
7170 (struct font_name): New member `resizing_ratio'.
7171 (font_resizing_ratio): New function.
7172 (split_font_name): Set font->resizing_ratio.
7173 (better_font_p): Pay attention to font->resizing_ratio.
7174 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
7175 RESX, and RESY fields.
7176 (try_alternative_families): Try scalable fonts if
7177 Vscalable_fonts_allowed is not Qt.
7178 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
7179
73acf815 71802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7181
7182 * xterm.c (xaw_scroll_callback): Cast correctly.
7183
73acf815 71842008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7185
7186 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
7187 (lispy_kana_keys): Comment out.
7188 (make_lispy_event) [XK_kana_A]: Comment out.
7189
7190 * xterm.c (xaw_scroll_callback): Cast call_data.
7191 (XTread_socket): Deal with ASCII keysyms.
7192 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
7193
73acf815 71942008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7195
7196 * xterm.c (Vx_keysym_table): New.
7197 (syms_of_xterm): Initialize it.
7198 (XTread_socket): Use it.
7199 From head: Eliminate incorrect optimization that tried to avoid
7200 decoding the output of X*LookupString.
7201 (x_get_font_repertory): Delete charset declaration.
7202
73acf815 72032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7204
1f45f627
GM
7205 * coding.c (detect_coding_charset): If only ASCII bytes are found,
7206 return 0.
aca7a3d2
MB
7207 (Fdefine_coding_system_internal): Setup
7208 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
7209
73acf815 72102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7211
7212 * coding.c (Fcheck_coding_system): Doc fix.
7213
7214 * editfns.c (Finsert_byte): Return a proper value.
7215
73acf815 72162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7217
7218 * coding.c (decode_coding): Fix args to translate_chars. Pay
7219 attention to Vstandard_translation_table_for_decode.
7220 (encode_coding): Fix args to translate_chars. Pay attention to
7221 Vstandard_translation_table_for_encode.
7222
7223 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
7224 SINGLE_BYTE_CHAR_P.
7225
7226 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
7227 not by SINGLE_BYTE_CHAR_P.
7228
7229 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
7230 SINGLE_BYTE_CHAR_P.
7231
7232 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
7233 SINGLE_BYTE_CHAR_P.
7234
7235 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
7236 by SINGLE_BYTE_CHAR_P.
7237
7238 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
7239 SINGLE_BYTE_CHAR_P.
7240
73acf815 72412008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7242
7243 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
7244
73acf815 72452008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7246
7247 * fns.c (Flanginfo): Fix typo.
7248
7249 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
7250
73acf815 72512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7252
4c4475a8
GM
7253 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
7254 (detect_coding_emacs_mule, detect_coding_iso_2022)
7255 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
7256 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 7257 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 7258 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 7259 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 7260
73acf815 72612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7262
1f45f627
GM
7263 * character.c (char_string): Rename from
7264 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
7265 (string_char): Rename from string_char.
aca7a3d2 7266
4c4475a8
GM
7267 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
7268 if C is greater than MAX_3_BYTE_CHAR.
7269 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
7270 string_char instead of string_char_with_unification.
aca7a3d2 7271
73acf815 72722008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7273
7274 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
7275
73acf815 72762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7277
1f45f627 7278 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
7279
7280 * regex.c (re_search_2): Fix for the case of unibyte buffer.
7281
73acf815 72822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7283
7284 * charset.c (define_charset_internal): Rename `supprementary'.
7285
7286 * Makefile.in (lisp, shortlisp): Remove latin-N.
7287
73acf815 72882008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7289
7290 * xfns.c (x_window, x_window): Use use_xim.
7291
7292 * xterm.c (use_xim): Initialize.
7293 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
7294 (x_term_init): Maybe set use_xim.
7295
7296 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
7297
73acf815 72982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7299
7300 * search.c (search_buffer): Fix case-fold-search of multibyte
7301 characters.
7302 (boyer_moore): Rename the last argument to char_high_bits.
7303
73acf815 73042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7305
7306 * xdisp.c (display_string): Fix for the case of zero width glyph.
7307
7308 * xfns.c (x_set_font): Change the error message of the case that
7309 x_new_fontset returns Qt.
7310
7311 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
7312 (Finternal_set_lisp_face_attribute): Use signal_error for the
7313 error of invalid fontset.
7314
7315 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
7316 fontset, return Qt.
7317
73acf815 73182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7319
aca7a3d2
MB
7320 * unexelf.c (unexec): Make .got handling not SGI-specific.
7321
7322 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
7323
7324 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
7325
7326 * keyboard.c (read_key_sequence): Fix type error.
7327
7328 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
7329 type error.
7330
7331 * fontset.c (fontset_add): Return Lisp_Object.
7332
73acf815 73332008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7334
7335 * charset.h (charset_ordered_list_tick): Declare extern.
7336
73acf815 73372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7338
73acf815 7339 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
7340 for handling syntax, category, and case conversion for unibyte
7341 characters by converting them to multibyte on the fly. With these
7342 changes, we don't have to setup syntax and case tables for unibyte
7343 characters in each language environment.
7344
7345 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
7346 multibyte if necessary.
7347
7348 * bytecode.c (Fbyte_code): Likewise.
7349
7350 * character.h (LEADING_CODE_LATIN_1_MIN)
7351 (LEADING_CODE_LATIN_1_MAX): New macros.
7352 (unibyte_to_multibyte_table): Extern it.
7353 (unibyte_char_to_multibyte): New macro.
7354 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
7355 (CHAR_LEADING_CODE): New macro.
7356 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
7357
7358 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 7359 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
7360 (multibyte_char_to_unibyte): If C is an eight-bit character,
7361 convert it to the corresponding byte value.
7362
7363 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
7364 not 1, singals an error. Update the elements of
7365 unibyte_to_multibyte_table.
7366 (init_charset_once): Initialize unibyte_to_multibyte_table.
7367 (syms_of_charset): Define the charset `iso-8859-1'.
7368
aca7a3d2
MB
7369 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
7370 as is without converting it to unibyte. In a unibyte buffer,
7371 convert C to multibyte before checking the syntax.
7372
1f45f627 7373 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
7374
7375 * minibuf.c (Fminibuffer_complete_word): Use the macro
7376 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
7377
7378 * regex.h (struct re_pattern_buffer): New member target_multibyte.
7379
7380 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
7381 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
7382 that is zero, convert an eight-bit char to multibyte.
7383 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
7384 non-emacs case.
7385 (PATFETCH): Convert an eight-bit char to multibyte.
7386 (HANDLE_UNIBYTE_RANGE): New macro.
7387 (regex_compile): Setup the compiled pattern for multibyte chars
7388 even if the given regex string is unibyte. Use PATFETCH_RAW
7389 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 7390 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 7391 only for ASCII chars.
1f45f627 7392 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
7393 is multibyte.
7394 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
7395 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 7396 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
7397 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
7398 multibyte always 1.
7399 (re_search_2): In emacs, set the locale variable multibyte to 1,
7400 otherwise to 0. New local variable target_multibyte. Check it
7401 to decide the multibyteness of STR1 and STR2. If
7402 target_multibyte is zero, convert unibyte chars to multibyte
7403 before translating and checking fastmap.
7404 (TARGET_CHAR_AND_LENGTH): New macro.
7405 (re_match_2_internal): In emacs, set the locale variable multibyte
7406 to 1, otherwise to 0. New local variable target_multibyte. Check
7407 it to decide the multibyteness of STR1 and STR2. Use
7408 TARGET_CHAR_AND_LENGTH to fetch a character from D.
7409 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 7410 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
7411 target_multibyte, not with multibyte.
7412 <begline>: Declare the local variable C as `unsigned'.
7413 (bcmp_translate): Change the last arg name to target_multibyte.
7414
7415 * search.c (compile_pattern_1): Don't adjust the multibyteness of
7416 the regexp pattern and the matching target. Set cp->buf.multibyte
7417 to the multibyteness of the regexp pattern. Set
1f45f627 7418 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
7419 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
7420 FETCH_STRING_CHAR_ADVANCE.
7421 (Freplace_match): Convert unibyte chars to multibyte.
7422
4c4475a8
GM
7423 * syntax.c (char_quoted, back_comment, scan_words)
7424 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
7425 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 7426 unibyte chars to multibyte.
1f45f627
GM
7427 (skip_chars): Delete the arg syntaxp, and move the code for
7428 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
7429 Fix the case that the multibyteness of STRING and the current
7430 buffer doesn't match.
7431 (skip_syntaxes): New function.
7432 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
7433 SINGLE_BYTE_CHAR_P.
aca7a3d2 7434
73acf815 74352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7436
7437 * xfaces.c (QCfontset): New variable.
7438 (LFACE_FONTSET): New macro.
7439 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
7440 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
7441 (Finternal_set_lisp_face_attribute)
7442 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
7443 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
7444 check also LFACE_FONTSET_INDEX.
7445 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
7446 attrs[LFACE_FONT_INDEX].
7447 (syms_of_xfaces): Intern and staticpro QCfontset.
7448
7449 * dispextern.h (enum lface_attribute_index): New member
7450 LFACE_FONTSET_INDEX.
7451
7452 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
7453
73acf815 74542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7455
7456 * coding.c (coding_set_destination): Fix coding->destination for
7457 the case converting a region.
7458 (encode_coding_utf_8): Encode eight-bit chars as single byte.
7459 (encode_coding_object): Fix coding->dst_pos and
7460 coding->dst_pos_byte for the case converting a region.
7461
7462 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
7463
7464 * character.h (BYTE8_STRING): New macro.
7465
7466 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
7467
73acf815 74682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7469
7470 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
7471 characters by octal form.
7472
7473 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7474
1f45f627 7475 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
7476 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
7477 _fetch_multibyte_char_len.
aca7a3d2
MB
7478 (FETCH_CHAR_AS_MULTIBYTE): New macro.
7479
1f45f627 7480 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 7481
1f45f627 7482 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 7483 the case conversion change the byte length.
1f45f627 7484 (casify_region): Likewise.
aca7a3d2 7485
1f45f627 7486 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 7487
1f45f627 7488 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
7489 (syms_of_character): Setup Vprintable_chars.
7490
7491 * editfns.c (Fchar_equal): Fix for the unibyte case.
7492 (Finsert_byte): New function.
7493 (syms_of_editfns): Defsubr it.
7494
7495 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
7496 of direct code 0x3ffff.
7497
7498 * search.c (Freplace_match): Fix for the unibyte case.
7499
73acf815 75002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7501
7502 * lread.c (safe_to_load_p): Fix the logic.
7503
7504 * syntax.c (scan_words): Don't treat characters belonging to
7505 different scripts as constituting a word.
7506
7507 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7508
1f45f627 7509 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
7510
7511 * emacs.c (main): In the case of --unibyte, instead of aborting on
7512 finding non-empty buffer, make it unibyte.
7513
73acf815 75142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7515
7516 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
7517 to create a fontset.
7518
73acf815 75192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7520
7521 * character.c (Funibyte_char_to_multibyte): Doc fix.
7522
7523 * xfns.c [HAVE_STDLIB_H]: Fix last change.
7524
73acf815 75252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7526
7527 * fontset.c (fontset_add): Make the type `int'.
7528 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
7529
4c4475a8
GM
7530 * character.c (unibyte_char_to_multibyte)
7531 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 7532 charset_unibyte, not charset_primary.
aca7a3d2 7533
1f45f627 7534 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 7535
1f45f627
GM
7536 * charset.c (charset_unibyte): Rename from charset_primary.
7537 (Funibyte_charset): Rename from Fprimary_charset.
7538 (Fset_unibyte_charset): Rename from Fset_primary_charset.
7539 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
7540
7541 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7542 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7543 it->multibyte_p is zero.
7544
7545 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 7546 Delete extern.
aca7a3d2 7547
73acf815 75482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7549
7550 * coding.c (Fdefine_coding_system_internal): Fix category setting
7551 for a coding system of type iso-2022.
7552
73acf815 75532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7554
1f45f627 7555 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 7556
73acf815 75572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7558
7559 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
7560 (next-word-boundary-function-table): Declare it as a Lisp variable
7561 in syms_of_syntax.
aca7a3d2
MB
7562 (scan_words): Call functions in Vnext_word_boundary_function_table
7563 if any.
7564
7565 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
7566
7567 * fontset.c (fs_load_font): If fontp->charset is not negative,
7568 return fontp without setting its members.
7569
73acf815 75702008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7571
aca7a3d2
MB
7572 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
7573
7574 * m/sparc.h (HAVE_ALLOCA): Delete.
7575
7576 * s/irix6-5.h: Don't include strings.h.
7577 (bcopy, bzero, bcmp): Don't undef.
7578
7579 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
7580
7581 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
7582 (TIOCSIGSEND): Don't test IRIX6.
7583 (bcopy, bzero, bcmp): Define conditionally.
7584
73acf815 75852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7586
7587 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 7588 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
7589 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
7590
7591 * callproc.c (Fcall_process): Don't call insert_1_both directly if
7592 we are inserting a process output into a multibyte buffer.
7593
7594 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
7595 multibyte_char_to_unibyte.
7596
7597 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
7598 by the primary charset, make it eight-bit char.
7599 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
7600
1f45f627
GM
7601 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
7602 (charset_8_bit__control, charset_8_bit_graphic)
7603 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
7604 (define_charset_internal): New function.
7605 (syms_of_charset): Call define_charset_internal for pre-defined
7606 charsets.
7607
7608 * charset.h (charset_8_bit): Extern it.
7609
1f45f627 7610 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
7611 of Fset_buffer_multibyte.
7612 (encode_coding_raw_text): Increment p0 in the loop.
7613
1f45f627 7614 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 7615
1f45f627 7616 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
7617 for the change of Fset_buffer_multibyte.
7618
7619 * fns.c (Fstring_to_multibyte): New function.
7620 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
7621
73acf815 76222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7623
7624 * xfns.c (x_put_x_image): Declare args.
7625
1f45f627 7626 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
7627 (try_font_list): Declare an arg.
7628
7629 * xdisp.c (message2_nolog, set_message): Declare an arg.
7630
7631 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
7632
7633 * syntax.c (scan_sexps_forward): Declare an arg.
7634
7635 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7636 Declare an arg.
7637
7638 * lisp.h (Fnew_fontset): Declare.
7639
7640 * keymap.c (push_key_description): Call CHARACTERP correctly.
7641
1f45f627 7642 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
7643 (face_for_char): Delete unused vars.
7644 (Fset_fontset_font): Doc fix. Delete unused vars.
7645
7646 * doc.c (Fsubstitute_command_keys): Delete unused vars.
7647
7648 * composite.c (update_compositions): Declare arg.
7649
7650 * cm.c (calccost, cmgoto): Declare args.
7651
7652 * charset.c: Remove `emacs' conditional. Doc fixes.
7653 (map_char_table_for_charset): Declare.
7654
1f45f627 7655 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 7656
1f45f627 7657 * ccl.c: Remove `emacs' conditional.
aca7a3d2 7658
73acf815 76592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7660
7661 The following changes are to allow specifying multiple font
7662 patterns for a character range (specified by script or charset).
7663
7664 * Makefile.in (abbrev.o): Depend on syntax.h.
7665 (xfaces.o): Depend on charset.h.
7666
7667 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
7668 SINGLE_BYTE_CHAR_P.
7669
7670 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
7671
7672 * character.h (Vchar_script_table): Extern it.
7673
1f45f627 7674 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
7675 (Vchar_script_table, Qchar_script_table): New variable.
7676 (syms_of_character): Declare Vchar_script_table as a lisp variable
7677 and initialize it.
7678
1f45f627 7679 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
7680 have property char-table-extra-slots, make no extra slot.
7681
1f45f627 7682 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
7683 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
7684 SINGLE_BYTE_CHAR_P.
1f45f627
GM
7685 (choose_face_font, lookup_non_ascii_face, font_name_registry):
7686 Add prototypes.
7687 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
7688 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7689
7690 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 7691 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
7692 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
7693
7694 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 7695 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
7696 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
7697 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
7698 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
7699 (fontset_ref_and_range, fontset_add, reorder_font_vector)
7700 (load_font_get_repertory): New functions.
1f45f627 7701 (fontset_set): Delete.
aca7a3d2 7702 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 7703 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
7704 (free_face_fontset): Use ASET istead of AREF (X) = Y.
7705 (face_for_char): Don't call lookup_face.
7706 (make_fontset_for_ascii_face): New arg FACE.
7707 (fs_load_font): New arg CHARSET_ID. Don't check
7708 Vfont_encoding_alist here.
7709 (find_font_encoding): New function.
7710 (list_fontsets): Use STRINGP, not ! NILP.
7711 (accumulate_script_ranges): New function.
7712 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
7713 re-written to handle new fontset structure.
7714 (Ffontset_font): Return a copy of element.
7715 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
7716 docstring of font-encoding-alist.
7717
7718 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
7719 (Fset_fotset_font): Fix arguments to 5.
7720
1f45f627 7721 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
7722
7723 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
7724 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 7725 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
7726 lookup_named_face.
7727
7728 * xfaces.c: Include charset.h.
1f45f627
GM
7729 (load_face_font): Delete argument C. Change caller.
7730 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7731 (font_name_registry): New function.
7732 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 7733 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
7734 Lookup only ascii faces.
7735 (lookup_non_ascii_face): New function.
1f45f627
GM
7736 (lookup_named_face): Delete argument C. Change caller.
7737 (lookup_derived_face): Delete argument C. Change caller.
7738 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 7739 a string, just call font_list with it.
1f45f627
GM
7740 (choose_face_font): Delete arguments FACE and C. New arg
7741 FONT_SPEC. Change caller.
4c4475a8
GM
7742 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
7743 Change caller.
aca7a3d2
MB
7744 (realize_non_ascii_face): New function.
7745 (realize_x_face): Call load_face_font here.
1f45f627 7746 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
7747 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
7748 get a face ID.
7749 (dump_realized_face): Don't print charset of FACE.
7750
7751 * xfns.c (x_set_font): Always call x_new_fontset and
7752 store_frame_parameter.
7753 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 7754 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
7755
7756 * xterm.h (x_get_font_repertory): Extern it.
7757
7758 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7759 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7760 it->multibyte_p is zero.
7761 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7762 (x_new_fontset): If FONTSETNAME doesn't match any existing
7763 fontsets, create a new one.
7764 (x_get_font_repertory): New function.
7765
73acf815 77662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7767
7768 * coding.c (Ffind_coding_systems_region_internal): Detect an
7769 ASCII only string correctly.
7770
7771 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
7772 version is 0.
7773
73acf815 77742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7775
7776 * lread.c: Include "coding.h".
1f45f627
GM
7777 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
7778 (load_each_byte, unread_char): New variables.
7779 (readchar_backlog): Delete.
aca7a3d2
MB
7780 (readchar): Return a character unless load_each_byte is nonzero.
7781 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
7782 cons. If unread_char is not -1, simply return it.
7783 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
7784 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
7785 (read_multibyte): Delete.
aca7a3d2
MB
7786 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
7787 (read_emacs_mule_char): New functions.
7788 (Fload): Even if the file doesn't have the extention ".elc", if
7789 safe_to_load_p returns a positive version number, assume that the
7790 file contains bytecompiled code. If the version is less than 22,
7791 load the file while decoding multibyte sequences by emacs-mule.
7792 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
7793 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
7794 (Fread_from_string): Pay attention to the case that STREAM is a cons.
7795 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
7796 (read1): Set load_each_byte to 1 temporarily while handling
7797 #@NUMBER. Don't call read_multibyte.
7798 (read_vector): Call Fread with a cons. If readcharfun is
7799 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 7800 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
7801 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
7802 and Qload_force_doc_strings.
7803
73acf815 78042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7805
7806 * xdisp.c (face_before_or_after_it_pos): Call
7807 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7808
73acf815 78092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7810
7811 * character.h (TRAILING_CODE_P): New macro.
1f45f627 7812 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
7813 (string_char_with_unification): Fix prototype.
7814 (Vscript_alist): Extern it.
7815
7816 * character.c (Vscript_alist): New variable.
4c4475a8
GM
7817 (string_char_with_unification, str_as_unibyte)
7818 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
7819 (syms_of_character): Declare script-alist as a Lisp variable.
7820
7821 * charset.h (Vcharset_ordered_list): Extern it.
7822 (charset_ordered_list_tick): Extern it.
7823 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
7824 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
7825 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 7826 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 7827 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
7828
7829 * charset.c (charset_ordered_list_tick): New variable.
7830 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
7831 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
7832 deunify intead of unify a charset.
7833 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
7834 (find_charsets_in_text): Add `const' to arguemnts and local variables.
7835 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
7836 detecting of invalid code.
7837 (Fset_charset_priority): Increment charset_ordered_list_tick.
7838 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
7839 and TO_CODE.
7840
7841 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
7842 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
7843 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
7844 (decode_coding_ccl, consume_chars)
7845 (Ffind_coding_systems_region_internal)
7846 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
7847
7848 * print.c (print_object): Use octal form for printing the
7849 contents of a bool vector.
7850
73acf815 78512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7852
7853 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
7854 <version == 20>: Refuse to load.
7855
73acf815 78562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7857
7858 * fns.c: Move coding.h.
7859 (Qcodeset, Qdays, Qmonths): New.
7860 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 7861 (Flocale_codeset): Delete.
aca7a3d2 7862 (Flanginfo): New function.
1f45f627 7863 (syms_of_fns): Change accordingly.
aca7a3d2
MB
7864
7865 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
7866
73acf815 78672008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7868
7869 * casetab.c (init_casetab_once, init_casetab_once): Fix
7870 CHAR_TABLE_SET call.
7871
7872 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
7873
7874 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
7875
7876 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
7877 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
7878 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
7879
7880 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
7881
7882 * coding.c (ENCODE_DESIGNATION, decode_eol)
7883 (make_conversion_work_buffer, code_conversion_restore)
7884 (Fdefine_coding_system_internal): Convert Lisp types.
7885 (code_conversion_restore): Use EQ, not ==.
7886 (Fencode_coding_string): Fix code_convert_string call.
7887
7888 * coding.h (code_convert_region): Fix prototype.
7889
1f45f627 7890 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
7891
7892 * fontset.c (fontset_ref, fontset_set, fs_load_font)
7893 (Ffontset_info): Convert Lisp types.
7894
7895 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
7896
7897 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
7898
7899 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
7900
7901 * chartab.c: Include "...h", not <...h> in some cases.
7902
7903 * callproc.c (Fcall_process): Remove unused variables.
7904
73acf815 79052008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7906
7907 * coding.c (Fset_coding_system_priority): Allow null arg list.
7908
73acf815 79092008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7910
7911 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7912 (Fself_insert_and_exit): Use CHARACTERP.
7913
7914 * callproc.c (Fcall_process): Remove unused vars.
7915
7916 * xterm.c (XTread_socket): Add extra dead keysyms.
7917
7918 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
7919
7920 * dispextern.h: Remove prototypes for redraw_frame,
7921 redraw_garbaged_frames.
7922
7923 * cmds.c (Fself_insert_command): Use CHARACTERP.
7924
7925 * chartab.c (make_sub_char_table): Remove unused var.
7926 (Fset_char_table_default, Fmap_char_table): Doc fix.
7927
7928 * keymap.c (access_keymap): Remove generic char code.
7929 (push_key_description): Use CHARACTERP.
7930
73acf815 79312008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7932
7933 * charset.c: Doc fixes.
7934 (Funify_charset): Extra checking.
7935
73acf815 79362008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7937
7938 * lread.c: Remove some unused variables.
7939 (safe_to_load_p): If safe, return the magic number version byte.
7940 (Fload): Maybe use load-with-code-conversion.
7941
73acf815 79422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7943
7944 * category.c (Fmodify_category_entry): Don't modify the contents
7945 of category_set for characters out of the range. Avoid
7946 unnecessary modification.
7947
1f45f627 7948 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
7949 Vchar_unify_table. The default value of the table is now nil.
7950
7951 * character.c (syms_of_character): Setup Vchar_width_table for
7952 eight-bit-control and raw-byte chars.
7953
7954 * charset.h (enum define_charset_arg_index): Delete
7955 charset_arg_parents and add charset_arg_subset and
7956 charset_arg_superset.
7957 (enum charset_attr_index): Delete charset_parents and add
7958 charset_subset and charset_superset.
7959 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
7960 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 7961 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
7962 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
7963 (CHARSET_SUPERSET): New macros.
7964 (charset_work): Extern it.
7965 (ENCODE_CHAR): Use charset_work.
1f45f627 7966 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
7967 (map_charset_chars): Extern it.
7968
7969 * charset.c (load_charset_map): Set the default value of encoder
7970 and deunifier char-tables to nil.
1f45f627 7971 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
7972 map_char_table_for_charset instead of map_char_table.
7973 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 7974 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
7975 `define-charset' (:parents -> :subset or :superset).
7976 (charset_work): New variable.
4c4475a8
GM
7977 (encode_char, syms_of_charset): Adjust for the change of
7978 Fdefine_charset_internal.
aca7a3d2
MB
7979 (Ffind_charset_string): Setup the vector `charsets' correctly.
7980
1f45f627 7981 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 7982 the previous change.
1f45f627 7983 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
7984 (map_sub_char_table_for_charset): New function.
7985 (map_char_table_for_charset): New function.
7986
7987 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 7988 (describe_char_table): Delete.
aca7a3d2 7989
1f45f627 7990 * lisp.h (map_charset_chars): Delete.
aca7a3d2 7991
73acf815 79922008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7993
7994 * fns.c (count_combining): Comment out (unused).
7995 (Flocale_codeset): New.
7996 (syms_of_fns): Defsubr it.
7997
7998 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 7999 (size_t): Remove.
aca7a3d2 8000
73acf815 80012008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8002
6f69e89b 8003 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 8004
73acf815 80052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8006
8007 * character.c (syms_of_character): Set the default value of
8008 Vprintable_chars to Qnil.
8009
73acf815 80102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8011
8012 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
8013
73acf815 80142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8015
8016 * charset.c (load_charset_map): Handle the case that from < to
8017 correctly.
8018
4c4475a8
GM
8019 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
8020 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
8021 Pay attention to raw-8-bit chars.
aca7a3d2 8022
73acf815 80232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8024
4c4475a8
GM
8025 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
8026 It is not bytecompiled now.
aca7a3d2
MB
8027
8028 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
8029 (charset_jisx0208): New variables.
8030 (Fdefine_charset_internal): Setup them if appropriate.
8031 (init_charset_once): Initialize them to -1.
8032
1f45f627
GM
8033 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
8034 (charset_jisx0208): Extern them.
aca7a3d2 8035
1f204af3 8036 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 8037 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
8038 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
8039 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
8040 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
8041 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
8042 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
8043 (encode_coding_iso_2022): Change the 1st arg to
8044 ENCODE_ISO_CHARACTER to a variable.
8045
73acf815 80462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8047
8048 * charset.h (enum define_charset_arg_index): New enums
8049 charset_arg_min_code and charset_arg_max_code.
8050 (struct charset): New member char_index_offset.
8051
4c4475a8
GM
8052 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
8053 Take charset->char_index_offset into account.
aca7a3d2
MB
8054 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
8055 args[charset_arg_max_code]. Setup charset.char_index_offset.
8056 (syms_of_charset): Fix args to Fdefine_charset_internal.
8057
73acf815 80582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8059
8060 * coding.c (decode_coding_utf_8): Reject overlong sequences.
8061
73acf815 80622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8063
8064 * coding.c: Doc fixes.
8065 (Fcoding_system_aliases): Fix return value.
8066 (Qmac): Remove (duplicated) definition.
8067
73acf815 80682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8069
8070 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
8071 functions.
8072
8073 * character.c (Fstring): Doc fix.
8074
8075 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
8076
8077 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
8078 ids.
8079 (font-encoding-alist): Doc fix.
8080
73acf815 80812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8082
8083 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 8084 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
8085
8086 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8087 for K&R.
8088
8089 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
8090
8091 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 8092 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 8093
1f45f627 8094 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
8095
8096 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
8097
73acf815 80982008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8099
8100 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
8101
1f45f627 8102 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 8103
2a2e8de7 81042008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
8105
8106 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
8107
1f45f627 8108 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 8109
73acf815 81102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8111
4c4475a8 8112 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 8113 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 8114
73acf815 81152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8116
1f45f627 8117 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
8118 Fdefine_coding_system_internal.
8119 (Fdefine_coding_system_internal): For a coding system of
8120 `charset' type, store a list of charset IDs in
8121 `charset_attr_charset_valids' element of coding attributes.
8122
73acf815 81232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8124
8125 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
8126 (emacs_mule_char): New arg src. Delete arg `composition'. Change
8127 caller. Handle 2-byte and 3-byte charsets correctly.
8128 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
8129 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
8130 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
8131 (DECODE_EMACS_MULE_21_COMPOSITION): Call
8132 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
8133 sequence.
8134 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 8135 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
8136 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
8137 and alt&rule composition.
8138 (decode_coding_iso_2022): Handle composition correctly.
8139 (init_coding_once): Setup emacs_mule_bytes for private charsets.
8140
8141 * charset.c (Fdefine_charset_internal): Fix bug for the case of
8142 re-defining a charset. If the charset has :emacs-mule-id, setup
8143 emacs_mule_bytes.
1f45f627 8144 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 8145
73acf815 81462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8147
4c4475a8
GM
8148 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
8149 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
8150 encoding, produce a character specified by
8151 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 8152
73acf815 81532008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8154
8155 * xterm.c (XSetIMValues): Declare.
8156
8157 * process.c: Conditionally include sys/wait.h, pty.h.
8158
1f45f627 8159 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 8160
1f45f627 8161 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
8162
8163 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
8164
8165 * fontset.c (Fclear_face_cache): Declare.
1f45f627 8166 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
8167 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
8168 variables.
8169
8170 * character.h (string_escape_byte8): Declare.
8171
8172 * charset.c (load_charset_map, load_charset_map_from_file): Remove
8173 unused vars.
8174 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
8175 (Fmap_charset_chars): Doc fix.
8176
1f45f627 8177 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
8178 (Fset_coding_system_priority, Fset_coding_system_priority)
8179 (Fdefine_coding_system_internal): Doc fix.
8180
73acf815 81812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8182
8183 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
8184
73acf815 81852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8186
8187 * character.c (string_escape_byte8): Make multibyte string with
8188 correct size.
8189
8190 * charset.c (Fmake_char): Delete unnecessary code.
8191
73acf815 81922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8193
8194 * xfns.c (x_encode_text): Allocate coding.destination here, and
8195 call encode_coding_object with dst_object Qnil.
8196
8197 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
8198 multibyte form correctly.
8199
8200 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
8201 against Vfont_encoding_alist.
8202
8203 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
8204 handling of charset list.
8205 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8206 (decode_coding_object): Move point to coding->dst_pos before
8207 calling post-read-conversion function.
8208 (encode_coding_object): Give correct arguments to
8209 pre-write-conversion. Ignore the return value of
8210 pre-write-conversion function. Pay attention to the case that
8211 pre-write-conversion changes the current buffer. If dst_object is
8212 Qt, even if coding->src_bytes is zero, allocate at least one byte
8213 to coding->destination.
8214
8215 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
8216
8217 * charset.c (Fmake_char): Make it more backward compatible.
8218 (Fmap_charset_chars): Fix docstring.
8219
73acf815 82202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8221
8222 * coding.c: Doc fixes.
8223 (Fdefine_coding_system_alias): Use names, not symbols, in
8224 coding-system-alist.
8225
73acf815 82262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8227
8228 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
8229 of calling free_realized_face.
8230
2a2e8de7 82312008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 8232
1f45f627
GM
8233 * charset.c (read_hex): Don't treat SPC as a comment starter.
8234 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
8235 (Fdecode_char): Fix typo.
8236
73acf815 82372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8238
8239 * charset.h (struct charset): New member `code_space_mask'.
8240
1f45f627 8241 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
8242 (encode_coding_charset, Fdefine_coding_system_internal):
8243 Delete the local variable charset.
aca7a3d2
MB
8244 (Fdefine_coding_system_internal): Setup
8245 attrs[coding_attr_charset_valids] correctly.
8246
8247 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
8248 member to check if CODE is valid or not.
8249 (Fdefine_charset_internal): Initialize `code_space_mask' member.
8250 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
8251 is within the range of charset->min_code and carset->max_code.
8252
73acf815 82532008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8254
8255 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
8256
8257 * dispextern.h (generate_ascii_font): Fix return type.
8258
8259 * xfaces.c (generate_ascii_font): Fix arg declaration.
8260
8261 * coding.c (coding_inherit_eol_type)
8262 (Fset_terminal_coding_system_internal)
8263 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
8264
73acf815 82652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8266
8267 * coding.c (decode_coding_charset, encode_coding_charset): Handle
8268 multiple charsets correctly.
8269
73acf815 82702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8271
8272 * search.c (boyer_moore): Fix handling of mulitbyte character
8273 translation.
8274
8275 * xdisp.c (display_mode_element): When the variable `elt' is
8276 changed, update `this' and `lisp_string'.
8277
73acf815 82782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8279
8280 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
8281
8282 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 8283 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
8284
8285 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
8286 (load_charset_map): Rename from parse_charset_map. New args
8287 entries and n_entries. Change caller.
8288 (load_charset_map_from_file): Rename from load_charset_map.
8289 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
8290 the tail.
8291 (load_charset_map_from_vector): New function.
8292 (Fdefine_charset_internal): Setup charset.compact_codes_p.
8293 (encode_char): If the charset is compact, change a character index
8294 to a code point.
8295
8296 * coding.c (coding_alloc_by_making_gap): Check the case that the
8297 source and destination are the same correctly.
8298 (decode_coding_raw_text): Set coding->consumed_char and
8299 coding->consumed to 0.
8300 (produce_chars): If coding->chars_at_source is nonzero, update
8301 coding->consumed_char and coding->consumed before calling
8302 alloc_destination.
8303 (Fdefine_coding_system_alias): Register ALIAS in
8304 Vcoding_system_alist.
8305 (syms_of_coding): Define `no-convesion' coding system at the tail.
8306
8307 * fileio.c (Finsert_file_contents): Set coding_system instead of
8308 val. If the current buffer is multibyte, always call
8309 decode_coding_gap.
8310
8311 * xfaces.c (try_font_list): Give higher priority to fontset's
8312 family than face's family.
8313
73acf815 83142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8315
8316 * callproc.c (Fcall_process): Be sure to give the current buffer
8317 to decode_coding_c_string.
8318
8319 * xfaces.c (try_font_list): Give a family specified in a fontset
8320 higher priority than a family specified in a face.
8321
73acf815 83222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8323
8324 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
8325 Fix arguments to insert_from_buffer.
8326
8327 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
8328
73acf815 83292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8330
8331 * coding.c (produce_chars): Set the variable `multibytep' correctly.
8332 (decode_coding_gap): Set coding->dst_multibyte correctly.
8333
73acf815 83342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8335
8336 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 8337 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
8338 (encode_coding_utf_16): Substitute coding->default_char for
8339 non-Unicode characters.
8340 (decode_coding): Don't call record_insert here.
8341 (setup_coding_system): Initialize `surrogate' of
8342 coding->spec.utf_16 to 0.
8343 (EMIT_ONE_BYTE): Fix for multibyte case.
8344
8345 * insdel.c (insert_from_gap): Call record_insert.
8346
73acf815 83472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8348
8349 * casefiddle.c (casify_region): Fix multibyte case.
8350
8351 * character.c (c_string_width): Add return type `int'.
1f45f627 8352 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
8353
8354 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 8355 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
8356 (CHAR_STRING_ADVANCE): Make it do-while statement.
8357
1f45f627 8358 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
8359 DEPTH == 3. Add workaround code for a GCC optimization bug.
8360
8361 * charset.c (parse_charset_map): Remove an unused variable.
8362
8363 * coding.c: Delete unused variables.
8364
8365 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
8366 earlier. If inserted is zero and the coding system doesn't
8367 require flushing, don't call decode_coding_gap.
8368
8369 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
8370
73acf815 83712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8372
8373 The following changes are for using Unicode as an internal
8374 character model, and use UTF-8 format for buffer/string
8375 representation.
8376
1f45f627 8377 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
8378 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
8379
8380 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 8381 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
8382 (*.o): For many files, change dependency on charset.h to
8383 character.h, and add dependency on character.h.
8384 (character.o, chartab.o): New targets.
8385
1f45f627
GM
8386 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
8387 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
8388 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
8389 of "charset.h".
8390
8391 * dired.c, filelock.c: Include "character.h".
8392
8393 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 8394 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8395 (syms_of_alloc): Remove defsubr for Smake_char_table.
8396
8397 * buffer.c: Include "character.h" instead of "charset.h", don't
8398 include "coding.h".
1f45f627 8399 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
8400
8401 * buffer.h: EXFUN Fbuffer_live_p.
8402
8403 * callproc.c: Include "character.h" instead of "charset.h".
8404 (Fcall_process): Big change for the new code-conversion APIs.
8405
8406 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 8407 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
8408 map_char_table spec.
8409 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
8410 accessing the char table structure.
8411
8412 * chartab.c: New file that implements char table.
8413
8414 * category.c: Include "character.h".
8415 (copy_category_entry): New function.
8416 (copy_category_table): Call map_char_table and copy_category_entry.
8417 (Fmake_category_table): Initialize all top-vel slots.
8418 (char_category_set): New function.
1f45f627 8419 (modify_lower_category_set): Delete.
aca7a3d2
MB
8420 (Fmodify_category_entry): Call char_table_ref_and_range.
8421
8422 * category.h (CATEGORY_SET): Just call char_category_set.
8423
8424 * ccl.c: Include "character.h".
8425 (Qccl, Qcclp): New variables.
8426 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
8427 it's less than 256.
1f45f627
GM
8428 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
8429 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 8430 and DST type.
1f45f627
GM
8431 (ccl_driver): Change types of argument, adjust code accordingly.
8432 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
8433 ccl_driver.
8434 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
8435
1f45f627
GM
8436 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
8437 New members src_multibyte, dst_multibyte, consumed, and produced.
8438 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 8439 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 8440 (ccl_driver): Update prototype.
aca7a3d2
MB
8441 (Qccl, Qcclp, Fccl_program_p): Extern them.
8442 (CHECK_CCL_PROGRAM): New macro.
8443
8444 * character.c, character.h, chartab.c: New files.
8445
1f45f627
GM
8446 * charset.c: Mostly re-written. Move character and multibyte sequence
8447 handling codes to character.c.
aca7a3d2 8448
1f45f627
GM
8449 * charset.h: Mostly re-written. Move character and multibyte sequence
8450 handling codes to character.h.
aca7a3d2
MB
8451
8452 * coding.c, coding.h: Mostly re-written.
8453
8454 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8455 (CHAR_WIDTH): Move to character.h.
8456 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 8457
1f45f627
GM
8458 * composite.h (enum composition_method): Change order of enumeration
8459 symbols.
aca7a3d2
MB
8460
8461 * data.c: Include "character.h" instead of "charset.h".
8462 (Faref): Call CHAR_TABLE_REF for a char table.
8463 (Faset): Call CHAR_TABLE_SET for a char table.
8464
1f45f627
GM
8465 * dispextern.h (free_realized_face, check_face_attribytes)
8466 (generate_ascii_font): Extern them.
8467 (free_realized_multibyte_face): Delete extern.
aca7a3d2 8468
1f45f627 8469 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
8470 table structure.
8471
8472 * editfns.c: Include "character.h" instead of "charset.h".
8473 (Fchar_to_string): Always call CHAR_STRING.
8474
8475 * emacs.c (main): Call init_charset_once, init_charset,
8476 syms_of_chartab, and syms_of_character.
8477
8478 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 8479 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 8480 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 8481 (build_annotations_2): Delete.
aca7a3d2
MB
8482 (e_write): Big change for the new code-conversion API.
8483
8484 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 8485 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8486 (Fcopy_sequence): Call copy_char_table for a char table.
8487 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
8488 (string_char_to_byte, string_byte_to_char): Adjust for the new
8489 multibyte form.
1f45f627
GM
8490 (internal_equal): Adjust for the change of char table structure.
8491 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
8492 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
8493 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
8494 (char_table_translate, optimize_sub_char_table)
8495 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 8496 chartab.c.
1f45f627
GM
8497 (char_table_ref_and_index): Delete.
8498 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 8499 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
8500 Vcoding_category_list. Adjust for the new code-conversion API.
8501 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
8502 chartab.c.
8503
8504 * fontset.c: Mostly re-written.
8505
1f45f627 8506 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 8507 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
8508 (fontset_font_pattern, fs_load_font): Update prototype.
8509 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
8510
8511 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 8512 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
8513
8514 * insdel.c: Include "character.h" instead of "charset.h".
8515 (copy_text): Don't refer to Vnonascii_translation_table.
8516 (insert_from_gap): New function.
8517
8518 * keyboard.c: Include "character.h" instead of "charset.h".
8519 (command_loop_1): Never call direct_output_forward_char before
8520 a non-ASCII character.
8521 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 8522 translate a character.
aca7a3d2
MB
8523
8524 * keymap.c: Include "character.h".
8525 (store_in_keymap): Handle the case that IDX is a cons.
8526 (Fdefine_key): Handle the case that KEY is a cons and the car part
8527 is also a cons (range).
1f45f627 8528 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
8529 (describe_vector): Call describe_char_table for a char table.
8530 (describe_char_table): New function.
8531
8532 * keymap.h (describe_char_table): Extern it.
8533
8534 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
8535 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
8536 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
8537 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
8538 Delete.
8539 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
8540 structure.
8541 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
8542 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
8543 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 8544 (chartab_size): Extern it.
1f45f627 8545 (struct Lisp_Char_Table): Re-design.
aca7a3d2 8546 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
8547 (HASH_KEY, HASH_VALUE): Move from fns.c.
8548 (CHARACTERBITS): Define as 22.
8549 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
8550 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
8551 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
8552 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
8553 (code_convert_string_norecord): Deleted extern.
8554 (init_character_once, syms_of_character, init_charset)
8555 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
8556
8557 * lread.c: Include "character.h".
8558 (read_multibyte): New arg NBYTES.
1f45f627
GM
8559 (read_escape): Change the meaning of returned *BYTEREP.
8560 (to_multibyte): Delete.
8561 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
8562
8563 * print.c: Include "character.h" instead of "charset.h".
8564 (print_string): Convert 8-bit raw bytes to octal form by
8565 string_escape_byte8.
1f45f627 8566 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
8567 raw bytes always in octal form. Handle sub char table correctly.
8568
8569 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
8570 (read_process_output, send_process): Adjust for the new
8571 code-conversion API.
aca7a3d2 8572
1f45f627 8573 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
8574
8575 * regex.c: Include "character.h" instead of "charset.h".
8576 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
8577 (regex_compile): Accept a range whose starting and ending
8578 character have different leading bytes.
1f45f627 8579 (analyse_first): Adjust for the above change.
aca7a3d2
MB
8580
8581 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8582 (search_buffer, boyer_moore): Adjust for the new multibyte form.
8583 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
8584
8585 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 8586 (syntax_parent_lookup): Delete.
aca7a3d2 8587 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 8588 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
8589 (init_syntax_once): Call char_table_set_range instead of directly
8590 accessing the structure of a char table.
8591
8592 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 8593 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
8594 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
8595 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
8596
8597 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
8598 (encode_terminal_code, write_glyphs): Adjust for the new
8599 code-conversion API.
aca7a3d2
MB
8600 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
8601
1f45f627 8602 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
8603
8604 * xdisp.c: Include "character.h".
1f45f627
GM
8605 (get_next_display_element): Adjust for the new multibyte form.
8606 (disp_char_vector): Adjust for the new char table structure.
8607 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 8608 coding system.
1f45f627 8609 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
8610
8611 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 8612 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
8613 FS_LOAD_FONT.
8614 (generate_ascii_font): New function.
1f45f627
GM
8615 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
8616 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 8617 (free_realized_face): Make it public.
1f45f627 8618 (free_realized_faces_for_fontset): Rename from
aca7a3d2 8619 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 8620 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
8621 fontset_font_pattern and FS_LOAD_FONT.
8622
8623 * xfns.c: Include "character.h".
1f45f627 8624 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
8625
8626 * xselect.c: Don't include "charset.h".
1f45f627 8627 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
8628
8629 * xterm.c: Include "character.h".
1f45f627 8630 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
8631 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
8632 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
8633 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
8634 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
8635 (XTread_socket): Adjust for the new code-conversion API.
8636 (x_new_font): Adjust for the change of FS_LOAD_FONT.
8637 (x_load_font): Adjust for the change of struct font.
aca7a3d2 8638
d6abfc14
SM
86392008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8640
8641 * xfaces.c (face_at_buffer_position): Remove unused vars.
8642
0acdaf8d
KH
86432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8644
4c4475a8
GM
8645 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
8646 Fix overflow checking.
0acdaf8d 8647
6c8a0ebf
GM
86482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8649
8650 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
8651 Cancel previous change.
8652
86532008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8654
8655 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
8656 ccl->eight_bit_control. Fix check for buffer overflow.
8657 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
8658 (ccl_driver): Initialize extra_bytes to 0.
8659
a32aad64
KH
86602008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8661
8662 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
8663 return it ORed with ctrl_modifier.
8664
8b329dba
MB
86652008-01-29 Miles Bader <miles@gnu.org>
8666
8667 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
8668
548667aa
JR
86692008-01-28 Jason Rumney <jasonr@gnu.org>
8670
8671 * w32.c (stat): Don't double check for networked drive.
8672
0975aa24
SM
86732008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
8674
ef264c42
SM
8675 * window.c (run_window_configuration_change_hook): New function.
8676 Code extracted from set_window_buffer. Set the selected frame.
8677 (set_window_buffer): Use it.
8678 * window.h (run_window_configuration_change_hook): Declare.
8679 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
8680
0975aa24
SM
8681 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
8682
9c28b587
DN
86832008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
8684
8685 * Makefile.in: Remove references to unused macros.
8686
c617afce
EZ
86872008-01-26 Eli Zaretskii <eliz@gnu.org>
8688
8689 * w32.c (g_b_init_get_sid_sub_authority)
8690 (g_b_init_get_sid_sub_authority_count): New static variables.
8691 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
8692 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
8693 (init_user_info): Use them to retrieve uid and gid.
8694 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
8695 (fstat): Use pw_uid and pw_gid from the_passwd structure for
8696 st_uid and st_gid of the file.
c617afce 8697
302d7d54
JR
86982008-01-26 Jason Rumney <jasonr@gnu.org>
8699
8700 * w32.c (logon_network_drive): New function.
8701 (stat): Use it.
8702
3ac7a21e
CY
87032008-01-26 Chong Yidong <cyd@stupidchicken.com>
8704
8705 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
8706 invisible text covered with an ellipsis.
8707
bbb9fc1f
RS
87082008-01-25 Richard Stallman <rms@gnu.org>
8709
8710 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
8711 jump back to beginning. Move some other initializations after that.
8712 (Qwindow_text_change_functions, Vwindow_text_change_functions):
8713 New variables.
8714 (syms_of_xdisp): Init them.
8715
8716 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
8717
0975aa24
SM
8718 * buffer.c (reset_buffer_local_variables):
8719 Implement `permanent-local-hook'.
bbb9fc1f 8720 (Qpermanent_local_hook): New variable.
0975aa24 8721 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 8722
79235cbe
MA
87232008-01-25 Michael Albinus <michael.albinus@gmx.de>
8724
8725 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
8726
ccd8f7fe
TTN
87272008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
8728
8729 * fns.c (Fclrhash): Return TABLE.
8730
dfbe40f2 87312008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
8732
8733 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
8734 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
8735 is set even without positional changes.
8736 (x_scroll_bar_clear): Set bar->redraw_needed_p.
8737
8738 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
8739
dfbe40f2 87402008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 8741
d6169680
JR
8742 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
8743
602e142f
JR
8744 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
8745 the unicode range available in MULE by locale-coding-system.
c041e2d1 8746 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
8747 earlier.
8748
dfbe40f2 87492008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
8750
8751 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
8752 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 8753 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
8754 when used on child processes.
8755
8c7a4ac5
MA
87562008-01-21 Michael Albinus <michael.albinus@gmx.de>
8757
e0df1b73 8758 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 8759 Fdbus_method_return.
e0df1b73 8760 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 8761 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 8762 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 8763
8abe0f97
MR
87642008-01-20 Martin Rudalics <rudalics@gmx.at>
8765
8766 * undo.c (undo_inhibit_record_point): New variable.
8767 (syms_of_undo): Initialize it.
8768 (record_point): Don't record point when undo_inhibit_record_point
8769 is set.
8770
c3b232e4
SM
87712008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
8772
e69c4cae
SM
8773 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
8774
823e0ebb
SM
8775 * xdisp.c (Qauto_hscroll_mode): New var.
8776 (syms_of_xdisp): Initialize it.
8777 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
8778 window's buffer.
8779 (hscroll_windows): Don't check automatic_hscrolling_p here.
8780
c3b232e4
SM
8781 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
8782 vscroll if we're setting window-buffer to the value it already has.
8783
76ed5e01
DN
87842008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
8785
8786 * m/intel386.h: Remove references to XENIX.
8787
55e6d9b2
AS
87882008-01-17 Andreas Schwab <schwab@suse.de>
8789
8790 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
8791 instead of HAVE_X86_64_LIB64_DIR.
8792 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
8793
b16ed52d
GM
87942008-01-17 Glenn Morris <rgm@gnu.org>
8795
8796 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
8797 to HAVE_X86_64_LIB64_DIR.
8798
6bed5c4a
DN
87992008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
8800
8801 * s/irix3-3.h:
8802 * s/irix4-0.h:
8803 * s/386-ix.h:
8804 * s/domain.h:
8805 * s/hpux9-x11r4.h:
8806 * s/hpux9shxr4.h: Remove files for systems no longer supported.
8807
8808 * sysdep.c: Remove code containing references to symbols defined
8809 by unsupported systems.
8810
fdecf907
GM
88112008-01-16 Glenn Morris <rgm@gnu.org>
8812
8813 * coding.c (select-safe-coding-system-function): Doc fix.
8814
9292328f
GM
88152008-01-15 Glenn Morris <rgm@gnu.org>
8816
8817 * config.in: Revert 2008-01-13 change: this is a generated file.
8818
944df511
MO
88192008-01-13 Tom Tromey <tromey@redhat.com>
8820
8821 * lisp.h: Fix typo.
8822
8111ec05
DN
88232008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8824
f40f5dc3
DN
8825 * m/sequent-ptx.h:
8826 * m/sequent.h:
8827 * s/ptx.h:
8828 * s/ptx4-2.h:
8829 * s/ptx4.h: Remove files for systems no longer supported.
8830
ce20b664 8831 * callproc.c (Fcall_process): Fix previous change.
8111ec05 8832
e39a993c
DN
88332008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8834
052e457f 8835 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 8836
290afd83
JB
8837 * m/mips.h:
8838 * m/intel386.h:
e39a993c
DN
8839 * callproc.c:
8840 * config.in:
8841 * ecrt0.c:
8842 * emacs.c:
8843 * fileio.c:
8844 * frame.c:
8845 * getpagesize.h:
8846 * keyboard.c:
8847 * lread.c:
8848 * process.c:
8849 * puresize.h:
8850 * sysdep.c:
8851 * systty.h:
8852 * syswait.h:
8853 * unexec.c:
8854 * xdisp.c:
8855 * alloc.c: Remove code containing references to symbols defined by
8856 unsupported systems.
8857
81cd7687
KH
88582008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
8859
8860 * coding.c (detect_coding_mask): Fix previous change.
8861
218b3b76
KH
88622008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
8863
8864 * coding.c (detect_coding_iso2022): New arg
8865 latin_extra_code_state. Allow Latin extra codes only
8866 when *latin_extra_code_state is nonzero.
8867 (detect_coding_mask): If there is a NULL byte, detect the encoding
8868 as UTF-16 or binary. If Latin extra codes exist, detect the
8869 encoding as ISO-2022 only when there's no other proper encoding is
8870 found.
8871
59ce725a 88722008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 8873
59ce725a
MB
8874 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
8875 #ifdef MAC_OS.
048addec 8876
59ce725a 88772008-01-08 Richard Stallman <rms@gnu.org>
048addec 8878
59ce725a 8879 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 8880
8290574e
NR
88812008-01-06 Nick Roberts <nickrob@snap.net.nz>
8882
a0a3805c 8883 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
8884 menu bar in parentheses.
8885
f3041af1
DN
88862008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
8887
8888 * m/7300.h:
8889 * m/acorn.h:
8890 * m/alliant-2800.h:
8891 * m/alliant.h:
8892 * m/alliant1.h:
8893 * m/alliant4.h:
8894 * m/altos.h:
8895 * m/amdahl.h:
8896 * m/apollo.h:
8897 * m/att3b.h:
8898 * m/aviion-intel.h:
8899 * m/aviion.h:
8900 * m/celerity.h:
8901 * m/clipper.h:
8902 * m/cnvrgnt.h:
8903 * m/convex.h:
8904 * m/cydra5.h:
8905 * m/delta88k.h:
8906 * m/dpx2.h:
8907 * m/dual.h:
8908 * m/elxsi.h:
8909 * m/f301.h:
8910 * m/gould-np1.h:
8911 * m/gould.h:
8912 * m/i860.h:
8913 * m/ibmps2-aix.h:
8914 * m/ibmrt-aix.h:
8915 * m/ibmrt.h:
8916 * m/irist.h:
8917 * m/is386.h:
8918 * m/isi-ov.h:
8919 * m/mega68.h:
8920 * m/mg1.h:
8921 * m/news-r6.h:
8922 * m/news-risc.h:
8923 * m/news.h:
8924 * m/nh3000.h:
8925 * m/nh4000.h:
8926 * m/ns16000.h:
8927 * m/ns32000.h:
8928 * m/nu.h:
8929 * m/orion.h:
8930 * m/orion105.h:
8931 * m/paragon.h:
8932 * m/pfa50.h:
8933 * m/plexus.h:
8934 * m/pyramid.h:
8935 * m/pyrmips.h:
8936 * m/sh3el.h:
8937 * m/sps7.h:
8938 * m/sr2k.h:
8939 * m/stride.h:
8940 * m/sun1.h:
8941 * m/sun2.h:
8942 * m/sun3-68881.h:
8943 * m/sun3-fpa.h:
8944 * m/sun3-soft.h:
8945 * m/sun3.h:
8946 * m/sun386.h:
8947 * m/symmetry.h:
8948 * m/tad68k.h:
8949 * m/tahoe.h:
8950 * m/targon31.h:
8951 * m/tek4300.h:
8952 * m/tekxd88.h:
8953 * m/tower32.h:
8954 * m/tower32v3.h:
8955 * m/ustation.h:
8956 * m/wicat.h:
8957 * m/xps100.h:
8958 * s/cxux.h:
8959 * s/cxux7.h:
8960 * s/dgux.h:
8961 * s/dgux4.h:
8962 * s/dgux5-4-3.h:
8963 * s/dgux5-4r2.h:
8964 * s/esix.h:
8965 * s/esix5r4.h:
8966 * s/hiuxmpp.h:
8967 * s/hiuxwe2.h:
8968 * s/iris3-5.h:
8969 * s/iris3-6.h:
8970 * s/isc2-2.h:
8971 * s/isc3-0.h:
8972 * s/isc4-0.h:
8973 * s/isc4-1.h:
8974 * s/newsos5.h:
8975 * s/newsos6.h:
8976 * s/osf1.h:
8977 * s/osf5-0.h:
8978 * s/riscix1-1.h:
8979 * s/riscix12.h:
8980 * s/sco4.h:
8981 * s/sco5.h:
8982 * s/sunos4-0.h:
8983 * s/sunos4-1.h:
8984 * s/sunos413.h:
8985 * s/sunos4shr.h:
8986 * s/umax.h:
8987 * s/unipl5-2.h:
8988 * s/xenix.h:
8989 * cxux-crt0.s:
8990 * unexapollo.c:
8991 * unexconvex.c:
8992 * unexenix.c:
8993 * unexsni.c: Remove files for systems no longer supported.
8994
8995 * m/intel386.h: Remove references to unsupported systems.
8996
8997 * w32.c (get_emacs_configuration): Remove reference to i860.
8998
8999 * sysdep.c: Remove dead code.
9000
d35e1cd7
DN
90012008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
9002
9003 * s/rtu.h:
a0a3805c 9004 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 9005
abe136ee
MA
90062008-01-04 Michael Albinus <michael.albinus@gmx.de>
9007
9008 * dbusbind.c (Fdbus_method_return): New function.
9009 (xd_read_message): Add the serial number to the event.
9010 (Fdbus_register_method): Activate the function.
9011
87df3c32
SM
90122008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
9013
9014 * keyboard.c (read_key_sequence): Fix typo.
9015
5125905e
MA
90162008-01-03 Michael Albinus <michael.albinus@gmx.de>
9017
9018 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
9019 (xd_signature, xd_append_arg): Handle element type detection for
9020 empty arrays.
9021 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
9022 SDATA () calls; this must be solved more general.
9023 (Fdbus_register_signal): Use SBYTES instead of strlen.
9024
8bba1b5c
MH
90252008-01-03 Magnus Henoch <magnus@zemdatav>
9026
9027 * dbusbind.c (xd_append_arg): Use unsigned char instead of
9028 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 9029 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 9030
a0a3805c 90312007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
9032
9033 * dbusbind.c (xd_read_message): Use non-static input_event struct.
9034
a271e124
MH
90352007-12-31 Magnus Henoch <mange@freemail.hu>
9036
9037 * dbusbind.c (xd_signature): Signature of variant is just "v".
9038
17bc8f94
MA
90392007-12-30 Michael Albinus <michael.albinus@gmx.de>
9040
87df3c32 9041 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 9042 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
9043 (XD_ERROR, XD_DEBUG_MESSAGE)
9044 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
9045 (xd_append_arg): Part for basic D-Bus types rewitten.
9046 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
9047 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
9048 appropriate.
9049 (xd_read_message): Return Qnil. Don't signal an error; it is not
9050 useful during event reading.
9051 (Fdbus_register_signal): Signal an error if the check for
9052 FUNCTIONP fails.
9053 (Fdbus_register_method): New function. The implementation is not
9054 complete, the call of the function signals an error therefore.
9055 (Fdbus_unregister_object): New function, renamed from
9056 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 9057 the object is not well formed.
17bc8f94 9058
dd6f2802
RS
90592007-12-30 Richard Stallman <rms@gnu.org>
9060
9061 * textprop.c (get_char_property_and_overlay):
9062 Signal error if POSITION is out of range in a buffer.
9063
1da8a031
MR
90642007-12-29 Martin Rudalics <rudalics@gmx.at>
9065
9066 * w32fns.c (Fx_create_frame): Make copy of frame parameters
9067 because the original parameters are in pure storage now.
9068
5742be86
YM
90692007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9070
9071 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
9072
b014713c
EZ
90732007-12-22 Eli Zaretskii <eliz@gnu.org>
9074
b17f53ab
MB
9075 * callint.c (syms_of_callint) <command-history>: Add reference to
9076 history-length in the doc string.
048addec 9077
b17f53ab 90782007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 9079
b17f53ab
MB
9080 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
9081 before passing as wParam.
048addec 9082
9af5078b
MA
90832007-12-22 Michael Albinus <michael.albinus@gmx.de>
9084
9085 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
9086 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
9087 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
9088 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
9089 as number.
9090 (Fdbus_call_method): Fix docstring.
9091
87cf1a39
MA
90922007-12-21 Michael Albinus <michael.albinus@gmx.de>
9093
9094 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
9095 New macros.
87df3c32 9096 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
9097 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
9098 Simplify.
87cf1a39
MA
9099 (xd_signature): New function.
9100 (xd_append_arg): Compute also signatures. Major rewrite.
9101 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
9102 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
9103 Check for signatures of arguments.
87cf1a39 9104
54371585
MA
91052007-12-19 Michael Albinus <michael.albinus@gmx.de>
9106
9107 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
9108 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
9109 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
9110 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
9111 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 9112 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
9113 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
9114 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 9115 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
9116 (xd_append_arg): New function.
9117 (Fdbus_call_method, Fdbus_send_signal): Apply it.
9118
f5306ca3
MA
91192007-12-16 Michael Albinus <michael.albinus@gmx.de>
9120
9121 * dbusbind.c (top): Include <stdio.h>.
9122 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
9123 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
9124 (Fdbus_register_signal): Rename unique_name to uname.
9125 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
9126 non-existing unique name. Fix typos in matching rule. Return an
9127 object which is useful in Fdbus_unregister_signal.
9128 (Fdbus_unregister_signal): Reimplementation, in order to remove
9129 only the corresponding entry.
9130 (Vdbus_registered_functions_table): Change the order of entries.
9131 Apply these changes in xd_read_message and Fdbus_register_signal.
9132
77a28bbf
AS
91332007-12-16 Andreas Schwab <schwab@suse.de>
9134
9135 * fileio.c (Finsert_file_contents): Fix overflow check to not
9136 depend on undefined integer overflow.
9137
2e3566d8
JR
91382007-12-14 Jason Rumney <jasonr@gnu.org>
9139
9140 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
9141 for characters above 127.
9142
bf254037
JR
91432007-12-13 Jason Rumney <jasonr@gnu.org>
9144
9145 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
9146 before dereferencing array.
9147 (lookup_vk_code): Remove zero comparison.
9148
eb7c7bf5
MA
91492007-12-14 Michael Albinus <michael.albinus@gmx.de>
9150
9151 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
9152 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
9153 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
9154 (xd_read_message, Fdbus_register_signal): Split expressions into
9155 multiple lines before operators "&&" and "||", according to the
9156 GNU Coding Standards.
9157
34fb0fc9
EZ
91582007-12-14 Eli Zaretskii <eliz@gnu.org>
9159
9160 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
9161
c7d97628
JL
91622007-12-12 Juri Linkov <juri@jurta.org>
9163
9164 * buffer.c (Frename_buffer): In interactive spec replace
9165 `read-buffer' with `read-string' that uses `buffer-name-history'
9166 as history, and the current buffer's name as default.
9167
3709505e
SM
91682007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
9169
9170 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
9171 manipulating the backtrace manually.
9172 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
9173 (struct backtrace, backtrace_list): Remove.
9174 (command_loop_1): Remove dead var `no_direct'.
9175
9176 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
9177 preserve non-built-in buffer-local variables.
9178 (Fkill_all_local_variables): Don't re-create&re-set permanent
9179 buffer-local variables.
9180
e2bec886
JL
91812007-12-09 Juri Linkov <juri@jurta.org>
9182
9183 * buffer.c (Frename_buffer): Change interactive spec from "s" to
9184 Lisp code that uses `read-buffer' with current buffer as default.
9185
a31d47c7
MA
91862007-12-08 Michael Albinus <michael.albinus@gmx.de>
9187
9188 * dbusbind.c (xd_read_message): Generate an event for every
9189 registered handler. There might be several handlers registered
9190 for the same signal.
9191 (Fdbus_register_signal): Don't overwrite a registration for the
9192 same signal. Add a new registration if handlers are different.
9193 (Vdbus_registered_functions_table): Rework doc string.
9194
52da95fa
MA
91952007-12-07 Michael Albinus <michael.albinus@gmx.de>
9196
9197 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
9198 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
9199 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
9200 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
9201 Unify argument lists.
a0a3805c 9202 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
9203 arguments and hash table keys. Use unique name for service.
9204 (Fdbus_unregister_signal): Remove checks.
9205 (Vdbus_registered_functions_table): Fix doc string.
9206
e5e76c04 92072007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
9208
9209 * process.c (make_process): Initialize pty_flag to 0.
9210
e5e76c04 92112007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
9212
9213 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
9214 specified XBMs.
9215
e5e76c04 92162007-12-05 Richard Stallman <rms@gnu.org>
048addec 9217
e5e76c04 9218 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 9219
e5e76c04 92202007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9221
e5e76c04
MB
9222 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
9223 New variable.
9224 (mac_try_close_socket) [MAC_OSX]: New function.
9225 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
9226 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 9227
e5e76c04
MB
9228 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
9229 Use mac_try_close_socket.
048addec 9230
e5e76c04 92312007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9232
e5e76c04
MB
9233 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
9234 reloc_base.
9235 (copy_dysymtab): Compute relocation base here.
9236 (rebase_reloc_address) [__ppc64__]: New function.
9237 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
9238 changed.
048addec 9239
e5e76c04 92402007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 9241
e5e76c04 9242 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 9243
e5e76c04 92442007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 9245
e5e76c04
MB
9246 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
9247 __objc_* sections.
9248 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 9249
96faeb40
MA
92502007-12-05 Michael Albinus <michael.albinus@gmx.de>
9251
9252 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
9253 Move check for Vdbus_registered_functions_table to
9254 xd_read_queued_messages.
9255 (xd_read_queued_messages): Protect xd_read_message calls by
9256 internal_condition_case_1.
9257
39abdd4a
MA
92582007-12-04 Michael Albinus <michael.albinus@gmx.de>
9259
87df3c32 9260 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 9261 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 9262 (Vdbus_intern_symbols): Remove.
39abdd4a 9263 (Vdbus_registered_functions_table): New hash table.
87df3c32 9264 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 9265 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 9266 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
9267 Vdbus_registered_functions_table.
9268
880820fe 92692007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
9270
9271 * xterm.c: Update URL to Window Manager Specification in comment.
9272
033b73e2
MA
92732007-12-02 Michael Albinus <michael.albinus@gmx.de>
9274
9275 * config.in (HAVE_DBUS): Add.
9276
a0a3805c 9277 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
9278 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
9279 (obj): Add $(DBUS_OBJ).
9280 (LIBES): Add $(DBUS_LIBS).
9281 (dbusbind.o): New target.
9282
9283 * dbusbind.c: New file.
9284
9285 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
9286
9287 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 9288 (Qdbus_event): New Lisp symbol.
033b73e2 9289 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 9290 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
9291 (keys_of_keyboard ): Define dbus-event.
9292
9293 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
9294
39d0bf74
RS
92952007-12-01 Richard Stallman <rms@gnu.org>
9296
9297 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
9298
f3157c65
JR
92992007-11-30 Jason Rumney <jasonr@gnu.org>
9300
9301 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
9302 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
9303 (w32_face_attributes): Don't use color indexes that are out of range.
9304 Only reverse the default colors.
f3157c65
JR
9305
9306 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
9307 WINDOWSNT.
9308
9309 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
9310
b510360c
JR
93112007-11-29 Jason Rumney <jasonr@gnu.org>
9312
9313 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
9314 (w32_face_attributes): Use Vtty_defined_color_alist to determine
9315 if the terminal colors are initialized.
9316 (unspecified_fg, unspecified_bg): Remove unused declarations.
9317
4b7ab1c4
AS
93182007-11-29 Andreas Schwab <schwab@suse.de>
9319
9320 * keyboard.c (apply_modifiers): Fix typo.
9321
4bb6c266
RS
93222007-11-29 Richard Stallman <rms@gnu.org>
9323
9324 * keymap.c (Fcurrent_local_map): Doc fix.
9325
aa44cd84
GM
93262007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
9327
9328 * s/gnu-kfreebsd.h: New file.
9329
21ec2c43
SM
93302007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
9331
cc648cef
SM
9332 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
9333 Don't cast redundantly.
9334
21ec2c43
SM
9335 * keyboard.c (KEY_TO_CHAR): New macro.
9336 (parse_modifiers, apply_modifiers): Accept integer arguments.
9337 (read_key_sequence): Use them to unify the "shift->unshift" mapping
9338 for chars and symbol keys.
9339 After doing such remapping, apply function-key-map again.
9340
73e72da4
DN
93412007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
9342
9343 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
9344 compiled anymore.
9345
254693ff
AS
93462007-11-26 Andreas Schwab <schwab@suse.de>
9347
9348 * process.c (list_processes_1): Fix indentation level of the
9349 command column.
9350
ff6e6ac8
AS
93512007-11-23 Andreas Schwab <schwab@suse.de>
9352
9353 * editfns.c (Fformat): Handle %c specially since it requires the
9354 argument to be of type int.
9355
f7cf8b20
SM
93562007-11-23 Markus Triska <markus.triska@gmx.at>
9357
9358 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 9359 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 9360
569c11e3
SM
93612007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
9362
8787dd73
SM
9363 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
9364 (find_symbol_value): Use do_symval_forwarding.
9365
569c11e3
SM
9366 * data.c (set_internal): Set the value in the `cons-cell' (for
9367 Buffer_Local_values) not only for frame-local variables.
9368
6af1696d
AS
93692007-11-22 Andreas Schwab <schwab@suse.de>
9370
9371 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
9372 values to sprintf.
9373 * keymap.c (Fsingle_key_description): Likewise.
9374 * print.c (print_object): Likewise.
9375
880820fe 93762007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
9377
9378 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
9379 file for image is nil.
9380
7c401d15
DN
93812007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
9382
9383 * term.c: Include stdarg.h.
569c11e3 9384 (fatal): Implement using varargs.
a0a3805c 9385 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 9386
64e16c3c
SM
93872007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
9388
9389 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
9390 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
9391 Update call to buffer_slot_type_mismatch.
9392 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
9393 (buffer_slot_type_mismatch): Update.
9394 * buffer.c (buffer_local_types): Remove.
9395 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
9396 (defvar_per_buffer): Set the type in the buffer_objfwd.
9397
d4aa48db 93982007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 9399
64e16c3c
SM
9400 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
9401 CreateFileMapping returns NULL on failure.
5f42a7eb 9402
d4aa48db 94032007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 9404
d4aa48db
MB
9405 * search.c (Fset_match_data): Remove the `evaporate' feature.
9406 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 9407
bdae0540
JR
94082007-11-21 Jason Rumney <jasonr@gnu.org>
9409
9410 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
9411
9412 * w32console.c (w32con_write_glyphs): Remove unused variables.
9413
202c09a8
DN
94142007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
9415
b951420f
DN
9416 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
9417
202c09a8
DN
9418 * s/darwin.h (MULTI_KBOARD): Remove.
9419
9420 * macfns.c (x_create_tip_frame, Fx_create_frame)
9421 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
9422
bae72c12
SM
94232007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
9424
e7c10f83
SM
9425 * buffer.c (Fbuffer_local_value): Remove redundant test.
9426 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
9427 than in `current-buffer' to match the comment.
9428 Do the swap using swap_in_global_binding.
9429
136eb6ed
SM
9430 * data.c (store_symval_forwarding, set_internal):
9431 * eval.c (specbind): Remove dead code.
9432
bae72c12
SM
9433 * coding.c (detect_coding, Fupdate_coding_systems_internal):
9434 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
9435 Since we do not want to see internal Lisp_*fwd objects here.
9436
880820fe 94372007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 9438
3d66b985
JD
9439 * sysdep.c (init_system_name): Use getaddrinfo if available.
9440
95fbaefc
JD
9441 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
9442 (x_scroll_bar_note_movement): start, end, with, height in struct
9443 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
9444
6c1d8cb6
DN
94452007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
9446
9447 * puresize.h (BASE_PURESIZE): Increase to 1190000.
9448
30f95089
SM
94492007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
9450
66b04bd4
SM
9451 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
9452 This undoes Richard's change of 14-Oct-2002.
9453
6d3f2bb2
SM
9454 * alloc.c (allocate_other_vector):
9455 * lisp.h (allocate_other_vector): Remove.
9456
b05b4e27
SM
9457 * window.c (struct save_window_data): Move non-lisp data to the end
9458 and make it `int' rather than Lisp_Object.
9459 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
9460 Done wrap/unwrap integer values.
9461 (Fset_window_configuration, compare_window_configurations):
9462 Update use of fields to their new types.
9463
056ce195
SM
9464 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
9465 Turn integer fields into `int'. Merge x_window_low and x_window_high.
9466 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
9467 (SET_SCROLL_BAR_X_WINDOW): Remove.
9468 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
9469 Access the new x_window field directly.
9470 * xterm.c (x_scroll_bar_create): Use a pseudovector.
9471 Don't wrap/unwrap integers into Lisp_Objects.
9472 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
9473 (x_scroll_bar_report_motion):
9474 Don't wrap/unwrap integers into Lisp_Objects.
9475 (x_term_init): Use SDATA.
9476 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
9477 (x_scroll_bar_set_handle, x_scroll_bar_remove)
9478 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
9479 (x_scroll_bar_report_motion, x_scroll_bar_clear):
9480 * xfns.c (x_set_background_color):
9481 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
9482 Access the new x_window field directly.
9483
30f95089
SM
9484 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
9485 (allocate_pseudovector): Make non-static.
6d3f2bb2 9486
30f95089
SM
9487 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
9488 (allocate_pseudovector): Declare.
6f69e89b 9489 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 9490
9b6112e8
AS
94912007-11-15 Andreas Schwab <schwab@suse.de>
9492
30f95089
SM
9493 * editfns.c (Fformat): Correctly format EMACS_INT values.
9494 Also take precision into account when formatting an integer.
0f860bd7 9495
9b6112e8
AS
9496 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
9497
262fcd41
SM
94982007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
9499
58da34c7
SM
9500 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
9501 (syms_of_keyboard): Defsubr it.
9502
262fcd41
SM
9503 * data.c (swap_in_global_binding): Fix longstanding bug where
9504 store_symval_forwarding was not called with the right second argument,
9505 thus causing objfwd-ing from being dropped.
9506
d29a9848
JB
95072007-11-14 Juanma Barranquero <lekktu@gmail.com>
9508
9509 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
9510 (Fx_display_pixel_height, Fx_display_planes)
9511 (Fx_display_color_cells, Fx_server_max_request_size)
9512 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9513 (Fx_display_visual_class, Fx_display_save_under):
9514 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
9515 (Fx_display_pixel_height, Fx_display_planes)
9516 (Fx_display_color_cells, Fx_server_max_request_size)
9517 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
9518 (Fx_display_mm_height, Fx_display_mm_width)
9519 (Fx_display_backing_store, Fx_display_visual_class)
9520 (Fw32_select_font, Fx_display_save_under):
9521 * xfns.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_save_under): Fix typos in docstrings.
9526
74084731
JB
95272007-11-14 Juanma Barranquero <lekktu@gmail.com>
9528
9529 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
9530 corresponding to deleted entries; they are an implementation detail.
9531 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
9532 Remove variables.
9533 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
9534 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
9535 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
9536 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
9537 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 9538 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 9539 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
9540 Fix typos in docstrings.
9541 (Fx_server_version): Reflow docstring.
9542 (Fw32_shell_execute): Doc fixes.
74084731 9543
fb053a1f
JB
95442007-11-13 Juanma Barranquero <lekktu@gmail.com>
9545
9546 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
9547 if w32_parse_hot_key returned nil.
9548
a457417e 95492007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 9550
a457417e 9551 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 9552
4b219faa
JR
95532007-11-09 Jason Rumney <jasonr@gnu.org>
9554
9555 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
9556
9557 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
9558
9559 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
9560 Remove W32_SCROLL_BAR_CLICK_EVENT.
9561
9562 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
9563 Add MULTIMEDIA_KEY_EVENT.
9564
9565 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
9566 (lispy_multimedia_keys) [WINDOWSNT]: New array.
9567 (make_lispy_event) [WINDOWSNT]: Use it to translate
9568 MULTIMEDIA_KEY_EVENT.
9569
9570 * w32term.h (WM_APPCOMMAND): Define if not already.
9571 (GET_APPCOMMAND_LPARAM): Likewise.
9572
9573 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
9574 WM_APPCOMMAND.
9575
9576 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
9577 (syms_of_w32fns): Export and initialize it.
9578 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
9579
c12ecb0a 95802007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
9581
9582 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
9583 twice.
9584
9585 * xdisp.c (handle_face_prop): Fix last change.
9586
c12ecb0a 95872007-11-09 Richard Stallman <rms@gnu.org>
048addec 9588
c12ecb0a
MB
9589 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
9590 not just for after-strings and before-strings.
9591 Call face_for_overlay_string and pass the overlay to it.
9592 (handle_display_prop): Determine whether property came from an overlay.
9593 Pass OVERLAY arg to handle_single_display_spec.
9594 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
9595 (load_overlay_strings): Fill in it->string_overlays.
9596 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 9597
c12ecb0a
MB
9598 * xfaces.c (face_for_overlay_string): Function renamed from
9599 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 9600
c12ecb0a
MB
9601 * dispextern.h (struct it): New elt string_overlays.
9602 New elt from_overlay, also in stack.
9603 Rearrange a few elements.
9604 (face_for_overlay_string): Decl renamed from
9605 face_at_buffer_position_no_overlays, and add argument.
15fff01d 9606
c12ecb0a 96072007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 9608
c12ecb0a
MB
9609 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
9610 to get the base face for an overlay string.
0d8466cc 9611
c12ecb0a 9612 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 9613
c12ecb0a 9614 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 9615
c12ecb0a 9616 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 9617
c12ecb0a 96182007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 9619
c12ecb0a
MB
9620 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
9621 Fix conversion from Lisp object to ATSUFontID.
07025a55 9622
c12ecb0a 96232007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 9624
c12ecb0a 9625 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 9626
c12ecb0a 96272007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 9628
c12ecb0a
MB
9629 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
9630 Don't assume regions are aligned to page boundary.
9631 (print_load_command_name): Add LC_UUID if defined.
3a232704 9632
c12ecb0a 96332007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 9634
c12ecb0a 9635 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 9636
b8ddfbcc
JR
96372007-11-07 Jason Rumney <jasonr@gnu.org>
9638
9639 * s/windows95.h: Remove.
9640
880820fe 96412007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
9642
9643 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
9644 abort with a message on unhandled store_type values.
9645
880820fe 96462007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
9647
9648 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
9649 Remove HAVE_X11R5 and HAVE_X11R4.
9650
04a697fe
DN
96512007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9652
9653 * Makefile.in: Remove references to sunfns.c and sunfns.o.
9654
880820fe 96552007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
9656
9657 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 9658 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
9659 x_set_glyph_string_gc from x_draw_glyph_string.
9660
07e5c0b0
DN
96612007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9662
2a2e8de7 9663 * sunfns.c: Remove file.
07e5c0b0
DN
9664
9665 * m/sun386.h:
9666 * m/sun2.h:
9667 * m/sparc.h: Remove Sun windows code.
9668
1bc973c2
SM
96692007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
9670
9671 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
9672 (init_keyboard): Set current_kboard's window-system to nil.
9673 (tty_read_avail_input): Typo.
9674 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
9675
c22140f6
DN
96762007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
9677
9678 * s/usg5-4.h:
9679 * s/usg5-3.h:
9680 * s/ptx.h:
9681 * m/is386.h:
9682 * m/ibmps2-aix.h:
2a2e8de7 9683 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
9684
9685 * dispnew.c (syms_of_display): Don't mention version 10.
9686
660a8219
JB
96872007-10-28 Juanma Barranquero <lekktu@gmail.com>
9688
9689 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
9690 ($(BLD)/abbrev.$(O)): Remove.
9691
e047f448
SM
96922007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
9693
9694 Rewrite abbrev.c in Elisp.
9695 * image.c (Qcount): Don't declare as extern.
9696 (syms_of_image): Initialize and staticpro `Qcount'.
9697 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
9698 * emacs.c (main): Don't call syms_of_abbrev.
9699 * Makefile.in (obj): Remove abbrev.o.
9700 (abbrev.o): Remove.
9701 * abbrev.c: Remove.
9702
67b73e3a
MR
97032007-10-26 Martin Rudalics <rudalics@gmx.at>
9704
9705 * window.c (window_min_size_2): Don't count header-line.
9706
e3d7bd83
DN
97072007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
9708
9709 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 9710 field to take advantage of the available space. Group all the
e3d7bd83
DN
9711 chars together to reduce wasted space due to padding.
9712
a3547743
JB
97132007-10-26 Juanma Barranquero <lekktu@gmail.com>
9714
e298936f
JB
9715 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
9716
d3d47262
JB
9717 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
9718 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
9719 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
9720 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
9721 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
9722 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
9723 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
9724 (last_marked, mark_object_loop_halt): Make static.
9725
a3547743
JB
9726 * frame.c (syms_of_frame) <delete-frame-functions>:
9727 Fix typo in docstring.
9728
14c71d8b
JB
97292007-10-25 Juanma Barranquero <lekktu@gmail.com>
9730
9731 * w32.c (init_environment): Fix tiny memory leak.
66199f74 9732 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 9733
70b8d0a4
SM
97342007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
9735
9736 Make `window-system' into a keyboard-local variable (rather than
9737 frame-local as done originally by multi-tty).
9738
9739 * keyboard.h (struct kboard): Add Vwindow_system.
9740 * keyboard.c (init_kboard): Set a default for Vwindow_system.
9741 (mark_kboards): Mark Vwindow_system.
9742
9743 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
9744 (init_display): Don't set the obsolete `window-system' frame-param.
9745
9746 * xterm.c (x_term_init):
9747 * w32term.c (w32_create_terminal):
9748 * term.c (init_tty): Set Vwindow_system.
9749 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
9750 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
9751
9752 * xfns.c (Fx_create_frame, x_create_tip_frame):
9753 * w32fns.c (Fx_create_frame, x_create_tip_frame):
9754 * macfns.c (Fx_create_frame):
9755 Don't set the obsolete `window-system' frame-param.
9756
9757 * frame.h (Qwindow_system): Remove.
9758 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
9759 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
9760
fdc90613 97612007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 9762
fdc90613
MB
9763 * frame.c (x_figure_window_size): For fullscreen case,
9764 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 9765
fdc90613 9766 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 9767
fdc90613 9768 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 9769
7357cb04
SM
97702007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
9771
98228e72
SM
9772 * process.c (unwind_request_sigio): Only define if __ultrix__.
9773
1baf6db9
SM
9774 * callproc.c (child_setup): Remove spurious *.
9775
4d0ac3d7
SM
9776 * lisp.h (Fget_text_property): Declare.
9777 (have_menus_p): Declare it here rather than in sys-dep header files.
9778 * macterm.h (have_menus_p):
9779 * msdos.h (have_menus_p):
9780 * xterm.h (have_menus_p): Remove.
9781
7357cb04
SM
9782 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9783 (Fmake_variable_frame_local): Just check the variable's const-ness
9784 rather than checking nil or t.
9785
866e6dd6
JR
97862007-10-22 Jason Rumney <jasonr@gnu.org>
9787
b00afeae
JR
9788 * w32fns.c: Include math.h.
9789 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 9790
c8f7c76b
JR
9791 * s/ms-w32.h (HAVE_STDLIB_H): Define.
9792 (abort): Redefinition moved to nt/config.nt.
9793
866e6dd6
JR
9794 * m/windowsnt.h: Remove.
9795
e79beb56
JB
97962007-10-22 Juanma Barranquero <lekktu@gmail.com>
9797
9798 * emacs.c (Fdump_emacs): Fix typo in message.
9799 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
9800 <installation-directory>: Reflow docstring.
9801
fb30dfd2
JL
98022007-10-22 Juri Linkov <juri@jurta.org>
9803
9804 * minibuf.c: Allow minibuffer default to be a list of default values.
9805 With empty input use the first element of this list as returned default.
e79beb56 9806 (string_to_object)
0f7f11b7 9807 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
9808 (read_minibuf): If defalt is cons, set histstring to its car.
9809 (Fread_string): If default_value is cons, set val to its car.
9810 (Fread_buffer): If def is cons, use its car.
9811 (Fcompleting_read): If defalt is cons, set val to its car.
9812
1f163f28
MA
98132007-10-21 Michael Albinus <michael.albinus@gmx.de>
9814
9815 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
9816
db3534c3
JB
98172007-10-20 Juanma Barranquero <lekktu@gmail.com>
9818
9819 * doc.c (Fdocumentation): Check for advice in all cases.
9820
c6f18a07
CY
98212007-10-19 Chong Yidong <cyd@stupidchicken.com>
9822
9823 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
9824
2a1534d3
RS
98252007-10-19 Richard Stallman <rms@gnu.org>
9826
9827 * doc.c (Fdocumentation): Check for and handle an advised function.
9828
7b82c3b6
JB
98292007-10-19 Juanma Barranquero <lekktu@gmail.com>
9830
9831 * process.c (Fset_process_filter): Doc fix.
9832
3278f20e
SM
98332007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
9834
9835 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
9836 which caused key-translation-map to applied repeatedly (thus breaking
9837 double-mode).
9838
99784d63
SM
98392007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9840
9841 * xselect.c (x_own_selection, x_handle_selection_clear)
9842 (x_clear_frame_selections):
9843 * w32menu.c (list_of_panes, list_of_items):
9844 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
9845 * textprop.c (validate_plist, interval_has_all_properties)
9846 (interval_has_some_properties, interval_has_some_properties_list)
9847 (add_properties, text_property_list):
9848 * process.c (Fget_buffer_process, list_processes_1, status_notify):
9849 * minibuf.c (Fassoc_string):
9850 * macselect.c (x_own_selection, x_clear_frame_selections)
9851 (Fx_disown_selection_internal):
9852 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
9853 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
9854
44bb704d
CY
98552007-10-17 Chong Yidong <cyd@stupidchicken.com>
9856
9857 * process.c: Link to libs for calling res_init() if available.
9858 (Fmake_network_process): Call res_init() before getaddrinfo or
9859 gethostbyname, if possible.
9860
d314756e
SM
98612007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9862
2504022a
SM
9863 * lread.c (read1): Set pvectype for char_tables.
9864
19fa82b9
SM
9865 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
9866 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
9867 Add type checks.
9868 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
9869
d314756e
SM
9870 * alloc.c (free_misc): Use XMISCTYPE.
9871 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
9872
94b9aaa2
GM
98732007-10-17 Glenn Morris <rgm@gnu.org>
9874
9875 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
9876 (syms_of_minibuf): Add Qcompletion_ignore_case.
9877 * dired.c (Qcompletion_ignore_case): Change to external.
9878 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
9879 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
9880 (Fread_file_name): Use it rather than intern'ing.
9881
9882 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
9883 (Fread_coding_system): Ignore case of user input.
9884
da6658e8
YM
98852007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9886
9887 * xdisp.c (handle_display_prop): Ignore display specs after
9888 replacing one when string text is being replaced.
9889 (handle_single_display_spec): Pretend as if characters with display
9890 property haven't been consumed only when buffer text is being replaced.
9891
11fb4bdb
SM
98922007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
9893
9beb8baa
SM
9894 * xfns.c (Fx_create_frame, Fx_display_list):
9895 * window.c (window_fixed_size_p, enlarge_window)
9896 (shrink_window_lowest_first):
9897 * macterm.c (init_font_name_table):
9898 * macfns.c (Fx_create_frame, Fx_display_list):
9899 * lread.c (close_load_descs):
9900 * keyboard.c (read_char_x_menu_prompt):
9901 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
9902 * coding.c (code_convert_region_unwind): Test the type of an object
9903 rather than just !NILP before extracting data from it.
9904
d3f41ff5
SM
9905 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
9906
67ee9f6e
SM
9907 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
9908 (XMISCANY): New macro.
9909 (XMISCTYPE): Use it.
9910 (struct Lisp_Misc_Any): New type.
9911 (union Lisp_Misc): Use it.
9912 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
9913 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
9914 (find_symbol_value, set_internal, default_value, Fset_default)
9915 (Fmake_variable_buffer_local, Fmake_local_variable)
9916 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
9917 (Flocal_variable_if_set_p, Fvariable_binding_locus):
9918 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
9919 * alloc.c (allocate_buffer): Set the size and tag.
9920 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
9921 Use XMISCANY.
9922 (die): Follow the GNU convention for error messages.
9923 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
9924 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
9925 tag any more.
9926 (set_buffer_internal_1):
9927 * frame.c (store_frame_param):
9928 * eval.c (specbind):
9929 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
9930
11fb4bdb
SM
9931 * doc.c (Fsnarf_documentation): Simplify.
9932
decb374a
JB
99332007-10-14 Juanma Barranquero <lekktu@gmail.com>
9934
9935 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
9936 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
9937
b5a40ee7
SM
99382007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
9939
9940 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
9941
35277b03
JB
99422007-10-14 Juanma Barranquero <lekktu@gmail.com>
9943
9944 * eval.c (do_autoload): Don't save autoloads.
9945
9946 * data.c (Ffset): Save autoload of the function being set.
9947
35fdaa62
GM
99482007-10-07 John Paul Wallington <jpw@pobox.com>
9949
9950 * xfns.c (x_create_tip_frame): Set the `display-type' frame
9951 parameter before setting up faces.
9952
1ea40aa2
EZ
99532007-10-13 Eli Zaretskii <eliz@gnu.org>
9954
35fdaa62 9955 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
9956 * keyboard.c (append_tool_bar_item): Reformat last change.
9957
1ea40aa2
EZ
9958 * lisp.h (eabs): Rename from `abs'. All callers changed.
9959
35277b03 99602007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
9961
9962 * buffer.c (add_overlay_mod_hooklist):
9963 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
9964 * fontset.c (make_fontset):
9965 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
9966 (append_tool_bar_item):
9967 * macmenu.c (grow_menu_items):
35fdaa62 9968 * w32menu.c (grow_menu_items):
71d00ce4 9969 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 9970
bc82f120
EZ
99712007-10-13 Eli Zaretskii <eliz@gnu.org>
9972
9973 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
9974 selected frame'' on MSDOS).
9975
d57d5a78
MR
99762007-10-12 Martin Rudalics <rudalics@gmx.at>
9977
9978 * frame.c (Qexplicit_name): New variable.
9979 (x_report_frame_params): Report it in parameter alist.
9980 (syms_of_frame): Intern and staticpro it.
9981
35277b03 99822007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
9983
9984 * macfns.c (x_create_tip_frame): Set terminal for frame.
9985
c7a4b95b
SM
99862007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
9987
26f9c7b7
SM
9988 * frame.c (Qenvironment): Remove.
9989 (syms_of_frame) <Qenvironment>: Don't initialize.
9990 (Fdelete_frame): Don't treat the `environment' param specially.
9991 * frame.h (Qenvironment): Don't declare.
9992 * callproc.c (set_initial_environment): Don't set unused frame param.
9993
c7a4b95b
SM
9994 * frame.c (Fframe_with_environment): Remove.
9995 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 9996
c7a4b95b
SM
9997 * lisp.h (Fframe_with_environment): Don't declare.
9998
c86f7377
JB
99992007-10-10 Juanma Barranquero <lekktu@gmail.com>
10000
10001 * indent.c (indent_tabs_mode, last_known_column)
10002 (last_known_column_modified): Make static.
10003 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
10004
d1b3a122
KY
100052007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
10006
10007 * puresize.h (BASE_PURESIZE): Increase to 1170000.
10008
d57d5a78
MR
100092007-10-09 Jason Rumney <jasonr@gnu.org>
10010
10011 * w32term.c (x_set_window_size): Disable code that attempts to tell
10012 Lisp code about a size change before it actually happens.
10013
81d3d428 100142007-10-09 Richard Stallman <rms@gnu.org>
91175673 10015
81d3d428
MB
10016 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
10017 return HANDLED_RETURN.
91175673 10018
1af74d06 100192007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 10020
1af74d06
MB
10021 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
10022 when there's an unread command event.
e0fead5d 10023
c7a4b95b 10024 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
10025 window autoselection act appropriately when leaving selected frame.
10026 (syms_of_frame): Initialize focus_follows_mouse.
10027 * frame.h (focus_follows_mouse): Extern it.
10028 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 10029 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
10030 * msdos.c (dos_rawgetc): Likewise.
10031 * w32term.c (w32_read_socket): Likewise.
10032 * xterm.c (handle_one_xevent): Likewise.
10033 * xdisp.c (syms_of_xdisp): In doc-string of
10034 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 10035
1af74d06 100362007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 10037
1af74d06
MB
10038 * macterm.c (mac_load_query_font): Fix missing return value.
10039 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
10040 Add BLOCK_INPUT.
c186cdb3 10041
1af74d06 100422007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 10043
1af74d06
MB
10044 * xdisp.c (get_window_cursor_type): Implement documented behavior
10045 for cursor-in-non-selected-windows = t.
c186cdb3 10046
1af74d06 100472007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 10048
1af74d06 10049 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 10050
1af74d06 100512007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 10052
1af74d06 10053 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 10054
1af74d06 10055 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 10056
1af74d06 100572007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 10058
c7a4b95b 10059 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 10060
1af74d06 100612007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 10062
1af74d06 10063 * buffer.c (Foverlays_at): Doc fix.
036e218d 10064
1af74d06 100652007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 10066
1af74d06 10067 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 10068
1af74d06 100692007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 10070
1af74d06 10071 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 10072
1af74d06 10073 * frame.h (enum): Remove trailing comma.
90647b07 10074
8993ad2e 100752007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 10076
1af74d06 10077 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 10078
1af74d06 100792007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 10080
1af74d06 10081 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 10082
1af74d06
MB
10083 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
10084 last-repeatable-command.
10085 (init_kboard): Initialize Vlast_repeatable_command.
10086 (command_loop_1): Set it to real_this_command unless that was
10087 bound to an input event.
10088 (mark_kboards): Mark it.
9fbc32aa 10089
1af74d06 100902007-10-08 Richard Stallman <rms@gnu.org>
036e218d 10091
1af74d06 10092 * eval.c (condition-case): Doc fix.
9fbc32aa 10093
1af74d06 100942007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 10095
1af74d06
MB
10096 * xfaces.c (tty_supports_face_attributes_p): Fix code
10097 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
10098 was copied and not edited.
9fbc32aa 10099
beb9f745
SM
101002007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
10101
c86f7377 10102 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
10103 escape sequences.
10104 * keyboard.h (struct kboard): Add Vinput_decode_map.
10105 Remove Vlocal_key_translation_map.
10106 * keyboard.c (read_key_sequence): Add support for input-decode-map.
10107 (init_kboard): Init input-decode-map.
10108 Replace local-key-translation-map back with key-translation-map.
10109 (syms_of_keyboard): Declare input-decode-map.
10110 Remove local-key-translation-map. Update docstrings.
10111 (mark_kboards): Mark Vinput_decode_map.
10112 Don't mark Vlocal_key_translation_map.
10113 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
10114 Replace local-key-translation-map back with key-translation-map.
10115 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
10116 Bind in input-decode-map rather than function-key-map.
10117
beb9f745
SM
10118 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
10119 This was made redundant by the previous introduction of XSETPVECTYPE.
10120
65342ae3
RS
101212007-10-09 Richard Stallman <rms@gnu.org>
10122
beb9f745 10123 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
10124
101252007-09-29 Richard Stallman <rms@gnu.org>
10126
10127 * eval.c (internal_condition_case_2, internal_condition_case_1)
10128 (internal_condition_case): Reenable abort if x_catching_errors ()
10129 to see if that really happens and why.
10130
6cff77fd
AS
101312007-10-06 Andreas Schwab <schwab@suse.de>
10132
10133 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
10134
bbe6f2aa
JB
101352007-10-04 Juanma Barranquero <lekktu@gmail.com>
10136
10137 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
10138
a390930c
SM
101392007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
10140
10141 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
10142
d6aa1876
SM
101432007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
10144
d0fdb6da
SM
10145 * window.h (struct window):
10146 * window.c (struct save_window_data, struct saved_window):
10147 * termhooks.h (struct terminal):
10148 * process.h (struct Lisp_Process):
10149 * frame.h (struct frame):
10150 * buffer.h (struct buffer):
10151 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
10152 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
10153 The size field of (pseudo)vectors is now unsigned.
10154 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
10155
878f97ff
SM
10156 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
10157 Turn `count' into an integer.
d0fdb6da 10158
878f97ff
SM
10159 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
10160 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
10161 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
10162 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
10163 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
10164
d2029e5b
SM
10165 * alloc.c (allocate_pseudovector): New fun.
10166 (ALLOCATE_PSEUDOVECTOR): New macro.
10167 (allocate_window, allocate_terminal, allocate_frame)
10168 (allocate_process): Use it.
10169 (mark_vectorlike): New function.
10170 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
10171 (mark_terminals): Use it.
10172 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
10173 (Fmake_byte_code): Use XSETPVECTYPE.
10174
10175 * frame.c (Fframe_parameters): Minor simplification.
10176
10177 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
10178
10179 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
10180
10181 * buffer.c (Fget_buffer_create, init_buffer_once):
10182 * lread.c (defsubr):
10183 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
10184
10185 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
10186 defined differently in the m/*.h files.
10187 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
10188 (XSETPVECTYPE): New macro.
10189 (XSETPSEUDOVECTOR): Use it.
10190
d6aa1876
SM
10191 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
10192 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 10193
d6aa1876
SM
10194 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
10195 * lread.c (defvar_per_buffer):
10196 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
10197
10198 * window.c (candidate_window_p): Only consider as visible frames that
10199 are on the same terminal.
10200
10201 * m/ibms390x.h (MARKBIT): Remove unused macro.
10202
88852d45
JB
102032007-10-01 Juanma Barranquero <lekktu@gmail.com>
10204
10205 * lread.c (Fload): Fix typo in docstring.
10206
880820fe 102072007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
10208
10209 * floatfns.c (Fexpt): Manually check for overflows, so that a power
10210 of a non-zero value can't yield zero.
10211
ed0c79c6
SM
102122007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
10213
b870aa61
SM
10214 * term.c (term_clear_mouse_face, term_mouse_highlight)
10215 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
10216
4c37a414
SM
10217 * print.c (safe_debug_print): Use XHASH.
10218
b9466edb
SM
10219 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
10220 Lisp elements such as tags.
10221 (XHASH): New macro.
10222 (EQ): Use it.
10223 (SREF, SSET, STRING_COPYIN): Use SDATA.
10224 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
10225
9c545a55
SM
10226 * alloc.c (mark_terminal): Remove left-over declaration.
10227 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
10228 (allocate_vectorlike): Remove type argument. Adjust callers.
10229 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
10230 Only handle the one remaining MEM_TYPE_VECTORLIKE.
10231
dafc79fa
SM
10232 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
10233 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
10234 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
10235 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
10236 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
10237 Use them.
10238
ed0c79c6
SM
10239 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
10240 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
10241 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
10242
3c81afd4
DN
102432007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
10244
10245 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
10246 loaded by default.
10247
6178ce5e
SM
102482007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
10249
4ce5ab77
SM
10250 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
10251 on this tty.
10252 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
10253
6178ce5e
SM
10254 * term.c (mouse_face_window): Rename from Qmouse_face_window.
10255 Update all users.
10256 (handle_one_term_event): Use Gpm_DrawPointer.
10257 (Fgpm_mouse_start): Rename from Fterm_open_connection.
10258 Signal errors instead of returning nil. Always return nil.
10259 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
10260 Make it a noop if gpm-mouse was not activated.
10261 (syms_of_term): Update names.
10262
bdf5f8ef
SM
102632007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
10264
75a8734b
SM
10265 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
10266 (init_sys_modes): Check that gpm_tty is the current tty.
10267
13559ee0
SM
10268 * alloc.c (allocate_terminal): Set the vector size to only count the
10269 lisp fields. Initialize those to nil.
10270 (mark_object): Don't treat terminals specially.
10271 (mark_terminal): Remove.
10272 (mark_terminals): Use mark_object instead.
10273
ff16b875
SM
10274 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
10275 the GC to the beginning.
10276
83155776
SM
10277 * indent.h:
10278 * indent.c: Use EMACS_INT for ints coming from Elisp data.
10279
bdf5f8ef
SM
10280 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
10281
ec8705b6
JR
102822007-09-25 Jason Rumney <jasonr@gnu.org>
10283
10284 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
10285
10286 * w32console.c (create_w32cons_output): Remove.
10287
10288 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
10289
10290 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
10291 (reset_sys_modes): Use reset_terminal_modes_hook.
10292
7351b242
SM
102932007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
10294
10295 * eval.c (do_autoload): Don't output any message.
10296
16706228
JL
102972007-09-24 Juri Linkov <juri@jurta.org>
10298
10299 * emacs.c (standard_args): Change priority of "--no-splash"
10300 from 40 to 3. Add "--no-desktop" with the same priority.
10301
3ae2e3a3
RS
103022007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
10303
10304 * alloc.c (gc_sweep): Check cons cell mark bits word by word
10305 and optimize the case where they are all 1.
10306
7a58fb43
GM
103072007-09-23 Johannes Weiner <hannes@saeurebad.de>
10308
3ae2e3a3
RS
10309 * lisp.h (abs): Define if not defined.
10310 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
10311 Don't define `abs', since it's defined in lisp.h.
7a58fb43 10312
78048085
EZ
103132007-09-22 Eli Zaretskii <eliz@gnu.org>
10314
c7a4b95b 10315 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
10316 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
10317 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
10318 (init_tty): Use DEV_TTY instead of "/dev/tty".
10319 [WINDOWSNT]: No need to protect from NAME arg being null.
10320
23d4cba5
DN
103212007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
10322
10323 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
10324 up the tty state.
10325
71f44e7a
SM
103262007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10327
10328 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
10329 (gpm_tty): Change its type.
10330 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
10331 (gpm_tty): Change its type and initialize it.
10332 (Fterm_open_connection): Check the frame is indeed a tty.
10333 Use the new gpm_tty.
10334 (Fterm_close_connection): Use the new gpm_tty.
10335 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
10336 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
10337
def7fa34
JB
103382007-09-21 Juanma Barranquero <lekktu@gmail.com>
10339
10340 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
10341 underline_color, to draw strike-through.
10342
d2bb6598
SM
103432007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10344
273f164c
SM
10345 * lisp.h (allocate_terminal): Declare.
10346
ca2d5566
SM
10347 * window.c (candidate_window_p): Consider frames that are being placed
10348 by the user as somewhere between visible and iconified.
10349 (window_loop): Prefer windows on the current frame.
10350 (Fselect_window): Move the use of select-frame to the beginning so we
10351 can just delegate all the work (it'll call us back anyway).
10352
6168122d
SM
10353 * frame.c (Qdisplay_environment_variable):
10354 * frame.h (Qdisplay_environment_variable): Delete.
10355
c51842ec
SM
10356 * .gdbinit (xbacktrace): Print the arg's address rather than the value
10357 of the first arg, since that value may be a union.
10358
d2bb6598
SM
10359 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
10360 parameter rather than Qdisplay_environment_variable. If all else
10361 fails, look for DISPLAY in initial-environment.
10362
6f022c19
GM
103632007-09-21 Glenn Morris <rgm@gnu.org>
10364
10365 * Makefile.in (emacstool): Remove target.
f466320b 10366 (lisp, shortlisp): Remove termdev.elc.
6f022c19 10367
ea1bf8c7
GM
103682007-09-21 Markus Triska <markus.triska@gmx.at>
10369
d2bb6598 10370 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 10371
d30a25b3
SM
103722007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
10373
db699fc6
SM
10374 * callproc.c (getenv_internal_1): New function.
10375 (getenv_internal): Use it.
10376 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
10377
d2bb6598 10378 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
10379 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
10380 (Fset_terminal_parameter): Work with dead terminals as well.
10381 (Fmodify_terminal_parameters): Remove.
10382
d30a25b3
SM
10383 * terminal.c (get_terminal): Handle terminals.
10384 Make sure the terminal returned is live.
10385 (create_terminal): Use allocate_terminal.
10386 (mark_terminals): Move to alloc.c.
10387 (delete_terminal): Use terminal->name as liveness status.
10388 NULL out fields after freeing their contents.
10389 Don't deallocate the object.
10390 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
10391 rather than an int.
10392 (Fterminal_live_p): Accept non-integer arguments.
10393 (Fterminal_list): Return terminal objects rather than an ints.
10394
10395 * alloc.c (enum mem_type): New member for `terminal' objects.
10396 (allocate_terminal): New function.
d2bb6598
SM
10397 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
10398 Handle terminals.
d30a25b3
SM
10399 (mark_terminal): New fun.
10400 (mark_terminals): Move from terminal.c.
10401
10402 * term.c (get_tty_terminal): Don't treat output_initial specially.
10403 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
10404 (delete_tty): Use terminal->name as liveness status.
10405
10406 * termhooks.h (struct terminal): Make it into a pseudovector.
10407 Remove `deleted' replaced by checking `name's nullness.
10408
10409 * print.c (print_object): Handle terminals.
10410
10411 * lisp.h (enum pvec_type): New `terminal' pseudovector.
10412 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
10413
10414 * frame.c (make_terminal_frame):
10415 * keyboard.c (tty_read_avail_input):
10416 * w32term.c (x_delete_terminal):
10417 * xfns.c (Fx_create_frame, x_create_tip_frame):
10418 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
10419
eba25e7c
GM
104202007-09-20 Glenn Morris <rgm@gnu.org>
10421
10422 * process.c (Fmake_network_process): Doc fix.
10423
2a29c3c1
JR
104242007-09-19 Jason Rumney <jasonr@gnu.org>
10425
10426 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
10427
880820fe 104282007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
10429
10430 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
10431 Fix a C warning regarding variable constness.
10432
10433 * xterm.c (handle_one_xevent): Fix a C warning.
10434
334a1195
JR
104352007-09-18 Jason Rumney <jasonr@gnu.org>
10436
10437 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
10438
880820fe 104392007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
10440
10441 * gtkutil.c (gdpy_def): New variable.
10442 (xg_initialize): Initialize gdpy_def.
10443 (xg_display_close): If no other display exists, set gdpy_def to a
10444 new connection.
10445
880820fe 104462007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
10447
10448 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
10449 when we have no file name for the icon.
10450 (xg_tool_bar_expose_callback): Remove.
10451 (xg_create_tool_bar): Don't connect expose signal to
10452 xg_tool_bar_expose_callback.
10453 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
10454
4d580af2
AS
104552007-09-16 Andreas Schwab <schwab@suse.de>
10456
10457 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
10458 values instead of zapping them.
10459
aca946f3
GM
104602007-09-14 Glenn Morris <rgm@gnu.org>
10461
10462 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
10463 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
10464 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
10465 scope and rename to omfib_buffer for clarity.
10466 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
10467
25c460e5
KH
104682007-09-14 Kenichi Handa <handa@m17n.org>
10469
10470 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
10471
09b69f01
JR
104722007-09-13 Jason Rumney <jasonr@gnu.org>
10473
10474 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
10475
10476 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
10477
10478 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
10479 (mac_term_init): Call here instead, passing rif.
10480
442218db
GM
104812007-09-13 Glenn Morris <rgm@gnu.org>
10482
10483 * s/hpux.h: No longer define `static' as nothing.
10484
880820fe 104852007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
10486
10487 * callint.c (Fcall_interactively): Remove unused var `fun'.
10488
1971a872
RF
104892007-09-12 Romain Francoise <romain@orebokech.com>
10490
10491 * window.c (prefer_window_split_horizontally, display_buffer):
10492 Revert 2007-09-08 change.
10493
2d33f506
GM
104942007-09-12 Glenn Morris <rgm@gnu.org>
10495
585474ae 10496 * alloca.c: Remove file.
ca7af97a
GM
10497 * Makefile.in (alloca): Do not undef.
10498 (allocaobj, alloca.o): Remove.
10499 (otherobj): Remove allocaobj.
10500 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
10501 * regex.c (C_ALLOCA): Remove all references and code that was only
10502 used when this was defined.
10503 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
10504 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
10505 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
10506
2d33f506 10507 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
10508
10509 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
10510 (menu_grab_callback): All uses changed.
10511
10512 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
10513 (x_reply_selection_request): All uses changed.
2d33f506 10514
18a4a65e
SM
105152007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
10516
10517 * lread.c (load_warn_old_style_backquotes): Change message to look
10518 better when it appears in the middle of byte-compiler messages.
10519
47cc8819
DN
105202007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
10521
b7ea0894
DN
10522 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
10523
47cc8819
DN
10524 * xterm.c (x_create_terminal): Add comment.
10525
10526 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
10527
5632bd0f
RS
105282007-09-10 Richard Stallman <rms@gnu.org>
10529
10530 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
10531
880820fe 105322007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 10533
4bca9161
MC
10534 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
10535 (DEFUN): Document `intspec', use it instead of `prompt'.
10536
04724b69
MC
10537 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
10538
8a6d230a
MC
10539 * data.c (Finteractive_form): If the interactive specification starts
10540 with a `(', use it as a Lisp form.
10541
09fbdf6c
MC
10542 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
10543 name and file modes.
10544
ccb5c14f
MC
10545 * callint.c (Fcall_interactively): Comment fixes.
10546
023accd6
SM
105472007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
10548
10549 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
10550 and compiled functions.
10551
f26b9544
EZ
105522007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
10553
10554 * window.c (prefer_window_split_horizontally): New variable.
10555 (display_buffer): Consider splitting window horizontally depending
10556 on prefer_window_split_horizontally.
10557
4d395425
EZ
105582007-09-08 Eli Zaretskii <eliz@gnu.org>
10559
97ddc760 10560 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 10561
08c1d235
SM
105622007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10563
179cef48
SM
10564 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
10565
08c1d235
SM
10566 * frame.c (x_set_frame_parameters): Check number is positive before
10567 using XFASTINT.
10568
10569 * window.c (freeze_window_start): Don't presume selected_window holds
10570 a window object.
92f94a12 10571 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 10572
97ddc760 105732007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
10574
10575 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
10576
90ab5c62
SM
105772007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10578
10579 * window.c (Vsplit_window_preferred_function): New var.
10580 (Fdisplay_buffer): Use it.
10581 (syms_of_window): Export, and initialize it.
10582
1ab2cd43
TTN
105832007-09-06 Pixel <pixel@mandriva.com> (tiny change)
10584
10585 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
10586
0b0515bc
GM
105872007-09-06 Glenn Morris <rgm@gnu.org>
10588
57fd5c55 10589 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
10590 * xselect.c (x_reply_selection_request) <cnt>: Move static
10591 variable to file scope.
10592
98594580
SM
105932007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
10594
10595 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
10596 consistent values of selected_frame and selected_window.
10597
0f4c7aef
JR
105982007-09-04 Jason Rumney <jasonr@gnu.org>
10599
10600 * w32console.c (initialize_w32_display): Zero unused hooks.
10601
e4019195
DN
106022007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10603
10604 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
10605 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
10606
bce179b5
JR
106072007-09-04 Jason Rumney <jasonr@gnu.org>
10608
a0236551
JR
10609 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
10610 in w32console.c. Set up input. Remove XXX comments that have been
10611 confirmed as correct.
10612
a4926668
JR
10613 * s/ms-w32.h (MULTI_KBOARD): Define.
10614
953bf0dc
JR
10615 * w32console.c (one_and_only_w32cons): Remove.
10616 (initialize_w32_display): Take terminal argument.
10617
10618 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
10619 initialize_w32_display.
10620 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
10621
bce179b5
JR
10622 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
10623
10624 * keyboard.c (discard_mouse_events): Discard it.
10625 (make_lispy_event): Translate it to a lisp event.
10626 (lispy_wheel_names): Add wheel-left and right events.
10627 (syms_of_keyboard): Enlarge wheel_syms.
10628
10629 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
10630 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
10631
10632 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
10633
10634 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
10635 from WM_MOUSEHWHEEL.
10636 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
10637
10638 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
10639 terminal.
10640
10641 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
10642 keyboard for the terminal.
10643
92cd6a7c
DN
106442007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10645
10646 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
10647 (Vresume_tty_hook): Rename from Vresume_tty_functions.
10648 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
10649 and resume-tty-function to resume-tty-hook.
10650 (Fsuspend_tty, Fresume_tty): Use new names.
10651
880820fe 106522007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
10653
10654 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
10655 if it starts with "n:".
10656
880820fe 106572007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
10658
10659 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
10660
6b8e474c
SM
106612007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
10662
92d9c1d4
SM
10663 * frame.h:
10664 * frame.c (Qterm_environment_variable): Remove.
10665 (syms_of_frame): Don't init and staticpro it.
10666
92d9c1d4
SM
10667 * callproc.c (getenv_internal): Remove special case for $TERM.
10668
6b8e474c
SM
10669 * callproc.c (Vinitial_environment): New variable.
10670 (set_initial_environment): Initialize it.
10671 (syms_of_callproc): Declare it.
10672 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
10673 TERM under which a process runs is never related to the TERM in which
10674 Emacs is running.
10675
0f1444e1
DN
106762007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10677
10678 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
10679 * s/darwin.h: ... do it here.
10680
b8866860
SM
106812007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
10682
10683 * lisp.h (set_initial_environment): Rename from set_global_environment.
10684
10685 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
10686 removed by mistake on the multi-tty branch.
10687
10688 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
10689 (Fmodify_frame_parameters): Return a value.
10690
10691 * image.c (png_load): Comment-out var only used in commented-out code.
10692
10693 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
10694 before passing it to mark_object.
10695
10696 * xfaces.c (internal_resolve_face_name): Return a value.
10697 (internal_resolve_face_name, resolve_face_name_error): Comment out.
10698
10699 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
10700 (x_icon): Comment-out var only used in commented-out code.
10701
0a42be6d
RF
107022007-08-29 Romain Francoise <romain@orebokech.com>
10703
10704 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
10705 QUIT hasn't been provided.
10706
8d9cc0b7
MB
107072007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10708
10709 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 10710 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
10711 (set_initial_environment): Initialise Vprocess_environment.
10712
10713 * config.in: Disable multi-keyboard support on a mac.
10714
10715 * frame.c (Qterm_environment_variable)
10716 (Qdisplay_environment_variable): New variables.
10717 (syms_of_frame): Intern and staticpro them.
10718 (Fmake_terminal_frame): Disable output method test.
10719
10720 * frame.h: Declare them here.
10721
10722 * macfns.c (x_set_mouse_color): Get rif from the frame.
10723 (x_set_tool_bar_lines): Don't use updating_frame.
10724 (mac_window): Add 2 new parameters for consistency with other systems.
10725 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
10726 frame parameters following what is done in X11 and w32. Don't use
10727 FRAME_MAC_DISPLAY_INFO.
10728 (Fx_open_connection, start_hourglass): Remove window-system check.
10729 (x_create_tip_frame): Get the keyboard from the terminal.
10730
10731 * macmenu.c: Reorder includes.
10732 (Fx_popup_menu): Use terminal specific mouse_position_hook.
10733
10734 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
10735 terminal parameter.
10736 (x_clear_frame): Add a frame parameter.
10737 (note_mouse_movement): Get rif from the frame.
10738 (mac_term_init): Initialize the terminal.
10739 (mac_initialize): Make static and move terminal initialization ...
10740 (mac_create_terminal): ... to this new function.
10741
10742 * macterm.h (struct mac_display_info): Add terminal.
7196c970 10743 (mac_initialize): Delete declaration.
8d9cc0b7 10744
381864b2 10745 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
10746
10747 * sysdep.c: Comment out text after #endif.
10748
10749 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
10750 is defined. Better initialize ttys in windows. Use terminal
10751 specific mouse_position_hook.
10752
10753 * termhooks.h (union display_info): Add mac_display_info.
10754
b8866860
SM
10755 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
10756 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
10757 frame parameters following what is done in X11.
10758
10759 * w32term.c (w32_initialize): Make static.
10760
10761 * xselect.c (x_handle_selection_clear): Only access
10762 terminal->kboard when MULTI_KBOARD is defined.
10763
10764 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
10765 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
10766
107672007-08-29 Jason Rumney <jasonr@gnu.org>
10768
10769 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
10770 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
10771
10772 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
10773 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
10774
10775 * keyboard.c (restore_kboard_configuration): Only define when
10776 MULTI_KBOARD defined.
10777
35277b03 10778 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
10779 (OBJ1): Add terminal.$(O)
10780
b8866860
SM
10781 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
10782 Don't define function body.
8d9cc0b7
MB
10783 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
10784
10785 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
10786
10787 * w32.c (request_sigio, unrequest_sigio): Remove.
10788
10789 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
10790 (w32con_clear_frame, w32con_clear_end_of_line)
10791 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
10792 (w32con_delete_glyphs, w32con_set_terminal_window)
10793 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
10794 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
10795 Add terminal arg.
8d9cc0b7
MB
10796 (PICK_FRAME): Remove.
10797 (w32con_write_glyphs): Use frame specific terminal coding.
10798 (one_and_only_w32cons): New global variable.
10799 (initialize_w32_display): Use it for storing hooks.
10800 (create_w32cons_output): New function.
10801
10802 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
10803 arg a frame.
10804
b8866860
SM
10805 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
10806 Set window_system.
8d9cc0b7
MB
10807 (x_set_tool_bar_lines): Don't use updating_frame.
10808 (Fx_create_frame): Set terminal and ref count.
10809 (Fx_open_connection): Remove window-system check.
10810
10811 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
10812
10813 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
10814 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
10815 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
10816 Add frame arg.
10817 (x_delete_terminal, w32_create_terminal): New functions.
10818 (w32_term_init): Create a terminal.
10819 (w32_initialize): Move terminal specific initialization to
10820 w32_create_terminal.
10821
b8866860 10822 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
10823 (w32_clear_rect, w32_clear_area): Use background from frame.
10824 (w32_display_info): Add terminal.
10825 (w32_sys_ring_bell, x_delete_display): Declare here.
10826
10827 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
10828
10829 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
10830
108312007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
10832
10833 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
10834 Fix get_named_tty calls for the controlling tty.
10835
108362007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
10837
10838 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
10839
108402007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
10841
10842 * term.c (tty_insert_glyphs): Add missing first parameter.
10843
880820fe 108442007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 10845
b8866860
SM
10846 * buffer.c (Fbuffer_list, Fbury_buffer):
10847 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
10848
10849 * cm.c (current_tty): New variable, for cmputc().
10850 (cmputc): Use it.
10851 (cmcheckmagic): Add tty parameter, look up terminal streams there.
10852 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
10853 (cmgoto): Add tty parameter. Pass it on to calccost().
10854 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
10855
10856 * cm.h (emacs_tputs): New macro to set current_tty, and then call
10857 tputs().
10858 (current_tty): New variable, for cmputc().
10859 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
10860
10861 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
10862 (internal_condition_case, internal_condition_case_1)
10863 (internal_condition_case_2): Don't abort when x_catching_errors.
10864
10865 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
10866 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
10867 prevent crashes caused by bogus longjmps in read_char.
10868
10869 * keymap.h (Fset_keymap_parent): Add EXFUN.
10870
10871 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
10872 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
10873 Remove redundant definition.
10874
b8866860
SM
10875 * macfns.c (x_set_mouse_color, x_make_gc):
10876 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 10877
b8866860
SM
10878 * w32term.c (x_free_frame_resources):
10879 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10880 (w32_initialize): Use the accessor macros for terminal characteristics.
10881
10882 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
10883 Use the accessor macros for terminal characteristics.
10884 * msdos.c (internal_terminal_init): Use the accessor macros for
10885 terminal characteristics.
b8866860
SM
10886 (ScreenVisualBell, internal_terminal_init):
10887 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10888
10889 * termopts.h (no_redraw_on_reenter): Declare.
10890
10891 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 10892 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 10893 (Fgarbage_collect): Call them.
03f06e5c 10894 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
10895
10896 * prefix-args.c: Include stdlib.h for exit.
10897
10898 * syssignal.h: Add comment.
10899
10900 * indent.c: Include stdio.h.
10901
10902 * window.h (Vinitial_window_system): Declare.
10903 (Vwindow_system): Delete declaration.
10904
10905 * fontset.c (Finternal_char_font): Use FRAME_RIF.
10906
10907 * image.c (lookup_image): Don't initialize `c' until the xasserts
10908 have been run.
10909
10910 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
10911 FRAME_FOREGROUND_PIXEL.
10912
10913 * print.c (print_preprocess): Don't lose print_depth levels while
10914 iterating.
10915
b8866860
SM
10916 * widget.c (update_from_various_frame_slots):
10917 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10918
10919 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
10920 frames.
10921 (window_internal_height): Remove bogus make_number call.
b8866860 10922 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
10923
10924 * fileio.c (Fread_file_name): Update comment.
10925
b8866860
SM
10926 * callint.c (Fcall_interactively):
10927 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
10928 Make sure it is correctly unwound.
10929
10930 * xsmfns.c (x_session_close): New function.
10931
03f06e5c 10932 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
10933 Delete declarations.
10934
10935 * xterm.h: Remove declaration for x_fully_uncatch_errors.
10936 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 10937 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 10938 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
10939
10940 * lread.c: Include setjmp.h. Update declaration of `read_char'.
10941 (read_filtered_event): Call `read_char' with a local
10942 `wrong_kboard_jmpbuf'.
10943
b8866860
SM
10944 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
10945 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
10946
10947 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
10948 systems.
10949
b8866860 10950 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 10951 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 10952 (Fset_quit_char): EXFUN.
03f06e5c 10953 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
10954 (init_sys_modes, reset_sys_modes): Update prototypes.
10955 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
10956
b8866860
SM
10957 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
10958 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 10959 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 10960 Delete declarations.
03f06e5c
JB
10961 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
10962 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
10963 New declarations.
10964
10965 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
10966 already does that during init_display(). Call syms_of_keymap
b8866860
SM
10967 before syms_of_keyboard. Call `syms_of_terminal'.
10968 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
10969 (shut_down_emacs): Call reset_all_sys_modes() instead of
10970 reset_sys_modes().
10971
10972 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
10973 (internal_resolve_face_name, resolve_face_name_error): New functions.
10974 (resolve_face_name): Protect against loops and errors thrown by Fget.
10975 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
10976 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
10977
10978 * scroll.c: Replace CURTTY() with local variables throughout the
10979 file (where applicable).
10980 (calculate_scrolling, calculate_direct_scrolling)
10981 (scrolling_1, scroll_cost): Use the accessor macros for terminal
10982 characteristics.
10983
10984 * keymap.c (Vfunction_key_map): Remove.
b8866860 10985 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
10986 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
10987 (Vkey_translation_map): Remove.
10988 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 10989 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
10990 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
10991 Update for terminal-local key-translation-map.
10992
10993 * Makefile.in (callproc.o): Update dependencies.
10994 (lisp, shortlisp): Add termdev.elc.
10995 (obj): Add terminal.o.
10996 (terminal.o): Add dependencies.
10997 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
10998 (data.o, fns.o): Add termhooks.h dependency.
10999 (SOME_MACHINE_LISP): Add dnd.elc.
11000 (minibuf.o): Fix typo.
11001 Update dependencies.
11002
11003 * data.c (do_symval_forwarding, store_symval_forwarding)
11004 (find_symbol_value): Use the selected frame's keyboard, not
11005 current_kboard.
11006
11007 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
11008 Vwindow_system.
11009
11010 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
11011 Fmenu_bar_open.
11012 (syms_of_xmenu): Update defsubr.
11013 (mouse_position_for_popup, Fx_popup_menu)
11014 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
11015 (set_frame_menubar, free_frame_menubar)
11016 (create_and_show_popup_menu, xmenu_show, )
11017 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
11018 an X frame.
11019
11020 * xselect.c (x_own_selection): Abort if not an X frame.
11021 (some_frame_on_display): Check if it is an X frame.
11022 (x_handle_selection_clear): Deal with MULTI_KBOARD.
11023
11024 * coding.c: Include frame.h and termhooks.h.
03f06e5c 11025 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
11026 (Fset_terminal_coding_system_internal)
11027 (Fset_keyboard_coding_system_internal)
11028 (Fkeyboard_coding_system)
03f06e5c
JB
11029 (Fterminal_coding_system): Add a terminal parameter.
11030 Get terminal_coding from the terminal.
8d9cc0b7
MB
11031 (init_coding_once): Don't call setup_coding_system here.
11032
11033 * dispextern.h (set_scroll_region, turn_off_insert)
11034 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
11035 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 11036 (delete_tty, updating_frame)
8d9cc0b7
MB
11037 (produce_special_glyphs, produce_glyphs, write_glyphs)
11038 (insert_glyphs): Remove.
11039 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 11040 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 11041 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
11042
11043 * frame.h (enum output_method): Add output_initial.
11044 (struct x_output): Delete.
b8866860
SM
11045 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11046 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
11047 (tty_display): Delete.
11048 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 11049 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
11050 (union output_data): Add tty.
11051 (FRAME_KBOARD): Get the kboard from the terminal.
11052 (FRAME_INITIAL_P): New macro.
11053 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
11054 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
11055 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
11056 New declarations.
8d9cc0b7
MB
11057
11058 * termchar.h (tty_output, tty_display_info): New structures.
11059 (tty_list): Declare.
11060 (FRAME_TTY, CURTTY): New macros.
11061 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
11062 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
11063 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
11064 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
11065
11066 * callproc.c: Include frame.h and termhooks.h, for terminal
11067 parameters.
11068 (add_env): New function.
11069 (child_setup): Use it.
b8866860 11070 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
11071 (getenv_internal): Fix get_terminal_param call.
11072 (Fgetenv_internal, egetenv): Update doc.
11073 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 11074 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
11075 strings.
11076 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
11077 (getenv_internal): Add terminal parameter.
11078 Handle Vlocal_environment_variables.
8d9cc0b7
MB
11079 (Fgetenv_internal): Add terminal parameter.
11080 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 11081 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
11082 (set_initial_environment): Rename from set_global_environment.
11083 Store Emacs environment in initial frame parameter.
11084
11085 * xdisp.c (redisplay_internal): Update references to
11086 `previous_terminal_frame'.
11087 (display_mode_line, Fformat_mode_line): Replace calls to
11088 `push_frame_kboard' with `push_kboard'.
11089 (get_glyph_string_clip_rects): Add extra parentheses and
11090 braces to prevent compiler warnings.
11091 (calc_pixel_width_or_height): Add xassert to check that the
11092 frame is alive. Don't call `lookup_image' on a termcap frame.
11093 (message2_nolog, message3_nolog, redisplay_internal)
11094 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
11095 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
11096 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
11097 (Fx_display_pixel_width, Fx_display_pixel_height)
11098 (Fx_display_planes, Fx_display_color_cells)
11099 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
11100 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
11101 (Fx_display_backing_store, Fx_display_visual_class)
11102 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 11103 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
11104
11105 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
11106 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
11107 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
11108 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
11109 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
11110 terminal that is being deleted.
11111 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 11112 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
11113 (Fx_close_connection, Fx_synchronize): Unify argument names with
11114 the rest of the DEFUNs.
11115
11116 * dispnew.c (Fsend_string_to_terminal): Update call to
11117 `get_tty_terminal'.
11118 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 11119 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
11120 FRAME_TERMCAP_P and FRAME_TTY.
11121 (window_change_signal): Don't believe width/height values that are
11122 impossibly small.
11123 (Vinitial_window_system): Rename from Vwindow_system.
11124 (termscript, Wcm, rif): Delete.
11125
11126 * termhooks.h (struct terminal): New struct containing the
11127 previously global text display hooks and new members NAME,
11128 DELETED and PARAM_ALIST.
11129 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
11130 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
11131 (FRAME_RIF): New macros.
11132 (get_terminal_param, get_device): New declarations.
11133 (termscript): Delete declaration.
11134
11135 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
11136 (XTflash, x_free_frame_resources, x_scroll_bar_create)
11137 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
11138 FRAME_FOREGROUND_PIXEL.
11139 (x_fully_uncatch_errors): Disable definition.
11140 (x_scroll_bar_expose): Fix reference to foreground pixel.
11141 (XTread_socket): Disable loop on all X displays.
11142 (x_delete_terminal): Don't set terminal->deleted and let
11143 delete_terminal delete the frames on the terminal.
11144 (x_delete_display): Doc update to reflect changes in
11145 delete_terminal.
11146 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
11147 (deleting_tty): Remove old variable.
11148 (Fsuspend_tty): Call clear_tty_hooks.
11149 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
11150 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
11151 errors on X frames.
11152 (x_catch_errors_unwind): Abort if x_error_message is NULL.
11153 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 11154 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
11155 (XTset_terminal_modes, XTreset_terminal_modes)
11156 (XTread_socket, x_connection_closed, x_term_init)
11157 (x_term_init, x_delete_display): Add terminal parameter.
11158 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
11159 X connections.
11160
bf380f53
GM
11161 * frame.c: Include termchar.h.
11162 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
11163 (Qwindow_system, Qenvironment, Qterm_environment_variable)
11164 (Qdisplay_environment_variable): New vars.
11165 (Fframep): Deal with output_initial.
11166 (Fframe-live-p): Doc fix.
11167 (Fwindow-system): New function.
8d9cc0b7
MB
11168 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
11169 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 11170 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 11171 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
11172 (Fmake_terminal_frame): Handle NULL tty names correctly.
11173 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
11174 (Fdelete_frame): Remove unused variable `count'. Don't allow other
11175 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 11176 (Fframe_with_environment): New function.
b8866860 11177 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
11178 (get_future_frame_param): New function.
11179 (Fmake_terminal_frame): Use it.
2d33f506 11180 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
11181
11182 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
11183 * sysdep.c (reset_sys_modes): Update for renames.
11184
11185 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 11186 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
11187 (syms_of_keyboard): Defsubr them.
11188 (Fset_input_meta_mode, Fset_quit_char): New functions.
11189 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
11190 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
11191 parameter. Use it in call to `read_char'.
b8866860
SM
11192 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
11193 Set wrong_kboard_jmpbuf correctly in recursive calls.
11194 Use current_kboard to access Vkeyboard_translate_table.
11195 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
11196 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
11197 Update longjmp invocations. Remember the original current_kboard,
11198 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
11199 changes it. Comment out unnecessary calls to
11200 `record_single_kboard_state' and `any_kboard_state'.
11201 Update recursive calls.
8d9cc0b7
MB
11202 (wrong_kboard_jmpbuf): Remove global variable.
11203 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
11204 Handle deleted interrupted_kboards correctly; that is a legal
11205 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 11206 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
11207 (any_kboard_state, single_kboard_state)
11208 (push_frame_kboard): Remove function.
11209 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
11210 been deleted. Remove unused variable. Help debugging by not
11211 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
11212 kboard of the selected frame when the stored kboard object has
11213 been deleted before pop_kboard.
11214 (temporarily_switch_to_single_kboard): Change first parameter to a
11215 frame pointer. Throw an error when caller wants to change kboards
11216 while in single_kboard mode. Don't push_kboard if we weren't in
11217 single kboard state. Don't pop_kboard if we popped into any
11218 kboard state.
11219 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 11220 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
11221 up single_kboard mode.
11222 (Frecursive_edit): Switch to single_kboard mode only in nested
11223 command loops.
b8866860
SM
11224 (cmd_error, command_loop, command_loop_1, timer_check):
11225 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
11226 `record_single_kboard_state'.
11227 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 11228 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
11229 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
11230 `fatal_error_signal'.
11231 (record_single_kboard_state): Don't push_kboard if we weren't in
11232 single kboard state. Don't pop_kboard if we popped into any
11233 kboard state.
11234 (push_frame_kboard): Rename to push_kboard.
11235 (kbd_buffer_get_event): Use FRAME_TERMINAL.
11236 (read_avail_input): Read input from all terminals.
11237 (mark_kboards): Also mark Vkeyboard_translate_table.
11238 (kbd_buffer_store_event_hold): Simplify condition.
11239 (read_key_sequence): Reinitialize fkey and keytran at each replay.
11240 (Vkeyboard_translate_table): Move to struct kboard.
11241 (init_kboard): Initialize Vkeyboard_translate_table.
11242 (syms_of_keyboard): Use DEFVAR_KBOARD to define
11243 Vkeyboard_translate_table. Update doc strings. Update docs of
11244 local-function-key-map and function-key-map.
11245
11246 * terminal.c: New file.
11247
11248 * term.c: Include errno.h.
11249 (Vring_bell_function, device_list, initial_device)
11250 (next_device_id, ring_bell, update_begin, update_end)
11251 (set_terminal_window, cursor_to, raw_cursor_to)
11252 (clear_to_end, clear_frame, clear_end_of_line)
11253 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
11254 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
11255 (syms_of_term): Move their initialization to terminal.c.
11256 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
11257 (Ftty_display_color_cells)
11258 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 11259 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
11260 (init_tty, maybe_fatal): New functions.
11261 (Ftty_type): Return nil if terminal is not on a tty instead of
11262 throwing an error. Doc update.
11263 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 11264 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
11265 (delete_tty): Use terminal->deleted.
11266 (tty_set_terminal_modes): Rename from set_terminal_modes.
11267 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
11268 (set_scroll_region): Rename to `tty_set_scroll_region'.
11269 (turn_on_insert): Rename to `tty_turn_on_insert'.
11270 (turn_off_insert): Rename to `tty_turn_off_insert'.
11271 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
11272 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
11273 (toggle_highligh): Rename to `tty_toggle_highlight'.
11274 (background_highlight): Rename to `tty_background_highlight'.
11275 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
11276 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
11277 (tty_set_scroll_region, tty_background_highlight)
11278 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
11279 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
11280 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
11281 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
11282 Add static modifier.
11283 (tty_reset_terminal_modes, tty_set_terminal_window)
11284 (tty_set_scroll_region, tty_background_highlight)
11285 (tty_highlight_if_desired, tty_cursor_to)
11286 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
11287 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
11288 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
11289 renames.
11290
880820fe 112912007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
11292
11293 * keyboard.c: Qrtl is new.
11294 (parse_tool_bar_item): Handle :rtl keyword.
11295 (syms_of_keyboard): Intern :rtl keyword.
11296
11297 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
11298
11299 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
11300 so no Lisp code is executed.
11301 (file_for_image, find_rtl_image): New functions.
1f204af3 11302 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
11303 (update_frame_tool_bar): If direction is RTL, use RTL image if
11304 defined. Use Gtk stock images if defined.
11305
83cc8d35
YM
113062007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11307
11308 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
11309 for nonexistent or zero-width glyph in composition glyph.
11310
e60c4e15
SM
113112007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
11312
d7e2a28f
SM
11313 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
11314
e60c4e15
SM
11315 * xdisp.c (Finvisible_p): New function.
11316 (syms_of_xdisp): defsubr it.
11317
ee163e6d
JB
113182007-08-24 Juanma Barranquero <lekktu@gmail.com>
11319
11320 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
11321 Doc fixes.
11322
90fa408d
YM
113232007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11324
35277b03 11325 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 11326
cac4219c
MR
113272007-08-24 Martin Rudalics <rudalics@gmx.at>
11328
11329 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
11330 whether decoding has modified buffer contents.
11331
5fc9fdeb
JR
113322007-08-24 Jason Rumney <jasonr@gnu.org>
11333
11334 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
11335 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
11336 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
11337 (init_svg_functions) [HAVE_NTGUI]: New function.
11338 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
11339 (svg_load_image): Use them.
11340 (svg_load_image) [HAVE_NTGUI]: Implement background.
11341
93b23406
YM
113422007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11343
11344 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
11345 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
11346 (LIBX): Remove @RSVG_LIBS@.
11347 (LIBES): Add $(RSVG_LIBS).
11348
11349 * image.c (svg_load_image): Blend with specified background if exists.
11350 Use IMAGE_BACKGROUND. Add Mac OS Support.
11351
11352 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
11353 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
11354 Remove macros.
11355 [MAC_OSX] (socket_callback): Do nothing.
11356 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
11357 ReceiveNextEvent.
11358 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
11359 socket_callback.
11360 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
11361
2467875c
GM
113622007-08-22 Glenn Morris <rgm@gnu.org>
11363
ff8da443 11364 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 11365
4ab27a43
GM
113662007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
11367
11368 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 11369
666e0eda
GM
11370 * image.c: Add support for SVG images. Some additional comments
11371 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
11372 (svg_image_p): New function to test for SVG image.
11373 (svg_load): New function to load SVG image.
11374 (svg_load_image): New function, helper for svg_load.
11375 (Qsvg): New Lisp_object.
11376 (svg_keyword_index): New enum.
11377 (svg_format): New static `image_keyword' struct.
11378 (svg_type): New static `image_type' struct.
11379 (librsvg/rsvg.h): Include it.
4ab27a43 11380
b636b4c1
SM
113812007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
11382
11383 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
11384
9ecb827b
SM
113852007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
11386
1d064697
SM
11387 * lread.c (Qold_style_backquotes): New var.
11388 (syms_of_lread): Init and staticpro it.
11389 (load_warn_old_style_backquotes): New fun.
11390 (Fload): Use them to warn about old style backquotes.
11391 (end_of_file_error, Fload): Remove unused vars.
11392
5772ed4b
SM
11393 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
11394
9ecb827b 11395 * lread.c (Vold_style_backquotes): New var.
5aa273b0 11396 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
11397 (read1): Set it when we find an old-style (back)quote.
11398
32e1c7b1
JR
113992007-08-22 Jason Rumney <jasonr@gnu.org>
11400
11401 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
11402
b8fa755b
KY
114032007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
11404
11405 * puresize.h (BASE_PURESIZE): Increase to 1140000.
11406
1283140e
RS
114072007-08-19 Richard Stallman <rms@gnu.org>
11408
11409 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
11410
2c4685ee
AS
114112007-08-19 Andreas Schwab <schwab@suse.de>
11412
11413 * alloc.c (pure): Round PURESIZE up.
11414
880820fe 114152007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
11416
11417 * xterm.c (handle_one_xevent): Remove check that mouse click is in
11418 active frame.
11419
6e33efc4
RS
114202007-08-16 Richard Stallman <rms@gnu.org>
11421
11422 * eval.c (Fcommandp): Add parens to clarify.
11423
11424 * minibuf.c (Fall_completions): Use enum for type of table.
11425
11426 * emacs.c (USAGE2): Improve text.
11427
fcf8ff2e
GM
114282007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
11429
5205ee62
GM
11430 * term.c (tty_default_color_capabilities): Declare static
11431 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 11432
880820fe 114332007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
11434
11435 * gtkutil.c (update_frame_tool_bar): Use -1 as index
11436 to gtk_toolbar_insert.
11437
4a181359
SM
114382007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
11439
1bc99c9c
SM
11440 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
11441
4a181359
SM
11442 * insdel.c (reset_var_on_error): New fun.
11443 (signal_before_change, signal_after_change):
11444 Use it to reset (after|before)-change-functions to nil in case of error.
11445 Bind inhibit-modification-hooks to t.
11446 Don't bind (after|before)-change-functions to nil while they run.
11447
6c28435c
YM
114482007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11449
11450 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
11451 filling pixmap with stippled background.
11452
ad3b3e02
YM
114532007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11454
11455 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
11456 Don't use invisible frame as parent window for repositioning.
11457
a22dec27
SM
114582007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
11459
11460 * print.c (new_backquote_output): Rename from old_backquote_output.
11461 (print): Inverse its logic (according to its name) so as to match the
11462 behavior of new_backquote_flag in lread.c.
11463
7b7d07bb
YM
114642007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11465
11466 * gmalloc.c (posix_memalign): New function.
11467
11468 * macterm.c (frame_highlight, frame_unhighlight): Don't call
11469 ActivateControl/DeactivateControl here.
11470 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
11471 frame-notice-user-settings is non-nil.
11472 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
11473 for kEventParamFMFontStyle.
11474 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
11475 mac_pass_command_to_system and mac_pass_control_to_system here.
11476 (XTread_socket): Call ActivateControl/DeactivateControl here.
11477 (XTread_socket) [TARGET_API_MAC_CARBON]:
11478 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
11479 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
11480 for window repositioning.
7b7d07bb 11481
22e9fe24
GM
114822007-08-08 Glenn Morris <rgm@gnu.org>
11483
11484 * Replace `iff' in doc-strings and comments.
11485
ae494350
CY
114862007-08-07 Chong Yidong <cyd@stupidchicken.com>
11487
11488 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
11489
6f2528d8
MR
114902007-08-07 Martin Rudalics <rudalics@gmx.at>
11491
11492 * fileio.c (Finsert_file_contents): Run format-decode and
11493 after_insert_file_functions on entire buffer when REPLACE is
11494 non-nil and inhibit modification_hooks and point_motion_hooks.
11495 For consistency, run after_insert_file_functions iff something
11496 got inserted. Move signal_after_change and update_compositions
11497 after code running after_insert_file_functions. Make sure that
6b8e474c 11498 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 11499
3ceeb306
YM
115002007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11501
11502 * emacs.c (main)
11503 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
11504 Call malloc_enable_thread on interactive startup.
11505
11506 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
11507 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
11508 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
11509 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
11510 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
11511 New functions.
11512
ca5e6fd5
CY
115132007-08-06 Chong Yidong <cyd@stupidchicken.com>
11514
32bfce5d
CY
11515 * xdisp.c (redisplay_window): When restoring original buffer
11516 position, make sure it is still valid.
11517
ca5e6fd5
CY
11518 * image.c (png_load): Ignore png-supplied background color.
11519
a5b11587
YM
115202007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11521
11522 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
11523 Use kCFAbsoluteTimeIntervalSince1970.
11524
11525 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
11526 New variable.
11527 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
11528 event loop should be quit.
11529 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
11530 Quit dialog event loop if quit_dialog_event_loop is set.
11531
11532 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
11533 (Selection): New typedef. Use instead of ScrapRef.
11534 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
11535 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
11536 (mac_clear_selection): Rename from clear_scrap.
11537 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 11538 scrap_has_target_type. All uses changed.
a5b11587
YM
11539 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
11540 (mac_selection_has_target_p): New functions.
11541 (mac_put_selection_value): Rename from put_scrap_string.
11542 (mac_get_selection_value): Rename from get_scrap_string.
11543 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
11544 (put_scrap_private_timestamp, scrap_has_target_type)
11545 (get_scrap_private_timestamp): Remove functions.
11546 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
11547 (x_own_selection, x_get_local_selection):
11548 Use mac_valid_selection_value_p.
11549 (x_own_selection): Don't use put_scrap_private_timestamp.
11550 Record OWNERSHIP-INFO into Vselection_alist instead.
11551 (x_get_local_selection): Don't check type if request is local.
11552 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
11553 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
11554
880820fe 115552007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
11556
11557 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
11558 add comment explaining why.
11559
73ff9d42
RS
115602007-08-03 Richard Stallman <rms@gnu.org>
11561
11562 * fileio.c (Fvisited_file_modtime): Use make_time.
11563
54ed9a2d 115642007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
11565
11566 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
11567 build.
11568
65a9c8e2
SM
115692007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
11570
11571 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
11572
c5925799
KY
115732007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
11574
11575 * puresize.h (BASE_PURESIZE): Increase to 1130000.
11576
adef3de7
RS
115772007-07-30 Richard Stallman <rms@gnu.org>
11578
11579 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
11580
880820fe 115812007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
11582
11583 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
11584
a10421a1
NR
115852007-07-28 Nick Roberts <nickrob@snap.net.nz>
11586
11587 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
11588 remote default-directory.
11589
11590 * buffer.c (mode-line-format): Update doc string.
11591
0cb1ae20
YM
115922007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11593
11594 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
11595 scroll bar gap.
11596 (x_scroll_bar_create): Set bar->fringe_extended_p.
11597 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
11598 on frame edge. Check fringe background extension. Don't clear
11599 extended fringe background area.
11600
11601 * w32term.h (struct scroll_bar): New member fringe_extended_p.
11602 (w32_fill_area): Enclose multiple statements with do ... while (0).
11603
11604 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
11605 Extend fringe background to scroll bar gap.
11606 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
11607 Set bar->fringe_extended_p.
11608 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11609 Put leftmost/rightmost scroll bars on frame edge. Check fringe
11610 background extension. Don't clear extended fringe background area.
11611
11612 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11613 New member fringe_extended_p.
11614
cacc7b51
GM
116152007-07-25 Glenn Morris <rgm@gnu.org>
11616
11617 * Relicense all FSF files to GPLv3 or later.
11618
11619 * COPYING: Switch to GPLv3.
11620
89835619
SM
116212007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11622
c4f46926
SM
11623 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
11624
11625 * data.c (Finteractive_form): Check for the presence of an
11626 `interactive-form' symbol property more thoroughly.
11627
11628 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
11629 present, analogous to the function-documentation property.
11630
ee04257d
JR
116312007-07-24 Jason Rumney <jasonr@gnu.org>
11632
11633 * w32fns.c (x_real_positions): Get real position from OS instead of
11634 calculating it.
11635
50624218
JR
116362007-07-23 Jason Rumney <jasonr@gnu.org>
11637
11638 * filelock.c (current_lock_owner): Allow for @ sign in username.
11639
3650f60e
NR
116402007-07-22 Nick Roberts <nickrob@snap.net.nz>
11641
11642 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
11643 remote default-directory.
11644
11645 * buffer.c (mode-line-format): Describe above case in doc string.
11646
1e899515 116472007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 11648
75be5258
EZ
11649 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
11650 Define if not defined.
11651
2b6e2f4d
JR
116522007-07-18 Jason Rumney <jasonr@gnu.org>
11653
11654 * w32proc.c (w32_executable_type): Handle 64 bit executables.
11655
23dacf80
JB
116562007-07-18 Richard Stallman <rms@gnu.org>
11657
11658 * data.c (Fsetq_default): Doc fix.
11659
11660 * eval.c (Fsetq): Doc fix.
11661
116622007-07-18 Juanma Barranquero <lekktu@gmail.com>
11663
11664 * coding.c (Ffind_operation_coding_system):
11665 * eval.c (For, Fand): Doc fixes.
880820fe 11666 Reported by Johan Bockgård.
23dacf80 11667
880820fe 116682007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 11669
23dacf80 11670 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 11671
23dacf80 11672 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
11673
11674 * xterm.c (x_ewmh_activate_frame): New function.
11675 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
11676
71ec17e6
MR
116772007-07-17 Martin Rudalics <rudalics@gmx.at>
11678
11679 * window.c (Fdisplay_buffer): If largest or LRU window is the
11680 only window, split it even if it is not eligible for splitting.
11681 This restores the original behavior broken by the 2007-07-15
11682 change.
11683
e9818042
GM
116842007-07-17 Glenn Morris <rgm@gnu.org>
11685
11686 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
11687 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11688 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
11689 constituents. Doc fix.
11690
e6fca843
SM
116912007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
11692
11693 * process.c (Fstart_process, Fmake_network_process)
11694 (read_process_output): Fix up last changes.
11695
b5d2b4ab
EZ
116962007-07-16 Eli Zaretskii <eliz@gnu.org>
11697
11698 * makefile.w32-in (clean): Don't delete *~.
11699
413a79ad
AS
117002007-07-16 Andreas Schwab <schwab@suse.de>
11701
11702 * window.c (Fdisplay_buffer): Use NILP.
11703 (Fset_window_scroll_bars): Likewise.
11704
f1de8c77
MR
117052007-07-15 Martin Rudalics <rudalics@gmx.at>
11706
11707 * window.c (window_min_size_2): New function.
11708 (window_min_size_1, size_window, Fdisplay_buffer)
11709 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
11710 windows without mode- or header-lines when window-min-height is
11711 too small.
11712 (size_window): Reset nodelete_p after testing it, following an
11713 earlier note by Kim F. Storm.
11714 (display_buffer): Do not set split_height_threshold to twice the
11715 value of window_min_height to avoid changing the value of a
11716 customizable variable. Rather explicitly check whether the
11717 height of the window that shall be splitted is at least as large
11718 as split_height_threshold.
1af74d06
MB
11719 (Fwindow_full_width_p): New defun.
11720 (syms_of_window): Defsubr it.
d31053f9 11721
1af74d06 11722 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 11723
5e1ab613
JR
117242007-07-14 Jason Rumney <jasonr@gnu.org>
11725
11726 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
11727
f01cbfdd
RS
117282007-07-14 Richard Stallman <rms@gnu.org>
11729
11730 * eval.c (maybe_call_debugger): New function.
11731 (find_handler_clause): Use maybe_call_debugger.
11732 Call it when the handler says `debug'.
11733 Eliminate DEBUGGER_VALUE_PTR.
11734 (Fsignal): Eliminate debugger_value.
11735 (Qdebug): New variable.
11736 (syms_of_eval): Initialize it.
11737
1bab435a
JB
117382007-07-14 Juanma Barranquero <lekktu@gmail.com>
11739
11740 * eval.c (Fprogn):
11741 * keyboard.c (Ftrack_mouse):
11742 * print.c (Fwith_output_to_temp_buffer):
11743 * window.c (Fsave_window_excursion): Doc fix.
11744
be436d23
SM
117452007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
11746
11747 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
11748
60f0fb11
SM
117492007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
11750
11751 * process.h (struct Lisp_Process): Turn slots infd, outfd,
11752 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
11753 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
11754 read_output_delay, and read_output_skip from Lisp_Objects to ints.
11755 Remove unused encoding_carryover.
11756 * process.c: Adjust all functions accordingly.
11757
d8b18043
RS
117582007-07-12 Richard Stallman <rms@gnu.org>
11759
11760 * term.c: Include unistd.h only if HAVE_UNISTD_H.
11761
d5781bb6
JR
117622007-07-11 Jason Rumney <jasonr@gnu.org>
11763
11764 * makefile.w32-in (LIBS): Include OLE32.
11765
11766 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
11767 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
11768
5bb7dfee
SM
117692007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
11770
11771 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
11772 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
11773 from a Lisp_Object into a bare pointer.
11774 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11775 Adjust the code correspondingly.
11776
11777 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
11778
11779 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
11780 (term_show_mouse_face): Remove unused var `j'.
11781 (handle_one_term_event): Remove unused vars `i' and `j'.
11782 Don't cast return value of ttyname since it's not necessary.
11783
a1be1ce8
SM
117842007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
11785
5045e68e
SM
11786 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
11787 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
11788
8071c00f
SM
11789 * fns.c (map_char_table): Use an array of int for `indices' rather than
11790 an array of Lisp_Objects (which are only ever integers anyway).
11791 (Fmap_char_table): Update caller.
11792 * lisp.h: Update prototype.
11793 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
11794 * fontset.c (Ffontset_info):
11795 * casetab.c (set_case_table): Update callers.
11796
11797 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
11798
fab84e3c
SM
11799 * keymap.c (struct accessible_keymaps_data)
11800 (struct where_is_internal_data): New structures.
11801 (accessible_keymaps_1, where_is_internal_1): Use them to change
11802 interface to adhere to the one used by map_keymap.
11803 (Faccessible_keymaps, where_is_internal): Use map_keymap.
11804 (accessible_keymaps_char_table, where_is_internal_2): Remove.
11805
a1be1ce8
SM
11806 * keymap.h (map_keymap_function_t): More informative prototype.
11807
ef887810
RS
118082007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
11809
11810 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
11811 (looking_at_1): Don't change search_regs and last_thing_searched
11812 if `inhibit-changing-match-data' is non-nil.
11813 (string_match_1, search_buffer, set_search_regs): Likewise.
11814 (syms_of_search): Add Lisp level definition for
11815 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
11816 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
11817 start and end of the match, instead of using values in search_regs.
ef887810 11818
4d02fc25
SM
118192007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
11820
11821 * minibuf.c (Fcompleting_read): New value `confirm-only'
11822 for `require-match'.
11823
fe45b81f
SM
118242007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
11825
11826 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
11827 part of the 2007-06-27 change to syms_of_fileio.
11828
a56dd283
YM
118292007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11830
11831 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
11832 Check WINDOWP before using XWINDOW. Consolidate return statements.
11833
0cf9f5b5
RS
118342007-06-27 Richard Stallman <rms@gnu.org>
11835
11836 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
11837
a66f285a
JB
118382007-06-27 Juanma Barranquero <lekktu@gmail.com>
11839
11840 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
11841
8d0d84d2
YM
118422007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11843
11844 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
11845 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
11846 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
11847 (_free_internal, memalign): Use them.
11848 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
11849 Initialize to PTHREAD_MUTEX_INITIALIZER.
11850 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
11851 (morecore_nolock): Rename from morecore. All uses changed.
11852 Use only nolock versions of internal allocation functions.
11853 (_malloc_internal_nolock, _realloc_internal_nolock)
11854 (_free_internal_nolock): New functions created from
11855 _malloc_internal, _realloc_internal, and _free_internal.
11856 (_malloc_internal, _realloc_internal, _free_internal): Use them.
11857 Copy hook value to automatic variable before its use.
11858 (memalign): Copy hook value to automatic variable before its use.
11859
5a0bbd9a
KH
118602007-06-26 Kenichi Handa <handa@m17n.org>
11861
11862 * coding.c (Ffind_operation_coding_system): Docstring improved.
11863 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
11864
9a51747b
DK
118652007-06-25 David Kastrup <dak@gnu.org>
11866
11867 * keymap.c (Fcurrent_active_maps): Add `position' argument.
11868 (Fwhere_is_internal): Adjust call to `current-active-maps' to
11869 cater for additional parameter.
11870
11871 * keymap.h: Adjust number of parameters to `current-active-maps'.
11872
11873 * doc.c (Fsubstitute_command_keys): Adjust call of
11874 `current-active-maps'.
11875
e4305426
DK
118762007-06-25 David Kastrup <dak@gnu.org>
11877
11878 * callint.c (Fcall_interactively): Make the parsing of interactive
11879 specs somewhat more readable.
11880
511a18d9
YM
118812007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11882
11883 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
11884 to scroll bar gap also when bitmap fills fringe. Draw only foreground
11885 if extended background has already been filled.
11886
512eb161
YM
118872007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11888
11889 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
11890 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
11891
11892 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
11893 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
11894 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
11895 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
11896 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
11897 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
11898 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
11899 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
11900 Run timers during dialog popup.
11901 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
11902
2386b1f1
JR
119032007-06-21 Jason Rumney <jasonr@gnu.org>
11904
11905 * image.c (convert_mono_to_color_image): Swap fore and background.
11906
fab8b787
JR
119072007-06-20 Jason Rumney <jasonr@gnu.org>
11908
11909 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
11910 (w32_free_bdf_font): Unmap memory not handle.
11911
15bdd7a0 119122007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
11913
11914 * gmalloc.c (__morecore): Fix the declaration to comply with the
11915 definition.
11916
1bb8a291
JB
119172007-06-20 Juanma Barranquero <lekktu@gmail.com>
11918
11919 * w32term.c (w32_delete_display): Remove leftover declaration.
11920 (w32_define_cursor, w32_initialize): Make static.
11921
11922 * w32.c (_wsa_errlist): Fix typo in error message.
11923 (init_environment): Ignore any environment variable from the
11924 registry having a null value.
11925
92648dea
GM
119262007-06-20 Glenn Morris <rgm@gnu.org>
11927
11928 * Makefile.in (LIBGIF): Default to -lgif.
11929
ff25d115
JR
119302007-06-17 Jason Rumney <jasonr@gnu.org>
11931
11932 * w32menu.c (add_menu_item): Don't use multibyte string functions on
11933 unicode strings.
11934
a1a578a5
JB
119352007-06-16 Juanma Barranquero <lekktu@gmail.com>
11936
11937 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
11938 Fix typo in docstring.
11939
af41f8a8
EZ
119402007-06-16 Eli Zaretskii <eliz@gnu.org>
11941
11942 * w32menu.c (add_menu_item): Escape `&' characters in menu items
11943 and their keybindings.
11944
8b29cab9
CY
119452007-06-15 Chong Yidong <cyd@stupidchicken.com>
11946
11947 * composite.c (update_compositions): Fix last fix.
11948
c433c134
JR
119492007-06-14 Jason Rumney <jasonr@gnu.org>
11950
11951 * w32.c (get_process_times_fn): New function pointer.
11952 (globals_of_w32): Intialize it if present in kernel32.dll.
11953 (w32_get_internal_run_time): New function.
11954
11955 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
11956
553d3164
KH
119572007-06-14 Kenichi Handa <handa@etlken.m17n.org>
11958
11959 * composite.c (update_compositions): Check the validness of
11960 compositions.
11961
446ba96f
YM
119622007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11963
11964 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
11965 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
11966
11967 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
11968 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
11969
11970 * macgui.h (USE_MAC_TOOLBAR): New define.
11971
11972 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
11973 Return immediately unless popup is activated.
11974
11975 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
11976 background to scroll bar gap.
11977 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
11978 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
11979 scroll bars on frame edge. Check fringe background extension.
11980 Don't clear extended fringe background area.
11981 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
11982 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
11983 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
11984 [USE_MAC_TOOLBAR]: New macros.
11985 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
11986 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
11987 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
11988 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
11989 [USE_MAC_TOOLBAR]: New functions.
11990 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
11991 manually if previous repositioning has failed.
11992 (mac_handle_keyboard_event): Use precomputed event kind.
11993 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
11994 as tool bar item click. Handle mouse movement over tool bar items.
11995
11996 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
11997 toolbar_win_gravity.
11998 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
11999 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
12000 Add externs.
12001
12002 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
12003 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
12004
9720173f
CY
120052007-06-14 Chong Yidong <cyd@stupidchicken.com>
12006
12007 * image.c (search_image_cache): Remove unused variable.
12008
1217dd00
CY
120092007-06-13 Chong Yidong <cyd@stupidchicken.com>
12010
12011 * xfns.c, xmenu.c: Link to xaw3d if available.
12012
c5b8e0ea
YM
120132007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12014
12015 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
12016 frame_foreground and frame_background.
12017
12018 * image.c (lookup_image): Save frame foreground and background colors.
12019 (search_image_cache): Check if saved and current frame colors match.
12020
c69b0314
SM
120212007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
12022
12023 * regex.c (regex_compile): Remove the `regnum' counter.
12024 Use bufp->re_nsub instead. Add support for \(?N:RE\).
12025
c9612b8e
SM
120262007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
12027
12028 * term.c: Include intervals.h to declare Fget_text_property.
12029
843d2458
JR
120302007-06-10 Jason Rumney <jasonr@gnu.org>
12031
12032 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
12033
1e0d2d60 120342007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
12035
12036 * callint.c (Fcall_interactively):
12037 * editfns.c (Fdelete_and_extract_region):
12038 * fileio.c (Fread_file_name):
12039 * fns.c (Fmapconcat):
12040 * keyboard.c (cmd_error_internal):
12041 * keymap.c (Fkey_description):
12042 * lread.c (openp):
12043 * minibuf.c (read_minibuf):
12044 * search.c (wordify):
12045 * sunfns.c (sel_read):
12046 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
12047 * xfns.c (x_default_scroll_bar_color_parameter):
12048 * xmenu.c (menu_help_callback):
12049 * xselect.c (Fx_get_atom_name):
12050 * xterm.c (x_term_init): Use empty_unibyte_string.
12051
15bdd7a0 120522007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
12053
12054 * alloc.c (init_strings): Initialize canonical empty strings.
12055 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
12056 canonical empty string when the requested size is 0.
12057
12058 * emacs.c (empty_unibyte_string): Rename from empty_string.
12059 (empty_multibyte_string): New canonical empty string.
12060 (syms_of_emacs): Don't initialize empty_string.
12061
12062 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
12063 string, if appropriate.
12064 (empty_unibyte_string, empty_multibyte_string): New externs.
12065 (empty_string): Remove extern.
12066
12067 * lread.c (syms_of_lread): Use empty_unibyte_string.
12068
42c4c67a
JR
120692007-06-07 Jason Rumney <jasonr@gnu.org>
12070
12071 * s/ms-w32.h: Don't define HAVE_TZNAME.
12072
12073 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
12074
aa8280d3
YM
120752007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12076
12077 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
12078
12079 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
12080 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
12081
12082 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12083 Don't call next handler.
12084 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
12085 Remove argument. Install handler to application.
12086 (set_frame_menubar): Don't change deep_p.
1e0d2d60 12087 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
12088 FRAME_OUTER_TO_INNER_DIFF_Y.
12089 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
12090 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
12091 [HAVE_DIALOGS]: New macros.
12092 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
12093 Use them.
12094 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
12095
12096 * macselect.c [MAC_OSX] (install_service_handler): Rename from
12097 init_service_handler. All callers changed. Return OSStatus value.
12098
12099 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
12100 All callers changed so as not to call SetPortWindowPort.
12101 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
12102 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
12103 mac_draw_string_common.
12104 (mac_draw_image_string_qd): Likewise.
12105 (mac_draw_string_common): Use them. Add INLINE.
12106 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
12107 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
12108 GetGlobalMouse.
12109 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
12110 and FRAME_OUTER_TO_INNER_DIFF_Y.
12111 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
12112 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
12113 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
12114 repositioning window to mac_handle_window_event.
12115 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
12116 saving window location to mac_handle_window_event
12117 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
12118 (install_menu_target_item_handler): Remove argument in extern.
12119 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
12120 Also accept command events.
12121 (do_keystroke): New function created from XTread_socket.
12122 (init_command_handler): Remove functions.
12123 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
12124 and save window location by kEventWindowShowing and kEventWindowHiding
12125 handlers here. Don't call next handler for window state change and
12126 focus events.
12127 (mac_handle_application_event, mac_handle_keyboard_event)
12128 [TARGET_API_MAC_CARBON]: New functions.
12129 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
12130 kEventWindowShowing and kEventWindowHiding events. Move installation
12131 of mouse, font, text input and menu target item handlers to
12132 install_application_handler.
12133 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
12134 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12135 New function.
12136 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12137 Register it.
c9612b8e
SM
12138 (XTread_socket) [TARGET_API_MAC_CARBON]:
12139 Consolidate SendEventToEventTarget calls.
12140 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
12141 Move application activation handler to mac_handle_application_event.
12142 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
12143 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
12144 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
12145 init_command_handler. Call install_application_handler.
12146
12147 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
12148 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
12149
6926c954
GM
121502007-06-07 Glenn Morris <rgm@gnu.org>
12151
12152 * emacs.c (main): Use `emacs-copyright' in --version output.
12153
6fe04c89
CY
121542007-06-06 Chong Yidong <cyd@stupidchicken.com>
12155
c9612b8e 12156 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 12157
7eb0d727
YM
121582007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12159
12160 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
12161
12162 * macgui.h: Replace WindowPtr with WindowRef.
12163
12164 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12165 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12166 Replace ControlHandle with ControlRef.
12167 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
12168
12169 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12170 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12171 Replace ControlHandle with ControlRef.
12172 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
12173 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
12174
12175 * macterm.h (struct scroll_bar): Rename member control_handle_low
12176 and control_handle_high to control_ref_low and control_ref_high.
12177 All uses changed.
12178 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
12179 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
12180 respectively. All uses changed.
12181 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
12182 (install_window_handler, remove_window_handler): Replace WindowPtr
12183 with WindowRef in externs.
12184
65fddb74
JB
121852007-06-05 Juanma Barranquero <lekktu@gmail.com>
12186
12187 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
12188
db1213a9
NR
121892007-06-03 Nick Roberts <nickrob@snap.net.nz>
12190
12191 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
12192
65fddb74 12193 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
12194 Condition on HAVE_GPM too.
12195
12196 * term.c (term_mouse_highlight): Remove unused variables.
12197 (Fterm_open_connection): Set gpm_zerobased to 1.
12198 (term_mouse_movement, term_mouse_click, handle_one_term_event):
12199 Use zero based co-ordinates.
12200 (handle_one_term_event): Report a drag as mouse movement too.
12201
12202 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
12203
d94df25b
CY
122042007-06-03 Chong Yidong <cyd@stupidchicken.com>
12205
12206 * image.c (search_image_cache): New function. Require background
12207 color match if background color is unspecified in the image spec.
12208 (uncache_image, lookup_image): Use it.
12209
4797b6d9
JB
122102007-06-01 Juanma Barranquero <lekktu@gmail.com>
12211
12212 * window.c (Fshrink_window): Reflow docstring.
12213
1ffe7343
NR
122142007-06-02 Chong Yidong <cyd@stupidchicken.com>
12215
12216 * Version 22.1 released.
12217
122182007-06-01 Richard Stallman <rms@gnu.org>
12219
12220 * xfns.c (x_encode_text): Add GCPRO.
12221
122222007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12223
12224 * xfns.c (x_set_name_internal): Save encoded name before
12225 x_encode_text in case string data is relocated.
12226
122272007-05-31 Richard Stallman <rms@gnu.org>
12228
12229 * buffer.c (syms_of_buffer): Doc fix.
12230
122312007-05-30 Nick Roberts <nickrob@snap.net.nz>
12232
12233 * sysdep.c (init_sys_modes): Add rather than replace with
12234 O_NONBLOCK.
12235
12236 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
12237 term_mouse_moveto.
12238
12239 * termhooks.h (term_mouse_moveto): New extern.
12240
12241 * term.c (mouse_face_window): Rename...
12242 (Qmouse_face_window): ...to this.
12243 (term_show_mouse_face, term_clear_mouse_face)
12244 (term_mouse_highlight): Use Qmouse_face_window.
12245 (term_mouse_moveto): New function.
12246 (term_mouse_position): Make it work.
12247 (syms_of_term): Uncomment assignment to mouse_position_hook.
12248 Staticpro Qmouse_face_window.
12249
122502007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12251
12252 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
12253 around current_column call.
12254
122552007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
12256
12257 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
12258 * xdisp.c (next_element_from_buffer):
12259 * window.c (delete_window):
12260 * term.c (term_mouse_highlight):
12261 * msdos.c (getdefdir):
12262 * macterm.c (mac_create_bitmap_from_bitmap_data)
12263 (init_font_name_table):
12264 * fns.c (Fsxhash):
12265 * data.c (Fmake_local_variable):
12266 * ccl.c (ccl_driver): Likewise.
12267
122682007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12269
12270 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
12271 Call mac_wakeup_from_rne on window size change.
12272
122732007-05-25 Chong Yidong <cyd@stupidchicken.com>
12274
12275 * image.c (uncache_image): Fix typo.
12276
122772007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
12278
12279 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
12280
122812007-05-22 Richard Stallman <rms@gnu.org>
12282
12283 * xterm.c (x_connection_closed): Remove NO_RETURN.
12284
122852007-05-22 Martin Rudalics <rudalics@gmx.at>
12286
12287 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
12288
122892007-05-21 Chong Yidong <cyd@stupidchicken.com>
12290
12291 * image.c (uncache_image): New function.
12292 (Fimage_refresh): New function.
12293
880820fe 122942007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
12295
12296 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
12297
122982007-05-20 Nick Roberts <nickrob@snap.net.nz>
12299
12300 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
12301 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
12302
123032007-05-20 Nick Roberts <nickrob@snap.net.nz>
12304
12305 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
12306 conditional on [HAVE_GPM_H].
12307
123082007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
12309
12310 * syntax.c (skip_chars): Update syntax-table only after we checked that
12311 the new location is valid.
12312
123132007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12314
12315 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
12316 mac_get_window_bounds.
12317
123182007-05-20 Nick Roberts <nickrob@snap.net.nz>
12319
12320 * Makefile.in (LIBGPM): Allow it to be set from configure.
12321 If set then link Emacs with it.
12322
12323 * config.in: Regenerate.
12324
12325 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
12326 New externs.
12327
12328 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
12329 Include gpm.h.
12330 (handle_one_term_event, term_gpm): New externs.
12331
12332 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
12333 and allow it to be interrupted by SIGIO.
12334
12335 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
12336 (wait_reading_process_output): Wait on gpm_fd too.
12337 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
12338 (add_gpm_wait_descriptor_called_flag): New variable.
12339 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
12340
12341 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
12342 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
12343 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
12344 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
12345 (make_lispy_event): Add case GPM_CLICK_EVENT.
12346 (read_avail_input): Handle mouse input.
12347
12348 * term.c (write_glyphs_with_face): New function.
12349 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
12350 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
12351 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
12352 (mouse_face_face_id, term_gpm, pos_x, pos_y)
12353 (last_mouse_x, last_mouse_y): New variables.
12354 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
12355 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
12356 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
12357 (Fterm_close_connection): New functions.
12358 (term_init): Initialise mouse_face_window.
12359
123602007-05-19 Chong Yidong <cyd@stupidchicken.com>
12361
12362 * xdisp.c (redisplay_window): If first window line is a
12363 continuation line, recompute the new window start instead of
12364 recentering.
12365
123662007-05-18 Glenn Morris <rgm@gnu.org>
12367
12368 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
12369 Suggested by Alfred M. Szmidt <ams@gnu.org>.
12370
123712007-05-17 Glenn Morris <rgm@gnu.org>
12372
12373 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
12374
123752007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12376
12377 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
12378 dead key repeat and up events.
12379
123802007-05-14 Chong Yidong <cyd@stupidchicken.com>
12381
12382 * image.c (pbm_load): Check image size for monochrome pbm.
12383
123842007-05-13 Chong Yidong <cyd@stupidchicken.com>
12385
12386 * xterm.c (XTread_socket): Revert last change.
12387
123882007-05-12 Chong Yidong <cyd@stupidchicken.com>
12389
12390 * image.c (pbm_load): Correctly check image size for greyscale pbm.
12391
12392 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
12393
123942007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12395
12396 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
12397 mixup (YAILOM).
12398
123992007-05-07 Andreas Schwab <schwab@suse.de>
12400
12401 * keymap.c (Flookup_key): Fix typo in last change.
12402
124032007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
12404
12405 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
12406 mapping for unibyte strings.
12407
124082007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12409
12410 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
12411 (Fx_popup_dialog) [MAC_OSX]: Likewise.
12412
124132007-04-29 Richard Stallman <rms@gnu.org>
12414
12415 * insdel.c (replace_range): For undo, record insertion first.
12416
124172007-04-29 Andreas Schwab <schwab@suse.de>
12418
12419 * lisp.h (VECSIZE): Use OFFSETOF.
12420
124212007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12422
12423 * xdisp.c (try_window_reusing_current_matrix): Fix number of
12424 disabled lines.
12425
124262007-04-28 Richard Stallman <rms@gnu.org>
12427
12428 * lread.c (read_escape): In a string, \s is always space.
12429
880820fe 124302007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
12431
12432 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
12433
12434 * gtkutil.c (xg_update_menubar, create_menus): Create empty
12435 submenu for menu bar items.
12436
382c648d 12437See ChangeLog.10 for earlier changes.
6922b018
KH
12438
12439;; Local Variables:
880820fe 12440;; coding: utf-8
33462dfa 12441;; add-log-time-zone-rule: t
6922b018 12442;; End:
2a34a036 12443
59ce725a 12444 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
12445
12446 This file is part of GNU Emacs.
12447
5a1dde61 12448 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 12449 it under the terms of the GNU General Public License as published by
5a1dde61
GM
12450 the Free Software Foundation, either version 3 of the License, or
12451 (at your option) any later version.
7f6d64f8
GM
12452
12453 GNU Emacs is distributed in the hope that it will be useful,
12454 but WITHOUT ANY WARRANTY; without even the implied warranty of
12455 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12456 GNU General Public License for more details.
12457
12458 You should have received a copy of the GNU General Public License
5a1dde61 12459 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 12460
28f60c3d 12461;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40