*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
2d7117fe
JD
12008-02-18 Jan Dj\e$(Q)Z\e(Brv <jan.h.d@swipnet.se>
2
3 * xfns.c (Fx_show_tip): Set string to " " if empty.
4
a2b84f35
DN
52008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6
7 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8 with Qt.
9
43c0454d
KH
102008-02-17 Kenichi Handa <handa@m17n.org>
11
12 * ftfont.c (ftfont_shape): Return Lispy number.
13
14 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
15 for GCs.
16 (Finternal_set_font_selection_order): Call font_update_sort_order
17 only when enable_font_backend is set.
18 (realize_x_face): Set face->font_info to that of default face only
19 when enable_font_backend is set.
20
21 * xdisp.c (handle_composition_prop): Set it->c to the fist
22 characte of the composed region.
23 (fill_composite_glyph_string): Set base_face->font_info to
24 s->font_info. Get a face for ascii from base_face->ascii_face.
25 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
26 with a face already decided.
27 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
28 non-negative.
29 (x_produce_glyphs): If the composition method is
30 ..._WITH_GLYPH_STRING, call font_prepare_composition
31 unconditionally.
32
33 * xfns.c (x_make_gc): Use the default font id of the frame for
34 GCs.
35
36 * xterm.h (struct x_display_info): New member font.
37
38 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
39 (x_set_mouse_face_gc, x_new_font): Likewise.
40 (x_term_init): Setup display_info->font.
41 (x_delete_terminal): Free display_info->font.
42
43 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
44
45 * ftxfont.c (ftxfont_default_fid): Delete it.
46 (ftxfont_open): Set xfont->fid to 0.
47 (ftxfont_end_for_frame): Clear data specifi to the frame and the
48 font-driver.
49
50 * xftfont.c (xftfont_default_fid): Delete it.
51 (xftfont_open): Set xfont->fid to 0.
52
53 * fontset.c (FONTSET_OBJLIST): New macro.
54 (fontset_find_font): Update font-object list of the fontset.
55 (free_realized_fontset): New function.
56 (free_face_fontset): Call free_realized_fontset.
57 (Ffont_info): Call font_close_object only when enable_font_backend
58 is set.
59
60 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
61 [HAVE_NTGUI]: Include w32term.h.
62 [MAC_OS]: Include macterm.ch.
63 (font_otf_ValueRecord): Use make_number.
64 (font_finish_cache): Fix handling of reference count.
65 (font_clear_cache): Update num_fonts.
66 (font_open_entity): Update smallest_char_width and
67 smallest_font_height of the frame.
68 (font_close_object): Update num_fonts.
69 (Fclear_font_cache): Fix finding the target cache data.
70
be617367
GM
712008-02-16 Glenn Morris <rgm@gnu.org>
72
73 * fontset.c (Finternal_char_font): Fix compilation warning.
74
2930d117
EZ
752008-02-16 Eli Zaretskii <eliz@gnu.org>
76
634d3003
EZ
77 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
78 instead of char arrays. Enlarge the size of array passed to
79 get_token_information.
80
2930d117
EZ
81 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
82 warnings.
83
79214046
DN
842008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
85
86 * .gdbinit: Don't set `args', it breaks gdb --args.
87
7f5d2c72
SM
882008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
89
90 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
91 within a narrowed buffer.
92
6edacc43
KH
932008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
94
b270d6af
JB
95 * coding.c (decode_coding_object, encode_coding_object):
96 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 97
174105f7
SM
982008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
99
b270d6af
JB
100 * coding.c (coding_set_destination): Use BEG_BYTE rather than
101 hardcoding 1.
13818c30
SM
102 (detect_coding_system):
103 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
104 (string_char_to_byte, string_byte_to_char, insert_from_gap):
105 * insdel.c (insert_from_gap):
106 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
107 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
108 (string_to_multibyte):
109 * character.c (chars_in_text, multibyte_chars_in_text):
110 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
111
f1c99628
SM
112 * character.h (FETCH_STRING_CHAR_ADVANCE)
113 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
114 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
115 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
116
7927d8e3
SM
117 * casefiddle.c (casify_region): Only call after-change and composition
118 functions on the part of the region that was changed.
119
adf6a429 120 * keyboard.c (read_avail_input):
174105f7
SM
121 * frame.c (Fdelete_frame): Call Fdelete_terminal.
122
3ee24aec
SM
1232008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
124
125 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
126 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
127
4ed4b975
JB
1282008-02-11 Juanma Barranquero <lekktu@gmail.com>
129
130 * w32menu.c (push_submenu_start, push_submenu_end)
131 (push_left_right_boundary, push_menu_pane, push_menu_item):
132 * keyboard.c (read_key_sequence): Don't pass args with side effects
133 to AREF, it fails when compiling with -DENABLE_CHECKING.
134
79e3bfb8
KH
1352008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
136
4ed4b975
JB
137 * Makefile.in (${lispsource}international/charprop.el):
138 Delete this target.
6e76043f 139
79e3bfb8
KH
140 * search.c (boyer_moore): Fix incorrect synching of the trunk and
141 emacs-unicode-2.
142
5b8de9c5
SM
1432008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
144
145 * terminal.c (Fdelete_terminal): Clean up the `force' path.
146
eac1939a
SM
1472008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
148
c53956fe
SM
149 * frame.c (Qnoelisp): New symbol.
150 (syms_of_frame): Initialize it.
151 (Fdelete_frame): Use it to distinguish a mere `force' passed from
152 someharmles Elisp code, from a strong `force' from x_connection_closed.
153 * frame.h (Qnoelisp): Declare.
154 * xterm.c (x_connection_closed): Pass `noelisp'.
155
eac1939a
SM
156 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
157 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
158 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
159 rather than `int' for the type of `type'.
160
13f6772b
DN
1612008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
162
163 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
164
165 * Makefile.in (GNUC): Remove support for gcc-1.x.
166
e8455367
RS
1672008-02-10 Richard Stallman <rms@gnu.org>
168
169 * lisp.h (ASET): Use AREF, not ASLOT.
170
4b75ffab
SM
1712008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
172
173 * lisp.h (ASET): Check bounds.
174
d224e8c2
GM
1752008-02-10 Glenn Morris <rgm@gnu.org>
176
177 * buffer.c (mode-name): Doc fix.
178
4624371d
DN
1792008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
180
181 * src/Makefile.in:
182 * src/emacs.c:
183 * src/gmalloc.c:
184 * src/keyboard.c:
185 * src/lisp.h:
186 * src/m/ibm370aix.h:
187 * src/process.c:
188 * src/regex.c:
189 * src/s/hpux.h:
190 * src/sysdep.c:
191 * src/sysselect.h:
192 * src/systty.h:
193 * src/unexec.c:
194 * src/w32term.c:
195 * src/xsmfns.c:
196 * src/xterm.c: Remove code that deals with obsolete variables.
197
198 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
199
200 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
201 nothing else needs it anymore.
202
274ec34b
EZ
2032008-02-09 Eli Zaretskii <eliz@gnu.org>
204
205 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
206 instead of unibyte_char_to_multibyte.
207
deeaffe1
DN
2082008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
209
210 * s/gnu-linux.h: Remove commented out code.
211
4ed4b975 212 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
213
214 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 215 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
deeaffe1
DN
216 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1):
217 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
218 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
219
68b587a6
SM
2202008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
221
9141ca5e
SM
222 * keymap.c (Fkey_description): Move side effect outside of macro call.
223
dfae5f9a 224 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
225 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
226
ff7a2223
SM
227 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
228 (syms_of_fontset): Use ASET.
229
68b587a6
SM
230 * fns.c (concat): Move side effect outside of macro call.
231 (hash_clear): Use ASET.
232
a31787b1
RS
2332008-02-08 Richard Stallman <rms@gnu.org>
234
235 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
236 If FORCE, and frame has a surrogate minibuffer for another frame,
237 delete the other frame first.
238
987be29b 2392008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
240
241 * xterm.c (x_detect_focus_change): Handle embed client message.
242 (handle_one_xevent): Ditto.
243 (handle_one_xevent): If embedded and we get a button press/release,
244 request focus.
245 (xembed_set_info, xembed_send_message): New functions.
246 (x_make_frame_visible): Call xembed_set_info if embedded.
247 (x_make_frame_invisible): Call xembed_set_info if embedded.
248 (x_term_init): Initialize Xatom_XEMBED.
249 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
250 (x_iconify_frame): Ditto.
251
252 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
253 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
254 (enum xembed_modifier, enum xembed_accelerator): New.
255 (xembed_set_info, xembed_send_message): Declare.
256 (FRAME_X_EMBEDDED_P): New.
257
258 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
259 gtk_plug_new.
260
261 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
262 window ID of a frame.
263 (x_window): Reparent frame if embedded.
264 (Fx_create_frame): Don't set border width if embedded.
265
266 * emacs.c (USAGE3): Add --parent-id
267 (standard_args): Ditto.
268
f937a7db
JD
2692008-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
270
271 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
272
92413ef3
JD
2732008-02-07 Jim Meyering <meyering@redhat.com>
274
987be29b
RF
275 Use "do...while (0)", not "if (1)..else" in macro definitions.
276 The latter provokes a warning from gcc about the empty else, when
277 followed by ";". Also, without that trailing semicolon, it would
278 silently swallow up any following statement.
279 * syntax.h (SETUP_SYNTAX_TABLE):
280 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
281 * buffer.h (DECODE_POSITION): Likewise.
282 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
283 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
284 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
285 (FETCH_CHAR_ADVANCE): Likewise.
286 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 287
03fa5713
GM
2882008-02-07 Jim Meyering <meyering@redhat.com>
289
290 * lread.c [lint]: Don't include <sys/inode.h>.
291
3ae565b3
SM
2922008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
293
294 * xselect.c (x_handle_dnd_message):
295 * xmenu.c (digest_single_submenu, xmenu_show):
296 * xdisp.c (with_echo_area_buffer_unwind_data)
297 (format_mode_line_unwind_data, unwind_format_mode_line)
298 (display_menu_bar):
299 * eval.c (Ffetch_bytecode):
300 * doc.c (store_function_docstring):
301 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
302 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
303 * buffer.c (add_overlay_mod_hooklist): Use ASET.
304
146b6e55
KH
3052008-02-07 Kenichi Handa <handa@m17n.org>
306
307 * ftxfont.c (ftxfont_open): Don't set
308 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
309
310 * ftfont.c (ftfont_open): Fix previous change.
311
46a923ac
JR
3122008-02-06 Jason Rumney <jasonr@gnu.org>
313
314 * w32font.c (w32font_text_extents): Fill in lbearing metric.
315 Use cached metrics for ASCII characters.
3ae565b3
SM
316 (w32font_open_internal): Don't set font's owning_frame.
317 Cache metrics for ASCII characters.
46a923ac
JR
318
319 * w32font.h (struct w32font_info): Add ascii_metrics.
320 Remove owning_frame.
321
da7d7c21
KH
3222008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
323
324 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
325 to negative value.
326
327 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
328
3ae565b3 329 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
330
331 * charset.c (syms_of_charset): Set QCtest and Qeq.
332
c62c8ddb
SM
3332008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
334
ca319910
SM
335 * process.c (Fstart_process):
336 * callproc.c (Fcall_process): Handle the case where
337 Funhandled_file_name_directory returns nil.
338
76860cbb
SM
339 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
340 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
341 * font.c (check_gstring): Use them and AREF to access the vector before
342 we know it's really a gstring.
343 (Ffont_shape_text): Fix typo.
344 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 345
15139d67
SM
346 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
347 Declare.
348
c62c8ddb
SM
349 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
350
04b65d2b
JR
3512008-02-05 Jason Rumney <jasonr@gnu.org>
352
353 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
354 Set smallest_font_height and smallest_char_width in display info.
355
fccaebfd
KH
3562008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
357
358 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
359
e7d7fd8c
MB
3602008-02-05 Miles Bader <miles@gnu.org>
361
362 * xfaces.c (get_lface_attributes, merge_named_face)
363 (lookup_named_face, lookup_derived_face, realize_named_face):
364 Revert 2008-02-01 change by cyd@stupidchicken.com.
365
3d4448a8
KH
3662008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
367
368 * fontset.c (Ffontset_info): Handle the case of inhibitting the
369 fallback fonts.
15139d67 370 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 371
5ace1ec1
JR
3722008-02-04 Jason Rumney <jasonr@gnu.org>
373
374 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
375 set full_name.
e3a77b22 376 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 377
ffe42183
JR
3782008-02-03 Jason Rumney <jasonr@gnu.org>
379
380 * makefile.w32-in (OBJ1): Include font.o here.
381 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
382
526dc3b3
JR
3832008-02-02 Jason Rumney <jasonr@gnu.org>
384
a0fece35 385 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 386
af805c82
JR
3872008-02-01 Jason Rumney <jasonr@gnu.org>
388
389 * s/cygwin.h: Define VIRT_ADDR_VARIES.
390
391 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
392
7f6519c5
AS
3932008-02-01 Andreas Schwab <schwab@suse.de>
394
1f45f627 395 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 396 ../lisp/language/myanmar.el.
7f6519c5 397
26f8aa27
CY
3982008-02-01 Chong Yidong <cyd@stupidchicken.com>
399
1f45f627 400 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
401 (merge_named_face, lookup_named_face, lookup_derived_face)
402 (realize_named_face): Call lface_from_face_name directly, and use
403 the fact that merge_face_vectors does not alter its FROM argument.
404
73acf815 4052008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
406
407 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 408 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 409
73acf815 4102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
411
412 * fontset.c (reorder_font_vector): Exclude nil elements from the
413 font group. Don't try multiple fonts.
15139d67 414 (fontset_font): Adjust for the above change.
aca7a3d2
MB
415 (Finternal_char_font): Return nil if the found font doesn't
416 contain the character ch.
417
4c4475a8 418 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 419
73acf815 4202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
421
422 * font.h (FONTP): Make it return 1 also for a font-object.
423
424 * .gdbinit (xfontset): New function.
425
426 * font.c (font_find_for_lface): Check if the character C is
427 supported or not only for the first font.
428
429 * fontset.c (reorder_font_vector): Fix typo.
430 (fontset_find_font): Don't add a font-spec specifying a script.
431 Use 0 (not Qt) for the indication of empty font-group. Change the
432 format of RFONT-DEF. Return Qt if no font in the font-group
433 support the character.
15139d67 434 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 435 found the character, remember that.
15139d67 436 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
437 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
438 no font for the target.
15139d67 439 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 440
73acf815 4412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
442
443 * font.c (font_load_for_face): Handle the case that the font in
444 face->lface is a string.
445
73acf815 4462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 447
1f45f627 448 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 449
73acf815 4502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
451
452 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
453 Fix previous change. If the frame is not on a window system,
454 signal an error.
455
73acf815 4562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 457
4c4475a8
GM
458 * coding.c (decode_coding_object, encode_coding_object): Adjust
459 marker positions after conversion.
aca7a3d2
MB
460
461 * lisp.h (struct Lisp_Marker): New member need_adjustment.
462
73acf815 4632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
464
465 * font.c (font_find_for_lface): Fix the handling of the return
466 value of font_has_char.
467 (Ffont_shape_text): Fix previous change.
468
469 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
470 (fontset_ref_and_range): Delete it.
471 (fontset_find_font): Call char_table_ref_and_range instead of
472 FONTSET_REF_AND_RANGE.
473 (make_fontset): Don't setup font groups of Latin here.
474 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
475 (new_fontset_from_font): Make the specified font the default for
476 all Latin characters.
477
73acf815 4782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
479
480 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
481 is on a window system before accessing the fontset of the frame.
482
73acf815 4832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 484
1f45f627 485 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
486
487 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
488 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
489
490 * font.c (Ffont_shape_text): If the font driver doesn't have a
491 shaper function, make zero-width glyphs to have at least one-pixel
492 width. Fix setting of `to' field of glyphs.
493
73acf815 4942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
495
496 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
497 glyphs.
498
1f45f627 499 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 500
73acf815 5012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
502
503 * composite.c (syms_of_composite): Fix docstring of
504 auto-composition-function.
505
506 * font.h (LGLYPH_SIZE): New macro.
507
508 * font.c (Ffont_fill_gstring): Stop filling when a character not
509 supported by the font is found.
510 (Ffont_shape_text): When a shape callback function returns nil,
511 try at most two more times with larger gstring.
15139d67 512 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
513
514 * xdisp.c (handle_auto_composed_prop): Change the argument to
515 auto-composition-function.
516
517 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
518 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
519 Lispy glyph and store it in the lgstring.
520
521 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
522
523 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
524
73acf815 5252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
526
527 * font.c (Ffont_shape_text): Avoid unnecessary composition.
528
529 * fontset.c (Vfont_encoding_charset_alist): New variable.
530 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
531 (reorder_font_vector, fontset_find_font): Optimize for the case of
532 no need of reordering.
aca7a3d2
MB
533 (face_for_char): Map the charset property by
534 Vfont_encoding_charset_alist.
535
73acf815 5362008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
537
538 * w32font.c (logfonts_match): Don't check adstyle here.
539 (font_matches_spec): Check here against physical font instead.
540 (add_font_entity_to_list): Avoid some substitutions.
541
542 * font.c (font_parse_fcname): Default weight and slant to normal.
543 (font_score): Prefer normal fonts if weight or slant unspecified.
544 (font_score) [WINDOWSNT]: Scale weight difference down to closer
545 match freetype scores.
546
73acf815 5472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
548
549 * w32font.c (w32font_text_extents): Don't use the frame stored in the
550 font, as it may have been deleted.
551 (w32_enumfont_pattern_entity): Map generic family to adstyle using
552 most common hyphenless variation.
553 (logfonts_match): Check generic family.
554 (font_matches_spec): Don't check generic family here.
555 (fill_in_logfont): Set generic family based on adstyle.
556
557 * w32font.h (w32font_get_cache): Update declaration.
558
73acf815 5592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
560
561 * ftfont.c (ftfont_get_cache): Adjust the argument type.
562
15139d67
SM
563 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
564 If none of the new drivers are available, call font_update_drviers
aca7a3d2
MB
565 with the old drivers.
566
567 * w32font.c (w32font_get_cache): Adjust the argument type.
568
569 * xfont.c (xfont_get_cache): Adjust the argument type.
570
571 * font.h (struct font_driver): Change argument type of get_cache.
572
573 * xftfont.c (xftfont_start_for_frame): Delete prototype.
574
575 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 576 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 577 (font_clear_cache): New function.
4c4475a8 578 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 579 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
580
581 * fontset.c (fontset_find_font): Fix previous change.
582
73acf815 5832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
584
585 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
586 dpyinfo->font_table.
587 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 588 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
589
590 * font.c (font_at): Handle the case that the arg C is negative.
591 Handle the unibyte case.
592 (Ffont_at): Call font_at with the arg C -1.
593
594 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
595 the position here, and call font_at with the arg C -1.
596 Don't check the range of the existing composition at the point.
aca7a3d2 597
73acf815 5982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 599
15139d67 600 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 601 Change caller.
4c4475a8
GM
602 (load_font_get_repertory, fontset_find_font): Assume that
603 font_spec is always a font-spec object.
aca7a3d2
MB
604 (Fset_fontset_font): Always store a font-spec object in a fontset.
605
606 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
607 instead of get_property_and_range.
608
73acf815 6092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
610
611 * xftfont.c (struct xftfont_info): Delete the member ft_face.
612 (xftfont_open): Don't keep locking face.
613 (xftfont_close): Don't unlock face.
4c4475a8 614 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
615
616 * fontset.c (fontset_find_font): Don't prefer a font of
617 supplementary charset.
618
73acf815 6192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 620
1f45f627
GM
621 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
622 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
623 (OTF_TAG_STR): Terminate by '\0'.
624 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
625 listing to the script specified in that property. Fix arg to
626 OTF_check_features.
627
73acf815 6282008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
629
630 * w32font.h: New file.
631
632 * w32font.c: Include it.
633 (struct w32font_info): Add owning_frame field. Move to w32font.h.
634 (w32font_open): Set owning_frame.
635 (w32font_text_extents): Use owning_frame.
636 (struct font_callback_data): Add opentype_only field.
637 (add_font_entity_to_list): Use it to filter fonts.
638 Don't check against full name.
639 (w32font_list_internal): New function.
640 (w32font_list): Use it.
641 (w32font_match_internal): New function.
642 (w32font_match): Use it.
643 (w32font_open_internal): New function.
644 (w32font_open): Use it.
645 (w32font_get_cache, w32font_close, w32font_has_char)
646 (w32font_encode_char, w32font_text_extents, w32font_draw):
647 Make non-static.
648
649 * makefile.w32-in (w32font.o): Depend on w32font.h.
650
73acf815 6512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
652
653 * charset.c (Fdefine_charset_internal): Record a supplementary
654 charset at the tail of Vcharset_order_list.
655
656 * font.c (Ffont_shape_text): Fix the return value.
657
658 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
659
660 * xdisp.c (handle_auto_composed_prop): Fix previous change.
661
73acf815 6622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
663
664 * ftfont.c (struct OpenTypeSpec): New struct.
665 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
666 (ftfont_get_open_type_spec): New function.
667 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
668
15139d67 669 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 670
73acf815 6712008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
672
673 * w32font.c (add_font_entity_to_list): Compare only the beginning
674 of full name.
675
73acf815 6762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 677
15139d67
SM
678 * xdisp.c (handle_auto_composed_prop): Simplify the code.
679 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 680
73acf815 6812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
682
683 * font.c (font_gstring_produce): Delete it.
684
15139d67
SM
685 * composite.h (COMPOSITION_METHOD):
686 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 687
73acf815 6882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 689
15139d67 690 * xfont.c (Qx): Delete.
aca7a3d2
MB
691 (syms_of_xfont): Don't initialize Qx.
692
15139d67
SM
693 * composite.h (enum composition_method):
694 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 695
73acf815 6962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
697
698 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
699 (choose_face_font): Accept new form of font-spec.
700
701 * frame.h (font_driver_list): Declare it unconditionally.
702 (struct frame): Define members font_driver_list and font_data_list
703 unconditionally.
704
705 * fontset.c: Include "font.h" unconditionally.
15139d67 706 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
707 (Fset_fontset_font): Accept a font-spec object.
708
709 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
710 PIXEL_SIZE part a wild card.
711
712 * dispextern.h (struct glyph_string): Define members clip and
713 num_clips unconditionally.
714 (struct face): Define members font_info and extra unconditionally.
715
716 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
717 ftfont_info only when HAVE_LIBOTF is defined.
718
73acf815 7192008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
720
721 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
722 and end.
723
73acf815 7242008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
725
726 * w32font.c (w32font_driver): Add new fields.
727
73acf815 7282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 729
aca7a3d2
MB
730 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
731 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
732 (LIBES): Add @M17N_FLT_CFLAGS@.
733
734 * composite.c (compose_text): Don't treat the new style
735 composition specially.
736
737 * emacs.c (main): Call syms_of_font unconditionally.
738
739 * font.h (FONT_ENTITY_NOT_LOADABLE)
740 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 741 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 742 (struct font_driver): New member shape.
1f45f627 743 (font_registry_charsets): Extern it.
4c4475a8 744 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
745 (font_otf_capability, font_drive_otf): Delete their externs.
746
747 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
748 (font_charset_alist, font_registry_charsets): Move from xfont.c
749 and rename.
aca7a3d2
MB
750 (font_prop_validate_otf): New function.
751 (font_property_table): Register it for QCotf.
752 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 753 (font_drive_otf): Delete.
1f45f627 754 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
755 lispy gstring.
756 (font_find_for_lface): New arg C.
15139d67 757 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
758 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
759 lispy gstring.
aca7a3d2
MB
760 (Ffont_shape_text): New function.
761 (Fopen_font): If the font size is not given, use 12-pixel.
762 (Ffont_at): New arg STRING.
15139d67
SM
763 (syms_of_font): Initalize font_charset_alist.
764 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
765 conditionally.
766
767 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
768 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
769 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
770 Adjust for the change of RFONT-DEF.
15139d67 771 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
772
773 * ftfont.h: New file.
774
775 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
776 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
777 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
778 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
779 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 780 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
781 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
782 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
783 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
784 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s
785 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
786 (otf_gstring, gstring, m17n_flt_initialized): New variables.
787
15139d67
SM
788 * w32term.c (x_draw_composite_glyph_string_foreground):
789 Adjust for the change of lispy gstring.
aca7a3d2 790
15139d67 791 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 792 lispy gstring. Call a function for auto-composition with the
15139d67
SM
793 third arg it->window.
794 (fill_composite_glyph_string): Adjust for the change of lispy string.
795 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 796
15139d67 797 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
798 font_find_for_lface.
799
1f45f627
GM
800 * xfont.c (x_font_charset_alist): Move to font.c and rename.
801 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
802 (syms_of_xfont): Don't handle x_font_charset_alist.
803
804 * xftfont.c: Include "ftfont.h".
15139d67 805 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
806 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
807 (xftfont_close) [HAVE_LIBOTF]: Close otf.
808 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
809 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
810 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 811
15139d67 812 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
813 the change of lispy gstring.
814
73acf815 8152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
816
817 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
818
73acf815 8192008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
820
821 * w32font.c (w32font_draw): Fill background manually.
822
73acf815 8232008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
824
825 * font.c (Qfontp): Remove unused symbol.
826 (QCantialias): New symbol.
827 (syms_of_font): Define it.
828 (font_property_table): Set a validator for QCantialias.
829
15139d67
SM
830 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
831 Define if not already.
aca7a3d2
MB
832 (QCfamily): Share with xfaces.c.
833 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 834 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
835 (w32_antialias_type, lispy_antialias_type): New functions.
836 (w32_enumfont_pattern_entity): New arg requested_font.
837 Set antialias parameter if non-default was requested.
838 (fill_in_logfont): Fill in lfQuality if :antialias specified.
839
73acf815 8402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
841
842 * lread.c (read1): Undo the previous change.
843
73acf815 8442008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
845
846 * frame.c (Fdelete_frame): Call font_update_drivers only when
847 USE_FONT_BACKEND is defined..
848
73acf815 8492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
850
851 * font.h (struct font_bitmap): New member bits_per_pixel.
852 (struct font_driver): New members start_for_frame and end_for_frame.
853 (struct font_data_list): New struct.
854 (font_put_frame_data, font_get_frame_data): Extern them.
855
856 * frame.h (struct frame): New member font_data_list.
857
858 * font.c (font_update_drivers): Call driver->start_for_frame and
859 driver->end_for_frame at proper timings.
860 (font_put_frame_data, font_get_frame_data): New functions.
861 (Ffont_spec): Add usage in the docstring.
862
863 * frame.c (make_frame): Initialize f->font_data_list to NULL.
864 (Fdelete_frame): Call font_update_drivers.
865
866 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 867 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
868 (xftfont_get_xft_draw): New function.
869 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
870 (xftfont_end_for_frame): New function.
871 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
872
15139d67 873 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 874 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
875 (struct ftxfont_frame_data): New struct.
876 (ftxfont_draw_bitmap): New arg gc_fore and flush.
877 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 878 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
879 (ftxfont_end_for_frame): New function.
880 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
881
882 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
883
73acf815 8842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
885
886 * xselect.c (Vselection_coding_system)
887 (Vnext_selection_coding_system): Delete them.
888 (syms_of_xselect): Don't declare selection-coding-system and
889 next-selection-coding-system. They are declared in select.el.
890
73acf815 8912008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
892
893 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
894
895 * w32fns.c: Include imm.h.
896 (get_composition_string_fn, get_ime_context_fn): New optional
897 system functions.
898 (globals_of_w32fns): Load them from imm32.dll.
899 (ignore_ime_char): New flag.
900 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
901 WM_IME_ENDCOMPOSITION messages.
902
903 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
904 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
905
73acf815 9062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
907
908 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
909 (READCHAR_REPORT_MULTIBYTE): New macro.
910 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
911 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
912 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
913 source.
914
73acf815 9152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
916
917 * xfaces.c (face_for_overlay_string): Call lookup_face with
918 correct arguments (fix of synching with the trunk).
919
73acf815 9202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 921
4c4475a8
GM
922 * font.c (font_prop_validate_symbol, font_prop_validate_style)
923 (font_prop_validate_non_neg, font_prop_validate_spacing):
924 Delete argument prop_index.
15139d67
SM
925 (font_property_table): Change arguments to validater. Change Callers.
926 (font_lispy_object): Delete.
aca7a3d2
MB
927 (font_at): Use font_find_object instead fo font_lispy_object.
928
73acf815 9292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
930
931 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
932 and file names.
933
73acf815 9342008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
935
936 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
937 (font_matches_spec): Remove debug output.
938 (add_font_entity_to_list): Avoid using substituted fonts.
939
73acf815 9402008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
941
942 * doc.c (Fsnarf_documentation):
943 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
944
73acf815 9452008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
946
947 * src/dispextern.h (struct glyph_row): Only define "clip" field if
948 HAVE_WINDOW_SYSTEM is defined.
949
73acf815 9502008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
951
952 Fix up multi-tty merge.
953
954 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
955 and indentation.
956
957 * xfaces.c (free_realized_face, clear_face_gcs):
958 Include font_done_for_face in the input_blocked section, just in case.
959
960 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
961 (get_char_face_and_encoding): Undo last change and remove the *other*
962 duplicate definition (i.e. keep the one that's better scoped and that
963 includes code for the font-backend).
964
965 * terminal.c (create_terminal): Default keyboard_coding to
966 `no-conversion' and terminal_coding to `undecided'.
967
968 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
969
970 * fontset.c (free_realized_fontsets): Check that the table entry does
971 contain a fontset before trying to compare it to `base'.
972
973 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
974 syms_of_charset, and syms_of_coding earlier because init_window_once
975 now needs Vcoding_system_hash_table to be setup.
976
977 * coding.h (default_buffer_file_coding): Remove.
978
979 * coding.c (default_buffer_file_coding): Remove.
980 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
981 than ->symbol, and use the terminal-local coding system.
982 (syms_of_coding): Don't setup the coding-systems that are not
983 terminal-local.
984 (Fdefine_coding_system_internal): Use XCAR/XCDR.
985
986 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
987 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
988
989 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
990 in chartab.c and were re-added here by mistake.
991 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
992
993 * doc.c (Fsnarf_documentation):
994 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
995 src to etc.
996
997 * ChangeLog.10: Add mistakenly removed entry.
998
73acf815 9992008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
1000
1001 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
1002
73acf815 10032008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1004
1005 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
1006 Add extra args to FACE_FOR_CHAR.
1007
73acf815 10082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1009
1010 * keymap.c (where_is_internal_1): If key is a cons, store the copy
1011 in sequence.
1012
4c4475a8
GM
1013 * chartab.c (map_sub_char_table, map_char_table): If the range
1014 contains just one character, call the function with that character
1015 even if the depth is not 3.
aca7a3d2 1016
73acf815 10172008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1018
1019 * w32font.c (w32font_text_extents): Calculate metrics for the
1020 whole string.
1021
73acf815 10222008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1023
1024 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
1025
73acf815 10262008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1027
1028 * w32term.c (x_set_glyph_string_clipping): Use
1029 get_glyph_string_clip_rects.
4c4475a8
GM
1030 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
1031 Adjust for the change of struct glyph_string.
aca7a3d2
MB
1032
1033 * w32font.c (w32font_draw): Do clipping here.
1034
73acf815 10352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1036
1f45f627 1037 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
1038 glyph_string.
1039
1040 * xterm.c (x_set_glyph_string_clipping): Use
1041 get_glyph_string_clip_rects.
4c4475a8
GM
1042 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
1043 Adjust for the change of struct glyph_string.
aca7a3d2
MB
1044
1045 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
1046 the resulting clip(s}.
1f45f627 1047 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
1048 row->clip temporarily.
1049 (expose_window): Redraw rows overlapping the exposed area.
1050
1051 * dispextern.h (struct glyph_row): New member clip.
1052 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
1053 clip_height, new member clip, and num_clips.
1054
73acf815 10552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1056
1057 * data.c (Fchar_or_string_p): Fix docstring.
1058
73acf815 10592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1060
1061 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
1062 create a temporal XftDraw object.
1063
73acf815 10642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1065
1066 * font.c (Ffontp): Fix docstring.
1067
1068 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
1069 strong evidence of ISO-2022.
1070
73acf815 10712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1072
1073 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
1074 SYNTAX_ENTRY_FOLLOW_PARENT.
1075
73acf815 10762008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
1077
1078 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
1079 its type.
1080 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
1081 Update to the new type of weak_hash_tables and next_weak.
1082
1083 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
1084 a plain C pointer to Lisp_Hash_Table.
1085
1086 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
1087 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
1088 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
1089 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
1090 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
1091 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
1092 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
1093 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
1094 (GC_EQ): Remove since they've been identical to their non-GC_
1095 alter-egos ever since the markbit was eradicated.
1096
1097 * src/alloc.c:
1098 * src/buffer.c:
1099 * src/buffer.h:
1100 * src/data.c:
1101 * src/fileio.c:
1102 * src/filelock.c:
1103 * src/fns.c:
1104 * src/frame.h:
1105 * src/lisp.h:
1106 * src/macterm.c:
1107 * src/print.c:
1108 * src/process.c:
1109 * src/w32fns.c:
1110 * src/w32menu.c:
1111 * src/w32term.c:
1112 * src/xfns.c:
1113 * src/xmenu.c:
1114 * src/xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
1115
73acf815 11162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1117
1118 * chartab.c (map_sub_char_table): Make it work for the top-level
1119 char-table. Fix handling of parent char-table.
1120 (map_char_table): Adjust for the above change.
1121
73acf815 11222008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1123
1124 * w32font.c (Qgdi): Rename from Qw32.
1125
73acf815 11262008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1127
1128 * w32bdf.c (get_quoted_string): Make function static.
1129
73acf815 11302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1131
1132 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
1133 bigger ascent and descent than those of the font, use them as
1134 font's ascent and descent.
1135
73acf815 11362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1137
1138 * Makefile.in (${lispsource}international/charprop.el): Move this
1139 target within "#ifdef HAVE_UNIDATA" and "#endif".
1140
73acf815 11412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1142
1143 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
1144 (shortlisp): Add ../lisp/language/tai-viet.el.
1145
1f45f627 11462008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
1147
1148 * Makefile.in (${lispsource}international/charprop.el): Depend on
1149 temacs${EXEEXT}.
1150
73acf815 11512008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1152
1153 * w32font.c (w32font_close): Delete the GDI font object.
1154
1155 * w32menu.c: Include character.h
1156
1157 * w32proc.c: Likewise.
1158
1159 * w32select.c: Likewise.
1160
1161 * makefile.w32-in (w32proc.o): Depend on character.h
1162
73acf815 11632008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1164
1165 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
1166
1167 * w32menu.c (syms_of_w32menu): Likewise.
1168
1169 * w32proc.c (syms_of_ntproc): Likewise.
1170
1171 * w32select.c (syms_of_w32select): Likewise.
1172
1173 * w32term.c (syms_of_w32term): Likewise.
1174
73acf815 11752008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1176
1177 * w32font.c (w32font_draw): Delete brush after using it.
1178
73acf815 11792008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1180
1181 * w32font.c (w32font_open): Don't set font_idx.
1182 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
1183 to font settings.
1184 (w32font_draw): Fill background explicitly.
1185
73acf815 11862008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1187
1188 * w32term.c (w32_initialize): Don't call w32font_initialize.
1189
1190 * w32font.c (w32font_info): Remove subranges.
1191 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
1192 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
1193 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
1194 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
1195 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
1196 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
1197 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
1198 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
1199 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
1200 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
1201 New symbols.
1202 (font_callback_data): New struct.
1203 (w32font_list, w32font_match): Use it.
1204 (w32font_open): Don't populate subranges.
1205 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
1206 (w32font_encode_char): Always return unicode code-point as-is.
1207 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
1208 GetGlyphOutline. Never look up by glyph index. Avoid looping
1209 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2
MB
1210 glyph index version.
1211 (set_fonts_frame): Remove
1212 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
1213 set frame parameter. Use backward compatible fake foundries.
1214 Save generic family in extra slot under QCfamily. Make width slot
1215 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
1216 binary subranges.
1217 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 1218 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
1219 unwanted fonts.
1220 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
1221 (w32_registry): Default to iso10646_1.
1222 (fill_in_logfont): Use dpi from extra slot. Don't bother with
1223 string font registries. Don't fill in font name if it is a generic
1224 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
1225 extra info to fill pitch, family and charset fields.
1226 (list_all_matching_fonts): Use font_callback_data struct.
1227 (unicode_range_for_char): Remove.
1228 (font_supported_scripts): New function.
1229 (w32font_initialize): Remove.
1230 (syms_of_w32font): Update which symbols are defined.
1231
73acf815 12322008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1233
1234 * font.c (font_pixel_size): Reverse assq_no_quit args.
1235
1236 * w32term.h (FONT_WIDTH): Report max width, not average.
1237 (FONT_MAX_WIDTH): Remove.
1238 (FONT_AVG_WIDTH): New macro.
1239
1240 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
1241 redefinition of FONT_WIDTH.
1242
1243 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
1244 (w32_cache_char_metrics): Use FONT_WIDTH.
1245
1246 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
1247
73acf815 12482008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1249
1250 * w32font.c (w32font_open): Make lfHeight negative.
1251
1252 * w32fns.c (x_default_font_parameter): Use new style font name.
1253 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
1254
73acf815 12552008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1256
1257 * w32font.c (QCsubranges): New symbol.
1258 (w32font_open, w32font_has_char): Get subranges from subproperty
1259 of extra.
1260 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
1261 (syms_of_w32font): Define :subranges symbol.
1262
1263 * font.c (font_put_extra): Expose externally.
1264
1f45f627 1265 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
1266
1267 * font.c (Ffont_get): Use font driver to determine otf capability.
1268 (adjust_anchor): Check if driver defines anchor_point before using.
1269
1270 * w32font.c (w32font_open): Handle size, height and pixel_size better.
1271 (w32font_draw): Use options.
1272 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
1273 Fix detection of truetype fonts.
1274 (registry_to_w32_charset): Handle charsets other than iso8859-1
1275 expressed as lisp symbols.
1276 (w32_registry): Express charset as lisp symbol.
1277 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 1278 Don't set width here. Set quality to default.
aca7a3d2
MB
1279
1280 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
1281 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
1282
1283 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
1284 Remove redundant loop and allocation.
1285
1286 * makefile.w32-in (font.o, w32font.o): New objects.
1287 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h
1288 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
1289
1290 * xdisp.c (fill_composite_glyph_string): Make the first arg to
1291 STORE_XCHARB a valid l-value.
1292
1293 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
1294 calculations for non-Truetype fonts.
1295 (x_draw_glyph_string): Sync with xterm.c.
1296 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: Remove
1297 redundant code.
1298 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
1299
1300 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
1301 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
1302
1303 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
1304 (x_to_w32_charset, w32_to_x_charset): Expose externally.
1305
1306 * w32font.c: New file for w32 font backend.
1307
73acf815 13082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1309
1310 * term.c: Don't include "buffer.h" twice.
1311
73acf815 13122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1313
1314 * character.c (Funibyte_string): New function.
1315 (syms_of_character): Defsubr it.
1316
73acf815 13172008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1318
1319 * w32term.c [USE_FONT_BACKEND]:
1320 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc):
1321 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly):
1322 (x_draw_glyph_string, x_draw_glyph_string_foreground):
1323 (x_draw_composite_glyph_string_foreground, x_new_fontset2):
1324 (x_free_frame_resources): Sync with xterm.c.
1325
73acf815 13262008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
1327
1328 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
1329 char-table size.
1330
73acf815 13312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1332
1333 * font.c (check_otf_features): Define it regardless of
1334 HAVE_LIBOTF.
1335
73acf815 13362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1337
1338 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
1339 font_otf_gpos, add font_drive_otf.
1340
1341 * fontset.c (fontset_find_font): Pay attention to font size
1342 specified for a font.
1343 (reorder_font_vector): Check contents of font_def.
1344
1345 * font.c (struct otf_list): Delete it.
1346 (otf_list): Make it a lisp variable..
1347 (otf_open): Use lispy otf_list.
1f45f627 1348 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2
MB
1349 (check_otf_features): New function.
1350 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New
1351 functinos.
1352 (font_drive_otf): New function merging font_otf_gsub and
1353 font_otf_gpos.
1354 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 1355 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
1356 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
1357 Ffont_otf_gpos.
1358 (syms_of_font): Staticpro otf_list. Delete defsubr of
1359 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
1360
1f45f627 1361 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
1362 font_open_for_lface.
1363
1364 * font.h (font_open_for_lface): Adjust prototype.
1365 (struct font_driver): Delete members otf_gsub and otf_gpos, add
1366 member otf_drive.
1367 (font_otf_gsub, font_otf_gpos): Delete externs.
1368 (font_drive_otf): Extern it.
1369
73acf815 13702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1371
1372 * font.c (font_at): If the window W is not on a window system,
1373 return Qnil.
1374
4c4475a8
GM
1375 * coding.c (produce_chars, encode_coding): Don't call
1376 insert_from_gap if no characters to produce.
aca7a3d2 1377
73acf815 13782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1379
1380 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
1381 Fclear_face_cache.
1382
1383 * xfaces.c (face_for_font): Check also face->font==font->font.font.
1384
73acf815 13852008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1386
1387 * emacs.c (main): Change default value of `enable_font_backend' to 1.
1388 Parse "--disable-font-backend" option.
1389 (standard_args): Add "--disable-font-backend" option.
1390
73acf815 13912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1392
1393 * fontset.c (fontset_find_font): New function.
1394 (fontset_font): Use fontset_find_font.
1395 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
1396 Register the specified font for all Latin characters.
1397 (new_fontset_from_font): Register the specified font for all Latin
1398 characters.
1399 (dump_fontset): For a realized fontset, include the base fontset
1400 name in the returned vector.
1401
73acf815 14022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1403
1404 * character.h (CHAR_STRING): Cast C to unsigned on calling
1405 char_string.
1406
1407 * character.c (char_string): Type of arg C changed to unsigned.
1408 Signal an error if C is an invalid character code.
1409
4c4475a8
GM
1410 * editfns.c (general_insert_function, Fchar_to_string):
1411 Use CHARACTERP, not INTEGERP.
aca7a3d2 1412
73acf815 14132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1414
1415 * character.h (MIN_MULTIBYTE_LEADING_CODE)
1416 (MAX_MULTIBYTE_LEADING_CODE): New macros.
1417
1418 * regex.c (analyse_first): Fix for multibyte characters in "case
1419 charset:" and "case categoryspec:".
1420
73acf815 14212008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
1422
1423 * Makefile.in (LIBES): Move standard libraries to the end.
1424
73acf815 14252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1426
1427 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
1428 nonzero, don't shrink the buffer nextb.
1429
1430 * buffer.h (struct buffer_text): New member inhibit_shrinking.
1431
1432 * coding.c (coding_alloc_by_making_gap): New arg offset.
1433 (alloc_destination): Call coding_alloc_by_making_gap with the arg
1434 offset.
1435 (decode_coding_iso_2022): Update coding->safe_charsets.
1436 (decode_coding_gap): Temporarily set
1437 current_buffer->text->inhibit_shrinking to 1.
1438
73acf815 14392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1440
1441 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
1442 indexing into elements of s->cmp and s->char2b.
1443
73acf815 14442008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
1445
1446 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
1447
73acf815 14482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1449
1450 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
1451 target_multibyte instead of multibyte.
1452 (re_match_2_internal): Call bcmp_translate with target_multibyte.
1453 (bcmp_translate): Change the argument name from multibyte to
1454 target_multibyte.
1455
73acf815 14562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1457
1458 These changes are to compile a regexp into a pattern that can be
1459 used both for multibyte and unibyte targets.
1460
1461 * Makefile.in (search.o): Depend on charset.h.
1462
1463 * character.c (multibyte_char_to_unibyte_safe): New function.
1464
1465 * search.c: Include "charset.h".
1466 (compile_pattern_1): Delete argument multibyte. Don't set
1467 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
1468 (compile_pattern): Don't compare cp->buf.target_multibyte.
1469 Compare cp->buf.charset_unibyte.
1470 (compile_pattern): Set cp->buf.target_multibyte.
1471
1472 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
1473
1474 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
1475
1476 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 1477 multibyte. Change callers.
aca7a3d2 1478 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
1479 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
1480 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
1481 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
1482 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
1483 (regex_compile): Make the compiled pattern usable both for
1484 multibyte and unibyte targets.
1485 (analyse_first): Make the fastmap usable both for multibyte and
1486 unibyte targets.
1f45f627 1487 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
1488 (re_match_2_internal): Pay attention to the case that the
1489 multibyteness of bufp and target may be different.
1490
73acf815 14912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1492
1493 * xdisp.c (x_produce_glyphs): When a font is not found, make the
1494 empty box occupy at least one column width.
1495
73acf815 14962008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1497
1498 * Makefile.in: Remove redundant HAVE_XFT clause.
1499
73acf815 15002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1501
1502 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
1503
73acf815 15042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1505
1506 * fontset.c (Finternal_char_font): Fix for the case of POSITION
1507 being nil.
1508
73acf815 15092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1510
1511 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
1512
73acf815 15132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1514
1515 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
1516
73acf815 15172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1518
1519 * search.c (simple_search): Fix previous change.
1520
73acf815 15212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1522
1523 * xftfont.c (ftfont_font_format): Extern declaration.
1524
1525 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
1526
1527 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
1528 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
1529
1530 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
1531 (ftfont_font_format): Fix previous change.
1532
1533 * font.h (Ffont_xlfd_name): EXFUN it.
1534
1535 * font.c (font_parse_xlfd): Fix the array size of `f'.
1536 (register_font_driver): Use EQ to compare driver->type.
1537
1538 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
1539 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
1540 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
1541
73acf815 15422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1543
4c4475a8
GM
1544 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
1545 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 1546
73acf815 15472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1548
1549 * xfont.c (xfont_open): Set font->format.
1550
1551 * xftfont.c (xftfont_open): Set font->format.
1552
1553 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
1554 (ftfont_list): Include FC_FONTFORMAT in FcObject.
1555 (ftfont_open): Set font->format.
1556 (ftfont_font_format): New function.
1557
1558 * font.h (struct font): New memeber format.
1559
1560 * font.c (Qopentype): New variable.
1561 (syms_of_font): Defsym it.
1562 (Fquery_font): Change the format of the last element of the return
1563 value.
1564
73acf815 15652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1566
1567 * xfns.c (xic_create_xfontset): Try the default fontset name as a
1568 last resort.
1569
73acf815 15702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1571
1572 * coding.c (detect_coding_charset): Fix detection of multi-byte
1573 charset.
1574
73acf815 15752008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
1576
1577 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
1578
73acf815 15792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1580
1581 * xdisp.c (get_next_display_element): Set it->face_id for the
1582 first component of a composition.
1f45f627 1583 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 1584
73acf815 15852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1586
1587 (get_next_display_element): Set it->face_id for the
1588 first component of a composition.
1f45f627 1589 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 1590
73acf815 15912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1592
1593 * fontset.c (Qlatin): New variable.
1594 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 1595 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 1596
73acf815 15972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1598
1599 * font.c (font_unparse_fcname): Pay attention to the case that
1600 some of font property is a null string.
1601
73acf815 16022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1603
1604 * term.c: Include "composite.h".
1605 (encode_terminal_code): Output all components of composition.
1606 Check the size of encode_terminal_src.
1607 (produce_glyphs): For compostion, call produce_composite_glyph.
1608 (append_composite_glyph, produce_composite_glyph): New functions.
1609
1610 * xdisp.c (x_produce_glyphs): In handling composition, if a font
1611 is not found, get font_info from the current ascii face.
1612
73acf815 16132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1614
1615 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
1616 buffer-file-name to Qnil before calling insert_from_buffer.
1617
1618 * font.c (font_unparse_fcname): Pay attention to the case that
1619 foundry is a null string.
1620
73acf815 16212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1622
1623 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
1624
1625 * font.c (Qunicode_sip): New variable.
1626 (syms_of_font): Declare it as a Lisp symbol.
1627
1628 * font.h (Qunicode_sip): Extern it.
1629
73acf815 16302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1631
1f45f627 1632 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
1633
1634 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 1635 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
1636 the first elememnt of allocated memory.
1637
1f45f627 1638 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
1639
1640 * xdisp.c (handle_composition_prop): Set it->c to the first
1641 non-TAB component.
1f45f627
GM
1642 (fill_composite_glyph_string): Change argument.
1643 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
1644 (x_produce_glyphs): Fix handling of left/right padding.
1645
73acf815 16462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1647
1648 * coding.c (detect_coding_system): Fix for handling off
1649 inhibit_iso_escape_detection. Fix for the case that no coding
1650 system is defined for a specific coding category.
1651
73acf815 16522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1653
1f45f627 1654 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
1655
1656 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
1657 opening a font.
1658
1659 * fileio.c (Finsert_file_contents): On recovering a file, assume
1660 Unix-like eol.
1661 (choose_write_coding_system): On auto-saving a file, force
1662 Unix-like eol.
1663
1664 * coding.c (setup_coding_system): Fix setting of
1665 coding->common_flags based on eol_type.
1666 (coding_inherit_eol_type): If PARENT is not nil, be sure to
1667 inherit from it.
1668
73acf815 16692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1670
1f45f627 1671 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 1672
73acf815 16732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1674
1f45f627 1675 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
1676 (ftfont_list): Don't check :name property.
1677 (ftfont_match): New function.
1678 (ftfont_pattern_entity): If the pattern doesn't contain
1679 FC_SPACING, don't assuce FC_MONO.
1680
1681 * font.h (struct font_driver): New member `match'.
1f45f627 1682 (font_update_drivers): Adjust prototype.
aca7a3d2 1683
4c4475a8
GM
1684 * font.c (font_parse_fcname, font_parse_name): Don't change :name
1685 property of FONT.
aca7a3d2
MB
1686 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
1687 them unconditionally.
1688 (font_matching_entity): New function.
1689 (font_open_by_name): Try font_matching_entity if exact match is
1690 not found.
1691 (font_update_drivers): Delete the arg FONT. Return a list of
1692 actually used backends. Don't free faces, font caches here.
1693 Don't store data in frame parameters. Don't call x_set_font.
1694 (Ffont_spec): Store :name property as is.
1695 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
1696 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
1697 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
1698 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
1699 Call font->driver->otf_gsub instead of font_otf_gsub.
1700
1701 * frame.c (x_set_font_backend): Do more works that were done in
1702 font_update_drivers before.
1703
1704 * xfont.c (xfont_match): New function.
1705 (xfont_driver): Set xfont_driver.match to xfont_match.
1706 (xfont_draw): Set font in GC if necessary.
1707
1708 * ftxfont.c (ftxfont_match): New function.
1709 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
1710
1711 * xftfont.c (xftfont_match): New function.
1712 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
1713
73acf815 17142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1715
1716 * font.h (struct font): New member scalable.
1717 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 1718 (font_otf_gsub): Adjust prototype.
aca7a3d2 1719
1f45f627
GM
1720 * font.c (font_otf_capability): Fix handling of the default langsys.
1721 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
1722 Check the contents of SPEC.
1723 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
1724 (check_gstring): New function.
1725 (REPLACEMENT_CHARACTER): New macro.
1726 (font_otf_gsub): New arg alternate_subst. Be sure to set all
1727 glyph codes of GSTRING.
1728 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
1729 (font_prepare_composition): Set cmp->glyph_len.
1730 (font_open_entity): Set font->scalable.
1731 (Ffont_get): Handle :otf property.
1732 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
1733 functions.
1734 (Fquery_font): Use font->font.full_name.
1735 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
1736 Sfont_otf_alternates.
1737
1738 * ftfont.c (ftfont_open): Set font->font.full_name and
1739 font->font.name properly. Fix calculation of font->font.height
1740 and font->min_width.
1741
1742 * ftxfont.c (ftxfont_create_gcs): New function.
1743 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
1744 (ftxfont_draw_backgrond): Fix filling region.
1745 (ftxfont_default_fid): New function.
1746 (ftxfont_open): Set xfotn->fid to the return value of
1747 ftxfont_default_fid.
1748 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
1749 (ftxfont_done_face): Free only GCs that are created by
1750 ftxfont_create_gcs.
1751 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
1752
1753 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
1754 Clip to src->width, etc (not src->clip_XXX).
1755
1756 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
1757 FontBackend frame parameter.
1758
73acf815 17592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1760
1761 * font.h (struct font_driver_list): New member `on'.
1762 (Fclear_font_cache): EXFUN it.
1763 (font_update_drivers): Extern it.
1764
1765 * font.c (font_unparse_fcname): Fix typo (swidth->width).
1766 (font_list_entities): Check driver_list->on.
1767 (register_font_driver): Initalize `on' member to 0.
1768 (font_update_drivers): New function.
1769 (Fclear_font_cache): Check driver_list->on.
1770
1771 * frame.h (Qfont_backend): Extern it.
1772 (x_set_font_backend): Extern it.
1773
1774 * frame.c (Qfont_backend): New variable.
1775 (frame_parms): New element for font-backend.
1776 (x_set_font_backend): New function.
1777
1778 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
1779 FontBackend frame parameter.
1780 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
1781 x_set_font_backend.
1782
1783 * xfont.c (xfont_list): Don't try listing by :name property if the
1784 name is not for XLFD.
1785
73acf815 17862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1787
1788 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
1789 (LGLYPH_SET_TO): New macros.
1790 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
1791 element of G is vector or not.
1792 (font_at): Extern it.
1793
1794 * font.c: Include window.h.
1795 (font_lispy_object): New function.
1796 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
1797 end of valid glyph.
1798 (font_close_object): Fix getting (struct font *).
1799 (font_at): New function.
1800 (Ffont_get): If FONT is a font-object, get entity from it.
1801 (Ffont_make_gstring): Initialize elements of glyphs with nil.
1802 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
1803 range check.
1804 (Ffont_at): New function.
1805 (syms_of_font): Defsubr Sfont_at.
1806
1807 * xdisp.c (it_props): Move the entry for Qauto_composed to just
1808 before the entry for Qcompostion.
1f45f627 1809 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
1810 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
1811 the font in gstring.
1812 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
1813 LGLYPH_FORM (g) to detect the end of valid glyph.
1814 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
1815 we are composing with gstring.
1816
1817 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
1818 Check if adjustment is vector or not.
1819
1820 * Makefile.in (font.o): Make it depends on window.h.
1821
73acf815 18222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1823
1824 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
1825 adjustment is vector or not.
1826
73acf815 18272008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
1828
1829 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
1830
73acf815 18312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1832
1833 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
1834 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
1835 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
1836
1f45f627 1837 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 1838 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
1839 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
1840 LGLYPH format.
aca7a3d2 1841
1f45f627 1842 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
1843 the change of LGLYPH format.
1844
73acf815 18452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1846
1847 * ftfont.c (ftfont_list): Fix typo.
1f45f627 1848 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 1849
73acf815 18502008-02-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
aca7a3d2
MB
1851
1852 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
1853
1854 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
1855 xftface_info is non-NULL.
1856
73acf815 18572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1858
1859 * ftfont.c (ftfont_list): Fix typo.
1f45f627 1860 (ftfont_build_basic_charsets): Don't include letters with diactrics.
aca7a3d2 1861
73acf815 18622008-02-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
aca7a3d2 1863
1f45f627 1864 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 1865
73acf815 18662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1867
1868 * ftfont.c (ftfont_list): Pay attention to the case that
1869 FC_CAPABILITY is not defined.
1870
73acf815 18712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1872
1873 * xftfont.c (xftfont_open): Set charset related members to -1.
1874
1f45f627
GM
1875 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
1876 QCname.
aca7a3d2
MB
1877 (ftfont_open): Set charset related members to -1.
1878
1879 * fontset.c (Votf_script_alist): New variable.
1880 (syms_of_fontset): Initialize it.
1881 (fontset_font): Delete unused variable.
1882
1883 * fontset.h (Votf_script_alist): Extern it.
1884
1f45f627 1885 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
1886
1887 * font.h (font_close_object, font_merge_old_spec): Extern them.
1888
73acf815 18892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1890
1891 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
1892 (syms_of_font): Initialize them.
1893 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
1894 (font_prop_validate_type): Delete.
1895 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
1896 Change caller.
1897 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
1898 (font_prop_validate_extra): Delete.
aca7a3d2
MB
1899 (font_prop_validate_spacing): New function.
1900 (font_property_table): Add elements for all known properties.
1f45f627
GM
1901 (get_font_prop_index): Rename from check_font_prop_name. New
1902 argument FROM. Change caller.
aca7a3d2 1903 (font_prop_validate): Validate all known properties.
1f45f627 1904 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
1905 (font_expand_wildcards): Make it static. Fix the way of shrinking
1906 the possible range.
1f45f627 1907 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 1908 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 1909 Change caller.
aca7a3d2 1910 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
1911 (font_parse_fcname): Delete argument merge. Fix parsing of point
1912 size. Don't validate properties values here. Change caller.
1913 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
1914 (font_open_by_name): Delete unused variable.
1915 (Ffont_spec): Likewise. Validate property values.
1916 (Ffont_match_p): New function.
1917
1918 * font.h (QCscalable): Extern it.
1f45f627 1919 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 1920
1f45f627 1921 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 1922
1f45f627 1923 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
1924 (xfont_list_pattern): New function.
1925 (xfont_list): Use xfont_list_pattern.
1926
73acf815 19272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1928
1929 * font.h (Flist_fonts): EXFUN it.
1930
73acf815 19312008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1932
1933 * w32term.c (w32_initialize): Add back smoothing_type and
1934 smoothing_enabled definitions.
1935
73acf815 19362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1937
1938 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
1939 s->face->font on determining underline position.
1940
73acf815 19412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1942
1943 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
1944 (font_has_char): Accept font-object too.
1945 (font_find_for_lface): Try at first with a size specified in face.
1946
73acf815 19472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1948
1949 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
1950 font_open_by_name.
1951
73acf815 19522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1953
1954 * font.h (QCspacing, QCdpi): Extern them.
1955 (enum font_spacing): New enum.
1956 (FONT_PIXEL_SIZE_QUANTUM): New macro.
1957
1958 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
1959 (QCspacing, QCdpi): New variables.
1960 (syms_of_font): Initialize them.
1961 (font_pixel_size): New function.
1962 (font_put_extra): New function.
1963 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
1964 in FONT_EXTRA.
1965 (font_parse_fcname): Handle enumenrated values (e.g. bold). Fix
1966 handling font size. Add QCname property that contains only
1967 unknown properties.
1f45f627 1968 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 1969 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
1970 (font_sort_entites, font_list_entities, font_find_for_lface)
1971 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 1972 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
1973
1974 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
1975 include weight in listing pattern, instead check weight of each
1976 listed font. Don't include scalable in pattern. Pay attention to
1977 FONT_PIXEL_SIZE_QUANTUM.
1978
73acf815 19792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1980
aca7a3d2 1981 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 1982 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
1983 (font_list_entities): Handle float size correctly.
1984 (font_open_by_name): Prefer `normal' property values if the name
1985 doesn't specify them.
1986
1987 * fontset.c (Finternal_char_font): Use font_get_name, not
1988 Ffont_xlfd_name.
1989
1990 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
1991 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
1992 pattern. Don't force scalable.
1993
1994 * xftfont.c (xftfont_open): For generating a name, start from
1995 96-byte buffer.
1996
73acf815 19972008-02-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
aca7a3d2
MB
1998
1999 * frame.h (x_new_fontset2): Fix prototype.
2000
73acf815 20012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2002
1f45f627 2003 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
2004 (font_match_p, font_get_spec, font_parse_fcname)
2005 (font_unparse_fcname): Extern them.
1f45f627 2006 (font_get_name): Adjust prototype.
aca7a3d2
MB
2007
2008 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
2009 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
2010 (font_expand_wildcards): Fix handling ENCODING field. Avoid
2011 unnecessary checks for weight, slant, and swidth.
2012 (font_parse_fcname): New function.
2013 (font_unparse_fcname): New function.
2014 (font_parse_name): New function.
2015 (font_match_p): New function.
1f45f627 2016 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
2017 (font_get_spec): New function.
2018 (Qunspecified, Qignore_defface): Don't extern them.
2019 (font_find_for_lface): Assume that LFACE is fully specified.
2020 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
2021 object, use it for FACE.
2022 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
2023 driver->parse_name.
2024 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
2025
1f45f627
GM
2026 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
2027 prototype.
aca7a3d2 2028
1f45f627
GM
2029 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
2030 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
2031 make_fontset.
2032
1f45f627 2033 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 2034
1f45f627 2035 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
2036 of x_new_fontset2.
2037
2038 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
2039 (Qsans__serif): New variables.
2040 (ftfont_generic_family_list): New variable.
2041 (syms_of_ftfont): Initialize the above variables.
1f45f627 2042 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
2043 (ftfont_list_generic_family): New function.
2044 (ftfont_parse_name): Delete this function.
1f45f627 2045 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
2046 (ftfont_list_family): Fix args to FcObjectSetBuild.
2047
2048 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
2049 object in attrs[LFACE_FONT_INDEX].
2050 (set_lface_from_font_name): Cancel all changes for font-backend.
2051 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
2052 function.
2053 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
2054 font object in QCfont attribute.
2055 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
2056 (realize_default_face) [USE_FONT_BACKEND]: Call
2057 set_lface_from_font_and_fontset.
2058
2059 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
2060 "fixed", and signal error here if no suitable font was found.
2061
2062 * xfont.c (xfont_parse_name): Delete this function.
2063
2064 * xftfont.c (xftfont_open): Change coding style of error
2065 handling. Generate fontconfig's fontname pattern.
2066
2067 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
2068 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
2069
2070 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
2071 Both args FONTSET and FONT_OBJECT must be existing ones.
2072
73acf815 20732008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2074
2075 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
2076
73acf815 20772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2078
2079 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
2080
2081 * font.h (struct font): Fix typo.
2082
2083 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
2084 XLFD_XXX_INDEX.
2085 (enum xlfd_field_mask): New enum.
1f45f627 2086 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
2087 are followed by non-digits, return a symbol.
2088 (font_expand_wildcards): New function.
2089 (font_parse_xlfd): Fix wildcard handling.
2090 (Ffont_spec): If :name is specified, reflect the info in the other
2091 properties.
2092
2093 * ftfont.c (ftfont_pattern_entity): Fix typo.
2094 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
2095 locale.
2096
73acf815 20972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2098
2099 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
2100
1f45f627 2101 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
2102 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
2103 registry doesn't specify encoding part.
2104 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
2105 (font_open_by_name): At first try parsing the name.
2106 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
2107 as Lisp symbols.
2108
2109 * fontset.c (reorder_font_vector): Pay attention to the case that
2110 the 3rd element of font_def is nil.
2111 (fontset_font): For the default fontset, append one more fontset
2112 elements for a script-based font specification. Don't add script
2113 attribute on finding a font.
2114 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
2115 font name.
2116 (fontset_ascii_font): If a font can't be opened, return nil.
2117
1f45f627 2118 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
2119 (ftfont_pattern_entity): New function.
2120 (ftfont_get_cache): Assume that freetype_font_cache is already
2121 initialized.
2122 (ftfont_list): Handle the case that a file is specified in font
2123 name. Use ftfont_pattern_entity to generate entities.
2124 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
2125 (syms_of_ftfont): Initialize freetype_font_cache.
2126
2127 * xftfont.c (xftfont_open): Make the font name fontconfig's
2128 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
2129 (xftfont_close): Free font->font.name if not NULL.
2130
2131 * xfont.c (xfont_list): If script is specified for a font, return
2132 null_vector.
2133 (xfont_list_family): Declare argument type.
2134
2135 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
2136 name, set LFACE_FONT (lface) to nil.
2137
2138 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
2139 return Qnil.
2140
73acf815 21412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2142
1f45f627 2143 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
2144 (standard_args): Add "-enable-font-backend".
2145
73acf815 21462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2147
2148 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
2149 (struct xftdraw_list, xftdraw_list): Delete them.
2150 (register_xftdraw, check_xftdraw): Delete them.
2151 (xftfont_prepare_face): Don't call register_xftdraw.
2152 (xftfont_done_face): Don't call check_xftdraw.
2153 (xftfont_draw): Get backroudn color only when with_background is
2154 nonzero.
2155
2156 * xfont.c (xfont_encode_char): Fix calculation of char2b.
2157
73acf815 21582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2159
2160 These changes are for the new font handling codes.
2161
2162 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
2163 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
2164 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
2165 (FONTSRC, FONTOBJ): New variables.
2166 (obj): Add $(FONTOBJ).
2167 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
2168 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
2169 @LIBOTF_LIBS@.
2170 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 2171 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 2172
1f45f627 2173 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
2174
2175 * character.h (Vscript_representative_chars): Extern it.
2176
2177 * character.c (Vscript_representative_chars): New variable.
2178 (syms_of_character): Declare it as a Lisp variable.
2179
2180 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
2181 enable_font_backend is nonzero, accept the composition method
2182 COMPOSITION_WITH_GLYPH_STRING.
2183
2184 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
2185 enumeration COMPOSITION_WITH_GLYPH_STRING.
2186
aca7a3d2
MB
2187 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
2188 members clip_x, clip_y, clip_width, and clip_height.
2189 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
2190
2191 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
2192 --enable-font-backend. Call syms_of_font.
2193
2194 * fns.c (assoc_no_quit): New function.
2195
2196 * fontset.h (FONT_INFO_FROM_FACE): New macro.
2197 (face_for_font, new_fontset_from_font)
2198 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
2199
2200 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
2201 (fontset_font, fontset_ascii, face_for_char)
2202 (make_fontset_for_ascii_face, Ffont_info)
2203 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
2204 is nonzero, use font-backend mechanism.
2205 (find_font_encoding): Make it non-static.
2206 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
2207 New functions.
2208
2209 * frame.h (struct frame): New members resx and resy.
2210 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
2211 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
2212
2213 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 2214 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
2215
2216 * lisp.h (assoc_no_quit): Extern it.
2217
2218 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
2219 Through out the file, use FONT_INFO_FROM_FACE instead of
2220 FONT_INFO_FROM_ID, use get_per_char_metric instead of
2221 rif->per_char_metric.
2222 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
2223 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
2224 (get_glyph_face_and_encoding, fill_composite_glyph_string)
2225 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
2226 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
2227 nonzero, use font-backend mechanism.
2228 (get_per_char_metric): New function.
2229
2230 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
2231 (set_lface_from_font_name)
2232 (set_font_frame_param, free_realized_face)
2233 (prepare_face_for_display, clear_face_gcs)
2234 (Finternal_set_font_selection_order, realize_x_face)
2235 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
2236 font-backend mechanism.
1f45f627 2237 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
2238 (load_face_font) [USE_FONT_BACKEND]: Abort.
2239 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 2240 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
2241
2242 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
2243 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
2244 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
2245 nonzero, register all available font drivers. Call
2246 x_default_font_parameter for deciding a font.
2247 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
2248
2249 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
2250 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
2251 (x_set_glyph_string_clipping_exactly)
2252 (x_compute_glyph_string_overhangs)
2253 (x_draw_glyph_string_foreground)
2254 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
2255 (x_free_frame_resources) [USE_FONT_BACKEND]: If
2256 enable_font_backend is nonzero, use font-backend mechanism.
2257 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
2258
73acf815 22592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2260
fcb314b2 2261 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
2262 system_eol_type.
2263 (syms_of_coding): Initialize system_eol_type.
2264
fcb314b2
GM
2265 * process.c (Fset_process_coding_system): Inherit system's eol
2266 format if necessary.
aca7a3d2 2267
73acf815 22682008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2269
2270 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
2271
73acf815 22722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2273
2274 * coding.c (decode_eol): Pay attention to buffer relocation in
2275 del_range_2.
2276 (decode_coding): Call decode_eol before restoring undo_list.
2277
73acf815 22782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2279
2280 * charset.c (Fdefine_charset_internal): Fix setting of
2281 emacs_mule_bytes.
2282
73acf815 22832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2284
2285 * keyboard.c (read_char): Check if C is a character or not before
2286 looking up Vkeyboard_translate_table.
2287
73acf815 22882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2289
2290 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
2291 condition to terminate the loop.
2292
73acf815 22932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2294
2295 * coding.c (produce_composition): Compare charbuf[i] instead of
2296 args[i] against 0.
2297 (Fterminal_coding_system): Use EQ to compare Lisp objects.
2298
73acf815 22992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2300
2301 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
2302 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
2303 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
2304 detect_coding.
2305 (emacs_mule_char): Handle old style (Emacs 20) component character
2306 of a composition.
4c4475a8
GM
2307 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
2308 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
2309 composition rule.
aca7a3d2
MB
2310 (decode_coding_emacs_mule): Handle invalid bytes correctly.
2311
73acf815 23122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2313
2314 * coding.c (encode_coding_ccl): Allocate destination dynamically
2315 when necessary.
2316
73acf815 23172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2318
2319 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
2320 the loop. When quitted, show a proper error message.
2321
73acf815 23222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2323
aca7a3d2
MB
2324 * xterm.c (x_set_glyph_string_clipping_exactly): Set
2325 src->clip_head and src->clip_tail temporarily instead of src->hl.
2326
2327 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
2328 character sequence.
2329 (Fccl_execute_on_string): Use ASET, not XSET.
2330
73acf815 23312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2332
1f45f627 2333 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 2334
73acf815 23352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2336
2337 * coding.c (decode_coding): Fix the condition of terminating the
2338 decoding loop.
2339
73acf815 23402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2341
2342 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 2343 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 2344
73acf815 23452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2346
2347 * charset.c (map_charset_chars): Fix for ascii-compatible charset
2348 made by a mapping table.
2349
73acf815 23502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2351
2352 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
2353 not.
2354 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
2355 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
2356
2357 * xterm.c (x_draw_composite_glyph_string_foreground): Check
2358 s->face is NULL or not.
2359
73acf815 23602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2361
2362 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
2363 (x_draw_glyph_string): Fix drawing of right_overhang and
2364 left_overhang around/on cursor.
2365
1f45f627 2366 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 2367
73acf815 23682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2369
2370 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
2371
73acf815 23722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2373
4c4475a8
GM
2374 * coding.c (Fdefine_coding_system_internal)
2375 (Fdefine_coding_system_alias): Avoid a duplicated element in
2376 Vcoding_system_alist.
aca7a3d2 2377
73acf815 23782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2379
2380 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
2381
fcb314b2 2382 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
2383 (syms_of_coding): Intern and staticpro it.
2384 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 2385 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
2386
2387 * coding.h (CODING_SYSTEM_P): If ID is not available, call
2388 Fcoding_system_p.
2389 (CHECK_CODING_SYSTEM): If ID is not available, call
2390 Fcheck_coding_system.
4c4475a8
GM
2391 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
2392 Try also Fcheck_coding_system.
aca7a3d2 2393
73acf815 23942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2395
aca7a3d2
MB
2396 * coding.c (code_conversion_restore): GCPRO arg.
2397
73acf815 23982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2399
2400 * character.c (lisp_string_width): Check multibyteness of STRING.
2401
73acf815 24022008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2403
2404 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
2405 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
2406 (decode_mac_font_name): Use decode_coding_c_string instead of
2407 decode_coding.
2408 (x_load_font): Initialize fontp->fontset to -1. Set
2409 fontp->encoding_type.
2410
73acf815 24112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2412
2413 * search.c (search_buffer): Give up BM search on case-fold-search
2414 if one of a target character has a case-equivalence of different
2415 byte length even if that target charcter is an ASCII.
1f45f627
GM
2416 (simple_search): Fix calculation of byte length of matched text.
2417 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 2418
73acf815 24192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2420
2421 * coding.c (decode_coding): Fix handling of invalid bytes.
2422
73acf815 24232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2424
2425 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
2426 Unicode characters.
2427
73acf815 24282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2429
2430 * coding.c (encode_coding_object): If a pre-write-conversion
2431 function makes a new buffer, kill it.
2432
73acf815 24332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2434
2435 * coding.c (QCascii_compatible_p): New variable.
2436 (syms_of_coding): Initialize it.
4c4475a8
GM
2437 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
2438 calling string_char.
aca7a3d2
MB
2439 (record_conversion_result): Add `default:' case.
2440 (coding_charset_list): Delete unused variable `coding_type'.
2441 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
2442 property in the plist of the coding system.
2443 (Fcoding_system_put): Check QCascii_compatible_p.
2444
73acf815 24452008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
2446
2447 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
2448 removed calculation of frame `f', as it's now used.
2449
73acf815 24502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2451
1f45f627 2452 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
2453 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
2454 (UNIDATA): New variable.
2455 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
2456 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
2457 $(RUN_TEMACS) unconditionally.
2458
73acf815 24592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2460
1f45f627 2461 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
2462 (admindir): New variable.
2463 ($(lispsource)international/charprop.el): New target.
2464
73acf815 24652008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 2466
1f45f627 2467 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
2468 (syms_of_character): Remove its initialization.
2469
73acf815 24702008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
2471
2472 * w32select.c (validate_coding_system)
2473 (setup_windows_coding_system): New functions.
2474 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
2475 setup_windows_coding_system.
2476 (setup_config, Fw32_get_clipboard_data): Use
2477 validate_coding_system.
2478 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 2479 where signals are allowed.
aca7a3d2
MB
2480
2481 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
2482 (Fcheck_coding_system): Add declarations.
2483
73acf815 24842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2485
1f45f627 2486 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 2487
73acf815 24882008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2489
2490 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
2491 string as the second argument for x_new_fontset.
2492
73acf815 24932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2494
2495 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
2496 (encode_coding_object): Use safe_call instead of call2.
2497
73acf815 24982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2499
1f45f627 2500 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
2501
2502 * Makefile.in (lisp): Include charprop.el.
2503
73acf815 25042008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
2505
2506 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
2507 Not sure if it's unnecessary.
2508
73acf815 25092008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
2510
2511 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
2512 some possibly unnecessary fontset checking code that crashed
1f45f627 2513 when creating a new frame.
aca7a3d2 2514
73acf815 25152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2516
2517 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
2518 lookup_face.
2519
2520 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
2521
1f45f627 2522 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 2523
73acf815 25242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2525
73acf815 2526 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
2527 (coding_charset_list): New function.
2528
2529 * coding.h (coding_charset_list): Extern it.
2530
73acf815 25312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2532
2533 * fontset.c (Fset_fontset_font): Call find_font_encoding with
2534 concatenation of family and registry.
2535
73acf815 25362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2537
2538 * character.h (BYTE8_STRING): Fix typo.
2539
2540 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
2541 string to multibyte (sync to HEAD).
2542
2543 * casefiddle.c (casify_region): Handle changes in byte-length
2544 using replace_range_2 (sync to HEAD).
2545
73acf815 25462008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
2547
2548 * chartab.c (map_char_table): GCPRO table and arg.
2549
73acf815 25502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2551
2552 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
2553 already at limit.
2554
73acf815 25552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2556
2557 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
2558 instead of fast_c_string_match_ignore_case.
1f45f627 2559 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 2560 fast_string_match_ignore_case instead of
1f45f627 2561 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 2562
73acf815 25632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2564
2565 * xdisp.c (get_next_display_element): In unibyte case, decide to
2566 display in octal form by checking a chacter by
2567 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
2568
1f45f627 2569 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
2570
2571 * character.c (unibyte_has_multibyte_table): New variable.
2572
2573 * character.h (unibyte_has_multibyte_table): Extern it.
2574 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
2575
73acf815 25762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2577
2578 * coding.c (encode_coding_iso_2022): Fix handling of charset
2579 annotation.
2580
73acf815 25812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2582
2583 * coding.c (setup_coding_system): If coding_system is nil, use
2584 Qundecided.
2585 (Fterminal_coding_system): Return nil if terminal coding system is
2586 `undecided'.
2587 (syms_of_coding): Define coding-system `undecided' here. Setup
2588 terminal_coding as `undecided'.
2589
73acf815 25902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2591
2592 * xdisp.c (message_dolog, set_message_1): Call
2593 unibyte_char_to_multibyte with arg type int.
2594
aca7a3d2
MB
2595 * lread.c (read1): Fix reading of a char-table.
2596
2597 * print.c (print_object): Include sub char-table in cicularities
2598 detection.
2599
73acf815 26002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2601
2602 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 2603 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 2604
73acf815 26052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2606
2607 * fileio.c (report_file_error): Make a unibyte string from
2608 strerror (errorno).
2609 (Fsubstitute_in_file_name): Fix the arg to
2610 unibyte_char_to_multibyte. It is evaluated twice.
2611
73acf815 26122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2613
2614 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
2615
73acf815 26162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2617
2618 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
2619 BOM is not found.
4c4475a8
GM
2620 (detect_coding, detect_coding_system): Optimization for ISO-2022
2621 when no 8-bit data is found.
aca7a3d2 2622
73acf815 26232008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2624
2625 * w32fns.c (x_to_w32_font): Update to use new coding struct.
2626
73acf815 26272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2628
4c4475a8
GM
2629 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
2630 CHARS.
aca7a3d2 2631
73acf815 26322008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
2633
2634 * macterm.c (mac_encode_char): Add charset argument and update
2635 to use encoding_type.
2636 (x_new_font,x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
2637 switch to pure fontset.
2638 (decode_mac_font_name): Temporarily remove decoding.
2639 (x_font_name_to_mac_font_name): Temporarily remove encoding.
2640 (x_load_font): Temporarily remove encoding.
aca7a3d2 2641
73acf815 26422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2643
2644 * xfaces.c (Fface_font): If frame is not on a window system,
2645 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
2646 refer to face->font.
2647 (split_font_name_into_vector, build_font_name_from_vector)
2648 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
2649 whne HAVE_WINDOW_SYSTEM is defined.
2650
73acf815 26512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2652
2653 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
2654 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 2655 cmp->glyph_len is zero.
aca7a3d2 2656
1f45f627 2657 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
2658 (Ffontset_info): Make it backward compatible. New arg ALL.
2659
73acf815 26602008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
2661
2662 * process.c (read_process_output): Grow decoding_buf when needed;
2663 this could cause a crash in allocate_string and compact_small_strings.
2664
73acf815 26652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2666
1f45f627 2667 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 2668
73acf815 26692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2670
2671 * coding.c (setup_coding_system): Set coding->common_flags
2672 correctly for raw-text.
2673 (consume_chars): On encoding unibyte text by raw-text, don't check
2674 multibyte form.
1f45f627 2675 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
2676
2677 * fileio.c (e_write): Short cut for the case of no encoding.
2678
73acf815 26792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2680
4c4475a8
GM
2681 * coding.c (detect_coding, detect_coding_system): Delete unused
2682 variables.
aca7a3d2 2683
73acf815 26842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2685
2686 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
2687 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
2688
73acf815 26892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2690
2691 * coding.c (Ffind_coding_systems_region_internal): Include
2692 raw-text and no-conversion in the result.
2693
73acf815 26942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2695
1f45f627 2696 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
2697 (load_font_get_repertory): Delete unnecessary check of ENCODING of
2698 FONT_DEF.
2699 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 2700 (set_fontset_font): Change argument.
aca7a3d2
MB
2701 (Fset_fontset_font): Fix for the case that TARGET is a script
2702 name and charset name.
2703 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
2704
73acf815 27052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2706
1f45f627
GM
2707 * fontset.c (fontset_font): Rename from fontset_face. Change return
2708 value.
4c4475a8
GM
2709 (face_suitable_for_char_p, face_for_char): Adjust for the change
2710 of fontset_font.
aca7a3d2
MB
2711 (make_fontset_for_ascii_face): Fix setting of the fontset element
2712 for ASCII.
2713 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
2714 to get a font name.
1f45f627 2715 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 2716
fcb314b2 2717 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
2718
2719 * character.h (LEADING_CODE_LATIN_1_MIN)
2720 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
2721
73acf815 27222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2723
fcb314b2 2724 * editfns.c (check_translation): New function.
aca7a3d2
MB
2725 (Ftranslate_region_internal): Handle M:N mapping.
2726
73acf815 27272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2728
2729 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
2730
73acf815 27312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2732
2733 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
2734 goto invalid_code.
2735 (decode_coding_iso_2022): Fix handling of invalid designation.
2736
2737 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
2738 after calling code_conversion_save.
2739
73acf815 27402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2741
2742 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
2743
2744 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
2745
2746 * fontset.c: Include "intervals.h".
2747 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
2748 (free_face_fontset, new_fontset_from_font_name): Fix
2749 Lisp_Object/int mixup.
aca7a3d2
MB
2750
2751 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
2752
2753 * coding.c: Add many prototypes for static functions.
2754 (get_translation_table): Allow max_lookup to be NULL.
4c4475a8
GM
2755 (decode_coding,Ffind_coding_systems_region_internal)
2756 (Funencodable_char_position, Fcheck_coding_systems_region): Call
2757 get_translation_table with max_lookup NULL.
aca7a3d2 2758
73acf815 27592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2760
2761 * coding.c (get_translation_table): Declare it as Lisp_Object.
2762 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
2763 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
2764 instead of CHAR_TABLE_REF.
aca7a3d2 2765
73acf815 27662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2767
1f45f627 2768 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
2769 annotation data format.
2770 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 2771 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 2772 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 2773 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
2774 (decode_coding_ccl, decode_coding_charset): Pay attention to
2775 coding->charbuf_used.
aca7a3d2
MB
2776 (get_translation): New function.
2777 (produce_chars): New arguments translation_table and last_block.
2778 Translate characters here. Return number of carryover chars.
1f45f627
GM
2779 Change caller.
2780 (produce_composition): New argument pos. Change caller.
2781 Adjust for the change of annotation data format.
aca7a3d2
MB
2782 (produce_charset, produce_annotation): Likewise.
2783 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
2784 (consume_chars): New arg translation_table. Change caller.
2785 (translate_chars): Delete.
2786 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 2787
73acf815 27882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2789
2790 * search.c (simple_search): Fix setting this_pos_byte in backward
2791 search.
2792
2793 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
2794 byte sequence.
2795 (detect_coding_ccl): Fix setting of the variable valids.
2796
73acf815 27972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2798
2799 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
2800
2801 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
2802
1f45f627 2803 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
2804 Ftranslate_region. Accept a char-table in TABLE.
2805 (syms_of_editfns): Defsubr Stranslate_region_internal.
2806
2807 * xfaces.c (set_lface_from_font_name): If a font is specified for
2808 a frame, generate a fontset from the font.
2809 (build_scalable_font_name): If the scalable font is requested for
2810 a specific size, don't change that size.
2811 (try_font_list): Try a scalable font also in the case that a
1f45f627 2812 pattern string is specified.
aca7a3d2 2813
73acf815 28142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2815
2816 * xfaces.c (Fface_font): New optional arg CHARACTER.
2817
73acf815 28182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2819
2820 * charset.h (CHARSET_OFFSET): New macro.
2821
73acf815 28222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2823
2824 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
2825
2826 * fontset.c (fontset_face): Handle the case that repertory is a
2827 char-table.
2828 (find_font_encoding): Return nil for unknown encoding.
2829 (Fset_fontset_font): Ignore a font of unknown encoding.
2830
73acf815 28312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2832
1f45f627 2833 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
2834
2835 * fontset.c (fontset_face): Handle fallback fonts correctly.
2836 (Ffontset_info): Return infomation about fallback fonts.
2837
73acf815 28382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2839
2840 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 2841 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
2842 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
2843 the case that it is nil.
2844 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 2845 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
2846
2847 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
2848 subset or superset.
2849
73acf815 28502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2851
2852 * emacs.c (main): Call init_charset after syms_of_XXX.
2853
1f45f627 2854 * charset.c (Vcharset_map_directory): Delete.
aca7a3d2
MB
2855 (Vcharset_map_path): New variable
2856 (load_charset_map_from_file): Use Vcharset_map_path instead.
2857 (init_charset): Initialize Vcharset_map_path.
2858 (syms_of_charset): Delete declaration of "charset-map-directory",
2859 add declaration of "charset-map-path".
2860
73acf815 28612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2862
4c4475a8
GM
2863 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
2864 ASCII only string.
aca7a3d2
MB
2865
2866 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
2867
2868 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
4c4475a8 2869 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte..
aca7a3d2 2870
73acf815 28712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2872
2873 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
2874
2875 * coding.c (QCmnemonic, QCdefalut_char)
2876 (QCdecode_translation_table, QCencode_translation_table)
2877 (QCpost_read_conversion, QCpre_write_conversion): New variables.
2878 (get_translation_table): Return a list of translation tables if
2879 necessary.
2880 (decode_coding): Call get_translation_table with ENCODEP 0.
2881 (char_encodable_p): If translation_table is non-nil, always call
2882 translate_char.
2883 (Fdefine_coding_system_internal): Accept list of translation
2884 tables as :encode-translation-table and :decode-translation-table.
2885 (Fcoding_system_put): New function.
2886 (syms_of_coding): Declare new symbols. Defsubr
2887 Scoding_system_put.
4c4475a8
GM
2888 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
2889 typically JISX0212.
aca7a3d2
MB
2890
2891 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
2892 when the charset is superset type.
2893
2894 * character.c (translate_char): Accept list of translation tables.
2895
73acf815 28962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2897
1f45f627 2898 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
2899 (CODING_ATTR_TRANS_TBL): New macro.
2900
2901 * coding.c (get_translation_table): New function.
2902 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
2903 (decode_coding, encode_coding): Utilize get_translation_table.
2904 (char_encodable_p, Funencodable_char_position): Translate char if
2905 necessary.
2906 (Ffind_coding_systems_region_internal)
2907 (Fcheck_coding_systems_region): Setup translation table for encode
2908 in a coding system attribute vector in advance.
aca7a3d2
MB
2909 (Fdefine_coding_system_internal): Allow a symbol as translation
2910 table. For shift-jis type coding system, allow 4th charset.
2911
73acf815 29122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2913
2914 * coding.c (decode_coding_sjis): Check the first byte rigidly.
2915
2916 * xdisp.c (get_next_display_element): Pass -1 as POS to
2917 FACE_FOR_CHAR if displaying a C-string.
2918
73acf815 29192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2920
2921 * composite.c (get_composition_id): Handle xoff and yoff in a
2922 composition rule.
2923
2924 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
2925 (struct composition): New member lbearing and rbearing.
2926
2927 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
2928 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 2929 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
2930
2931 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
2932 composition glyph.
2933
73acf815 29342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2935
2936 * print.c: Include charset.h.
2937 (Vprint_charset_text_property): New variable.
2938 (Qdefault): Extern it.
2939 (PRINT_STRING_NON_CHARSET_FOUND)
2940 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
2941 (print_check_string_result): New variable.
2942 (print_check_string_charset_prop): New function.
2943 (print_prune_charset_plist): New variable.
2944 (print_prune_string_charset): New function.
2945 (print_object): Call print_prune_string_charset if
2946 Vprint_charset_text_property is not t.
2947 (print_interval): Print nothing if itnerval->plist is nil.
2948 (syms_of_print): Declare Vprint_charset_text_property as a lisp
2949 variable. Init and staticpro print_prune_charset_plist.
2950
73acf815 29512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2952
2953 * fontset.c (new_fontset_from_font_name): Use the specified font
2954 for all characters in the new fontset.
2955
2956 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
2957 OBJECT args.
2958
2959 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
2960 OBJECT args for composition too.
2961
2962 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
2963 OBJECT args.
2964
73acf815 29652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2966
2967 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
2968
1f45f627 2969 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 2970 FONT_DEF format.
1f45f627 2971 (fontset_face): New arg id. Change caller.
aca7a3d2 2972 (face_for_char): New args pos and object.
1f45f627 2973 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF
aca7a3d2
MB
2974 format.n
2975 (fs_query_fontset): Check NAME by Fassoc too.
2976 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 2977 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 2978
1f45f627 2979 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 2980
4c4475a8
GM
2981 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
2982 (append_space, extend_face_to_end_of_line)
2983 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
2984 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
2985
2986 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
2987 POS and OBJECT args.
2988
2989 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
2990 POS and OBJECT args.
2991
73acf815 29922008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2993
2994 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
2995 of GlobalAlloc'ed memory.
2996
73acf815 29972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2998
2999 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
3000
3001 * charset.h (charset_table_used): Delete extern.
3002
3003 * charset.c (charset_table_used): Make it static.
3004 (map_charset_chars): Fix args to c_function with.
3005
3006 * chartab.c (map_sub_char_table_for_charset): Fix args to
3007 c_function with.
3008
3009 * coding.h (enum coding_result_code): Delete
3010 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
3011
3012 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 3013 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
3014 (Vlast_code_conversion_error): New variables.
3015 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
3016 (ONE_MORE_BYTE): Record error if any instead of signaling an
3017 error. If non-ASCII multibyte char is found, return the negative
3018 value of the code. All callers changed to check it.
3019 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
3020 (record_conversion_result): New function. Change all codes setting
3021 coding->result to call this function.
4c4475a8
GM
3022 (detect_coding_utf_8, decode_coding_utf_8)
3023 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
3024 Don't use the local variable incomplete.
aca7a3d2 3025 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
3026 (decode_coding): Fix of flushing out unprocessed data.
3027 (make_conversion_work_buffer): Fix making of a work buffer.
3028 (decode_coding_object): Return coding->dst_object;
3029
3030 * fontset.c (set_fontset_font): Fix args.
3031
3032 * lisp.h (CHARACTERBITS): Define as 22.
3033
3034 * process.c (send_process): Be sure to set coding->src_multibyte.
3035
3036 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
3037
73acf815 30382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3039
3040 * xdisp.c (handle_auto_composed_prop): Give limit to
3041 Fnext_single_char_property_change.
3042
73acf815 30432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3044
3045 * composite.c (syms_of_composite): Don't make the compostion hash
1f45f627 3046 table weak.
aca7a3d2
MB
3047
3048 * fontset.c (Fset_fontset_font): Fix docstring.
3049
3050 * lisp.h (detect_coding_system): Adjust prototype.
3051
3052 * fileio.c (kill_workbuf_unwind): Delete this function.
3053 (Finsert_file_contents): Adjust the call of detect_coding_system.
3054 Get conversion_buffer by code_conversion_save. Use the macor
3055 CODING_MAY_REQUIRE_DECODING. After decoding, update
3056 coding_system.
3057
3058 * coding.h (make_conversion_work_buffer): Delete extern.
3059 (code_conversion_save): Extern it.
3060
3061 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 3062 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
3063 (decode_coding_utf_8): Don't do eol converion.
3064 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 3065 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
3066 (decode_coding_emacs_mule, decode_coding_iso_2022)
3067 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
3068 Don't do eol converion.
aca7a3d2
MB
3069 (adjust_coding_eol_type): Return a new coding system.
3070 (detect_coding): Don't detect eol. Fix for utf-16 detection.
3071 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
3072 each change.
3073 (decode_coding): Pay attention to undo_list. Do eol convesion for
3074 all types of coding-systems (if necessary).
3075 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 3076 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
3077 Vcode_conversion_reused_work_buf.
3078 (Vcode_conversion_workbuf_name): New variable.
3079 (reused_workbuf_in_use): New variable.
3080 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 3081 (code_conversion_restore): Change argument to cons.
1f45f627
GM
3082 (code_conversion_save): Delete the argument BUFFER. Change callers.
3083 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
3084 Fix for utf-16 detection.
3085 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 3086 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
3087 reused_workbuf_in_use.
3088
73acf815 30892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3090
3091 * keymap.c (store_in_keymap): Pay attention to the case that idx
3092 is a cons specifying a character range.
3093
73acf815 30942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3095
3096 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
3097 HANDLED_RECOMPUTE_PROPS.
3098
3099 * coding.c (Fdefine_coding_system_internal): Fix checking of
3100 ascii compatibility.
3101
73acf815 31022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3103
1f45f627 3104 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
3105 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
3106
3107 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
3108 Resync charset_list to Vemacs_mule_charset_list.
3109
3110 * keymap.c (store_in_keymap): Pay attention to the case that idx
3111 is a cons specifying a character range.
3112
73acf815 31132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3114
3115 * composite.c (update_compositions): Bind inhibit-read-only, etc
3116 to t before calling remove-list-of-text-properties.
3117
3118 * print.c (print_object): Always print ASCII chars as is.
3119
73acf815 31202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3121
1f45f627 3122 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 3123
4c4475a8
GM
3124 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
3125 is a char table.
aca7a3d2 3126
73acf815 31272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3128
1f45f627 3129 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 3130
73acf815 31312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3132
3133 * xfaces.c (set_lface_from_font_name): Fix for the case that
3134 FONTNAME is not fontset name.
3135
73acf815 31362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3137
3138 * fns.c (base64_encode_1): Fix previous change.
3139
73acf815 31402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3141
3142 * fontset.c (set_fontset_font): New function.
3143 (Fset_fontset_font): If a font is specified for a charset, use
3144 map_charset_chars to store the font spec in a fontset.
3145
73acf815 31462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3147
3148 * fontset.c (fontset_face): Create a fallback fontset on demand
3149 (make_fontset): Don't create a fallback fontset here.
3150 (free_face_fontset): Free a fallback fontset (if any) too.
3151 (n_auto_fontsets): Delete this variable.
3152 (auto_fontset_alist): New variable.
3153 (new_fontset_from_font_name): Check auto_fontset_alist.
3154 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
3155 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
3156 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
3157 Defsubr Sfontset_list_all.
3158
73acf815 31592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3160
3161 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
3162
73acf815 31632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3164
3165 * fontset.c (Fnew_fontset): Check NAME more rigidly.
3166
73acf815 31672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3168
3169 * editfns.c (Fgoto_char): Fix docstring.
3170
73acf815 31712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3172
3173 * insdel.c (insert_from_gap): Adjust intervals correctly.
3174
73acf815 31752008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3176
3177 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
3178 (pfnGetFontUnicodeRanges): New dynamically loaded function.
3179 (w32_initialize): Try to load it.
3180 (x_get_font_repertory): Use it if available.
3181 (w32_encode_char): Add shortcut for unicode output.
3182
3183 * w32fns.c (w32_load_system_font): Default charset to -1.
3184 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 3185 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
3186 or wildcard charsets.
3187 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
3188 (w32_codepage_for_font): Return CP_UNICODE for unicode.
3189 (w32_to_x_font): Match charset to real charset.
3190 (enum_font_cb2): Always list unicode versions.
3191
3192 * makefile.w32-in (temacs): Increase EMHEAP.
3193
73acf815 31942008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3195
3196 * w32term.c (w32_encode_char): New charset parameter.
3197 font_info.encoding becomes encoding_type.
1f45f627 3198 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
3199 (x_new_font): Return quickly if font already set.
3200 (x_new_fontset): fontsetname parameter is Lisp_Object.
1f45f627 3201 Use new fs_query_fontset. Try new_fontset_from_font_name. Use
aca7a3d2
MB
3202 fontset_name for return value.
3203
3204 * w32term.h: Declare x_get_font_repertory.
3205
3206 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 3207 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
3208 of encode_coding.
3209 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
3210 decode_coding.
3211
3212 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
3213 of x_new_fontset.
3214 (w32_load_system_font): Initialize charset as unicode.
3215 font_info.encoding becomes encoding_type.
1f45f627
GM
3216 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
3217 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
3218 (syms_of_w32fns): Set get_font_repertory_func.
3219
1f45f627 3220 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 3221 from term.c.
1f45f627 3222 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
3223 encode_coding_object in place of encode_coding.
3224
3225 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
3226 encoding becomes encoding_type.
3227
3228 * term.c (terminal_encode_buffer): Make externally visible.
3229
3230 * makefile.w32-in: Add character.h dependancies.
3231 (character.o, chartab.o): New targets.
3232
73acf815 32332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3234
3235 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 3236 CODING_ID_EOL_TYPE.
aca7a3d2 3237
73acf815 32382008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
3239
3240 * coding.c (produce_chars): Revert last change.
3241
73acf815 32422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3243
3244 * charset.h (charset_unicode): Extern it.
3245
3246 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 3247 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 3248 arg MULTIBYTE.
1f45f627 3249 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
3250 change of find_charsets_in_text.
3251 (Fsplit_char): Fix doc. Never return unknown.
3252
3253 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
3254
3255 * coding.c (Fdefine_coding_system_alias): Update
3256 Vcoding_system_list.
3257
3258 * fontset.c (load_font_get_repertory): Pay attention to the case
3259 that ENCODING of a font is specified by a char-table.
3260
3261 * xterm.c (x_get_font_repertory): Handle the case that the
3262 encoding of font is other than Unicode.
3263
73acf815 32642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3265
3266 * term.c (encode_terminal_code): Don't handle glyph-table. Check
3267 if a character is encodable by the terminal coding system. If
3268 not, produces proper number of `?'s. Update
3269 terminal_encode_buffer and terminal_encode_buf_size if necessary.
3270 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
3271
73acf815 32722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3273
3274 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
3275 variables.
1f45f627 3276 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
3277 characters at once. Store the result of encoding in
3278 terminal_encode_buffer.
4c4475a8
GM
3279 (write_glyphs, insert_glyphs): Adjust for the change of
3280 encode_terminal_code.
aca7a3d2
MB
3281 (term_init): Initialize terminal_encode_buffer and
3282 terminal_encode_buf_size.
3283
3284 * coding.c (consume_chars): If coding->src_object is nil, don't
3285 check annotation.
3286
73acf815 32872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3288
3289 * character.c (char_string): Use ASCII_CHAR_P instead of
3290 SINGLE_BYTE_CHAR_P.
3291
73acf815 32922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3293
3294 * xdisp.c (handle_auto_composed_prop): Check if the last
3295 characters of auto-composed region is newly composed with the
3296 following characters.
3297 (handle_composition_prop): Fix checking of point being inside
3298 composition.
3299
73acf815 33002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3301
3302 * fns.c (concat): Don't change multibyteness of the result by
3303 concatenating an 8-bit character.
3304
3305 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
3306 multibyteness of the result when newelt is an 8-bit character.
3307
73acf815 33082008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3309
3310 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
3311 EMACS_INT.
3312
3313 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
3314
3315 * xfaces.c (face_numeric_value): Declare dim size_t.
3316 (Finternal_lisp_face_equal_p): Remove unused f.
3317
3318 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
3319 (MATRIX_ROW): Remove unused vars.
3320 (draw_glyphs, x_insert_glyphs, fast_find_position)
3321 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
3322 byte/char counts.
3323
3324 * regex.c (regex_compile): Remove unused var.
3325
3326 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
3327
3328 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
3329 (Faccessible_keymaps, where_is_internal): Remove unused vars.
3330
3331 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
3332
3333 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
3334
3335 * fileio.c (Fwrite_region): Remove unused var.
3336
3337 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
3338 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
3339
3340 * composite.c (Fremove_list_of_text_properties): Declare.
3341
1f45f627
GM
3342 * coding.c (inhibit_pre_post_conversion): Remove (unused).
3343 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
3344 (coding_inherit_eol_type): Remove unused attrs.
3345 (detect_coding): Cast arg of detect_eol.
3346
3347 * charset.c (syms_of_charset): Remove unused var p.
3348 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
3349 byte/char counts.
3350
3351 * casetab.c (set_case_table): Remove unused var.
3352
3353 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 3354 unused vars.
aca7a3d2 3355
73acf815 33562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3357
3358 * xterm.c (x_bitmap_mask): Declare.
3359
73acf815 33602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3361
3362 * xterm.c (x_term_init): Fix type error.
3363
3364 * lisp.h: Add Funibyte_char_to_multibyte.
3365
3366 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
3367 (Fset_coding_system_priority): Doc fix.
3368
aca7a3d2
MB
3369 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
3370
3371 * indent.c (check_composition): Make start and end EMACS_INT.
3372
3373 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
3374
3375 * xdisp.c (handle_composition_prop, check_point_in_composition):
3376 Make buffer positions EMACS_INT.
3377
3378 * composite.c (find_composition, run_composition_function)
3379 (update_compositions, Ffind_composition_internal): Make buffer
3380 positions EMACS_INT.
3381
3382 * composite.h (find_composition, update_compositions): Make
3383 position args EMACS_INT.
3384
1f45f627 3385 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
3386
3387 * intervals.c (get_property_and_range):
3388 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
3389
3390 * unexalpha.c: Don't include varargs.h.
3391
73acf815 33922008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3393
3394 * coding.h (ENCODE_UTF_8): New.
3395
3396 * Makefile.in (gtkutil.o): Depend on coding.h.
3397
3398 * coding.c (Fset_coding_system_priority): Doc fix.
3399
73acf815 34002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3401
3402 * fileio.c (Finsert_file_contents): Call setup_coding_system in
3403 the case of auto saving.
3404
73acf815 34052008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 3406
4c4475a8
GM
3407 * chartab.c (map_char_table, map_char_table_for_charset): Protect
3408 `range' from GC.
aca7a3d2 3409
73acf815 34102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3411
3412 * coding.c (decode_coding_sjis): Check bytes more rigidly.
3413
73acf815 34142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3415
1f45f627 3416 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
3417 (Fwrite_region): Set Vlast_coding_system_used to the return value
3418 of choose_write_coding_system.
3419
73acf815 34202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3421
3422 * charset.c (Fset_charset_priority): Pay attention to duplicated
3423 arguments.
3424
3425 * coding.c (QCcategory): New variable.
3426 (syms_of_coding): Defsym it. Set all elements of
3427 Vcoding_category_table and their symbol values.
3428 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
3429 coding-category-XXX, and coding-category-list.
3430 (Fdefine_coding_system_internal): Add category in the plist.
3431
73acf815 34322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3433
3434 * callproc.c (Fcall_process): Handle carryover correctly.
3435
1f45f627 3436 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
3437 (raw_text_coding_system): Check NILP (coding_system).
3438 (coding_inherit_eol_type): Check NILP (coding_system) and
3439 NILP (parent).
3440 (consume_chars): Fix for the case of raw-text.
3441
3442 * process.c (read_process_output): Handle carryover correctly.
3443
73acf815 34442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3445
3446 * regex.c (re_search_2): Fix last change.
3447
73acf815 34482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3449
3450 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
3451 target_multibyte. Even in a unibyte case, return a converted
3452 multibyte char.
3453 (GET_CHAR_AFTER): New macro.
3454 (PATFETCH): Translate via multibyte char.
3455 (HANDLE_UNIBYTE_RANGE): Delete this macro.
3456 (SETUP_MULTIBYTE_RANGE): New macro.
3457 (regex_compile): Setup compiled code so that its multibyteness
3458 matches that of a target. Fix the handling of "[X-YZ]" using
3459 SETUP_MULTIBYTE_RANGE.
3460 (analyse_first) <charset>: For filling fastmap for all multibyte
3461 characters, don't check by BASE_LEADING_CODE_P.
3462 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
3463 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 3464 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
3465 (TARGET_CHAR_AND_LENGTH): Delete this macro.
3466 (TRANSLATE_VIA_MULTIBYTE): New macro.
3467 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
3468 It is the same as RE_MULTIBYTE_P (bufp) now.
3469 <exactn>: Translate via multibyte.
3470 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
3471 translate it.
3472 <charset, charset_not>: Fetch a character by
3473 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
3474 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
3475 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
3476 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
3477 by GET_CHAR_AFTER.
3478 (bcmp_translate): Likewise.
3479
3480 * search.c (compile_pattern): Check the member target_multibyte,
3481 not the member multibyte of buf.
3482
3483 * lread.c (read1): While reading a string, set force_singlebyte
3484 and force_multibyte correctly.
3485
4c4475a8
GM
3486 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
3487 up of unibyte_to_multibyte_table.
aca7a3d2 3488
73acf815 34892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3490
3491 * coding.c (setup_coding_system): If coding has
3492 post-read-conversion or pre-write-conversion, set
3493 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
3494 respectively.
3495 (decode_coding_gap): Run post-read-conversion if any.
3496
3497 * fileio.c (Finsert_file_contents): Even if we read into a
3498 unibyte buffer, check if we must decode the result or not.
3499
73acf815 35002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3501
3502 * coding.c (make_conversion_work_buffer): Change the work buffer
3503 name to the same one as that of Emacs 21.
3504
73acf815 35052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3506
1f45f627 3507 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
3508 (code_conversion_restore): Don't extern it.
3509
3510 * coding.c (detected_mask): Delete unused variable.
3511 (decode_coding_iso_2022): Pay attention to the byte sequence of
3512 CTEXT extended segment, and retain those bytes as is.
3513 (decode_coding_ccl): Delete unused variable `valids'.
3514 (setup_coding_system): Delete unused variable `category'.
3515 (consume_chars): Delete unused variable `category'. Make it work
3516 for non-multibyte case.
1f45f627 3517 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
3518 (saved_coding): Delete unused variable.
3519 (code_conversion_restore): Don't check saved_coding->destination.
3520 (code_conversion_save): New function.
3521 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
3522 instead of record_unwind_protect.
1f45f627 3523 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 3524 (detect_coding_system): Delete unused variable `mask'.
1f45f627 3525 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
3526
3527 * fileio.c (kill_workbuf_unwind): New function.
3528 (Finsert_file_contents): On replacing, call
3529 make_conversion_work_buffer with correct args, and call
3530 record_unwind_protect with the first arg kill_workbuf_unwind.
3531
3532 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
3533
73acf815 35342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3535
1f45f627 3536 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
3537 (fontset_add): Fix for the case that TO is less than TO1.
3538 (Ffontset_info): Don't use fallback fontset on checking the
3539 default fontset.
3540 (dump_fontset): New function for debugging.
3541
3542 * coding.c (Fdefine_coding_system_internal): Fix for the case that
3543 coding_type is Qcharset.
3544
73acf815 35452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3546
3547 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
3548 (map_char_table): Don't inherit the value from the parent on
1f45f627 3549 initializing VAL. Adjust for the above change.
aca7a3d2 3550
73acf815 35512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3552
3553 * coding.c (Qsignature, Qendian): Delete these variables.
3554 (syms_of_coding): Don't initialize them.
3555 (CATEGORY_MASK_UTF_16_AUTO): New macro.
3556 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
3557 detect_info->found.
3558 (decode_coding_utf_16): Don't detect BOM here.
3559 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
3560 is NOT utf_16_without_bom.
3561 (setup_coding_system): For a coding system of type utf-16, check
3562 if the attribute :endian is Qbig or not (not nil or not), and set
3563 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
3564 (detect_coding): If coding type is utf-16 and BOM detection is
3565 required, detect it.
3566 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 3567 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 3568
73acf815 35692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3570
3571 * coding.c (coding_set_source): Fix for the case that the current
3572 buffer is different from coding->src_object.
3573 (decode_coding_object): Don't use the conversion work buffer if
3574 DST_OBJECT is a buffer.
3575
73acf815 35762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3577
3578 * lread.c (read_emacs_mule_char) [len==2]: Index
3579 emacs_mule_charset correctly.
3580
73acf815 35812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3582
3583 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
3584 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 3585 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
3586 treated specially.)
3587 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
3588 (detected_mask): Remove Big5 bits.
3589
73acf815 35902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3591
3592 The following changes are to make the font rescaling facility
3593 compatible with Emacs 21.
3594
1f45f627 3595 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
3596 Vface_resizing_fonts.
3597 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 3598 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
3599 (split_font_name): Set font->rescale_ratio.
3600 (better_font_p): Pay attention to font->rescale_ratio.
3601 (build_scalable_font_name): Likewise. Change RESX, and RESY
3602 fields.
1f45f627 3603 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 3604
73acf815 36052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3606
3607 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
3608 (Qutf_16_le): Remove these variables.
3609 (syms_of_coding): Don't DEFSYM them.
3610 (decode_coding_utf_16): Fix handling of BOM.
3611 (encode_coding_utf_16): Fix handling of BOM.
3612
73acf815 36132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3614
3615 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 3616 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 3617
73acf815 36182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3619
3620 * coding.c (Fcheck_coding_systems_region): Fix type errors.
3621
73acf815 36222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3623
3624 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
3625 and fix C types.
3626
73acf815 36272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3628
3629 * xdisp.c (SKIP_GLYPHS): New macro.
3630 (set_cursor_from_row): Pay attention to string display properties.
3631
3632 * category.c (copy_category_entry): Fix for the case that RANGE
3633 is an integer.
3634
3635 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
3636
1f45f627 3637 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 3638
73acf815 36392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3640
3641 * charset.c (Fcharset_id_internal): New function.
3642 (syms_of_charset): Defsubr it.
3643
3644 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
3645 with the last arg charset_list acquired from coding.
3646 (Fdefine_coding_system_internal): For ccl-based coding system, fix
3647 the attribute coding_attr_ccl_valids.
3648
3649 * coding.h (enum define_coding_ccl_arg_index): Set the first
3650 member coding_arg_ccl_decoder to coding_arg_max.
3651
1f45f627 3652 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
3653
3654 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
3655 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
3656 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
3657 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
3658 last arg Qnil.
aca7a3d2 3659
73acf815 36602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3661
3662 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
3663 call encode_char.
3664
1f45f627 3665 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 3666
73acf815 36672008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 3668
1f45f627 3669 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 3670
73acf815 36712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3672
3673 * dispextern.h (check_face_attributes, generate_ascii_font_name)
3674 (font_name_registry): Don't extern them.
1f45f627 3675 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
3676
3677 * fontset.h (Qfontset): Don't extern it.
3678 (new_fontset_from_font_name): Extern it.
3679
3680 * fontset.c: Give 8 extra slots to fontset objects.
3681 (Qfontset_info): New variable.
3682 (syms_of_fontset): Defsym it.
3683 (FONTSET_FALLBACK): New macro.
3684 (fontset_face): Try also the default fontset.
1f45f627
GM
3685 (make_fontset): Realize a fallback fontset from the default fontset.
3686 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
3687 using split_font_name_into_vector and build_font_name_from_vector.
3688 (Fset_fontset_font): Access the elements of font_spec by enum
3689 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
3690 name by using split_font_name_into_vector.
3691 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
3692 generate a proper font name from the fontset name. Update
3693 Vfontset_alias_alist.
3694 (n_auto_fontsets): New variable.
3695 (new_fontset_from_font_name): New function.
3696 (Ffont_info): Store the information about fonts generated from the
1f45f627 3697 default fontset in the first extra slot of the returned char-table.
aca7a3d2 3698
1f45f627
GM
3699 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
3700 (font_name_registry): Delete function.
aca7a3d2
MB
3701 (split_font_name_into_vector): New function.
3702 (build_font_name_from_vector): New function.
1f45f627 3703 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
3704 (choose_face_font): If we are choosing an ASCII font, and ATTRS
3705 specifies an explicit font name, return the name as is. Make a
3706 list of registy names.
3707
1f45f627 3708 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
3709 of x_new_fontset.
3710 (Fx_create_frame): Don't call x_new_fontset here. Just use
3711 x_list_fonts to check the existence of fonts.
3712
1f45f627 3713 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
3714
3715 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
3716 string. Use new_fontset_from_font_name to create a fontset from a
3717 font name.
3718
1c8658b9
GM
37192008-02-01 Kenichi Handa <handa@m17n.org>
3720
3721 * syntax.c (Vfind_word_boundary_function_table): New name for
3722 Vnext_word_boundary_function_table.
3723 (find-word-boundary-function-table): New name for
3724 next-word-boundary-function-table.
3725
73acf815 37262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3727
3728 * Makefile.in: Fix some dependencies.
3729
3730 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
3731 set it to nil before returning.
3732
3733 * composite.c (update_compositions): Fix type error.
3734
3735 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
3736
73acf815 37372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3738
3739 * xterm.c (x_new_font): Optimize for the case that the font is
3740 already set for the frame.
3741
73acf815 37422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3743
3744 * chartab.c (char_table_ascii): Check if the char table contents
3745 is sub-char-table or not.
4c4475a8
GM
3746 (char_table_set, char_table_set_range): Fix argument to
3747 char_table_ascii.
aca7a3d2
MB
3748
3749 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
3750 (detect_coding_utf_8, detect_coding_utf_16)
3751 (detect_coding_emacs_mule, detect_coding_iso_2022)
3752 (detect_coding_sjis, detect_coding_big5)
3753 (detect_coding_ccl, detect_coding_charset): Change argument MASK
3754 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 3755 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
3756 (MAX_ANNOTATION_LENGTH): New macro.
3757 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
3758 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
3759 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 3760 (ADD_CHARSET_DATA): New macro.
1f45f627 3761 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
3762 (decode_coding_emacs_mule, decode_coding_iso_2022)
3763 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
3764 Produce charset annotation data in coding->charbuf.
3765 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
3766 to charset annotation data in coding->charbuf.
3767 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
3768 coding->common_flags if the coding system is iso-2022 based and
3769 uses designation.
1f45f627 3770 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
3771 (produce_charset): New function.
3772 (produce_annotation): Handle charset annotation.
3773 (handle_composition_annotation, handle_charset_annotation): New
3774 functions.
3775 (consume_chars): Handle charset annotation. Utilize the above two
3776 functions.
3777 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
3778 buffer, get the deleted text as a string and set
3779 coding->src_object to that string.
3780 (detect_coding, detect_coding_system): Use the new struct
3781 coding_detection_info.
3782
3783 * coding.h (struct coding_detection_info): New structure.
1f45f627 3784 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
3785 (CODING_ANNOTATE_CHARSET_MASK): New macro.
3786
73acf815 37872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3788
3789 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
3790
73acf815 37912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 3792
1f45f627 3793 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
3794 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
3795 to new local and nullify apropos_accumulate before returning.
3796 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
3797
73acf815 37982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3799
3800 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
3801 correctly.
3802
73acf815 38032008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3804
3805 * fns.c (Flanginfo): Call synchronize_system_time_locale.
3806
73acf815 38072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3808
3809 The following changes are to make character composition happen
3810 automatically on displaying.
3811
3812 * Makefile.in (lisp, shortlisp): Add composite.elc
3813
1f45f627
GM
3814 * composite.h (Qauto_composed, Vauto_composition_function)
3815 (Qauto_composition_function): Extern them.
aca7a3d2 3816
1f45f627
GM
3817 * composite.c (Vcomposition_function_table)
3818 (Qcomposition_function_table): Delete variables.
3819 (Qauto_composed, Vauto_composition_function)
3820 (Qauto_composition_function): New variables.
aca7a3d2
MB
3821 (run_composition_function): Don't call
3822 compose-chars-after-function.
3823 (update_compositions): Clear `auto-composed' text property.
3824 (compose_chars_in_text): Delete this function.
3825 (syms_of_composite): Staticpro Qauto_composed and
3826 Qauto_composition_function. Declare Vauto_composition_function as
3827 a Lisp variable.
3828
3829 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
3830
3831 * xdisp.c (it_props): Add an entry for Qauto_composed.
3832 (handle_auto_composed_prop): New function.
3833
3834 * xselect.c (selection_data_to_lisp_data): Don't call
3835 compose_chars_in_text.
3836
73acf815 38372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3838
3839 * keyboard.c (read_char): Modify checking around use of
3840 Vkeyboard_translate_table.
3841
3842 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
3843 and fix C types.
3844
73acf815 38452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3846
4c4475a8
GM
3847 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
3848 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3849 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 3850 the case that the last byte is '\r' correctly.
1f45f627
GM
3851 (decode_coding): Flush out the unprocessed data correctly.
3852 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 3853
73acf815 38542008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3855
3856 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
3857 XK_ISO... case.
3858 (xaw_scroll_callback): Revert last change.
3859
73acf815 38602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3861
1f45f627 3862 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 3863
73acf815 38642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3865
3866 * xfaces.c (Vface_resizing_fonts): New variable.
3867 (struct font_name): New member `resizing_ratio'.
3868 (font_resizing_ratio): New function.
3869 (split_font_name): Set font->resizing_ratio.
3870 (better_font_p): Pay attention to font->resizing_ratio.
3871 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
3872 RESX, and RESY fields.
3873 (try_alternative_families): Try scalable fonts if
3874 Vscalable_fonts_allowed is not Qt.
3875 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
3876
73acf815 38772008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3878
3879 * xterm.c (xaw_scroll_callback): Cast correctly.
3880
73acf815 38812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3882
3883 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
3884 (lispy_kana_keys): Comment out.
3885 (make_lispy_event) [XK_kana_A]: Comment out.
3886
3887 * xterm.c (xaw_scroll_callback): Cast call_data.
3888 (XTread_socket): Deal with ASCII keysyms.
3889 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
3890
73acf815 38912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3892
3893 * xterm.c (Vx_keysym_table): New.
3894 (syms_of_xterm): Initialize it.
3895 (XTread_socket): Use it.
3896 From head: Eliminate incorrect optimization that tried to avoid
3897 decoding the output of X*LookupString.
3898 (x_get_font_repertory): Delete charset declaration.
3899
73acf815 39002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3901
1f45f627
GM
3902 * coding.c (detect_coding_charset): If only ASCII bytes are found,
3903 return 0.
aca7a3d2
MB
3904 (Fdefine_coding_system_internal): Setup
3905 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
3906
73acf815 39072008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3908
3909 * coding.c (Fcheck_coding_system): Doc fix.
3910
3911 * editfns.c (Finsert_byte): Return a proper value.
3912
73acf815 39132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3914
3915 * coding.c (decode_coding): Fix args to translate_chars. Pay
3916 attention to Vstandard_translation_table_for_decode.
3917 (encode_coding): Fix args to translate_chars. Pay attention to
3918 Vstandard_translation_table_for_encode.
3919
3920 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
3921 SINGLE_BYTE_CHAR_P.
3922
3923 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
3924 not by SINGLE_BYTE_CHAR_P.
3925
3926 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
3927 SINGLE_BYTE_CHAR_P.
3928
3929 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
3930 SINGLE_BYTE_CHAR_P.
3931
3932 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
3933 by SINGLE_BYTE_CHAR_P.
3934
3935 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
3936 SINGLE_BYTE_CHAR_P.
3937
73acf815 39382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3939
3940 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
3941
73acf815 39422008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3943
3944 * fns.c (Flanginfo): Fix typo.
3945
3946 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
3947
73acf815 39482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3949
4c4475a8
GM
3950 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
3951 (detect_coding_emacs_mule, detect_coding_iso_2022)
3952 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
3953 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 3954 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 3955 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 3956 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 3957
73acf815 39582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3959
1f45f627
GM
3960 * character.c (char_string): Rename from
3961 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
3962 (string_char): Rename from string_char.
aca7a3d2 3963
4c4475a8
GM
3964 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
3965 if C is greater than MAX_3_BYTE_CHAR.
3966 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
3967 string_char instead of string_char_with_unification.
aca7a3d2 3968
73acf815 39692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3970
3971 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
3972
73acf815 39732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3974
1f45f627 3975 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
3976
3977 * regex.c (re_search_2): Fix for the case of unibyte buffer.
3978
73acf815 39792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3980
3981 * charset.c (define_charset_internal): Rename `supprementary'.
3982
3983 * Makefile.in (lisp, shortlisp): Remove latin-N.
3984
73acf815 39852008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
3986
3987 * xfns.c (x_window, x_window): Use use_xim.
3988
3989 * xterm.c (use_xim): Initialize.
3990 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
3991 (x_term_init): Maybe set use_xim.
3992
3993 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
3994
73acf815 39952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3996
3997 * search.c (search_buffer): Fix case-fold-search of multibyte
3998 characters.
3999 (boyer_moore): Rename the last argument to char_high_bits.
4000
73acf815 40012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4002
4003 * xdisp.c (display_string): Fix for the case of zero width glyph.
4004
4005 * xfns.c (x_set_font): Change the error message of the case that
4006 x_new_fontset returns Qt.
4007
4008 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
4009 (Finternal_set_lisp_face_attribute): Use signal_error for the
4010 error of invalid fontset.
4011
4012 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
4013 fontset, return Qt.
4014
73acf815 40152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 4016
aca7a3d2
MB
4017 * unexelf.c (unexec): Make .got handling not SGI-specific.
4018
4019 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
4020
4021 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
4022
4023 * keyboard.c (read_key_sequence): Fix type error.
4024
4025 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
4026 type error.
4027
4028 * fontset.c (fontset_add): Return Lisp_Object.
4029
73acf815 40302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4031
4032 * charset.h (charset_ordered_list_tick): Declare extern.
4033
73acf815 40342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4035
73acf815 4036 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
4037 for handling syntax, category, and case conversion for unibyte
4038 characters by converting them to multibyte on the fly. With these
4039 changes, we don't have to setup syntax and case tables for unibyte
4040 characters in each language environment.
4041
4042 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
4043 multibyte if necessary.
4044
4045 * bytecode.c (Fbyte_code): Likewise.
4046
4047 * character.h (LEADING_CODE_LATIN_1_MIN)
4048 (LEADING_CODE_LATIN_1_MAX): New macros.
4049 (unibyte_to_multibyte_table): Extern it.
4050 (unibyte_char_to_multibyte): New macro.
4051 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
4052 (CHAR_LEADING_CODE): New macro.
4053 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
4054
4055 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 4056 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
4057 (multibyte_char_to_unibyte): If C is an eight-bit character,
4058 convert it to the corresponding byte value.
4059
4060 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
4061 not 1, singals an error. Update the elements of
4062 unibyte_to_multibyte_table.
4063 (init_charset_once): Initialize unibyte_to_multibyte_table.
4064 (syms_of_charset): Define the charset `iso-8859-1'.
4065
aca7a3d2
MB
4066 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
4067 as is without converting it to unibyte. In a unibyte buffer,
4068 convert C to multibyte before checking the syntax.
4069
1f45f627 4070 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
4071
4072 * minibuf.c (Fminibuffer_complete_word): Use the macro
4073 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
4074
4075 * regex.h (struct re_pattern_buffer): New member target_multibyte.
4076
4077 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
4078 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
4079 that is zero, convert an eight-bit char to multibyte.
4080 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
4081 non-emacs case.
4082 (PATFETCH): Convert an eight-bit char to multibyte.
4083 (HANDLE_UNIBYTE_RANGE): New macro.
4084 (regex_compile): Setup the compiled pattern for multibyte chars
4085 even if the given regex string is unibyte. Use PATFETCH_RAW
4086 instead of PATFETCH in many places. To handle `charset'
4087 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
4088 only for ASCII chars.
1f45f627 4089 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
4090 is multibyte.
4091 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
4092 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 4093 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
4094 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
4095 multibyte always 1.
4096 (re_search_2): In emacs, set the locale variable multibyte to 1,
4097 otherwise to 0. New local variable target_multibyte. Check it
4098 to decide the multibyteness of STR1 and STR2. If
4099 target_multibyte is zero, convert unibyte chars to multibyte
4100 before translating and checking fastmap.
4101 (TARGET_CHAR_AND_LENGTH): New macro.
4102 (re_match_2_internal): In emacs, set the locale variable multibyte
4103 to 1, otherwise to 0. New local variable target_multibyte. Check
4104 it to decide the multibyteness of STR1 and STR2. Use
4105 TARGET_CHAR_AND_LENGTH to fetch a character from D.
4106 <charset, charset_not>: If multibyte is nonzero, check fastmap
4107 only for ASCII chars. Call bcmp_translate with
4108 target_multibyte, not with multibyte.
4109 <begline>: Declare the local variable C as `unsigned'.
4110 (bcmp_translate): Change the last arg name to target_multibyte.
4111
4112 * search.c (compile_pattern_1): Don't adjust the multibyteness of
4113 the regexp pattern and the matching target. Set cp->buf.multibyte
4114 to the multibyteness of the regexp pattern. Set
1f45f627 4115 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
4116 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
4117 FETCH_STRING_CHAR_ADVANCE.
4118 (Freplace_match): Convert unibyte chars to multibyte.
4119
4c4475a8
GM
4120 * syntax.c (char_quoted, back_comment, scan_words)
4121 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
4122 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 4123 unibyte chars to multibyte.
1f45f627
GM
4124 (skip_chars): Delete the arg syntaxp, and move the code for
4125 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
4126 Fix the case that the multibyteness of STRING and the current
4127 buffer doesn't match.
4128 (skip_syntaxes): New function.
4129 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
4130 SINGLE_BYTE_CHAR_P.
aca7a3d2 4131
73acf815 41322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4133
4134 * xfaces.c (QCfontset): New variable.
4135 (LFACE_FONTSET): New macro.
4136 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
4137 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
4138 (Finternal_set_lisp_face_attribute)
4139 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
4140 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
4141 check also LFACE_FONTSET_INDEX.
4142 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
4143 attrs[LFACE_FONT_INDEX].
4144 (syms_of_xfaces): Intern and staticpro QCfontset.
4145
4146 * dispextern.h (enum lface_attribute_index): New member
4147 LFACE_FONTSET_INDEX.
4148
4149 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
4150
73acf815 41512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4152
4153 * coding.c (coding_set_destination): Fix coding->destination for
4154 the case converting a region.
4155 (encode_coding_utf_8): Encode eight-bit chars as single byte.
4156 (encode_coding_object): Fix coding->dst_pos and
4157 coding->dst_pos_byte for the case converting a region.
4158
4159 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
4160
4161 * character.h (BYTE8_STRING): New macro.
4162
4163 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
4164
73acf815 41652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4166
4167 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
4168 characters by octal form.
4169
4170 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
4171
1f45f627 4172 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
4173 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
4174 _fetch_multibyte_char_len.
aca7a3d2
MB
4175 (FETCH_CHAR_AS_MULTIBYTE): New macro.
4176
1f45f627 4177 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 4178
1f45f627 4179 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 4180 the case conversion change the byte length.
1f45f627 4181 (casify_region): Likewise.
aca7a3d2 4182
1f45f627 4183 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 4184
1f45f627 4185 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
4186 (syms_of_character): Setup Vprintable_chars.
4187
4188 * editfns.c (Fchar_equal): Fix for the unibyte case.
4189 (Finsert_byte): New function.
4190 (syms_of_editfns): Defsubr it.
4191
4192 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
4193 of direct code 0x3ffff.
4194
4195 * search.c (Freplace_match): Fix for the unibyte case.
4196
73acf815 41972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4198
4199 * lread.c (safe_to_load_p): Fix the logic.
4200
4201 * syntax.c (scan_words): Don't treat characters belonging to
4202 different scripts as constituting a word.
4203
4204 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
4205
1f45f627 4206 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
4207
4208 * emacs.c (main): In the case of --unibyte, instead of aborting on
4209 finding non-empty buffer, make it unibyte.
4210
73acf815 42112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4212
4213 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
4214 to create a fontset.
4215
73acf815 42162008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4217
4218 * character.c (Funibyte_char_to_multibyte): Doc fix.
4219
4220 * xfns.c [HAVE_STDLIB_H]: Fix last change.
4221
73acf815 42222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4223
4224 * fontset.c (fontset_add): Make the type `int'.
4225 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
4226
4c4475a8
GM
4227 * character.c (unibyte_char_to_multibyte)
4228 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 4229 charset_unibyte, not charset_primary.
aca7a3d2 4230
1f45f627 4231 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 4232
1f45f627
GM
4233 * charset.c (charset_unibyte): Rename from charset_primary.
4234 (Funibyte_charset): Rename from Fprimary_charset.
4235 (Fset_unibyte_charset): Rename from Fset_primary_charset.
4236 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
4237
4238 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
4239 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
4240 it->multibyte_p is zero.
4241
4242 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 4243 Delete extern.
aca7a3d2 4244
73acf815 42452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4246
4247 * coding.c (Fdefine_coding_system_internal): Fix category setting
4248 for a coding system of type iso-2022.
4249
73acf815 42502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4251
1f45f627 4252 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 4253
73acf815 42542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4255
4256 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
4257 (next-word-boundary-function-table): Declare it as a Lisp variable
4258 in syms_of_syntax.
aca7a3d2
MB
4259 (scan_words): Call functions in Vnext_word_boundary_function_table
4260 if any.
4261
4262 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
4263
4264 * fontset.c (fs_load_font): If fontp->charset is not negative,
4265 return fontp without setting its members.
4266
73acf815 42672008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 4268
aca7a3d2
MB
4269 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
4270
4271 * m/sparc.h (HAVE_ALLOCA): Delete.
4272
4273 * s/irix6-5.h: Don't include strings.h.
4274 (bcopy, bzero, bcmp): Don't undef.
4275
4276 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
4277
4278 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
4279 (TIOCSIGSEND): Don't test IRIX6.
4280 (bcopy, bzero, bcmp): Define conditionally.
4281
73acf815 42822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4283
4284 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 4285 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
4286 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
4287
4288 * callproc.c (Fcall_process): Don't call insert_1_both directly if
4289 we are inserting a process output into a multibyte buffer.
4290
4291 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
4292 multibyte_char_to_unibyte.
4293
4294 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
4295 by the primary charset, make it eight-bit char.
4296 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
4297
1f45f627
GM
4298 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
4299 (charset_8_bit__control, charset_8_bit_graphic)
4300 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
4301 (define_charset_internal): New function.
4302 (syms_of_charset): Call define_charset_internal for pre-defined
4303 charsets.
4304
4305 * charset.h (charset_8_bit): Extern it.
4306
1f45f627 4307 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
4308 of Fset_buffer_multibyte.
4309 (encode_coding_raw_text): Increment p0 in the loop.
4310
1f45f627 4311 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 4312
1f45f627 4313 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
4314 for the change of Fset_buffer_multibyte.
4315
4316 * fns.c (Fstring_to_multibyte): New function.
4317 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
4318
73acf815 43192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4320
4321 * xfns.c (x_put_x_image): Declare args.
4322
1f45f627 4323 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
4324 (try_font_list): Declare an arg.
4325
4326 * xdisp.c (message2_nolog, set_message): Declare an arg.
4327
4328 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
4329
4330 * syntax.c (scan_sexps_forward): Declare an arg.
4331
4332 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
4333 Declare an arg.
4334
4335 * lisp.h (Fnew_fontset): Declare.
4336
4337 * keymap.c (push_key_description): Call CHARACTERP correctly.
4338
1f45f627 4339 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
4340 (face_for_char): Delete unused vars.
4341 (Fset_fontset_font): Doc fix. Delete unused vars.
4342
4343 * doc.c (Fsubstitute_command_keys): Delete unused vars.
4344
4345 * composite.c (update_compositions): Declare arg.
4346
4347 * cm.c (calccost, cmgoto): Declare args.
4348
4349 * charset.c: Remove `emacs' conditional. Doc fixes.
4350 (map_char_table_for_charset): Declare.
4351
1f45f627 4352 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 4353
1f45f627 4354 * ccl.c: Remove `emacs' conditional.
aca7a3d2 4355
73acf815 43562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4357
4358 The following changes are to allow specifying multiple font
4359 patterns for a character range (specified by script or charset).
4360
4361 * Makefile.in (abbrev.o): Depend on syntax.h.
4362 (xfaces.o): Depend on charset.h.
4363
4364 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
4365 SINGLE_BYTE_CHAR_P.
4366
4367 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
4368
4369 * character.h (Vchar_script_table): Extern it.
4370
1f45f627 4371 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
4372 (Vchar_script_table, Qchar_script_table): New variable.
4373 (syms_of_character): Declare Vchar_script_table as a lisp variable
4374 and initialize it.
4375
1f45f627 4376 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
4377 have property char-table-extra-slots, make no extra slot.
4378
1f45f627 4379 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
4380 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
4381 SINGLE_BYTE_CHAR_P.
1f45f627
GM
4382 (choose_face_font, lookup_non_ascii_face, font_name_registry):
4383 Add prototypes.
4384 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
4385 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
4386
4387 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 4388 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
4389 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
4390
4391 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 4392 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
4393 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
4394 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
4395 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
4396 (fontset_ref_and_range, fontset_add, reorder_font_vector)
4397 (load_font_get_repertory): New functions.
1f45f627 4398 (fontset_set): Delete.
aca7a3d2 4399 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 4400 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
4401 (free_face_fontset): Use ASET istead of AREF (X) = Y.
4402 (face_for_char): Don't call lookup_face.
4403 (make_fontset_for_ascii_face): New arg FACE.
4404 (fs_load_font): New arg CHARSET_ID. Don't check
4405 Vfont_encoding_alist here.
4406 (find_font_encoding): New function.
4407 (list_fontsets): Use STRINGP, not ! NILP.
4408 (accumulate_script_ranges): New function.
4409 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
4410 re-written to handle new fontset structure.
4411 (Ffontset_font): Return a copy of element.
4412 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
4413 docstring of font-encoding-alist.
4414
4415 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
4416 (Fset_fotset_font): Fix arguments to 5.
4417
1f45f627 4418 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
4419
4420 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
4421 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 4422 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
4423 lookup_named_face.
4424
4425 * xfaces.c: Include charset.h.
1f45f627
GM
4426 (load_face_font): Delete argument C. Change caller.
4427 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
4428 (font_name_registry): New function.
4429 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 4430 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
4431 Lookup only ascii faces.
4432 (lookup_non_ascii_face): New function.
1f45f627
GM
4433 (lookup_named_face): Delete argument C. Change caller.
4434 (lookup_derived_face): Delete argument C. Change caller.
4435 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 4436 a string, just call font_list with it.
1f45f627
GM
4437 (choose_face_font): Delete arguments FACE and C. New arg
4438 FONT_SPEC. Change caller.
4c4475a8
GM
4439 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
4440 Change caller.
aca7a3d2
MB
4441 (realize_non_ascii_face): New function.
4442 (realize_x_face): Call load_face_font here.
1f45f627 4443 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
4444 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
4445 get a face ID.
4446 (dump_realized_face): Don't print charset of FACE.
4447
4448 * xfns.c (x_set_font): Always call x_new_fontset and
4449 store_frame_parameter.
4450 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 4451 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
4452
4453 * xterm.h (x_get_font_repertory): Extern it.
4454
4455 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
4456 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
4457 it->multibyte_p is zero.
4458 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
4459 (x_new_fontset): If FONTSETNAME doesn't match any existing
4460 fontsets, create a new one.
4461 (x_get_font_repertory): New function.
4462
73acf815 44632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4464
4465 * coding.c (Ffind_coding_systems_region_internal): Detect an
4466 ASCII only string correctly.
4467
4468 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
4469 version is 0.
4470
73acf815 44712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4472
4473 * lread.c: Include "coding.h".
1f45f627
GM
4474 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
4475 (load_each_byte, unread_char): New variables.
4476 (readchar_backlog): Delete.
aca7a3d2
MB
4477 (readchar): Return a character unless load_each_byte is nonzero.
4478 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
4479 cons. If unread_char is not -1, simply return it.
4480 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
4481 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
4482 (read_multibyte): Delete.
aca7a3d2
MB
4483 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
4484 (read_emacs_mule_char): New functions.
4485 (Fload): Even if the file doesn't have the extention ".elc", if
4486 safe_to_load_p returns a positive version number, assume that the
4487 file contains bytecompiled code. If the version is less than 22,
4488 load the file while decoding multibyte sequences by emacs-mule.
4489 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
4490 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
4491 (Fread_from_string): Pay attention to the case that STREAM is a cons.
4492 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
4493 (read1): Set load_each_byte to 1 temporarily while handling
4494 #@NUMBER. Don't call read_multibyte.
4495 (read_vector): Call Fread with a cons. If readcharfun is
4496 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 4497 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
4498 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
4499 and Qload_force_doc_strings.
4500
73acf815 45012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4502
4503 * xdisp.c (face_before_or_after_it_pos): Call
4504 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
4505
73acf815 45062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4507
4508 * character.h (TRAILING_CODE_P): New macro.
1f45f627 4509 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
4510 (string_char_with_unification): Fix prototype.
4511 (Vscript_alist): Extern it.
4512
4513 * character.c (Vscript_alist): New variable.
4c4475a8
GM
4514 (string_char_with_unification, str_as_unibyte)
4515 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
4516 (syms_of_character): Declare script-alist as a Lisp variable.
4517
4518 * charset.h (Vcharset_ordered_list): Extern it.
4519 (charset_ordered_list_tick): Extern it.
4520 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
4521 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
4522 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
4523 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
1f45f627 4524 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
4525
4526 * charset.c (charset_ordered_list_tick): New variable.
4527 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
4528 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
4529 deunify intead of unify a charset.
4530 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
4531 (find_charsets_in_text): Add `const' to arguemnts and local variables.
4532 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
4533 detecting of invalid code.
4534 (Fset_charset_priority): Increment charset_ordered_list_tick.
4535 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
4536 and TO_CODE.
4537
4538 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
4539 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
4540 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
4541 (decode_coding_ccl, consume_chars)
4542 (Ffind_coding_systems_region_internal)
4543 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
4544
4545 * print.c (print_object): Use octal form for printing the
4546 contents of a bool vector.
4547
73acf815 45482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4549
4550 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
4551 <version == 20>: Refuse to load.
4552
73acf815 45532008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4554
4555 * fns.c: Move coding.h.
4556 (Qcodeset, Qdays, Qmonths): New.
4557 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 4558 (Flocale_codeset): Delete.
aca7a3d2 4559 (Flanginfo): New function.
1f45f627 4560 (syms_of_fns): Change accordingly.
aca7a3d2
MB
4561
4562 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
4563
73acf815 45642008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4565
4566 * casetab.c (init_casetab_once, init_casetab_once): Fix
4567 CHAR_TABLE_SET call.
4568
4569 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
4570
4571 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
4572
4573 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
4574 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
4575 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
4576
4577 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
4578
4579 * coding.c (ENCODE_DESIGNATION, decode_eol)
4580 (make_conversion_work_buffer, code_conversion_restore)
4581 (Fdefine_coding_system_internal): Convert Lisp types.
4582 (code_conversion_restore): Use EQ, not ==.
4583 (Fencode_coding_string): Fix code_convert_string call.
4584
4585 * coding.h (code_convert_region): Fix prototype.
4586
1f45f627 4587 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
4588
4589 * fontset.c (fontset_ref, fontset_set, fs_load_font)
4590 (Ffontset_info): Convert Lisp types.
4591
4592 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
4593
4594 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
4595
4596 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
4597
4598 * chartab.c: Include "...h", not <...h> in some cases.
4599
4600 * callproc.c (Fcall_process): Remove unused variables.
4601
73acf815 46022008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4603
4604 * coding.c (Fset_coding_system_priority): Allow null arg list.
4605
73acf815 46062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4607
4608 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
4609 (Fself_insert_and_exit): Use CHARACTERP.
4610
4611 * callproc.c (Fcall_process): Remove unused vars.
4612
4613 * xterm.c (XTread_socket): Add extra dead keysyms.
4614
4615 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
4616
4617 * dispextern.h: Remove prototypes for redraw_frame,
4618 redraw_garbaged_frames.
4619
4620 * cmds.c (Fself_insert_command): Use CHARACTERP.
4621
4622 * chartab.c (make_sub_char_table): Remove unused var.
4623 (Fset_char_table_default, Fmap_char_table): Doc fix.
4624
4625 * keymap.c (access_keymap): Remove generic char code.
4626 (push_key_description): Use CHARACTERP.
4627
73acf815 46282008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4629
4630 * charset.c: Doc fixes.
4631 (Funify_charset): Extra checking.
4632
73acf815 46332008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4634
4635 * lread.c: Remove some unused variables.
4636 (safe_to_load_p): If safe, return the magic number version byte.
4637 (Fload): Maybe use load-with-code-conversion.
4638
73acf815 46392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4640
4641 * category.c (Fmodify_category_entry): Don't modify the contents
4642 of category_set for characters out of the range. Avoid
4643 unnecessary modification.
4644
1f45f627 4645 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
4646 Vchar_unify_table. The default value of the table is now nil.
4647
4648 * character.c (syms_of_character): Setup Vchar_width_table for
4649 eight-bit-control and raw-byte chars.
4650
4651 * charset.h (enum define_charset_arg_index): Delete
4652 charset_arg_parents and add charset_arg_subset and
4653 charset_arg_superset.
4654 (enum charset_attr_index): Delete charset_parents and add
4655 charset_subset and charset_superset.
4656 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
4657 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 4658 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
4659 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
4660 (CHARSET_SUPERSET): New macros.
4661 (charset_work): Extern it.
4662 (ENCODE_CHAR): Use charset_work.
1f45f627 4663 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
4664 (map_charset_chars): Extern it.
4665
4666 * charset.c (load_charset_map): Set the default value of encoder
4667 and deunifier char-tables to nil.
1f45f627 4668 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
4669 map_char_table_for_charset instead of map_char_table.
4670 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 4671 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
4672 `define-charset' (:parents -> :subset or :superset).
4673 (charset_work): New variable.
4c4475a8
GM
4674 (encode_char, syms_of_charset): Adjust for the change of
4675 Fdefine_charset_internal.
aca7a3d2
MB
4676 (Ffind_charset_string): Setup the vector `charsets' correctly.
4677
1f45f627 4678 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 4679 the previous change.
1f45f627 4680 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
4681 (map_sub_char_table_for_charset): New function.
4682 (map_char_table_for_charset): New function.
4683
4684 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 4685 (describe_char_table): Delete.
aca7a3d2 4686
1f45f627 4687 * lisp.h (map_charset_chars): Delete.
aca7a3d2 4688
73acf815 46892008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4690
4691 * fns.c (count_combining): Comment out (unused).
4692 (Flocale_codeset): New.
4693 (syms_of_fns): Defsubr it.
4694
4695 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 4696 (size_t): Remove.
aca7a3d2 4697
73acf815 46982008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4699
4700 * Makefile.in (chartab.o): Depend on charset.h
4701
73acf815 47022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4703
4704 * character.c (syms_of_character): Set the default value of
4705 Vprintable_chars to Qnil.
4706
73acf815 47072008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4708
4709 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
4710
73acf815 47112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4712
4713 * charset.c (load_charset_map): Handle the case that from < to
4714 correctly.
4715
4c4475a8
GM
4716 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
4717 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
4718 Pay attention to raw-8-bit chars.
aca7a3d2 4719
73acf815 47202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4721
4c4475a8
GM
4722 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
4723 It is not bytecompiled now.
aca7a3d2
MB
4724
4725 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
4726 (charset_jisx0208): New variables.
4727 (Fdefine_charset_internal): Setup them if appropriate.
4728 (init_charset_once): Initialize them to -1.
4729
1f45f627
GM
4730 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
4731 (charset_jisx0208): Extern them.
aca7a3d2
MB
4732
4733 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
4734 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
4735 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
4736 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
4737 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
4738 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
4739 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
4740 (encode_coding_iso_2022): Change the 1st arg to
4741 ENCODE_ISO_CHARACTER to a variable.
4742
73acf815 47432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4744
4745 * charset.h (enum define_charset_arg_index): New enums
4746 charset_arg_min_code and charset_arg_max_code.
4747 (struct charset): New member char_index_offset.
4748
4c4475a8
GM
4749 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
4750 Take charset->char_index_offset into account.
aca7a3d2
MB
4751 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
4752 args[charset_arg_max_code]. Setup charset.char_index_offset.
4753 (syms_of_charset): Fix args to Fdefine_charset_internal.
4754
73acf815 47552008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4756
4757 * coding.c (decode_coding_utf_8): Reject overlong sequences.
4758
73acf815 47592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4760
4761 * coding.c: Doc fixes.
4762 (Fcoding_system_aliases): Fix return value.
4763 (Qmac): Remove (duplicated) definition.
4764
73acf815 47652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4766
4767 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
4768 functions.
4769
4770 * character.c (Fstring): Doc fix.
4771
4772 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
4773
4774 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
4775 ids.
4776 (font-encoding-alist): Doc fix.
4777
73acf815 47782008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4779
4780 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 4781 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
4782
4783 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
4784 for K&R.
4785
4786 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
4787
4788 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 4789 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 4790
1f45f627 4791 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
4792
4793 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
4794
73acf815 47952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4796
4797 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
4798
1f45f627 4799 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 4800
73acf815 48012008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
4802
4803 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
4804
1f45f627 4805 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 4806
73acf815 48072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4808
4c4475a8 4809 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 4810 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 4811
73acf815 48122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4813
1f45f627 4814 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
4815 Fdefine_coding_system_internal.
4816 (Fdefine_coding_system_internal): For a coding system of
4817 `charset' type, store a list of charset IDs in
4818 `charset_attr_charset_valids' element of coding attributes.
4819
73acf815 48202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4821
4822 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
4823 (emacs_mule_char): New arg src. Delete arg `composition'. Change
4824 caller. Handle 2-byte and 3-byte charsets correctly.
4825 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
4826 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
4827 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
4828 (DECODE_EMACS_MULE_21_COMPOSITION): Call
4829 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
4830 sequence.
4831 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 4832 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
4833 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
4834 and alt&rule composition.
4835 (decode_coding_iso_2022): Handle composition correctly.
4836 (init_coding_once): Setup emacs_mule_bytes for private charsets.
4837
4838 * charset.c (Fdefine_charset_internal): Fix bug for the case of
4839 re-defining a charset. If the charset has :emacs-mule-id, setup
4840 emacs_mule_bytes.
1f45f627 4841 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 4842
73acf815 48432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4844
4c4475a8
GM
4845 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
4846 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
4847 encoding, produce a character specified by
4848 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 4849
73acf815 48502008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4851
4852 * xterm.c (XSetIMValues): Declare.
4853
4854 * process.c: Conditionally include sys/wait.h, pty.h.
4855
1f45f627 4856 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 4857
1f45f627 4858 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
4859
4860 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
4861
4862 * fontset.c (Fclear_face_cache): Declare.
1f45f627 4863 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
4864 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
4865 variables.
4866
4867 * character.h (string_escape_byte8): Declare.
4868
4869 * charset.c (load_charset_map, load_charset_map_from_file): Remove
4870 unused vars.
4871 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
4872 (Fmap_charset_chars): Doc fix.
4873
1f45f627 4874 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
4875 (Fset_coding_system_priority, Fset_coding_system_priority)
4876 (Fdefine_coding_system_internal): Doc fix.
4877
73acf815 48782008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4879
4880 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
4881
73acf815 48822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4883
4884 * character.c (string_escape_byte8): Make multibyte string with
4885 correct size.
4886
4887 * charset.c (Fmake_char): Delete unnecessary code.
4888
73acf815 48892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4890
4891 * xfns.c (x_encode_text): Allocate coding.destination here, and
4892 call encode_coding_object with dst_object Qnil.
4893
4894 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
4895 multibyte form correctly.
4896
4897 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
4898 against Vfont_encoding_alist.
4899
4900 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
4901 handling of charset list.
4902 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
4903 (decode_coding_object): Move point to coding->dst_pos before
4904 calling post-read-conversion function.
4905 (encode_coding_object): Give correct arguments to
4906 pre-write-conversion. Ignore the return value of
4907 pre-write-conversion function. Pay attention to the case that
4908 pre-write-conversion changes the current buffer. If dst_object is
4909 Qt, even if coding->src_bytes is zero, allocate at least one byte
4910 to coding->destination.
4911
4912 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
4913
4914 * charset.c (Fmake_char): Make it more backward compatible.
4915 (Fmap_charset_chars): Fix docstring.
4916
73acf815 49172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4918
4919 * coding.c: Doc fixes.
4920 (Fdefine_coding_system_alias): Use names, not symbols, in
4921 coding-system-alist.
4922
73acf815 49232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4924
4925 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
4926 of calling free_realized_face.
4927
73acf815 49282008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 4929
1f45f627
GM
4930 * charset.c (read_hex): Don't treat SPC as a comment starter.
4931 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
4932 (Fdecode_char): Fix typo.
4933
73acf815 49342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4935
4936 * charset.h (struct charset): New member `code_space_mask'.
4937
1f45f627 4938 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
4939 (encode_coding_charset, Fdefine_coding_system_internal):
4940 Delete the local variable charset.
aca7a3d2
MB
4941 (Fdefine_coding_system_internal): Setup
4942 attrs[coding_attr_charset_valids] correctly.
4943
4944 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
4945 member to check if CODE is valid or not.
4946 (Fdefine_charset_internal): Initialize `code_space_mask' member.
4947 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
4948 is within the range of charset->min_code and carset->max_code.
4949
73acf815 49502008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4951
4952 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
4953
4954 * dispextern.h (generate_ascii_font): Fix return type.
4955
4956 * xfaces.c (generate_ascii_font): Fix arg declaration.
4957
4958 * coding.c (coding_inherit_eol_type)
4959 (Fset_terminal_coding_system_internal)
4960 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
4961
73acf815 49622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4963
4964 * coding.c (decode_coding_charset, encode_coding_charset): Handle
4965 multiple charsets correctly.
4966
73acf815 49672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4968
4969 * search.c (boyer_moore): Fix handling of mulitbyte character
4970 translation.
4971
4972 * xdisp.c (display_mode_element): When the variable `elt' is
4973 changed, update `this' and `lisp_string'.
4974
73acf815 49752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4976
4977 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
4978
4979 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 4980 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
4981
4982 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
4983 (load_charset_map): Rename from parse_charset_map. New args
4984 entries and n_entries. Change caller.
4985 (load_charset_map_from_file): Rename from load_charset_map.
4986 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
4987 the tail.
4988 (load_charset_map_from_vector): New function.
4989 (Fdefine_charset_internal): Setup charset.compact_codes_p.
4990 (encode_char): If the charset is compact, change a character index
4991 to a code point.
4992
4993 * coding.c (coding_alloc_by_making_gap): Check the case that the
4994 source and destination are the same correctly.
4995 (decode_coding_raw_text): Set coding->consumed_char and
4996 coding->consumed to 0.
4997 (produce_chars): If coding->chars_at_source is nonzero, update
4998 coding->consumed_char and coding->consumed before calling
4999 alloc_destination.
5000 (Fdefine_coding_system_alias): Register ALIAS in
5001 Vcoding_system_alist.
5002 (syms_of_coding): Define `no-convesion' coding system at the tail.
5003
5004 * fileio.c (Finsert_file_contents): Set coding_system instead of
5005 val. If the current buffer is multibyte, always call
5006 decode_coding_gap.
5007
5008 * xfaces.c (try_font_list): Give higher priority to fontset's
5009 family than face's family.
5010
73acf815 50112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5012
5013 * callproc.c (Fcall_process): Be sure to give the current buffer
5014 to decode_coding_c_string.
5015
5016 * xfaces.c (try_font_list): Give a family specified in a fontset
5017 higher priority than a family specified in a face.
5018
73acf815 50192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5020
5021 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
5022 Fix arguments to insert_from_buffer.
5023
5024 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
5025
73acf815 50262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5027
5028 * coding.c (produce_chars): Set the variable `multibytep' correctly.
5029 (decode_coding_gap): Set coding->dst_multibyte correctly.
5030
73acf815 50312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5032
5033 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 5034 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
5035 (encode_coding_utf_16): Substitute coding->default_char for
5036 non-Unicode characters.
5037 (decode_coding): Don't call record_insert here.
5038 (setup_coding_system): Initialize `surrogate' of
5039 coding->spec.utf_16 to 0.
5040 (EMIT_ONE_BYTE): Fix for multibyte case.
5041
5042 * insdel.c (insert_from_gap): Call record_insert.
5043
73acf815 50442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5045
5046 * casefiddle.c (casify_region): Fix multibyte case.
5047
5048 * character.c (c_string_width): Add return type `int'.
1f45f627 5049 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
5050
5051 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 5052 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
5053 (CHAR_STRING_ADVANCE): Make it do-while statement.
5054
1f45f627 5055 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
5056 DEPTH == 3. Add workaround code for a GCC optimization bug.
5057
5058 * charset.c (parse_charset_map): Remove an unused variable.
5059
5060 * coding.c: Delete unused variables.
5061
5062 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
5063 earlier. If inserted is zero and the coding system doesn't
5064 require flushing, don't call decode_coding_gap.
5065
5066 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
5067
73acf815 50682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5069
5070 The following changes are for using Unicode as an internal
5071 character model, and use UTF-8 format for buffer/string
5072 representation.
5073
1f45f627 5074 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
5075 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
5076
5077 * Makefile.in (obj): Add character.o and chartab.o.
5078 (lisp, shortlisp): Remove utf-8.elc:
5079 (*.o): For many files, change dependency on charset.h to
5080 character.h, and add dependency on character.h.
5081 (character.o, chartab.o): New targets.
5082
1f45f627
GM
5083 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
5084 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
5085 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
5086 of "charset.h".
5087
5088 * dired.c, filelock.c: Include "character.h".
5089
5090 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 5091 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
5092 (syms_of_alloc): Remove defsubr for Smake_char_table.
5093
5094 * buffer.c: Include "character.h" instead of "charset.h", don't
5095 include "coding.h".
1f45f627 5096 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
5097
5098 * buffer.h: EXFUN Fbuffer_live_p.
5099
5100 * callproc.c: Include "character.h" instead of "charset.h".
5101 (Fcall_process): Big change for the new code-conversion APIs.
5102
5103 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 5104 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
5105 map_char_table spec.
5106 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
5107 accessing the char table structure.
5108
5109 * chartab.c: New file that implements char table.
5110
5111 * category.c: Include "character.h".
5112 (copy_category_entry): New function.
5113 (copy_category_table): Call map_char_table and copy_category_entry.
5114 (Fmake_category_table): Initialize all top-vel slots.
5115 (char_category_set): New function.
1f45f627 5116 (modify_lower_category_set): Delete.
aca7a3d2
MB
5117 (Fmodify_category_entry): Call char_table_ref_and_range.
5118
5119 * category.h (CATEGORY_SET): Just call char_category_set.
5120
5121 * ccl.c: Include "character.h".
5122 (Qccl, Qcclp): New variables.
5123 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
5124 it's less than 256.
1f45f627
GM
5125 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
5126 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 5127 and DST type.
1f45f627
GM
5128 (ccl_driver): Change types of argument, adjust code accordingly.
5129 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
5130 ccl_driver.
5131 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
5132
1f45f627
GM
5133 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
5134 New members src_multibyte, dst_multibyte, consumed, and produced.
5135 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 5136 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 5137 (ccl_driver): Update prototype.
aca7a3d2
MB
5138 (Qccl, Qcclp, Fccl_program_p): Extern them.
5139 (CHECK_CCL_PROGRAM): New macro.
5140
5141 * character.c, character.h, chartab.c: New files.
5142
1f45f627
GM
5143 * charset.c: Mostly re-written. Move character and multibyte sequence
5144 handling codes to character.c.
aca7a3d2 5145
1f45f627
GM
5146 * charset.h: Mostly re-written. Move character and multibyte sequence
5147 handling codes to character.h.
aca7a3d2
MB
5148
5149 * coding.c, coding.h: Mostly re-written.
5150
5151 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
5152 (CHAR_WIDTH): Move to character.h.
5153 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 5154
1f45f627
GM
5155 * composite.h (enum composition_method): Change order of enumeration
5156 symbols.
aca7a3d2
MB
5157
5158 * data.c: Include "character.h" instead of "charset.h".
5159 (Faref): Call CHAR_TABLE_REF for a char table.
5160 (Faset): Call CHAR_TABLE_SET for a char table.
5161
1f45f627
GM
5162 * dispextern.h (free_realized_face, check_face_attribytes)
5163 (generate_ascii_font): Extern them.
5164 (free_realized_multibyte_face): Delete extern.
aca7a3d2 5165
1f45f627 5166 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
5167 table structure.
5168
5169 * editfns.c: Include "character.h" instead of "charset.h".
5170 (Fchar_to_string): Always call CHAR_STRING.
5171
5172 * emacs.c (main): Call init_charset_once, init_charset,
5173 syms_of_chartab, and syms_of_character.
5174
5175 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 5176 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 5177 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 5178 (build_annotations_2): Delete.
aca7a3d2
MB
5179 (e_write): Big change for the new code-conversion API.
5180
5181 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 5182 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
5183 (Fcopy_sequence): Call copy_char_table for a char table.
5184 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
5185 (string_char_to_byte, string_byte_to_char): Adjust for the new
5186 multibyte form.
1f45f627
GM
5187 (internal_equal): Adjust for the change of char table structure.
5188 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
5189 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
5190 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
5191 (char_table_translate, optimize_sub_char_table)
5192 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 5193 chartab.c.
1f45f627
GM
5194 (char_table_ref_and_index): Delete.
5195 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 5196 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
5197 Vcoding_category_list. Adjust for the new code-conversion API.
5198 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
5199 chartab.c.
5200
5201 * fontset.c: Mostly re-written.
5202
1f45f627 5203 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 5204 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
5205 (fontset_font_pattern, fs_load_font): Update prototype.
5206 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
5207
5208 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 5209 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
5210
5211 * insdel.c: Include "character.h" instead of "charset.h".
5212 (copy_text): Don't refer to Vnonascii_translation_table.
5213 (insert_from_gap): New function.
5214
5215 * keyboard.c: Include "character.h" instead of "charset.h".
5216 (command_loop_1): Never call direct_output_forward_char before
5217 a non-ASCII character.
5218 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 5219 translate a character.
aca7a3d2
MB
5220
5221 * keymap.c: Include "character.h".
5222 (store_in_keymap): Handle the case that IDX is a cons.
5223 (Fdefine_key): Handle the case that KEY is a cons and the car part
5224 is also a cons (range).
1f45f627 5225 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
5226 (describe_vector): Call describe_char_table for a char table.
5227 (describe_char_table): New function.
5228
5229 * keymap.h (describe_char_table): Extern it.
5230
5231 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
5232 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
5233 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
5234 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
5235 Delete.
5236 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
5237 structure.
5238 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
5239 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
5240 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 5241 (chartab_size): Extern it.
1f45f627 5242 (struct Lisp_Char_Table): Re-design.
aca7a3d2 5243 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
5244 (HASH_KEY, HASH_VALUE): Move from fns.c.
5245 (CHARACTERBITS): Define as 22.
5246 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
5247 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
5248 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
5249 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
5250 (code_convert_string_norecord): Deleted extern.
5251 (init_character_once, syms_of_character, init_charset)
5252 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
5253
5254 * lread.c: Include "character.h".
5255 (read_multibyte): New arg NBYTES.
1f45f627
GM
5256 (read_escape): Change the meaning of returned *BYTEREP.
5257 (to_multibyte): Delete.
5258 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
5259
5260 * print.c: Include "character.h" instead of "charset.h".
5261 (print_string): Convert 8-bit raw bytes to octal form by
5262 string_escape_byte8.
1f45f627 5263 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
5264 raw bytes always in octal form. Handle sub char table correctly.
5265
5266 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
5267 (read_process_output, send_process): Adjust for the new
5268 code-conversion API.
aca7a3d2 5269
1f45f627 5270 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
5271
5272 * regex.c: Include "character.h" instead of "charset.h".
5273 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
5274 (regex_compile): Accept a range whose starting and ending
5275 character have different leading bytes.
1f45f627 5276 (analyse_first): Adjust for the above change.
aca7a3d2
MB
5277
5278 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
5279 (search_buffer, boyer_moore): Adjust for the new multibyte form.
5280 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
5281
5282 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 5283 (syntax_parent_lookup): Delete.
aca7a3d2 5284 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 5285 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
5286 (init_syntax_once): Call char_table_set_range instead of directly
5287 accessing the structure of a char table.
5288
5289 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 5290 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
5291 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
5292 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
5293
5294 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
5295 (encode_terminal_code, write_glyphs): Adjust for the new
5296 code-conversion API.
aca7a3d2
MB
5297 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
5298
1f45f627 5299 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
5300
5301 * xdisp.c: Include "character.h".
1f45f627
GM
5302 (get_next_display_element): Adjust for the new multibyte form.
5303 (disp_char_vector): Adjust for the new char table structure.
5304 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 5305 coding system.
1f45f627 5306 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
5307
5308 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 5309 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
5310 FS_LOAD_FONT.
5311 (generate_ascii_font): New function.
1f45f627
GM
5312 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
5313 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 5314 (free_realized_face): Make it public.
1f45f627 5315 (free_realized_faces_for_fontset): Rename from
aca7a3d2 5316 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 5317 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
5318 fontset_font_pattern and FS_LOAD_FONT.
5319
5320 * xfns.c: Include "character.h".
1f45f627 5321 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
5322
5323 * xselect.c: Don't include "charset.h".
1f45f627 5324 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
5325
5326 * xterm.c: Include "character.h".
1f45f627 5327 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
5328 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
5329 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
5330 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
5331 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
5332 (XTread_socket): Adjust for the new code-conversion API.
5333 (x_new_font): Adjust for the change of FS_LOAD_FONT.
5334 (x_load_font): Adjust for the change of struct font.
aca7a3d2 5335
d6abfc14
SM
53362008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
5337
5338 * xfaces.c (face_at_buffer_position): Remove unused vars.
5339
0acdaf8d
KH
53402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5341
4c4475a8
GM
5342 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
5343 Fix overflow checking.
0acdaf8d 5344
6c8a0ebf
GM
53452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5346
5347 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
5348 Cancel previous change.
5349
53502008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
5351
5352 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
5353 ccl->eight_bit_control. Fix check for buffer overflow.
5354 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
5355 (ccl_driver): Initialize extra_bytes to 0.
5356
a32aad64
KH
53572008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
5358
5359 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
5360 return it ORed with ctrl_modifier.
5361
8b329dba
MB
53622008-01-29 Miles Bader <miles@gnu.org>
5363
5364 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
5365
548667aa
JR
53662008-01-28 Jason Rumney <jasonr@gnu.org>
5367
5368 * w32.c (stat): Don't double check for networked drive.
5369
0975aa24
SM
53702008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
5371
ef264c42
SM
5372 * window.c (run_window_configuration_change_hook): New function.
5373 Code extracted from set_window_buffer. Set the selected frame.
5374 (set_window_buffer): Use it.
5375 * window.h (run_window_configuration_change_hook): Declare.
5376 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
5377
0975aa24
SM
5378 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
5379
9c28b587
DN
53802008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
5381
5382 * Makefile.in: Remove references to unused macros.
5383
c617afce
EZ
53842008-01-26 Eli Zaretskii <eliz@gnu.org>
5385
5386 * w32.c (g_b_init_get_sid_sub_authority)
5387 (g_b_init_get_sid_sub_authority_count): New static variables.
5388 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
5389 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
5390 (init_user_info): Use them to retrieve uid and gid.
5391 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
5392 (fstat): Use pw_uid and pw_gid from the_passwd structure for
5393 st_uid and st_gid of the file.
c617afce 5394
302d7d54
JR
53952008-01-26 Jason Rumney <jasonr@gnu.org>
5396
5397 * w32.c (logon_network_drive): New function.
5398 (stat): Use it.
5399
3ac7a21e
CY
54002008-01-26 Chong Yidong <cyd@stupidchicken.com>
5401
5402 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
5403 invisible text covered with an ellipsis.
5404
bbb9fc1f
RS
54052008-01-25 Richard Stallman <rms@gnu.org>
5406
5407 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
5408 jump back to beginning. Move some other initializations after that.
5409 (Qwindow_text_change_functions, Vwindow_text_change_functions):
5410 New variables.
5411 (syms_of_xdisp): Init them.
5412
5413 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
5414
0975aa24
SM
5415 * buffer.c (reset_buffer_local_variables):
5416 Implement `permanent-local-hook'.
bbb9fc1f 5417 (Qpermanent_local_hook): New variable.
0975aa24 5418 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 5419
79235cbe
MA
54202008-01-25 Michael Albinus <michael.albinus@gmx.de>
5421
5422 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
5423
ccd8f7fe
TTN
54242008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
5425
5426 * fns.c (Fclrhash): Return TABLE.
5427
dfbe40f2 54282008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
5429
5430 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
5431 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
5432 is set even without positional changes.
5433 (x_scroll_bar_clear): Set bar->redraw_needed_p.
5434
5435 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
5436
dfbe40f2 54372008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 5438
d6169680
JR
5439 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
5440
602e142f
JR
5441 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
5442 the unicode range available in MULE by locale-coding-system.
c041e2d1 5443 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
5444 earlier.
5445
dfbe40f2 54462008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
5447
5448 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
5449 [MAC_OSX] (init_mac_osx_environment): Initialize it.
5450 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5451 when used on child processes.
5452
8c7a4ac5
MA
54532008-01-21 Michael Albinus <michael.albinus@gmx.de>
5454
e0df1b73 5455 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 5456 Fdbus_method_return.
e0df1b73 5457 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 5458 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 5459 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 5460
8abe0f97
MR
54612008-01-20 Martin Rudalics <rudalics@gmx.at>
5462
5463 * undo.c (undo_inhibit_record_point): New variable.
5464 (syms_of_undo): Initialize it.
5465 (record_point): Don't record point when undo_inhibit_record_point
5466 is set.
5467
c3b232e4
SM
54682008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
5469
e69c4cae
SM
5470 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
5471
823e0ebb
SM
5472 * xdisp.c (Qauto_hscroll_mode): New var.
5473 (syms_of_xdisp): Initialize it.
5474 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
5475 window's buffer.
5476 (hscroll_windows): Don't check automatic_hscrolling_p here.
5477
c3b232e4
SM
5478 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
5479 vscroll if we're setting window-buffer to the value it already has.
5480
76ed5e01
DN
54812008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
5482
5483 * m/intel386.h: Remove references to XENIX.
5484
55e6d9b2
AS
54852008-01-17 Andreas Schwab <schwab@suse.de>
5486
5487 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
5488 instead of HAVE_X86_64_LIB64_DIR.
5489 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
5490
b16ed52d
GM
54912008-01-17 Glenn Morris <rgm@gnu.org>
5492
5493 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
5494 to HAVE_X86_64_LIB64_DIR.
5495
6bed5c4a
DN
54962008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
5497
5498 * s/irix3-3.h:
5499 * s/irix4-0.h:
5500 * s/386-ix.h:
5501 * s/domain.h:
5502 * s/hpux9-x11r4.h:
5503 * s/hpux9shxr4.h: Remove files for systems no longer supported.
5504
5505 * sysdep.c: Remove code containing references to symbols defined
5506 by unsupported systems.
5507
fdecf907
GM
55082008-01-16 Glenn Morris <rgm@gnu.org>
5509
5510 * coding.c (select-safe-coding-system-function): Doc fix.
5511
9292328f
GM
55122008-01-15 Glenn Morris <rgm@gnu.org>
5513
5514 * config.in: Revert 2008-01-13 change: this is a generated file.
5515
944df511
MO
55162008-01-13 Tom Tromey <tromey@redhat.com>
5517
5518 * lisp.h: Fix typo.
5519
8111ec05
DN
55202008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
5521
f40f5dc3
DN
5522 * m/sequent-ptx.h:
5523 * m/sequent.h:
5524 * s/ptx.h:
5525 * s/ptx4-2.h:
5526 * s/ptx4.h: Remove files for systems no longer supported.
5527
ce20b664 5528 * callproc.c (Fcall_process): Fix previous change.
8111ec05 5529
e39a993c
DN
55302008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
5531
052e457f 5532 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 5533
ce20b664
JB
5534 * src/m/mips.h:
5535 * src/m/intel386.h:
e39a993c
DN
5536 * callproc.c:
5537 * config.in:
5538 * ecrt0.c:
5539 * emacs.c:
5540 * fileio.c:
5541 * frame.c:
5542 * getpagesize.h:
5543 * keyboard.c:
5544 * lread.c:
5545 * process.c:
5546 * puresize.h:
5547 * sysdep.c:
5548 * systty.h:
5549 * syswait.h:
5550 * unexec.c:
5551 * xdisp.c:
5552 * alloc.c: Remove code containing references to symbols defined by
5553 unsupported systems.
5554
81cd7687
KH
55552008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
5556
5557 * coding.c (detect_coding_mask): Fix previous change.
5558
c0323133
GM
55592008-01-10 Chong Yidong <cyd@stupidchicken.com>
5560
5561 * process.c (wait_reading_process_output): Check for window
5562 changes caused by timers.
5563
218b3b76
KH
55642008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
5565
5566 * coding.c (detect_coding_iso2022): New arg
5567 latin_extra_code_state. Allow Latin extra codes only
5568 when *latin_extra_code_state is nonzero.
5569 (detect_coding_mask): If there is a NULL byte, detect the encoding
5570 as UTF-16 or binary. If Latin extra codes exist, detect the
5571 encoding as ISO-2022 only when there's no other proper encoding is
5572 found.
5573
59ce725a 55742008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 5575
59ce725a
MB
5576 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
5577 #ifdef MAC_OS.
048addec 5578
59ce725a 55792008-01-08 Richard Stallman <rms@gnu.org>
048addec 5580
59ce725a 5581 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 5582
8290574e
NR
55832008-01-06 Nick Roberts <nickrob@snap.net.nz>
5584
a0a3805c 5585 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
5586 menu bar in parentheses.
5587
f3041af1
DN
55882008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
5589
5590 * m/7300.h:
5591 * m/acorn.h:
5592 * m/alliant-2800.h:
5593 * m/alliant.h:
5594 * m/alliant1.h:
5595 * m/alliant4.h:
5596 * m/altos.h:
5597 * m/amdahl.h:
5598 * m/apollo.h:
5599 * m/att3b.h:
5600 * m/aviion-intel.h:
5601 * m/aviion.h:
5602 * m/celerity.h:
5603 * m/clipper.h:
5604 * m/cnvrgnt.h:
5605 * m/convex.h:
5606 * m/cydra5.h:
5607 * m/delta88k.h:
5608 * m/dpx2.h:
5609 * m/dual.h:
5610 * m/elxsi.h:
5611 * m/f301.h:
5612 * m/gould-np1.h:
5613 * m/gould.h:
5614 * m/i860.h:
5615 * m/ibmps2-aix.h:
5616 * m/ibmrt-aix.h:
5617 * m/ibmrt.h:
5618 * m/irist.h:
5619 * m/is386.h:
5620 * m/isi-ov.h:
5621 * m/mega68.h:
5622 * m/mg1.h:
5623 * m/news-r6.h:
5624 * m/news-risc.h:
5625 * m/news.h:
5626 * m/nh3000.h:
5627 * m/nh4000.h:
5628 * m/ns16000.h:
5629 * m/ns32000.h:
5630 * m/nu.h:
5631 * m/orion.h:
5632 * m/orion105.h:
5633 * m/paragon.h:
5634 * m/pfa50.h:
5635 * m/plexus.h:
5636 * m/pyramid.h:
5637 * m/pyrmips.h:
5638 * m/sh3el.h:
5639 * m/sps7.h:
5640 * m/sr2k.h:
5641 * m/stride.h:
5642 * m/sun1.h:
5643 * m/sun2.h:
5644 * m/sun3-68881.h:
5645 * m/sun3-fpa.h:
5646 * m/sun3-soft.h:
5647 * m/sun3.h:
5648 * m/sun386.h:
5649 * m/symmetry.h:
5650 * m/tad68k.h:
5651 * m/tahoe.h:
5652 * m/targon31.h:
5653 * m/tek4300.h:
5654 * m/tekxd88.h:
5655 * m/tower32.h:
5656 * m/tower32v3.h:
5657 * m/ustation.h:
5658 * m/wicat.h:
5659 * m/xps100.h:
5660 * s/cxux.h:
5661 * s/cxux7.h:
5662 * s/dgux.h:
5663 * s/dgux4.h:
5664 * s/dgux5-4-3.h:
5665 * s/dgux5-4r2.h:
5666 * s/esix.h:
5667 * s/esix5r4.h:
5668 * s/hiuxmpp.h:
5669 * s/hiuxwe2.h:
5670 * s/iris3-5.h:
5671 * s/iris3-6.h:
5672 * s/isc2-2.h:
5673 * s/isc3-0.h:
5674 * s/isc4-0.h:
5675 * s/isc4-1.h:
5676 * s/newsos5.h:
5677 * s/newsos6.h:
5678 * s/osf1.h:
5679 * s/osf5-0.h:
5680 * s/riscix1-1.h:
5681 * s/riscix12.h:
5682 * s/sco4.h:
5683 * s/sco5.h:
5684 * s/sunos4-0.h:
5685 * s/sunos4-1.h:
5686 * s/sunos413.h:
5687 * s/sunos4shr.h:
5688 * s/umax.h:
5689 * s/unipl5-2.h:
5690 * s/xenix.h:
5691 * cxux-crt0.s:
5692 * unexapollo.c:
5693 * unexconvex.c:
5694 * unexenix.c:
5695 * unexsni.c: Remove files for systems no longer supported.
5696
5697 * m/intel386.h: Remove references to unsupported systems.
5698
5699 * w32.c (get_emacs_configuration): Remove reference to i860.
5700
5701 * sysdep.c: Remove dead code.
5702
d35e1cd7
DN
57032008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
5704
5705 * s/rtu.h:
a0a3805c 5706 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 5707
abe136ee
MA
57082008-01-04 Michael Albinus <michael.albinus@gmx.de>
5709
5710 * dbusbind.c (Fdbus_method_return): New function.
5711 (xd_read_message): Add the serial number to the event.
5712 (Fdbus_register_method): Activate the function.
5713
87df3c32
SM
57142008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
5715
5716 * keyboard.c (read_key_sequence): Fix typo.
5717
5125905e
MA
57182008-01-03 Michael Albinus <michael.albinus@gmx.de>
5719
5720 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
5721 (xd_signature, xd_append_arg): Handle element type detection for
5722 empty arrays.
5723 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
5724 SDATA () calls; this must be solved more general.
5725 (Fdbus_register_signal): Use SBYTES instead of strlen.
5726
8bba1b5c
MH
57272008-01-03 Magnus Henoch <magnus@zemdatav>
5728
5729 * dbusbind.c (xd_append_arg): Use unsigned char instead of
5730 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 5731 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 5732
a0a3805c 57332007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
5734
5735 * dbusbind.c (xd_read_message): Use non-static input_event struct.
5736
a271e124
MH
57372007-12-31 Magnus Henoch <mange@freemail.hu>
5738
5739 * dbusbind.c (xd_signature): Signature of variant is just "v".
5740
17bc8f94
MA
57412007-12-30 Michael Albinus <michael.albinus@gmx.de>
5742
87df3c32
SM
5743 * dbusbind.c: Fix several errors and compiler warnings.
5744 Reported by Tom Tromey <tromey@redhat.com>
17bc8f94
MA
5745 (XD_ERROR, XD_DEBUG_MESSAGE)
5746 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
5747 (xd_append_arg): Part for basic D-Bus types rewitten.
5748 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
5749 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
5750 appropriate.
5751 (xd_read_message): Return Qnil. Don't signal an error; it is not
5752 useful during event reading.
5753 (Fdbus_register_signal): Signal an error if the check for
5754 FUNCTIONP fails.
5755 (Fdbus_register_method): New function. The implementation is not
5756 complete, the call of the function signals an error therefore.
5757 (Fdbus_unregister_object): New function, renamed from
5758 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 5759 the object is not well formed.
17bc8f94 5760
dd6f2802
RS
57612007-12-30 Richard Stallman <rms@gnu.org>
5762
5763 * textprop.c (get_char_property_and_overlay):
5764 Signal error if POSITION is out of range in a buffer.
5765
1da8a031
MR
57662007-12-29 Martin Rudalics <rudalics@gmx.at>
5767
5768 * w32fns.c (Fx_create_frame): Make copy of frame parameters
5769 because the original parameters are in pure storage now.
5770
5742be86
YM
57712007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5772
5773 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
5774
b014713c
EZ
57752007-12-22 Eli Zaretskii <eliz@gnu.org>
5776
b17f53ab
MB
5777 * callint.c (syms_of_callint) <command-history>: Add reference to
5778 history-length in the doc string.
048addec 5779
b17f53ab 57802007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 5781
b17f53ab
MB
5782 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
5783 before passing as wParam.
048addec 5784
9af5078b
MA
57852007-12-22 Michael Albinus <michael.albinus@gmx.de>
5786
5787 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
5788 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
5789 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
5790 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
5791 as number.
5792 (Fdbus_call_method): Fix docstring.
5793
87cf1a39
MA
57942007-12-21 Michael Albinus <michael.albinus@gmx.de>
5795
5796 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
5797 New macros.
87df3c32 5798 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
5799 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
5800 Simplify.
87cf1a39
MA
5801 (xd_signature): New function.
5802 (xd_append_arg): Compute also signatures. Major rewrite.
5803 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
5804 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
5805 Check for signatures of arguments.
87cf1a39 5806
54371585
MA
58072007-12-19 Michael Albinus <michael.albinus@gmx.de>
5808
5809 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
5810 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
5811 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
5812 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
5813 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 5814 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
5815 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
5816 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 5817 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
5818 (xd_append_arg): New function.
5819 (Fdbus_call_method, Fdbus_send_signal): Apply it.
5820
f5306ca3
MA
58212007-12-16 Michael Albinus <michael.albinus@gmx.de>
5822
5823 * dbusbind.c (top): Include <stdio.h>.
5824 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
5825 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
5826 (Fdbus_register_signal): Rename unique_name to uname.
5827 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
5828 non-existing unique name. Fix typos in matching rule. Return an
5829 object which is useful in Fdbus_unregister_signal.
5830 (Fdbus_unregister_signal): Reimplementation, in order to remove
5831 only the corresponding entry.
5832 (Vdbus_registered_functions_table): Change the order of entries.
5833 Apply these changes in xd_read_message and Fdbus_register_signal.
5834
77a28bbf
AS
58352007-12-16 Andreas Schwab <schwab@suse.de>
5836
5837 * fileio.c (Finsert_file_contents): Fix overflow check to not
5838 depend on undefined integer overflow.
5839
2e3566d8
JR
58402007-12-14 Jason Rumney <jasonr@gnu.org>
5841
5842 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
5843 for characters above 127.
5844
bf254037
JR
58452007-12-13 Jason Rumney <jasonr@gnu.org>
5846
5847 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
5848 before dereferencing array.
5849 (lookup_vk_code): Remove zero comparison.
5850
eb7c7bf5
MA
58512007-12-14 Michael Albinus <michael.albinus@gmx.de>
5852
5853 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
5854 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
5855 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
5856 (xd_read_message, Fdbus_register_signal): Split expressions into
5857 multiple lines before operators "&&" and "||", according to the
5858 GNU Coding Standards.
5859
34fb0fc9
EZ
58602007-12-14 Eli Zaretskii <eliz@gnu.org>
5861
5862 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
5863
c7d97628
JL
58642007-12-12 Juri Linkov <juri@jurta.org>
5865
5866 * buffer.c (Frename_buffer): In interactive spec replace
5867 `read-buffer' with `read-string' that uses `buffer-name-history'
5868 as history, and the current buffer's name as default.
5869
3709505e
SM
58702007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
5871
5872 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
5873 manipulating the backtrace manually.
5874 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
5875 (struct backtrace, backtrace_list): Remove.
5876 (command_loop_1): Remove dead var `no_direct'.
5877
5878 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
5879 preserve non-built-in buffer-local variables.
5880 (Fkill_all_local_variables): Don't re-create&re-set permanent
5881 buffer-local variables.
5882
e2bec886
JL
58832007-12-09 Juri Linkov <juri@jurta.org>
5884
5885 * buffer.c (Frename_buffer): Change interactive spec from "s" to
5886 Lisp code that uses `read-buffer' with current buffer as default.
5887
a31d47c7
MA
58882007-12-08 Michael Albinus <michael.albinus@gmx.de>
5889
5890 * dbusbind.c (xd_read_message): Generate an event for every
5891 registered handler. There might be several handlers registered
5892 for the same signal.
5893 (Fdbus_register_signal): Don't overwrite a registration for the
5894 same signal. Add a new registration if handlers are different.
5895 (Vdbus_registered_functions_table): Rework doc string.
5896
52da95fa
MA
58972007-12-07 Michael Albinus <michael.albinus@gmx.de>
5898
5899 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
5900 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
5901 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
5902 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
5903 Unify argument lists.
a0a3805c 5904 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
5905 arguments and hash table keys. Use unique name for service.
5906 (Fdbus_unregister_signal): Remove checks.
5907 (Vdbus_registered_functions_table): Fix doc string.
5908
e5e76c04 59092007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
5910
5911 * process.c (make_process): Initialize pty_flag to 0.
5912
e5e76c04 59132007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
5914
5915 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
5916 specified XBMs.
5917
e5e76c04 59182007-12-05 Richard Stallman <rms@gnu.org>
048addec 5919
e5e76c04 5920 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 5921
e5e76c04 59222007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 5923
e5e76c04
MB
5924 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
5925 New variable.
5926 (mac_try_close_socket) [MAC_OSX]: New function.
5927 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
5928 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 5929
e5e76c04
MB
5930 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
5931 Use mac_try_close_socket.
048addec 5932
e5e76c04 59332007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 5934
e5e76c04
MB
5935 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
5936 reloc_base.
5937 (copy_dysymtab): Compute relocation base here.
5938 (rebase_reloc_address) [__ppc64__]: New function.
5939 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
5940 changed.
048addec 5941
e5e76c04 59422007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 5943
e5e76c04 5944 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 5945
e5e76c04 59462007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 5947
e5e76c04
MB
5948 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
5949 __objc_* sections.
5950 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 5951
96faeb40
MA
59522007-12-05 Michael Albinus <michael.albinus@gmx.de>
5953
5954 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
5955 Move check for Vdbus_registered_functions_table to
5956 xd_read_queued_messages.
5957 (xd_read_queued_messages): Protect xd_read_message calls by
5958 internal_condition_case_1.
5959
39abdd4a
MA
59602007-12-04 Michael Albinus <michael.albinus@gmx.de>
5961
87df3c32 5962 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 5963 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 5964 (Vdbus_intern_symbols): Remove.
39abdd4a 5965 (Vdbus_registered_functions_table): New hash table.
87df3c32 5966 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 5967 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 5968 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
5969 Vdbus_registered_functions_table.
5970
7ba30657
JD
59712007-12-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5972
5973 * xterm.c: Update URL to Window Manager Specification in comment.
5974
033b73e2
MA
59752007-12-02 Michael Albinus <michael.albinus@gmx.de>
5976
5977 * config.in (HAVE_DBUS): Add.
5978
a0a3805c 5979 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
5980 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
5981 (obj): Add $(DBUS_OBJ).
5982 (LIBES): Add $(DBUS_LIBS).
5983 (dbusbind.o): New target.
5984
5985 * dbusbind.c: New file.
5986
5987 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
5988
5989 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 5990 (Qdbus_event): New Lisp symbol.
033b73e2 5991 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 5992 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
5993 (keys_of_keyboard ): Define dbus-event.
5994
5995 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
5996
39d0bf74
RS
59972007-12-01 Richard Stallman <rms@gnu.org>
5998
5999 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
6000
f3157c65
JR
60012007-11-30 Jason Rumney <jasonr@gnu.org>
6002
6003 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
6004 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
6005 (w32_face_attributes): Don't use color indexes that are out of range.
6006 Only reverse the default colors.
f3157c65
JR
6007
6008 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
6009 WINDOWSNT.
6010
6011 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
6012
b510360c
JR
60132007-11-29 Jason Rumney <jasonr@gnu.org>
6014
6015 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
6016 (w32_face_attributes): Use Vtty_defined_color_alist to determine
6017 if the terminal colors are initialized.
6018 (unspecified_fg, unspecified_bg): Remove unused declarations.
6019
4b7ab1c4
AS
60202007-11-29 Andreas Schwab <schwab@suse.de>
6021
6022 * keyboard.c (apply_modifiers): Fix typo.
6023
4bb6c266
RS
60242007-11-29 Richard Stallman <rms@gnu.org>
6025
6026 * keymap.c (Fcurrent_local_map): Doc fix.
6027
aa44cd84
GM
60282007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
6029
6030 * s/gnu-kfreebsd.h: New file.
6031
21ec2c43
SM
60322007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
6033
cc648cef
SM
6034 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
6035 Don't cast redundantly.
6036
21ec2c43
SM
6037 * keyboard.c (KEY_TO_CHAR): New macro.
6038 (parse_modifiers, apply_modifiers): Accept integer arguments.
6039 (read_key_sequence): Use them to unify the "shift->unshift" mapping
6040 for chars and symbol keys.
6041 After doing such remapping, apply function-key-map again.
6042
73e72da4
DN
60432007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
6044
6045 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
6046 compiled anymore.
6047
254693ff
AS
60482007-11-26 Andreas Schwab <schwab@suse.de>
6049
6050 * process.c (list_processes_1): Fix indentation level of the
6051 command column.
6052
ff6e6ac8
AS
60532007-11-23 Andreas Schwab <schwab@suse.de>
6054
6055 * editfns.c (Fformat): Handle %c specially since it requires the
6056 argument to be of type int.
6057
f7cf8b20
SM
60582007-11-23 Markus Triska <markus.triska@gmx.at>
6059
6060 * emacs.c (main): Call init_editfns before init_process, since
6061 init_process sets Vprocess_connection_type depending on OS release
6062
569c11e3
SM
60632007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
6064
8787dd73
SM
6065 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
6066 (find_symbol_value): Use do_symval_forwarding.
6067
569c11e3
SM
6068 * data.c (set_internal): Set the value in the `cons-cell' (for
6069 Buffer_Local_values) not only for frame-local variables.
6070
6af1696d
AS
60712007-11-22 Andreas Schwab <schwab@suse.de>
6072
6073 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
6074 values to sprintf.
6075 * keymap.c (Fsingle_key_description): Likewise.
6076 * print.c (print_object): Likewise.
6077
d4ad8c04
JD
60782007-11-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6079
6080 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
6081 file for image is nil.
6082
7c401d15
DN
60832007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
6084
6085 * term.c: Include stdarg.h.
569c11e3 6086 (fatal): Implement using varargs.
a0a3805c 6087 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 6088
64e16c3c
SM
60892007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
6090
6091 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
6092 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
6093 Update call to buffer_slot_type_mismatch.
6094 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
6095 (buffer_slot_type_mismatch): Update.
6096 * buffer.c (buffer_local_types): Remove.
6097 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
6098 (defvar_per_buffer): Set the type in the buffer_objfwd.
6099
d4aa48db 61002007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 6101
64e16c3c
SM
6102 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
6103 CreateFileMapping returns NULL on failure.
5f42a7eb 6104
d4aa48db 61052007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 6106
d4aa48db
MB
6107 * search.c (Fset_match_data): Remove the `evaporate' feature.
6108 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 6109
bdae0540
JR
61102007-11-21 Jason Rumney <jasonr@gnu.org>
6111
6112 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
6113
6114 * w32console.c (w32con_write_glyphs): Remove unused variables.
6115
202c09a8
DN
61162007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
6117
b951420f
DN
6118 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
6119
202c09a8
DN
6120 * s/darwin.h (MULTI_KBOARD): Remove.
6121
6122 * macfns.c (x_create_tip_frame, Fx_create_frame)
6123 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
6124
bae72c12
SM
61252007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
6126
e7c10f83
SM
6127 * buffer.c (Fbuffer_local_value): Remove redundant test.
6128 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
6129 than in `current-buffer' to match the comment.
6130 Do the swap using swap_in_global_binding.
6131
136eb6ed
SM
6132 * data.c (store_symval_forwarding, set_internal):
6133 * eval.c (specbind): Remove dead code.
6134
bae72c12
SM
6135 * coding.c (detect_coding, Fupdate_coding_systems_internal):
6136 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
6137 Since we do not want to see internal Lisp_*fwd objects here.
6138
95fbaefc
JD
61392007-11-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6140
3d66b985
JD
6141 * sysdep.c (init_system_name): Use getaddrinfo if available.
6142
95fbaefc
JD
6143 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
6144 (x_scroll_bar_note_movement): start, end, with, height in struct
6145 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
6146
6c1d8cb6
DN
61472007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
6148
6149 * puresize.h (BASE_PURESIZE): Increase to 1190000.
6150
30f95089
SM
61512007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
6152
66b04bd4
SM
6153 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
6154 This undoes Richard's change of 14-Oct-2002.
6155
6d3f2bb2
SM
6156 * alloc.c (allocate_other_vector):
6157 * lisp.h (allocate_other_vector): Remove.
6158
b05b4e27
SM
6159 * window.c (struct save_window_data): Move non-lisp data to the end
6160 and make it `int' rather than Lisp_Object.
6161 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
6162 Done wrap/unwrap integer values.
6163 (Fset_window_configuration, compare_window_configurations):
6164 Update use of fields to their new types.
6165
056ce195
SM
6166 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
6167 Turn integer fields into `int'. Merge x_window_low and x_window_high.
6168 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
6169 (SET_SCROLL_BAR_X_WINDOW): Remove.
6170 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
6171 Access the new x_window field directly.
6172 * xterm.c (x_scroll_bar_create): Use a pseudovector.
6173 Don't wrap/unwrap integers into Lisp_Objects.
6174 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
6175 (x_scroll_bar_report_motion):
6176 Don't wrap/unwrap integers into Lisp_Objects.
6177 (x_term_init): Use SDATA.
6178 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
6179 (x_scroll_bar_set_handle, x_scroll_bar_remove)
6180 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
6181 (x_scroll_bar_report_motion, x_scroll_bar_clear):
6182 * xfns.c (x_set_background_color):
6183 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
6184 Access the new x_window field directly.
6185
30f95089
SM
6186 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
6187 (allocate_pseudovector): Make non-static.
6d3f2bb2 6188
30f95089
SM
6189 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
6190 (allocate_pseudovector): Declare.
6191 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c
6192
9b6112e8
AS
61932007-11-15 Andreas Schwab <schwab@suse.de>
6194
30f95089
SM
6195 * editfns.c (Fformat): Correctly format EMACS_INT values.
6196 Also take precision into account when formatting an integer.
0f860bd7 6197
9b6112e8
AS
6198 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
6199
262fcd41
SM
62002007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
6201
58da34c7
SM
6202 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
6203 (syms_of_keyboard): Defsubr it.
6204
262fcd41
SM
6205 * data.c (swap_in_global_binding): Fix longstanding bug where
6206 store_symval_forwarding was not called with the right second argument,
6207 thus causing objfwd-ing from being dropped.
6208
d29a9848
JB
62092007-11-14 Juanma Barranquero <lekktu@gmail.com>
6210
6211 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
6212 (Fx_display_pixel_height, Fx_display_planes)
6213 (Fx_display_color_cells, Fx_server_max_request_size)
6214 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
6215 (Fx_display_visual_class, Fx_display_save_under):
6216 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
6217 (Fx_display_pixel_height, Fx_display_planes)
6218 (Fx_display_color_cells, Fx_server_max_request_size)
6219 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
6220 (Fx_display_mm_height, Fx_display_mm_width)
6221 (Fx_display_backing_store, Fx_display_visual_class)
6222 (Fw32_select_font, Fx_display_save_under):
6223 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
6224 (Fx_display_pixel_height, Fx_display_planes)
6225 (Fx_display_color_cells, Fx_server_max_request_size)
6226 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
6227 (Fx_display_save_under): Fix typos in docstrings.
6228
74084731
JB
62292007-11-14 Juanma Barranquero <lekktu@gmail.com>
6230
6231 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
6232 corresponding to deleted entries; they are an implementation detail.
6233 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
6234 Remove variables.
6235 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
6236 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
6237 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
6238 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
6239 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 6240 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 6241 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
6242 Fix typos in docstrings.
6243 (Fx_server_version): Reflow docstring.
6244 (Fw32_shell_execute): Doc fixes.
74084731 6245
fb053a1f
JB
62462007-11-13 Juanma Barranquero <lekktu@gmail.com>
6247
6248 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
6249 if w32_parse_hot_key returned nil.
6250
a457417e 62512007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 6252
a457417e 6253 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 6254
4b219faa
JR
62552007-11-09 Jason Rumney <jasonr@gnu.org>
6256
6257 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
6258
6259 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
6260
6261 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
6262 Remove W32_SCROLL_BAR_CLICK_EVENT.
6263
6264 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
6265 Add MULTIMEDIA_KEY_EVENT.
6266
6267 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
6268 (lispy_multimedia_keys) [WINDOWSNT]: New array.
6269 (make_lispy_event) [WINDOWSNT]: Use it to translate
6270 MULTIMEDIA_KEY_EVENT.
6271
6272 * w32term.h (WM_APPCOMMAND): Define if not already.
6273 (GET_APPCOMMAND_LPARAM): Likewise.
6274
6275 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
6276 WM_APPCOMMAND.
6277
6278 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
6279 (syms_of_w32fns): Export and initialize it.
6280 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
6281
c12ecb0a 62822007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
6283
6284 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
6285 twice.
6286
6287 * xdisp.c (handle_face_prop): Fix last change.
6288
c12ecb0a 62892007-11-09 Richard Stallman <rms@gnu.org>
048addec 6290
c12ecb0a
MB
6291 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
6292 not just for after-strings and before-strings.
6293 Call face_for_overlay_string and pass the overlay to it.
6294 (handle_display_prop): Determine whether property came from an overlay.
6295 Pass OVERLAY arg to handle_single_display_spec.
6296 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
6297 (load_overlay_strings): Fill in it->string_overlays.
6298 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 6299
c12ecb0a
MB
6300 * xfaces.c (face_for_overlay_string): Function renamed from
6301 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 6302
c12ecb0a
MB
6303 * dispextern.h (struct it): New elt string_overlays.
6304 New elt from_overlay, also in stack.
6305 Rearrange a few elements.
6306 (face_for_overlay_string): Decl renamed from
6307 face_at_buffer_position_no_overlays, and add argument.
15fff01d 6308
c12ecb0a 63092007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 6310
c12ecb0a
MB
6311 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
6312 to get the base face for an overlay string.
0d8466cc 6313
c12ecb0a 6314 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 6315
c12ecb0a 6316 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 6317
c12ecb0a 6318 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 6319
c12ecb0a 63202007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 6321
c12ecb0a
MB
6322 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
6323 Fix conversion from Lisp object to ATSUFontID.
07025a55 6324
c12ecb0a 63252007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 6326
c12ecb0a 6327 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 6328
c12ecb0a 63292007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 6330
c12ecb0a
MB
6331 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
6332 Don't assume regions are aligned to page boundary.
6333 (print_load_command_name): Add LC_UUID if defined.
3a232704 6334
c12ecb0a 63352007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 6336
c12ecb0a 6337 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 6338
b8ddfbcc
JR
63392007-11-07 Jason Rumney <jasonr@gnu.org>
6340
6341 * s/windows95.h: Remove.
6342
e624c3f9
JD
63432007-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6344
6345 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
6346 abort with a message on unhandled store_type values.
6347
ac1278c1
JD
63482007-11-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6349
6350 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
6351 Remove HAVE_X11R5 and HAVE_X11R4.
6352
04a697fe
DN
63532007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
6354
6355 * Makefile.in: Remove references to sunfns.c and sunfns.o.
6356
56dad874
GM
63572007-11-01 Johan Bockg\e,Ae\e(Brd <bojohan@gnu.org>
6358
6359 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 6360 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
6361 x_set_glyph_string_gc from x_draw_glyph_string.
6362
07e5c0b0
DN
63632007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
6364
6365 * sunfns.c: Remove file
6366
6367 * m/sun386.h:
6368 * m/sun2.h:
6369 * m/sparc.h: Remove Sun windows code.
6370
1bc973c2
SM
63712007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
6372
6373 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
6374 (init_keyboard): Set current_kboard's window-system to nil.
6375 (tty_read_avail_input): Typo.
6376 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
6377
c22140f6
DN
63782007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
6379
6380 * s/usg5-4.h:
6381 * s/usg5-3.h:
6382 * s/ptx.h:
6383 * m/is386.h:
6384 * m/ibmps2-aix.h:
6385 * Makefile.in: Remove all mentions of X10
6386
6387 * dispnew.c (syms_of_display): Don't mention version 10.
6388
660a8219
JB
63892007-10-28 Juanma Barranquero <lekktu@gmail.com>
6390
6391 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
6392 ($(BLD)/abbrev.$(O)): Remove.
6393
e047f448
SM
63942007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
6395
6396 Rewrite abbrev.c in Elisp.
6397 * image.c (Qcount): Don't declare as extern.
6398 (syms_of_image): Initialize and staticpro `Qcount'.
6399 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
6400 * emacs.c (main): Don't call syms_of_abbrev.
6401 * Makefile.in (obj): Remove abbrev.o.
6402 (abbrev.o): Remove.
6403 * abbrev.c: Remove.
6404
67b73e3a
MR
64052007-10-26 Martin Rudalics <rudalics@gmx.at>
6406
6407 * window.c (window_min_size_2): Don't count header-line.
6408
e3d7bd83
DN
64092007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
6410
6411 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 6412 field to take advantage of the available space. Group all the
e3d7bd83
DN
6413 chars together to reduce wasted space due to padding.
6414
a3547743
JB
64152007-10-26 Juanma Barranquero <lekktu@gmail.com>
6416
e298936f
JB
6417 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
6418
d3d47262
JB
6419 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
6420 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
6421 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
6422 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
6423 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
6424 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
6425 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
6426 (last_marked, mark_object_loop_halt): Make static.
6427
a3547743
JB
6428 * frame.c (syms_of_frame) <delete-frame-functions>:
6429 Fix typo in docstring.
6430
14c71d8b
JB
64312007-10-25 Juanma Barranquero <lekktu@gmail.com>
6432
6433 * w32.c (init_environment): Fix tiny memory leak.
66199f74 6434 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 6435
70b8d0a4
SM
64362007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
6437
6438 Make `window-system' into a keyboard-local variable (rather than
6439 frame-local as done originally by multi-tty).
6440
6441 * keyboard.h (struct kboard): Add Vwindow_system.
6442 * keyboard.c (init_kboard): Set a default for Vwindow_system.
6443 (mark_kboards): Mark Vwindow_system.
6444
6445 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
6446 (init_display): Don't set the obsolete `window-system' frame-param.
6447
6448 * xterm.c (x_term_init):
6449 * w32term.c (w32_create_terminal):
6450 * term.c (init_tty): Set Vwindow_system.
6451 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
6452 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
6453
6454 * xfns.c (Fx_create_frame, x_create_tip_frame):
6455 * w32fns.c (Fx_create_frame, x_create_tip_frame):
6456 * macfns.c (Fx_create_frame):
6457 Don't set the obsolete `window-system' frame-param.
6458
6459 * frame.h (Qwindow_system): Remove.
6460 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
6461 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
6462
fdc90613 64632007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 6464
fdc90613
MB
6465 * frame.c (x_figure_window_size): For fullscreen case,
6466 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 6467
fdc90613 6468 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 6469
fdc90613 6470 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 6471
7357cb04
SM
64722007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
6473
98228e72
SM
6474 * process.c (unwind_request_sigio): Only define if __ultrix__.
6475
1baf6db9
SM
6476 * callproc.c (child_setup): Remove spurious *.
6477
4d0ac3d7
SM
6478 * lisp.h (Fget_text_property): Declare.
6479 (have_menus_p): Declare it here rather than in sys-dep header files.
6480 * macterm.h (have_menus_p):
6481 * msdos.h (have_menus_p):
6482 * xterm.h (have_menus_p): Remove.
6483
7357cb04
SM
6484 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6485 (Fmake_variable_frame_local): Just check the variable's const-ness
6486 rather than checking nil or t.
6487
866e6dd6
JR
64882007-10-22 Jason Rumney <jasonr@gnu.org>
6489
b00afeae
JR
6490 * w32fns.c: Include math.h.
6491 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 6492
c8f7c76b
JR
6493 * s/ms-w32.h (HAVE_STDLIB_H): Define.
6494 (abort): Redefinition moved to nt/config.nt.
6495
866e6dd6
JR
6496 * m/windowsnt.h: Remove.
6497
e79beb56
JB
64982007-10-22 Juanma Barranquero <lekktu@gmail.com>
6499
6500 * emacs.c (Fdump_emacs): Fix typo in message.
6501 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
6502 <installation-directory>: Reflow docstring.
6503
fb30dfd2
JL
65042007-10-22 Juri Linkov <juri@jurta.org>
6505
6506 * minibuf.c: Allow minibuffer default to be a list of default values.
6507 With empty input use the first element of this list as returned default.
e79beb56 6508 (string_to_object)
0f7f11b7 6509 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
6510 (read_minibuf): If defalt is cons, set histstring to its car.
6511 (Fread_string): If default_value is cons, set val to its car.
6512 (Fread_buffer): If def is cons, use its car.
6513 (Fcompleting_read): If defalt is cons, set val to its car.
6514
1f163f28
MA
65152007-10-21 Michael Albinus <michael.albinus@gmx.de>
6516
6517 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
6518
db3534c3
JB
65192007-10-20 Juanma Barranquero <lekktu@gmail.com>
6520
6521 * doc.c (Fdocumentation): Check for advice in all cases.
6522
c6f18a07
CY
65232007-10-19 Chong Yidong <cyd@stupidchicken.com>
6524
6525 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
6526
2a1534d3
RS
65272007-10-19 Richard Stallman <rms@gnu.org>
6528
6529 * doc.c (Fdocumentation): Check for and handle an advised function.
6530
7b82c3b6
JB
65312007-10-19 Juanma Barranquero <lekktu@gmail.com>
6532
6533 * process.c (Fset_process_filter): Doc fix.
6534
3278f20e
SM
65352007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
6536
6537 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
6538 which caused key-translation-map to applied repeatedly (thus breaking
6539 double-mode).
6540
99784d63
SM
65412007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
6542
6543 * xselect.c (x_own_selection, x_handle_selection_clear)
6544 (x_clear_frame_selections):
6545 * w32menu.c (list_of_panes, list_of_items):
6546 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
6547 * textprop.c (validate_plist, interval_has_all_properties)
6548 (interval_has_some_properties, interval_has_some_properties_list)
6549 (add_properties, text_property_list):
6550 * process.c (Fget_buffer_process, list_processes_1, status_notify):
6551 * minibuf.c (Fassoc_string):
6552 * macselect.c (x_own_selection, x_clear_frame_selections)
6553 (Fx_disown_selection_internal):
6554 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
6555 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
6556
44bb704d
CY
65572007-10-17 Chong Yidong <cyd@stupidchicken.com>
6558
6559 * process.c: Link to libs for calling res_init() if available.
6560 (Fmake_network_process): Call res_init() before getaddrinfo or
6561 gethostbyname, if possible.
6562
d314756e
SM
65632007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
6564
2504022a
SM
6565 * lread.c (read1): Set pvectype for char_tables.
6566
19fa82b9
SM
6567 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
6568 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
6569 Add type checks.
6570 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
6571
d314756e
SM
6572 * alloc.c (free_misc): Use XMISCTYPE.
6573 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
6574
94b9aaa2
GM
65752007-10-17 Glenn Morris <rgm@gnu.org>
6576
6577 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
6578 (syms_of_minibuf): Add Qcompletion_ignore_case.
6579 * dired.c (Qcompletion_ignore_case): Change to external.
6580 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
6581 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
6582 (Fread_file_name): Use it rather than intern'ing.
6583
6584 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
6585 (Fread_coding_system): Ignore case of user input.
6586
da6658e8
YM
65872007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6588
6589 * xdisp.c (handle_display_prop): Ignore display specs after
6590 replacing one when string text is being replaced.
6591 (handle_single_display_spec): Pretend as if characters with display
6592 property haven't been consumed only when buffer text is being replaced.
6593
11fb4bdb
SM
65942007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
6595
9beb8baa
SM
6596 * xfns.c (Fx_create_frame, Fx_display_list):
6597 * window.c (window_fixed_size_p, enlarge_window)
6598 (shrink_window_lowest_first):
6599 * macterm.c (init_font_name_table):
6600 * macfns.c (Fx_create_frame, Fx_display_list):
6601 * lread.c (close_load_descs):
6602 * keyboard.c (read_char_x_menu_prompt):
6603 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
6604 * coding.c (code_convert_region_unwind): Test the type of an object
6605 rather than just !NILP before extracting data from it.
6606
d3f41ff5
SM
6607 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
6608
67ee9f6e
SM
6609 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
6610 (XMISCANY): New macro.
6611 (XMISCTYPE): Use it.
6612 (struct Lisp_Misc_Any): New type.
6613 (union Lisp_Misc): Use it.
6614 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
6615 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
6616 (find_symbol_value, set_internal, default_value, Fset_default)
6617 (Fmake_variable_buffer_local, Fmake_local_variable)
6618 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
6619 (Flocal_variable_if_set_p, Fvariable_binding_locus):
6620 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
6621 * alloc.c (allocate_buffer): Set the size and tag.
6622 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
6623 Use XMISCANY.
6624 (die): Follow the GNU convention for error messages.
6625 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
6626 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
6627 tag any more.
6628 (set_buffer_internal_1):
6629 * frame.c (store_frame_param):
6630 * eval.c (specbind):
6631 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
6632
11fb4bdb
SM
6633 * doc.c (Fsnarf_documentation): Simplify.
6634
decb374a
JB
66352007-10-14 Juanma Barranquero <lekktu@gmail.com>
6636
6637 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
6638 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
6639
b5a40ee7
SM
66402007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
6641
6642 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
6643
35277b03
JB
66442007-10-14 Juanma Barranquero <lekktu@gmail.com>
6645
6646 * eval.c (do_autoload): Don't save autoloads.
6647
6648 * data.c (Ffset): Save autoload of the function being set.
6649
35fdaa62
GM
66502007-10-07 John Paul Wallington <jpw@pobox.com>
6651
6652 * xfns.c (x_create_tip_frame): Set the `display-type' frame
6653 parameter before setting up faces.
6654
1ea40aa2
EZ
66552007-10-13 Eli Zaretskii <eliz@gnu.org>
6656
35fdaa62 6657 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
6658 * keyboard.c (append_tool_bar_item): Reformat last change.
6659
1ea40aa2
EZ
6660 * lisp.h (eabs): Rename from `abs'. All callers changed.
6661
35277b03 66622007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
6663
6664 * buffer.c (add_overlay_mod_hooklist):
6665 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
6666 * fontset.c (make_fontset):
6667 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
6668 (append_tool_bar_item):
6669 * macmenu.c (grow_menu_items):
35fdaa62 6670 * w32menu.c (grow_menu_items):
71d00ce4 6671 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 6672
bc82f120
EZ
66732007-10-13 Eli Zaretskii <eliz@gnu.org>
6674
6675 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
6676 selected frame'' on MSDOS).
6677
d57d5a78
MR
66782007-10-12 Martin Rudalics <rudalics@gmx.at>
6679
6680 * frame.c (Qexplicit_name): New variable.
6681 (x_report_frame_params): Report it in parameter alist.
6682 (syms_of_frame): Intern and staticpro it.
6683
35277b03 66842007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
6685
6686 * macfns.c (x_create_tip_frame): Set terminal for frame.
6687
c7a4b95b
SM
66882007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
6689
26f9c7b7
SM
6690 * frame.c (Qenvironment): Remove.
6691 (syms_of_frame) <Qenvironment>: Don't initialize.
6692 (Fdelete_frame): Don't treat the `environment' param specially.
6693 * frame.h (Qenvironment): Don't declare.
6694 * callproc.c (set_initial_environment): Don't set unused frame param.
6695
c7a4b95b
SM
6696 * frame.c (Fframe_with_environment): Remove.
6697 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 6698
c7a4b95b
SM
6699 * lisp.h (Fframe_with_environment): Don't declare.
6700
c86f7377
JB
67012007-10-10 Juanma Barranquero <lekktu@gmail.com>
6702
6703 * indent.c (indent_tabs_mode, last_known_column)
6704 (last_known_column_modified): Make static.
6705 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
6706
d1b3a122
KY
67072007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
6708
6709 * puresize.h (BASE_PURESIZE): Increase to 1170000.
6710
d57d5a78
MR
67112007-10-09 Jason Rumney <jasonr@gnu.org>
6712
6713 * w32term.c (x_set_window_size): Disable code that attempts to tell
6714 Lisp code about a size change before it actually happens.
6715
81d3d428 67162007-10-09 Richard Stallman <rms@gnu.org>
91175673 6717
81d3d428
MB
6718 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
6719 return HANDLED_RETURN.
91175673 6720
1af74d06 67212007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 6722
1af74d06
MB
6723 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
6724 when there's an unread command event.
e0fead5d 6725
c7a4b95b 6726 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
6727 window autoselection act appropriately when leaving selected frame.
6728 (syms_of_frame): Initialize focus_follows_mouse.
6729 * frame.h (focus_follows_mouse): Extern it.
6730 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 6731 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
6732 * msdos.c (dos_rawgetc): Likewise.
6733 * w32term.c (w32_read_socket): Likewise.
6734 * xterm.c (handle_one_xevent): Likewise.
6735 * xdisp.c (syms_of_xdisp): In doc-string of
6736 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 6737
1af74d06 67382007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 6739
1af74d06
MB
6740 * macterm.c (mac_load_query_font): Fix missing return value.
6741 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
6742 Add BLOCK_INPUT.
c186cdb3 6743
1af74d06 67442007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 6745
1af74d06
MB
6746 * xdisp.c (get_window_cursor_type): Implement documented behavior
6747 for cursor-in-non-selected-windows = t.
c186cdb3 6748
1af74d06 67492007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 6750
1af74d06 6751 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 6752
1af74d06 67532007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 6754
1af74d06 6755 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 6756
1af74d06 6757 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 6758
1af74d06 67592007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 6760
c7a4b95b 6761 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 6762
1af74d06 67632007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 6764
1af74d06 6765 * buffer.c (Foverlays_at): Doc fix.
036e218d 6766
1af74d06 67672007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 6768
1af74d06 6769 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 6770
1af74d06 67712007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 6772
1af74d06 6773 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 6774
1af74d06 6775 * frame.h (enum): Remove trailing comma.
90647b07 6776
1af74d06 67772007-10-08 Dhuvra Krishnamurthy <dhuvrakm@gmail.com> (tiny change)
90647b07 6778
1af74d06 6779 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 6780
1af74d06 67812007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 6782
1af74d06 6783 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 6784
1af74d06
MB
6785 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
6786 last-repeatable-command.
6787 (init_kboard): Initialize Vlast_repeatable_command.
6788 (command_loop_1): Set it to real_this_command unless that was
6789 bound to an input event.
6790 (mark_kboards): Mark it.
9fbc32aa 6791
1af74d06 67922007-10-08 Richard Stallman <rms@gnu.org>
036e218d 6793
1af74d06 6794 * eval.c (condition-case): Doc fix.
9fbc32aa 6795
1af74d06 67962007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 6797
1af74d06
MB
6798 * xfaces.c (tty_supports_face_attributes_p): Fix code
6799 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
6800 was copied and not edited.
9fbc32aa 6801
beb9f745
SM
68022007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
6803
c86f7377 6804 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
6805 escape sequences.
6806 * keyboard.h (struct kboard): Add Vinput_decode_map.
6807 Remove Vlocal_key_translation_map.
6808 * keyboard.c (read_key_sequence): Add support for input-decode-map.
6809 (init_kboard): Init input-decode-map.
6810 Replace local-key-translation-map back with key-translation-map.
6811 (syms_of_keyboard): Declare input-decode-map.
6812 Remove local-key-translation-map. Update docstrings.
6813 (mark_kboards): Mark Vinput_decode_map.
6814 Don't mark Vlocal_key_translation_map.
6815 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
6816 Replace local-key-translation-map back with key-translation-map.
6817 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
6818 Bind in input-decode-map rather than function-key-map.
6819
beb9f745
SM
6820 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
6821 This was made redundant by the previous introduction of XSETPVECTYPE.
6822
65342ae3
RS
68232007-10-09 Richard Stallman <rms@gnu.org>
6824
beb9f745 6825 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
6826
68272007-09-29 Richard Stallman <rms@gnu.org>
6828
6829 * eval.c (internal_condition_case_2, internal_condition_case_1)
6830 (internal_condition_case): Reenable abort if x_catching_errors ()
6831 to see if that really happens and why.
6832
6cff77fd
AS
68332007-10-06 Andreas Schwab <schwab@suse.de>
6834
6835 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
6836
bbe6f2aa
JB
68372007-10-04 Juanma Barranquero <lekktu@gmail.com>
6838
6839 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
6840
a390930c
SM
68412007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
6842
6843 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
6844
d6aa1876
SM
68452007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
6846
d0fdb6da
SM
6847 * window.h (struct window):
6848 * window.c (struct save_window_data, struct saved_window):
6849 * termhooks.h (struct terminal):
6850 * process.h (struct Lisp_Process):
6851 * frame.h (struct frame):
6852 * buffer.h (struct buffer):
6853 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
6854 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
6855 The size field of (pseudo)vectors is now unsigned.
6856 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
6857
878f97ff
SM
6858 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
6859 Turn `count' into an integer.
d0fdb6da 6860
878f97ff
SM
6861 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
6862 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
6863 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
6864 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
6865 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
6866
d2029e5b
SM
6867 * alloc.c (allocate_pseudovector): New fun.
6868 (ALLOCATE_PSEUDOVECTOR): New macro.
6869 (allocate_window, allocate_terminal, allocate_frame)
6870 (allocate_process): Use it.
6871 (mark_vectorlike): New function.
6872 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
6873 (mark_terminals): Use it.
6874 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
6875 (Fmake_byte_code): Use XSETPVECTYPE.
6876
6877 * frame.c (Fframe_parameters): Minor simplification.
6878
6879 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
6880
6881 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
6882
6883 * buffer.c (Fget_buffer_create, init_buffer_once):
6884 * lread.c (defsubr):
6885 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
6886
6887 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
6888 defined differently in the m/*.h files.
6889 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
6890 (XSETPVECTYPE): New macro.
6891 (XSETPSEUDOVECTOR): Use it.
6892
d6aa1876
SM
6893 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
6894 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 6895
d6aa1876
SM
6896 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
6897 * lread.c (defvar_per_buffer):
6898 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
6899
6900 * window.c (candidate_window_p): Only consider as visible frames that
6901 are on the same terminal.
6902
6903 * m/ibms390x.h (MARKBIT): Remove unused macro.
6904
88852d45
JB
69052007-10-01 Juanma Barranquero <lekktu@gmail.com>
6906
6907 * lread.c (Fload): Fix typo in docstring.
6908
2742fe30
MC
69092007-10-01 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
6910
6911 * floatfns.c (Fexpt): Manually check for overflows, so that a power
6912 of a non-zero value can't yield zero.
6913
ed0c79c6
SM
69142007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
6915
b870aa61
SM
6916 * term.c (term_clear_mouse_face, term_mouse_highlight)
6917 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
6918
4c37a414
SM
6919 * print.c (safe_debug_print): Use XHASH.
6920
b9466edb
SM
6921 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
6922 Lisp elements such as tags.
6923 (XHASH): New macro.
6924 (EQ): Use it.
6925 (SREF, SSET, STRING_COPYIN): Use SDATA.
6926 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
6927
9c545a55
SM
6928 * alloc.c (mark_terminal): Remove left-over declaration.
6929 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
6930 (allocate_vectorlike): Remove type argument. Adjust callers.
6931 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
6932 Only handle the one remaining MEM_TYPE_VECTORLIKE.
6933
dafc79fa
SM
6934 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
6935 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
6936 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
6937 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
6938 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
6939 Use them.
6940
ed0c79c6
SM
6941 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
6942 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
6943 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
6944
3c81afd4
DN
69452007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
6946
6947 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
6948 loaded by default.
6949
6178ce5e
SM
69502007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
6951
4ce5ab77
SM
6952 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
6953 on this tty.
6954 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
6955
6178ce5e
SM
6956 * term.c (mouse_face_window): Rename from Qmouse_face_window.
6957 Update all users.
6958 (handle_one_term_event): Use Gpm_DrawPointer.
6959 (Fgpm_mouse_start): Rename from Fterm_open_connection.
6960 Signal errors instead of returning nil. Always return nil.
6961 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
6962 Make it a noop if gpm-mouse was not activated.
6963 (syms_of_term): Update names.
6964
bdf5f8ef
SM
69652007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
6966
75a8734b
SM
6967 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
6968 (init_sys_modes): Check that gpm_tty is the current tty.
6969
13559ee0
SM
6970 * alloc.c (allocate_terminal): Set the vector size to only count the
6971 lisp fields. Initialize those to nil.
6972 (mark_object): Don't treat terminals specially.
6973 (mark_terminal): Remove.
6974 (mark_terminals): Use mark_object instead.
6975
ff16b875
SM
6976 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
6977 the GC to the beginning.
6978
83155776
SM
6979 * indent.h:
6980 * indent.c: Use EMACS_INT for ints coming from Elisp data.
6981
bdf5f8ef
SM
6982 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
6983
ec8705b6
JR
69842007-09-25 Jason Rumney <jasonr@gnu.org>
6985
6986 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
6987
6988 * w32console.c (create_w32cons_output): Remove.
6989
6990 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
6991
6992 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
6993 (reset_sys_modes): Use reset_terminal_modes_hook.
6994
7351b242
SM
69952007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
6996
6997 * eval.c (do_autoload): Don't output any message.
6998
16706228
JL
69992007-09-24 Juri Linkov <juri@jurta.org>
7000
7001 * emacs.c (standard_args): Change priority of "--no-splash"
7002 from 40 to 3. Add "--no-desktop" with the same priority.
7003
3ae2e3a3
RS
70042007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
7005
7006 * alloc.c (gc_sweep): Check cons cell mark bits word by word
7007 and optimize the case where they are all 1.
7008
7a58fb43
GM
70092007-09-23 Johannes Weiner <hannes@saeurebad.de>
7010
3ae2e3a3
RS
7011 * lisp.h (abs): Define if not defined.
7012 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
7013 Don't define `abs', since it's defined in lisp.h.
7a58fb43 7014
78048085
EZ
70152007-09-22 Eli Zaretskii <eliz@gnu.org>
7016
c7a4b95b 7017 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
7018 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
7019 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
7020 (init_tty): Use DEV_TTY instead of "/dev/tty".
7021 [WINDOWSNT]: No need to protect from NAME arg being null.
7022
23d4cba5
DN
70232007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
7024
7025 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
7026 up the tty state.
7027
71f44e7a
SM
70282007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
7029
7030 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
7031 (gpm_tty): Change its type.
7032 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
7033 (gpm_tty): Change its type and initialize it.
7034 (Fterm_open_connection): Check the frame is indeed a tty.
7035 Use the new gpm_tty.
7036 (Fterm_close_connection): Use the new gpm_tty.
7037 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
7038 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
7039
def7fa34
JB
70402007-09-21 Juanma Barranquero <lekktu@gmail.com>
7041
7042 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
7043 underline_color, to draw strike-through.
7044
d2bb6598
SM
70452007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
7046
273f164c
SM
7047 * lisp.h (allocate_terminal): Declare.
7048
ca2d5566
SM
7049 * window.c (candidate_window_p): Consider frames that are being placed
7050 by the user as somewhere between visible and iconified.
7051 (window_loop): Prefer windows on the current frame.
7052 (Fselect_window): Move the use of select-frame to the beginning so we
7053 can just delegate all the work (it'll call us back anyway).
7054
6168122d
SM
7055 * frame.c (Qdisplay_environment_variable):
7056 * frame.h (Qdisplay_environment_variable): Delete.
7057
c51842ec
SM
7058 * .gdbinit (xbacktrace): Print the arg's address rather than the value
7059 of the first arg, since that value may be a union.
7060
d2bb6598
SM
7061 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
7062 parameter rather than Qdisplay_environment_variable. If all else
7063 fails, look for DISPLAY in initial-environment.
7064
6f022c19
GM
70652007-09-21 Glenn Morris <rgm@gnu.org>
7066
7067 * Makefile.in (emacstool): Remove target.
f466320b 7068 (lisp, shortlisp): Remove termdev.elc.
6f022c19 7069
ea1bf8c7
GM
70702007-09-21 Markus Triska <markus.triska@gmx.at>
7071
d2bb6598 7072 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 7073
d30a25b3
SM
70742007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
7075
db699fc6
SM
7076 * callproc.c (getenv_internal_1): New function.
7077 (getenv_internal): Use it.
7078 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
7079
d2bb6598 7080 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
7081 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
7082 (Fset_terminal_parameter): Work with dead terminals as well.
7083 (Fmodify_terminal_parameters): Remove.
7084
d30a25b3
SM
7085 * terminal.c (get_terminal): Handle terminals.
7086 Make sure the terminal returned is live.
7087 (create_terminal): Use allocate_terminal.
7088 (mark_terminals): Move to alloc.c.
7089 (delete_terminal): Use terminal->name as liveness status.
7090 NULL out fields after freeing their contents.
7091 Don't deallocate the object.
7092 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
7093 rather than an int.
7094 (Fterminal_live_p): Accept non-integer arguments.
7095 (Fterminal_list): Return terminal objects rather than an ints.
7096
7097 * alloc.c (enum mem_type): New member for `terminal' objects.
7098 (allocate_terminal): New function.
d2bb6598
SM
7099 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
7100 Handle terminals.
d30a25b3
SM
7101 (mark_terminal): New fun.
7102 (mark_terminals): Move from terminal.c.
7103
7104 * term.c (get_tty_terminal): Don't treat output_initial specially.
7105 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
7106 (delete_tty): Use terminal->name as liveness status.
7107
7108 * termhooks.h (struct terminal): Make it into a pseudovector.
7109 Remove `deleted' replaced by checking `name's nullness.
7110
7111 * print.c (print_object): Handle terminals.
7112
7113 * lisp.h (enum pvec_type): New `terminal' pseudovector.
7114 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
7115
7116 * frame.c (make_terminal_frame):
7117 * keyboard.c (tty_read_avail_input):
7118 * w32term.c (x_delete_terminal):
7119 * xfns.c (Fx_create_frame, x_create_tip_frame):
7120 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
7121
eba25e7c
GM
71222007-09-20 Glenn Morris <rgm@gnu.org>
7123
7124 * process.c (Fmake_network_process): Doc fix.
7125
2a29c3c1
JR
71262007-09-19 Jason Rumney <jasonr@gnu.org>
7127
7128 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
7129
ba1cbad7
MC
71302007-09-19 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
7131
7132 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
7133 Fix a C warning regarding variable constness.
7134
7135 * xterm.c (handle_one_xevent): Fix a C warning.
7136
334a1195
JR
71372007-09-18 Jason Rumney <jasonr@gnu.org>
7138
7139 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
7140
879ffad9
JD
71412007-09-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7142
7143 * gtkutil.c (gdpy_def): New variable.
7144 (xg_initialize): Initialize gdpy_def.
7145 (xg_display_close): If no other display exists, set gdpy_def to a
7146 new connection.
7147
45c94881
JD
71482007-09-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7149
7150 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
7151 when we have no file name for the icon.
7152 (xg_tool_bar_expose_callback): Remove.
7153 (xg_create_tool_bar): Don't connect expose signal to
7154 xg_tool_bar_expose_callback.
7155 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
7156
4d580af2
AS
71572007-09-16 Andreas Schwab <schwab@suse.de>
7158
7159 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
7160 values instead of zapping them.
7161
aca946f3
GM
71622007-09-14 Glenn Morris <rgm@gnu.org>
7163
7164 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
7165 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
7166 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
7167 scope and rename to omfib_buffer for clarity.
7168 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
7169
25c460e5
KH
71702007-09-14 Kenichi Handa <handa@m17n.org>
7171
7172 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
7173
09b69f01
JR
71742007-09-13 Jason Rumney <jasonr@gnu.org>
7175
7176 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
7177
7178 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
7179
7180 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
7181 (mac_term_init): Call here instead, passing rif.
7182
442218db
GM
71832007-09-13 Glenn Morris <rgm@gnu.org>
7184
7185 * s/hpux.h: No longer define `static' as nothing.
7186
4795c40f
GM
71872007-09-13 Johan Bockg\e,Ae\e(Brd <bojohan@gnu.org>
7188
7189 * callint.c (Fcall_interactively): Remove unused var `fun'.
7190
1971a872
RF
71912007-09-12 Romain Francoise <romain@orebokech.com>
7192
7193 * window.c (prefer_window_split_horizontally, display_buffer):
7194 Revert 2007-09-08 change.
7195
2d33f506
GM
71962007-09-12 Glenn Morris <rgm@gnu.org>
7197
585474ae 7198 * alloca.c: Remove file.
ca7af97a
GM
7199 * Makefile.in (alloca): Do not undef.
7200 (allocaobj, alloca.o): Remove.
7201 (otherobj): Remove allocaobj.
7202 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
7203 * regex.c (C_ALLOCA): Remove all references and code that was only
7204 used when this was defined.
7205 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
7206 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
7207 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
7208
2d33f506 7209 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
7210
7211 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
7212 (menu_grab_callback): All uses changed.
7213
7214 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
7215 (x_reply_selection_request): All uses changed.
2d33f506 7216
18a4a65e
SM
72172007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
7218
7219 * lread.c (load_warn_old_style_backquotes): Change message to look
7220 better when it appears in the middle of byte-compiler messages.
7221
47cc8819
DN
72222007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
7223
b7ea0894
DN
7224 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
7225
47cc8819
DN
7226 * xterm.c (x_create_terminal): Add comment.
7227
7228 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
7229
5632bd0f
RS
72302007-09-10 Richard Stallman <rms@gnu.org>
7231
7232 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
7233
ccb5c14f
MC
72342007-09-10 Micha\e,Ak\e(Bl Cadilhac <michael@cadilhac.name>
7235
4bca9161
MC
7236 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
7237 (DEFUN): Document `intspec', use it instead of `prompt'.
7238
04724b69
MC
7239 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
7240
8a6d230a
MC
7241 * data.c (Finteractive_form): If the interactive specification starts
7242 with a `(', use it as a Lisp form.
7243
09fbdf6c
MC
7244 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
7245 name and file modes.
7246
ccb5c14f
MC
7247 * callint.c (Fcall_interactively): Comment fixes.
7248
023accd6
SM
72492007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
7250
7251 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
7252 and compiled functions.
7253
f26b9544
EZ
72542007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
7255
7256 * window.c (prefer_window_split_horizontally): New variable.
7257 (display_buffer): Consider splitting window horizontally depending
7258 on prefer_window_split_horizontally.
7259
4d395425
EZ
72602007-09-08 Eli Zaretskii <eliz@gnu.org>
7261
97ddc760 7262 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 7263
08c1d235
SM
72642007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
7265
179cef48
SM
7266 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
7267
08c1d235
SM
7268 * frame.c (x_set_frame_parameters): Check number is positive before
7269 using XFASTINT.
7270
7271 * window.c (freeze_window_start): Don't presume selected_window holds
7272 a window object.
92f94a12 7273 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 7274
97ddc760 72752007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
7276
7277 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
7278
90ab5c62
SM
72792007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
7280
7281 * window.c (Vsplit_window_preferred_function): New var.
7282 (Fdisplay_buffer): Use it.
7283 (syms_of_window): Export, and initialize it.
7284
1ab2cd43
TTN
72852007-09-06 Pixel <pixel@mandriva.com> (tiny change)
7286
7287 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
7288
0b0515bc
GM
72892007-09-06 Glenn Morris <rgm@gnu.org>
7290
57fd5c55 7291 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
7292 * xselect.c (x_reply_selection_request) <cnt>: Move static
7293 variable to file scope.
7294
98594580
SM
72952007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
7296
7297 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
7298 consistent values of selected_frame and selected_window.
7299
0f4c7aef
JR
73002007-09-04 Jason Rumney <jasonr@gnu.org>
7301
7302 * w32console.c (initialize_w32_display): Zero unused hooks.
7303
e4019195
DN
73042007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
7305
7306 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
7307 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
7308
bce179b5
JR
73092007-09-04 Jason Rumney <jasonr@gnu.org>
7310
a0236551
JR
7311 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
7312 in w32console.c. Set up input. Remove XXX comments that have been
7313 confirmed as correct.
7314
a4926668
JR
7315 * s/ms-w32.h (MULTI_KBOARD): Define.
7316
953bf0dc
JR
7317 * w32console.c (one_and_only_w32cons): Remove.
7318 (initialize_w32_display): Take terminal argument.
7319
7320 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
7321 initialize_w32_display.
7322 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
7323
bce179b5
JR
7324 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
7325
7326 * keyboard.c (discard_mouse_events): Discard it.
7327 (make_lispy_event): Translate it to a lisp event.
7328 (lispy_wheel_names): Add wheel-left and right events.
7329 (syms_of_keyboard): Enlarge wheel_syms.
7330
7331 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
7332 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
7333
7334 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
7335
7336 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
7337 from WM_MOUSEHWHEEL.
7338 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
7339
7340 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
7341 terminal.
7342
7343 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
7344 keyboard for the terminal.
7345
92cd6a7c
DN
73462007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
7347
7348 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
7349 (Vresume_tty_hook): Rename from Vresume_tty_functions.
7350 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
7351 and resume-tty-function to resume-tty-hook.
7352 (Fsuspend_tty, Fresume_tty): Use new names.
7353
2154c964
JD
73542007-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7355
7356 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
7357 if it starts with "n:".
7358
b42ff099
JD
73592007-08-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7360
7361 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
7362
6b8e474c
SM
73632007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
7364
92d9c1d4
SM
7365 * frame.h:
7366 * frame.c (Qterm_environment_variable): Remove.
7367 (syms_of_frame): Don't init and staticpro it.
7368
92d9c1d4
SM
7369 * callproc.c (getenv_internal): Remove special case for $TERM.
7370
6b8e474c
SM
7371 * callproc.c (Vinitial_environment): New variable.
7372 (set_initial_environment): Initialize it.
7373 (syms_of_callproc): Declare it.
7374 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
7375 TERM under which a process runs is never related to the TERM in which
7376 Emacs is running.
7377
0f1444e1
DN
73782007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
7379
7380 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
7381 * s/darwin.h: ... do it here.
7382
b8866860
SM
73832007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
7384
7385 * lisp.h (set_initial_environment): Rename from set_global_environment.
7386
7387 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
7388 removed by mistake on the multi-tty branch.
7389
7390 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
7391 (Fmodify_frame_parameters): Return a value.
7392
7393 * image.c (png_load): Comment-out var only used in commented-out code.
7394
7395 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
7396 before passing it to mark_object.
7397
7398 * xfaces.c (internal_resolve_face_name): Return a value.
7399 (internal_resolve_face_name, resolve_face_name_error): Comment out.
7400
7401 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
7402 (x_icon): Comment-out var only used in commented-out code.
7403
0a42be6d
RF
74042007-08-29 Romain Francoise <romain@orebokech.com>
7405
7406 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
7407 QUIT hasn't been provided.
7408
8d9cc0b7
MB
74092007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
7410
7411 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 7412 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
7413 (set_initial_environment): Initialise Vprocess_environment.
7414
7415 * config.in: Disable multi-keyboard support on a mac.
7416
7417 * frame.c (Qterm_environment_variable)
7418 (Qdisplay_environment_variable): New variables.
7419 (syms_of_frame): Intern and staticpro them.
7420 (Fmake_terminal_frame): Disable output method test.
7421
7422 * frame.h: Declare them here.
7423
7424 * macfns.c (x_set_mouse_color): Get rif from the frame.
7425 (x_set_tool_bar_lines): Don't use updating_frame.
7426 (mac_window): Add 2 new parameters for consistency with other systems.
7427 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
7428 frame parameters following what is done in X11 and w32. Don't use
7429 FRAME_MAC_DISPLAY_INFO.
7430 (Fx_open_connection, start_hourglass): Remove window-system check.
7431 (x_create_tip_frame): Get the keyboard from the terminal.
7432
7433 * macmenu.c: Reorder includes.
7434 (Fx_popup_menu): Use terminal specific mouse_position_hook.
7435
7436 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
7437 terminal parameter.
7438 (x_clear_frame): Add a frame parameter.
7439 (note_mouse_movement): Get rif from the frame.
7440 (mac_term_init): Initialize the terminal.
7441 (mac_initialize): Make static and move terminal initialization ...
7442 (mac_create_terminal): ... to this new function.
7443
7444 * macterm.h (struct mac_display_info): Add terminal.
7196c970 7445 (mac_initialize): Delete declaration.
8d9cc0b7 7446
381864b2 7447 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
7448
7449 * sysdep.c: Comment out text after #endif.
7450
7451 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
7452 is defined. Better initialize ttys in windows. Use terminal
7453 specific mouse_position_hook.
7454
7455 * termhooks.h (union display_info): Add mac_display_info.
7456
b8866860
SM
7457 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
7458 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
7459 frame parameters following what is done in X11.
7460
7461 * w32term.c (w32_initialize): Make static.
7462
7463 * xselect.c (x_handle_selection_clear): Only access
7464 terminal->kboard when MULTI_KBOARD is defined.
7465
7466 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
7467 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
7468
74692007-08-29 Jason Rumney <jasonr@gnu.org>
7470
7471 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
7472 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
7473
7474 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
7475 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
7476
7477 * keyboard.c (restore_kboard_configuration): Only define when
7478 MULTI_KBOARD defined.
7479
35277b03 7480 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
7481 (OBJ1): Add terminal.$(O)
7482
b8866860
SM
7483 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
7484 Don't define function body.
8d9cc0b7
MB
7485 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
7486
7487 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
7488
7489 * w32.c (request_sigio, unrequest_sigio): Remove.
7490
7491 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
7492 (w32con_clear_frame, w32con_clear_end_of_line)
7493 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
7494 (w32con_delete_glyphs, w32con_set_terminal_window)
7495 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
7496 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
7497 Add terminal arg.
8d9cc0b7
MB
7498 (PICK_FRAME): Remove.
7499 (w32con_write_glyphs): Use frame specific terminal coding.
7500 (one_and_only_w32cons): New global variable.
7501 (initialize_w32_display): Use it for storing hooks.
7502 (create_w32cons_output): New function.
7503
7504 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
7505 arg a frame.
7506
b8866860
SM
7507 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
7508 Set window_system.
8d9cc0b7
MB
7509 (x_set_tool_bar_lines): Don't use updating_frame.
7510 (Fx_create_frame): Set terminal and ref count.
7511 (Fx_open_connection): Remove window-system check.
7512
7513 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
7514
7515 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
7516 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
7517 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
7518 Add frame arg.
7519 (x_delete_terminal, w32_create_terminal): New functions.
7520 (w32_term_init): Create a terminal.
7521 (w32_initialize): Move terminal specific initialization to
7522 w32_create_terminal.
7523
b8866860 7524 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
7525 (w32_clear_rect, w32_clear_area): Use background from frame.
7526 (w32_display_info): Add terminal.
7527 (w32_sys_ring_bell, x_delete_display): Declare here.
7528
7529 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
7530
7531 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
7532
75332007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
7534
7535 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
7536 Fix get_named_tty calls for the controlling tty.
7537
75382007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
7539
7540 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
7541
75422007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
7543
7544 * term.c (tty_insert_glyphs): Add missing first parameter.
7545
9647bd08 75462007-08-29 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <karoly@lorentey.hu>
8d9cc0b7 7547
b8866860
SM
7548 * buffer.c (Fbuffer_list, Fbury_buffer):
7549 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
7550
7551 * cm.c (current_tty): New variable, for cmputc().
7552 (cmputc): Use it.
7553 (cmcheckmagic): Add tty parameter, look up terminal streams there.
7554 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
7555 (cmgoto): Add tty parameter. Pass it on to calccost().
7556 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
7557
7558 * cm.h (emacs_tputs): New macro to set current_tty, and then call
7559 tputs().
7560 (current_tty): New variable, for cmputc().
7561 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
7562
7563 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
7564 (internal_condition_case, internal_condition_case_1)
7565 (internal_condition_case_2): Don't abort when x_catching_errors.
7566
7567 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
7568 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
7569 prevent crashes caused by bogus longjmps in read_char.
7570
7571 * keymap.h (Fset_keymap_parent): Add EXFUN.
7572
7573 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
7574 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
7575 Remove redundant definition.
7576
b8866860
SM
7577 * macfns.c (x_set_mouse_color, x_make_gc):
7578 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 7579
b8866860
SM
7580 * w32term.c (x_free_frame_resources):
7581 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7582 (w32_initialize): Use the accessor macros for terminal characteristics.
7583
7584 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
7585 Use the accessor macros for terminal characteristics.
7586 * msdos.c (internal_terminal_init): Use the accessor macros for
7587 terminal characteristics.
b8866860
SM
7588 (ScreenVisualBell, internal_terminal_init):
7589 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7590
7591 * termopts.h (no_redraw_on_reenter): Declare.
7592
7593 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 7594 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 7595 (Fgarbage_collect): Call them.
03f06e5c 7596 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
7597
7598 * prefix-args.c: Include stdlib.h for exit.
7599
7600 * syssignal.h: Add comment.
7601
7602 * indent.c: Include stdio.h.
7603
7604 * window.h (Vinitial_window_system): Declare.
7605 (Vwindow_system): Delete declaration.
7606
7607 * fontset.c (Finternal_char_font): Use FRAME_RIF.
7608
7609 * image.c (lookup_image): Don't initialize `c' until the xasserts
7610 have been run.
7611
7612 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
7613 FRAME_FOREGROUND_PIXEL.
7614
7615 * print.c (print_preprocess): Don't lose print_depth levels while
7616 iterating.
7617
b8866860
SM
7618 * widget.c (update_from_various_frame_slots):
7619 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7620
7621 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
7622 frames.
7623 (window_internal_height): Remove bogus make_number call.
b8866860 7624 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
7625
7626 * fileio.c (Fread_file_name): Update comment.
7627
b8866860
SM
7628 * callint.c (Fcall_interactively):
7629 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
7630 Make sure it is correctly unwound.
7631
7632 * xsmfns.c (x_session_close): New function.
7633
03f06e5c 7634 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
7635 Delete declarations.
7636
7637 * xterm.h: Remove declaration for x_fully_uncatch_errors.
7638 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 7639 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
8d9cc0b7
MB
7640 (x_delete_device):
7641 (x_session_close): Declare.
7642
7643 * lread.c: Include setjmp.h. Update declaration of `read_char'.
7644 (read_filtered_event): Call `read_char' with a local
7645 `wrong_kboard_jmpbuf'.
7646
b8866860
SM
7647 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
7648 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
7649
7650 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
7651 systems.
7652
b8866860 7653 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 7654 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 7655 (Fset_quit_char): EXFUN.
03f06e5c 7656 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
7657 (init_sys_modes, reset_sys_modes): Update prototypes.
7658 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
7659
b8866860
SM
7660 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
7661 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 7662 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 7663 Delete declarations.
03f06e5c
JB
7664 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
7665 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
7666 New declarations.
7667
7668 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
7669 already does that during init_display(). Call syms_of_keymap
b8866860
SM
7670 before syms_of_keyboard. Call `syms_of_terminal'.
7671 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
7672 (shut_down_emacs): Call reset_all_sys_modes() instead of
7673 reset_sys_modes().
7674
7675 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
7676 (internal_resolve_face_name, resolve_face_name_error): New functions.
7677 (resolve_face_name): Protect against loops and errors thrown by Fget.
7678 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
7679 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
7680
7681 * scroll.c: Replace CURTTY() with local variables throughout the
7682 file (where applicable).
7683 (calculate_scrolling, calculate_direct_scrolling)
7684 (scrolling_1, scroll_cost): Use the accessor macros for terminal
7685 characteristics.
7686
7687 * keymap.c (Vfunction_key_map): Remove.
b8866860 7688 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
7689 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
7690 (Vkey_translation_map): Remove.
7691 (syms_of_keymap): Remove DEFVAR for key-translation-map.
7692 (Fdescribe_buffer_bindings):
7693 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
7694 Update for terminal-local key-translation-map.
7695
7696 * Makefile.in (callproc.o): Update dependencies.
7697 (lisp, shortlisp): Add termdev.elc.
7698 (obj): Add terminal.o.
7699 (terminal.o): Add dependencies.
7700 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
7701 (data.o, fns.o): Add termhooks.h dependency.
7702 (SOME_MACHINE_LISP): Add dnd.elc.
7703 (minibuf.o): Fix typo.
7704 Update dependencies.
7705
7706 * data.c (do_symval_forwarding, store_symval_forwarding)
7707 (find_symbol_value): Use the selected frame's keyboard, not
7708 current_kboard.
7709
7710 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
7711 Vwindow_system.
7712
7713 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
7714 Fmenu_bar_open.
7715 (syms_of_xmenu): Update defsubr.
7716 (mouse_position_for_popup, Fx_popup_menu)
7717 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
7718 (set_frame_menubar, free_frame_menubar)
7719 (create_and_show_popup_menu, xmenu_show, )
7720 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
7721 an X frame.
7722
7723 * xselect.c (x_own_selection): Abort if not an X frame.
7724 (some_frame_on_display): Check if it is an X frame.
7725 (x_handle_selection_clear): Deal with MULTI_KBOARD.
7726
7727 * coding.c: Include frame.h and termhooks.h.
03f06e5c 7728 (terminal_coding, keyboard_coding): Delete.
8d9cc0b7
MB
7729 (Fset_terminal_coding_system_internal):
7730 (Fset_keyboard_coding_system_internal):
7731 (Fkeyboard_coding_system):
03f06e5c
JB
7732 (Fterminal_coding_system): Add a terminal parameter.
7733 Get terminal_coding from the terminal.
8d9cc0b7
MB
7734 (init_coding_once): Don't call setup_coding_system here.
7735
7736 * dispextern.h (set_scroll_region, turn_off_insert)
7737 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
7738 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 7739 (delete_tty, updating_frame)
8d9cc0b7
MB
7740 (produce_special_glyphs, produce_glyphs, write_glyphs)
7741 (insert_glyphs): Remove.
7742 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 7743 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 7744 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
7745
7746 * frame.h (enum output_method): Add output_initial.
7747 (struct x_output): Delete.
b8866860
SM
7748 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
7749 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
7750 (tty_display): Delete.
7751 (struct frame): Add buried_buffer_list, foreground_pixel,
03f06e5c 7752 background_pixel and terminal. Delete kboard
8d9cc0b7
MB
7753 (union output_data): Add tty.
7754 (FRAME_KBOARD): Get the kboard from the terminal.
7755 (FRAME_INITIAL_P): New macro.
7756 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
7757 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
7758 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
7759 New declarations.
8d9cc0b7
MB
7760
7761 * termchar.h (tty_output, tty_display_info): New structures.
7762 (tty_list): Declare.
7763 (FRAME_TTY, CURTTY): New macros.
7764 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
7765 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
7766 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
7767 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
7768
7769 * callproc.c: Include frame.h and termhooks.h, for terminal
7770 parameters.
7771 (add_env): New function.
7772 (child_setup): Use it.
b8866860 7773 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
7774 (getenv_internal): Fix get_terminal_param call.
7775 (Fgetenv_internal, egetenv): Update doc.
7776 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 7777 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
7778 strings.
7779 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
7780 (getenv_internal): Add terminal parameter.
7781 Handle Vlocal_environment_variables.
8d9cc0b7
MB
7782 (Fgetenv_internal): Add terminal parameter.
7783 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 7784 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
7785 (set_initial_environment): Rename from set_global_environment.
7786 Store Emacs environment in initial frame parameter.
7787
7788 * xdisp.c (redisplay_internal): Update references to
7789 `previous_terminal_frame'.
7790 (display_mode_line, Fformat_mode_line): Replace calls to
7791 `push_frame_kboard' with `push_kboard'.
7792 (get_glyph_string_clip_rects): Add extra parentheses and
7793 braces to prevent compiler warnings.
7794 (calc_pixel_width_or_height): Add xassert to check that the
7795 frame is alive. Don't call `lookup_image' on a termcap frame.
7796 (message2_nolog, message3_nolog, redisplay_internal)
7797 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
7798 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
7799 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
7800 (Fx_display_pixel_width, Fx_display_pixel_height)
7801 (Fx_display_planes, Fx_display_color_cells)
7802 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
7803 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
7804 (Fx_display_backing_store, Fx_display_visual_class)
7805 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 7806 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
7807
7808 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
7809 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
7810 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
7811 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
7812 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
7813 terminal that is being deleted.
7814 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 7815 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
7816 (Fx_close_connection, Fx_synchronize): Unify argument names with
7817 the rest of the DEFUNs.
7818
7819 * dispnew.c (Fsend_string_to_terminal): Update call to
7820 `get_tty_terminal'.
7821 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 7822 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
7823 FRAME_TERMCAP_P and FRAME_TTY.
7824 (window_change_signal): Don't believe width/height values that are
7825 impossibly small.
7826 (Vinitial_window_system): Rename from Vwindow_system.
7827 (termscript, Wcm, rif): Delete.
7828
7829 * termhooks.h (struct terminal): New struct containing the
7830 previously global text display hooks and new members NAME,
7831 DELETED and PARAM_ALIST.
7832 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
7833 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
7834 (FRAME_RIF): New macros.
7835 (get_terminal_param, get_device): New declarations.
7836 (termscript): Delete declaration.
7837
7838 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
7839 (XTflash, x_free_frame_resources, x_scroll_bar_create)
7840 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
7841 FRAME_FOREGROUND_PIXEL.
7842 (x_fully_uncatch_errors): Disable definition.
7843 (x_scroll_bar_expose): Fix reference to foreground pixel.
7844 (XTread_socket): Disable loop on all X displays.
7845 (x_delete_terminal): Don't set terminal->deleted and let
7846 delete_terminal delete the frames on the terminal.
7847 (x_delete_display): Doc update to reflect changes in
7848 delete_terminal.
7849 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
7850 (deleting_tty): Remove old variable.
7851 (Fsuspend_tty): Call clear_tty_hooks.
7852 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
7853 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
7854 errors on X frames.
7855 (x_catch_errors_unwind): Abort if x_error_message is NULL.
7856 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 7857 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
7858 (XTset_terminal_modes, XTreset_terminal_modes)
7859 (XTread_socket, x_connection_closed, x_term_init)
7860 (x_term_init, x_delete_display): Add terminal parameter.
7861 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
7862 X connections.
7863
7864 * frame.c (Fframep): Deal with output_initial.
7865 (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
7866 (Qtty_type, Qwindow_system, Qenvironment)
b8866860 7867 (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
8d9cc0b7
MB
7868 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
7869 (make_terminal_frame): Don't create frames on a terminal that is
7870 being deleted.
7871 (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
7872 FRAME_FOREGROUND_PIXEL.
b8866860 7873 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
7874 (Fmake_terminal_frame): Handle NULL tty names correctly.
7875 (syms_of_frame): Enhance doc string of `default-frame-alist'.
7876 (Fdelete_frame): Remove unused variable `count'.
7877 (Qenvironment): New variable.
7878 (Fdelete_frame): Don't allow other frames to refer to a deleted
7879 frame in their 'environment parameter.
7880 (Fframe_with_environment): New function.
b8866860 7881 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
7882 (get_future_frame_param): New function.
7883 (Fmake_terminal_frame): Use it.
2d33f506 7884 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
7885
7886 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
7887 * sysdep.c (reset_sys_modes): Update for renames.
7888
7889 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 7890 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
7891 (syms_of_keyboard): Defsubr them.
7892 (Fset_input_meta_mode, Fset_quit_char): New functions.
7893 (Fset_input_mode): Split to above functions.
7894
7895 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
7896 parameter. Use it in call to `read_char'.
b8866860
SM
7897 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
7898 Set wrong_kboard_jmpbuf correctly in recursive calls.
7899 Use current_kboard to access Vkeyboard_translate_table.
7900 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
7901 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
7902 Update longjmp invocations. Remember the original current_kboard,
7903 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
7904 changes it. Comment out unnecessary calls to
7905 `record_single_kboard_state' and `any_kboard_state'.
7906 Update recursive calls.
8d9cc0b7
MB
7907 (wrong_kboard_jmpbuf): Remove global variable.
7908 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
7909 Handle deleted interrupted_kboards correctly; that is a legal
7910 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 7911 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
7912 (any_kboard_state, single_kboard_state)
7913 (push_frame_kboard): Remove function.
7914 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
7915 been deleted. Remove unused variable. Help debugging by not
7916 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
7917 kboard of the selected frame when the stored kboard object has
7918 been deleted before pop_kboard.
7919 (temporarily_switch_to_single_kboard): Change first parameter to a
7920 frame pointer. Throw an error when caller wants to change kboards
7921 while in single_kboard mode. Don't push_kboard if we weren't in
7922 single kboard state. Don't pop_kboard if we popped into any
7923 kboard state.
7924 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 7925 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
7926 up single_kboard mode.
7927 (Frecursive_edit): Switch to single_kboard mode only in nested
7928 command loops.
b8866860
SM
7929 (cmd_error, command_loop, command_loop_1, timer_check):
7930 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
7931 `record_single_kboard_state'.
7932 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 7933 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
7934 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
7935 `fatal_error_signal'.
7936 (record_single_kboard_state): Don't push_kboard if we weren't in
7937 single kboard state. Don't pop_kboard if we popped into any
7938 kboard state.
7939 (push_frame_kboard): Rename to push_kboard.
7940 (kbd_buffer_get_event): Use FRAME_TERMINAL.
7941 (read_avail_input): Read input from all terminals.
7942 (mark_kboards): Also mark Vkeyboard_translate_table.
7943 (kbd_buffer_store_event_hold): Simplify condition.
7944 (read_key_sequence): Reinitialize fkey and keytran at each replay.
7945 (Vkeyboard_translate_table): Move to struct kboard.
7946 (init_kboard): Initialize Vkeyboard_translate_table.
7947 (syms_of_keyboard): Use DEFVAR_KBOARD to define
7948 Vkeyboard_translate_table. Update doc strings. Update docs of
7949 local-function-key-map and function-key-map.
7950
7951 * terminal.c: New file.
7952
7953 * term.c: Include errno.h.
7954 (Vring_bell_function, device_list, initial_device)
7955 (next_device_id, ring_bell, update_begin, update_end)
7956 (set_terminal_window, cursor_to, raw_cursor_to)
7957 (clear_to_end, clear_frame, clear_end_of_line)
7958 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
7959 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
7960 (syms_of_term): Move their initialization to terminal.c.
7961 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
7962 (Ftty_display_color_cells)
7963 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 7964 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
7965 (init_tty, maybe_fatal): New functions.
7966 (Ftty_type): Return nil if terminal is not on a tty instead of
7967 throwing an error. Doc update.
7968 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 7969 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
7970 (delete_tty): Use terminal->deleted.
7971 (tty_set_terminal_modes): Rename from set_terminal_modes.
7972 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
7973 (set_scroll_region): Rename to `tty_set_scroll_region'.
7974 (turn_on_insert): Rename to `tty_turn_on_insert'.
7975 (turn_off_insert): Rename to `tty_turn_off_insert'.
7976 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
7977 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
7978 (toggle_highligh): Rename to `tty_toggle_highlight'.
7979 (background_highlight): Rename to `tty_background_highlight'.
7980 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
7981 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
7982 (tty_set_scroll_region, tty_background_highlight)
7983 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
7984 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
7985 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
7986 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
7987 Add static modifier.
7988 (tty_reset_terminal_modes, tty_set_terminal_window)
7989 (tty_set_scroll_region, tty_background_highlight)
7990 (tty_highlight_if_desired, tty_cursor_to)
7991 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
7992 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
7993 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
7994 renames.
7995
cf0590c4
JD
79962007-08-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7997
7998 * keyboard.c: Qrtl is new.
7999 (parse_tool_bar_item): Handle :rtl keyword.
8000 (syms_of_keyboard): Intern :rtl keyword.
8001
8002 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
8003
8004 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
8005 so no Lisp code is executed.
8006 (file_for_image, find_rtl_image): New functions.
8007 (xg_get_image_for_pixmap): Use file_for_image
8008 (update_frame_tool_bar): If direction is RTL, use RTL image if
8009 defined. Use Gtk stock images if defined.
8010
83cc8d35
YM
80112007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8012
8013 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
8014 for nonexistent or zero-width glyph in composition glyph.
8015
e60c4e15
SM
80162007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
8017
d7e2a28f
SM
8018 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
8019
e60c4e15
SM
8020 * xdisp.c (Finvisible_p): New function.
8021 (syms_of_xdisp): defsubr it.
8022
ee163e6d
JB
80232007-08-24 Juanma Barranquero <lekktu@gmail.com>
8024
8025 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
8026 Doc fixes.
8027
90fa408d
YM
80282007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8029
35277b03 8030 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 8031
cac4219c
MR
80322007-08-24 Martin Rudalics <rudalics@gmx.at>
8033
8034 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
8035 whether decoding has modified buffer contents.
8036
5fc9fdeb
JR
80372007-08-24 Jason Rumney <jasonr@gnu.org>
8038
8039 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
8040 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
8041 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
8042 (init_svg_functions) [HAVE_NTGUI]: New function.
8043 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
8044 (svg_load_image): Use them.
8045 (svg_load_image) [HAVE_NTGUI]: Implement background.
8046
93b23406
YM
80472007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8048
8049 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
8050 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
8051 (LIBX): Remove @RSVG_LIBS@.
8052 (LIBES): Add $(RSVG_LIBS).
8053
8054 * image.c (svg_load_image): Blend with specified background if exists.
8055 Use IMAGE_BACKGROUND. Add Mac OS Support.
8056
8057 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
8058 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
8059 Remove macros.
8060 [MAC_OSX] (socket_callback): Do nothing.
8061 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
8062 ReceiveNextEvent.
8063 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
8064 socket_callback.
8065 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
8066
2467875c
GM
80672007-08-22 Glenn Morris <rgm@gnu.org>
8068
ff8da443 8069 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 8070
4ab27a43
GM
80712007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
8072
8073 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 8074
666e0eda
GM
8075 * image.c: Add support for SVG images. Some additional comments
8076 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
8077 (svg_image_p): New function to test for SVG image.
8078 (svg_load): New function to load SVG image.
8079 (svg_load_image): New function, helper for svg_load.
8080 (Qsvg): New Lisp_object.
8081 (svg_keyword_index): New enum.
8082 (svg_format): New static `image_keyword' struct.
8083 (svg_type): New static `image_type' struct.
8084 (librsvg/rsvg.h): Include it.
4ab27a43 8085
b636b4c1
SM
80862007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
8087
8088 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
8089
9ecb827b
SM
80902007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
8091
1d064697
SM
8092 * lread.c (Qold_style_backquotes): New var.
8093 (syms_of_lread): Init and staticpro it.
8094 (load_warn_old_style_backquotes): New fun.
8095 (Fload): Use them to warn about old style backquotes.
8096 (end_of_file_error, Fload): Remove unused vars.
8097
5772ed4b
SM
8098 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
8099
9ecb827b 8100 * lread.c (Vold_style_backquotes): New var.
5aa273b0 8101 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
8102 (read1): Set it when we find an old-style (back)quote.
8103
32e1c7b1
JR
81042007-08-22 Jason Rumney <jasonr@gnu.org>
8105
8106 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
8107
b8fa755b
KY
81082007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
8109
8110 * puresize.h (BASE_PURESIZE): Increase to 1140000.
8111
1283140e
RS
81122007-08-19 Richard Stallman <rms@gnu.org>
8113
8114 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
8115
2c4685ee
AS
81162007-08-19 Andreas Schwab <schwab@suse.de>
8117
8118 * alloc.c (pure): Round PURESIZE up.
8119
e8953ebf
JD
81202007-08-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8121
8122 * xterm.c (handle_one_xevent): Remove check that mouse click is in
8123 active frame.
8124
6e33efc4
RS
81252007-08-16 Richard Stallman <rms@gnu.org>
8126
8127 * eval.c (Fcommandp): Add parens to clarify.
8128
8129 * minibuf.c (Fall_completions): Use enum for type of table.
8130
8131 * emacs.c (USAGE2): Improve text.
8132
fcf8ff2e
GM
81332007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
8134
5205ee62
GM
8135 * term.c (tty_default_color_capabilities): Declare static
8136 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 8137
81d13a51
JD
81382007-08-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8139
8140 * gtkutil.c (update_frame_tool_bar): Use -1 as index
8141 to gtk_toolbar_insert.
8142
4a181359
SM
81432007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
8144
1bc99c9c
SM
8145 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
8146
4a181359
SM
8147 * insdel.c (reset_var_on_error): New fun.
8148 (signal_before_change, signal_after_change):
8149 Use it to reset (after|before)-change-functions to nil in case of error.
8150 Bind inhibit-modification-hooks to t.
8151 Don't bind (after|before)-change-functions to nil while they run.
8152
6c28435c
YM
81532007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8154
8155 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
8156 filling pixmap with stippled background.
8157
ad3b3e02
YM
81582007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8159
8160 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
8161 Don't use invisible frame as parent window for repositioning.
8162
a22dec27
SM
81632007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
8164
8165 * print.c (new_backquote_output): Rename from old_backquote_output.
8166 (print): Inverse its logic (according to its name) so as to match the
8167 behavior of new_backquote_flag in lread.c.
8168
7b7d07bb
YM
81692007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8170
8171 * gmalloc.c (posix_memalign): New function.
8172
8173 * macterm.c (frame_highlight, frame_unhighlight): Don't call
8174 ActivateControl/DeactivateControl here.
8175 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
8176 frame-notice-user-settings is non-nil.
8177 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
8178 for kEventParamFMFontStyle.
8179 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
8180 mac_pass_command_to_system and mac_pass_control_to_system here.
8181 (XTread_socket): Call ActivateControl/DeactivateControl here.
8182 (XTread_socket) [TARGET_API_MAC_CARBON]:
8183 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
8184 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
8185 for window repositioning.
7b7d07bb 8186
22e9fe24
GM
81872007-08-08 Glenn Morris <rgm@gnu.org>
8188
8189 * Replace `iff' in doc-strings and comments.
8190
ae494350
CY
81912007-08-07 Chong Yidong <cyd@stupidchicken.com>
8192
8193 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
8194
6f2528d8
MR
81952007-08-07 Martin Rudalics <rudalics@gmx.at>
8196
8197 * fileio.c (Finsert_file_contents): Run format-decode and
8198 after_insert_file_functions on entire buffer when REPLACE is
8199 non-nil and inhibit modification_hooks and point_motion_hooks.
8200 For consistency, run after_insert_file_functions iff something
8201 got inserted. Move signal_after_change and update_compositions
8202 after code running after_insert_file_functions. Make sure that
6b8e474c 8203 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 8204
3ceeb306
YM
82052007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8206
8207 * emacs.c (main)
8208 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
8209 Call malloc_enable_thread on interactive startup.
8210
8211 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
8212 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
8213 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
8214 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
8215 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
8216 New functions.
8217
ca5e6fd5
CY
82182007-08-06 Chong Yidong <cyd@stupidchicken.com>
8219
32bfce5d
CY
8220 * xdisp.c (redisplay_window): When restoring original buffer
8221 position, make sure it is still valid.
8222
ca5e6fd5
CY
8223 * image.c (png_load): Ignore png-supplied background color.
8224
a5b11587
YM
82252007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8226
8227 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
8228 Use kCFAbsoluteTimeIntervalSince1970.
8229
8230 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
8231 New variable.
8232 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
8233 event loop should be quit.
8234 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
8235 Quit dialog event loop if quit_dialog_event_loop is set.
8236
8237 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
8238 (Selection): New typedef. Use instead of ScrapRef.
8239 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
8240 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
8241 (mac_clear_selection): Rename from clear_scrap.
8242 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 8243 scrap_has_target_type. All uses changed.
a5b11587
YM
8244 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8245 (mac_selection_has_target_p): New functions.
8246 (mac_put_selection_value): Rename from put_scrap_string.
8247 (mac_get_selection_value): Rename from get_scrap_string.
8248 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
8249 (put_scrap_private_timestamp, scrap_has_target_type)
8250 (get_scrap_private_timestamp): Remove functions.
8251 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
8252 (x_own_selection, x_get_local_selection):
8253 Use mac_valid_selection_value_p.
8254 (x_own_selection): Don't use put_scrap_private_timestamp.
8255 Record OWNERSHIP-INFO into Vselection_alist instead.
8256 (x_get_local_selection): Don't check type if request is local.
8257 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
8258 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
8259
991bde0d
JD
82602007-08-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8261
8262 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
8263 add comment explaining why.
8264
73ff9d42
RS
82652007-08-03 Richard Stallman <rms@gnu.org>
8266
8267 * fileio.c (Fvisited_file_modtime): Use make_time.
8268
54ed9a2d 82692007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
8270
8271 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
8272 build.
8273
65a9c8e2
SM
82742007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
8275
8276 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
8277
c5925799
KY
82782007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
8279
8280 * puresize.h (BASE_PURESIZE): Increase to 1130000.
8281
adef3de7
RS
82822007-07-30 Richard Stallman <rms@gnu.org>
8283
8284 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
8285
784c1472
JD
82862007-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8287
8288 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
8289
a10421a1
NR
82902007-07-28 Nick Roberts <nickrob@snap.net.nz>
8291
8292 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
8293 remote default-directory.
8294
8295 * buffer.c (mode-line-format): Update doc string.
8296
0cb1ae20
YM
82972007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8298
8299 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
8300 scroll bar gap.
8301 (x_scroll_bar_create): Set bar->fringe_extended_p.
8302 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
8303 on frame edge. Check fringe background extension. Don't clear
8304 extended fringe background area.
8305
8306 * w32term.h (struct scroll_bar): New member fringe_extended_p.
8307 (w32_fill_area): Enclose multiple statements with do ... while (0).
8308
8309 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
8310 Extend fringe background to scroll bar gap.
8311 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
8312 Set bar->fringe_extended_p.
8313 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
8314 Put leftmost/rightmost scroll bars on frame edge. Check fringe
8315 background extension. Don't clear extended fringe background area.
8316
8317 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
8318 New member fringe_extended_p.
8319
cacc7b51
GM
83202007-07-25 Glenn Morris <rgm@gnu.org>
8321
8322 * Relicense all FSF files to GPLv3 or later.
8323
8324 * COPYING: Switch to GPLv3.
8325
89835619
SM
83262007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
8327
c4f46926
SM
8328 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
8329
8330 * data.c (Finteractive_form): Check for the presence of an
8331 `interactive-form' symbol property more thoroughly.
8332
8333 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
8334 present, analogous to the function-documentation property.
8335
ee04257d
JR
83362007-07-24 Jason Rumney <jasonr@gnu.org>
8337
8338 * w32fns.c (x_real_positions): Get real position from OS instead of
8339 calculating it.
8340
50624218
JR
83412007-07-23 Jason Rumney <jasonr@gnu.org>
8342
8343 * filelock.c (current_lock_owner): Allow for @ sign in username.
8344
3650f60e
NR
83452007-07-22 Nick Roberts <nickrob@snap.net.nz>
8346
8347 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
8348 remote default-directory.
8349
8350 * buffer.c (mode-line-format): Describe above case in doc string.
8351
1e899515 83522007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 8353
75be5258
EZ
8354 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
8355 Define if not defined.
8356
2b6e2f4d
JR
83572007-07-18 Jason Rumney <jasonr@gnu.org>
8358
8359 * w32proc.c (w32_executable_type): Handle 64 bit executables.
8360
23dacf80
JB
83612007-07-18 Richard Stallman <rms@gnu.org>
8362
8363 * data.c (Fsetq_default): Doc fix.
8364
8365 * eval.c (Fsetq): Doc fix.
8366
83672007-07-18 Juanma Barranquero <lekktu@gmail.com>
8368
8369 * coding.c (Ffind_operation_coding_system):
8370 * eval.c (For, Fand): Doc fixes.
8371 Reported by Johan Bockg\e,Ae\e(Brd.
8372
656de71a
JD
83732007-07-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8374
23dacf80 8375 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 8376
23dacf80 8377 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
8378
8379 * xterm.c (x_ewmh_activate_frame): New function.
8380 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
8381
71ec17e6
MR
83822007-07-17 Martin Rudalics <rudalics@gmx.at>
8383
8384 * window.c (Fdisplay_buffer): If largest or LRU window is the
8385 only window, split it even if it is not eligible for splitting.
8386 This restores the original behavior broken by the 2007-07-15
8387 change.
8388
e9818042
GM
83892007-07-17 Glenn Morris <rgm@gnu.org>
8390
8391 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
8392 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
8393 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
8394 constituents. Doc fix.
8395
e6fca843
SM
83962007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
8397
8398 * process.c (Fstart_process, Fmake_network_process)
8399 (read_process_output): Fix up last changes.
8400
b5d2b4ab
EZ
84012007-07-16 Eli Zaretskii <eliz@gnu.org>
8402
8403 * makefile.w32-in (clean): Don't delete *~.
8404
413a79ad
AS
84052007-07-16 Andreas Schwab <schwab@suse.de>
8406
8407 * window.c (Fdisplay_buffer): Use NILP.
8408 (Fset_window_scroll_bars): Likewise.
8409
f1de8c77
MR
84102007-07-15 Martin Rudalics <rudalics@gmx.at>
8411
8412 * window.c (window_min_size_2): New function.
8413 (window_min_size_1, size_window, Fdisplay_buffer)
8414 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
8415 windows without mode- or header-lines when window-min-height is
8416 too small.
8417 (size_window): Reset nodelete_p after testing it, following an
8418 earlier note by Kim F. Storm.
8419 (display_buffer): Do not set split_height_threshold to twice the
8420 value of window_min_height to avoid changing the value of a
8421 customizable variable. Rather explicitly check whether the
8422 height of the window that shall be splitted is at least as large
8423 as split_height_threshold.
1af74d06
MB
8424 (Fwindow_full_width_p): New defun.
8425 (syms_of_window): Defsubr it.
d31053f9 8426
1af74d06 8427 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 8428
5e1ab613
JR
84292007-07-14 Jason Rumney <jasonr@gnu.org>
8430
8431 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
8432
f01cbfdd
RS
84332007-07-14 Richard Stallman <rms@gnu.org>
8434
8435 * eval.c (maybe_call_debugger): New function.
8436 (find_handler_clause): Use maybe_call_debugger.
8437 Call it when the handler says `debug'.
8438 Eliminate DEBUGGER_VALUE_PTR.
8439 (Fsignal): Eliminate debugger_value.
8440 (Qdebug): New variable.
8441 (syms_of_eval): Initialize it.
8442
1bab435a
JB
84432007-07-14 Juanma Barranquero <lekktu@gmail.com>
8444
8445 * eval.c (Fprogn):
8446 * keyboard.c (Ftrack_mouse):
8447 * print.c (Fwith_output_to_temp_buffer):
8448 * window.c (Fsave_window_excursion): Doc fix.
8449
be436d23
SM
84502007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
8451
8452 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
8453
60f0fb11
SM
84542007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
8455
8456 * process.h (struct Lisp_Process): Turn slots infd, outfd,
8457 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
8458 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
8459 read_output_delay, and read_output_skip from Lisp_Objects to ints.
8460 Remove unused encoding_carryover.
8461 * process.c: Adjust all functions accordingly.
8462
d8b18043
RS
84632007-07-12 Richard Stallman <rms@gnu.org>
8464
8465 * term.c: Include unistd.h only if HAVE_UNISTD_H.
8466
d5781bb6
JR
84672007-07-11 Jason Rumney <jasonr@gnu.org>
8468
8469 * makefile.w32-in (LIBS): Include OLE32.
8470
8471 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
8472 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
8473
5bb7dfee
SM
84742007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
8475
8476 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
8477 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
8478 from a Lisp_Object into a bare pointer.
8479 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8480 Adjust the code correspondingly.
8481
8482 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
8483
8484 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
8485 (term_show_mouse_face): Remove unused var `j'.
8486 (handle_one_term_event): Remove unused vars `i' and `j'.
8487 Don't cast return value of ttyname since it's not necessary.
8488
a1be1ce8
SM
84892007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
8490
5045e68e
SM
8491 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
8492 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
8493
8071c00f
SM
8494 * fns.c (map_char_table): Use an array of int for `indices' rather than
8495 an array of Lisp_Objects (which are only ever integers anyway).
8496 (Fmap_char_table): Update caller.
8497 * lisp.h: Update prototype.
8498 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
8499 * fontset.c (Ffontset_info):
8500 * casetab.c (set_case_table): Update callers.
8501
8502 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
8503
fab84e3c
SM
8504 * keymap.c (struct accessible_keymaps_data)
8505 (struct where_is_internal_data): New structures.
8506 (accessible_keymaps_1, where_is_internal_1): Use them to change
8507 interface to adhere to the one used by map_keymap.
8508 (Faccessible_keymaps, where_is_internal): Use map_keymap.
8509 (accessible_keymaps_char_table, where_is_internal_2): Remove.
8510
a1be1ce8
SM
8511 * keymap.h (map_keymap_function_t): More informative prototype.
8512
ef887810
RS
85132007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
8514
8515 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
8516 (looking_at_1): Don't change search_regs and last_thing_searched
8517 if `inhibit-changing-match-data' is non-nil.
8518 (string_match_1, search_buffer, set_search_regs): Likewise.
8519 (syms_of_search): Add Lisp level definition for
8520 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
8521 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
8522 start and end of the match, instead of using values in search_regs.
ef887810 8523
4d02fc25
SM
85242007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
8525
8526 * minibuf.c (Fcompleting_read): New value `confirm-only'
8527 for `require-match'.
8528
fe45b81f
SM
85292007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
8530
8531 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
8532 part of the 2007-06-27 change to syms_of_fileio.
8533
a56dd283
YM
85342007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8535
8536 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
8537 Check WINDOWP before using XWINDOW. Consolidate return statements.
8538
0cf9f5b5
RS
85392007-06-27 Richard Stallman <rms@gnu.org>
8540
8541 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
8542
a66f285a
JB
85432007-06-27 Juanma Barranquero <lekktu@gmail.com>
8544
8545 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
8546
8d0d84d2
YM
85472007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8548
8549 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
8550 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
8551 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
8552 (_free_internal, memalign): Use them.
8553 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
8554 Initialize to PTHREAD_MUTEX_INITIALIZER.
8555 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
8556 (morecore_nolock): Rename from morecore. All uses changed.
8557 Use only nolock versions of internal allocation functions.
8558 (_malloc_internal_nolock, _realloc_internal_nolock)
8559 (_free_internal_nolock): New functions created from
8560 _malloc_internal, _realloc_internal, and _free_internal.
8561 (_malloc_internal, _realloc_internal, _free_internal): Use them.
8562 Copy hook value to automatic variable before its use.
8563 (memalign): Copy hook value to automatic variable before its use.
8564
5a0bbd9a
KH
85652007-06-26 Kenichi Handa <handa@m17n.org>
8566
8567 * coding.c (Ffind_operation_coding_system): Docstring improved.
8568 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
8569
9a51747b
DK
85702007-06-25 David Kastrup <dak@gnu.org>
8571
8572 * keymap.c (Fcurrent_active_maps): Add `position' argument.
8573 (Fwhere_is_internal): Adjust call to `current-active-maps' to
8574 cater for additional parameter.
8575
8576 * keymap.h: Adjust number of parameters to `current-active-maps'.
8577
8578 * doc.c (Fsubstitute_command_keys): Adjust call of
8579 `current-active-maps'.
8580
e4305426
DK
85812007-06-25 David Kastrup <dak@gnu.org>
8582
8583 * callint.c (Fcall_interactively): Make the parsing of interactive
8584 specs somewhat more readable.
8585
511a18d9
YM
85862007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8587
8588 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
8589 to scroll bar gap also when bitmap fills fringe. Draw only foreground
8590 if extended background has already been filled.
8591
512eb161
YM
85922007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8593
8594 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
8595 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
8596
8597 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
8598 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
8599 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
8600 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
8601 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
8602 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
8603 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
8604 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
8605 Run timers during dialog popup.
8606 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
8607
2386b1f1
JR
86082007-06-21 Jason Rumney <jasonr@gnu.org>
8609
8610 * image.c (convert_mono_to_color_image): Swap fore and background.
8611
fab8b787
JR
86122007-06-20 Jason Rumney <jasonr@gnu.org>
8613
8614 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
8615 (w32_free_bdf_font): Unmap memory not handle.
8616
15bdd7a0 86172007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
8618
8619 * gmalloc.c (__morecore): Fix the declaration to comply with the
8620 definition.
8621
1bb8a291
JB
86222007-06-20 Juanma Barranquero <lekktu@gmail.com>
8623
8624 * w32term.c (w32_delete_display): Remove leftover declaration.
8625 (w32_define_cursor, w32_initialize): Make static.
8626
8627 * w32.c (_wsa_errlist): Fix typo in error message.
8628 (init_environment): Ignore any environment variable from the
8629 registry having a null value.
8630
92648dea
GM
86312007-06-20 Glenn Morris <rgm@gnu.org>
8632
8633 * Makefile.in (LIBGIF): Default to -lgif.
8634
ff25d115
JR
86352007-06-17 Jason Rumney <jasonr@gnu.org>
8636
8637 * w32menu.c (add_menu_item): Don't use multibyte string functions on
8638 unicode strings.
8639
a1a578a5
JB
86402007-06-16 Juanma Barranquero <lekktu@gmail.com>
8641
8642 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
8643 Fix typo in docstring.
8644
af41f8a8
EZ
86452007-06-16 Eli Zaretskii <eliz@gnu.org>
8646
8647 * w32menu.c (add_menu_item): Escape `&' characters in menu items
8648 and their keybindings.
8649
8b29cab9
CY
86502007-06-15 Chong Yidong <cyd@stupidchicken.com>
8651
8652 * composite.c (update_compositions): Fix last fix.
8653
c433c134
JR
86542007-06-14 Jason Rumney <jasonr@gnu.org>
8655
8656 * w32.c (get_process_times_fn): New function pointer.
8657 (globals_of_w32): Intialize it if present in kernel32.dll.
8658 (w32_get_internal_run_time): New function.
8659
8660 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
8661
553d3164
KH
86622007-06-14 Kenichi Handa <handa@etlken.m17n.org>
8663
8664 * composite.c (update_compositions): Check the validness of
8665 compositions.
8666
446ba96f
YM
86672007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8668
8669 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
8670 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
8671
8672 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
8673 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
8674
8675 * macgui.h (USE_MAC_TOOLBAR): New define.
8676
8677 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
8678 Return immediately unless popup is activated.
8679
8680 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
8681 background to scroll bar gap.
8682 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
8683 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
8684 scroll bars on frame edge. Check fringe background extension.
8685 Don't clear extended fringe background area.
8686 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
8687 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
8688 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
8689 [USE_MAC_TOOLBAR]: New macros.
8690 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
8691 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
8692 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
8693 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
8694 [USE_MAC_TOOLBAR]: New functions.
8695 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
8696 manually if previous repositioning has failed.
8697 (mac_handle_keyboard_event): Use precomputed event kind.
8698 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
8699 as tool bar item click. Handle mouse movement over tool bar items.
8700
8701 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
8702 toolbar_win_gravity.
8703 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
8704 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
8705 Add externs.
8706
8707 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
8708 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
8709
9720173f
CY
87102007-06-14 Chong Yidong <cyd@stupidchicken.com>
8711
8712 * image.c (search_image_cache): Remove unused variable.
8713
1217dd00
CY
87142007-06-13 Chong Yidong <cyd@stupidchicken.com>
8715
8716 * xfns.c, xmenu.c: Link to xaw3d if available.
8717
c5b8e0ea
YM
87182007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8719
8720 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
8721 frame_foreground and frame_background.
8722
8723 * image.c (lookup_image): Save frame foreground and background colors.
8724 (search_image_cache): Check if saved and current frame colors match.
8725
c69b0314
SM
87262007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
8727
8728 * regex.c (regex_compile): Remove the `regnum' counter.
8729 Use bufp->re_nsub instead. Add support for \(?N:RE\).
8730
c9612b8e
SM
87312007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
8732
8733 * term.c: Include intervals.h to declare Fget_text_property.
8734
843d2458
JR
87352007-06-10 Jason Rumney <jasonr@gnu.org>
8736
8737 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
8738
1e0d2d60 87392007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
8740
8741 * callint.c (Fcall_interactively):
8742 * editfns.c (Fdelete_and_extract_region):
8743 * fileio.c (Fread_file_name):
8744 * fns.c (Fmapconcat):
8745 * keyboard.c (cmd_error_internal):
8746 * keymap.c (Fkey_description):
8747 * lread.c (openp):
8748 * minibuf.c (read_minibuf):
8749 * search.c (wordify):
8750 * sunfns.c (sel_read):
8751 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
8752 * xfns.c (x_default_scroll_bar_color_parameter):
8753 * xmenu.c (menu_help_callback):
8754 * xselect.c (Fx_get_atom_name):
8755 * xterm.c (x_term_init): Use empty_unibyte_string.
8756
15bdd7a0 87572007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
8758
8759 * alloc.c (init_strings): Initialize canonical empty strings.
8760 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
8761 canonical empty string when the requested size is 0.
8762
8763 * emacs.c (empty_unibyte_string): Rename from empty_string.
8764 (empty_multibyte_string): New canonical empty string.
8765 (syms_of_emacs): Don't initialize empty_string.
8766
8767 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
8768 string, if appropriate.
8769 (empty_unibyte_string, empty_multibyte_string): New externs.
8770 (empty_string): Remove extern.
8771
8772 * lread.c (syms_of_lread): Use empty_unibyte_string.
8773
42c4c67a
JR
87742007-06-07 Jason Rumney <jasonr@gnu.org>
8775
8776 * s/ms-w32.h: Don't define HAVE_TZNAME.
8777
8778 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
8779
aa8280d3
YM
87802007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8781
8782 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
8783
8784 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
8785 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
8786
8787 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
8788 Don't call next handler.
8789 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
8790 Remove argument. Install handler to application.
8791 (set_frame_menubar): Don't change deep_p.
1e0d2d60 8792 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
8793 FRAME_OUTER_TO_INNER_DIFF_Y.
8794 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8795 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8796 [HAVE_DIALOGS]: New macros.
8797 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
8798 Use them.
8799 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
8800
8801 * macselect.c [MAC_OSX] (install_service_handler): Rename from
8802 init_service_handler. All callers changed. Return OSStatus value.
8803
8804 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
8805 All callers changed so as not to call SetPortWindowPort.
8806 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
8807 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
8808 mac_draw_string_common.
8809 (mac_draw_image_string_qd): Likewise.
8810 (mac_draw_string_common): Use them. Add INLINE.
8811 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
8812 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
8813 GetGlobalMouse.
8814 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
8815 and FRAME_OUTER_TO_INNER_DIFF_Y.
8816 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
8817 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
8818 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
8819 repositioning window to mac_handle_window_event.
8820 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
8821 saving window location to mac_handle_window_event
8822 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
8823 (install_menu_target_item_handler): Remove argument in extern.
8824 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
8825 Also accept command events.
8826 (do_keystroke): New function created from XTread_socket.
8827 (init_command_handler): Remove functions.
8828 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
8829 and save window location by kEventWindowShowing and kEventWindowHiding
8830 handlers here. Don't call next handler for window state change and
8831 focus events.
8832 (mac_handle_application_event, mac_handle_keyboard_event)
8833 [TARGET_API_MAC_CARBON]: New functions.
8834 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
8835 kEventWindowShowing and kEventWindowHiding events. Move installation
8836 of mouse, font, text input and menu target item handlers to
8837 install_application_handler.
8838 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
8839 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8840 New function.
8841 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8842 Register it.
c9612b8e
SM
8843 (XTread_socket) [TARGET_API_MAC_CARBON]:
8844 Consolidate SendEventToEventTarget calls.
8845 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
8846 Move application activation handler to mac_handle_application_event.
8847 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
8848 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
8849 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
8850 init_command_handler. Call install_application_handler.
8851
8852 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
8853 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
8854
6926c954
GM
88552007-06-07 Glenn Morris <rgm@gnu.org>
8856
8857 * emacs.c (main): Use `emacs-copyright' in --version output.
8858
6fe04c89
CY
88592007-06-06 Chong Yidong <cyd@stupidchicken.com>
8860
c9612b8e 8861 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 8862
7eb0d727
YM
88632007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8864
8865 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
8866
8867 * macgui.h: Replace WindowPtr with WindowRef.
8868
8869 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
8870 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
8871 Replace ControlHandle with ControlRef.
8872 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
8873
8874 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
8875 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
8876 Replace ControlHandle with ControlRef.
8877 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
8878 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
8879
8880 * macterm.h (struct scroll_bar): Rename member control_handle_low
8881 and control_handle_high to control_ref_low and control_ref_high.
8882 All uses changed.
8883 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
8884 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
8885 respectively. All uses changed.
8886 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
8887 (install_window_handler, remove_window_handler): Replace WindowPtr
8888 with WindowRef in externs.
8889
65fddb74
JB
88902007-06-05 Juanma Barranquero <lekktu@gmail.com>
8891
8892 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
8893
db1213a9
NR
88942007-06-03 Nick Roberts <nickrob@snap.net.nz>
8895
8896 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
8897
65fddb74 8898 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
8899 Condition on HAVE_GPM too.
8900
8901 * term.c (term_mouse_highlight): Remove unused variables.
8902 (Fterm_open_connection): Set gpm_zerobased to 1.
8903 (term_mouse_movement, term_mouse_click, handle_one_term_event):
8904 Use zero based co-ordinates.
8905 (handle_one_term_event): Report a drag as mouse movement too.
8906
8907 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
8908
d94df25b
CY
89092007-06-03 Chong Yidong <cyd@stupidchicken.com>
8910
8911 * image.c (search_image_cache): New function. Require background
8912 color match if background color is unspecified in the image spec.
8913 (uncache_image, lookup_image): Use it.
8914
4797b6d9
JB
89152007-06-01 Juanma Barranquero <lekktu@gmail.com>
8916
8917 * window.c (Fshrink_window): Reflow docstring.
8918
1ffe7343
NR
89192007-06-02 Chong Yidong <cyd@stupidchicken.com>
8920
8921 * Version 22.1 released.
8922
89232007-06-01 Richard Stallman <rms@gnu.org>
8924
8925 * xfns.c (x_encode_text): Add GCPRO.
8926
89272007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8928
8929 * xfns.c (x_set_name_internal): Save encoded name before
8930 x_encode_text in case string data is relocated.
8931
89322007-05-31 Richard Stallman <rms@gnu.org>
8933
8934 * buffer.c (syms_of_buffer): Doc fix.
8935
89362007-05-30 Nick Roberts <nickrob@snap.net.nz>
8937
8938 * sysdep.c (init_sys_modes): Add rather than replace with
8939 O_NONBLOCK.
8940
8941 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
8942 term_mouse_moveto.
8943
8944 * termhooks.h (term_mouse_moveto): New extern.
8945
8946 * term.c (mouse_face_window): Rename...
8947 (Qmouse_face_window): ...to this.
8948 (term_show_mouse_face, term_clear_mouse_face)
8949 (term_mouse_highlight): Use Qmouse_face_window.
8950 (term_mouse_moveto): New function.
8951 (term_mouse_position): Make it work.
8952 (syms_of_term): Uncomment assignment to mouse_position_hook.
8953 Staticpro Qmouse_face_window.
8954
89552007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8956
8957 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
8958 around current_column call.
8959
89602007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
8961
8962 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
8963 * xdisp.c (next_element_from_buffer):
8964 * window.c (delete_window):
8965 * term.c (term_mouse_highlight):
8966 * msdos.c (getdefdir):
8967 * macterm.c (mac_create_bitmap_from_bitmap_data)
8968 (init_font_name_table):
8969 * fns.c (Fsxhash):
8970 * data.c (Fmake_local_variable):
8971 * ccl.c (ccl_driver): Likewise.
8972
89732007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8974
8975 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
8976 Call mac_wakeup_from_rne on window size change.
8977
89782007-05-25 Chong Yidong <cyd@stupidchicken.com>
8979
8980 * image.c (uncache_image): Fix typo.
8981
89822007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
8983
8984 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
8985
89862007-05-22 Richard Stallman <rms@gnu.org>
8987
8988 * xterm.c (x_connection_closed): Remove NO_RETURN.
8989
89902007-05-22 Martin Rudalics <rudalics@gmx.at>
8991
8992 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
8993
89942007-05-21 Chong Yidong <cyd@stupidchicken.com>
8995
8996 * image.c (uncache_image): New function.
8997 (Fimage_refresh): New function.
8998
89992007-05-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9000
9001 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
9002
90032007-05-20 Nick Roberts <nickrob@snap.net.nz>
9004
9005 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
9006 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
9007
90082007-05-20 Nick Roberts <nickrob@snap.net.nz>
9009
9010 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
9011 conditional on [HAVE_GPM_H].
9012
90132007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
9014
9015 * syntax.c (skip_chars): Update syntax-table only after we checked that
9016 the new location is valid.
9017
90182007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9019
9020 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
9021 mac_get_window_bounds.
9022
90232007-05-20 Nick Roberts <nickrob@snap.net.nz>
9024
9025 * Makefile.in (LIBGPM): Allow it to be set from configure.
9026 If set then link Emacs with it.
9027
9028 * config.in: Regenerate.
9029
9030 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
9031 New externs.
9032
9033 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
9034 Include gpm.h.
9035 (handle_one_term_event, term_gpm): New externs.
9036
9037 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
9038 and allow it to be interrupted by SIGIO.
9039
9040 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
9041 (wait_reading_process_output): Wait on gpm_fd too.
9042 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
9043 (add_gpm_wait_descriptor_called_flag): New variable.
9044 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
9045
9046 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
9047 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
9048 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
9049 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
9050 (make_lispy_event): Add case GPM_CLICK_EVENT.
9051 (read_avail_input): Handle mouse input.
9052
9053 * term.c (write_glyphs_with_face): New function.
9054 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
9055 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
9056 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
9057 (mouse_face_face_id, term_gpm, pos_x, pos_y)
9058 (last_mouse_x, last_mouse_y): New variables.
9059 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
9060 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
9061 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
9062 (Fterm_close_connection): New functions.
9063 (term_init): Initialise mouse_face_window.
9064
90652007-05-19 Chong Yidong <cyd@stupidchicken.com>
9066
9067 * xdisp.c (redisplay_window): If first window line is a
9068 continuation line, recompute the new window start instead of
9069 recentering.
9070
90712007-05-18 Glenn Morris <rgm@gnu.org>
9072
9073 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
9074 Suggested by Alfred M. Szmidt <ams@gnu.org>.
9075
90762007-05-17 Glenn Morris <rgm@gnu.org>
9077
9078 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
9079
90802007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9081
9082 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
9083 dead key repeat and up events.
9084
90852007-05-14 Chong Yidong <cyd@stupidchicken.com>
9086
9087 * image.c (pbm_load): Check image size for monochrome pbm.
9088
90892007-05-13 Chong Yidong <cyd@stupidchicken.com>
9090
9091 * xterm.c (XTread_socket): Revert last change.
9092
90932007-05-12 Chong Yidong <cyd@stupidchicken.com>
9094
9095 * image.c (pbm_load): Correctly check image size for greyscale pbm.
9096
9097 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
9098
90992007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
9100
9101 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
9102 mixup (YAILOM).
9103
91042007-05-07 Andreas Schwab <schwab@suse.de>
9105
9106 * keymap.c (Flookup_key): Fix typo in last change.
9107
91082007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
9109
9110 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
9111 mapping for unibyte strings.
9112
91132007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9114
9115 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
9116 (Fx_popup_dialog) [MAC_OSX]: Likewise.
9117
91182007-04-29 Richard Stallman <rms@gnu.org>
9119
9120 * insdel.c (replace_range): For undo, record insertion first.
9121
91222007-04-29 Andreas Schwab <schwab@suse.de>
9123
9124 * lisp.h (VECSIZE): Use OFFSETOF.
9125
91262007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9127
9128 * xdisp.c (try_window_reusing_current_matrix): Fix number of
9129 disabled lines.
9130
91312007-04-28 Richard Stallman <rms@gnu.org>
9132
9133 * lread.c (read_escape): In a string, \s is always space.
9134
91352007-04-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9136
9137 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
9138
9139 * gtkutil.c (xg_update_menubar, create_menus): Create empty
9140 submenu for menu bar items.
9141
382c648d 9142See ChangeLog.10 for earlier changes.
6922b018
KH
9143
9144;; Local Variables:
49b3bd82 9145;; coding: iso-2022-7bit
33462dfa 9146;; add-log-time-zone-rule: t
6922b018 9147;; End:
2a34a036 9148
59ce725a 9149 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
9150
9151 This file is part of GNU Emacs.
9152
9153 GNU Emacs is free software; you can redistribute it and/or modify
9154 it under the terms of the GNU General Public License as published by
684d6f5b 9155 the Free Software Foundation; either version 3, or (at your option)
7f6d64f8
GM
9156 any later version.
9157
9158 GNU Emacs is distributed in the hope that it will be useful,
9159 but WITHOUT ANY WARRANTY; without even the implied warranty of
9160 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9161 GNU General Public License for more details.
9162
9163 You should have received a copy of the GNU General Public License
9164 along with GNU Emacs; see the file COPYING. If not, write to the
9165 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
9166 Boston, MA 02110-1301, USA.
ab5796a9 9167
28f60c3d 9168;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40