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