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