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