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