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