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