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