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