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