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