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