* fontset.c (fontset_get_font_group):
[bpt/emacs.git] / src / ChangeLog
1 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * fontset.c (fontset_get_font_group):
4 * font.c (font_check_otf): Specify argument types.
5
6 2008-07-09 Kenichi Handa <handa@m17n.org>
7
8 * coding.c (detect_coding_utf_8): Set detect_info->found only when
9 non-ASCII char is found.
10
11 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
12 (reorder_font_vector): Change the arg preferred_family to font.
13 Prefer the spec matching with font.
14 (fontset_get_font_group): New function.
15 (fontset_find_font): Change the format of an element of a realized
16 fontset. Use fontset_get_font_group.
17 (fontset_font): Try the current fontset, the default fontset, the
18 fallbacks of the current fonset, and the fallbacks of the default
19 fontset in this order.
20 (face_for_char): Delete the shortcut to use the current font.
21 (fontset_from_font): Don't set fonts for Latin in the fontset.
22
23 * font.h (font_make_object, font_match_p): Adjust prototypes.
24
25 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
26
27 * font.c (font_make_object): New arg entity and pixelsize.
28 (font_check_otf_features, font_check_otf): New functions.
29 (font_match_p): Check :lang, :script, and :otf properties.
30
31 * xfont.c (xfont_open): Adjust it for the change of
32 font_make_object.
33 (xfont_text_extents): Fix initial setting of metrics.
34
35 * ftfont.c (struct ftfont_info): New member index, delete member
36 fc_charset_idx. Make the member order compatible with struct
37 xftfont_info.
38 (fc_charset_table): Change charset names to registry names.
39 (ftfont_pattern_entity): Delete the args registry and
40 fc_charset_idx. Change the value of :font-entity property
41 to (FONTNAME . INDEX). Always set :registry property to
42 `iso10646-1'.
43 (struct ftfont_cache_data): New struct.
44 (ftfont_lookup_cache): New arg for_face.
45 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
46 (ftfont_driver): Set the member otf_capability.
47 (ftfont_get_charset): Adjust it for the change of
48 fc_charset_table.
49 (OTF_TAG_SYM): New macro.
50 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
51 for the change of fc_charset_table.
52 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
53 ftfont_pattern_entity. Add FC_INDEX to objset.
54 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
55 and ftfont_pattern_entity.
56 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
57 font_make_object, struct ftfont_info.
58 (ftfont_has_char): Use ftfont_get_fc_charset.
59 (ftfont_otf_features, ftfont_otf_capability): New functions.
60 (ftfont_shape): Use ftfont_get_otf.
61 (ftfont_text_extents): Fix initial setting of metrics.
62
63 * xftfont.c (struct xftfont_info): New member ft_size. Make the
64 member order compatible with struct ftfont_info.
65 (xftfont_open): Add FC_CHARSET to the pattern. Set
66 xftfont_info->ft_size. Don't unlock the face. Check BDF
67 properties if appropriate.
68 (xftfont_close): Unlock the face.
69 (xftfont_anchor_point, xftfont_shape): Deleted.
70 (syms_of_xftfont): Don't set members anchor_point and shape of
71 xftfont_driver.
72
73 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
74 font_make_object.
75
76 * w32font.c (w32font_open): Adjust it for the change of
77 font_make_object.
78 (w32font_open_internal): Don't set properties of font_object here.
79
80 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
81
82 * macfns.c (x_create_tip_frame):
83 * w32fns.c (x_create_tip_frame):
84 * xfns.c (x_create_tip_frame): Pass parameter argument to
85 face-set-after-frame-default.
86
87 * xfaces.c (Finternal_merge_in_global_face): Save merged
88 attributes for the default face back into the face vector.
89
90 2008-07-08 Andreas Schwab <schwab@suse.de>
91
92 * fontset.h: Declare fontset_from_font. Don't declare
93 new_fontset_from_font and fontset_from_font_name.
94 * xterm.c: Include "fontset.h".
95 * Makefile.in (xterm.o): Update dependencies.
96
97 2008-07-08 Glenn Morris <rgm@gnu.org>
98
99 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
100 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
101
102 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
103
104 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
105 (x_set_frame_parameters): Don't bind it.
106
107 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
108
109 * w32fns.c (map_w32_filename): Declare extern.
110
111 2008-07-07 Jason Rumney <jasonr@gnu.org>
112
113 * w32term.c (WS_EX_LAYERED): Define if not already.
114
115 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
116
117 * xfaces.c (set_font_frame_param): Don't try to set the font
118 parameter if it is still unspecified in the lface.
119
120 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
121
122 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
123 face if it didn't already exist.
124
125 * xdisp.c (try_window_id): Give up if word-wrapping is on.
126
127 2008-07-05 Andreas Schwab <schwab@suse.de>
128
129 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
130
131 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
132
133 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
134 word-wrapping.
135 (IT_DISPLAYING_WHITESPACE): New macro.
136 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
137 when word-wrapping. Simplify word-wrapping logic. Use correct
138 pixel positions when saving copies of the iterator.
139 (display_line): Use proper wrap point if the last character on a
140 line was preceded by whitespace.
141
142 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
143
144 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
145
146 2008-07-04 Kenichi Handa <handa@m17n.org>
147
148 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
149
150 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
151
152 2008-07-02 Jason Rumney <jasonr@gnu.org>
153
154 * xfns.c (syms_of_xfns): Only define x-select-font when both
155 HAVE_FREETYPE and USE_GTK
156
157 * xdisp.c (next_element_from_display_vector): Move assignment out
158 of if statement.
159
160 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
161
162 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
163
164 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
165 (syms_of_fileio): Initialize and export them.
166 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
167
168 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
169 (Fsystem_move_file_to_trash): New function.
170 (syms_of_w32fns): Export it to lisp.
171
172 2008-07-01 Jason Rumney <jasonr@gnu.org>
173
174 * w32font.c (w32font_text_extents): Don't count overhang as part
175 of width.
176
177 2008-06-30 Miles Bader <miles@gnu.org>
178
179 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
180 Add `avoid_cursor_p' field.
181
182 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
183 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
184 (append_glyph, append_composite_glyph, produce_image_glyph)
185 (append_stretch_glyph): Initialize avoid_cursor_p.
186 (get_it_property): Rename from `get_line_height_property'.
187 (x_produce_glyphs): Use get_it_property.
188 (handle_line_prefix, push_display_prop): New functions.
189 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
190 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
191 New variables.
192 (syms_of_xdisp): Initialize them.
193
194 2008-06-30 Kenichi Handa <handa@m17n.org>
195
196 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
197 XftDefaultSubstitute (they are called in XftFontMatch).
198 (xftfont_open): Fix args to ftfont_font_format.
199
200 * ftfont.c (fc_charset_table): New member lang.
201 (ftfont_resolve_generic_family): New arg pattern.
202 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
203 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
204 (ftfont_open): Fix args to ftfont_font_format.
205 (ftfont_font_format): New arg filename.
206
207 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
208
209 * xfaces.c (Finternal_merge_in_global_face): If default face was
210 modified, realize it again. Update the font face attribute.
211
212 2008-06-29 Jason Rumney <jasonr@gnu.org>
213
214 * w32term.c (x_set_frame_alpha): Fix logic.
215
216 2008-06-29 Kenichi Handa <handa@m17n.org>
217
218 * fontset.c (Finternal_char_font): Return font-object instead of
219 font-name.
220
221 * composite.c (get_composition_id): Fix the width calculation for TAB.
222
223 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
224
225 * indent.c (Fvertical_motion): Properly handle float column arg.
226
227 2008-06-28 Jason Rumney <jasonr@gnu.org>
228
229 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
230 (pfnSetLayeredWindowAttributes): New function pointer.
231 (w32_initialize): Initialize it when supported.
232 (x_set_frame_alpha): New function.
233
234 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
235 (w32_frame_parm_handlers): Set alpha handler.
236
237 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
238
239 2008-06-27 Jason Rumney <jasonr@gnu.org>
240
241 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
242 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
243 (w32_to_x_charset, x_to_w32_charset)
244 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
245 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
246 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
247 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
248 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
249 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
250 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
251 (Qw32_charset_unicode): Remove.
252 (syms_of_w32fns): Update for above changes.
253
254 * w32font.c (w32_to_x_charset, x_to_w32_charset)
255 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
256 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
257 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
258 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
259 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
260 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
261 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
262 (syms_of_w32font): Update for above changes.
263
264 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
265
266 * s/usg5-4.h: Fix previous change: keep the correct branch of a
267 removed #if.
268 (USG_SHARED_LIBRARIES): Remove duplicate definition.
269
270 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
271 Eli Zaretskii <eliz@gnu.org>
272
273 * makefile.w32-in (LOCAL_FLAGS):
274 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
275
276 * sysdep.c (_spawnlp, _getpid):
277 Declare with explicit _cdecl instead of _CRTAPI1.
278
279 * editfns.c (Fget_internal_run_time):
280 Check for WINDOWSNT with #ifdef, not #if.
281
282 2008-06-26 Jason Rumney <jasonr@gnu.org>
283
284 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
285
286 * w32term.c (x_draw_glyph_string_foreground)
287 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
288 Use FONT_HANDLE macro.
289 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
290
291 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
292 (uniscribe_encode_char): Use FONT_HANDLE macro.
293
294 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
295 (w32font_text_extents): Use precast w32_font.
296 (w32font_close): Free cached metrics.
297 (w32font_open_internal): Allocate space for name on stack.
298
299 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
300
301 * xdisp.c (extend_face_to_end_of_line): Fix last change.
302
303 2008-06-26 Jason Rumney <jasonr@gnu.org>
304
305 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
306 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
307
308 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
309
310 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
311
312 2008-06-26 Jason Rumney <jasonr@gnu.org>
313
314 * w32bdf.c, w32bdf.h: Remove obsolete files.
315
316 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
317
318 * w32gui.h: Don't include w32bdf.h.
319 (XCharStruct, enum w32_char_font_type, W32FontStruct):
320 Remove obsolete font support.
321
322 * w32font.h (struct w32font_info): Remove compat_w32_font.
323 Add hfont member.
324 (FONT_COMPAT): Remove obsolete macro.
325
326 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
327 (w32font_encode_char, w32font_text_extents): Use new hfont member.
328 (w32font_open_internal): Remove compat code. Set new hfont member.
329 (Fx_select_font): Use new hfont member.
330
331 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
332 (uniscribe_encode_char): Use new hfont member.
333
334 * w32term.c (x_draw_glyph_string_foreground)
335 (x_draw_composite_glyph_string_foreground): Use new hfont member.
336 (x_draw_glyph_string): Use metrics in w32font_info.
337
338 2008-06-26 Kenichi Handa <handa@m17n.org>
339
340 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
341
342 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
343
344 * unexnext.c:
345 * m/ews4800.h:
346 * m/hp9000s300.h:
347 * m/ibm370aix.h:
348 * m/mips-siemens.h:
349 * m/ncr386.h:
350 * m/next.h:
351 * m/pmax.h:
352 * m/powerpcle.h:
353 * m/tandem-s2.h:
354 * s/386bsd.h:
355 * s/bsd386.h:
356 * s/bsd4-1.h:
357 * s/bsd4-2.h:
358 * s/bsdos2-1.h:
359 * s/bsdos2.h:
360 * s/bsdos3.h:
361 * s/bsdos4.h:
362 * s/nextstep.h:
363 * s/ultrix4-3.h:
364 * s/usg5-0.h:
365 * s/usg5-2-2.h:
366 * s/usg5-2.h:
367 * s/usg5-4-3.h:
368 * s/ux4800.h:
369 * s/uxpds.h:
370 * s/uxpv.h: Remove support for obsolete systems.
371 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
372 Remove, insert contents in s/hpux-10.20.h
373 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
374 Remove, insert contents in s/aix-4.2.h
375 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
376 * s/bsd4-3.h: Rename to ..
377 * s/bsd-common.h: ... this.
378 * src/data.c:
379 * src/doc.c:
380 * src/ecrt0.c:
381 * src/emacs.c:
382 * src/fileio.c:
383 * src/floatfns.c:
384 * src/keyboard.c:
385 * src/mem-limits.h:
386 * src/print.c:
387 * src/process.c:
388 * src/sysdep.c:
389 * src/syssignal.h:
390 * src/systty.h:
391 * src/syswait.h:
392 * src/term.c:
393 * src/unexec.c:
394 * src/unexelf.c:
395 * src/unexhp9k800.c:
396 * src/m/hp800.h:
397 * src/m/ibmrs6000.h:
398 * src/m/mips.h:
399 * src/m/vax.h:
400 * src/s/darwin.h:
401 * src/s/freebsd.h:
402 * src/s/gnu.h:
403 * src/s/ms-w32.h:
404 * src/s/msdos.h:
405 * src/s/netbsd.h:
406 * src/s/template.h: Remove references to obsolete variables.
407
408 * Makefile.in: Add dependencies for all unexec files.
409 (admindir): Remove unused variable.
410 (UNEXEC_SRC): Remove references.
411
412 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
413
414 * xfns.c (x_default_font_parameter): If Xft is available, first
415 try Monospace-12 for the default font.
416
417 2008-06-25 Jason Rumney <jasonr@gnu.org>
418
419 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
420
421 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
422
423 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
424
425 * buffer.c (syms_of_buffer): Remove default-word-wrap.
426
427 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
428
429 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
430 <scroll-conservatively>: Fix typo in docstring.
431
432 * xselect.c (Fx_send_client_event): Doc fix.
433
434 2008-06-25 Kenichi Handa <handa@m17n.org>
435
436 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
437
438 * font.c (font_parse_fcname): Remove unused variables.
439 (font_sort_entites): Delete the arg SPEC. Caller changed.
440 Fix for the case of ! best_only.
441 (font_delete_unmatched): Check DPI and AVGWIDTH too.
442
443 * lisp.h (Fstring_to_unibyte): EXFUN it.
444
445 * character.h (str_to_unibyte): Extern it.
446
447 * character.c (str_to_unibyte): New function.
448
449 * fns.c (Fstring_to_unibyte): New function.
450 (syms_of_fns): Defsubr it.
451
452 2008-06-24 Kenichi Handa <handa@m17n.org>
453
454 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
455 DPI too.
456 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
457
458 2008-06-24 Andreas Schwab <schwab@suse.de>
459
460 * Makefile.in (${lispsource}loaddefs.el): Rename from
461 ../lisp/loaddefs.el.
462 (bootstrap-clean): Do what distclean does but don't remove
463 Makefile.
464 (distclean): Depend on bootstrap-clean and remove Makefile.
465
466 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
467
468 * buffer.h (struct buffer): New member word_wrap.
469
470 * buffer.c (syms_of_buffer): New variables default-word-wrap and
471 word-wrap.
472 (init_buffer_once): Initialize them.
473
474 * dispextern.h (struct it): Replace bool truncate_lines_p with a
475 line_wrap enum possessing three possible values.
476
477 * termopts.h: Replace truncate_partial_width_windows with
478 Vtruncate_partial_width_windows.
479
480 * dispnew.c (direct_output_for_insert): Avoid direct output when
481 inserting a space with word wrap on.
482
483 * indent.c (compute_motion): Obey integer values of
484 truncate-partial-width-windows.
485
486 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
487 replacing truncate_partial_width_windows.
488 (init_iterator): If Vtruncate_partial_width_windows is an integer,
489 truncate only if the window width is below that integer.
490 (start_display. resize_mini_window, produce_stretch_glyph)
491 (display_string, move_it_in_display_line_to): Use line_wrap.
492 (back_to_previous_visible_line_start, reseat_1): Reset
493 string_from_display_prop_p.
494 (display_line): Extend default face to end of line when wrapping.
495
496 2008-06-24 Kim F. Storm <storm@cua.dk>
497
498 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
499 to wrap continued lines at word boundaries.
500
501 2008-06-24 Jason Rumney <jasonr@gnu.org>
502
503 * font.c (Ffont_face_attributes): Multiply pixel size before point
504 conversion to avoid multiplying rounding error.
505
506 2008-06-23 Jason Rumney <jasonr@gnu.org>
507
508 * w32term.c (x_draw_glyph_string_background)
509 (x_draw_glyph_string): Remove old bdf font code.
510
511 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
512
513 2008-06-22 Kenichi Handa <handa@m17n.org>
514
515 * font.c (font_find_for_lface): Try the adstyle specified in
516 the property of LFACE_FONT of LFACE (if any).
517
518 2008-06-21 Seiji Zenitani <zenitani@mac.com>
519 Ryo Yoshitake <ryo@shiftmode.net>
520
521 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
522
523 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
524
525 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
526 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
527 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
528 (witness-emacs): Remove.
529 (lisp, shortlisp): Move loaddefs.el earlier.
530 (mostlyclean): Forget about witness-emacs.
531
532 2008-06-22 Glenn Morris <rgm@gnu.org>
533
534 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
535 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
536
537 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
538
539 * Makefile.in (PRECOMP): Remove.
540 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
541 (witness-emacs): Run `compile-first'.
542 (.el.elc): Use the new compile-onefile target.
543
544 2008-06-21 Kenichi Handa <handa@m17n.org>
545
546 * xftfont.c (xftfont_open): Handle QCembolden only when
547 FC_EMBOLDEN is defined.
548
549 2008-06-21 Andreas Schwab <schwab@suse.de>
550
551 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
552 (.el.elc): Likewise.
553
554 2008-06-21 Miles Bader <miles@gnu.org>
555
556 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
557 build dir, not the lisp source dir.
558
559 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
560
561 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
562 (bootstrapclean): Remove.
563 (.el.elc): New rule.
564 (PRECOMP): New var.
565 (../lisp/subdirs.el): Remove.
566 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
567 (witness-emacs): New target.
568 (mostlyclean): Remove witness-emacs as well.
569 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
570 Add witness-emacs dependency.
571
572 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
573
574 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
575 defined by the font.
576
577 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
578
579 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
580 (bootstrap-clean): New target that keeps TAGS around.
581 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
582 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
583
584 2008-06-20 Jason Rumney <jasonr@gnu.org>
585
586 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
587 Remove obsolete font code.
588
589 * w32font.c (font_matches_spec): Use csb bitfield from font signature
590 to determine language support.
591
592 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
593
594 * sysdep.c (cfsetspeed): New fun extracted from the code.
595 (cfmakeraw): Move before first use.
596
597 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
598
599 * sysdep.c (cfmakeraw): Provide fallback implementation.
600 (serial_configure): Provide fallback implementation of cfsetspeed.
601
602 2008-06-20 Kenichi Handa <handa@m17n.org>
603
604 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
605 the pattern.
606
607 * fontset.c (fontset_from_font): Copy font_spec before changing
608 the elements.
609
610 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
611
612 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
613
614 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
615 for explicit `font' parameters.
616
617 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
618
619 2008-06-19 Kenichi Handa <handa@m17n.org>
620
621 * frame.c: Include <ctype.h>.
622 (x_set_font_backend): Allow spacing characters in the X resource
623 for FontBackend.
624
625 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
626
627 * w32fns.c, xfns.c (Qfont_param): New var.
628 (syms_of_w32fns): Initialize it.
629 (x_default_font_parameter): Record explicit `font' into
630 `font-parameter'.
631
632 2008-06-18 Kenichi Handa <handa@m17n.org>
633
634 * font.c (font_parse_xlfd): Fix previous change.
635 (font_parse_fcname): Don't use :fc-unknown-spec.
636 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
637 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
638 (font_add_log): Prepend the driver name to the resulting fonts.
639
640 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
641 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
642 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
643
644 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
645 (QCembolden): New variables.
646 (syms_of_xftfont): DEFSYM them.
647 (xftfont_open): Call XftFontMatch. Don't trust the result of
648 XftTextExtents8 if the pixel_size is less than 5.
649
650 2008-06-18 Andreas Schwab <schwab@suse.de>
651
652 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
653 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
654
655 2008-06-18 Jason Rumney <jasonr@gnu.org>
656
657 * w32font.c (w32font_list, w32font_match): Add logging.
658
659 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
660
661 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
662
663 * font.c (font_parse_fcname): Store divider characters for
664 unknown-spec list. For known key symbols, intern using correct
665 symbol name.
666
667 2008-06-17 Kenichi Handa <handa@m17n.org>
668
669 * xfaces.c (realize_default_face): If the frame is not on window
670 system, set the fontset of face to nil.
671
672 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
673
674 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
675
676 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
677
678 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
679 (build_font_name_from_vector): Delete externs.
680
681 * xfaces.c (struct font_name): Don't declare.
682
683 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
684
685 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
686
687 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
688
689 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
690
691 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
692
693 * font.c (Ffont_spec): Fix usage in docstring.
694 (Ffont_face_attributes): Doc fix.
695
696 2008-06-16 Andreas Schwab <schwab@suse.de>
697
698 * font.c (Ffont_face_attributes): Fix definition.
699
700 2008-06-16 Jason Rumney <jasonr@gnu.org>
701
702 * font.h (font_style_symbolic_from_value): Remove.
703
704 * font.c (font_style_symbolic_from_value): Remove.
705 (font_style_symbolic): Revert to pre 2008-06-13 version.
706
707 * w32font.c (w32_to_fc_weight): New function.
708 (w32font_full_name, logfont_to_fcname): Use it.
709
710 2008-06-16 Kenichi Handa <handa@m17n.org>
711
712 * font.c (font_check_object): Delete it.
713 (font_clear_cache): Check if a font-object is alive.
714 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
715 font-object to nil.
716 (font_close_object): Don't check FONT_CLOSE_OBJECT.
717 (font_at): Don't call font_check_object.
718 (Ffont_get): Return a symbol for :weight, :slant, and :width.
719
720 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
721
722 * puresize.h (BASE_PURESIZE): Increase to 1230000.
723
724 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
725
726 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
727
728 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
729
730 * font.c (font_parse_fcname): Only one decimal point.
731 (font_unparse_fcname): Handle data in family and foundry indices
732 as symbols, not strings.
733 (font_unparse_gtkname, Ffont_face_attributes): New functions.
734
735 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
736
737 * font.h (font_unparse_gtkname): Add prototype.
738
739 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
740
741 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
742
743 2008-06-15 Andreas Schwab <schwab@suse.de>
744
745 * font.c (font_update_drivers): Fix crash when no drivers match.
746
747 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
748
749 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
750 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
751
752 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
753
754 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
755
756 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
757
758 * process.c (Fserial_process_configure, Fprocess_send_eof):
759 Use EQ to compare Lisp_Objects.
760
761 2008-06-13 Jason Rumney <jasonr@gnu.org>
762
763 * w32fns.c (Fw32_select_font): Remove old font API function.
764
765 * w32font.c (logfont_to_fcname): New function.
766 (Fx_select_font): New font dialog function compatible with
767 GTK/fontconfig version.
768
769 * font.c (font_style_symbolic_from_value): New function.
770 (font_style_symbolic): Use it.
771
772 * font.h (font_style_symbolic_from_value): Declare new function.
773
774 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
775
776 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
777 <font-width-table>: Fix typos in docstrings.
778
779 2008-06-13 Daniel Engeler <engeler@gmail.com>
780
781 These changes add serial port access.
782 * process.c: Add HAVE_SERIAL.
783 (Fdelete_process, Fprocess_status, Fset_process_buffer)
784 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
785 (list_processes_1, select_wrapper, Fstop_process)
786 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
787 (status_notify): Modify to handle serial processes.
788 [HAVE_SERIAL] (Fserial_process_configure)
789 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
790 New functions.
791 * process.h (struct Lisp_Process): Add `type'.
792 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
793 New functions.
794 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
795 serial ports.
796 (serial_open, serial_configure) New functions.
797 * w32.h: Add FILE_SERIAL.
798 (struct _child_process): Add ovl_read, ovl_write.
799
800 2008-06-13 Kenichi Handa <handa@m17n.org>
801
802 * dispextern.h (enum lface_attribute_index): New member
803 LFACE_FOUNDRY_INDEX.
804
805 * font.c (font_score): Delete arg alternate_families. Check only
806 weight, slant, width, and size. Ignore the difference of alias
807 style symbols.
808 (font_sort_entites): Adjust for the above change. Reflect the
809 order of font-driver to scores.
810 (font_list_entities): Don't check alternate_familes here.
811 (font_clear_prop): Handle foundry.
812 (font_update_lface): Don't parse "foundry-family" form here.
813 Handle FONT_FOUNDRY_INDEX.
814 (font_find_for_lface): Likewise. Handle alternate families here.
815 If registry is nil, try iso8859-1 and ascii-0.
816 (font_open_for_lface): Pay attention to size in ENTITY.
817 (font_open_by_name): Simplify by calling font_load_for_lface.
818 (free_font_driver_list): Delete it.
819 (font_update_drivers): Preserve the order of backends.
820 (syms_of_font): Setting of sort_shift_bits adjusted for the change
821 of font_score and font_sort_entites.
822 (font_update_sort_order): Likewise.
823
824 * xfaces.c (LFACE_FOUNDRY): New macro.
825 (check_lface_attrs): Check foundry.
826 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
827 (merge_face_vectors): Check foundry.
828 (merge_face_ref): Likewise.
829 (Finternal_set_lisp_face_attribute): Likewise.
830 (x_update_menu_appearance): Likewise.
831 (Finternal_get_lisp_face_attribute): Likewise.
832 (lface_hash): Likewise.
833 (lface_same_font_attributes_p): Likewise.
834 (x_supports_face_attributes_p): Likewise.
835 (tty_supports_face_attributes_p): Likewise.
836 (Finternal_set_alternative_font_family_alist): Intern strings.
837 (Finternal_set_alternative_font_registry_alist): Downcase strings.
838 (realize_default_face): Set LFACE_FOUNDRY (lface).
839
840 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
841 font-driver at first.
842
843 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
844
845 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
846
847 * lread.c (Fload): Use xfree, not free on saved_doc_string.
848
849 2008-06-12 Jim Meyering <meyering@redhat.com>
850
851 Make unexec_free handle NULL the same way free does.
852 * unexmacosx.c (unexec_free): Ignore a NULL argument.
853
854 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
855
856 * character.h (CHAR_TO_BYTE_SAFE): New macro.
857 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
858 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
859 (WEAK_ALIAS): Simplify.
860 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
861 when searching a unibyte buffer.
862
863 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
864
865 * xfns.c (Fx_select_font): Rename from x-font-dialog.
866
867 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
868
869 * w32font.c: Include ctype.h.
870
871 2008-06-11 Jason Rumney <jasonr@gnu.org>
872
873 * w32font.c (w32font_encode_char): Detect missing glyphs that are
874 misreported as space.
875 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
876 as aliases for registry iso10646-1.
877
878 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
879
880 * buffer.c (clone_per_buffer_values): Skip `name'.
881
882 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
883
884 * font.c (font_parse_fcname): Fix last change; accept decimal
885 points in font size.
886
887 2008-06-10 Jason Rumney <jasonr@gnu.org>
888
889 * w32uniscribe.c (add_opentype_font_name_to_list):
890 Skip non unicode fonts.
891
892 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
893
894 * xfns.c (Fx_font_dialog): New function.
895
896 * gtkutil.c (xg_dialog_response_cb): Rename from
897 xg_file_response_callback.
898 (pop_down_dialog): Rename from pop_down_file_dialog.
899 (xg_get_file_name): Callers changed.
900 (xg_get_font_name): New function.
901
902 * gtkutil.h (xg_get_font_name): Insert prototype.
903
904 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
905
906 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
907 x_underline_minimum_display_offset.
908 (syms_of_xdisp): Declare it here rather than in xterm.c.
909 * dispextern.h (underline_minimum_offset): Declare it.
910 * w32term.c (x_draw_glyph_string): Use it.
911 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
912 (syms_of_xterm): Don't declare it any more.
913 (x_draw_glyph_string): Adjust to the new name.
914
915 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
916
917 * xterm.c (x_underline_minimum_display_offset): New var.
918 (x_draw_glyph_string): Use it.
919 (syms_of_xterm): Declare it.
920
921 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
922
923 * font.c (font_parse_fcname): Accept GTK-style font names too.
924
925 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
926
927 * dired.c (file_name_completion): Don't return t if the match is exact
928 but with different capitalization.
929 * minibuf.c (Ftry_completion): Simplify.
930
931 * window.c (Vwindow_point_insertion_type): New var.
932 (set_window_buffer): Use it.
933 (syms_of_window): Init and export it to Lisp.
934
935 2008-06-10 Kenichi Handa <handa@m17n.org>
936
937 * font.h (font_intern_prop): Prototype adjusted.
938
939 * font.c (font_intern_prop): New arg force_symbol.
940 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
941 Adjust for the change of font_intern_prop.
942
943 * ftfont.c (ftfont_pattern_entity):
944 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
945 (w32_registry):
946 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
947 the change of font_intern_prop.
948
949 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
950
951 * w32menu.c (digest_single_submenu): Declare extern.
952
953 2008-06-09 Jason Rumney <jasonr@gnu.org>
954
955 * w32term.c (x_make_frame_visible): Use alternate restore flags.
956
957 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
958 (parse_single_submenu): Remove.
959 (digest_single_submenu): Remove.
960 (syms_of_w32menu): Don't initialise variables that have moved
961 to menu.c.
962 (set_frame_menubar): Sync with version in xmenu.c.
963 (w32_menu_show): Sync with xmenu_show in xmenu.c.
964
965 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
966 Make static again.
967
968 2008-06-09 Jason Rumney <jasonr@gnu.org>
969
970 Changes to w32 files related to the move of common menu code
971 to menu.c on 2008-06-08 by Chong Yidong.
972
973 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
974 defs to w32gui.h.
975 (single_keymap_panes, push_menu_item, push_menu_pane):
976 Make globally visible.
977
978 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
979 (local_free, malloc_widget_value, free_widget_value)
980 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
981 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
982 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
983 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
984 (menu_items, menu_items_allocated, menu_items_used)
985 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
986 (init_menu_items, finish_menu_items, discard_menu_items)
987 (grow_menu_items, push_submenu_start, push_submenu_end)
988 (push_left_right_boundary, push_menu_pane, push_menu_item)
989 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
990 (free_menubar_widget_tree_value, parse_single_submenu)
991 (update_submenu_strings): Remove functions.
992 (xmalloc_widget_value): Remove and declare extern.
993
994 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
995 (OBJ1): Build it.
996
997 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
998 (local_heap, local_alloc, local_free, malloc_widget_value)
999 (free_widget_value): Define here.
1000
1001 2008-06-09 Kenichi Handa <handa@m17n.org>
1002
1003 * font.h (Qascii_0): Extern it.
1004
1005 * font.c (Qascii_0): New variable.
1006 (syms_of_font): DEFSYM it.
1007 (font_open_by_name): If the registry "iso8859-1" fails, try also
1008 "ascii-0".
1009
1010 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
1011
1012 2008-06-08 Kenichi Handa <handa@m17n.org>
1013
1014 * .gdbinit (xfont): New command.
1015
1016 2008-06-08 Andreas Schwab <schwab@suse.de>
1017
1018 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
1019 * Makefile.in (menu.o): Update dependencies.
1020
1021 * Makefile.in (obj): Always add menu.o.
1022 * emacs.c (main): Always call syms_of_menu.
1023 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
1024
1025 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
1026
1027 * Makefile.in: Compile menu.c.
1028
1029 * lisp.h: Declare syms_of_menu.
1030
1031 * emacs.c (main): Call syms_of_menu.
1032
1033 * keyboard.h: Relocate platform-independent menu definitions from
1034 xmenu.c.
1035
1036 * menu.c: New file. Relocate platform-independent menu
1037 definitions from xmenu.c. Suggested by Adrian Robert.
1038
1039 * xmenu.c: Remove platform-independent menu definitions.
1040 (menu_items menu_items_inuse, menu_items_allocated)
1041 (menu_items_used, menu_items_n_panes)
1042 (menu_items_submenu_depth): Move to keyboard.h.
1043 (init_menu_items, finish_menu_items, unuse_menu_items)
1044 (discard_menu_items, restore_menu_items, save_menu_items)
1045 (grow_menu_items, push_submenu_start, push_submenu_end)
1046 (push_left_right_boundary, push_menu_pane, push_menu_item)
1047 (keymap_panes, single_keymap_panes, single_menu_item)
1048 (list_of_panes, list_of_items, find_and_call_menu_selection)
1049 (xmalloc_widget_value, free_menubar_widget_value_tree)
1050 (parse_single_submenu, digest_single_submenu)
1051 (update_submenu_strings): Move to menu.c.
1052
1053 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
1054
1055 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
1056
1057 2008-06-06 Miles Bader <miles@gnu.org>
1058
1059 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
1060 face, not frame default.
1061
1062 2008-06-05 Martin Rudalics <rudalics@gmx.at>
1063
1064 * window.c (pop_up_windows, pop_up_frames)
1065 (display_buffer_reuse_frames, Vpop_up_frame_function)
1066 (Vdisplay_buffer_function, Veven_window_heights)
1067 (Vspecial_display_buffer_names, Vspecial_display_regexps)
1068 (Vspecial_display_function, Vsame_window_buffer_names)
1069 (Vsame_window_regexps, split_height_threshold)
1070 (Vsplit_window_preferred_function): Move those vars to window.el.
1071 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
1072 (Fdisplay_buffer): Move those functions to window.el.
1073 (syms_of_window): Remove corresponding declarations.
1074 (display_buffer): New function.
1075 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
1076 * dispnew.c (Flast_nonminibuf_frame): New function.
1077 * buffer.c (Fpop_to_buffer): Move to window.el.
1078
1079 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1080
1081 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
1082
1083 2008-06-05 Kenichi Handa <handa@m17n.org>
1084
1085 * coding.c (detect_coding): Fix previous change.
1086 (detect_coding_system): Likewise.
1087
1088 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1089
1090 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
1091
1092 * keymap.c (Vminibuffer_local_filename_must_match_map):
1093 Rename from Vminibuffer_local_must_match_filename_map.
1094 (syms_of_keymap):
1095 * minibuf.c (Fcompleting_read): Adjust accordingly.
1096 * commands.h: Rename declaration as well.
1097
1098 2008-06-05 Kenichi Handa <handa@m17n.org>
1099
1100 * font.c (Ffont_spec): Don't use font_parse_family_registry for
1101 family name.
1102 (Ffont_put): Likewise.
1103
1104 * fontset.c (fontset_find_font): Call font_open_for_lface with the
1105 current font-spec.
1106
1107 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
1108 is unspecified.
1109
1110 * xfaces.c (realize_x_face): If the font-related face attributes
1111 are the same as those of default face, realize a new fontset from
1112 default->fontset.
1113 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
1114
1115 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1116
1117 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
1118 (move_it_in_display_line): New wrapper.
1119
1120 * window.c (window_scroll_pixel_based_preserve_x)
1121 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
1122 (window_scroll_pixel_based, window_scroll_line_based):
1123 Use them to preserve column positions.
1124 (syms_of_window): Initialize them.
1125
1126 * indent.c (Fvertical_motion): Extend first arg to allow passing an
1127 (HPOS . VPOS) pair.
1128
1129 * dispextern.h (move_it_in_display_line): Declare.
1130
1131 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
1132
1133 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
1134 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
1135 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
1136
1137 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
1138
1139 * window.c (Fset_window_parameter): Doc fix.
1140 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
1141
1142 2008-06-04 Joakim Verona <joakim@verona.se>
1143
1144 * window.h (struct window): Add new member window_parameters.
1145
1146 * window.c (Fwindow_parameters, Fwindow_parameter)
1147 (Fset_window_parameter): New defuns.
1148 (syms_of_window): Defsubr the new defuns.
1149 (make_window): Initialize window_parameters to nil.
1150
1151 2008-06-04 John Paul Wallington <jpw@pobox.com>
1152
1153 * eval.c (Fdefmacro): Doc fix.
1154
1155 2008-06-04 Kenichi Handa <handa@m17n.org>
1156
1157 * coding.c (detect_coding): Fix handling of coding->head_ascii.
1158 Be sure to call setup_coding_system when we find a proper coding system.
1159 (detect_coding_system): Fix handling of coding->head_ascii.
1160
1161 2008-06-03 Andreas Schwab <schwab@suse.de>
1162
1163 * font.c (font_prop_validate_spacing): Fix last change.
1164
1165 2008-06-03 Kenichi Handa <handa@m17n.org>
1166
1167 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
1168 (font_parse_fcname): Fix handling of unknown key.
1169
1170 * xfont.c (xfont_list): Try an alias.
1171
1172 * charset.c (char_charset): Return NULL if the arg charset_list is
1173 specified and C doesn't belong to any of them.
1174
1175 2008-06-02 Chip Coldwell <coldwell@redhat.com>
1176
1177 * font.c (font_pixel_size): Don't take cdr of an integer.
1178
1179 2008-06-02 Jim Meyering <meyering@redhat.com>
1180
1181 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
1182 * alloc.c (xfree): Return right away for a NULL arg.
1183 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
1184 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
1185 * mac.c (create_apple_event_from_event_ref): Likewise.
1186 (create_apple_event_from_drag_ref, cfstring_create_normalized):
1187 Likewise.
1188 * doprnt.c (doprnt1): Likewise.
1189 * frame.c (frame): Likewise.
1190 * keyboard.c (wipe_kboard): Likewise.
1191 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
1192 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
1193 * term.c (tty_default_color_capabilities, maybe_fatal)
1194 (delete_tty): Likewise.
1195 * w16select.c (string): Likewise.
1196 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
1197 * w32bdf.c (w32_free_bdf_font): Likewise.
1198 * w32fns.c (w32_unload_font): Likewise.
1199 * w32font.c (w32font_close): Likewise.
1200 * window.c (size_window): Likewise.
1201 * xselect.c (receive_incremental_selection): Likewise.
1202 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
1203 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
1204 * w32.c (stat): Likewise.
1205
1206 Remove useless if-before-free tests.
1207 * editfns.c (Fset_time_zone_rule): Likewise.
1208 * lread.c (nosuffix): Likewise.
1209 * ralloc.c (get_bloc): Likewise.
1210 * regex.c (reg_free): Likewise.
1211 * xftfont.c (xftfont_open, xftfont_close): Likewise.
1212 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
1213 * xsmfns.c (smc_save_yourself_CB): Likewise.
1214
1215 2008-06-02 Kenichi Handa <handa@m17n.org>
1216
1217 * font.c (font_find_for_lface): Handle float font size.
1218 (font_open_for_lface): Likewise.
1219
1220 * xfaces.c (x_supports_face_attributes_p): Check face->font before
1221 comparing the properties.
1222
1223 2008-06-01 Jason Rumney <jasonr@gnu.org>
1224
1225 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
1226 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
1227 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
1228 Don't add empty script list.
1229 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
1230
1231 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
1232
1233 * Makefile.in (dot, dotdot): Remove, update users.
1234 ".." has been used elsewhere in the file for a long time.
1235 (LIBXT_STATIC): Remove conditional based on unused variable.
1236
1237 2008-06-01 Miles Bader <miles@gnu.org>
1238
1239 * xfaces.c (Vface_remapping_alist): New variable.
1240 (syms_of_xfaces): Initialize it.
1241 (enum named_merge_point_kind): New type.
1242 (struct named_merge_point): Add `named_merge_point_kind' field.
1243 (push_named_merge_point): Make cycle detection respect different
1244 named-merge-point kinds.
1245 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
1246 Remove face-name alias resolution.
1247 (lface_from_face_name): New definition using
1248 `lface_from_face_name_no_resolve'.
1249 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
1250 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
1251 (get_lface_attributes): New definition that layers face-remapping on
1252 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
1253 (lookup_basic_face): New function.
1254 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
1255 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
1256 `get_lface_attributes'.
1257 (face_at_buffer_position): Use `lookup_basic_face' to lookup
1258 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
1259 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
1260
1261 * xdisp.c (init_iterator): Pass base_face_id through
1262 `lookup_basic_face' when we actually use it as a face-id.
1263 (handle_single_display_prop): Use `lookup_basic_face' to lookup
1264 DEFAULT_FACE_ID.
1265
1266 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
1267 lookup the initial face-id.
1268
1269 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
1270
1271 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
1272
1273 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
1274 (Fremove_text_properties): Fix typos in docstrings.
1275
1276 2008-05-31 Kenichi Handa <handa@m17n.org>
1277
1278 * font.c (font_list_entities): Fix the car part of data to be
1279 stored in the cache.
1280
1281 * ftfont.c (ftfont_font_format): Don't use strcasestr.
1282
1283 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
1284
1285 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
1286 Add a `test' argument so another predicate than `equal' can be used.
1287 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
1288 (map_char_table): Remove unused vars `c' and `i'.
1289 * lisp.h (Foptimize_char_table): Adjust declaration.
1290 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
1291
1292 2008-05-30 Kenichi Handa <handa@m17n.org>
1293
1294 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
1295 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
1296 defined.
1297
1298 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
1299
1300 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
1301 (Fmake_variable_frame_local): Disallow mixing buffer-local and
1302 frame-local settings for the same variable.
1303
1304 2008-05-30 Kenichi Handa <handa@m17n.org>
1305
1306 * fontset.c (Ffont_info): Move to font.c.
1307 (syms_of_fontset): Delete defsubr of Sfont_info.
1308
1309 * font.c (font_style_to_value, font_score): Delete casting of the
1310 args to xstcasecmp.
1311 (register_font_driver): Increment num_font_drivers only when
1312 registering the driver globally.
1313 (Ffont_info): Move from fontset.c. Handle a font object too.
1314 (syms_of_font): Defsubr Sfont_info.
1315
1316 2008-05-29 Kenichi Handa <handa@m17n.org>
1317
1318 * coding.h (enum define_coding_utf8_arg_index): New enum.
1319 (enum coding_attr_index): Change coding_attr_utf_16_bom to
1320 coding_attr_utf_bom.
1321 (enum utf_bom_type): Rename from utf_16_bom_type.
1322 (struct utf_16_spec): Adjust for the above change.
1323 (struct coding_system): Add utf_8_bom in `spec' union.
1324
1325 * coding.c (CODING_UTF_8_BOM): New macro.
1326 (enum coding_category): Delete coding_category_utf_8, add
1327 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
1328 coding_category_utf_8_sig.
1329 (CATEGORY_MASK_UTF_8): Delete it.
1330 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
1331 (CATEGORY_MASK_UTF_8_SIG): New macros.
1332 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
1333 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
1334 CATEGORY_MASK_UTF_8_SIG.
1335 (CATEGORY_MASK_UTF_8): New macro.
1336 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
1337 (detect_coding_utf_8): Check BOM.
1338 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
1339 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
1340 (encode_coding_utf_16): Likewise.
1341 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
1342 (detect_coding, detect_coding_system): Handle utf-8-auto.
1343 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
1344 (syms_of_coding): Fix setting up of Vcoding_category_table.
1345
1346 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
1347
1348 * process.c (Faccept_process_output): If `millisec' is non-nil,
1349 `seconds' default to 0.
1350 (wait_reading_process_output): Also return non-nil if we read output
1351 from a non-running process.
1352
1353 2008-05-29 Jason Rumney <jasonr@gnu.org>
1354
1355 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
1356 `raster' specified.
1357 (add_font_entity_to_list): Allow non-opentype truetype fonts back
1358 in the uniscribe backend, but disallow any font that has no
1359 unicode subrange support.
1360
1361 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
1362
1363 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
1364 Fix typos in docstrings.
1365
1366 2008-05-29 Kenichi Handa <handa@m17n.org>
1367
1368 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
1369 (Fx_family_fonts): Set frame correctly.
1370
1371 2008-05-28 Jason Rumney <jasonr@gnu.org>
1372
1373 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
1374
1375 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
1376
1377 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
1378 calling build_annotations.
1379
1380 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
1381
1382 * coding.c (Fdecode_coding_region, Fencode_coding_region)
1383 (Fencode_coding_string):
1384 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
1385 <latin-extra-code-table>: Fix typos in docstrings.
1386 (syms_of_coding) <coding-system-alist>: Doc fix.
1387 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
1388
1389 2008-05-28 Kenichi Handa <handa@m17n.org>
1390
1391 * fontset.c (Ffont_info): Don't call font_close_object.
1392
1393 * font.c (font_parse_family_registry): Use Ffont_put to validate
1394 foundry and family.
1395 (font_delete_unmatched): Don't check spacing.
1396 (font_list_entities): Add spacing to the spec to list fonts.
1397
1398 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
1399 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
1400
1401 * coding.c (encode_coding_raw_text): Fix previous change.
1402 (encode_coding_object): When the dst_object is a buffer and is
1403 different from src_object, move gap to PT.
1404
1405 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
1406
1407 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
1408
1409 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
1410
1411 * coding.c (encode_coding_raw_text): Set coding->produced_char for
1412 all branches. Compute it differently.
1413
1414 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
1415
1416 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
1417
1418 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
1419 into "else if () ... else ...".
1420
1421 2008-05-27 Jason Rumney <jasonr@gnu.org>
1422
1423 * w32font.c (w32font_open_internal): Determine if glyph indices
1424 are likely to work here.
1425
1426 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
1427
1428 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
1429 draw overlap glyphs with appropriate highlighting.
1430
1431 2008-05-27 Kenichi Handa <handa@m17n.org>
1432
1433 * xfont.c (xfont_open): Fix calculation of font->average_width.
1434
1435 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
1436
1437 * casefiddle.c (casify_object): Try to guess better whether the
1438 argument is a byte or a char.
1439
1440 2008-05-26 Andreas Schwab <schwab@suse.de>
1441
1442 * xselect.c (x_reply_selection_request): Properly handle format == 32.
1443 Always send multiples of format size.
1444
1445 * xterm.c (x_set_frame_alpha): Fix type mismatch.
1446
1447 2008-05-26 Jason Rumney <jasonr@gnu.org>
1448
1449 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
1450 (compute_metrics): Don't set failure if we just cleared the cache.
1451 (w32_weight_table): Remove unused variable.
1452 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
1453 backwards compatibility.
1454
1455 2008-05-25 Kenichi Handa <handa@m17n.org>
1456
1457 * w32term.c (x_draw_glyph_string):
1458 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
1459
1460 * xfaces.c: Delete unused function prototypes.
1461 (xstrlwr, font_frame): Delete them.
1462 (clear_face_cache): Delete unused variable.
1463
1464 * xftfont.c (xftfont_open): Delete unused variable.
1465 If underline_thickness is not 1, adjust underline_position.
1466
1467 * ftxfont.c (ftxfont_open): Delete unused variable.
1468
1469 * fontset.c (face_for_char): Optimize for the case of no charset
1470 property.
1471
1472 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
1473 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
1474 (otf_open, font_otf_capability, generate_otf_features)
1475 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1476 Comment out by surrounding "#if 0" and "#endif" for the moment.
1477 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
1478 (syms_of_font): Codes for accessing above commented out.
1479
1480 2008-05-24 Eli Zaretskii <eliz@gnu.org>
1481
1482 * w32proc.c: Include dispextern.h.
1483
1484 * w32.c: Include dispextern.h.
1485
1486 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
1487
1488 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
1489 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
1490 Fix typos in docstrings.
1491
1492 2008-05-23 Jason Rumney <jasonr@gnu.org>
1493
1494 * xsmfns.c: Remove includes that are already included by config.h.
1495
1496 2008-05-23 Kenichi Handa <handa@m17n.org>
1497
1498 * charset.c (Qemacs, charset_emacs): New variables.
1499 (char_charset): Fix for non-Unicode characters.
1500 (syms_of_charset): Define charset_emacs.
1501
1502 * w32term.c (x_draw_glyph_string): Be sure to update
1503 s->underline_thickness and s->underline_position. Be sure to draw
1504 underline within the current line area.
1505
1506 * xterm.c (x_draw_glyph_string): Be sure to update
1507 s->underline_thickness and s->underline_position. Be sure to draw
1508 underline within the current line area.
1509
1510 * fontset.c: Delete unused variables and add casting for char *
1511 throughout the file.
1512 (fontset_font): Try the fallback fonts of the current fontset
1513 before consulting the default fontset.
1514
1515 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
1516
1517 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
1518
1519 2008-05-22 Jason Rumney <jasonr@gnu.org>
1520
1521 * font.c: Don't include strings.h.
1522
1523 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
1524
1525 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
1526 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
1527 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
1528 to call xstrcasecmp.
1529
1530 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
1531
1532 * fontset.c (fs_query_fontset): Use xstrcasecmp.
1533
1534 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
1535
1536 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
1537
1538 2008-05-22 Kenichi Handa <handa@m17n.org>
1539
1540 * puresize.h (BASE_PURESIZE): Increase to 1220000.
1541
1542 * font.c (font_prop_validate_style): Adjust for the format
1543 change of font_style_table.
1544
1545 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
1546 two args.
1547
1548 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
1549 two args.
1550
1551 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
1552
1553 * minibuf.c (keys_of_minibuf): Delete.
1554 * lisp.h (keys_of_minibuf): Delete.
1555 * emacs.c (main): Don't call keys_of_minibuf.
1556
1557 2008-05-22 Kenichi Handa <handa@m17n.org>
1558
1559 * ftfont.c (ftfont_resolve_generic_family): Rename from
1560 ftfont_list_generic_family. Return a single family for each
1561 generic family.
1562 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
1563 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
1564 Call font_add_log.
1565 (ftfont_match): Call font_add_log.
1566
1567 * font.h (Ffont_xlfd_name): EXFUN adjusted.
1568 (FONT_DEBUG): Define it.
1569 (font_add_log): Extern it.
1570 (font_assert): Rename from xassert.
1571
1572 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
1573 (xfont_list_family): Call font_add_log.
1574 (xfont_match): Likewise.
1575 (memq_no_quit): Delete.
1576
1577 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
1578 call of Ffont_xlfd_name.
1579
1580 * xfaces.c (struct table_entry, slant_table, weight_table)
1581 (swidth_table): Move to font.c.
1582
1583 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
1584 xassert are changed to font_assert. Delete many unused variables.
1585 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
1586 New variables.
1587 (struct table_entry): Move from xfaces.c and modified.
1588 (weight_table, slant_table, width_table): Move from xfaces.c and
1589 contents adjusted for the change of struct table_entry.
1590 (font_style_to_value, font_style_symbolic): Adjust for the
1591 format change of font_style_table.
1592 (font_parse_family_registry): Don't overwrite existing foundry and
1593 family of font_spec.
1594 (font_score): Fix calculation of diff for sizes.
1595 (font_sort_entites): Call font_add_log.
1596 (font_delete_unmatched): Return a newly created list.
1597 (font_list_entities): Fix previous change. Call font_add_log.
1598 (font_matching_entity, font_open_entity, font_close_entity):
1599 Call font_add_log.
1600 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
1601 (Finternal_set_font_style_table): Delete.
1602 (BUILD_STYLE_TABLE): New macro.
1603 (build_style_table): New function.
1604 (Vfont_log, font_log_env_checked): New variables.
1605 (font_add_log): New function.
1606 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
1607 Declare Lisp variables "font-weight-table", "font-slant-table",
1608 "font-width-table", and "font-log". Initialize font_style_table.
1609
1610 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
1611
1612 * xterm.c (x_set_frame_alpha): Move declarations before statements.
1613
1614 2008-05-21 Seiji Zenitani <zenitani@mac.com>
1615 Ryo Yoshitake <ryo@shiftmode.net>
1616
1617 * frame.c (Qalpha): Add a new frame parameter `alpha'.
1618 (Vframe_alpha_lower_limit): New variable.
1619 (x_set_alpha): New function.
1620
1621 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
1622
1623 * xfns.c (x-create-frame, Qalpha):
1624 Initialize the frame parameter `alpha'.
1625 * xterm.c (OPAQUE, OPACITY): New.
1626 (x_set_frame_alpha): New function.
1627 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
1628
1629 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
1630 * w32fns.c (w32_frame_parm_handlers): Likewise.
1631
1632 2008-05-20 Jason Rumney <jasonr@gnu.org>
1633
1634 * w32font.c (add_font_entity_to_list): Don't add non-opentype
1635 truetype fonts to opentype list.
1636
1637 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
1638
1639 * fontset.c (Ffontset_info): Doc fix.
1640 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
1641 <ignore-relative-composition>: Fix typos in docstrings.
1642
1643 * font.c (syms-of-font) <font-encoding-alist>:
1644 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
1645 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
1646 (Ffont_otf_alternates): Doc fixes.
1647
1648 2008-05-20 Kenichi Handa <handa@m17n.org>
1649
1650 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
1651 font.h through out the file.
1652 (FONT_DRIVERS): Rename from FONTOBJ.
1653 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
1654 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
1655
1656 * emacs.c (main): Call syms_of_font unconditionally.
1657
1658 * font.h (find_font_encoding): Extern it.
1659
1660 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
1661 fontset.c.
1662 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
1663 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
1664 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
1665 only when HAVE_WINDOW_SYSTEM is defined.
1666 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
1667 when HAVE_WINDOW_SYSTEM is defined.
1668
1669 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
1670 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
1671
1672 * xfaces.c: Include font.h unconditionally.
1673 (merge_face_ref, merge_face_vectors)
1674 (Finternal_set_lisp_face_attribute): Cancel the previous change.
1675
1676 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
1677
1678 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
1679 indirect_variable.
1680 * eval.c (lisp_indirect_variable): New fun.
1681 (Fuser_variable_p): Use it.
1682
1683 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1684
1685 * lisp.h (indirect_variable):
1686 * data.c (indirect_variable, let_shadows_buffer_binding_p):
1687 Use Lisp_Symbol pointers rather than Lisp_Object.
1688 Adjust callers.
1689 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
1690 To this end, change calling-convention.
1691
1692 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
1693 if some non-hidden buffers are selected by string&pred.
1694
1695 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
1696
1697 * process.c (wait_reading_process_output): Always check status
1698 when in batch mode.
1699
1700 2008-05-19 Kenichi Handa <handa@m17n.org>
1701
1702 * font.c (font_list_entities): Fix handling of cache.
1703 (font_matching_entity): Likewise.
1704
1705 * ftfont.c (cs_iso8859_1): Delete.
1706 (ft_face_cache): New variable.
1707 (struct ftfont_info): New member fc_charset_idx.
1708 (ftfont_build_basic_charsets): Delete.
1709 (fc_charset_table): New variable.
1710 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
1711 . FC_CHARSET_IDX) as :font-entity property in the font entity.
1712 Callers changed.
1713 (ftfont_lookup_cache, ftfont_get_charset): New functions.
1714 (ftfont_spec_pattern): New argument fc_charset_idx.
1715 Check registry more rigidly. Change callers.
1716 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
1717 change of :font-entity property of the font.
1718
1719 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
1720 property of the font.
1721
1722 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
1723
1724 * coding.c (Fcoding_system_p): Rename argument to match docstring.
1725 (Funencodable_char_position, Fcheck_coding_systems_region)
1726 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
1727 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
1728 (Ffind_operation_coding_system, Fset_coding_system_priority)
1729 (Fcoding_system_eol_type): Doc fixes.
1730
1731 2008-05-17 Glenn Morris <rgm@gnu.org>
1732
1733 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
1734
1735 2008-05-16 Eli Zaretskii <eliz@gnu.org>
1736
1737 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
1738 and st_gid.
1739
1740 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1741 HAVE_WINDOW_SYSTEM is not defined.
1742
1743 * xfaces.c (merge_face_ref, merge_face_vectors)
1744 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
1745 HAVE_WINDOW_SYSTEM is defined.
1746 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
1747
1748 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
1749
1750 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
1751
1752 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1753
1754 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
1755
1756 2008-05-15 Kenichi Handa <handa@m17n.org>
1757
1758 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
1759 preference.
1760
1761 2008-05-15 Glenn Morris <rgm@gnu.org>
1762
1763 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
1764
1765 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
1766
1767 * fns.c (init_fns): Don't initialize weak_hash_tables here.
1768 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
1769
1770 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
1771
1772 2008-05-15 Kenichi Handa <handa@m17n.org>
1773
1774 * ftfont.c (ftfont_list): Downcase family name to check generic
1775 families.
1776
1777 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
1778 font-spec for QCfont value.
1779
1780 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
1781 buffer. Check the return value of it.
1782
1783 2008-05-14 Jason Rumney <jasonr@gnu.org>
1784
1785 * w32term.c (w32_get_glyph_overhangs): Remove.
1786 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
1787
1788 2008-05-14 Kenichi Handa <handa@m17n.org>
1789
1790 * font.c (font_prop_validate): Make nil a valid value.
1791 (font_clear_cache): Check if the cached vector of entities is nil
1792 or not.
1793
1794 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1795
1796 * emacs.c (main_thread): Conditionalize on
1797 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1798 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
1799
1800 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
1801 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
1802 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1803
1804 2008-05-14 Kenichi Handa <handa@m17n.org>
1805
1806 * coding.c (detect_coding_iso_2022): Ignore a coding category that
1807 has no corresponding coding system.
1808
1809 2008-05-14 Jason Rumney <jasonr@gnu.org>
1810
1811 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
1812
1813 * w32font.h (w32font_open_internal): Update declaration.
1814
1815 * w32font.c (w32font_open_internal): Change last argument from
1816 w32font_info struct to font object. Fill in font object from
1817 font_entity. Get Outline metrics if possible. Use them to
1818 calculate underline position and thickness. Use xlfd name as name
1819 property. Don't set codepage.
1820 (w32font_open): Pass font_object to w32font_open_internal. Don't
1821 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
1822 (w32font_draw): Use s->font.
1823 (clear_cached_metrics): Don't clear non-existent blocks.
1824
1825 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
1826 font was not found.
1827 (x_draw_glyph_string): Use underline position and thickness from font.
1828
1829 * w32uniscribe.c (uniscribe_open): Pass font_object to
1830 w32font_open_internal.
1831
1832 2008-05-14 Kenichi Handa <handa@m17n.org>
1833
1834 These changes are to delete all legacy font-handling codes, and
1835 make Emacs use only font-backends.
1836
1837 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
1838 (frame.o, image.o, print.o): Depend on $(FONTSRC).
1839
1840 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
1841
1842 * charset.h (Vcharset_non_preferred_head)
1843 (Vcurrent_iso639_language): Extern them.
1844
1845 * charset.c (Vcharset_non_preferred_head): New variable.
1846 (Vcurrent_iso639_language): New variable.
1847 (syms_of_charset): Declare it as a Lisp variable.
1848 (char_charset): Don't check non preferred charsets. As a last
1849 resort, return charset_unicode.
1850 (Fset_charset_priority): Update Vcharset_non_preferred_head.
1851
1852 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
1853 conditionals. Don't check enable_font_backend. Delete all codes
1854 used only when USE_FONT_BACKEND is not defined.
1855
1856 * dispextern.h (struct glyph_string): Change type of `font' to
1857 `struct font *'.
1858 (struct glyph_string): New member underline_position and
1859 underline_thickness.
1860 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
1861 (struct face): Change type of `font' to `struct font *'. Remove
1862 members `font_name', `font_info_id'.
1863 (per_char_metric, encode_char): Delete externs.
1864 (calc_pixel_width_or_height): Adjust the prototype.
1865
1866 * emacs.c (enable_font_backend): Delete extern.
1867 (main): Don't set enable_font_backend. Don't check the command
1868 line argument "-disable-font-backend".
1869
1870 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
1871 (enum font_property_index): New members FONT_DPI_INDEX,
1872 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
1873 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
1874 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
1875 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
1876 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
1877 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
1878 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
1879 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
1880 (struct font_spec, struct font_entity): New structs.
1881 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
1882 (struct font): Many members from old "struct font_info" moved to
1883 here. Members font and entity deleted.
1884 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
1885 the new font-related objects.
1886 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
1887 (CHECK_FONT_GET_OBJECT): Likewise.
1888 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
1889 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
1890 (struct font_driver): New members case_sensitive anc check. Type
1891 of the member list and open changed.
1892 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
1893 (font_symbolic_width, font_find_object, font_get_spec)
1894 (font_set_lface_from_name): Delete extern.
1895 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
1896
1897 * font.c: Include <strings.h>.
1898 (enable_font_backend): Delete it.
1899 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
1900 (CHECK_VALIDATE_FONT_SPEC): Delete it.
1901 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
1902 (null_string): Delete it.
1903 (null_vector): Make it static.
1904 (font_family_alist): Delete it.
1905 (Qnormal): Extern it.
1906 (QCextra, QClanguage): Delete it.
1907 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
1908 (font_make_spec, font_make_entity, font_make_object)
1909 (font_intern_prop): Renamed from intern_downcase. Don't downcase
1910 the string. Callers changed.
1911 (font_pixel_size): Adjusted for the format change of font-related
1912 objects.
1913 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
1914 (font_style_to_value, font_style_symbolic): New function.
1915 (build_font_family_alist): Delete it.
1916 (font_registry_charsets): Use Fassoc_string instead of
1917 assq_no_quit.
1918 (font_prop_validate_symbol): Don't return null_string.
1919 (font_prop_validate_style): Adjusted for the change of
1920 style-related values in a font vector.
1921 (font_property_table): Delete entries for QClanguage and
1922 QCantialias, add entries for QCavgwidth.
1923 (get_font_prop_index): Delete the 2nd argument FROM.
1924 (font_prop_validate): Arguments changed.
1925 (font_put_extra): Adjusted for the change of font-related objects.
1926 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
1927 (font_parse_fcname, font_unparse_fcname)
1928 (font_prepare_composition): Likewise.
1929 (font_parse_family_registry): Renamed from font_merge_old_spec.
1930 (otf_open): Delete the 1st arg entity.
1931 (font_otf_capability): Adjusted for the above change.
1932 (font_score): New arg alternate_families. Adjusted for the change
1933 of font-related objects.
1934 (font_sort_entites): New arg best_only.
1935 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
1936 Delete them.
1937 (font_match_p): Check alternate families.
1938 (font_find_object): Delete it.
1939 (font_check_object): New function.
1940 (font_clear_cache): Adjusted for the change of font-related objects.
1941 (font_delete_unmatched): New arg.
1942 (font_list_entities): Call font_driver->list with a spec that
1943 doesn't specify style-related properties.
1944 (font_matching_entity): Arguments changed. Caller changed.
1945 (font_open_entity): Adjusted for the change of font-related objects.
1946 (font_close_object, font_has_char, font_encode_char)
1947 (font_get_name, font_get_spec): Likewise.
1948 (font_spec_from_name, font_clear_prop, font_update_lface):
1949 New functions.
1950 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
1951 (font_prepare_for_face, font_done_for_face, font_open_by_name)
1952 (font_at): Adjusted for the change of font-related objects.
1953 (font_range): New function.
1954 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
1955 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
1956 (Fcopy_font_spec, Fmerge_font_spec): New function.
1957 (Ffont_family_list): Renamed from list-families.
1958 (Finternal_set_font_style_table): Arguments changed.
1959 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
1960 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
1961 change of font-related objects.
1962 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
1963
1964 * fontset.h (struct font_info): Delete it. Most members go to
1965 struct font.
1966 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
1967 (enum FONT_SPEC_INDEX): Delete it.
1968 (font_info, list_fonts_func, load_font_func, query_font_func)
1969 (set_frame_fontset_func, find_ccl_program_func)
1970 (get_font_repertory_func, new_fontset_from_font_name): Delete
1971 externs.
1972 (fontset_from_font_name): Extern it.
1973 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
1974 (FONT_INFO_FROM_FACE): Deleted.
1975 (face_for_font): Adjust prototype.
1976
1977 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
1978 conditionals. Don't check enable_font_backend. Delete all codes
1979 used only when USE_FONT_BACKEND is not defined.
1980 (get_font_info_func, list_font_func, load_font_func)
1981 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
1982 (get_font_repertory_func): Delete them.
1983 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
1984 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
1985 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
1986 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
1987 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
1988 (fontset_compare_rfontdef): New function.
1989 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
1990 ront-defs by qsort. Adjusted for the change of font-group vector.
1991 (load_font_get_repertory): Deleted.
1992 (fontset_find_font): Use new macros to ref/set elements of
1993 font-def and rfont-def.
1994 (fontset_font): Fix the timing of remembering that no font for C.
1995 (free_face_fontset): Do nothing if the face has no fontset.
1996 (face_suitable_for_char_p): Use new macros to ref/set elements of
1997 rfont-def.
1998 (face_for_char): Likewise. Call face_for_char with font_object.
1999 (fs_load_font): Delete. Delete #pragma surrounding it.
2000 (fs_query_fontset): Use strcasecmp instead of strcmp.
2001 (generate_ascii_font_name): Adjusted for the format change of
2002 font-spec.
2003 (Fset_fontset_font): Likewise. Use new macros to set elements of
2004 font-def.
2005 (Fnew_fontset): Use font_unparse_xlfd to generate
2006 FONTSET_ASCII (fontset).
2007 (new_fontset_from_font_name): Deleted.
2008 (fontset_from_font): Renamed from new_fontset_from_font. Check if
2009 a fontset is already created for the font. FIx updating of
2010 Vfontset_alias_alist.
2011 (fontset_ascii_font): Deleted.
2012 (Ffont_info): Adjusted for the format change of font-spec.
2013 (Finternal_char_font): Likewise.
2014 (Ffontset_info): Likewise.
2015 (syms_of_fontset): Don't check load_font_func.
2016
2017 * fns.c (internal_equal): Handle PREV_FONT.
2018
2019 * frame.h: Delete USE_FONT_BACKEND conditional.
2020
2021 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
2022 conditionals. Don't check enable_font_backend. Delete all codes
2023 used only when USE_FONT_BACKEND is not defined.
2024 (x_set_font): Call x_new_font, not x_new_fontset2.
2025 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
2026 already set for the frame.
2027
2028 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
2029 a font-entity by font_make_entity. Use font_intern_prop instead
2030 of intern_downcase. Use FONT_SET_STYLE to set a style-related
2031 font property. If a font is scalable, set avgwidth property to 0.
2032 Set font-entity property by font_put_extra.
2033 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
2034 (ffont_driver): Adjusted for the change of struct font_driver.
2035 (ftfont_spec_pattern): New function.
2036 (ftfont_list): Return a list, not vector.
2037 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
2038 (ftfont_list_family): Don't downcase names.
2039 (ftfont_free_entity): Deleted.
2040 (ftfont_open): Return a font-ojbect. Adjusted for the change of
2041 struct font. Get underline_thickness and underline_position from
2042 font property. Don't update dpyinfo->smallest_font_height and
2043 dpyinfo->smallest_char_width.
2044 (ftfont_close): Don't free `struct font'.
2045 (ftfont_has_char): Adjusted for the format change of font-entity.
2046 (ftfont_encode_char, ftfont_text_extents): Likewise.
2047
2048 * ftxfont.c (ftxfont_list): Return a list, not vector.
2049 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
2050 struct font. Get underline_thickness and underline_position from
2051 font property. Don't update dpyinfo->smallest_font_height and
2052 dpyinfo->smallest_char_width.
2053 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
2054 (ftxfont_draw): Adjusted for the change of struct font.
2055
2056 * image.c (image_ascent): Don't include "charset.h". Include
2057 "character.h" and "font.h".
2058
2059 * lisp.h (enum pvec_type): New member PREV_FONT.
2060 (Fassoc_string): EXFUN it.
2061
2062 * print.c: Include font.h.
2063 (print_object): Handle font-related objects.
2064
2065 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
2066 conditionals. Don't check enable_font_backend. Delete all codes
2067 used only when USE_FONT_BACKEND is not defined.
2068 (handle_auto_composed_prop): Do nothing if it->f is not on a
2069 window system. Check how many following characters can be
2070 displayed by the same font.
2071 (calc_pixel_width_or_height): Type of the 4th arg is changed to
2072 'struct font *'.
2073 (get_char_face_and_encoding): Assign the whole encoding task to
2074 the `encode-char' method of a font driver.
2075 (fill_composite_glyph_string): Adjusted for the change of `struct
2076 face' and `struct glyph_string'.
2077 (fill_glyph_string): Likewise.
2078 (get_per_char_metric): Arguments changed.
2079 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
2080 and `struct glyph_string'.
2081 (produce_stretch_glyph, calc_line_height_property)
2082 (x_produce_glyphs): Likewise.
2083
2084 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
2085 conditionals. Don't check enable_font_backend. Delete all codes
2086 used only when USE_FONT_BACKEND is not defined. Use
2087 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
2088 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
2089 (Qp): Extern them.
2090 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
2091 Deleted.
2092 (struct font_name): Deleted.
2093 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
2094 (compare_fonts_by_sort_order): New function.
2095 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
2096 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
2097 Deleted.
2098 (Fx_family_fonts): Use font_list_entities, and sort fonts by
2099 compare_fonts_by_sort_order.
2100 (Fx_font_family_list): Call Ffont_family_list.
2101 (face_numeric_value, face_numeric_weight, face_numeric_slant)
2102 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
2103 (face_symbolic_slant, face_symbolic_swidth)
2104 (split_font_name_into_vector, build_font_name_from_vector)
2105 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
2106 (font_rescale_ratio, split_font_name, build_font_name)
2107 (free_font_names, sort_fonts, x_face_list_fonts)
2108 (face_font_available_p, sorted_font_list, cmp_font_names)
2109 (font_list_1, concat_font_list, font_list, remove_duplicates):
2110 Deleted.
2111 (Fx_list_fonts): Use Ffont_list.
2112 (LFACE_AVGWIDTH): Deleted.
2113 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
2114 by FONTP.
2115 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2116 (set_lface_from_font_name): Delete it.
2117 (set_lface_from_font): Renamed from
2118 set_lface_from_font_and_fontset. Caller changed. Don't set
2119 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
2120 for face.
2121 (merge_face_vectors): Copy font-spec if necessary.
2122 Clear properties of the font-spec if necessary.
2123 (merge_face_ref): Clear properties of the font-spec if necessary.
2124 (Finternal_set_lisp_face_attribute): Likewise.
2125 (set_font_frame_param): Use font_load_for_lface to load a
2126 font-object, and call Fmodify_frame_parameters with it.
2127 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
2128 font name by Ffont_xlfd_name.
2129 (Finternal_lisp_face_attribute_values): Don't check QCweight,
2130 QCslant, and QCwidth.
2131 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
2132 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
2133 Compare fonts by EQ.
2134 (lookup_non_ascii_face): Deleted.
2135 (face_for_font): The 2nd argument changed.
2136 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
2137 Check atomic font properties by case insensitive.
2138 (realize_non_ascii_face): Set face->overstrike correctly.
2139 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
2140 (dump_realized_face): Get font name from
2141 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
2142
2143 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
2144 conditionals. Don't check enable_font_backend. Delete all codes
2145 used only when USE_FONT_BACKEND is not defined.
2146 (xic_create_xfontset): Original code deleted and renamed from
2147 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
2148 (x_make_gc): Don't set GCFont in GCs.
2149 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
2150 opened by "fixed".
2151 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
2152 find_ccl_program_func, query_font_func, set_frame_fontset_func,
2153 get_font_repertory_func.
2154
2155 * xfont.c: Include <stdlib.h> and "ccl.h".
2156 (struct xfont_info): New structure.
2157 (xfont_query_font): Deleted.
2158 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
2159 moved from xterm.c.
2160 (xfont_driver): Adjusted for the change of struct font_driver.
2161 (compare_font_names): New function.
2162 (xfont_list_pattern): Sort font names case insensitively. Make
2163 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
2164 (xfont_list): Return a list, not vector.
2165 (xfont_match): If the font doesn't have QCname property, generate
2166 a name from the other font properties.
2167 (xfont_open): Return a font-ojbect. Adjusted for the change of
2168 struct font. Get underline_thickness and underline_position from
2169 font property. Don't update dpyinfo->smallest_font_height and
2170 dpyinfo->smallest_char_width.
2171 (xfont_close): Don't free struct font.
2172 (xfont_prepare_face): Adjusted for the change of struct font.
2173 (xfont_done_face): Deleted.
2174 (xfont_has_char): Adjusted for the change of struct font.
2175 (xfont_encode_char, xfont_draw): Likewise.
2176 (xfont_check): New function.
2177
2178 * xftfont.c (xftfont_list): Adjusted for the change of `list'
2179 callback function.
2180 (xftfont_match): Adjusted for the fontmat change of font-entity.
2181 (xftfont_open): Adjusted for the format change of font-entity and
2182 font-object. Adjusted for the change of struct font. Return a
2183 font-object. Don't update dpyinfo->smallest_font_height and
2184 dpyinfo->smallest_char_width.
2185 (xftfont_close): Block input while calling XftFontClose.
2186 (xftfont_prepare_face): Don't block input while calling
2187 xftfont_get_colors. Adjusted for the change of struct font.
2188 (xftfont_shape): Return value of error case fixed.
2189
2190 * xrdb.c (x_load_resources): Don't setup a fontset resource.
2191
2192 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
2193 conditionals.
2194 (FONT_WIDTH): Return (f)->max_width.
2195 (struct x_display_info): Delete member `font'.
2196 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
2197 (x_find_ccl_program, x_get_font_repertory): Delete externs.
2198 (struct x_output): Change type of `font' to `struct font *'.
2199
2200 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
2201 conditionals. Don't check enable_font_backend. Delete all codes
2202 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
2203 (x_per_char_metric, x_encode_char): Deleted.
2204 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
2205 (x_compute_glyph_string_overhangs): Adjusted for the change of
2206 `struct face'.
2207 (x_draw_glyph_string_foreground)
2208 (x_draw_composite_glyph_string_foreground): Likewise.
2209 (x_draw_glyph_string): Likewise. Use font->underline_position and
2210 font->underline_thickness.
2211 (x_new_font): Renamed from x_new_fontset2.
2212 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
2213 (x_check_font): Call `check' method of a font driver.
2214 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
2215 (x_query_font, x_get_font_repertory): Deleted.
2216 (x_find_ccl_program): Renamed and moved to xfont.c.
2217 (x_redisplay_interface): Adjusted for the change of `struct
2218 redisplay_interface'.
2219
2220 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
2221 conditionals. Don't check enable_font_backend. Delete all codes
2222 used only when USE_FONT_BACKEND is not defined. Surround non-used
2223 code by "#ifdef OLD_FONT" and "endif".
2224 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
2225
2226 * w32font.h (struct w32font_info): New member.
2227 (FONT_COMPAT): New macro.
2228 (w32font_open_internal): Prototype adjusted.
2229
2230 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
2231 OLD_FONT" and "endif".
2232
2233 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
2234 conditionals. Don't check enable_font_backend. Delete all codes
2235 used only when USE_FONT_BACKEND is not defined.
2236 (w32font_open): Return a font-object. Make a font-object by
2237 font_make_object. Adjusted for the change of struct w32font_info.
2238 (w32font_close): Don't free struct font. Adjusted for the change
2239 of struct w32font_info.
2240 (w32font_encode_char, w32font_text_extents, w32font_draw):
2241 Adjusted for the change of struct w32font_info.
2242 (w32font_draw): Likewise.
2243 (w32font_list_internal): Return a list, not vector.
2244 (w32font_open_internal): Change the 4th arg to font-object.
2245 Adjusted for the change of struct w32font_info and font-object format.
2246 (add_font_name_to_list): Don't downcase names.
2247 (w32_enumfont_pattern_entity): Make a font-entity by
2248 font_make_entity. Adjusted for the format change of font-entity.
2249 Use FONT_SET_STYLE to set a style-related font property. If a
2250 font is scalable, set avgwidth property to 0. Set font-entity
2251 property by font_put_extra.
2252 (font_matches_spec): Adjusted for the format change of font-entity.
2253 (w32_weight_table, w32_decode_weight): New variables.
2254 (w32_encode_weight): New function.
2255 (fill_in_logfont): Adjusted for the format change of font-spec.
2256 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
2257 weight value.
2258 (w32font_driver): Adjusted for the change of struct font_driver.
2259
2260 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
2261 conditionals. Don't check enable_font_backend. Surround non-used
2262 code by "#ifdef OLD_FONT" and "endif".
2263 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
2264 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
2265
2266 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
2267 conditionals. Don't check enable_font_backend. Delete all codes
2268 used only when USE_FONT_BACKEND is not defined. Surround non-used
2269 code by "#ifdef OLD_FONT" and "endif".
2270
2271 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
2272 (uniscribe_open): Return value changed to font-object.
2273 Adjusted for the format change of font-object.
2274 (uniscribe_otf_capability): Adjusted for the change of struct font.
2275 (add_opentype_font_name_to_list): Don't downcase names.
2276 (uniscribe_font_driver): Adjusted for the change of struct
2277 font_driver.
2278
2279 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
2280
2281 * dispnew.c (update_frame_1): Check if tty output is still valid
2282 before flushing it.
2283
2284 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
2285
2286 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
2287 to Gtk+ menus.
2288
2289 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
2290
2291 * dired.c (file_name_completion): Tweak the code so as to always do it
2292 in a single pass. Tighten the scope of some variables.
2293
2294 * dired.c (Qdefault_directory): New var.
2295 (file_name_completion): Use it instead of Fexpand_file_name.
2296 (syms_of_dired): Initialize it.
2297
2298 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
2299
2300 * fileio.c (double_dollars): Remove dead code.
2301
2302 2008-05-10 Eli Zaretskii <eliz@gnu.org>
2303
2304 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
2305 Mention w32-get-true-file-attributes in doc string.
2306
2307 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
2308
2309 2008-05-09 Glenn Morris <rgm@gnu.org>
2310
2311 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
2312 2008-04-23.
2313
2314 2008-05-09 Eli Zaretskii <eliz@gnu.org>
2315
2316 Support for reporting owner and group of each file on MS-Windows:
2317 * dired.c (stat_uname, stat_gname): New functions, with special
2318 implementation for w32.
2319 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
2320
2321 * w32.c: Rename the_passwd_* to dflt_passwd_*.
2322 (dflt_group_name): New static variable.
2323 (dflt_group): Rename from the_group.
2324 (init_user_info): Init dflt_group fields. Get user's group name
2325 from LookupAccountSid.
2326 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
2327 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
2328 New initialization states.
2329 (globals_of_w32): Initialize them to zero. Initialize the default
2330 group name to "None".
2331 (GetFileSecurity_Name): New global var, the name of the function
2332 to call for GetFileSecurity.
2333 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
2334 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
2335 (get_file_security, get_security_descriptor_owner)
2336 (get_security_descriptor_group, is_valid_sid)
2337 (get_file_security_desc, get_rid, get_name_and_id)
2338 (get_file_owner_and_group): New functions.
2339 (stat): Use get_file_security_desc and get_file_owner_and_group to
2340 report the owner and primary group of each file. Don't ignore the
2341 high 32 bits of file's size, now that st_size is 64-bit wide.
2342 Fix test when to get true file attributes.
2343 (init_user_info): Use get_rid instead of equivalent inline code.
2344 (fstat): Don't ignore the high 32 bits of file's size.
2345
2346 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
2347
2348 * image.c (png_load): Use correct bit-depth for setting background
2349 color.
2350
2351 2008-05-08 Eli Zaretskii <eliz@gnu.org>
2352
2353 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
2354 epa-hook.elc.
2355
2356 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
2357
2358 * font.c (Ffont_match_p): Don't use `iff' in docstring.
2359
2360 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
2361
2362 * macfns.c (Fx_create_frame): Make a copy of frame parameters
2363 because the original parameters are in pure storage now.
2364 (mac_window): Remove unused params. Update callers.
2365
2366 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
2367
2368 * lread.c (substitute_object_recurse): Use lower-level primitives.
2369 Don't signal errors when traversing sub-char-tables.
2370 Don't loop over all the possible characters when traversing char-tables.
2371
2372 * print.c (print_preprocess): Add sub-char-tables to the print-table,
2373 just like we do in print.c.
2374
2375 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
2376
2377 * minibuf.c (Ftry_completion): Remove code left over from when we used
2378 scmp instead of Fcompare_strings.
2379
2380 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
2381
2382 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
2383
2384 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2385
2386 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
2387 Create bitmap context in native byte order.
2388
2389 * macterm.c (XDrawLine)
2390 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
2391 context in native byte order.
2392
2393 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2394
2395 * config.in: Regenerate.
2396
2397 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
2398 New definitions for Image I/O support.
2399 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2400 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
2401 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
2402 (mac_data_provider_release_data, image_load_image_io)
2403 [USE_MAC_IMAGE_IO]: New functions.
2404 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
2405 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
2406 (init_image_func_pointer) [MAC_OSX]: Remove function.
2407 (image_load_quartz2d) [MAC_OSX]: Check availability of
2408 CGImageCreateWithPNGDataProvider at compile time.
2409 Use lowercase `false' for boolean constant.
2410 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
2411 Use image_load_image_io.
2412 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
2413 Don't check MyCGImageCreateWithPNGDataProvider.
2414 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
2415 Don't call init_image_func_pointer.
2416
2417 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
2418
2419 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
2420 Make variable non-static.
2421 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
2422 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
2423
2424 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
2425 (RED_FROM_ULONG): Mask off higher bits.
2426 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
2427
2428 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
2429 Include AvailabilityMacros.h.
2430 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
2431 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
2432
2433 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
2434
2435 * chartab.c (Fset_char_table_range): If range is t, really set all
2436 chars to that value.
2437
2438 2008-05-03 Eli Zaretskii <eliz@gnu.org>
2439
2440 * dired.c (Ffile_attributes): Don't allow the device number become
2441 negative.
2442
2443 2008-05-02 Daiki Ueno <ueno@unixuser.org>
2444
2445 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
2446
2447 2008-05-02 Juri Linkov <juri@jurta.org>
2448
2449 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
2450 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
2451 DEFAULT argument as a list of default values in docstrings.
2452
2453 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
2454
2455 * puresize.h (BASE_PURESIZE): Increase to 1210000.
2456
2457 2008-05-01 Martin Rudalics <rudalics@gmx.at>
2458
2459 * dispnew.c (change_frame_size_1): Preserve small windows when
2460 shrinking frames by calling set_window_height|width with third
2461 arg 2.
2462
2463 * window.h (struct window): Replace field too_small_ok by field
2464 resize_proportionally.
2465
2466 * window.c (make_window): Initialize resize_proportionally.
2467 (enlarge_window): Temporarily set resize_proportionally to make
2468 sure that shrink_windows does scale the window proportionally.
2469 (shrink_windows): When window has resize_proportionally set try
2470 to shrink it proportionally by stealing from other windows.
2471 (struct saved_window, Fset_window_configuration)
2472 (compare_window_configurations): Handle resize_proportionally.
2473 (WINDOW_TOTAL_SIZE): New macro.
2474 (window_min_size, shrink_windows, size_window): Use it.
2475 (check_min_window_sizes): Remove. Invalid values of
2476 window-min-height|width are handled by window_min_size_2 now.
2477 (size_window, Fsplit_window, enlarge_window)
2478 (adjust_window_trailing_edge, grow_mini_window): Don't call
2479 check_min_window_sizes.
2480 (window_min_size_2, window_min_size_1, window_min_size):
2481 New argument safe_p for retrieving "safe" minimum sizes.
2482 (Fdisplay_buffer, Fsplit_window, enlarge_window)
2483 (adjust_window_trailing_edge, grow_mini_window):
2484 Adjust arguments of window_min_size... functions.
2485 (shrink_windows): Argument min_size removed. New argument
2486 safe_p allows shrinking windows to their safe minimum sizes.
2487 Calculate minimum size and decide whether a window shall be
2488 deleted for each window individually.
2489 (size_window): When nodelete_p equals 2, tell shrink_windows to
2490 delete windows only if their new minimum size is no more safe.
2491 (shrink_window_lowest_first): Call window_min_size_1 to make
2492 sure to preserve modeline of bottom-most window when resizing
2493 the minibuffer.
2494 (Fset_window_configuration, Fcurrent_window_configuration)
2495 (compare_window_configurations): Do not handle
2496 window-min-height|width any more.
2497 (syms_of_window): Clarify window-min-height|width doc-strings.
2498
2499 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
2500
2501 * dired.c (file_name_completion): Fix up the encoding/decoding issue
2502 some more. Copy some of the code from Ftry_completions.
2503 Remove special case code that dates back to initial revision when the
2504 slash was only added when necessary and that can't trigger nowadays.
2505
2506 2008-04-27 Kenichi Handa <handa@m17n.org>
2507
2508 * font.c (font_prop_validate): Signal `error' instead of `font'.
2509
2510 2008-04-29 Jason Rumney <jasonr@gnu.org>
2511
2512 * w32fns.c (Fw32_battery_status): New defun.
2513 (syms_of_w32fns): Defsubr it.
2514
2515 2008-04-28 Andreas Schwab <schwab@suse.de>
2516
2517 * dired.c (file_name_completion): Fix another mixing of encoded
2518 and decoded names.
2519
2520 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
2521
2522 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
2523
2524 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
2525
2526 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
2527
2528 2008-04-27 Andreas Schwab <schwab@suse.de>
2529
2530 * dired.c (file_name_completion): Fix inappropriate mixing of
2531 encoded and decoded names.
2532
2533 * xterm.c (XTread_socket): Fix use of uninitialized variable.
2534
2535 * puresize.h (BASE_PURESIZE): Increase to 1200000.
2536
2537 2008-04-26 Eli Zaretskii <eliz@gnu.org>
2538
2539 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
2540 2008-03-31, it's not needed anymore with `struct stat' definition
2541 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
2542 for the same reasons.
2543
2544 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
2545
2546 * m/sparc.h: Additional redefinitions for GNU/Linux.
2547
2548 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2549
2550 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
2551 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
2552 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
2553 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
2554 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
2555 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
2556 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2557 Likewise.
2558
2559 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
2560 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
2561 (mac_ax_number_of_characters): Add externs.
2562 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
2563 [USE_MAC_TSM]: Likewise.
2564 (mac_handle_text_input_event) [MAC_OSX]:
2565 Handle kEventTextInputOffsetToPos for no active input area case.
2566 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
2567 (mac_handle_document_access_event)
2568 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
2569 (install_application_handler) [MAC_OSX]: Register handlers for
2570 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
2571 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2572 Register mac_handle_document_access_event.
2573
2574 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
2575 Make functions non-static.
2576
2577 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
2578
2579 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
2580 (read_file_name_completion_ignore_case, insert_default_directory)
2581 (Qdefault_directory): Move to minibuffer.el.
2582 (Fread_file_name): Call the new `read-file-name' instead.
2583
2584 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2585
2586 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
2587 Make function non-static.
2588 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
2589 Remove function.
2590 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
2591 Move to mactoolbox.c.
2592 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
2593
2594 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
2595 (mac_rect_make): New macro.
2596
2597 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
2598 instead of float.
2599 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
2600 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
2601 (XSetBackground) [USE_CG_DRAWING]: Likewise.
2602 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
2603 CGRectMake.
2604 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
2605 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
2606 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
2607 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
2608 instead of WindowRef in argument type.
2609 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
2610 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
2611 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
2612 instead of DISPLAY. All uses changed.
2613 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
2614 (x_calc_absolute_position): Simplify so as not to use
2615 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
2616
2617 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
2618 instead of WindowRef in argument type.
2619 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
2620 [TARGET_API_MAC_CARBON]: Remove externs.
2621 (create_apple_event, mac_event_parameters_to_lisp)
2622 [TARGET_API_MAC_CARBON]: Add externs.
2623
2624 * mactoolbox.c (Vmac_ts_script_language_on_focus)
2625 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
2626 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
2627 is clicked.
2628 (x_activate_menubar): Remove extern for saved_menu_event_location.
2629 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
2630 Move from mac.c.
2631
2632 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2633
2634 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
2635 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
2636
2637 2008-04-23 Jason Rumney <jasonr@gnu.org>
2638
2639 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
2640 attributes only for local files.
2641
2642 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
2643 default to Qlocal.
2644
2645 2008-04-22 Juri Linkov <juri@jurta.org>
2646
2647 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
2648 read-buffer-to-switch instead of using the letter "B".
2649
2650 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
2651
2652 * fileio.c (Qdefault_directory): New variable.
2653 (Fread_file_name): Use it to pass `dir' to the completion functions.
2654
2655 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
2656
2657 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
2658
2659 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
2660
2661 * keyboard.c (Vpre_help_message): Remove.
2662 (show_help_echo): Remove default C code.
2663
2664 * dired.c (directory_files_internal, file_name_completion):
2665 Only call ENCODE_FILE if the string is indeed decoded.
2666
2667 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2668
2669 * Makefile.in (TOOLKIT_DEFINES): Remove.
2670 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
2671
2672 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2673
2674 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
2675 (mactoolbox.o): New target.
2676
2677 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
2678 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
2679
2680 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
2681 Use mac_set_frame_window_background instead of XSetWindowBackground.
2682 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
2683 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
2684 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
2685 instead of SetWindowTitleWithCFString.
2686 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
2687 Move function to mactoolbox.c.
2688 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
2689 Use mac_set_window_modified instead of SetWindowModified.
2690 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
2691 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
2692 (Fx_focus_frame): Use mac_front_non_floating_window instead of
2693 FrontNonFloatingWindow. Use mac_activate_window instead of
2694 ActivateWindow. Use mac_active_non_floating_window instead of
2695 ActiveNonFloatingWindow.
2696 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
2697 Use mac_show_hourglass and mac_hide_hourglass.
2698 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
2699 instead of GetGlobalMouse.
2700 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
2701 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
2702 Use mac_bring_window_to_front instead of BringToFront.
2703 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
2704 mactoolbox.c.
2705 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
2706 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
2707 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
2708 mactoolbox.c.
2709
2710 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
2711 (XtPointer): Move typedef from macmenu.c.
2712 (enum button_type): Move enum from macmenu.c.
2713 (widget_value): Move typedef from macmenu.c.
2714 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
2715 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2716 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2717 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2718 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2719 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2720 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2721 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
2722 (Selection): Move typedef from macselect.c.
2723 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
2724 macterm.c.
2725 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
2726 (mac_is_window_collapsed, mac_bring_window_to_front)
2727 (mac_send_window_behind, mac_hide_window, mac_show_window)
2728 (mac_collapse_window, mac_front_non_floating_window)
2729 (mac_active_non_floating_window, mac_activate_window)
2730 (mac_move_window_structure, mac_move_window, mac_size_window)
2731 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
2732
2733 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
2734 (enum mac_menu_kind): Move enum to mactoolbox.c.
2735 (min_menu_id): Move variable to mactoolbox.c.
2736 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
2737 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
2738 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2739 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2740 [TARGET_API_MAC_CARBON]: Likewise.
2741 (XtPointer): Move typedef to macgui.h.
2742 (enum button_type): Move enum to macgui.h.
2743 (widget_value): Move typedef to macgui.h.
2744 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2745 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2746 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2747 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2748 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2749 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2750 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
2751 (popup_activated_flag): Make variable non-static.
2752 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
2753 (add_menu_item, fill_menu, dispose_menus):
2754 Move functions to mactoolbox.c.
2755 (restore_show_help_function, menu_target_item_handler)
2756 (install_menu_target_item_handler, mac_handle_dialog_event)
2757 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
2758 [TARGET_API_MAC_CARBON]: Likewise.
2759 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
2760 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2761 (find_and_call_menu_selection, name_is_separator): Make function
2762 non-static.
2763 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
2764 to mactoolbox.c.
2765 (set_frame_menubar): Don't call install_menu_quit_handler.
2766 (menu_item_selection): New variable.
2767 (mac_menu_show): Use create_and_show_popup_menu.
2768 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
2769 selection but set variable menu_item_selection. All uses changed.
2770 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
2771 Call install_menu_quit_handler. Move to mactoolbox.c.
2772
2773 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
2774 (Selection): Move typedef to macgui.h.
2775 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
2776 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
2777 Make variables non-static.
2778 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2779 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
2780 Make functions non-static.
2781 (Vmac_service_selection) [MAC_OSX]: Likewise.
2782 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
2783 (mac_valid_selection_target_p, mac_clear_selection)
2784 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2785 (mac_put_selection_value, mac_selection_has_target_p)
2786 (mac_get_selection_value, mac_get_selection_target_list)
2787 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
2788 Move functions to mactoolbox.c.
2789 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
2790 Likewise.
2791 (copy_scrap_flavor_data, mac_handle_service_event)
2792 (install_service_handler) [MAC_OSX]: Likewise.
2793 (syms_of_macselect) <Vmac_dnd_known_types>:
2794 Use mac_dnd_default_known_types.
2795
2796 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
2797 Move to mactoolbox.c.
2798 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
2799 (Fx_selection_owner_p): Add EXFUN.
2800 (install_window_handler, remove_window_handler, XSetWindowBackground):
2801 Remove externs.
2802 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
2803 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
2804 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
2805 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
2806 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
2807 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
2808 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
2809 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
2810 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
2811 (create_and_show_popup_menu, mac_get_selection_from_symbol)
2812 (mac_valid_selection_target_p, mac_clear_selection)
2813 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2814 (mac_put_selection_value, mac_selection_has_target_p)
2815 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
2816 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
2817 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
2818 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2819 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
2820 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2821 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
2822 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2823 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2824
2825 * mactoolbox.c: New file.
2826
2827 2008-04-18 Jason Rumney <jasonr@gnu.org>
2828
2829 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
2830
2831 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2832
2833 * character.c (Fmultibyte_char_to_unibyte):
2834 Return latin1 chars unchanged.
2835
2836 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
2837 relocated if it points to `name'.
2838
2839 2008-04-17 Kenichi Handa <handa@m17n.org>
2840
2841 * data.c (Faset): Allow setting a multibyte character in an
2842 ASCII-only unibyte string.
2843
2844 * lisp.h (STRING_SET_MULTIBYTE): New macro.
2845
2846 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2847
2848 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
2849 done in config.h.
2850
2851 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
2852
2853 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
2854 (Fchar_direction): Add usage in the docstring.
2855
2856 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
2857
2858 * keyboard.c (read_key_sequence): Remove always-true checks.
2859
2860 2008-04-14 Jason Rumney <jasonr@gnu.org>
2861
2862 * w32font.c (w32font_open_internal): Set max_bounds.descent in
2863 compatibility struct, for better underline positioning.
2864
2865 2008-04-13 David Hansen <david.hansen@gmx.net>
2866
2867 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
2868 string.
2869
2870 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
2871
2872 * m/hp800.h (XUINT, XSET): Remove.
2873
2874 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
2875
2876 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
2877 previous change.
2878
2879 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2880
2881 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
2882 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
2883
2884 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2885
2886 * keymap.h (map_keymap_canonical): Declare.
2887 * xmenu.c (single_keymap_panes): Use it.
2888
2889 2008-04-11 Glenn Morris <rgm@gnu.org>
2890
2891 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
2892 set the target's value to that of the alias.
2893
2894 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2895
2896 * term.c (set_tty_color_mode): Left over typo.
2897
2898 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
2899
2900 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
2901 only after check for file name handler functions. Signal, when
2902 native functionality is not supported.
2903 (syms_of_fileio): Declare it unconditionally.
2904
2905 2008-04-10 Jason Rumney <jasonr@gnu.org>
2906
2907 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
2908 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
2909
2910 * w32.c (logon_network_drive): Also logon to remote drives that
2911 are mapped to drive letters.
2912
2913 2008-04-10 Glenn Morris <rgm@gnu.org>
2914
2915 * xdisp.c (truncate-partial-width-windows): Doc fix.
2916
2917 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
2918
2919 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
2920 Move functions to minibuffer.el.
2921 (syms_of_fileio): Don't declare them.
2922
2923 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2924
2925 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
2926 (syms_of_minibuf): Remove its initialization.
2927
2928 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
2929
2930 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
2931
2932 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
2933
2934 2008-04-09 Jason Rumney <jasonr@gnu.org>
2935
2936 * makefile.w32-in (distclean): Delete makefile too.
2937 (maintainer-clean): New target.
2938
2939 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
2940
2941 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
2942 for new font backend and composite cases.
2943
2944 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
2945
2946 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
2947 Most of the code moved to run_timers.
2948 (do_pending_atimers): Call run_timers.
2949 (run_timers): New function.
2950
2951 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
2952 run atimers.
2953
2954 * process.c (wait_reading_process_output): The same as above.
2955
2956 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2957
2958 * minibuf.c (last_exact_completion): Remove variable.
2959 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
2960 (complete_and_exit_1, complete_and_exit_2)
2961 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2962 (Fdisplay_completion_list, display_completion_list_1)
2963 (Fminibuffer_completion_help, Fself_insert_and_exit)
2964 (Fexit_minibuffer, Fminibuffer_message): Move functions to
2965 minibuffer.el.
2966 (syms_of_minibuf): Remove corresponding initializations.
2967
2968 * keyboard.c (Qdeactivate_mark): New var.
2969 (command_loop_1): Use it to call `deactivate-mark'.
2970 (syms_of_keyboard): Initialize it.
2971
2972 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
2973 to another frame.
2974 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
2975 Don't call set_tty_color_mode.
2976 (store_frame_param): Reset previous_frame rather than call
2977 set_tty_color_mode.
2978 * term.c (set_tty_color_mode): Rewrite.
2979 * dispextern.h (set_tty_color_mode): New type.
2980 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
2981
2982 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
2983
2984 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
2985 for generic chars, which do not exist any more in emacs-unicode.
2986
2987 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
2988
2989 * coding.c (detect_coding_emacs_mule)
2990 (Ffind_operation_coding_system): Fix typo.
2991
2992 2008-04-08 Jason Rumney <jasonr@gnu.org>
2993
2994 * w32uniscribe.c (SNAME): Extract only symbol name.
2995
2996 * w32font.h (struct w32_metric_cache): New struct.
2997 (w32font_info): Use it.
2998 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
2999 (CACHE_BLOCKSIZE): New constants.
3000
3001 * w32font.c (Qja, Qko, Qzh): New symbols.
3002 (syms_of_w32font): Initialise them.
3003 (font_matches_spec): Use them to filter by language.
3004 (recompute_cached_metrics): Remove function.
3005 (compute_metrics, clear_cached_metrics): New functions.
3006 (w32font_encode_char): Use them to manage metric cache.
3007 (w32font_text_extents): Cache metrics for all glyphs on demand.
3008 Delay converting glyph indices to WORD until needed.
3009 (w32font_open_internal): Initialize metric cache to empty.
3010 (registry_to_w32_charset): Charset should always be a symbol.
3011 (fill_in_logfont, list_all_matching_fonts): Family should
3012 always be a symbol.
3013
3014 2008-04-06 Jason Rumney <jasonr@gnu.org>
3015
3016 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
3017 Give up if glyph indices not supported. Use uniscribe obtained
3018 ABC widths for individual metrics. Map glyph clusters back to
3019 characters using fClusterStart flag. Return number of glyphs
3020 produced, not chars processed.
3021 (uniscribe_shape): Map char at FROM to current glyph.
3022
3023 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3024
3025 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
3026 Use SetMenuItemHierarchicalMenu.
3027
3028 2008-04-05 Jason Rumney <jasonr@gnu.org>
3029
3030 * image.c (pbm_load): Allow color values up to 65535.
3031 Throw an error if max_color_idx is outside the supported range.
3032 Report an error when image size is invalid.
3033 Read two bytes at a time when raw images have max_color_idx above 255.
3034
3035 2008-04-05 Eli Zaretskii <eliz@gnu.org>
3036
3037 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3038 cFileName a file name that includes `?' characters, use the 8+3
3039 alias in cAlternateFileName instead.
3040
3041 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
3042
3043 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
3044 append "CCL: Quitted" when the CCL program is quitted.
3045 (setup_ccl_program): Initialize ccl->quit_silently to zero.
3046
3047 * ccl.h (struct ccl_program): New member quit_silently.
3048
3049 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
3050
3051 * search.c (compile_pattern_1): Treat non-nil and non-string of
3052 search-spaces-regexp as nil.
3053
3054 * minibuf.c (Fassoc_string): Tweak docstring.
3055
3056 2008-04-05 Eli Zaretskii <eliz@gnu.org>
3057
3058 * dired.c (Ffile_attributes): Support inode numbers wider than 32
3059 bits. Remove ugly WINDOWSNT-specific kludge introduced on
3060 2008-03-14 to force inode be positive.
3061
3062 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
3063 _S_* ones, since we now use our own sys/stat.h.
3064 (stat, fstat): Don't mangle the inode number.
3065 (init_user_info): Don't restrict UID and GID to 0-60000 range.
3066
3067 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
3068
3069 * frame.h (struct frame): Give one more bit to `visible' since we use
3070 values larger than 1 to indicate obscured frames on ttys.
3071
3072 * keymap.c (Qkeymap_canonicalize): New var.
3073 (Fmap_keymap_internal): New fun.
3074 (describe_map): Use keymap-canonicalize.
3075
3076 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
3077 (Fundo_boundary): Set them.
3078 (syms_of_undo): Initialize them.
3079 (record_point): Use them instead of last_point_position*.
3080 (last_undo_buffer): Change type.
3081
3082 2008-04-04 Jason Rumney <jasonr@gnu.org>
3083
3084 * w32font.c (w32font_text_extents): Use font's ascent and descent.
3085 (recompute_cached_metrics): Don't set ascent and descent per char.
3086
3087 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
3088 (uniscribe_check_otf): Add GC protection before consing.
3089 Rearrange loop for counting features.
3090
3091 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
3092
3093 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
3094 buffer with byte-size of source buffer.
3095
3096 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
3097
3098 * callint.c (Fcall_interactively): Handle temporary region even
3099 when shift-select-mode is off.
3100
3101 2008-04-03 Jason Rumney <jasonr@gnu.org>
3102
3103 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
3104
3105 2008-04-03 Kenichi Handa <handa@m17n.org>
3106
3107 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
3108 (CATEGORY_MASK_UTF_16): Likewise.
3109 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
3110 binary file.
3111 (detect_coding): Add null-byte detection for a binary file.
3112 (detect_coding_system): Likewise.
3113
3114 2008-04-03 Jason Rumney <jasonr@gnu.org>
3115
3116 * w32uniscribe.c: New file.
3117
3118 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
3119
3120 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
3121
3122 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
3123 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
3124 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
3125 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
3126 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
3127 (Qphonetic): New symbols.
3128 (syms_of_w32font): Initialize them.
3129 (font_supported_scripts): Use them.
3130 (w32font_list_family): List all charsets.
3131 (w32font_text_extents, recompute_cached_metrics): Fix metric
3132 calculations.
3133 (w32_enumfont_pattern_entity): Make full_type a DWORD.
3134 Give opentype fonts their own format.
3135 (font_matches_spec): New arguments backend and logfont.
3136 Handle :otf spec for uniscribe backend.
3137 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
3138 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
3139
3140 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
3141 font backend.
3142 (globals_of_w32fns): Initialize uniscribe font backend.
3143
3144 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
3145 dependencies.
3146 (w32uniscribe.$(O)): New file to build.
3147 (FONT_OBJ): Include w32uniscribe.$(O).
3148 (LIBS): Add uniscribe libraries.
3149
3150 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
3151
3152 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
3153
3154 * callint.c (Vshift_select_mode): New var.
3155 (Finteractive): Document new ^ spec.
3156 (Fcall_interactively): Call handle-shift-selection if the ^ spec
3157 is present.
3158
3159 * keyboard.c (Vthis_command_keys_shift_translated): New var.
3160 (command_loop_1): Avoid running the direct display versions of
3161 forward-char and backward-char if shift-selection may occur.
3162 (read_key_sequence): Set Vthis_command_keys_shift_translated if
3163 shift-translation takes place.
3164
3165 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
3166 avoid clobbering by define-minor-mode.
3167
3168 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
3169 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
3170
3171 * syntax.c (Fforward_word): Add ^ interactive spec.
3172
3173 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
3174 (Fscroll_right): Add ^ interactive spec.
3175
3176 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
3177
3178 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
3179
3180 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
3181
3182 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
3183
3184 2008-03-31 Juri Linkov <juri@jurta.org>
3185
3186 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
3187
3188 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
3189
3190 * gtkutil.c (xg_set_geometry): Fix indentation.
3191 (xg_resize_outer_widget): Remove.
3192 (x_wm_size_hint_off): Fix indentation.
3193 (xg_frame_set_char_size): Call flush_and_sync after
3194 gtk_window_resize.
3195 (x_wm_set_size_hint): Pass NULL as geometry window to
3196 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
3197 Add menu bar and tool bar height to base height.
3198 (xg_update_frame_menubar, free_frame_menubar)
3199 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
3200 (update_frame_tool_bar, free_frame_tool_bar):
3201 Change xg_resize_outer_widget to xg_frame_set_char_size.
3202
3203 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
3204
3205 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
3206 (Fdbus_call_method): New parameter TIMEOUT.
3207 (dbus-send-signal): Optimize UNGCPRO call.
3208
3209 2008-03-29 Juri Linkov <juri@jurta.org>
3210
3211 * window.c (Fdisplay_buffer): Move call to
3212 Vsplit_window_preferred_function out of conditions that check
3213 if window is eligible for vertical splitting.
3214 When Vsplit_window_preferred_function is non-nil, call it and use
3215 its non-nil return value as window. Otherwise, continue doing
3216 vertical splitting using Fsplit_window with arg horflag=nil.
3217 (syms_of_window) <Vsplit_window_preferred_function>: Change the
3218 default value from `split-window' to nil.
3219
3220 2008-03-29 Juri Linkov <juri@jurta.org>
3221
3222 * callint.c (Fcall_interactively): Revert 2008-03-16 change
3223 for interactive code letters 'b' and 'B'.
3224
3225 2008-03-29 Eli Zaretskii <eliz@gnu.org>
3226
3227 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
3228 multibyte string.
3229
3230 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
3231
3232 * keyboard.c (pending_funcalls): New var.
3233 (timer_check): Run it.
3234 (syms_of_keyboard): Initialize it.
3235 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
3236 (Vdelete_terminal_functions): New vars.
3237 (syms_of_terminal): Initialize them.
3238 (Fdelete_terminal): Run delete-terminal-functions.
3239 * xdisp.c (safe_eval): Rewrite.
3240 (safe_call2): New fun.
3241 * frame.c (Qdelete_frame_functions): New var.
3242 (syms_of_frame): Initialize it.
3243 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
3244 * lisp.h (safe_call2, pending_funcalls): Declare.
3245
3246 2008-03-28 Andreas Schwab <schwab@suse.de>
3247
3248 * indent.c (Fmove_to_column): Move declaration before statements.
3249
3250 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
3251
3252 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
3253 (struct frame): Use bit fields for boolean vars.
3254
3255 * process.c (server_accept_connection): Simplify naming.
3256 (emacs_get_tty_pgrp): Use SDATA.
3257
3258 * coding.c (decode_coding_object): Fix last change.
3259
3260 2008-03-27 Jason Rumney <jasonr@gnu.org>
3261
3262 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
3263
3264 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
3265
3266 * charset.c (Fdefine_charset_internal): Change the way of
3267 registering charsets in Vcharset_order_list.
3268 (syms_of_charset): Make the charset `eight-bit' supplementary.
3269
3270 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
3271
3272 * regex.c (EXTEND_BUFFER): Change order of pointer addition
3273 operations, to avoid having the difference between pointers
3274 overflow.
3275
3276 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
3277
3278 * indent.c (check_display_width): New fun.
3279 (scan_for_column): Use it.
3280
3281 * data.c (syms_of_data): Mark most-positive-fixnum and
3282 most-negative-fixnum as constants.
3283
3284 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
3285
3286 * indent.c (scan_for_column): Extract from current_column_1.
3287 Merge with the same code from Fmove_to_column.
3288 (current_column_1, Fmove_to_column): Use it.
3289
3290 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
3291
3292 * keymap.c (map_keymap_internal): New fun.
3293 (map_keymap): Use it.
3294 (Fmap_keymap_internal): New fun.
3295 (Fmap_keymap): Remove left-out test from before make_save_value.
3296
3297 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
3298
3299 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
3300 Use XCAR/XCDR.
3301
3302 * process.h (struct Lisp_Process): Remove filter_multibyte.
3303 * process.c (QCfilter_multibyte): Remove.
3304 (setup_process_coding_systems): Don't use filter_multibyte.
3305 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
3306 (read_process_output): Don't adjust multibyteness to filter_multibyte.
3307 (Fset_process_filter_multibyte): Change the coding-system to
3308 approximate the previous behavior.
3309 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
3310 coding-system.
3311
3312 * coding.c (decode_coding_object): When not decoding into a buffer,
3313 obey the coding system's preference of (uni|multi)byte.
3314
3315 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
3316
3317 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
3318 every char is changed and has a different byte-length.
3319 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
3320 Fix int -> EMACS_INT.
3321
3322 2008-03-23 David Hansen <david.hansen@gmx.net>
3323
3324 * dbusbind.c (xd_read_message): Remove extra copying of message
3325 strings. Check for NULL `interface' or `member'.
3326
3327 2008-03-22 Eli Zaretskii <eliz@gnu.org>
3328
3329 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3330 cFileName a file name that includes `?' characters, use the 8+3
3331 alias in cAlternateFileName instead.
3332
3333 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
3334
3335 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
3336
3337 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
3338
3339 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
3340 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
3341 work on current_buffer only instead (that was already the case
3342 for some of the code anyway).
3343 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
3344 (temp_set_point, temp_set_point_both): Use EMACS_INT.
3345 (SET_PT, SET_PT_BOTH): Adjust.
3346 * intervals.h (set_point, temp_set_point, set_point_both)
3347 (temp_set_point_both): Remove redundant declarations.
3348
3349 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
3350
3351 * fileio.c (Finsert_file_contents):
3352 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
3353 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
3354 when buffer != current_buffer anyway.
3355
3356 2008-03-20 Andreas Schwab <schwab@suse.de>
3357
3358 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
3359 as default.
3360
3361 2008-03-19 Jason Rumney <jasonr@gnu.org>
3362
3363 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
3364 (syms_of_w32fns): Initialize them.
3365 (HOURGLASS_ID): New constant.
3366 (x_window_to_frame): Don't check hourglass_window.
3367 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
3368 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
3369 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
3370 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
3371 Only change the cursor if hourglass is not active.
3372 (Fx_create_frame): Initialize frame's current_cursor.
3373 (hourglass_atimer): Remove.
3374 (hourglass_started): New function.
3375 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
3376 (show_hourglass): Adapt to w32, changing argument to frame.
3377
3378 * w32term.h (struct w32_output): Remove hourglass_window.
3379 Add current_cursor.
3380
3381 * eval.c (call_debugger, Fsignal):
3382 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
3383 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
3384 (Fexecute_extended_command, cancel_hourglass_unwind):
3385 * minibuf.c (read_minibuf):
3386 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
3387
3388 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
3389
3390 * window.c (run_funs): New fun.
3391 (run_window_configuration_change_hook): Use it to run the buffer-local
3392 and the global part of the hook.
3393
3394 * xdisp.c (format_mode_line_unwind_data): Add window argument.
3395 (unwind_format_mode_line): Restore selected window.
3396 (x_consider_frame_title, Fformat_mode_line): Set selected window.
3397
3398 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
3399
3400 * editfns.c (Fchar_equal): Check they are valid characters.
3401
3402 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
3403
3404 2008-03-17 Andreas Schwab <schwab@suse.de>
3405
3406 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
3407 against a charset.
3408
3409 * lisp.h (Fbuffer_list): Declare.
3410
3411 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
3412
3413 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
3414 handlebox_widget is != 0.
3415
3416 2008-03-16 Juri Linkov <juri@jurta.org>
3417
3418 * callint.c (Fcall_interactively): For interactive code letters
3419 'b' and 'B' put the buffer list into the list of default "future"
3420 values of the minibuffer.
3421
3422 2008-03-16 Andreas Schwab <schwab@suse.de>
3423
3424 * keyboard.c (read_key_sequence): Fix downcasing of letters with
3425 modifiers.
3426
3427 * regex.c (re_match_2_internal): Correct matching of a charset
3428 against latin-1 characters.
3429
3430 2008-03-16 Kenichi Handa <handa@m17n.org>
3431
3432 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
3433 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
3434 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
3435 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
3436 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
3437 CHAR_STRING_ADVANCE.
3438 (produce_chars): Fix for the case that the source and the
3439 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
3440 instead of CHAR_STRING_ADVANCE.
3441 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
3442 STRING_CHAR_ADVANCE.
3443
3444 2008-03-15 Andreas Schwab <schwab@suse.de>
3445
3446 * regex.c (re_match_2_internal): Correct matching of eight bit
3447 characters in unibyte strings.
3448
3449 2008-03-15 Martin Rudalics <rudalics@gmx.at>
3450
3451 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
3452 at end of range when it coincides with the end of the buffer.
3453
3454 2008-03-14 Eli Zaretskii <eliz@gnu.org>
3455
3456 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
3457
3458 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
3459
3460 2008-03-14 Jason Rumney <jasonr@gnu.org>
3461
3462 * editfns.c (initial_tz): New variable.
3463 (syms_of_editfns): Initialize it.
3464 (Fset_time_zone_rule): Set it when first called.
3465 Use it when TZSTRING is nil.
3466
3467 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
3468 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
3469 (monitor_from_point_fn, get_monitor_info_fn): New globals.
3470 (globals_of_w32fns): Initialize them.
3471 (compute_tip_xy): Use them to position tooltips.
3472
3473 2008-03-14 Glenn Morris <rgm@gnu.org>
3474
3475 * emacs.c (main): Revert previous change.
3476 (standard_args): Revert -internal-script back to -scriptload,
3477 and remove the long-option form.
3478
3479 2008-03-13 Glenn Morris <rgm@gnu.org>
3480
3481 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
3482 Remove option -enable-font-backend.
3483
3484 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
3485
3486 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
3487
3488 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
3489
3490 * xterm.c (x_connection_closed): For GTK: If this is the last
3491 terminal just exit without closing the display.
3492
3493 2008-03-11 Jason Rumney <jasonr@gnu.org>
3494
3495 * w32font.c (w32font_full_name): Use floor to round.
3496
3497 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
3498
3499 * sound.c (alsa_configure): Declare vol at beginning of block.
3500
3501 * fontset.c (Ffontset_info): Remove extra semicolon.
3502
3503 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
3504
3505 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
3506 size of resulting string.
3507
3508 2008-03-10 Jason Rumney <jasonr@gnu.org>
3509
3510 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
3511
3512 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3513
3514 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
3515 Don't pretend as if characters with display property haven't been
3516 consumed for string-replacing-string case.
3517
3518 2008-03-08 Kim F. Storm <storm@cua.dk>
3519
3520 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
3521 (get_next_display_element, next_element_from_string)
3522 (next_element_from_ellipsis, next_element_from_buffer): Use it.
3523
3524 2008-03-08 Andreas Schwab <schwab@suse.de>
3525
3526 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
3527
3528 2008-03-06 Jason Rumney <jasonr@gnu.org>
3529
3530 * w32font.c (w32_registry): Take font_type argument. Use ANSI
3531 when charset not specified. Only translate ANSI to unicode when
3532 font_type is truetype.
3533 (w32font_coverage_ok): New function.
3534 (add_font_entity_to_list): Use it to filter unsuitable fonts.
3535
3536 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
3537
3538 * lread.c (Fread_char): Resolve modifiers.
3539 (Fread_char_exclusive): Likewise.
3540
3541 * character.c (char_resolve_modifier_mask): New function.
3542 (char_string): Use char_resolve_modifier_mask.
3543 (Fchar_resolve_modifiers): New function.
3544 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
3545 function.
3546
3547 2008-03-04 Jason Rumney <jasonr@gnu.org>
3548
3549 * makefile.w32-in: Always include w32font.c in the build.
3550 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
3551
3552 2008-03-04 Andreas Schwab <schwab@suse.de>
3553
3554 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
3555 (versionclean): Likewise.
3556
3557 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
3558
3559 * .cvsignore: Add oo.
3560
3561 2008-03-03 Andreas Schwab <schwab@suse.de>
3562
3563 * coding.c (decode_coding_object): Inhibit gap shrinking while
3564 decoding in place.
3565
3566 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
3567
3568 * w32term.c: Remove unused include "gnu.h".
3569 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
3570
3571 * gnu.h: Rename to ...
3572 * emacs-icon.h: ... this.
3573 * xterm.c: Use emacs-icon.h instead of gnu.h.
3574 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
3575
3576 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
3577
3578 * w32font.c: Include math.h.
3579
3580 2008-03-03 Jason Rumney <jasonr@gnu.org>
3581
3582 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
3583 Compute options separately.
3584 (w32font_open_internal): Set glyph_idx before caching metrics.
3585
3586 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
3587 Define if system headers don't.
3588 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
3589 (w32font_encode_char): Don't declare here.
3590
3591 * w32font.c (Quniscribe, QCformat): New symbols.
3592 (syms_of_w32font): Define them.
3593 (w32font_has_char): Indicate uncertainty.
3594 (w32font_encode_char): Encode as glyph point. Make static.
3595 (recompute_cached_metrics): New function.
3596 (w32font_open_internal): Use it. Set font to use glyph points
3597 initially. Set format based on type of font.
3598 (w32font_text_extents, w32font_draw): Optionally use glyph points.
3599 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
3600 on it. Set format based on information available here.
3601 (add_font_entity_to_list): Identify backend based on opentype_only.
3602
3603 2008-03-02 Andreas Schwab <schwab@suse.de>
3604
3605 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
3606
3607 * coding.c (decode_coding_big5, produce_chars):
3608 Fix typos in last change.
3609
3610 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
3611
3612 * gnu.h: New icon.
3613
3614 2008-03-02 Kenichi Handa <handa@m17n.org>
3615
3616 * coding.c (decode_coding_utf_8): When eol-type of CODING is
3617 `dos', don't decode '\r' if that is the last in the source.
3618 (decode_coding_utf_16, decode_coding_emacs_mule)
3619 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3620 (decode_coding_raw_text, decode_coding_charset): Likewise.
3621 (produce_chars): Don't decode EOL here. Use EMACS_INT.
3622
3623 2008-03-01 Jason Rumney <jasonr@gnu.org>
3624
3625 * w32font.c (w32font_full_name): Report point size for scalable fonts.
3626
3627 2008-03-01 Kim F. Storm <storm@cua.dk>
3628
3629 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
3630
3631 2008-03-01 Jason Rumney <jasonr@gnu.org>
3632
3633 * w32font.c (w32font_full_name): New function.
3634 (w32font_open_internal): Use it.
3635
3636 2008-03-01 Kim F. Storm <storm@cua.dk>
3637
3638 * dispnew.c (line_draw_cost): Fix invalid glyph check.
3639
3640 2008-03-01 Jason Rumney <jasonr@gnu.org>
3641
3642 * font.c (font_unparse_fcname): Increase len when style is a symbol.
3643
3644 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
3645
3646 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
3647 xg_frame_resized when the event is for the edit widget.
3648
3649 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
3650
3651 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
3652 set_char_size.
3653 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
3654 operations on widgets here. Just set frame size if needed.
3655 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
3656 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
3657 (x_wm_set_size_hint): Set size hints on the edit widget only, not
3658 the whole frame.
3659 (xg_create_tool_bar): Move attachement of the tool bar to
3660 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
3661 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
3662
3663 2008-03-01 Jason Rumney <jasonr@gnu.org>
3664
3665 * w32fns.c (w32_msg_pump): Disable debug code.
3666
3667 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3668
3669 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
3670
3671 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
3672
3673 * xdisp.c (next_overlay_string): Don't set
3674 overlay_strings_at_end_processed_p if we're currently reading from
3675 a display string.
3676
3677 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
3678
3679 * xdisp.c (get_overlay_strings_1): Fix typo.
3680
3681 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
3682
3683 * xdisp.c (get_overlay_strings_1): Add missing argument type.
3684
3685 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
3686
3687 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
3688
3689 * xdisp.c (display_mode_element): Cancel the previous change.
3690 (decode_mode_spec): Likewise.
3691 (handle_auto_composed_prop): Don't make composition if it->string
3692 is a string.
3693
3694 2008-02-27 Kim F. Storm <storm@cua.dk>
3695
3696 * lisp.h (GLYPH): Change type from int to struct with separate char
3697 and face_id members.
3698 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
3699 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
3700 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
3701 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
3702 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
3703 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
3704 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
3705 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
3706 handle new Lisp glyph code encoding, either an integer or a cons.
3707
3708 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
3709 (GLYPH_ALIAS): Delete.
3710 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
3711 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
3712 (GLYPH_FROM_CHAR): Replace macro by ...
3713 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
3714
3715 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
3716 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
3717 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
3718 (GLYPH_INVALID_P): New macro.
3719 (spec_glyph_lookup_face): Update prototype.
3720
3721 * dispnew.c (line_draw_cost): Adapt to new glyph type.
3722 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
3723 new glyph code encoding.
3724 (spec_glyph_lookup_face): No return value; update passed glyph instead.
3725 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
3726
3727 * xdisp.c (get_next_display_element, next_element_from_display_vector):
3728 Adapt to new glyph type and new glyph code encoding.
3729
3730 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
3731
3732 * indent.c (current_column, current_column_1, Fmove_to_column)
3733 (compute_motion): Adapt to new glyph code encoding.
3734
3735 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
3736
3737 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
3738
3739 * process.c (wait_reading_process_output): Check for window
3740 changes caused by timers.
3741 Suggested by Johan Bockgård.
3742
3743 2008-02-27 Glenn Morris <rgm@gnu.org>
3744
3745 * emacs.c (USAGE1): Add `--disable-font-backend'.
3746
3747 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
3748
3749 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
3750 is made to the buffer.
3751
3752 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
3753
3754 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
3755 (face_at_string_position):
3756 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
3757 (face_at_string_position):
3758 * xdisp.c (display_string, next_overlay_change):
3759 * buffer.h (overlays_at):
3760 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
3761 Update callers.
3762
3763 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
3764
3765 * editfns.c (Fformat): Doc fix.
3766
3767 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
3768
3769 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
3770 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
3771 (Ffont_otf_alternates, Fquery_font): Doc fixes.
3772
3773 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3774
3775 * buffer.c (Fbuffer_swap_text): New function.
3776 (syms_of_buffer): Defsubr it.
3777
3778 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
3779
3780 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
3781
3782 2008-02-25 Jason Rumney <jasonr@gnu.org>
3783
3784 * w32font.c (w32font_draw): Draw one character at a time when padding.
3785
3786 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3787
3788 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
3789 Handle a nil arg. Use run_window_configuration_change_hook.
3790 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
3791 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
3792 Use run_window_configuration_change_hook.
3793
3794 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3795
3796 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
3797 1-pixel width.
3798
3799 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3800
3801 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
3802 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
3803 if the glyph in the font is zero pixel with.
3804
3805 * dispextern.h (struct glyph_string): New member padding_p.
3806
3807 * w32font.c (w32font_draw): Pay attention to s->padding_p.
3808
3809 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
3810
3811 * xfont.c (xfont_draw): Pay attention to s->padding_p.
3812
3813 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
3814
3815 * font.c: If the font driver doesn't have `shape' function, return Qnil.
3816
3817 2008-02-25 Jason Rumney <jasonr@gnu.org>
3818
3819 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
3820
3821 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
3822
3823 Allow fine-grained image-cache flushing.
3824 * dispextern.h (struct image): Add `dependencies' field.
3825 (clear_image_caches): Change arg to Lisp_Object.
3826 * image.c (make_image): Initialize `dependencies' field.
3827 (clear_image_cache): Change arg to allow fine-grained flushing.
3828 Perform the flush even if image-cache-eviction-delay is nil.
3829 (clear_image_caches): Change arg to Lisp_Object.
3830 (Fclear_image_cache): Expand meaning of the argument.
3831 (mark_image): Mark `dependencies' field.
3832 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
3833 (lface_hash): Use XHASH rather than XFASTINT.
3834 (face_at_buffer_position): Fix int -> EMACS_INT position.
3835 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
3836 (select_frame_for_redisplay): Remove code duplication.
3837 (redisplay_internal): Adapt arg to call to clear_image_caches.
3838
3839 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
3840
3841 * s/vms4-0.h:
3842 * s/vms4-2.h:
3843 * s/vms4-4.h:
3844 * s/vms5-5.h: Remove, unused.
3845
3846 * s/irix5-2.h:
3847 * s/irix6-0.h:
3848 * s/riscos5.h:
3849 * s/mach-bsd4-3.h:
3850 * m/mips4.h: Remove files for obsolete systems.
3851
3852 * Makefile.in:
3853 * filelock.c:
3854 * unexmips.c:
3855 * m/hp9000s300.h:
3856 * m/iris4d.h:
3857 * s/aix3-1.h:
3858 * s/hpux.h:
3859 * s/msdos.h:
3860 * s/usg5-0.h:
3861 * s/usg5-2-2.h:
3862 * s/usg5-2.h:
3863 * s/usg5-3.h: Remove references to obsolete variables.
3864
3865 * s/irix5-0.h: Remove, move all the contents ...
3866 * s/irix6-5.h: ... here. Simplify.
3867 * config.in: Regenerate.
3868
3869 2008-02-24 Jason Rumney <jasonr@gnu.org>
3870
3871 * w32term.c (x_draw_glyph_string_background): Clear the background
3872 manually when cleartype is in use.
3873 (x_draw_glyph_string_foreground): Draw text transparently when
3874 cleartype is in use.
3875
3876 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
3877 a font into it unless we have to.
3878
3879 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3880
3881 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
3882 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
3883
3884 2008-02-18 Jason Rumney <jasonr@gnu.org>
3885
3886 * w32fns.c (Fw32_shell_execute): Encode parameters.
3887
3888 2008-02-09 Eli Zaretskii <eliz@gnu.org>
3889
3890 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
3891
3892 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
3893
3894 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
3895
3896 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
3897
3898 * xterm.c (x_set_offset): Don't change the gravity if
3899 CHANGE_GRAVITY is -1.
3900
3901 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
3902
3903 * fileio.c (auto_save_error_occurred): New var.
3904 (auto_save_error): Set it.
3905 (Fdo_auto_save): Don't overwrite the error message if an auto-save
3906 error occurred.
3907
3908 2008-02-23 Eli Zaretskii <eliz@gnu.org>
3909
3910 * w32.c (globals_of_w32): Add initializations for
3911 g_b_init_get_sid_sub_authority and
3912 g_b_init_get_sid_sub_authority_count.
3913
3914 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
3915
3916 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
3917 (font_parse_xlfd): Use them for sanity check.
3918 (Finternal_set_font_style_table): Make sure the table is bijective.
3919
3920 Consolidate the image_cache to the terminal struct.
3921 * termhooks.h (P_): Remove redundant def.
3922 (struct terminal): New field `image_cache'.
3923 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
3924 of FRAME_X_IMAGE_CACHE.
3925 * xterm.h (struct x_display_info): Remove image_cache field.
3926 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3927 * w32term.h (struct w32_display_info): Remove image_cache field.
3928 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3929 * macterm.h (struct mac_display_info): Remove image_cache field.
3930 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
3931 * xterm.c (x_term_init):
3932 * w32term.c (w32_term_init):
3933 * macterm.c (mac_term_init): Set the image_cache in the terminal.
3934 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
3935 Remove declarations.
3936 (clear_image_caches, mark_image_cache): New declarations.
3937 * xfaces.c (clear_face_cache):
3938 * xdisp.c (redisplay_internal): Use clear_image_caches.
3939 * image.c (clear_image_cache): Don't check that a frame is on
3940 a window-system before checking if it shares the same cache.
3941 (clear_image_caches): New function.
3942 (Fclear_image_cache): Use it.
3943 (mark_image): Move from allo.c.
3944 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
3945 * alloc.c (mark_image, mark_image_cache): Move to image.c.
3946 (mark_object): Don't call mark_image_cache for frames.
3947 (mark_terminals): Call mark_image_cache.
3948
3949 * lisp.h (Fdelete_terminal): Declare.
3950
3951 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
3952 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
3953 wrong_type_argument.
3954
3955 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
3956
3957 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
3958 malayalam.el, and tamil.el. Add sinhala.el.
3959
3960 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
3961
3962 * xterm.c (x_connection_closed): Consolidate identical tests.
3963 (x_delete_terminal): Don't crash if called via x_connection_closed.
3964
3965 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
3966
3967 * xdisp.c (decode_mode_spec): New arg string.
3968 (display_mode_element): Adjust for the above change.
3969
3970 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3971
3972 * callint.c (Fcall_interactively): Use AREF.
3973
3974 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
3975
3976 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
3977
3978 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
3979
3980 * xfns.c (Fx_show_tip): Set string to " " if empty.
3981
3982 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
3983
3984 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
3985 with Qt.
3986
3987 2008-02-17 Kenichi Handa <handa@m17n.org>
3988
3989 * ftfont.c (ftfont_shape): Return Lispy number.
3990
3991 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
3992 for GCs.
3993 (Finternal_set_font_selection_order): Call font_update_sort_order
3994 only when enable_font_backend is set.
3995 (realize_x_face): Set face->font_info to that of default face only
3996 when enable_font_backend is set.
3997
3998 * xdisp.c (handle_composition_prop): Set it->c to the fist
3999 characte of the composed region.
4000 (fill_composite_glyph_string): Set base_face->font_info to
4001 s->font_info. Get a face for ascii from base_face->ascii_face.
4002 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
4003 with a face already decided.
4004 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
4005 non-negative.
4006 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
4007 call font_prepare_composition unconditionally.
4008
4009 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
4010
4011 * xterm.h (struct x_display_info): New member font.
4012
4013 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
4014 (x_set_mouse_face_gc, x_new_font): Likewise.
4015 (x_term_init): Setup display_info->font.
4016 (x_delete_terminal): Free display_info->font.
4017
4018 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
4019
4020 * ftxfont.c (ftxfont_default_fid): Delete it.
4021 (ftxfont_open): Set xfont->fid to 0.
4022 (ftxfont_end_for_frame): Clear data specific to the frame and the
4023 font-driver.
4024
4025 * xftfont.c (xftfont_default_fid): Delete it.
4026 (xftfont_open): Set xfont->fid to 0.
4027
4028 * fontset.c (FONTSET_OBJLIST): New macro.
4029 (fontset_find_font): Update font-object list of the fontset.
4030 (free_realized_fontset): New function.
4031 (free_face_fontset): Call free_realized_fontset.
4032 (Ffont_info): Call font_close_object only when enable_font_backend
4033 is set.
4034
4035 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
4036 [HAVE_NTGUI]: Include w32term.h.
4037 [MAC_OS]: Include macterm.ch.
4038 (font_otf_ValueRecord): Use make_number.
4039 (font_finish_cache): Fix handling of reference count.
4040 (font_clear_cache): Update num_fonts.
4041 (font_open_entity): Update smallest_char_width and
4042 smallest_font_height of the frame.
4043 (font_close_object): Update num_fonts.
4044 (Fclear_font_cache): Fix finding the target cache data.
4045
4046 2008-02-16 Glenn Morris <rgm@gnu.org>
4047
4048 * fontset.c (Finternal_char_font): Fix compilation warning.
4049
4050 2008-02-16 Eli Zaretskii <eliz@gnu.org>
4051
4052 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
4053 instead of char arrays. Enlarge the size of array passed to
4054 get_token_information.
4055
4056 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
4057 warnings.
4058
4059 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
4060
4061 * .gdbinit: Don't set `args', it breaks gdb --args.
4062
4063 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
4064
4065 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
4066 within a narrowed buffer.
4067
4068 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
4069
4070 * coding.c (decode_coding_object, encode_coding_object):
4071 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
4072
4073 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
4074
4075 * coding.c (coding_set_destination): Use BEG_BYTE rather than
4076 hardcoding 1.
4077 (detect_coding_system):
4078 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
4079 (string_char_to_byte, string_byte_to_char, insert_from_gap):
4080 * insdel.c (insert_from_gap):
4081 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
4082 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
4083 (string_to_multibyte):
4084 * character.c (chars_in_text, multibyte_chars_in_text):
4085 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
4086
4087 * character.h (FETCH_STRING_CHAR_ADVANCE)
4088 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
4089 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
4090 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
4091
4092 * casefiddle.c (casify_region): Only call after-change and composition
4093 functions on the part of the region that was changed.
4094
4095 * keyboard.c (read_avail_input):
4096 * frame.c (Fdelete_frame): Call Fdelete_terminal.
4097
4098 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4099
4100 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
4101 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
4102
4103 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
4104
4105 * w32menu.c (push_submenu_start, push_submenu_end)
4106 (push_left_right_boundary, push_menu_pane, push_menu_item):
4107 * keyboard.c (read_key_sequence): Don't pass args with side effects
4108 to AREF, it fails when compiling with -DENABLE_CHECKING.
4109
4110 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
4111
4112 * Makefile.in (${lispsource}international/charprop.el):
4113 Delete this target.
4114
4115 * search.c (boyer_moore): Fix incorrect synching of the trunk and
4116 emacs-unicode-2.
4117
4118 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4119
4120 * terminal.c (Fdelete_terminal): Clean up the `force' path.
4121
4122 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4123
4124 * frame.c (Qnoelisp): New symbol.
4125 (syms_of_frame): Initialize it.
4126 (Fdelete_frame): Use it to distinguish a mere `force' passed from
4127 someharmles Elisp code, from a strong `force' from x_connection_closed.
4128 * frame.h (Qnoelisp): Declare.
4129 * xterm.c (x_connection_closed): Pass `noelisp'.
4130
4131 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
4132 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
4133 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
4134 rather than `int' for the type of `type'.
4135
4136 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
4137
4138 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
4139
4140 * Makefile.in (GNUC): Remove support for gcc-1.x.
4141
4142 2008-02-10 Richard Stallman <rms@gnu.org>
4143
4144 * lisp.h (ASET): Use AREF, not ASLOT.
4145
4146 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4147
4148 * lisp.h (ASET): Check bounds.
4149
4150 2008-02-10 Glenn Morris <rgm@gnu.org>
4151
4152 * buffer.c (mode-name): Doc fix.
4153
4154 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4155
4156 * Makefile.in:
4157 * emacs.c:
4158 * gmalloc.c:
4159 * keyboard.c:
4160 * lisp.h:
4161 * m/ibm370aix.h:
4162 * process.c:
4163 * regex.c:
4164 * s/hpux.h:
4165 * sysdep.c:
4166 * sysselect.h:
4167 * systty.h:
4168 * unexec.c:
4169 * w32term.c:
4170 * xsmfns.c:
4171 * xterm.c: Remove code that deals with obsolete variables.
4172
4173 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
4174
4175 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
4176 nothing else needs it anymore.
4177
4178 2008-02-09 Eli Zaretskii <eliz@gnu.org>
4179
4180 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
4181 instead of unibyte_char_to_multibyte.
4182
4183 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4184
4185 * s/gnu-linux.h: Remove commented out code.
4186
4187 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
4188
4189 * Makefile.in: Update what RMS says about using autoconf.
4190 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
4191 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
4192 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
4193 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
4194
4195 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
4196
4197 * keymap.c (Fkey_description): Move side effect outside of macro call.
4198
4199 * xfaces.c (Finternal_make_lisp_face):
4200 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
4201
4202 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
4203 (syms_of_fontset): Use ASET.
4204
4205 * fns.c (concat): Move side effect outside of macro call.
4206 (hash_clear): Use ASET.
4207
4208 2008-02-08 Richard Stallman <rms@gnu.org>
4209
4210 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
4211 If FORCE, and frame has a surrogate minibuffer for another frame,
4212 delete the other frame first.
4213
4214 2008-02-07 Timo Savola <timo.savola@iki.fi>
4215
4216 * xterm.c (x_detect_focus_change): Handle embed client message.
4217 (handle_one_xevent): Ditto.
4218 (handle_one_xevent): If embedded and we get a button press/release,
4219 request focus.
4220 (xembed_set_info, xembed_send_message): New functions.
4221 (x_make_frame_visible): Call xembed_set_info if embedded.
4222 (x_make_frame_invisible): Call xembed_set_info if embedded.
4223 (x_term_init): Initialize Xatom_XEMBED.
4224 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
4225 (x_iconify_frame): Ditto.
4226
4227 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
4228 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
4229 (enum xembed_modifier, enum xembed_accelerator): New.
4230 (xembed_set_info, xembed_send_message): Declare.
4231 (FRAME_X_EMBEDDED_P): New.
4232
4233 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
4234 gtk_plug_new.
4235
4236 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
4237 window ID of a frame.
4238 (x_window): Reparent frame if embedded.
4239 (Fx_create_frame): Don't set border width if embedded.
4240
4241 * emacs.c (USAGE3): Add --parent-id.
4242 (standard_args): Ditto.
4243
4244 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
4245
4246 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
4247
4248 2008-02-07 Jim Meyering <meyering@redhat.com>
4249
4250 Use "do...while (0)", not "if (1)...else" in macro definitions.
4251 The latter provokes a warning from gcc about the empty else, when
4252 followed by ";". Also, without that trailing semicolon, it would
4253 silently swallow up any following statement.
4254 * syntax.h (SETUP_SYNTAX_TABLE)
4255 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
4256 * buffer.h (DECODE_POSITION): Likewise.
4257 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
4258 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
4259 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
4260 (FETCH_CHAR_ADVANCE): Likewise.
4261 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
4262
4263 2008-02-07 Jim Meyering <meyering@redhat.com>
4264
4265 * lread.c [lint]: Don't include <sys/inode.h>.
4266
4267 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
4268
4269 * xselect.c (x_handle_dnd_message):
4270 * xmenu.c (digest_single_submenu, xmenu_show):
4271 * xdisp.c (with_echo_area_buffer_unwind_data)
4272 (format_mode_line_unwind_data, unwind_format_mode_line)
4273 (display_menu_bar):
4274 * eval.c (Ffetch_bytecode):
4275 * doc.c (store_function_docstring):
4276 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
4277 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
4278 * buffer.c (add_overlay_mod_hooklist): Use ASET.
4279
4280 2008-02-07 Kenichi Handa <handa@m17n.org>
4281
4282 * ftxfont.c (ftxfont_open): Don't set
4283 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
4284
4285 * ftfont.c (ftfont_open): Fix previous change.
4286
4287 2008-02-06 Jason Rumney <jasonr@gnu.org>
4288
4289 * w32font.c (w32font_text_extents): Fill in lbearing metric.
4290 Use cached metrics for ASCII characters.
4291 (w32font_open_internal): Don't set font's owning_frame.
4292 Cache metrics for ASCII characters.
4293
4294 * w32font.h (struct w32font_info): Add ascii_metrics.
4295 Remove owning_frame.
4296
4297 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
4298
4299 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
4300 to negative value.
4301
4302 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
4303
4304 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
4305
4306 * charset.c (syms_of_charset): Set QCtest and Qeq.
4307
4308 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
4309
4310 * process.c (Fstart_process):
4311 * callproc.c (Fcall_process): Handle the case where
4312 Funhandled_file_name_directory returns nil.
4313
4314 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
4315 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
4316 * font.c (check_gstring): Use them and AREF to access the vector before
4317 we know it's really a gstring.
4318 (Ffont_shape_text): Fix typo.
4319 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
4320
4321 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
4322 Declare.
4323
4324 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
4325
4326 2008-02-05 Jason Rumney <jasonr@gnu.org>
4327
4328 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
4329 Set smallest_font_height and smallest_char_width in display info.
4330
4331 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
4332
4333 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
4334
4335 2008-02-05 Miles Bader <miles@gnu.org>
4336
4337 * xfaces.c (get_lface_attributes, merge_named_face)
4338 (lookup_named_face, lookup_derived_face, realize_named_face):
4339 Revert 2008-02-01 change by cyd@stupidchicken.com.
4340
4341 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
4342
4343 * fontset.c (Ffontset_info): Handle the case of inhibitting the
4344 fallback fonts.
4345 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
4346
4347 2008-02-04 Jason Rumney <jasonr@gnu.org>
4348
4349 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
4350 set full_name.
4351 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
4352
4353 2008-02-03 Jason Rumney <jasonr@gnu.org>
4354
4355 * makefile.w32-in (OBJ1): Include font.o here.
4356 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
4357
4358 2008-02-02 Jason Rumney <jasonr@gnu.org>
4359
4360 * makefile.w32-in (temacs): Bump EMHEAP to 21.
4361
4362 2008-02-01 Jason Rumney <jasonr@gnu.org>
4363
4364 * s/cygwin.h: Define VIRT_ADDR_VARIES.
4365
4366 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
4367
4368 2008-02-01 Andreas Schwab <schwab@suse.de>
4369
4370 * Makefile.in (shortlisp, lisp): Update for rename of
4371 ../lisp/language/myanmar.el.
4372
4373 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
4374
4375 * xfaces.c (get_lface_attributes): Delete function.
4376 (merge_named_face, lookup_named_face, lookup_derived_face)
4377 (realize_named_face): Call lface_from_face_name directly, and use
4378 the fact that merge_face_vectors does not alter its FROM argument.
4379
4380 2008-02-01 Jason Rumney <jasonr@gnu.org>
4381
4382 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
4383 input in the default locale. Handle non-Unicode multibyte input.
4384
4385 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4386
4387 * fontset.c (reorder_font_vector): Exclude nil elements from the
4388 font group. Don't try multiple fonts.
4389 (fontset_font): Adjust for the above change.
4390 (Finternal_char_font): Return nil if the found font doesn't
4391 contain the character ch.
4392
4393 * Makefile.in (lisp, shortlisp): Add cham.el.
4394
4395 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4396
4397 * font.h (FONTP): Make it return 1 also for a font-object.
4398
4399 * .gdbinit (xfontset): New function.
4400
4401 * font.c (font_find_for_lface): Check if the character C is
4402 supported or not only for the first font.
4403
4404 * fontset.c (reorder_font_vector): Fix typo.
4405 (fontset_find_font): Don't add a font-spec specifying a script.
4406 Use 0 (not Qt) for the indication of empty font-group. Change the
4407 format of RFONT-DEF. Return Qt if no font in the font-group
4408 support the character.
4409 (fontset_font): Adjust for the above change. If no font was
4410 found the character, remember that.
4411 (face_for_char): Adjust for the change of RFONT-DEF.
4412 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
4413 no font for the target.
4414 (Finternal_char_font): Adjust for the change of RFONT-DEF.
4415
4416 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4417
4418 * font.c (font_load_for_face): Handle the case that the font in
4419 face->lface is a string.
4420
4421 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4422
4423 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
4424
4425 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4426
4427 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
4428 Fix previous change. If the frame is not on a window system,
4429 signal an error.
4430
4431 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4432
4433 * coding.c (decode_coding_object, encode_coding_object): Adjust
4434 marker positions after conversion.
4435
4436 * lisp.h (struct Lisp_Marker): New member need_adjustment.
4437
4438 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4439
4440 * font.c (font_find_for_lface): Fix the handling of the return
4441 value of font_has_char.
4442 (Ffont_shape_text): Fix previous change.
4443
4444 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
4445 (fontset_ref_and_range): Delete it.
4446 (fontset_find_font): Call char_table_ref_and_range instead of
4447 FONTSET_REF_AND_RANGE.
4448 (make_fontset): Don't setup font groups of Latin here.
4449 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
4450 (new_fontset_from_font): Make the specified font the default for
4451 all Latin characters.
4452
4453 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4454
4455 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
4456 is on a window system before accessing the fontset of the frame.
4457
4458 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4459
4460 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
4461
4462 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
4463 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
4464
4465 * font.c (Ffont_shape_text): If the font driver doesn't have a
4466 shaper function, make zero-width glyphs to have at least one-pixel
4467 width. Fix setting of `to' field of glyphs.
4468
4469 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4470
4471 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
4472 glyphs.
4473
4474 * font.h (struct font_driver): Improve docstring of member `shape'.
4475
4476 2008-02-01 Kenichi Handa <handa@m17n.org>
4477
4478 * composite.c (syms_of_composite): Fix docstring of
4479 auto-composition-function.
4480
4481 * font.h (LGLYPH_SIZE): New macro.
4482
4483 * font.c (Ffont_fill_gstring): Stop filling when a character not
4484 supported by the font is found.
4485 (Ffont_shape_text): When a shape callback function returns nil,
4486 try at most two more times with larger gstring.
4487 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
4488
4489 * xdisp.c (handle_auto_composed_prop): Change the argument to
4490 auto-composition-function.
4491
4492 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
4493 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
4494 Lispy glyph and store it in the lgstring.
4495
4496 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
4497
4498 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
4499
4500 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4501
4502 * font.c (Ffont_shape_text): Avoid unnecessary composition.
4503
4504 * fontset.c (Vfont_encoding_charset_alist): New variable.
4505 (syms_of_fontset): DEFVAR it.
4506 (reorder_font_vector, fontset_find_font): Optimize for the case of
4507 no need of reordering.
4508 (face_for_char): Map the charset property by
4509 Vfont_encoding_charset_alist.
4510
4511 2008-02-01 Jason Rumney <jasonr@gnu.org>
4512
4513 * w32font.c (logfonts_match): Don't check adstyle here.
4514 (font_matches_spec): Check here against physical font instead.
4515 (add_font_entity_to_list): Avoid some substitutions.
4516
4517 * font.c (font_parse_fcname): Default weight and slant to normal.
4518 (font_score): Prefer normal fonts if weight or slant unspecified.
4519 (font_score) [WINDOWSNT]: Scale weight difference down to closer
4520 match freetype scores.
4521
4522 2008-02-01 Jason Rumney <jasonr@gnu.org>
4523
4524 * w32font.c (w32font_text_extents): Don't use the frame stored in the
4525 font, as it may have been deleted.
4526 (w32_enumfont_pattern_entity): Map generic family to adstyle using
4527 most common hyphenless variation.
4528 (logfonts_match): Check generic family.
4529 (font_matches_spec): Don't check generic family here.
4530 (fill_in_logfont): Set generic family based on adstyle.
4531
4532 * w32font.h (w32font_get_cache): Update declaration.
4533
4534 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4535
4536 * ftfont.c (ftfont_get_cache): Adjust the argument type.
4537
4538 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
4539 If none of the new drivers are available, call font_update_drivers
4540 with the old drivers.
4541
4542 * w32font.c (w32font_get_cache): Adjust the argument type.
4543
4544 * xfont.c (xfont_get_cache): Adjust the argument type.
4545
4546 * font.h (struct font_driver): Change argument type of get_cache.
4547
4548 * xftfont.c (xftfont_start_for_frame): Delete prototype.
4549
4550 * font.c (Ffont_get): Fix arguments to Fassoc.
4551 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
4552 (font_clear_cache): New function.
4553 (font_list_entities, font_matching_entity): Use font_get_cache.
4554 (font_update_drivers): Call font_clear_cache when finishing a driver.
4555
4556 * fontset.c (fontset_find_font): Fix previous change.
4557
4558 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4559
4560 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
4561 dpyinfo->font_table.
4562 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
4563 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
4564
4565 * font.c (font_at): Handle the case that the arg C is negative.
4566 Handle the unibyte case.
4567 (Ffont_at): Call font_at with the arg C -1.
4568
4569 * xdisp.c (handle_auto_composed_prop): Don't get a character at
4570 the position here, and call font_at with the arg C -1.
4571 Don't check the range of the existing composition at the point.
4572
4573 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4574
4575 * fontset.c (fontset_add): New args charset_id and family.
4576 Change caller.
4577 (load_font_get_repertory, fontset_find_font): Assume that
4578 font_spec is always a font-spec object.
4579 (Fset_fontset_font): Always store a font-spec object in a fontset.
4580
4581 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
4582 instead of get_property_and_range.
4583
4584 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4585
4586 * xftfont.c (struct xftfont_info): Delete the member ft_face.
4587 (xftfont_open): Don't keep locking face.
4588 (xftfont_close): Don't unlock face.
4589 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
4590
4591 * fontset.c (fontset_find_font): Don't prefer a font of
4592 supplementary charset.
4593
4594 2008-02-01 Kenichi Handa <handa@m17n.org>
4595
4596 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
4597 script, langsys_tag to langsys, new member script.
4598 (OTF_TAG_STR): Terminate by '\0'.
4599 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
4600 listing to the script specified in that property. Fix arg to
4601 OTF_check_features.
4602
4603 2008-02-01 Jason Rumney <jasonr@gnu.org>
4604
4605 * w32font.h: New file.
4606
4607 * w32font.c: Include it.
4608 (struct w32font_info): Add owning_frame field. Move to w32font.h.
4609 (w32font_open): Set owning_frame.
4610 (w32font_text_extents): Use owning_frame.
4611 (struct font_callback_data): Add opentype_only field.
4612 (add_font_entity_to_list): Use it to filter fonts.
4613 Don't check against full name.
4614 (w32font_list_internal): New function.
4615 (w32font_list): Use it.
4616 (w32font_match_internal): New function.
4617 (w32font_match): Use it.
4618 (w32font_open_internal): New function.
4619 (w32font_open): Use it.
4620 (w32font_get_cache, w32font_close, w32font_has_char)
4621 (w32font_encode_char, w32font_text_extents, w32font_draw):
4622 Make non-static.
4623
4624 * makefile.w32-in (w32font.o): Depend on w32font.h.
4625
4626 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4627
4628 * charset.c (Fdefine_charset_internal): Record a supplementary
4629 charset at the tail of Vcharset_order_list.
4630
4631 * font.c (Ffont_shape_text): Fix the return value.
4632
4633 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
4634
4635 * xdisp.c (handle_auto_composed_prop): Fix previous change.
4636
4637 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4638
4639 * ftfont.c (struct OpenTypeSpec): New struct.
4640 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
4641 (ftfont_get_open_type_spec): New function.
4642 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
4643
4644 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
4645
4646 2008-02-01 Jason Rumney <jasonr@gnu.org>
4647
4648 * w32font.c (add_font_entity_to_list): Compare only the beginning
4649 of full name.
4650
4651 2008-02-01 Kenichi Handa <handa@m17n.org>
4652
4653 * xdisp.c (handle_auto_composed_prop): Simplify the code.
4654 Never return HANDLED_RECOMPUTE_PROPS.
4655
4656 2008-02-01 Kenichi Handa <handa@m17n.org>
4657
4658 * font.c (font_gstring_produce): Delete it.
4659
4660 * composite.h (COMPOSITION_METHOD):
4661 Handle COMPOSITION_WITH_GLYPH_STRING.
4662
4663 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4664
4665 * xfont.c (Qx): Delete.
4666 (syms_of_xfont): Don't initialize Qx.
4667
4668 * composite.h (enum composition_method):
4669 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
4670
4671 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4672
4673 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
4674 (choose_face_font): Accept new form of font-spec.
4675
4676 * frame.h (font_driver_list): Declare it unconditionally.
4677 (struct frame): Define members font_driver_list and font_data_list
4678 unconditionally.
4679
4680 * fontset.c: Include "font.h" unconditionally.
4681 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
4682 (Fset_fontset_font): Accept a font-spec object.
4683
4684 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
4685 PIXEL_SIZE part a wild card.
4686
4687 * dispextern.h (struct glyph_string): Define members clip and
4688 num_clips unconditionally.
4689 (struct face): Define members font_info and extra unconditionally.
4690
4691 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
4692 ftfont_info only when HAVE_LIBOTF is defined.
4693
4694 2008-02-01 Andreas Schwab <schwab@suse.de>
4695
4696 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
4697 and end.
4698
4699 2008-02-01 Jason Rumney <jasonr@gnu.org>
4700
4701 * w32font.c (w32font_driver): Add new fields.
4702
4703 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4704
4705 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
4706 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
4707 (LIBES): Add @M17N_FLT_CFLAGS@.
4708
4709 * composite.c (compose_text): Don't treat the new style
4710 composition specially.
4711
4712 * emacs.c (main): Call syms_of_font unconditionally.
4713
4714 * font.h (FONT_ENTITY_NOT_LOADABLE)
4715 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
4716 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
4717 (struct font_driver): New member shape.
4718 (font_registry_charsets): Extern it.
4719 (font_find_for_lface, font_prepare_composition): Adjust prototype.
4720 (font_otf_capability, font_drive_otf): Delete their externs.
4721
4722 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4723 (font_charset_alist, font_registry_charsets): Move from xfont.c
4724 and rename.
4725 (font_prop_validate_otf): New function.
4726 (font_property_table): Register it for QCotf.
4727 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
4728 (font_drive_otf): Delete.
4729 (font_prepare_composition): New arg F. Adjust for the change of
4730 lispy gstring.
4731 (font_find_for_lface): New arg C.
4732 (font_load_for_face): Adjust for the change of font_find_for_lface.
4733 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
4734 lispy gstring.
4735 (Ffont_shape_text): New function.
4736 (Fopen_font): If the font size is not given, use 12-pixel.
4737 (Ffont_at): New arg STRING.
4738 (syms_of_font): Initalize font_charset_alist.
4739 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
4740 conditionally.
4741
4742 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
4743 fonts of the same font-spec. Change the format of RFONT-DEF.
4744 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
4745 Adjust for the change of RFONT-DEF.
4746 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
4747
4748 * ftfont.h: New file.
4749
4750 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
4751 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4752 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4753 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
4754 font_otf_capability and font_drive_otf, set ftfont_shape.
4755 (ftfont_list): Adjust for the change of :otf property value.
4756 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
4757 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
4758 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
4759 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
4760 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
4761 (otf_gstring, gstring, m17n_flt_initialized): New variables.
4762
4763 * w32term.c (x_draw_composite_glyph_string_foreground):
4764 Adjust for the change of lispy gstring.
4765
4766 * xdisp.c (handle_composition_prop): Adjust for the change of
4767 lispy gstring. Call a function for auto-composition with the
4768 third arg it->window.
4769 (fill_composite_glyph_string): Adjust for the change of lispy string.
4770 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
4771
4772 * xfaces.c (set_font_frame_param): Adjust for the change of
4773 font_find_for_lface.
4774
4775 * xfont.c (x_font_charset_alist): Move to font.c and rename.
4776 (xfont_registry_charsets): Likewise. Change caller.
4777 (syms_of_xfont): Don't handle x_font_charset_alist.
4778
4779 * xftfont.c: Include "ftfont.h".
4780 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4781 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4782 (xftfont_close) [HAVE_LIBOTF]: Close otf.
4783 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
4784 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
4785 Set xftfont_driver.shape to xftfont_shape.
4786
4787 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
4788 the change of lispy gstring.
4789
4790 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4791
4792 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
4793
4794 2008-02-01 Jason Rumney <jasonr@gnu.org>
4795
4796 * w32font.c (w32font_draw): Fill background manually.
4797
4798 2008-02-01 Jason Rumney <jasonr@gnu.org>
4799
4800 * font.c (Qfontp): Remove unused symbol.
4801 (QCantialias): New symbol.
4802 (syms_of_font): Define it.
4803 (font_property_table): Set a validator for QCantialias.
4804
4805 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
4806 Define if not already.
4807 (QCfamily): Share with xfaces.c.
4808 (Qstandard, Qsubpixel, Qnatural): New symbols.
4809 (syms_of_w32font): Define them. Don't define QCfamily here.
4810 (w32_antialias_type, lispy_antialias_type): New functions.
4811 (w32_enumfont_pattern_entity): New arg requested_font.
4812 Set antialias parameter if non-default was requested.
4813 (fill_in_logfont): Fill in lfQuality if :antialias specified.
4814
4815 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4816
4817 * lread.c (read1): Undo the previous change.
4818
4819 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
4820
4821 * frame.c (Fdelete_frame): Call font_update_drivers only when
4822 USE_FONT_BACKEND is defined.
4823
4824 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4825
4826 * font.h (struct font_bitmap): New member bits_per_pixel.
4827 (struct font_driver): New members start_for_frame and end_for_frame.
4828 (struct font_data_list): New struct.
4829 (font_put_frame_data, font_get_frame_data): Extern them.
4830
4831 * frame.h (struct frame): New member font_data_list.
4832
4833 * font.c (font_update_drivers): Call driver->start_for_frame and
4834 driver->end_for_frame at proper timings.
4835 (font_put_frame_data, font_get_frame_data): New functions.
4836 (Ffont_spec): Add usage in the docstring.
4837
4838 * frame.c (make_frame): Initialize f->font_data_list to NULL.
4839 (Fdelete_frame): Call font_update_drivers.
4840
4841 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4842 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
4843 (xftfont_get_xft_draw): New function.
4844 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
4845 (xftfont_end_for_frame): New function.
4846 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
4847
4848 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
4849 Change argument. Cache GCs in the per-frame data.
4850 (struct ftxfont_frame_data): New struct.
4851 (ftxfont_draw_bitmap): New arg gc_fore and flush.
4852 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
4853 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
4854 (ftxfont_end_for_frame): New function.
4855 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
4856
4857 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
4858
4859 2008-02-01 Kenichi Handa <handa@m17n.org>
4860
4861 * xselect.c (Vselection_coding_system)
4862 (Vnext_selection_coding_system): Delete them.
4863 (syms_of_xselect): Don't declare selection-coding-system and
4864 next-selection-coding-system. They are declared in select.el.
4865
4866 2008-02-01 Jason Rumney <jasonr@gnu.org>
4867
4868 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
4869
4870 * w32fns.c: Include imm.h.
4871 (get_composition_string_fn, get_ime_context_fn): New optional
4872 system functions.
4873 (globals_of_w32fns): Load them from imm32.dll.
4874 (ignore_ime_char): New flag.
4875 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
4876 WM_IME_ENDCOMPOSITION messages.
4877
4878 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
4879 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
4880
4881 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4882
4883 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
4884 (READCHAR_REPORT_MULTIBYTE): New macro.
4885 (readchar): New 2nd arg MULTIBYTE.
4886 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
4887 Make symbol's name multibyte according to the multibyteness of the
4888 source.
4889
4890 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4891
4892 * xfaces.c (face_for_overlay_string): Call lookup_face with
4893 correct arguments (fix of synching with the trunk).
4894
4895 2008-02-01 Kenichi Handa <handa@m17n.org>
4896
4897 * font.c (font_prop_validate_symbol, font_prop_validate_style)
4898 (font_prop_validate_non_neg, font_prop_validate_spacing):
4899 Delete argument prop_index.
4900 (font_property_table): Change arguments to validater. Change Callers.
4901 (font_lispy_object): Delete.
4902 (font_at): Use font_find_object instead fo font_lispy_object.
4903
4904 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4905
4906 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
4907 and file names.
4908
4909 2008-02-01 Jason Rumney <jasonr@gnu.org>
4910
4911 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
4912 (font_matches_spec): Remove debug output.
4913 (add_font_entity_to_list): Avoid using substituted fonts.
4914
4915 2008-02-01 Jason Rumney <jasonr@gnu.org>
4916
4917 * doc.c (Fsnarf_documentation):
4918 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
4919
4920 2008-02-01 Miles Bader <miles@gnu.org>
4921
4922 * dispextern.h (struct glyph_row): Only define "clip" field if
4923 HAVE_WINDOW_SYSTEM is defined.
4924
4925 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
4926
4927 Fix up multi-tty merge.
4928
4929 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
4930 and indentation.
4931
4932 * xfaces.c (free_realized_face, clear_face_gcs):
4933 Include font_done_for_face in the input_blocked section, just in case.
4934
4935 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
4936 (get_char_face_and_encoding): Undo last change and remove the *other*
4937 duplicate definition (i.e. keep the one that's better scoped and that
4938 includes code for the font-backend).
4939
4940 * terminal.c (create_terminal): Default keyboard_coding to
4941 `no-conversion' and terminal_coding to `undecided'.
4942
4943 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
4944
4945 * fontset.c (free_realized_fontsets): Check that the table entry does
4946 contain a fontset before trying to compare it to `base'.
4947
4948 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
4949 syms_of_charset, and syms_of_coding earlier because init_window_once
4950 now needs Vcoding_system_hash_table to be setup.
4951
4952 * coding.h (default_buffer_file_coding): Remove.
4953
4954 * coding.c (default_buffer_file_coding): Remove.
4955 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
4956 than ->symbol, and use the terminal-local coding system.
4957 (syms_of_coding): Don't setup the coding-systems that are not
4958 terminal-local.
4959 (Fdefine_coding_system_internal): Use XCAR/XCDR.
4960
4961 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
4962 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
4963
4964 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
4965 in chartab.c and were re-added here by mistake.
4966 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
4967
4968 * doc.c (Fsnarf_documentation):
4969 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
4970 src to etc.
4971
4972 * ChangeLog.10: Add mistakenly removed entry.
4973
4974 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
4975
4976 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
4977
4978 2008-02-01 Miles Bader <miles@gnu.org>
4979
4980 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
4981 Add extra args to FACE_FOR_CHAR.
4982
4983 2008-02-01 Kenichi Handa <handa@m17n.org>
4984
4985 * keymap.c (where_is_internal_1): If key is a cons, store the copy
4986 in sequence.
4987
4988 * chartab.c (map_sub_char_table, map_char_table): If the range
4989 contains just one character, call the function with that character
4990 even if the depth is not 3.
4991
4992 2008-02-01 Jason Rumney <jasonr@gnu.org>
4993
4994 * w32font.c (w32font_text_extents): Calculate metrics for the
4995 whole string.
4996
4997 2008-02-01 Jason Rumney <jasonr@gnu.org>
4998
4999 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
5000
5001 2008-02-01 Jason Rumney <jasonr@gnu.org>
5002
5003 * w32term.c (x_set_glyph_string_clipping): Use
5004 get_glyph_string_clip_rects.
5005 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5006 Adjust for the change of struct glyph_string.
5007
5008 * w32font.c (w32font_draw): Do clipping here.
5009
5010 2008-02-01 Kenichi Handa <handa@m17n.org>
5011
5012 * xftfont.c (xftfont_draw): Adjust for the change of struct
5013 glyph_string.
5014
5015 * xterm.c (x_set_glyph_string_clipping): Use
5016 get_glyph_string_clip_rects.
5017 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5018 Adjust for the change of struct glyph_string.
5019
5020 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
5021 the resulting clip(s}.
5022 (expose_overlaps): Add arg r. Change callers. Set it to
5023 row->clip temporarily.
5024 (expose_window): Redraw rows overlapping the exposed area.
5025
5026 * dispextern.h (struct glyph_row): New member clip.
5027 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
5028 clip_height, new member clip, and num_clips.
5029
5030 2008-02-01 Kenichi Handa <handa@m17n.org>
5031
5032 * data.c (Fchar_or_string_p): Fix docstring.
5033
5034 2008-02-01 Kenichi Handa <handa@m17n.org>
5035
5036 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
5037 create a temporal XftDraw object.
5038
5039 2008-02-01 Kenichi Handa <handa@m17n.org>
5040
5041 * font.c (Ffontp): Fix docstring.
5042
5043 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
5044 strong evidence of ISO-2022.
5045
5046 2008-02-01 Kenichi Handa <handa@m17n.org>
5047
5048 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
5049 SYNTAX_ENTRY_FOLLOW_PARENT.
5050
5051 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
5052
5053 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
5054 its type.
5055 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
5056 Update to the new type of weak_hash_tables and next_weak.
5057
5058 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
5059 a plain C pointer to Lisp_Hash_Table.
5060
5061 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
5062 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
5063 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
5064 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
5065 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
5066 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
5067 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
5068 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
5069 (GC_EQ): Remove since they've been identical to their non-GC_
5070 alter-egos ever since the markbit was eradicated.
5071
5072 * alloc.c:
5073 * buffer.c:
5074 * buffer.h:
5075 * data.c:
5076 * fileio.c:
5077 * filelock.c:
5078 * fns.c:
5079 * frame.h:
5080 * lisp.h:
5081 * macterm.c:
5082 * print.c:
5083 * process.c:
5084 * w32fns.c:
5085 * w32menu.c:
5086 * w32term.c:
5087 * xfns.c:
5088 * xmenu.c:
5089 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
5090
5091 2008-02-01 Kenichi Handa <handa@m17n.org>
5092
5093 * chartab.c (map_sub_char_table): Make it work for the top-level
5094 char-table. Fix handling of parent char-table.
5095 (map_char_table): Adjust for the above change.
5096
5097 2008-02-01 Jason Rumney <jasonr@gnu.org>
5098
5099 * w32font.c (Qgdi): Rename from Qw32.
5100
5101 2008-02-01 Jason Rumney <jasonr@gnu.org>
5102
5103 * w32bdf.c (get_quoted_string): Make function static.
5104
5105 2008-02-01 Kenichi Handa <handa@m17n.org>
5106
5107 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
5108 bigger ascent and descent than those of the font, use them as
5109 font's ascent and descent.
5110
5111 2008-02-01 Kenichi Handa <handa@m17n.org>
5112
5113 * Makefile.in (${lispsource}international/charprop.el): Move this
5114 target within "#ifdef HAVE_UNIDATA" and "#endif".
5115
5116 2008-02-01 Kenichi Handa <handa@m17n.org>
5117
5118 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
5119 (shortlisp): Add ../lisp/language/tai-viet.el.
5120
5121 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
5122
5123 * Makefile.in (${lispsource}international/charprop.el): Depend on
5124 temacs${EXEEXT}.
5125
5126 2008-02-01 Jason Rumney <jasonr@gnu.org>
5127
5128 * w32font.c (w32font_close): Delete the GDI font object.
5129
5130 * w32menu.c: Include character.h.
5131
5132 * w32proc.c: Likewise.
5133
5134 * w32select.c: Likewise.
5135
5136 * makefile.w32-in (w32proc.o): Depend on character.h.
5137
5138 2008-02-01 Jason Rumney <jasonr@gnu.org>
5139
5140 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
5141
5142 * w32menu.c (syms_of_w32menu): Likewise.
5143
5144 * w32proc.c (syms_of_ntproc): Likewise.
5145
5146 * w32select.c (syms_of_w32select): Likewise.
5147
5148 * w32term.c (syms_of_w32term): Likewise.
5149
5150 2008-02-01 Jason Rumney <jasonr@gnu.org>
5151
5152 * w32font.c (w32font_draw): Delete brush after using it.
5153
5154 2008-02-01 Jason Rumney <jasonr@gnu.org>
5155
5156 * w32font.c (w32font_open): Don't set font_idx.
5157 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
5158 to font settings.
5159 (w32font_draw): Fill background explicitly.
5160
5161 2008-02-01 Jason Rumney <jasonr@gnu.org>
5162
5163 * w32term.c (w32_initialize): Don't call w32font_initialize.
5164
5165 * w32font.c (w32font_info): Remove subranges.
5166 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
5167 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
5168 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
5169 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
5170 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
5171 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
5172 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
5173 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
5174 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
5175 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
5176 New symbols.
5177 (font_callback_data): New struct.
5178 (w32font_list, w32font_match): Use it.
5179 (w32font_open): Don't populate subranges.
5180 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
5181 (w32font_encode_char): Always return unicode code-point as-is.
5182 (w32font_text_extents): Supply a tranformation matrix to
5183 GetGlyphOutline. Never look up by glyph index. Avoid looping
5184 twice. Use unicode version of GetTexExtentPoint32 instead of
5185 glyph index version.
5186 (set_fonts_frame): Remove.
5187 (w32_enumfont_pattern_entity): Add frame parameter, use it to
5188 set frame parameter. Use backward compatible fake foundries.
5189 Save generic family in extra slot under QCfamily. Make width slot
5190 constant. Save QCspacing value. Save list of scripts instead of
5191 binary subranges.
5192 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
5193 (add_font_entity_to_list): Use font_callback_data struct. Filter
5194 unwanted fonts.
5195 (add_one_font_entity_to_list): Use font_callback_data struct.
5196 (w32_registry): Default to iso10646_1.
5197 (fill_in_logfont): Use dpi from extra slot. Don't bother with
5198 string font registries. Don't fill in font name if it is a generic
5199 family name, fill family instead. Use spacing, family and script
5200 extra info to fill pitch, family and charset fields.
5201 (list_all_matching_fonts): Use font_callback_data struct.
5202 (unicode_range_for_char): Remove.
5203 (font_supported_scripts): New function.
5204 (w32font_initialize): Remove.
5205 (syms_of_w32font): Update which symbols are defined.
5206
5207 2008-02-01 Jason Rumney <jasonr@gnu.org>
5208
5209 * font.c (font_pixel_size): Reverse assq_no_quit args.
5210
5211 * w32term.h (FONT_WIDTH): Report max width, not average.
5212 (FONT_MAX_WIDTH): Remove.
5213 (FONT_AVG_WIDTH): New macro.
5214
5215 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
5216 redefinition of FONT_WIDTH.
5217
5218 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
5219 (w32_cache_char_metrics): Use FONT_WIDTH.
5220
5221 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
5222
5223 2008-02-01 Jason Rumney <jasonr@gnu.org>
5224
5225 * w32font.c (w32font_open): Make lfHeight negative.
5226
5227 * w32fns.c (x_default_font_parameter): Use new style font name.
5228 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
5229
5230 2008-02-01 Jason Rumney <jasonr@gnu.org>
5231
5232 * w32font.c (QCsubranges): New symbol.
5233 (w32font_open, w32font_has_char): Get subranges from subproperty
5234 of extra.
5235 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
5236 (syms_of_w32font): Define :subranges symbol.
5237
5238 * font.c (font_put_extra): Expose externally.
5239
5240 * font.h (font_put_extra): Move declaration from font.c.
5241
5242 * font.c (Ffont_get): Use font driver to determine otf capability.
5243 (adjust_anchor): Check if driver defines anchor_point before using.
5244
5245 * w32font.c (w32font_open): Handle size, height and pixel_size better.
5246 (w32font_draw): Use options.
5247 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
5248 Fix detection of truetype fonts.
5249 (registry_to_w32_charset): Handle charsets other than iso8859-1
5250 expressed as lisp symbols.
5251 (w32_registry): Express charset as lisp symbol.
5252 (fill_in_logfont): Reverse pixel and point height logic.
5253 Don't set width here. Set quality to default.
5254
5255 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
5256 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
5257
5258 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
5259 Remove redundant loop and allocation.
5260
5261 * makefile.w32-in (font.o, w32font.o): New objects.
5262 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
5263 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
5264
5265 * xdisp.c (fill_composite_glyph_string): Make the first arg to
5266 STORE_XCHARB a valid l-value.
5267
5268 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
5269 calculations for non-Truetype fonts.
5270 (x_draw_glyph_string): Sync with xterm.c.
5271 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
5272 Remove redundant code.
5273 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
5274
5275 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
5276 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
5277
5278 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
5279 (x_to_w32_charset, w32_to_x_charset): Expose externally.
5280
5281 * w32font.c: New file for w32 font backend.
5282
5283 2008-02-01 Kenichi Handa <handa@m17n.org>
5284
5285 * term.c: Don't include "buffer.h" twice.
5286
5287 2008-02-01 Kenichi Handa <handa@m17n.org>
5288
5289 * character.c (Funibyte_string): New function.
5290 (syms_of_character): Defsubr it.
5291
5292 2008-02-01 Jason Rumney <jasonr@gnu.org>
5293
5294 * w32term.c [USE_FONT_BACKEND]:
5295 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
5296 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
5297 (x_draw_glyph_string, x_draw_glyph_string_foreground)
5298 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
5299 (x_free_frame_resources): Sync with xterm.c.
5300
5301 2008-02-01 Andreas Schwab <schwab@suse.de>
5302
5303 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
5304 char-table size.
5305
5306 2008-02-01 Kenichi Handa <handa@m17n.org>
5307
5308 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
5309
5310 2008-02-01 Kenichi Handa <handa@m17n.org>
5311
5312 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
5313 font_otf_gpos, add font_drive_otf.
5314
5315 * fontset.c (fontset_find_font): Pay attention to font size
5316 specified for a font.
5317 (reorder_font_vector): Check contents of font_def.
5318
5319 * font.c (struct otf_list): Delete it.
5320 (otf_list): Make it a lisp variable.
5321 (otf_open): Use lispy otf_list.
5322 (generate_otf_features): Rename from parse_gsub_gpos_spec.
5323 (check_otf_features): New function.
5324 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5325 New functions.
5326 (font_drive_otf): New function merging font_otf_gsub and
5327 font_otf_gpos.
5328 (font_open_for_lface): New arg spec. Change argument order.
5329 (font_load_for_face): Adjust for the change of font_open_for_lface.
5330 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
5331 Ffont_otf_gpos.
5332 (syms_of_font): Staticpro otf_list. Delete defsubr of
5333 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
5334
5335 * xfaces.c (set_font_frame_param): Adjust for the change of
5336 font_open_for_lface.
5337
5338 * font.h (font_open_for_lface): Adjust prototype.
5339 (struct font_driver): Delete members otf_gsub and otf_gpos, add
5340 member otf_drive.
5341 (font_otf_gsub, font_otf_gpos): Delete externs.
5342 (font_drive_otf): Extern it.
5343
5344 2008-02-01 Kenichi Handa <handa@m17n.org>
5345
5346 * font.c (font_at): If the window W is not on a window system,
5347 return Qnil.
5348
5349 * coding.c (produce_chars, encode_coding): Don't call
5350 insert_from_gap if no characters to produce.
5351
5352 2008-02-01 Kenichi Handa <handa@m17n.org>
5353
5354 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
5355 Fclear_face_cache.
5356
5357 * xfaces.c (face_for_font): Check also face->font==font->font.font.
5358
5359 2008-02-01 Miles Bader <miles@gnu.org>
5360
5361 * emacs.c (main): Change default value of `enable_font_backend' to 1.
5362 Parse "--disable-font-backend" option.
5363 (standard_args): Add "--disable-font-backend" option.
5364
5365 2008-02-01 Kenichi Handa <handa@m17n.org>
5366
5367 * fontset.c (fontset_find_font): New function.
5368 (fontset_font): Use fontset_find_font.
5369 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
5370 Register the specified font for all Latin characters.
5371 (new_fontset_from_font): Register the specified font for all Latin
5372 characters.
5373 (dump_fontset): For a realized fontset, include the base fontset
5374 name in the returned vector.
5375
5376 2008-02-01 Kenichi Handa <handa@m17n.org>
5377
5378 * character.h (CHAR_STRING): Cast C to unsigned on calling
5379 char_string.
5380
5381 * character.c (char_string): Type of arg C changed to unsigned.
5382 Signal an error if C is an invalid character code.
5383
5384 * editfns.c (general_insert_function, Fchar_to_string):
5385 Use CHARACTERP, not INTEGERP.
5386
5387 2008-02-01 Kenichi Handa <handa@m17n.org>
5388
5389 * character.h (MIN_MULTIBYTE_LEADING_CODE)
5390 (MAX_MULTIBYTE_LEADING_CODE): New macros.
5391
5392 * regex.c (analyse_first): Fix for multibyte characters in "case
5393 charset:" and "case categoryspec:".
5394
5395 2008-02-01 Andreas Schwab <schwab@suse.de>
5396
5397 * Makefile.in (LIBES): Move standard libraries to the end.
5398
5399 2008-02-01 Kenichi Handa <handa@m17n.org>
5400
5401 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
5402 nonzero, don't shrink the buffer nextb.
5403
5404 * buffer.h (struct buffer_text): New member inhibit_shrinking.
5405
5406 * coding.c (coding_alloc_by_making_gap): New arg offset.
5407 (alloc_destination): Call coding_alloc_by_making_gap with the arg
5408 offset.
5409 (decode_coding_iso_2022): Update coding->safe_charsets.
5410 (decode_coding_gap): Temporarily set
5411 current_buffer->text->inhibit_shrinking to 1.
5412
5413 2008-02-01 Kenichi Handa <handa@m17n.org>
5414
5415 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
5416 indexing into elements of s->cmp and s->char2b.
5417
5418 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
5419
5420 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
5421
5422 2008-02-01 Kenichi Handa <handa@m17n.org>
5423
5424 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
5425 target_multibyte instead of multibyte.
5426 (re_match_2_internal): Call bcmp_translate with target_multibyte.
5427 (bcmp_translate): Change the argument name from multibyte to
5428 target_multibyte.
5429
5430 2008-02-01 Kenichi Handa <handa@m17n.org>
5431
5432 These changes are to compile a regexp into a pattern that can be
5433 used both for multibyte and unibyte targets.
5434
5435 * Makefile.in (search.o): Depend on charset.h.
5436
5437 * character.c (multibyte_char_to_unibyte_safe): New function.
5438
5439 * search.c: Include "charset.h".
5440 (compile_pattern_1): Delete argument multibyte. Don't set
5441 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
5442 (compile_pattern): Don't compare cp->buf.target_multibyte.
5443 Compare cp->buf.charset_unibyte.
5444 (compile_pattern): Set cp->buf.target_multibyte.
5445
5446 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
5447
5448 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
5449
5450 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
5451 multibyte. Change callers.
5452 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
5453 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
5454 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
5455 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
5456 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
5457 (regex_compile): Make the compiled pattern usable both for
5458 multibyte and unibyte targets.
5459 (analyse_first): Make the fastmap usable both for multibyte and
5460 unibyte targets.
5461 (TRANSLATE_VIA_MULTIBYTE): Delete.
5462 (re_match_2_internal): Pay attention to the case that the
5463 multibyteness of bufp and target may be different.
5464
5465 2008-02-01 Kenichi Handa <handa@m17n.org>
5466
5467 * xdisp.c (x_produce_glyphs): When a font is not found, make the
5468 empty box occupy at least one column width.
5469
5470 2008-02-01 Miles Bader <miles@gnu.org>
5471
5472 * Makefile.in: Remove redundant HAVE_XFT clause.
5473
5474 2008-02-01 Kenichi Handa <handa@m17n.org>
5475
5476 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
5477
5478 2008-02-01 Kenichi Handa <handa@m17n.org>
5479
5480 * fontset.c (Finternal_char_font): Fix for the case of POSITION
5481 being nil.
5482
5483 2008-02-01 Kenichi Handa <handa@m17n.org>
5484
5485 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
5486
5487 2008-02-01 Kenichi Handa <handa@m17n.org>
5488
5489 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
5490
5491 2008-02-01 Kenichi Handa <handa@m17n.org>
5492
5493 * search.c (simple_search): Fix previous change.
5494
5495 2008-02-01 Kenichi Handa <handa@m17n.org>
5496
5497 * xftfont.c (ftfont_font_format): Extern declaration.
5498
5499 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
5500
5501 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
5502 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
5503
5504 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
5505 (ftfont_font_format): Fix previous change.
5506
5507 * font.h (Ffont_xlfd_name): EXFUN it.
5508
5509 * font.c (font_parse_xlfd): Fix the array size of `f'.
5510 (register_font_driver): Use EQ to compare driver->type.
5511
5512 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
5513 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
5514 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
5515
5516 2008-02-01 Kenichi Handa <handa@m17n.org>
5517
5518 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
5519 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
5520
5521 2008-02-01 Kenichi Handa <handa@m17n.org>
5522
5523 * xfont.c (xfont_open): Set font->format.
5524
5525 * xftfont.c (xftfont_open): Set font->format.
5526
5527 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
5528 (ftfont_list): Include FC_FONTFORMAT in FcObject.
5529 (ftfont_open): Set font->format.
5530 (ftfont_font_format): New function.
5531
5532 * font.h (struct font): New memeber format.
5533
5534 * font.c (Qopentype): New variable.
5535 (syms_of_font): Defsym it.
5536 (Fquery_font): Change the format of the last element of the return
5537 value.
5538
5539 2008-02-01 Kenichi Handa <handa@m17n.org>
5540
5541 * xfns.c (xic_create_xfontset): Try the default fontset name as a
5542 last resort.
5543
5544 2008-02-01 Kenichi Handa <handa@m17n.org>
5545
5546 * coding.c (detect_coding_charset): Fix detection of multi-byte
5547 charset.
5548
5549 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
5550
5551 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
5552
5553 2008-02-01 Kenichi Handa <handa@m17n.org>
5554
5555 * xdisp.c (get_next_display_element): Set it->face_id for the
5556 first component of a composition.
5557 (x_produce_glyphs): Check if the font is changed or not for composition.
5558
5559 2008-02-01 Kenichi Handa <handa@m17n.org>
5560
5561 * fontset.c (Qlatin): New variable.
5562 (syms_of_fontset): Define it as a lisp symbol.
5563 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
5564
5565 2008-02-01 Kenichi Handa <handa@m17n.org>
5566
5567 * font.c (font_unparse_fcname): Pay attention to the case that
5568 some of font property is a null string.
5569
5570 2008-02-01 Kenichi Handa <handa@m17n.org>
5571
5572 * term.c: Include "composite.h".
5573 (encode_terminal_code): Output all components of composition.
5574 Check the size of encode_terminal_src.
5575 (produce_glyphs): For composition, call produce_composite_glyph.
5576 (append_composite_glyph, produce_composite_glyph): New functions.
5577
5578 * xdisp.c (x_produce_glyphs): In handling composition, if a font
5579 is not found, get font_info from the current ascii face.
5580
5581 2008-02-01 Kenichi Handa <handa@m17n.org>
5582
5583 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
5584 buffer-file-name to Qnil before calling insert_from_buffer.
5585
5586 * font.c (font_unparse_fcname): Pay attention to the case that
5587 foundry is a null string.
5588
5589 2008-02-01 Kenichi Handa <handa@m17n.org>
5590
5591 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
5592
5593 * font.c (Qunicode_sip): New variable.
5594 (syms_of_font): Declare it as a Lisp symbol.
5595
5596 * font.h (Qunicode_sip): Extern it.
5597
5598 2008-02-01 Kenichi Handa <handa@m17n.org>
5599
5600 * composite.c (get_composition_id): Pay attention to TAB component.
5601
5602 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
5603 TAB. Adjust for the change of s->char2b which always points to
5604 the first elememnt of allocated memory.
5605
5606 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
5607
5608 * xdisp.c (handle_composition_prop): Set it->c to the first
5609 non-TAB component.
5610 (fill_composite_glyph_string): Change argument.
5611 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
5612 (x_produce_glyphs): Fix handling of left/right padding.
5613
5614 2008-02-01 Kenichi Handa <handa@m17n.org>
5615
5616 * coding.c (detect_coding_system): Fix for handling off
5617 inhibit_iso_escape_detection. Fix for the case that no coding
5618 system is defined for a specific coding category.
5619
5620 2008-02-01 Kenichi Handa <handa@m17n.org>
5621
5622 * font.c (font_matching_entity): Delete unused local var.
5623
5624 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
5625 opening a font.
5626
5627 * fileio.c (Finsert_file_contents): On recovering a file, assume
5628 Unix-like eol.
5629 (choose_write_coding_system): On auto-saving a file, force
5630 Unix-like eol.
5631
5632 * coding.c (setup_coding_system): Fix setting of
5633 coding->common_flags based on eol_type.
5634 (coding_inherit_eol_type): If PARENT is not nil, be sure to
5635 inherit from it.
5636
5637 2008-02-01 Kenichi Handa <handa@m17n.org>
5638
5639 * alloc.c (NSTATICS): Increas to 0x600.
5640
5641 2008-02-01 Kenichi Handa <handa@m17n.org>
5642
5643 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
5644 (ftfont_list): Don't check :name property.
5645 (ftfont_match): New function.
5646 (ftfont_pattern_entity): If the pattern doesn't contain
5647 FC_SPACING, don't assuce FC_MONO.
5648
5649 * font.h (struct font_driver): New member `match'.
5650 (font_update_drivers): Adjust prototype.
5651
5652 * font.c (font_parse_fcname, font_parse_name): Don't change :name
5653 property of FONT.
5654 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
5655 them unconditionally.
5656 (font_matching_entity): New function.
5657 (font_open_by_name): Try font_matching_entity if exact match is
5658 not found.
5659 (font_update_drivers): Delete the arg FONT. Return a list of
5660 actually used backends. Don't free faces, font caches here.
5661 Don't store data in frame parameters. Don't call x_set_font.
5662 (Ffont_spec): Store :name property as is.
5663 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
5664 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
5665 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
5666 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
5667 Call font->driver->otf_gsub instead of font_otf_gsub.
5668
5669 * frame.c (x_set_font_backend): Do more works that were done in
5670 font_update_drivers before.
5671
5672 * xfont.c (xfont_match): New function.
5673 (xfont_driver): Set xfont_driver.match to xfont_match.
5674 (xfont_draw): Set font in GC if necessary.
5675
5676 * ftxfont.c (ftxfont_match): New function.
5677 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
5678
5679 * xftfont.c (xftfont_match): New function.
5680 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
5681
5682 2008-02-01 Kenichi Handa <handa@m17n.org>
5683
5684 * font.h (struct font): New member scalable.
5685 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
5686 (font_otf_gsub): Adjust prototype.
5687
5688 * font.c (font_otf_capability): Fix handling of the default langsys.
5689 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
5690 Check the contents of SPEC.
5691 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
5692 (check_gstring): New function.
5693 (REPLACEMENT_CHARACTER): New macro.
5694 (font_otf_gsub): New arg alternate_subst. Be sure to set all
5695 glyph codes of GSTRING.
5696 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
5697 (font_prepare_composition): Set cmp->glyph_len.
5698 (font_open_entity): Set font->scalable.
5699 (Ffont_get): Handle :otf property.
5700 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
5701 functions.
5702 (Fquery_font): Use font->font.full_name.
5703 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
5704 Sfont_otf_alternates.
5705
5706 * ftfont.c (ftfont_open): Set font->font.full_name and
5707 font->font.name properly. Fix calculation of font->font.height
5708 and font->min_width.
5709
5710 * ftxfont.c (ftxfont_create_gcs): New function.
5711 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
5712 (ftxfont_draw_backgrond): Fix filling region.
5713 (ftxfont_default_fid): New function.
5714 (ftxfont_open): Set xfotn->fid to the return value of
5715 ftxfont_default_fid.
5716 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
5717 (ftxfont_done_face): Free only GCs that are created by
5718 ftxfont_create_gcs.
5719 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
5720
5721 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
5722 Clip to src->width, etc (not src->clip_XXX).
5723
5724 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
5725 FontBackend frame parameter.
5726
5727 2008-02-01 Kenichi Handa <handa@m17n.org>
5728
5729 * font.h (struct font_driver_list): New member `on'.
5730 (Fclear_font_cache): EXFUN it.
5731 (font_update_drivers): Extern it.
5732
5733 * font.c (font_unparse_fcname): Fix typo (swidth->width).
5734 (font_list_entities): Check driver_list->on.
5735 (register_font_driver): Initalize `on' member to 0.
5736 (font_update_drivers): New function.
5737 (Fclear_font_cache): Check driver_list->on.
5738
5739 * frame.h (Qfont_backend): Extern it.
5740 (x_set_font_backend): Extern it.
5741
5742 * frame.c (Qfont_backend): New variable.
5743 (frame_parms): New element for font-backend.
5744 (x_set_font_backend): New function.
5745
5746 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
5747 FontBackend frame parameter.
5748 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
5749 x_set_font_backend.
5750
5751 * xfont.c (xfont_list): Don't try listing by :name property if the
5752 name is not for XLFD.
5753
5754 2008-02-01 Kenichi Handa <handa@m17n.org>
5755
5756 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
5757 (LGLYPH_SET_TO): New macros.
5758 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
5759 element of G is vector or not.
5760 (font_at): Extern it.
5761
5762 * font.c: Include window.h.
5763 (font_lispy_object): New function.
5764 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
5765 end of valid glyph.
5766 (font_close_object): Fix getting (struct font *).
5767 (font_at): New function.
5768 (Ffont_get): If FONT is a font-object, get entity from it.
5769 (Ffont_make_gstring): Initialize elements of glyphs with nil.
5770 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
5771 range check.
5772 (Ffont_at): New function.
5773 (syms_of_font): Defsubr Sfont_at.
5774
5775 * xdisp.c (it_props): Move the entry for Qauto_composed to just
5776 before the entry for Qcomposition.
5777 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
5778 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
5779 the font in gstring.
5780 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
5781 LGLYPH_FORM (g) to detect the end of valid glyph.
5782 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
5783 we are composing with gstring.
5784
5785 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
5786 Check if adjustment is vector or not.
5787
5788 * Makefile.in (font.o): Make it depends on window.h.
5789
5790 2008-02-01 Kenichi Handa <handa@m17n.org>
5791
5792 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
5793 adjustment is vector or not.
5794
5795 2008-02-01 Miles Bader <miles@gnu.org>
5796
5797 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
5798
5799 2008-02-01 Kenichi Handa <handa@m17n.org>
5800
5801 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
5802 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
5803 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
5804
5805 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
5806 (DEVICE_DELTA): Fix typo.
5807 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
5808 LGLYPH format.
5809
5810 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
5811 the change of LGLYPH format.
5812
5813 2008-02-01 Kenichi Handa <handa@m17n.org>
5814
5815 * ftfont.c (ftfont_list): Fix typo.
5816 (ftfont_build_basic_charsets): Don't include letters with diacritics.
5817
5818 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5819
5820 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
5821
5822 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
5823 xftface_info is non-NULL.
5824
5825 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5826
5827 * ftfont.c (ftfont_list): Move misplaced #endif.
5828
5829 2008-02-01 Kenichi Handa <handa@m17n.org>
5830
5831 * ftfont.c (ftfont_list): Pay attention to the case that
5832 FC_CAPABILITY is not defined.
5833
5834 2008-02-01 Kenichi Handa <handa@m17n.org>
5835
5836 * xftfont.c (xftfont_open): Set charset related members to -1.
5837
5838 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
5839 QCname.
5840 (ftfont_open): Set charset related members to -1.
5841
5842 * fontset.c (Votf_script_alist): New variable.
5843 (syms_of_fontset): Initialize it.
5844 (fontset_font): Delete unused variable.
5845
5846 * fontset.h (Votf_script_alist): Extern it.
5847
5848 * font.c (font_find_for_lface): Optimize code.
5849
5850 * font.h (font_close_object, font_merge_old_spec): Extern them.
5851
5852 2008-02-01 Kenichi Handa <handa@m17n.org>
5853
5854 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
5855 (syms_of_font): Initialize them.
5856 (font_pixel_size): Allow float value in dpi.
5857 (font_prop_validate_type): Delete.
5858 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
5859 Change caller.
5860 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
5861 (font_prop_validate_extra): Delete.
5862 (font_prop_validate_spacing): New function.
5863 (font_property_table): Add elements for all known properties.
5864 (get_font_prop_index): Rename from check_font_prop_name. New
5865 argument FROM. Change caller.
5866 (font_prop_validate): Validate all known properties.
5867 (font_put_extra): Delete argument force. Change caller.
5868 (font_expand_wildcards): Make it static. Fix the way of shrinking
5869 the possible range.
5870 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
5871 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
5872 Change caller.
5873 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
5874 (font_parse_fcname): Delete argument merge. Fix parsing of point
5875 size. Don't validate properties values here. Change caller.
5876 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
5877 (font_open_by_name): Delete unused variable.
5878 (Ffont_spec): Likewise. Validate property values.
5879 (Ffont_match_p): New function.
5880
5881 * font.h (QCscalable): Extern it.
5882 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
5883
5884 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
5885
5886 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
5887 (xfont_list_pattern): New function.
5888 (xfont_list): Use xfont_list_pattern.
5889
5890 2008-02-01 Kenichi Handa <handa@m17n.org>
5891
5892 * font.h (Flist_fonts): EXFUN it.
5893
5894 2008-02-01 Jason Rumney <jasonr@gnu.org>
5895
5896 * w32term.c (w32_initialize): Add back smoothing_type and
5897 smoothing_enabled definitions.
5898
5899 2008-02-01 Kenichi Handa <handa@m17n.org>
5900
5901 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
5902 s->face->font on determining underline position.
5903
5904 2008-02-01 Kenichi Handa <handa@m17n.org>
5905
5906 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
5907 (font_has_char): Accept font-object too.
5908 (font_find_for_lface): Try at first with a size specified in face.
5909
5910 2008-02-01 Kenichi Handa <handa@m17n.org>
5911
5912 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
5913 font_open_by_name.
5914
5915 2008-02-01 Kenichi Handa <handa@m17n.org>
5916
5917 * font.h (QCspacing, QCdpi): Extern them.
5918 (enum font_spacing): New enum.
5919 (FONT_PIXEL_SIZE_QUANTUM): New macro.
5920
5921 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
5922 (QCspacing, QCdpi): New variables.
5923 (syms_of_font): Initialize them.
5924 (font_pixel_size): New function.
5925 (font_put_extra): New function.
5926 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
5927 in FONT_EXTRA.
5928 (font_parse_fcname): Handle enumenrated values (e.g. bold).
5929 Fix handling font size. Add QCname property that contains only
5930 unknown properties.
5931 (font_score): Change argument. Change caller. Pay attention to
5932 FONT_PIXEL_SIZE_QUANTUM.
5933 (font_sort_entites, font_list_entities, font_find_for_lface)
5934 (font_open_for_lface, font_open_by_name): Fix handling of font size.
5935 (Ffont_spec): Add QCname property that contains only unknown properties.
5936
5937 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
5938 include weight in listing pattern, instead check weight of each
5939 listed font. Don't include scalable in pattern. Pay attention to
5940 FONT_PIXEL_SIZE_QUANTUM.
5941
5942 2008-02-01 Kenichi Handa <handa@m17n.org>
5943
5944 * font.c (font_parse_fcname): Fix parsing of point-size.
5945 (font_unparse_fcname): Produce symbolic names for style properties.
5946 (font_list_entities): Handle float size correctly.
5947 (font_open_by_name): Prefer `normal' property values if the name
5948 doesn't specify them.
5949
5950 * fontset.c (Finternal_char_font): Use font_get_name, not
5951 Ffont_xlfd_name.
5952
5953 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
5954 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
5955 pattern. Don't force scalable.
5956
5957 * xftfont.c (xftfont_open): For generating a name, start from
5958 96-byte buffer.
5959
5960 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5961
5962 * frame.h (x_new_fontset2): Fix prototype.
5963
5964 2008-02-01 Kenichi Handa <handa@m17n.org>
5965
5966 * font.h (struct font_driver): Delete member parse_name.
5967 (font_match_p, font_get_spec, font_parse_fcname)
5968 (font_unparse_fcname): Extern them.
5969 (font_get_name): Adjust prototype.
5970
5971 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
5972 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
5973 (font_expand_wildcards): Fix handling ENCODING field. Avoid
5974 unnecessary checks for weight, slant, and swidth.
5975 (font_parse_fcname): New function.
5976 (font_unparse_fcname): New function.
5977 (font_parse_name): New function.
5978 (font_match_p): New function.
5979 (font_get_name): Change return value to Lisp string.
5980 (font_get_spec): New function.
5981 (Qunspecified, Qignore_defface): Don't extern them.
5982 (font_find_for_lface): Assume that LFACE is fully specified.
5983 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
5984 object, use it for FACE.
5985 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
5986 driver->parse_name.
5987 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
5988
5989 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
5990 prototype.
5991
5992 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
5993 argument F. Don't call Fnew_fontset. Instead, directly call
5994 make_fontset.
5995
5996 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
5997
5998 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
5999 of x_new_fontset2.
6000
6001 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
6002 (Qsans__serif): New variables.
6003 (ftfont_generic_family_list): New variable.
6004 (syms_of_ftfont): Initialize the above variables.
6005 (ftfont_pattern_entity): Delete argument NAME.
6006 (ftfont_list_generic_family): New function.
6007 (ftfont_parse_name): Delete this function.
6008 (ftfont_list): Try generic family only when FcFontList found no font.
6009 (ftfont_list_family): Fix args to FcObjectSetBuild.
6010
6011 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
6012 object in attrs[LFACE_FONT_INDEX].
6013 (set_lface_from_font_name): Cancel all changes for font-backend.
6014 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
6015 function.
6016 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
6017 font object in QCfont attribute.
6018 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
6019 (realize_default_face) [USE_FONT_BACKEND]: Call
6020 set_lface_from_font_and_fontset.
6021
6022 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
6023 "fixed", and signal error here if no suitable font was found.
6024
6025 * xfont.c (xfont_parse_name): Delete this function.
6026
6027 * xftfont.c (xftfont_open): Change coding style of error
6028 handling. Generate fontconfig's fontname pattern.
6029
6030 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
6031 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
6032
6033 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
6034 Both args FONTSET and FONT_OBJECT must be existing ones.
6035
6036 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6037
6038 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
6039
6040 2008-02-01 Kenichi Handa <handa@m17n.org>
6041
6042 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
6043
6044 * font.h (struct font): Fix typo.
6045
6046 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
6047 XLFD_XXX_INDEX.
6048 (enum xlfd_field_mask): New enum.
6049 (intern_font_field): Changed argument. Change caller. If digits
6050 are followed by non-digits, return a symbol.
6051 (font_expand_wildcards): New function.
6052 (font_parse_xlfd): Fix wildcard handling.
6053 (Ffont_spec): If :name is specified, reflect the info in the other
6054 properties.
6055
6056 * ftfont.c (ftfont_pattern_entity): Fix typo.
6057 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
6058 locale.
6059
6060 2008-02-01 Kenichi Handa <handa@m17n.org>
6061
6062 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
6063
6064 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
6065 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
6066 registry doesn't specify encoding part.
6067 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
6068 (font_open_by_name): At first try parsing the name.
6069 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
6070 as Lisp symbols.
6071
6072 * fontset.c (reorder_font_vector): Pay attention to the case that
6073 the 3rd element of font_def is nil.
6074 (fontset_font): For the default fontset, append one more fontset
6075 elements for a script-based font specification. Don't add script
6076 attribute on finding a font.
6077 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
6078 font name.
6079 (fontset_ascii_font): If a font can't be opened, return nil.
6080
6081 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
6082 (ftfont_pattern_entity): New function.
6083 (ftfont_get_cache): Assume that freetype_font_cache is already
6084 initialized.
6085 (ftfont_list): Handle the case that a file is specified in font
6086 name. Use ftfont_pattern_entity to generate entities.
6087 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
6088 (syms_of_ftfont): Initialize freetype_font_cache.
6089
6090 * xftfont.c (xftfont_open): Make the font name fontconfig's
6091 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
6092 (xftfont_close): Free font->font.name if not NULL.
6093
6094 * xfont.c (xfont_list): If script is specified for a font, return
6095 null_vector.
6096 (xfont_list_family): Declare argument type.
6097
6098 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
6099 name, set LFACE_FONT (lface) to nil.
6100
6101 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
6102 return Qnil.
6103
6104 2008-02-01 Kenichi Handa <handa@m17n.org>
6105
6106 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
6107 (standard_args): Add "-enable-font-backend".
6108
6109 2008-02-01 Kenichi Handa <handa@m17n.org>
6110
6111 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
6112 (struct xftdraw_list, xftdraw_list): Delete them.
6113 (register_xftdraw, check_xftdraw): Delete them.
6114 (xftfont_prepare_face): Don't call register_xftdraw.
6115 (xftfont_done_face): Don't call check_xftdraw.
6116 (xftfont_draw): Get backroudn color only when with_background is
6117 nonzero.
6118
6119 * xfont.c (xfont_encode_char): Fix calculation of char2b.
6120
6121 2008-02-01 Kenichi Handa <handa@m17n.org>
6122
6123 These changes are for the new font handling codes.
6124
6125 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
6126 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
6127 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
6128 (FONTSRC, FONTOBJ): New variables.
6129 (obj): Add $(FONTOBJ).
6130 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
6131 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
6132 @LIBOTF_LIBS@.
6133 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
6134 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
6135
6136 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
6137
6138 * character.h (Vscript_representative_chars): Extern it.
6139
6140 * character.c (Vscript_representative_chars): New variable.
6141 (syms_of_character): Declare it as a Lisp variable.
6142
6143 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
6144 enable_font_backend is nonzero, accept the composition method
6145 COMPOSITION_WITH_GLYPH_STRING.
6146
6147 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
6148 enumeration COMPOSITION_WITH_GLYPH_STRING.
6149
6150 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
6151 members clip_x, clip_y, clip_width, and clip_height.
6152 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
6153
6154 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
6155 --enable-font-backend. Call syms_of_font.
6156
6157 * fns.c (assoc_no_quit): New function.
6158
6159 * fontset.h (FONT_INFO_FROM_FACE): New macro.
6160 (face_for_font, new_fontset_from_font)
6161 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
6162
6163 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
6164 (fontset_font, fontset_ascii, face_for_char)
6165 (make_fontset_for_ascii_face, Ffont_info)
6166 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
6167 is nonzero, use font-backend mechanism.
6168 (find_font_encoding): Make it non-static.
6169 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
6170 New functions.
6171
6172 * frame.h (struct frame): New members resx and resy.
6173 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
6174 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
6175
6176 * frame.c [USE_FONT_BACKEND]: Include "font.h".
6177 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
6178
6179 * lisp.h (assoc_no_quit): Extern it.
6180
6181 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
6182 Through out the file, use FONT_INFO_FROM_FACE instead of
6183 FONT_INFO_FROM_ID, use get_per_char_metric instead of
6184 rif->per_char_metric.
6185 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
6186 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
6187 (get_glyph_face_and_encoding, fill_composite_glyph_string)
6188 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6189 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
6190 nonzero, use font-backend mechanism.
6191 (get_per_char_metric): New function.
6192
6193 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
6194 (set_lface_from_font_name)
6195 (set_font_frame_param, free_realized_face)
6196 (prepare_face_for_display, clear_face_gcs)
6197 (Finternal_set_font_selection_order, realize_x_face)
6198 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
6199 font-backend mechanism.
6200 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
6201 (load_face_font) [USE_FONT_BACKEND]: Abort.
6202 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
6203 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
6204
6205 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
6206 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
6207 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
6208 nonzero, register all available font drivers. Call
6209 x_default_font_parameter for deciding a font.
6210 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
6211
6212 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
6213 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
6214 (x_set_glyph_string_clipping_exactly)
6215 (x_compute_glyph_string_overhangs)
6216 (x_draw_glyph_string_foreground)
6217 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
6218 (x_free_frame_resources) [USE_FONT_BACKEND]: If
6219 enable_font_backend is nonzero, use font-backend mechanism.
6220 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
6221
6222 2008-02-01 Kenichi Handa <handa@m17n.org>
6223
6224 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
6225 system_eol_type.
6226 (syms_of_coding): Initialize system_eol_type.
6227
6228 * process.c (Fset_process_coding_system): Inherit system's eol
6229 format if necessary.
6230
6231 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6232
6233 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
6234
6235 2008-02-01 Kenichi Handa <handa@m17n.org>
6236
6237 * coding.c (decode_eol): Pay attention to buffer relocation in
6238 del_range_2.
6239 (decode_coding): Call decode_eol before restoring undo_list.
6240
6241 2008-02-01 Kenichi Handa <handa@m17n.org>
6242
6243 * charset.c (Fdefine_charset_internal): Fix setting of
6244 emacs_mule_bytes.
6245
6246 2008-02-01 Kenichi Handa <handa@m17n.org>
6247
6248 * keyboard.c (read_char): Check if C is a character or not before
6249 looking up Vkeyboard_translate_table.
6250
6251 2008-02-01 Kenichi Handa <handa@m17n.org>
6252
6253 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
6254 condition to terminate the loop.
6255
6256 2008-02-01 Kenichi Handa <handa@m17n.org>
6257
6258 * coding.c (produce_composition): Compare charbuf[i] instead of
6259 args[i] against 0.
6260 (Fterminal_coding_system): Use EQ to compare Lisp objects.
6261
6262 2008-02-01 Kenichi Handa <handa@m17n.org>
6263
6264 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
6265 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
6266 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
6267 detect_coding.
6268 (emacs_mule_char): Handle old style (Emacs 20) component character
6269 of a composition.
6270 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
6271 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
6272 composition rule.
6273 (decode_coding_emacs_mule): Handle invalid bytes correctly.
6274
6275 2008-02-01 Kenichi Handa <handa@m17n.org>
6276
6277 * coding.c (encode_coding_ccl): Allocate destination dynamically
6278 when necessary.
6279
6280 2008-02-01 Kenichi Handa <handa@m17n.org>
6281
6282 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
6283 the loop. When quitted, show a proper error message.
6284
6285 2008-02-01 Kenichi Handa <handa@m17n.org>
6286
6287 * xterm.c (x_set_glyph_string_clipping_exactly): Set
6288 src->clip_head and src->clip_tail temporarily instead of src->hl.
6289
6290 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
6291 character sequence.
6292 (Fccl_execute_on_string): Use ASET, not XSET.
6293
6294 2008-02-01 Kenichi Handa <handa@m17n.org>
6295
6296 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
6297
6298 2008-02-01 Kenichi Handa <handa@m17n.org>
6299
6300 * coding.c (decode_coding): Fix the condition of terminating the
6301 decoding loop.
6302
6303 2008-02-01 Kenichi Handa <handa@m17n.org>
6304
6305 * data.c (Faset): On setting a character bigger than 255 in a
6306 unibyte string, signal an error instead of make the string multibyte.
6307
6308 2008-02-01 Kenichi Handa <handa@m17n.org>
6309
6310 * charset.c (map_charset_chars): Fix for ascii-compatible charset
6311 made by a mapping table.
6312
6313 2008-02-01 Kenichi Handa <handa@m17n.org>
6314
6315 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
6316 not.
6317 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
6318 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
6319
6320 * xterm.c (x_draw_composite_glyph_string_foreground): Check
6321 s->face is NULL or not.
6322
6323 2008-02-01 Kenichi Handa <handa@m17n.org>
6324
6325 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
6326 (x_draw_glyph_string): Fix drawing of right_overhang and
6327 left_overhang around/on cursor.
6328
6329 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
6330
6331 2008-02-01 Kenichi Handa <handa@m17n.org>
6332
6333 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
6334
6335 2008-02-01 Kenichi Handa <handa@m17n.org>
6336
6337 * coding.c (Fdefine_coding_system_internal)
6338 (Fdefine_coding_system_alias): Avoid a duplicated element in
6339 Vcoding_system_alist.
6340
6341 2008-02-01 Kenichi Handa <handa@m17n.org>
6342
6343 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
6344
6345 * coding.c (Qcoding_system_define_form): New variable.
6346 (syms_of_coding): Intern and staticpro it.
6347 (Fcoding_system_p): Check Qcoding_system_define_form.
6348 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
6349
6350 * coding.h (CODING_SYSTEM_P): If ID is not available, call
6351 Fcoding_system_p.
6352 (CHECK_CODING_SYSTEM): If ID is not available, call
6353 Fcheck_coding_system.
6354 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
6355 Try also Fcheck_coding_system.
6356
6357 2008-02-01 Kenichi Handa <handa@m17n.org>
6358
6359 * coding.c (code_conversion_restore): GCPRO arg.
6360
6361 2008-02-01 Kenichi Handa <handa@m17n.org>
6362
6363 * character.c (lisp_string_width): Check multibyteness of STRING.
6364
6365 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6366
6367 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
6368 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
6369 (decode_mac_font_name): Use decode_coding_c_string instead of
6370 decode_coding.
6371 (x_load_font): Initialize fontp->fontset to -1. Set
6372 fontp->encoding_type.
6373
6374 2008-02-01 Kenichi Handa <handa@m17n.org>
6375
6376 * search.c (search_buffer): Give up BM search on case-fold-search
6377 if one of a target character has a case-equivalence of different
6378 byte length even if that target charcter is an ASCII.
6379 (simple_search): Fix calculation of byte length of matched text.
6380 (boyer_moore): Fix handling of case-equivalent multibyte characters.
6381
6382 2008-02-01 Kenichi Handa <handa@m17n.org>
6383
6384 * coding.c (decode_coding): Fix handling of invalid bytes.
6385
6386 2008-02-01 Kenichi Handa <handa@m17n.org>
6387
6388 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
6389 Unicode characters.
6390
6391 2008-02-01 Kenichi Handa <handa@m17n.org>
6392
6393 * coding.c (encode_coding_object): If a pre-write-conversion
6394 function makes a new buffer, kill it.
6395
6396 2008-02-01 Kenichi Handa <handa@m17n.org>
6397
6398 * coding.c (QCascii_compatible_p): New variable.
6399 (syms_of_coding): Initialize it.
6400 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
6401 calling string_char.
6402 (record_conversion_result): Add `default:' case.
6403 (coding_charset_list): Delete unused variable `coding_type'.
6404 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
6405 property in the plist of the coding system.
6406 (Fcoding_system_put): Check QCascii_compatible_p.
6407
6408 2008-02-01 Miles Bader <miles@gnu.org>
6409
6410 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
6411 removed calculation of frame `f', as it's now used.
6412
6413 2008-02-01 Kenichi Handa <handa@m17n.org>
6414
6415 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
6416 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
6417 (UNIDATA): New variable.
6418 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
6419 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
6420 $(RUN_TEMACS) unconditionally.
6421
6422 2008-02-01 Kenichi Handa <handa@m17n.org>
6423
6424 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
6425 (admindir): New variable.
6426 ($(lispsource)international/charprop.el): New target.
6427
6428 2008-02-01 Miles Bader <miles@gnu.org>
6429
6430 * character.c (chars-in-region): Remove obsolete function.
6431 (syms_of_character): Remove its initialization.
6432
6433 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
6434
6435 * w32select.c (validate_coding_system)
6436 (setup_windows_coding_system): New functions.
6437 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
6438 setup_windows_coding_system.
6439 (setup_config, Fw32_get_clipboard_data): Use
6440 validate_coding_system.
6441 (Fx_selection_exists): Move call to setup_config to a place
6442 where signals are allowed.
6443
6444 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
6445 (Fcheck_coding_system): Add declarations.
6446
6447 2008-02-01 Kenichi Handa <handa@m17n.org>
6448
6449 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
6450
6451 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6452
6453 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
6454 string as the second argument for x_new_fontset.
6455
6456 2008-02-01 Kenichi Handa <handa@m17n.org>
6457
6458 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
6459 (encode_coding_object): Use safe_call instead of call2.
6460
6461 2008-02-01 Kenichi Handa <handa@m17n.org>
6462
6463 * fontset.c (Fset_fontset_font): Check family element of a given vector.
6464
6465 * Makefile.in (lisp): Include charprop.el.
6466
6467 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6468
6469 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
6470 Not sure if it's unnecessary.
6471
6472 2008-02-01 Steven Tamm <steventamm@mac.com>
6473
6474 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
6475 some possibly unnecessary fontset checking code that crashed
6476 when creating a new frame.
6477
6478 2008-02-01 Kenichi Handa <handa@m17n.org>
6479
6480 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
6481 lookup_face.
6482
6483 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
6484
6485 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
6486
6487 2008-02-01 Kenichi Handa <handa@m17n.org>
6488
6489 * coding.c: Cancel the change done in HEAD on 2008-02-01.
6490 (coding_charset_list): New function.
6491
6492 * coding.h (coding_charset_list): Extern it.
6493
6494 2008-02-01 Kenichi Handa <handa@m17n.org>
6495
6496 * fontset.c (Fset_fontset_font): Call find_font_encoding with
6497 concatenation of family and registry.
6498
6499 2008-02-01 Kenichi Handa <handa@m17n.org>
6500
6501 * character.h (BYTE8_STRING): Fix typo.
6502
6503 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
6504 string to multibyte (sync to HEAD).
6505
6506 * casefiddle.c (casify_region): Handle changes in byte-length
6507 using replace_range_2 (sync to HEAD).
6508
6509 2008-02-01 Andreas Schwab <schwab@suse.de>
6510
6511 * chartab.c (map_char_table): GCPRO table and arg.
6512
6513 2008-02-01 Kenichi Handa <handa@m17n.org>
6514
6515 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
6516 already at limit.
6517
6518 2008-02-01 Kenichi Handa <handa@m17n.org>
6519
6520 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
6521 instead of fast_c_string_match_ignore_case.
6522 (find_font_encoding): Change argument to Lisp_Object. Use
6523 fast_string_match_ignore_case instead of
6524 fast_c_string_match_ignore_case. Change caller.
6525
6526 2008-02-01 Kenichi Handa <handa@m17n.org>
6527
6528 * xdisp.c (get_next_display_element): In unibyte case, decide to
6529 display in octal form by checking a chacter by
6530 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
6531
6532 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
6533
6534 * character.c (unibyte_has_multibyte_table): New variable.
6535
6536 * character.h (unibyte_has_multibyte_table): Extern it.
6537 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
6538
6539 2008-02-01 Kenichi Handa <handa@m17n.org>
6540
6541 * coding.c (encode_coding_iso_2022): Fix handling of charset
6542 annotation.
6543
6544 2008-02-01 Kenichi Handa <handa@m17n.org>
6545
6546 * coding.c (setup_coding_system): If coding_system is nil, use
6547 Qundecided.
6548 (Fterminal_coding_system): Return nil if terminal coding system is
6549 `undecided'.
6550 (syms_of_coding): Define coding-system `undecided' here. Setup
6551 terminal_coding as `undecided'.
6552
6553 2008-02-01 Kenichi Handa <handa@m17n.org>
6554
6555 * xdisp.c (message_dolog, set_message_1): Call
6556 unibyte_char_to_multibyte with arg type int.
6557
6558 * lread.c (read1): Fix reading of a char-table.
6559
6560 * print.c (print_object): Include sub char-table in cicularities
6561 detection.
6562
6563 2008-02-01 Kenichi Handa <handa@m17n.org>
6564
6565 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
6566 cons. Append the found sequences in car of ARGS instead of prepending.
6567
6568 2008-02-01 Kenichi Handa <handa@m17n.org>
6569
6570 * fileio.c (report_file_error): Make a unibyte string from
6571 strerror (errorno).
6572 (Fsubstitute_in_file_name): Fix the arg to
6573 unibyte_char_to_multibyte. It is evaluated twice.
6574
6575 2008-02-01 Kenichi Handa <handa@m17n.org>
6576
6577 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
6578
6579 2008-02-01 Kenichi Handa <handa@m17n.org>
6580
6581 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
6582 BOM is not found.
6583 (detect_coding, detect_coding_system): Optimization for ISO-2022
6584 when no 8-bit data is found.
6585
6586 2008-02-01 Jason Rumney <jasonr@gnu.org>
6587
6588 * w32fns.c (x_to_w32_font): Update to use new coding struct.
6589
6590 2008-02-01 Kenichi Handa <handa@m17n.org>
6591
6592 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
6593 CHARS.
6594
6595 2008-02-01 Steven Tamm <steventamm@mac.com>
6596
6597 * macterm.c (mac_encode_char): Add charset argument and update
6598 to use encoding_type.
6599 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
6600 switch to pure fontset.
6601 (decode_mac_font_name): Temporarily remove decoding.
6602 (x_font_name_to_mac_font_name): Temporarily remove encoding.
6603 (x_load_font): Temporarily remove encoding.
6604
6605 2008-02-01 Kenichi Handa <handa@m17n.org>
6606
6607 * xfaces.c (Fface_font): If frame is not on a window system,
6608 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
6609 refer to face->font.
6610 (split_font_name_into_vector, build_font_name_from_vector)
6611 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
6612 whne HAVE_WINDOW_SYSTEM is defined.
6613
6614 2008-02-01 Kenichi Handa <handa@m17n.org>
6615
6616 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
6617 (x_produce_glyphs): Fix setting of members of cmp in case
6618 cmp->glyph_len is zero.
6619
6620 * fontset.c (Fset_fontset_font): Fix docstring.
6621 (Ffontset_info): Make it backward compatible. New arg ALL.
6622
6623 2008-02-01 Kim F. Storm <storm@cua.dk>
6624
6625 * process.c (read_process_output): Grow decoding_buf when needed;
6626 this could cause a crash in allocate_string and compact_small_strings.
6627
6628 2008-02-01 Kenichi Handa <handa@m17n.org>
6629
6630 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
6631
6632 2008-02-01 Kenichi Handa <handa@m17n.org>
6633
6634 * coding.c (setup_coding_system): Set coding->common_flags
6635 correctly for raw-text.
6636 (consume_chars): On encoding unibyte text by raw-text, don't check
6637 multibyte form.
6638 (encode_coding): On encoding by raw-text, never use translation tables.
6639
6640 * fileio.c (e_write): Short cut for the case of no encoding.
6641
6642 2008-02-01 Kenichi Handa <handa@m17n.org>
6643
6644 * coding.c (detect_coding, detect_coding_system): Delete unused
6645 variables.
6646
6647 2008-02-01 Kenichi Handa <handa@m17n.org>
6648
6649 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
6650 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
6651
6652 2008-02-01 Kenichi Handa <handa@m17n.org>
6653
6654 * coding.c (Ffind_coding_systems_region_internal): Include
6655 raw-text and no-conversion in the result.
6656
6657 2008-02-01 Kenichi Handa <handa@m17n.org>
6658
6659 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
6660 (load_font_get_repertory): Delete unnecessary check of ENCODING of
6661 FONT_DEF.
6662 (font_def_arg, add_arg, from_arg, to_arg): New args.
6663 (set_fontset_font): Change argument.
6664 (Fset_fontset_font): Fix for the case that TARGET is a script
6665 name and charset name.
6666 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
6667
6668 2008-02-01 Kenichi Handa <handa@m17n.org>
6669
6670 * fontset.c (fontset_font): Rename from fontset_face. Change return
6671 value.
6672 (face_suitable_for_char_p, face_for_char): Adjust for the change
6673 of fontset_font.
6674 (make_fontset_for_ascii_face): Fix setting of the fontset element
6675 for ASCII.
6676 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
6677 to get a font name.
6678 (Ffontset_info): Adjust for the change of fontset_font.
6679
6680 * coding.c (emacs_mule_char): Check invalid code more regidly.
6681
6682 * character.h (LEADING_CODE_LATIN_1_MIN)
6683 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
6684
6685 2008-02-01 Kenichi Handa <handa@m17n.org>
6686
6687 * editfns.c (check_translation): New function.
6688 (Ftranslate_region_internal): Handle M:N mapping.
6689
6690 2008-02-01 Kenichi Handa <handa@m17n.org>
6691
6692 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
6693
6694 2008-02-01 Kenichi Handa <handa@m17n.org>
6695
6696 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
6697 goto invalid_code.
6698 (decode_coding_iso_2022): Fix handling of invalid designation.
6699
6700 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
6701 after calling code_conversion_save.
6702
6703 2008-02-01 Kenichi Handa <handa@m17n.org>
6704
6705 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
6706
6707 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
6708
6709 * fontset.c: Include "intervals.h".
6710 (fontset_face): Fix comparing of Lisp_Objects.
6711 (free_face_fontset, new_fontset_from_font_name): Fix
6712 Lisp_Object/int mixup.
6713
6714 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
6715
6716 * coding.c: Add many prototypes for static functions.
6717 (get_translation_table): Allow max_lookup to be NULL.
6718 (decode_coding, Ffind_coding_systems_region_internal)
6719 (Funencodable_char_position, Fcheck_coding_systems_region): Call
6720 get_translation_table with max_lookup NULL.
6721
6722 2008-02-01 Kenichi Handa <handa@m17n.org>
6723
6724 * coding.c (get_translation_table): Declare it as Lisp_Object.
6725 (LOOKUP_TRANSLATION_TABLE): New macro.
6726 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
6727 instead of CHAR_TABLE_REF.
6728
6729 2008-02-01 Kenichi Handa <handa@m17n.org>
6730
6731 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
6732 annotation data format.
6733 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
6734 Change arguments FROM and TO to single argument NCHARS. Change caller.
6735 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
6736 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6737 (decode_coding_ccl, decode_coding_charset): Pay attention to
6738 coding->charbuf_used.
6739 (get_translation): New function.
6740 (produce_chars): New arguments translation_table and last_block.
6741 Translate characters here. Return number of carryover chars.
6742 Change caller.
6743 (produce_composition): New argument pos. Change caller.
6744 Adjust for the change of annotation data format.
6745 (produce_charset, produce_annotation): Likewise.
6746 (decode_coding, encode_coding): Don't call translate_chars.
6747 (consume_chars): New arg translation_table. Change caller.
6748 (translate_chars): Delete.
6749 (syms_of_coding): Make translation-table's number of extra slots 2.
6750
6751 2008-02-01 Kenichi Handa <handa@m17n.org>
6752
6753 * search.c (simple_search): Fix setting this_pos_byte in backward
6754 search.
6755
6756 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
6757 byte sequence.
6758 (detect_coding_ccl): Fix setting of the variable valids.
6759
6760 2008-02-01 Kenichi Handa <handa@m17n.org>
6761
6762 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
6763
6764 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
6765
6766 * editfns.c (Ftranslate_region_internal): Rename from
6767 Ftranslate_region. Accept a char-table in TABLE.
6768 (syms_of_editfns): Defsubr Stranslate_region_internal.
6769
6770 * xfaces.c (set_lface_from_font_name): If a font is specified for
6771 a frame, generate a fontset from the font.
6772 (build_scalable_font_name): If the scalable font is requested for
6773 a specific size, don't change that size.
6774 (try_font_list): Try a scalable font also in the case that a
6775 pattern string is specified.
6776
6777 2008-02-01 Kenichi Handa <handa@m17n.org>
6778
6779 * xfaces.c (Fface_font): New optional arg CHARACTER.
6780
6781 2008-02-01 Kenichi Handa <handa@m17n.org>
6782
6783 * charset.h (CHARSET_OFFSET): New macro.
6784
6785 2008-02-01 Kenichi Handa <handa@m17n.org>
6786
6787 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
6788
6789 * fontset.c (fontset_face): Handle the case that repertory is a
6790 char-table.
6791 (find_font_encoding): Return nil for unknown encoding.
6792 (Fset_fontset_font): Ignore a font of unknown encoding.
6793
6794 2008-02-01 Kenichi Handa <handa@m17n.org>
6795
6796 * keymap.c (describe_vector): Handle default value of a char table.
6797
6798 * fontset.c (fontset_face): Handle fallback fonts correctly.
6799 (Ffontset_info): Return infomation about fallback fonts.
6800
6801 2008-02-01 Kenichi Handa <handa@m17n.org>
6802
6803 * fontset.c (FONTSET_DEFAULT): New macro.
6804 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
6805 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
6806 the case that it is nil.
6807 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
6808 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
6809
6810 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
6811 subset or superset.
6812
6813 2008-02-01 Kenichi Handa <handa@m17n.org>
6814
6815 * emacs.c (main): Call init_charset after syms_of_XXX.
6816
6817 * charset.c (Vcharset_map_directory): Delete.
6818 (Vcharset_map_path): New variable.
6819 (load_charset_map_from_file): Use Vcharset_map_path instead.
6820 (init_charset): Initialize Vcharset_map_path.
6821 (syms_of_charset): Delete declaration of "charset-map-directory",
6822 add declaration of "charset-map-path".
6823
6824 2008-02-01 Kenichi Handa <handa@m17n.org>
6825
6826 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
6827 ASCII only string.
6828
6829 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
6830
6831 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6832 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
6833
6834 2008-02-01 Kenichi Handa <handa@m17n.org>
6835
6836 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
6837
6838 * coding.c (QCmnemonic, QCdefalut_char)
6839 (QCdecode_translation_table, QCencode_translation_table)
6840 (QCpost_read_conversion, QCpre_write_conversion): New variables.
6841 (get_translation_table): Return a list of translation tables if
6842 necessary.
6843 (decode_coding): Call get_translation_table with ENCODEP 0.
6844 (char_encodable_p): If translation_table is non-nil, always call
6845 translate_char.
6846 (Fdefine_coding_system_internal): Accept list of translation
6847 tables as :encode-translation-table and :decode-translation-table.
6848 (Fcoding_system_put): New function.
6849 (syms_of_coding): Declare new symbols. Defsubr
6850 Scoding_system_put.
6851 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
6852 typically JISX0212.
6853
6854 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
6855 when the charset is superset type.
6856
6857 * character.c (translate_char): Accept list of translation tables.
6858
6859 2008-02-01 Kenichi Handa <handa@m17n.org>
6860
6861 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
6862 (CODING_ATTR_TRANS_TBL): New macro.
6863
6864 * coding.c (get_translation_table): New function.
6865 (translate_chars): Fix the bug of skipping annotation data.
6866 (decode_coding, encode_coding): Utilize get_translation_table.
6867 (char_encodable_p, Funencodable_char_position): Translate char if
6868 necessary.
6869 (Ffind_coding_systems_region_internal)
6870 (Fcheck_coding_systems_region): Setup translation table for encode
6871 in a coding system attribute vector in advance.
6872 (Fdefine_coding_system_internal): Allow a symbol as translation
6873 table. For shift-jis type coding system, allow 4th charset.
6874
6875 2008-02-01 Kenichi Handa <handa@m17n.org>
6876
6877 * coding.c (decode_coding_sjis): Check the first byte rigidly.
6878
6879 * xdisp.c (get_next_display_element): Pass -1 as POS to
6880 FACE_FOR_CHAR if displaying a C-string.
6881
6882 2008-02-01 Kenichi Handa <handa@m17n.org>
6883
6884 * composite.c (get_composition_id): Handle xoff and yoff in a
6885 composition rule.
6886
6887 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
6888 (struct composition): New member lbearing and rbearing.
6889
6890 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
6891 (x_get_glyph_overhangs): Handle a composition glyph.
6892 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
6893
6894 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
6895 composition glyph.
6896
6897 2008-02-01 Kenichi Handa <handa@m17n.org>
6898
6899 * print.c: Include charset.h.
6900 (Vprint_charset_text_property): New variable.
6901 (Qdefault): Extern it.
6902 (PRINT_STRING_NON_CHARSET_FOUND)
6903 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
6904 (print_check_string_result): New variable.
6905 (print_check_string_charset_prop): New function.
6906 (print_prune_charset_plist): New variable.
6907 (print_prune_string_charset): New function.
6908 (print_object): Call print_prune_string_charset if
6909 Vprint_charset_text_property is not t.
6910 (print_interval): Print nothing if itnerval->plist is nil.
6911 (syms_of_print): Declare Vprint_charset_text_property as a lisp
6912 variable. Init and staticpro print_prune_charset_plist.
6913
6914 2008-02-01 Kenichi Handa <handa@m17n.org>
6915
6916 * fontset.c (new_fontset_from_font_name): Use the specified font
6917 for all characters in the new fontset.
6918
6919 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6920 OBJECT args.
6921
6922 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
6923 OBJECT args for composition too.
6924
6925 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
6926 OBJECT args.
6927
6928 2008-02-01 Kenichi Handa <handa@m17n.org>
6929
6930 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
6931
6932 * fontset.c (reorder_font_vector): Adjust for the change of
6933 FONT_DEF format.
6934 (fontset_face): New arg id. Change caller.
6935 (face_for_char): New args pos and object.
6936 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
6937 (fs_query_fontset): Check NAME by Fassoc too.
6938 (Fset_fontset_font): Allow non-XLFD font name.
6939 (Ffontset_info): Adjust for the change of FONT_DEF format.
6940
6941 * fontset.h (face_for_char): Adjust prototype.
6942
6943 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
6944 (append_space, extend_face_to_end_of_line)
6945 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6946 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
6947
6948 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
6949 POS and OBJECT args.
6950
6951 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
6952 POS and OBJECT args.
6953
6954 2008-02-01 Jason Rumney <jasonr@gnu.org>
6955
6956 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
6957 of GlobalAlloc'ed memory.
6958
6959 2008-02-01 Kenichi Handa <handa@m17n.org>
6960
6961 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
6962
6963 * charset.h (charset_table_used): Delete extern.
6964
6965 * charset.c (charset_table_used): Make it static.
6966 (map_charset_chars): Fix args to c_function with.
6967
6968 * chartab.c (map_sub_char_table_for_charset): Fix args to
6969 c_function with.
6970
6971 * coding.h (enum coding_result_code): Delete
6972 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
6973
6974 * coding.c (Qinsufficient_source, Qinconsistent_eol)
6975 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
6976 (Vlast_code_conversion_error): New variables.
6977 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
6978 (ONE_MORE_BYTE): Record error if any instead of signaling an
6979 error. If non-ASCII multibyte char is found, return the negative
6980 value of the code. All callers changed to check it.
6981 (ONE_MORE_BYTE_NO_CHECK): Likewise.
6982 (record_conversion_result): New function. Change all codes setting
6983 coding->result to call this function.
6984 (detect_coding_utf_8, decode_coding_utf_8)
6985 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
6986 Don't use the local variable incomplete.
6987 (emacs_mule_char): Change the second arg to `const'.
6988 (decode_coding): Fix of flushing out unprocessed data.
6989 (make_conversion_work_buffer): Fix making of a work buffer.
6990 (decode_coding_object): Return coding->dst_object.
6991
6992 * fontset.c (set_fontset_font): Fix args.
6993
6994 * lisp.h (CHARACTERBITS): Define as 22.
6995
6996 * process.c (send_process): Be sure to set coding->src_multibyte.
6997
6998 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
6999
7000 2008-02-01 Kenichi Handa <handa@m17n.org>
7001
7002 * xdisp.c (handle_auto_composed_prop): Give limit to
7003 Fnext_single_char_property_change.
7004
7005 2008-02-01 Kenichi Handa <handa@m17n.org>
7006
7007 * composite.c (syms_of_composite): Don't make the composition hash
7008 table weak.
7009
7010 * fontset.c (Fset_fontset_font): Fix docstring.
7011
7012 * lisp.h (detect_coding_system): Adjust prototype.
7013
7014 * fileio.c (kill_workbuf_unwind): Delete this function.
7015 (Finsert_file_contents): Adjust the call of detect_coding_system.
7016 Get conversion_buffer by code_conversion_save. Use the macor
7017 CODING_MAY_REQUIRE_DECODING. After decoding, update
7018 coding_system.
7019
7020 * coding.h (make_conversion_work_buffer): Delete extern.
7021 (code_conversion_save): Extern it.
7022
7023 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
7024 (CODING_GET_INFO): Delete argument eol_type. Change callers.
7025 (decode_coding_utf_8): Don't do eol converion.
7026 (detect_coding_utf_16): Check coding->src_chars, not
7027 coding->src_bytes. Add heuristics for those that have no signature.
7028 (decode_coding_emacs_mule, decode_coding_iso_2022)
7029 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7030 Don't do eol converion.
7031 (adjust_coding_eol_type): Return a new coding system.
7032 (detect_coding): Don't detect eol. Fix for utf-16 detection.
7033 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
7034 each change.
7035 (decode_coding): Pay attention to undo_list. Do eol convesion for
7036 all types of coding-systems (if necessary).
7037 (Vcode_conversion_work_buf_list): Delete it.
7038 (Vcode_conversion_reused_workbuf): Rename from
7039 Vcode_conversion_reused_work_buf.
7040 (Vcode_conversion_workbuf_name): New variable.
7041 (reused_workbuf_in_use): New variable.
7042 (make_conversion_work_buffer): Delete the arg DEPTH.
7043 (code_conversion_restore): Change argument to cons.
7044 (code_conversion_save): Delete the argument BUFFER. Change callers.
7045 (detect_coding_system): New argument src_chars. Change callers.
7046 Fix for utf-16 detection.
7047 (init_coding_once): Don't use ISO_carriage_return.
7048 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
7049 reused_workbuf_in_use.
7050
7051 2008-02-01 Kenichi Handa <handa@m17n.org>
7052
7053 * keymap.c (store_in_keymap): Pay attention to the case that idx
7054 is a cons specifying a character range.
7055
7056 2008-02-01 Kenichi Handa <handa@m17n.org>
7057
7058 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
7059 HANDLED_RECOMPUTE_PROPS.
7060
7061 * coding.c (Fdefine_coding_system_internal): Fix checking of
7062 ascii compatibility.
7063
7064 2008-02-01 Kenichi Handa <handa@m17n.org>
7065
7066 * charset.c (find_charsets_in_text): Delete unused locale variable.
7067 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
7068
7069 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
7070 Resync charset_list to Vemacs_mule_charset_list.
7071
7072 * keymap.c (store_in_keymap): Pay attention to the case that idx
7073 is a cons specifying a character range.
7074
7075 2008-02-01 Kenichi Handa <handa@m17n.org>
7076
7077 * composite.c (update_compositions): Bind inhibit-read-only, etc
7078 to t before calling remove-list-of-text-properties.
7079
7080 * print.c (print_object): Always print ASCII chars as is.
7081
7082 2008-02-01 Kenichi Handa <handa@m17n.org>
7083
7084 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
7085
7086 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
7087 is a char table.
7088
7089 2008-02-01 Kenichi Handa <handa@m17n.org>
7090
7091 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
7092
7093 2008-02-01 Kenichi Handa <handa@m17n.org>
7094
7095 * xfaces.c (set_lface_from_font_name): Fix for the case that
7096 FONTNAME is not fontset name.
7097
7098 2008-02-01 Kenichi Handa <handa@m17n.org>
7099
7100 * fns.c (base64_encode_1): Fix previous change.
7101
7102 2008-02-01 Kenichi Handa <handa@m17n.org>
7103
7104 * fontset.c (set_fontset_font): New function.
7105 (Fset_fontset_font): If a font is specified for a charset, use
7106 map_charset_chars to store the font spec in a fontset.
7107
7108 2008-02-01 Kenichi Handa <handa@m17n.org>
7109
7110 * fontset.c (fontset_face): Create a fallback fontset on demand.
7111 (make_fontset): Don't create a fallback fontset here.
7112 (free_face_fontset): Free a fallback fontset (if any) too.
7113 (n_auto_fontsets): Delete this variable.
7114 (auto_fontset_alist): New variable.
7115 (new_fontset_from_font_name): Check auto_fontset_alist.
7116 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
7117 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
7118 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
7119 Defsubr Sfontset_list_all.
7120
7121 2008-02-01 Kenichi Handa <handa@m17n.org>
7122
7123 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7124
7125 2008-02-01 Kenichi Handa <handa@m17n.org>
7126
7127 * fontset.c (Fnew_fontset): Check NAME more rigidly.
7128
7129 2008-02-01 Kenichi Handa <handa@m17n.org>
7130
7131 * editfns.c (Fgoto_char): Fix docstring.
7132
7133 2008-02-01 Kenichi Handa <handa@m17n.org>
7134
7135 * insdel.c (insert_from_gap): Adjust intervals correctly.
7136
7137 2008-02-01 Jason Rumney <jasonr@gnu.org>
7138
7139 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
7140 (pfnGetFontUnicodeRanges): New dynamically loaded function.
7141 (w32_initialize): Try to load it.
7142 (x_get_font_repertory): Use it if available.
7143 (w32_encode_char): Add shortcut for unicode output.
7144
7145 * w32fns.c (w32_load_system_font): Default charset to -1.
7146 (x_to_w32_charset): Match all fonts for unicode.
7147 (w32_to_x_charset): New parameter matching. Don't return partial
7148 or wildcard charsets.
7149 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
7150 (w32_codepage_for_font): Return CP_UNICODE for unicode.
7151 (w32_to_x_font): Match charset to real charset.
7152 (enum_font_cb2): Always list unicode versions.
7153
7154 * makefile.w32-in (temacs): Increase EMHEAP.
7155
7156 2008-02-01 Jason Rumney <jasonr@gnu.org>
7157
7158 * w32term.c (w32_encode_char): New charset parameter.
7159 font_info.encoding becomes encoding_type.
7160 (x_get_font_repertory): New function. Warning: stub only!
7161 (x_new_font): Return quickly if font already set.
7162 (x_new_fontset): fontsetname parameter is Lisp_Object.
7163 Use new fs_query_fontset. Try new_fontset_from_font_name.
7164 Use fontset_name for return value.
7165
7166 * w32term.h: Declare x_get_font_repertory.
7167
7168 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
7169 place of find_charset_in_text. Use encode_coding_object in place
7170 of encode_coding.
7171 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
7172 decode_coding.
7173
7174 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
7175 of x_new_fontset.
7176 (w32_load_system_font): Initialize charset as unicode.
7177 font_info.encoding becomes encoding_type.
7178 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
7179 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
7180 (syms_of_w32fns): Set get_font_repertory_func.
7181
7182 * w32console.c: Include character.h. Use terminal_encode_buffer
7183 from term.c.
7184 (write_glyphs): Use new version of encode_terminal_code. Use
7185 encode_coding_object in place of encode_coding.
7186
7187 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
7188 encoding becomes encoding_type.
7189
7190 * term.c (terminal_encode_buffer): Make externally visible.
7191
7192 * makefile.w32-in: Add character.h dependancies.
7193 (character.o, chartab.o): New targets.
7194
7195 2008-02-01 Kenichi Handa <handa@m17n.org>
7196
7197 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
7198 CODING_ID_EOL_TYPE.
7199
7200 2008-02-01 Andreas Schwab <schwab@suse.de>
7201
7202 * coding.c (produce_chars): Revert last change.
7203
7204 2008-02-01 Kenichi Handa <handa@m17n.org>
7205
7206 * charset.h (charset_unicode): Extern it.
7207
7208 * charset.c (string_xstring_p): Check by (C >= 0x100).
7209 (find_charsets_in_text): Change format of the arc CHARSETS. New
7210 arg MULTIBYTE.
7211 (Ffind_charset_region, Ffind_charset_string): Adjust for the
7212 change of find_charsets_in_text.
7213 (Fsplit_char): Fix doc. Never return unknown.
7214
7215 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
7216
7217 * coding.c (Fdefine_coding_system_alias): Update
7218 Vcoding_system_list.
7219
7220 * fontset.c (load_font_get_repertory): Pay attention to the case
7221 that ENCODING of a font is specified by a char-table.
7222
7223 * xterm.c (x_get_font_repertory): Handle the case that the
7224 encoding of font is other than Unicode.
7225
7226 2008-02-01 Kenichi Handa <handa@m17n.org>
7227
7228 * term.c (encode_terminal_code): Don't handle glyph-table. Check
7229 if a character is encodable by the terminal coding system. If
7230 not, produces proper number of `?'s. Update
7231 terminal_encode_buffer and terminal_encode_buf_size if necessary.
7232 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
7233
7234 2008-02-01 Kenichi Handa <handa@m17n.org>
7235
7236 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
7237 variables.
7238 (encode_terminal_code): Change argument. Encode multiple
7239 characters at once. Store the result of encoding in
7240 terminal_encode_buffer.
7241 (write_glyphs, insert_glyphs): Adjust for the change of
7242 encode_terminal_code.
7243 (term_init): Initialize terminal_encode_buffer and
7244 terminal_encode_buf_size.
7245
7246 * coding.c (consume_chars): If coding->src_object is nil, don't
7247 check annotation.
7248
7249 2008-02-01 Kenichi Handa <handa@m17n.org>
7250
7251 * character.c (char_string): Use ASCII_CHAR_P instead of
7252 SINGLE_BYTE_CHAR_P.
7253
7254 2008-02-01 Kenichi Handa <handa@m17n.org>
7255
7256 * xdisp.c (handle_auto_composed_prop): Check if the last
7257 characters of auto-composed region is newly composed with the
7258 following characters.
7259 (handle_composition_prop): Fix checking of point being inside
7260 composition.
7261
7262 2008-02-01 Kenichi Handa <handa@m17n.org>
7263
7264 * fns.c (concat): Don't change multibyteness of the result by
7265 concatenating an 8-bit character.
7266
7267 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
7268 multibyteness of the result when newelt is an 8-bit character.
7269
7270 2008-02-01 Dave Love <fx@gnu.org>
7271
7272 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
7273 EMACS_INT.
7274
7275 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
7276
7277 * xfaces.c (face_numeric_value): Declare dim size_t.
7278 (Finternal_lisp_face_equal_p): Remove unused f.
7279
7280 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
7281 (MATRIX_ROW): Remove unused vars.
7282 (draw_glyphs, x_insert_glyphs, fast_find_position)
7283 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
7284 byte/char counts.
7285
7286 * regex.c (regex_compile): Remove unused var.
7287
7288 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7289
7290 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
7291 (Faccessible_keymaps, where_is_internal): Remove unused vars.
7292
7293 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
7294
7295 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
7296
7297 * fileio.c (Fwrite_region): Remove unused var.
7298
7299 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
7300 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
7301
7302 * composite.c (Fremove_list_of_text_properties): Declare.
7303
7304 * coding.c (inhibit_pre_post_conversion): Remove (unused).
7305 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
7306 (coding_inherit_eol_type): Remove unused attrs.
7307 (detect_coding): Cast arg of detect_eol.
7308
7309 * charset.c (syms_of_charset): Remove unused var p.
7310 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
7311 byte/char counts.
7312
7313 * casetab.c (set_case_table): Remove unused var.
7314
7315 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
7316 unused vars.
7317
7318 2008-02-01 Dave Love <fx@gnu.org>
7319
7320 * xterm.c (x_bitmap_mask): Declare.
7321
7322 2008-02-01 Dave Love <fx@gnu.org>
7323
7324 * xterm.c (x_term_init): Fix type error.
7325
7326 * lisp.h: Add Funibyte_char_to_multibyte.
7327
7328 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
7329 (Fset_coding_system_priority): Doc fix.
7330
7331 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
7332
7333 * indent.c (check_composition): Make start and end EMACS_INT.
7334
7335 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
7336
7337 * xdisp.c (handle_composition_prop, check_point_in_composition):
7338 Make buffer positions EMACS_INT.
7339
7340 * composite.c (find_composition, run_composition_function)
7341 (update_compositions, Ffind_composition_internal): Make buffer
7342 positions EMACS_INT.
7343
7344 * composite.h (find_composition, update_compositions): Make
7345 position args EMACS_INT.
7346
7347 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
7348
7349 * intervals.c (get_property_and_range):
7350 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
7351
7352 * unexalpha.c: Don't include varargs.h.
7353
7354 2008-02-01 Dave Love <fx@gnu.org>
7355
7356 * coding.h (ENCODE_UTF_8): New.
7357
7358 * Makefile.in (gtkutil.o): Depend on coding.h.
7359
7360 * coding.c (Fset_coding_system_priority): Doc fix.
7361
7362 2008-02-01 Kenichi Handa <handa@m17n.org>
7363
7364 * fileio.c (Finsert_file_contents): Call setup_coding_system in
7365 the case of auto saving.
7366
7367 2008-02-01 Andreas Schwab <schwab@suse.de>
7368
7369 * chartab.c (map_char_table, map_char_table_for_charset): Protect
7370 `range' from GC.
7371
7372 2008-02-01 Kenichi Handa <handa@m17n.org>
7373
7374 * coding.c (decode_coding_sjis): Check bytes more rigidly.
7375
7376 2008-02-01 Kenichi Handa <handa@m17n.org>
7377
7378 * fileio.c (choose_write_coding_system): Return a decided coding system.
7379 (Fwrite_region): Set Vlast_coding_system_used to the return value
7380 of choose_write_coding_system.
7381
7382 2008-02-01 Kenichi Handa <handa@m17n.org>
7383
7384 * charset.c (Fset_charset_priority): Pay attention to duplicated
7385 arguments.
7386
7387 * coding.c (QCcategory): New variable.
7388 (syms_of_coding): Defsym it. Set all elements of
7389 Vcoding_category_table and their symbol values.
7390 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
7391 coding-category-XXX, and coding-category-list.
7392 (Fdefine_coding_system_internal): Add category in the plist.
7393
7394 2008-02-01 Kenichi Handa <handa@m17n.org>
7395
7396 * callproc.c (Fcall_process): Handle carryover correctly.
7397
7398 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
7399 (raw_text_coding_system): Check NILP (coding_system).
7400 (coding_inherit_eol_type): Check NILP (coding_system) and
7401 NILP (parent).
7402 (consume_chars): Fix for the case of raw-text.
7403
7404 * process.c (read_process_output): Handle carryover correctly.
7405
7406 2008-02-01 Dave Love <fx@gnu.org>
7407
7408 * regex.c (re_search_2): Fix last change.
7409
7410 2008-02-01 Kenichi Handa <handa@m17n.org>
7411
7412 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
7413 target_multibyte. Even in a unibyte case, return a converted
7414 multibyte char.
7415 (GET_CHAR_AFTER): New macro.
7416 (PATFETCH): Translate via multibyte char.
7417 (HANDLE_UNIBYTE_RANGE): Delete this macro.
7418 (SETUP_MULTIBYTE_RANGE): New macro.
7419 (regex_compile): Setup compiled code so that its multibyteness
7420 matches that of a target. Fix the handling of "[X-YZ]" using
7421 SETUP_MULTIBYTE_RANGE.
7422 (analyse_first) <charset>: For filling fastmap for all multibyte
7423 characters, don't check by BASE_LEADING_CODE_P.
7424 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
7425 the same as RE_MULTIBYTE_P (bufp) now.
7426 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
7427 (TARGET_CHAR_AND_LENGTH): Delete this macro.
7428 (TRANSLATE_VIA_MULTIBYTE): New macro.
7429 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
7430 It is the same as RE_MULTIBYTE_P (bufp) now.
7431 <exactn>: Translate via multibyte.
7432 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
7433 translate it.
7434 <charset, charset_not>: Fetch a character by
7435 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
7436 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
7437 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
7438 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
7439 by GET_CHAR_AFTER.
7440 (bcmp_translate): Likewise.
7441
7442 * search.c (compile_pattern): Check the member target_multibyte,
7443 not the member multibyte of buf.
7444
7445 * lread.c (read1): While reading a string, set force_singlebyte
7446 and force_multibyte correctly.
7447
7448 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
7449 up of unibyte_to_multibyte_table.
7450
7451 2008-02-01 Kenichi Handa <handa@m17n.org>
7452
7453 * coding.c (setup_coding_system): If coding has
7454 post-read-conversion or pre-write-conversion, set
7455 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
7456 respectively.
7457 (decode_coding_gap): Run post-read-conversion if any.
7458
7459 * fileio.c (Finsert_file_contents): Even if we read into a
7460 unibyte buffer, check if we must decode the result or not.
7461
7462 2008-02-01 Kenichi Handa <handa@m17n.org>
7463
7464 * coding.c (make_conversion_work_buffer): Change the work buffer
7465 name to the same one as that of Emacs 21.
7466
7467 2008-02-01 Kenichi Handa <handa@m17n.org>
7468
7469 * coding.h (make_conversion_work_buffer): Adjust prototype.
7470 (code_conversion_restore): Don't extern it.
7471
7472 * coding.c (detected_mask): Delete unused variable.
7473 (decode_coding_iso_2022): Pay attention to the byte sequence of
7474 CTEXT extended segment, and retain those bytes as is.
7475 (decode_coding_ccl): Delete unused variable `valids'.
7476 (setup_coding_system): Delete unused variable `category'.
7477 (consume_chars): Delete unused variable `category'. Make it work
7478 for non-multibyte case.
7479 (make_conversion_work_buffer): Change argument.
7480 (saved_coding): Delete unused variable.
7481 (code_conversion_restore): Don't check saved_coding->destination.
7482 (code_conversion_save): New function.
7483 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
7484 instead of record_unwind_protect.
7485 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
7486 (detect_coding_system): Delete unused variable `mask'.
7487 (Fdefine_coding_system_internal): Delete unused vaiable id.
7488
7489 * fileio.c (kill_workbuf_unwind): New function.
7490 (Finsert_file_contents): On replacing, call
7491 make_conversion_work_buffer with correct args, and call
7492 record_unwind_protect with the first arg kill_workbuf_unwind.
7493
7494 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
7495
7496 2008-02-01 Kenichi Handa <handa@m17n.org>
7497
7498 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
7499 (fontset_add): Fix for the case that TO is less than TO1.
7500 (Ffontset_info): Don't use fallback fontset on checking the
7501 default fontset.
7502 (dump_fontset): New function for debugging.
7503
7504 * coding.c (Fdefine_coding_system_internal): Fix for the case that
7505 coding_type is Qcharset.
7506
7507 2008-02-01 Kenichi Handa <handa@m17n.org>
7508
7509 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
7510 (map_char_table): Don't inherit the value from the parent on
7511 initializing VAL. Adjust for the above change.
7512
7513 2008-02-01 Kenichi Handa <handa@m17n.org>
7514
7515 * coding.c (Qsignature, Qendian): Delete these variables.
7516 (syms_of_coding): Don't initialize them.
7517 (CATEGORY_MASK_UTF_16_AUTO): New macro.
7518 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
7519 detect_info->found.
7520 (decode_coding_utf_16): Don't detect BOM here.
7521 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
7522 is NOT utf_16_without_bom.
7523 (setup_coding_system): For a coding system of type utf-16, check
7524 if the attribute :endian is Qbig or not (not nil or not), and set
7525 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
7526 (detect_coding): If coding type is utf-16 and BOM detection is
7527 required, detect it.
7528 (Fdefine_coding_system_internal): For a coding system of type
7529 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
7530
7531 2008-02-01 Kenichi Handa <handa@m17n.org>
7532
7533 * coding.c (coding_set_source): Fix for the case that the current
7534 buffer is different from coding->src_object.
7535 (decode_coding_object): Don't use the conversion work buffer if
7536 DST_OBJECT is a buffer.
7537
7538 2008-02-01 Dave Love <fx@gnu.org>
7539
7540 * lread.c (read_emacs_mule_char) [len==2]: Index
7541 emacs_mule_charset correctly.
7542
7543 2008-02-01 Dave Love <fx@gnu.org>
7544
7545 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
7546 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
7547 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
7548 treated specially.)
7549 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
7550 (detected_mask): Remove Big5 bits.
7551
7552 2008-02-01 Kenichi Handa <handa@m17n.org>
7553
7554 The following changes are to make the font rescaling facility
7555 compatible with Emacs 21.
7556
7557 * xfaces.c (Vface_font_rescale_alist): Rename from
7558 Vface_resizing_fonts.
7559 (struct font_name): Rename member resizing_ratio to rescale_ratio.
7560 (font_rescale_ratio): Rename from font_resizing_ratio.
7561 (split_font_name): Set font->rescale_ratio.
7562 (better_font_p): Pay attention to font->rescale_ratio.
7563 (build_scalable_font_name): Likewise. Change RESX, and RESY
7564 fields.
7565 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
7566
7567 2008-02-01 Kenichi Handa <handa@m17n.org>
7568
7569 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
7570 (Qutf_16_le): Remove these variables.
7571 (syms_of_coding): Don't DEFSYM them.
7572 (decode_coding_utf_16): Fix handling of BOM.
7573 (encode_coding_utf_16): Fix handling of BOM.
7574
7575 2008-02-01 Kenichi Handa <handa@m17n.org>
7576
7577 * fileio.c (Finsert_file_contents): On replacing, before decoding
7578 the file into the work buffer, set point of the work buffer to the end.
7579
7580 2008-02-01 Dave Love <fx@gnu.org>
7581
7582 * coding.c (Fcheck_coding_systems_region): Fix type errors.
7583
7584 2008-02-01 Dave Love <fx@gnu.org>
7585
7586 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7587 and fix C types.
7588
7589 2008-02-01 Kenichi Handa <handa@m17n.org>
7590
7591 * xdisp.c (SKIP_GLYPHS): New macro.
7592 (set_cursor_from_row): Pay attention to string display properties.
7593
7594 * category.c (copy_category_entry): Fix for the case that RANGE
7595 is an integer.
7596
7597 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
7598
7599 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
7600
7601 2008-02-01 Kenichi Handa <handa@m17n.org>
7602
7603 * charset.c (Fcharset_id_internal): New function.
7604 (syms_of_charset): Defsubr it.
7605
7606 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
7607 with the last arg charset_list acquired from coding.
7608 (Fdefine_coding_system_internal): For ccl-based coding system, fix
7609 the attribute coding_attr_ccl_valids.
7610
7611 * coding.h (enum define_coding_ccl_arg_index): Set the first
7612 member coding_arg_ccl_decoder to coding_arg_max.
7613
7614 * ccl.h (ccl_driver): Adjust prototype.
7615
7616 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
7617 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
7618 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
7619 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
7620 last arg Qnil.
7621
7622 2008-02-01 Kenichi Handa <handa@m17n.org>
7623
7624 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
7625 call encode_char.
7626
7627 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
7628
7629 2008-02-01 Dave Love <fx@gnu.org>
7630
7631 * composite.c (syms_of_composite): Make composition_hash_table weak.
7632
7633 2008-02-01 Kenichi Handa <handa@m17n.org>
7634
7635 * dispextern.h (check_face_attributes, generate_ascii_font_name)
7636 (font_name_registry): Don't extern them.
7637 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
7638
7639 * fontset.h (Qfontset): Don't extern it.
7640 (new_fontset_from_font_name): Extern it.
7641
7642 * fontset.c: Give 8 extra slots to fontset objects.
7643 (Qfontset_info): New variable.
7644 (syms_of_fontset): Defsym it.
7645 (FONTSET_FALLBACK): New macro.
7646 (fontset_face): Try also the default fontset.
7647 (make_fontset): Realize a fallback fontset from the default fontset.
7648 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
7649 using split_font_name_into_vector and build_font_name_from_vector.
7650 (Fset_fontset_font): Access the elements of font_spec by enum
7651 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
7652 name by using split_font_name_into_vector.
7653 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
7654 generate a proper font name from the fontset name. Update
7655 Vfontset_alias_alist.
7656 (n_auto_fontsets): New variable.
7657 (new_fontset_from_font_name): New function.
7658 (Ffont_info): Store the information about fonts generated from the
7659 default fontset in the first extra slot of the returned char-table.
7660
7661 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
7662 (font_name_registry): Delete function.
7663 (split_font_name_into_vector): New function.
7664 (build_font_name_from_vector): New function.
7665 (font_list): The argument REGISTRY is now a list of registry names.
7666 (choose_face_font): If we are choosing an ASCII font, and ATTRS
7667 specifies an explicit font name, return the name as is. Make a
7668 list of registy names.
7669
7670 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
7671 of x_new_fontset.
7672 (Fx_create_frame): Don't call x_new_fontset here. Just use
7673 x_list_fonts to check the existence of fonts.
7674
7675 * xterm.h (x_new_fontset): Adjust prototype.
7676
7677 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
7678 string. Use new_fontset_from_font_name to create a fontset from a
7679 font name.
7680
7681 2008-02-01 Kenichi Handa <handa@m17n.org>
7682
7683 * syntax.c (Vfind_word_boundary_function_table): New name for
7684 Vnext_word_boundary_function_table.
7685 (find-word-boundary-function-table): New name for
7686 next-word-boundary-function-table.
7687
7688 2008-02-01 Dave Love <fx@gnu.org>
7689
7690 * Makefile.in: Fix some dependencies.
7691
7692 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
7693 set it to nil before returning.
7694
7695 * composite.c (update_compositions): Fix type error.
7696
7697 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
7698
7699 2008-02-01 Kenichi Handa <handa@m17n.org>
7700
7701 * xterm.c (x_new_font): Optimize for the case that the font is
7702 already set for the frame.
7703
7704 2008-02-01 Kenichi Handa <handa@m17n.org>
7705
7706 * chartab.c (char_table_ascii): Check if the char table contents
7707 is sub-char-table or not.
7708 (char_table_set, char_table_set_range): Fix argument to
7709 char_table_ascii.
7710
7711 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
7712 (detect_coding_utf_8, detect_coding_utf_16)
7713 (detect_coding_emacs_mule, detect_coding_iso_2022)
7714 (detect_coding_sjis, detect_coding_big5)
7715 (detect_coding_ccl, detect_coding_charset): Change argument MASK
7716 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
7717 sequence is valid in this coding system. Change callers.
7718 (MAX_ANNOTATION_LENGTH): New macro.
7719 (ADD_ANNOTATION_DATA): New macro.
7720 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
7721 ADD_ANNOTATION_DATA. Change the format of annotation data.
7722 (ADD_CHARSET_DATA): New macro.
7723 (emacs_mule_char): New argument ID. Change callers.
7724 (decode_coding_emacs_mule, decode_coding_iso_2022)
7725 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7726 Produce charset annotation data in coding->charbuf.
7727 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
7728 to charset annotation data in coding->charbuf.
7729 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
7730 coding->common_flags if the coding system is iso-2022 based and
7731 uses designation.
7732 (produce_composition): Adjust for the new annotation data format.
7733 (produce_charset): New function.
7734 (produce_annotation): Handle charset annotation.
7735 (handle_composition_annotation, handle_charset_annotation): New
7736 functions.
7737 (consume_chars): Handle charset annotation. Utilize the above two
7738 functions.
7739 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
7740 buffer, get the deleted text as a string and set
7741 coding->src_object to that string.
7742 (detect_coding, detect_coding_system): Use the new struct
7743 coding_detection_info.
7744
7745 * coding.h (struct coding_detection_info): New structure.
7746 (struct coding_system): Adjust prototype of the member `detector'.
7747 (CODING_ANNOTATE_CHARSET_MASK): New macro.
7748
7749 2008-02-01 Kenichi Handa <handa@m17n.org>
7750
7751 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
7752
7753 2008-02-01 Dave Love <fx@gnu.org>
7754
7755 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
7756 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
7757 to new local and nullify apropos_accumulate before returning.
7758 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
7759
7760 2008-02-01 Kenichi Handa <handa@m17n.org>
7761
7762 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
7763 correctly.
7764
7765 2008-02-01 Dave Love <fx@gnu.org>
7766
7767 * fns.c (Flanginfo): Call synchronize_system_time_locale.
7768
7769 2008-02-01 Kenichi Handa <handa@m17n.org>
7770
7771 The following changes are to make character composition happen
7772 automatically on displaying.
7773
7774 * Makefile.in (lisp, shortlisp): Add composite.elc.
7775
7776 * composite.h (Qauto_composed, Vauto_composition_function)
7777 (Qauto_composition_function): Extern them.
7778
7779 * composite.c (Vcomposition_function_table)
7780 (Qcomposition_function_table): Delete variables.
7781 (Qauto_composed, Vauto_composition_function)
7782 (Qauto_composition_function): New variables.
7783 (run_composition_function): Don't call
7784 compose-chars-after-function.
7785 (update_compositions): Clear `auto-composed' text property.
7786 (compose_chars_in_text): Delete this function.
7787 (syms_of_composite): Staticpro Qauto_composed and
7788 Qauto_composition_function. Declare Vauto_composition_function as
7789 a Lisp variable.
7790
7791 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
7792
7793 * xdisp.c (it_props): Add an entry for Qauto_composed.
7794 (handle_auto_composed_prop): New function.
7795
7796 * xselect.c (selection_data_to_lisp_data): Don't call
7797 compose_chars_in_text.
7798
7799 2008-02-01 Dave Love <fx@gnu.org>
7800
7801 * keyboard.c (read_char): Modify checking around use of
7802 Vkeyboard_translate_table.
7803
7804 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7805 and fix C types.
7806
7807 2008-02-01 Kenichi Handa <handa@m17n.org>
7808
7809 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
7810 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7811 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
7812 the case that the last byte is '\r' correctly.
7813 (decode_coding): Flush out the unprocessed data correctly.
7814 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
7815
7816 2008-02-01 Dave Love <fx@gnu.org>
7817
7818 * xterm.c (XTread_socket): Fix changes for defined keysyms.
7819 Add XK_ISO... case.
7820 (xaw_scroll_callback): Revert last change.
7821
7822 2008-02-01 Kenichi Handa <handa@m17n.org>
7823
7824 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
7825
7826 2008-02-01 Kenichi Handa <handa@m17n.org>
7827
7828 * xfaces.c (Vface_resizing_fonts): New variable.
7829 (struct font_name): New member `resizing_ratio'.
7830 (font_resizing_ratio): New function.
7831 (split_font_name): Set font->resizing_ratio.
7832 (better_font_p): Pay attention to font->resizing_ratio.
7833 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
7834 RESX, and RESY fields.
7835 (try_alternative_families): Try scalable fonts if
7836 Vscalable_fonts_allowed is not Qt.
7837 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
7838
7839 2008-02-01 Dave Love <fx@gnu.org>
7840
7841 * xterm.c (xaw_scroll_callback): Cast correctly.
7842
7843 2008-02-01 Dave Love <fx@gnu.org>
7844
7845 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
7846 (lispy_kana_keys): Comment out.
7847 (make_lispy_event) [XK_kana_A]: Comment out.
7848
7849 * xterm.c (xaw_scroll_callback): Cast call_data.
7850 (XTread_socket): Deal with ASCII keysyms.
7851 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
7852
7853 2008-02-01 Dave Love <fx@gnu.org>
7854
7855 * xterm.c (Vx_keysym_table): New.
7856 (syms_of_xterm): Initialize it.
7857 (XTread_socket): Use it.
7858 From head: Eliminate incorrect optimization that tried to avoid
7859 decoding the output of X*LookupString.
7860 (x_get_font_repertory): Delete charset declaration.
7861
7862 2008-02-01 Kenichi Handa <handa@m17n.org>
7863
7864 * coding.c (detect_coding_charset): If only ASCII bytes are found,
7865 return 0.
7866 (Fdefine_coding_system_internal): Setup
7867 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
7868
7869 2008-02-01 Dave Love <fx@gnu.org>
7870
7871 * coding.c (Fcheck_coding_system): Doc fix.
7872
7873 * editfns.c (Finsert_byte): Return a proper value.
7874
7875 2008-02-01 Kenichi Handa <handa@m17n.org>
7876
7877 * coding.c (decode_coding): Fix args to translate_chars. Pay
7878 attention to Vstandard_translation_table_for_decode.
7879 (encode_coding): Fix args to translate_chars. Pay attention to
7880 Vstandard_translation_table_for_encode.
7881
7882 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
7883 SINGLE_BYTE_CHAR_P.
7884
7885 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
7886 not by SINGLE_BYTE_CHAR_P.
7887
7888 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
7889 SINGLE_BYTE_CHAR_P.
7890
7891 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
7892 SINGLE_BYTE_CHAR_P.
7893
7894 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
7895 by SINGLE_BYTE_CHAR_P.
7896
7897 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
7898 SINGLE_BYTE_CHAR_P.
7899
7900 2008-02-01 Dave Love <fx@gnu.org>
7901
7902 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
7903
7904 2008-02-01 Dave Love <fx@gnu.org>
7905
7906 * fns.c (Flanginfo): Fix typo.
7907
7908 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
7909
7910 2008-02-01 Kenichi Handa <handa@m17n.org>
7911
7912 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
7913 (detect_coding_emacs_mule, detect_coding_iso_2022)
7914 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
7915 incomplete byte sequence. Don't update *mask when correctly detected.
7916 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
7917 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
7918 (detect_coding, detect_coding_system): Adjust for the changes above.
7919
7920 2008-02-01 Kenichi Handa <handa@m17n.org>
7921
7922 * character.c (char_string): Rename from
7923 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
7924 (string_char): Rename from string_char.
7925
7926 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
7927 if C is greater than MAX_3_BYTE_CHAR.
7928 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
7929 string_char instead of string_char_with_unification.
7930
7931 2008-02-01 Dave Love <fx@gnu.org>
7932
7933 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
7934
7935 2008-02-01 Kenichi Handa <handa@m17n.org>
7936
7937 * keymap.c (push_key_description): Pay attention to force_multibyte.
7938
7939 * regex.c (re_search_2): Fix for the case of unibyte buffer.
7940
7941 2008-02-01 Dave Love <fx@gnu.org>
7942
7943 * charset.c (define_charset_internal): Rename `supprementary'.
7944
7945 * Makefile.in (lisp, shortlisp): Remove latin-N.
7946
7947 2008-02-01 Dave Love <fx@gnu.org>
7948
7949 * xfns.c (x_window, x_window): Use use_xim.
7950
7951 * xterm.c (use_xim): Initialize.
7952 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
7953 (x_term_init): Maybe set use_xim.
7954
7955 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
7956
7957 2008-02-01 Kenichi Handa <handa@m17n.org>
7958
7959 * search.c (search_buffer): Fix case-fold-search of multibyte
7960 characters.
7961 (boyer_moore): Rename the last argument to char_high_bits.
7962
7963 2008-02-01 Kenichi Handa <handa@m17n.org>
7964
7965 * xdisp.c (display_string): Fix for the case of zero width glyph.
7966
7967 * xfns.c (x_set_font): Change the error message of the case that
7968 x_new_fontset returns Qt.
7969
7970 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
7971 (Finternal_set_lisp_face_attribute): Use signal_error for the
7972 error of invalid fontset.
7973
7974 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
7975 fontset, return Qt.
7976
7977 2008-02-01 Dave Love <fx@gnu.org>
7978
7979 * unexelf.c (unexec): Make .got handling not SGI-specific.
7980
7981 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
7982
7983 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
7984
7985 * keyboard.c (read_key_sequence): Fix type error.
7986
7987 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
7988 type error.
7989
7990 * fontset.c (fontset_add): Return Lisp_Object.
7991
7992 2008-02-01 Dave Love <fx@gnu.org>
7993
7994 * charset.h (charset_ordered_list_tick): Declare extern.
7995
7996 2008-02-01 Kenichi Handa <handa@m17n.org>
7997
7998 The following changes (and some of 2008-02-01 changes of mine) are
7999 for handling syntax, category, and case conversion for unibyte
8000 characters by converting them to multibyte on the fly. With these
8001 changes, we don't have to setup syntax and case tables for unibyte
8002 characters in each language environment.
8003
8004 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
8005 multibyte if necessary.
8006
8007 * bytecode.c (Fbyte_code): Likewise.
8008
8009 * character.h (LEADING_CODE_LATIN_1_MIN)
8010 (LEADING_CODE_LATIN_1_MAX): New macros.
8011 (unibyte_to_multibyte_table): Extern it.
8012 (unibyte_char_to_multibyte): New macro.
8013 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
8014 (CHAR_LEADING_CODE): New macro.
8015 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
8016
8017 * character.c (unibyte_to_multibyte_table): New variable.
8018 (unibyte_char_to_multibyte): Move to character.h and define as macro.
8019 (multibyte_char_to_unibyte): If C is an eight-bit character,
8020 convert it to the corresponding byte value.
8021
8022 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
8023 not 1, singals an error. Update the elements of
8024 unibyte_to_multibyte_table.
8025 (init_charset_once): Initialize unibyte_to_multibyte_table.
8026 (syms_of_charset): Define the charset `iso-8859-1'.
8027
8028 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
8029 as is without converting it to unibyte. In a unibyte buffer,
8030 convert C to multibyte before checking the syntax.
8031
8032 * lisp.h (unibyte_char_to_multibyte): Delete extern.
8033
8034 * minibuf.c (Fminibuffer_complete_word): Use the macro
8035 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
8036
8037 * regex.h (struct re_pattern_buffer): New member target_multibyte.
8038
8039 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
8040 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
8041 that is zero, convert an eight-bit char to multibyte.
8042 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
8043 non-emacs case.
8044 (PATFETCH): Convert an eight-bit char to multibyte.
8045 (HANDLE_UNIBYTE_RANGE): New macro.
8046 (regex_compile): Setup the compiled pattern for multibyte chars
8047 even if the given regex string is unibyte. Use PATFETCH_RAW
8048 instead of PATFETCH in many places. To handle `charset'
8049 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
8050 only for ASCII chars.
8051 (analyse_first) <exactn>: Simplify because the compiled pattern
8052 is multibyte.
8053 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
8054 <charset>: Use CHAR_LEADING_CODE to get leading codes.
8055 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
8056 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
8057 multibyte always 1.
8058 (re_search_2): In emacs, set the locale variable multibyte to 1,
8059 otherwise to 0. New local variable target_multibyte. Check it
8060 to decide the multibyteness of STR1 and STR2. If
8061 target_multibyte is zero, convert unibyte chars to multibyte
8062 before translating and checking fastmap.
8063 (TARGET_CHAR_AND_LENGTH): New macro.
8064 (re_match_2_internal): In emacs, set the locale variable multibyte
8065 to 1, otherwise to 0. New local variable target_multibyte. Check
8066 it to decide the multibyteness of STR1 and STR2. Use
8067 TARGET_CHAR_AND_LENGTH to fetch a character from D.
8068 <charset, charset_not>: If multibyte is nonzero, check fastmap
8069 only for ASCII chars. Call bcmp_translate with
8070 target_multibyte, not with multibyte.
8071 <begline>: Declare the local variable C as `unsigned'.
8072 (bcmp_translate): Change the last arg name to target_multibyte.
8073
8074 * search.c (compile_pattern_1): Don't adjust the multibyteness of
8075 the regexp pattern and the matching target. Set cp->buf.multibyte
8076 to the multibyteness of the regexp pattern. Set
8077 cp->but.target_multibyte to the multibyteness of the matching target.
8078 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
8079 FETCH_STRING_CHAR_ADVANCE.
8080 (Freplace_match): Convert unibyte chars to multibyte.
8081
8082 * syntax.c (char_quoted, back_comment, scan_words)
8083 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
8084 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
8085 unibyte chars to multibyte.
8086 (skip_chars): Delete the arg syntaxp, and move the code for
8087 handling syntaxes to skip_syntaxes. Change callers.
8088 Fix the case that the multibyteness of STRING and the current
8089 buffer doesn't match.
8090 (skip_syntaxes): New function.
8091 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
8092 SINGLE_BYTE_CHAR_P.
8093
8094 2008-02-01 Kenichi Handa <handa@m17n.org>
8095
8096 * xfaces.c (QCfontset): New variable.
8097 (LFACE_FONTSET): New macro.
8098 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
8099 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
8100 (Finternal_set_lisp_face_attribute)
8101 (Finternal_get_lisp_face_attribute): Handle QCfontset.
8102 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
8103 check also LFACE_FONTSET_INDEX.
8104 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
8105 attrs[LFACE_FONT_INDEX].
8106 (syms_of_xfaces): Intern and staticpro QCfontset.
8107
8108 * dispextern.h (enum lface_attribute_index): New member
8109 LFACE_FONTSET_INDEX.
8110
8111 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
8112
8113 2008-02-01 Kenichi Handa <handa@m17n.org>
8114
8115 * coding.c (coding_set_destination): Fix coding->destination for
8116 the case converting a region.
8117 (encode_coding_utf_8): Encode eight-bit chars as single byte.
8118 (encode_coding_object): Fix coding->dst_pos and
8119 coding->dst_pos_byte for the case converting a region.
8120
8121 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
8122
8123 * character.h (BYTE8_STRING): New macro.
8124
8125 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
8126
8127 2008-02-01 Kenichi Handa <handa@m17n.org>
8128
8129 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
8130 characters by octal form.
8131
8132 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8133
8134 * buffer.h (_fetch_multibyte_char_len): Delete extern.
8135 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
8136 _fetch_multibyte_char_len.
8137 (FETCH_CHAR_AS_MULTIBYTE): New macro.
8138
8139 * casetab.c (set_canon, set_identity, shuffle): Simplify.
8140
8141 * casefiddle.c (casify_object): Simplify. Handle the case that
8142 the case conversion change the byte length.
8143 (casify_region): Likewise.
8144
8145 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
8146
8147 * character.c (_fetch_multibyte_char_len): Delet this variable.
8148 (syms_of_character): Setup Vprintable_chars.
8149
8150 * editfns.c (Fchar_equal): Fix for the unibyte case.
8151 (Finsert_byte): New function.
8152 (syms_of_editfns): Defsubr it.
8153
8154 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
8155 of direct code 0x3ffff.
8156
8157 * search.c (Freplace_match): Fix for the unibyte case.
8158
8159 2008-02-01 Kenichi Handa <handa@m17n.org>
8160
8161 * lread.c (safe_to_load_p): Fix the logic.
8162
8163 * syntax.c (scan_words): Don't treat characters belonging to
8164 different scripts as constituting a word.
8165
8166 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8167
8168 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
8169
8170 * emacs.c (main): In the case of --unibyte, instead of aborting on
8171 finding non-empty buffer, make it unibyte.
8172
8173 2008-02-01 Kenichi Handa <handa@m17n.org>
8174
8175 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
8176 to create a fontset.
8177
8178 2008-02-01 Dave Love <fx@gnu.org>
8179
8180 * character.c (Funibyte_char_to_multibyte): Doc fix.
8181
8182 * xfns.c [HAVE_STDLIB_H]: Fix last change.
8183
8184 2008-02-01 Kenichi Handa <handa@m17n.org>
8185
8186 * fontset.c (fontset_add): Make the type `int'.
8187 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
8188
8189 * character.c (unibyte_char_to_multibyte)
8190 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
8191 charset_unibyte, not charset_primary.
8192
8193 * charset.h (charset_unibyte): Extern it instead of charset_primary.
8194
8195 * charset.c (charset_unibyte): Rename from charset_primary.
8196 (Funibyte_charset): Rename from Fprimary_charset.
8197 (Fset_unibyte_charset): Rename from Fset_primary_charset.
8198 (syms_of_charset): Adjust for the above changes.
8199
8200 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
8201 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
8202 it->multibyte_p is zero.
8203
8204 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
8205 Delete extern.
8206
8207 2008-02-01 Kenichi Handa <handa@m17n.org>
8208
8209 * coding.c (Fdefine_coding_system_internal): Fix category setting
8210 for a coding system of type iso-2022.
8211
8212 2008-02-01 Kenichi Handa <handa@m17n.org>
8213
8214 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
8215
8216 2008-02-01 Kenichi Handa <handa@m17n.org>
8217
8218 * syntax.c (Vnext_word_boundary_function_table): New variable.
8219 (next-word-boundary-function-table): Declare it as a Lisp variable
8220 in syms_of_syntax.
8221 (scan_words): Call functions in Vnext_word_boundary_function_table
8222 if any.
8223
8224 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
8225
8226 * fontset.c (fs_load_font): If fontp->charset is not negative,
8227 return fontp without setting its members.
8228
8229 2008-02-01 Dave Love <fx@gnu.org>
8230
8231 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
8232
8233 * m/sparc.h (HAVE_ALLOCA): Delete.
8234
8235 * s/irix6-5.h: Don't include strings.h.
8236 (bcopy, bzero, bcmp): Don't undef.
8237
8238 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
8239
8240 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
8241 (TIOCSIGSEND): Don't test IRIX6.
8242 (bcopy, bzero, bcmp): Define conditionally.
8243
8244 2008-02-01 Kenichi Handa <handa@m17n.org>
8245
8246 * buffer.c (Qas, Qmake, Qto): New variables.
8247 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
8248 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
8249
8250 * callproc.c (Fcall_process): Don't call insert_1_both directly if
8251 we are inserting a process output into a multibyte buffer.
8252
8253 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
8254 multibyte_char_to_unibyte.
8255
8256 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
8257 by the primary charset, make it eight-bit char.
8258 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
8259
8260 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
8261 (charset_8_bit__control, charset_8_bit_graphic)
8262 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
8263 (define_charset_internal): New function.
8264 (syms_of_charset): Call define_charset_internal for pre-defined
8265 charsets.
8266
8267 * charset.h (charset_8_bit): Extern it.
8268
8269 * coding.c (make_conversion_work_buffer): Adjust for the change
8270 of Fset_buffer_multibyte.
8271 (encode_coding_raw_text): Increment p0 in the loop.
8272
8273 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
8274
8275 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
8276 for the change of Fset_buffer_multibyte.
8277
8278 * fns.c (Fstring_to_multibyte): New function.
8279 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
8280
8281 2008-02-01 Dave Love <fx@gnu.org>
8282
8283 * xfns.c (x_put_x_image): Declare args.
8284
8285 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
8286 (try_font_list): Declare an arg.
8287
8288 * xdisp.c (message2_nolog, set_message): Declare an arg.
8289
8290 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
8291
8292 * syntax.c (scan_sexps_forward): Declare an arg.
8293
8294 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
8295 Declare an arg.
8296
8297 * lisp.h (Fnew_fontset): Declare.
8298
8299 * keymap.c (push_key_description): Call CHARACTERP correctly.
8300
8301 * fontset.c (fontset_add): Declare args. Call make_number correctly.
8302 (face_for_char): Delete unused vars.
8303 (Fset_fontset_font): Doc fix. Delete unused vars.
8304
8305 * doc.c (Fsubstitute_command_keys): Delete unused vars.
8306
8307 * composite.c (update_compositions): Declare arg.
8308
8309 * cm.c (calccost, cmgoto): Declare args.
8310
8311 * charset.c: Remove `emacs' conditional. Doc fixes.
8312 (map_char_table_for_charset): Declare.
8313
8314 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
8315
8316 * ccl.c: Remove `emacs' conditional.
8317
8318 2008-02-01 Kenichi Handa <handa@m17n.org>
8319
8320 The following changes are to allow specifying multiple font
8321 patterns for a character range (specified by script or charset).
8322
8323 * Makefile.in (abbrev.o): Depend on syntax.h.
8324 (xfaces.o): Depend on charset.h.
8325
8326 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
8327 SINGLE_BYTE_CHAR_P.
8328
8329 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
8330
8331 * character.h (Vchar_script_table): Extern it.
8332
8333 * character.c (Vscript_alist): Delete.
8334 (Vchar_script_table, Qchar_script_table): New variable.
8335 (syms_of_character): Declare Vchar_script_table as a lisp variable
8336 and initialize it.
8337
8338 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
8339 have property char-table-extra-slots, make no extra slot.
8340
8341 * dispextern.h (struct face): Delete member `charset'.
8342 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
8343 SINGLE_BYTE_CHAR_P.
8344 (choose_face_font, lookup_non_ascii_face, font_name_registry):
8345 Add prototypes.
8346 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
8347 (generate_ascii_font_name): Rename from generate_ascii_font.
8348
8349 * fontset.h (get_font_repertory_func): New prototype.
8350 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
8351 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
8352
8353 * fontset.c (Qprepend, Qappend): New variables.
8354 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
8355 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
8356 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
8357 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
8358 (fontset_ref_and_range, fontset_add, reorder_font_vector)
8359 (load_font_get_repertory): New functions.
8360 (fontset_set): Delete.
8361 (fontset_face): New arg FACE. Return face ID, not face.
8362 Complete re-write to handle new fontset structure. Change caller.
8363 (free_face_fontset): Use ASET istead of AREF (X) = Y.
8364 (face_for_char): Don't call lookup_face.
8365 (make_fontset_for_ascii_face): New arg FACE.
8366 (fs_load_font): New arg CHARSET_ID. Don't check
8367 Vfont_encoding_alist here.
8368 (find_font_encoding): New function.
8369 (list_fontsets): Use STRINGP, not ! NILP.
8370 (accumulate_script_ranges): New function.
8371 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
8372 re-written to handle new fontset structure.
8373 (Ffontset_font): Return a copy of element.
8374 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
8375 docstring of font-encoding-alist.
8376
8377 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
8378 (Fset_fotset_font): Fix arguments to 5.
8379
8380 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
8381
8382 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
8383 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8384 (highlight_trailing_whitespace): Adjust for the change of
8385 lookup_named_face.
8386
8387 * xfaces.c: Include charset.h.
8388 (load_face_font): Delete argument C. Change caller.
8389 (generate_ascii_font_name): Rename from generate_ascii_font.
8390 (font_name_registry): New function.
8391 (cache_face): Store ascii faces before non-ascii faces in buckets.
8392 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
8393 Lookup only ascii faces.
8394 (lookup_non_ascii_face): New function.
8395 (lookup_named_face): Delete argument C. Change caller.
8396 (lookup_derived_face): Delete argument C. Change caller.
8397 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
8398 a string, just call font_list with it.
8399 (choose_face_font): Delete arguments FACE and C. New arg
8400 FONT_SPEC. Change caller.
8401 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
8402 Change caller.
8403 (realize_non_ascii_face): New function.
8404 (realize_x_face): Call load_face_font here.
8405 (realize_tty_face): Delete argument C. Change caller.
8406 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
8407 get a face ID.
8408 (dump_realized_face): Don't print charset of FACE.
8409
8410 * xfns.c (x_set_font): Always call x_new_fontset and
8411 store_frame_parameter.
8412 (Fx_create_frame): Call x_new_fontset, not x_new_font.
8413 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
8414
8415 * xterm.h (x_get_font_repertory): Extern it.
8416
8417 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
8418 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
8419 it->multibyte_p is zero.
8420 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8421 (x_new_fontset): If FONTSETNAME doesn't match any existing
8422 fontsets, create a new one.
8423 (x_get_font_repertory): New function.
8424
8425 2008-02-01 Kenichi Handa <handa@m17n.org>
8426
8427 * coding.c (Ffind_coding_systems_region_internal): Detect an
8428 ASCII only string correctly.
8429
8430 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
8431 version is 0.
8432
8433 2008-02-01 Kenichi Handa <handa@m17n.org>
8434
8435 * lread.c: Include "coding.h".
8436 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
8437 (load_each_byte, unread_char): New variables.
8438 (readchar_backlog): Delete.
8439 (readchar): Return a character unless load_each_byte is nonzero.
8440 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
8441 cons. If unread_char is not -1, simply return it.
8442 (unreadchar): Handle the case that readcharfun is
8443 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
8444 (read_multibyte): Delete.
8445 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
8446 (read_emacs_mule_char): New functions.
8447 (Fload): Even if the file doesn't have the extention ".elc", if
8448 safe_to_load_p returns a positive version number, assume that the
8449 file contains bytecompiled code. If the version is less than 22,
8450 load the file while decoding multibyte sequences by emacs-mule.
8451 (readevalloop): Don't use readchar_backlog.
8452 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
8453 (Fread_from_string): Pay attention to the case that STREAM is a cons.
8454 (read_escape): Delete the arg BYTEREP.
8455 (read1): Set load_each_byte to 1 temporarily while handling
8456 #@NUMBER. Don't call read_multibyte.
8457 (read_vector): Call Fread with a cons. If readcharfun is
8458 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
8459 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
8460 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
8461 and Qload_force_doc_strings.
8462
8463 2008-02-01 Kenichi Handa <handa@m17n.org>
8464
8465 * xdisp.c (face_before_or_after_it_pos): Call
8466 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
8467
8468 2008-02-01 Kenichi Handa <handa@m17n.org>
8469
8470 * character.h (TRAILING_CODE_P): New macro.
8471 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
8472 (string_char_with_unification): Fix prototype.
8473 (Vscript_alist): Extern it.
8474
8475 * character.c (Vscript_alist): New variable.
8476 (string_char_with_unification, str_as_unibyte)
8477 (string_escape_byte8): Add `const' to local variables.
8478 (syms_of_character): Declare script-alist as a Lisp variable.
8479
8480 * charset.h (Vcharset_ordered_list): Extern it.
8481 (charset_ordered_list_tick): Extern it.
8482 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
8483 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
8484 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
8485 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
8486 (Funify_charset): Adjust for the change of Funify_charset.
8487
8488 * charset.c (charset_ordered_list_tick): New variable.
8489 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
8490 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
8491 deunify intead of unify a charset.
8492 (string_xstring_p): Add `const' to local variables.
8493 (find_charsets_in_text): Add `const' to arguemnts and local variables.
8494 (encode_char): Adjust for the change of Funify_charset. Fix
8495 detecting of invalid code.
8496 (Fset_charset_priority): Increment charset_ordered_list_tick.
8497 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
8498 and TO_CODE.
8499
8500 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
8501 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
8502 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
8503 (decode_coding_ccl, consume_chars)
8504 (Ffind_coding_systems_region_internal)
8505 (Fcheck_coding_systems_region): Add `const' to local variables.
8506
8507 * print.c (print_object): Use octal form for printing the
8508 contents of a bool vector.
8509
8510 2008-02-01 Dave Love <fx@gnu.org>
8511
8512 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
8513 <version == 20>: Refuse to load.
8514
8515 2008-02-01 Dave Love <fx@gnu.org>
8516
8517 * fns.c: Move coding.h.
8518 (Qcodeset, Qdays, Qmonths): New.
8519 (concat): Use CHARACTERP instead of INTERGERP.
8520 (Flocale_codeset): Delete.
8521 (Flanginfo): New function.
8522 (syms_of_fns): Change accordingly.
8523
8524 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
8525
8526 2008-02-01 Dave Love <fx@gnu.org>
8527
8528 * casetab.c (init_casetab_once, init_casetab_once): Fix
8529 CHAR_TABLE_SET call.
8530
8531 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
8532
8533 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
8534
8535 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
8536 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
8537 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
8538
8539 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
8540
8541 * coding.c (ENCODE_DESIGNATION, decode_eol)
8542 (make_conversion_work_buffer, code_conversion_restore)
8543 (Fdefine_coding_system_internal): Convert Lisp types.
8544 (code_conversion_restore): Use EQ, not ==.
8545 (Fencode_coding_string): Fix code_convert_string call.
8546
8547 * coding.h (code_convert_region): Fix prototype.
8548
8549 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
8550
8551 * fontset.c (fontset_ref, fontset_set, fs_load_font)
8552 (Ffontset_info): Convert Lisp types.
8553
8554 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
8555
8556 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
8557
8558 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
8559
8560 * chartab.c: Include "...h", not <...h> in some cases.
8561
8562 * callproc.c (Fcall_process): Remove unused variables.
8563
8564 2008-02-01 Dave Love <fx@gnu.org>
8565
8566 * coding.c (Fset_coding_system_priority): Allow null arg list.
8567
8568 2008-02-01 Dave Love <fx@gnu.org>
8569
8570 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
8571 (Fself_insert_and_exit): Use CHARACTERP.
8572
8573 * callproc.c (Fcall_process): Remove unused vars.
8574
8575 * xterm.c (XTread_socket): Add extra dead keysyms.
8576
8577 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
8578
8579 * dispextern.h: Remove prototypes for redraw_frame,
8580 redraw_garbaged_frames.
8581
8582 * cmds.c (Fself_insert_command): Use CHARACTERP.
8583
8584 * chartab.c (make_sub_char_table): Remove unused var.
8585 (Fset_char_table_default, Fmap_char_table): Doc fix.
8586
8587 * keymap.c (access_keymap): Remove generic char code.
8588 (push_key_description): Use CHARACTERP.
8589
8590 2008-02-01 Dave Love <fx@gnu.org>
8591
8592 * charset.c: Doc fixes.
8593 (Funify_charset): Extra checking.
8594
8595 2008-02-01 Dave Love <fx@gnu.org>
8596
8597 * lread.c: Remove some unused variables.
8598 (safe_to_load_p): If safe, return the magic number version byte.
8599 (Fload): Maybe use load-with-code-conversion.
8600
8601 2008-02-01 Kenichi Handa <handa@m17n.org>
8602
8603 * category.c (Fmodify_category_entry): Don't modify the contents
8604 of category_set for characters out of the range. Avoid
8605 unnecessary modification.
8606
8607 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
8608 Vchar_unify_table. The default value of the table is now nil.
8609
8610 * character.c (syms_of_character): Setup Vchar_width_table for
8611 eight-bit-control and raw-byte chars.
8612
8613 * charset.h (enum define_charset_arg_index): Delete
8614 charset_arg_parents and add charset_arg_subset and
8615 charset_arg_superset.
8616 (enum charset_attr_index): Delete charset_parents and add
8617 charset_subset and charset_superset.
8618 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
8619 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
8620 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
8621 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
8622 (CHARSET_SUPERSET): New macros.
8623 (charset_work): Extern it.
8624 (ENCODE_CHAR): Use charset_work.
8625 (CHAR_CHARSET_P): Adjust for the change of encoder format.
8626 (map_charset_chars): Extern it.
8627
8628 * charset.c (load_charset_map): Set the default value of encoder
8629 and deunifier char-tables to nil.
8630 (map_charset_chars): Change argument. Change callers. Use
8631 map_char_table_for_charset instead of map_char_table.
8632 (Fmap_charset_chars): New optional args from_code and to_code.
8633 (Fdefine_charset_internal): Adjust for the change of
8634 `define-charset' (:parents -> :subset or :superset).
8635 (charset_work): New variable.
8636 (encode_char, syms_of_charset): Adjust for the change of
8637 Fdefine_charset_internal.
8638 (Ffind_charset_string): Setup the vector `charsets' correctly.
8639
8640 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
8641 the previous change.
8642 (char_table_ref_and_range): Adjust for the above change.
8643 (map_sub_char_table_for_charset): New function.
8644 (map_char_table_for_charset): New function.
8645
8646 * keymap.c (describe_vector): Handle a char-table directly here.
8647 (describe_char_table): Delete.
8648
8649 * lisp.h (map_charset_chars): Delete.
8650
8651 2008-02-01 Dave Love <fx@gnu.org>
8652
8653 * fns.c (count_combining): Comment out (unused).
8654 (Flocale_codeset): New.
8655 (syms_of_fns): Defsubr it.
8656
8657 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
8658 (size_t): Remove.
8659
8660 2008-02-01 Dave Love <fx@gnu.org>
8661
8662 * Makefile.in (chartab.o): Depend on charset.h.
8663
8664 2008-02-01 Kenichi Handa <handa@m17n.org>
8665
8666 * character.c (syms_of_character): Set the default value of
8667 Vprintable_chars to Qnil.
8668
8669 2008-02-01 Dave Love <fx@gnu.org>
8670
8671 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
8672
8673 2008-02-01 Kenichi Handa <handa@m17n.org>
8674
8675 * charset.c (load_charset_map): Handle the case that from < to
8676 correctly.
8677
8678 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
8679 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
8680 Pay attention to raw-8-bit chars.
8681
8682 2008-02-01 Kenichi Handa <handa@m17n.org>
8683
8684 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
8685 It is not bytecompiled now.
8686
8687 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
8688 (charset_jisx0208): New variables.
8689 (Fdefine_charset_internal): Setup them if appropriate.
8690 (init_charset_once): Initialize them to -1.
8691
8692 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
8693 (charset_jisx0208): Extern them.
8694
8695 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
8696 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
8697 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
8698 (setup_iso_safe_charsets): Fix arguments to Fassq.
8699 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
8700 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
8701 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
8702 (encode_coding_iso_2022): Change the 1st arg to
8703 ENCODE_ISO_CHARACTER to a variable.
8704
8705 2008-02-01 Kenichi Handa <handa@m17n.org>
8706
8707 * charset.h (enum define_charset_arg_index): New enums
8708 charset_arg_min_code and charset_arg_max_code.
8709 (struct charset): New member char_index_offset.
8710
8711 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
8712 Take charset->char_index_offset into account.
8713 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
8714 args[charset_arg_max_code]. Setup charset.char_index_offset.
8715 (syms_of_charset): Fix args to Fdefine_charset_internal.
8716
8717 2008-02-01 Dave Love <fx@gnu.org>
8718
8719 * coding.c (decode_coding_utf_8): Reject overlong sequences.
8720
8721 2008-02-01 Dave Love <fx@gnu.org>
8722
8723 * coding.c: Doc fixes.
8724 (Fcoding_system_aliases): Fix return value.
8725 (Qmac): Remove (duplicated) definition.
8726
8727 2008-02-01 Dave Love <fx@gnu.org>
8728
8729 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
8730 functions.
8731
8732 * character.c (Fstring): Doc fix.
8733
8734 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
8735
8736 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
8737 ids.
8738 (font-encoding-alist): Doc fix.
8739
8740 2008-02-01 Dave Love <fx@gnu.org>
8741
8742 * term.c (costs_set): Declare static, non-initialized for pcc.
8743 (encode_terminal_code): Remove unused var.
8744
8745 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8746 for K&R.
8747
8748 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
8749
8750 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
8751 (suffixes): Move out of make_subsidiaries for K&R.
8752
8753 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
8754
8755 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
8756
8757 2008-02-01 Dave Love <fx@gnu.org>
8758
8759 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
8760
8761 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
8762
8763 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
8764
8765 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
8766
8767 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
8768
8769 2008-02-01 Kenichi Handa <handa@m17n.org>
8770
8771 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
8772 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
8773
8774 2008-02-01 Kenichi Handa <handa@m17n.org>
8775
8776 * coding.c (decode_coding_charset): Adjust for the change of
8777 Fdefine_coding_system_internal.
8778 (Fdefine_coding_system_internal): For a coding system of
8779 `charset' type, store a list of charset IDs in
8780 `charset_attr_charset_valids' element of coding attributes.
8781
8782 2008-02-01 Kenichi Handa <handa@m17n.org>
8783
8784 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
8785 (emacs_mule_char): New arg src. Delete arg `composition'. Change
8786 caller. Handle 2-byte and 3-byte charsets correctly.
8787 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
8788 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
8789 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
8790 (DECODE_EMACS_MULE_21_COMPOSITION): Call
8791 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
8792 sequence.
8793 (decode_coding_emacs_mule): Handle composition correctly. Rewind
8794 `src' and `consumed_chars' correctly before calling emacs_mule_char.
8795 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
8796 and alt&rule composition.
8797 (decode_coding_iso_2022): Handle composition correctly.
8798 (init_coding_once): Setup emacs_mule_bytes for private charsets.
8799
8800 * charset.c (Fdefine_charset_internal): Fix bug for the case of
8801 re-defining a charset. If the charset has :emacs-mule-id, setup
8802 emacs_mule_bytes.
8803 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
8804
8805 2008-02-01 Kenichi Handa <handa@m17n.org>
8806
8807 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
8808 (encode_coding_big5, encode_coding_charset): If coding requires safe
8809 encoding, produce a character specified by
8810 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8811
8812 2008-02-01 Dave Love <fx@gnu.org>
8813
8814 * xterm.c (XSetIMValues): Declare.
8815
8816 * process.c: Conditionally include sys/wait.h, pty.h.
8817
8818 * print.c (print_object): Fix print format for 64-bit systems.
8819
8820 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
8821
8822 * buffer.c (emacs_strerror): Declare.
8823
8824 * fontset.c (Fclear_face_cache): Declare.
8825 (accumulate_font_info): Comment-out (unused).
8826 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
8827 variables.
8828
8829 * character.h (string_escape_byte8): Declare.
8830
8831 * charset.c (load_charset_map, load_charset_map_from_file): Remove
8832 unused vars.
8833 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
8834 (Fmap_charset_chars): Doc fix.
8835
8836 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
8837 (Fset_coding_system_priority, Fset_coding_system_priority)
8838 (Fdefine_coding_system_internal): Doc fix.
8839
8840 2008-02-01 Dave Love <fx@gnu.org>
8841
8842 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
8843
8844 2008-02-01 Kenichi Handa <handa@m17n.org>
8845
8846 * character.c (string_escape_byte8): Make multibyte string with
8847 correct size.
8848
8849 * charset.c (Fmake_char): Delete unnecessary code.
8850
8851 2008-02-01 Kenichi Handa <handa@m17n.org>
8852
8853 * xfns.c (x_encode_text): Allocate coding.destination here, and
8854 call encode_coding_object with dst_object Qnil.
8855
8856 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
8857 multibyte form correctly.
8858
8859 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
8860 against Vfont_encoding_alist.
8861
8862 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
8863 handling of charset list.
8864 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8865 (decode_coding_object): Move point to coding->dst_pos before
8866 calling post-read-conversion function.
8867 (encode_coding_object): Give correct arguments to
8868 pre-write-conversion. Ignore the return value of
8869 pre-write-conversion function. Pay attention to the case that
8870 pre-write-conversion changes the current buffer. If dst_object is
8871 Qt, even if coding->src_bytes is zero, allocate at least one byte
8872 to coding->destination.
8873
8874 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
8875
8876 * charset.c (Fmake_char): Make it more backward compatible.
8877 (Fmap_charset_chars): Fix docstring.
8878
8879 2008-02-01 Dave Love <fx@gnu.org>
8880
8881 * coding.c: Doc fixes.
8882 (Fdefine_coding_system_alias): Use names, not symbols, in
8883 coding-system-alist.
8884
8885 2008-02-01 Kenichi Handa <handa@m17n.org>
8886
8887 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
8888 of calling free_realized_face.
8889
8890 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
8891
8892 * charset.c (read_hex): Don't treat SPC as a comment starter.
8893 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
8894 (Fdecode_char): Fix typo.
8895
8896 2008-02-01 Kenichi Handa <handa@m17n.org>
8897
8898 * charset.h (struct charset): New member `code_space_mask'.
8899
8900 * coding.c (coding_set_source): Delete the local variable beg_byte.
8901 (encode_coding_charset, Fdefine_coding_system_internal):
8902 Delete the local variable charset.
8903 (Fdefine_coding_system_internal): Setup
8904 attrs[coding_attr_charset_valids] correctly.
8905
8906 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
8907 member to check if CODE is valid or not.
8908 (Fdefine_charset_internal): Initialize `code_space_mask' member.
8909 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
8910 is within the range of charset->min_code and carset->max_code.
8911
8912 2008-02-01 Dave Love <fx@gnu.org>
8913
8914 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
8915
8916 * dispextern.h (generate_ascii_font): Fix return type.
8917
8918 * xfaces.c (generate_ascii_font): Fix arg declaration.
8919
8920 * coding.c (coding_inherit_eol_type)
8921 (Fset_terminal_coding_system_internal)
8922 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
8923
8924 2008-02-01 Kenichi Handa <handa@m17n.org>
8925
8926 * coding.c (decode_coding_charset, encode_coding_charset): Handle
8927 multiple charsets correctly.
8928
8929 2008-02-01 Kenichi Handa <handa@m17n.org>
8930
8931 * search.c (boyer_moore): Fix handling of mulitbyte character
8932 translation.
8933
8934 * xdisp.c (display_mode_element): When the variable `elt' is
8935 changed, update `this' and `lisp_string'.
8936
8937 2008-02-01 Kenichi Handa <handa@m17n.org>
8938
8939 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
8940
8941 * callproc.c (Fcall_process): Be sure to give the current buffer
8942 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
8943
8944 * charset.c (struct charset_map_entries): New struct.
8945 (load_charset_map): Rename from parse_charset_map. New args
8946 entries and n_entries. Change caller.
8947 (load_charset_map_from_file): Rename from load_charset_map.
8948 Change caller. New arg control_flag. Call load_charset_map at
8949 the tail.
8950 (load_charset_map_from_vector): New function.
8951 (Fdefine_charset_internal): Setup charset.compact_codes_p.
8952 (encode_char): If the charset is compact, change a character index
8953 to a code point.
8954
8955 * coding.c (coding_alloc_by_making_gap): Check the case that the
8956 source and destination are the same correctly.
8957 (decode_coding_raw_text): Set coding->consumed_char and
8958 coding->consumed to 0.
8959 (produce_chars): If coding->chars_at_source is nonzero, update
8960 coding->consumed_char and coding->consumed before calling
8961 alloc_destination.
8962 (Fdefine_coding_system_alias): Register ALIAS in
8963 Vcoding_system_alist.
8964 (syms_of_coding): Define `no-convesion' coding system at the tail.
8965
8966 * fileio.c (Finsert_file_contents): Set coding_system instead of
8967 val. If the current buffer is multibyte, always call
8968 decode_coding_gap.
8969
8970 * xfaces.c (try_font_list): Give higher priority to fontset's
8971 family than face's family.
8972
8973 2008-02-01 Kenichi Handa <handa@m17n.org>
8974
8975 * callproc.c (Fcall_process): Be sure to give the current buffer
8976 to decode_coding_c_string.
8977
8978 * xfaces.c (try_font_list): Give a family specified in a fontset
8979 higher priority than a family specified in a face.
8980
8981 2008-02-01 Kenichi Handa <handa@m17n.org>
8982
8983 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
8984 Fix arguments to insert_from_buffer.
8985
8986 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
8987
8988 2008-02-01 Kenichi Handa <handa@m17n.org>
8989
8990 * coding.c (produce_chars): Set the variable `multibytep' correctly.
8991 (decode_coding_gap): Set coding->dst_multibyte correctly.
8992
8993 2008-02-01 Kenichi Handa <handa@m17n.org>
8994
8995 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
8996 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
8997 (encode_coding_utf_16): Substitute coding->default_char for
8998 non-Unicode characters.
8999 (decode_coding): Don't call record_insert here.
9000 (setup_coding_system): Initialize `surrogate' of
9001 coding->spec.utf_16 to 0.
9002 (EMIT_ONE_BYTE): Fix for multibyte case.
9003
9004 * insdel.c (insert_from_gap): Call record_insert.
9005
9006 2008-02-01 Kenichi Handa <handa@m17n.org>
9007
9008 * casefiddle.c (casify_region): Fix multibyte case.
9009
9010 * character.c (c_string_width): Add return type `int'.
9011 (char_string_with_unification): Delete arg ADVANCED.
9012
9013 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
9014 (CHAR_STRING): Adjust for the change of char_string_with_unification.
9015 (CHAR_STRING_ADVANCE): Make it do-while statement.
9016
9017 * chartab.c (sub_char_table_set_range): Optimize for the case
9018 DEPTH == 3. Add workaround code for a GCC optimization bug.
9019
9020 * charset.c (parse_charset_map): Remove an unused variable.
9021
9022 * coding.c: Delete unused variables.
9023
9024 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
9025 earlier. If inserted is zero and the coding system doesn't
9026 require flushing, don't call decode_coding_gap.
9027
9028 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
9029
9030 2008-02-01 Kenichi Handa <handa@m17n.org>
9031
9032 The following changes are for using Unicode as an internal
9033 character model, and use UTF-8 format for buffer/string
9034 representation.
9035
9036 * .gdbinit (xchartable): Adjust for the change of char table structure.
9037 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
9038
9039 * Makefile.in (obj): Add character.o and chartab.o.
9040 (lisp, shortlisp): Remove utf-8.elc.
9041 (*.o): For many files, change dependency on charset.h to
9042 character.h, and add dependency on character.h.
9043 (character.o, chartab.o): New targets.
9044
9045 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
9046 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
9047 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
9048 of "charset.h".
9049
9050 * dired.c, filelock.c: Include "character.h".
9051
9052 * alloc.c: Include "character.h" instead of "charset.h".
9053 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
9054 (syms_of_alloc): Remove defsubr for Smake_char_table.
9055
9056 * buffer.c: Include "character.h" instead of "charset.h", don't
9057 include "coding.h".
9058 (Fset_buffer_multibyte): Adjust for UTF-8.
9059
9060 * buffer.h: EXFUN Fbuffer_live_p.
9061
9062 * callproc.c: Include "character.h" instead of "charset.h".
9063 (Fcall_process): Big change for the new code-conversion APIs.
9064
9065 * casetab.c: Include "character.h" instead of "charset.h".
9066 (set_canon, set_identity, shuffle): Adjust for the new
9067 map_char_table spec.
9068 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
9069 accessing the char table structure.
9070
9071 * chartab.c: New file that implements char table.
9072
9073 * category.c: Include "character.h".
9074 (copy_category_entry): New function.
9075 (copy_category_table): Call map_char_table and copy_category_entry.
9076 (Fmake_category_table): Initialize all top-vel slots.
9077 (char_category_set): New function.
9078 (modify_lower_category_set): Delete.
9079 (Fmodify_category_entry): Call char_table_ref_and_range.
9080
9081 * category.h (CATEGORY_SET): Just call char_category_set.
9082
9083 * ccl.c: Include "character.h".
9084 (Qccl, Qcclp): New variables.
9085 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
9086 it's less than 256.
9087 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
9088 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
9089 and DST type.
9090 (ccl_driver): Change types of argument, adjust code accordingly.
9091 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
9092 ccl_driver.
9093 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
9094
9095 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
9096 New members src_multibyte, dst_multibyte, consumed, and produced.
9097 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
9098 (CODING_SPEC_CCL_PROGRAM): New macro.
9099 (ccl_driver): Update prototype.
9100 (Qccl, Qcclp, Fccl_program_p): Extern them.
9101 (CHECK_CCL_PROGRAM): New macro.
9102
9103 * character.c, character.h, chartab.c: New files.
9104
9105 * charset.c: Mostly re-written. Move character and multibyte sequence
9106 handling codes to character.c.
9107
9108 * charset.h: Mostly re-written. Move character and multibyte sequence
9109 handling codes to character.h.
9110
9111 * coding.c, coding.h: Mostly re-written.
9112
9113 * composite.c: Include "character.h" instead of "charset.h".
9114 (CHAR_WIDTH): Move to character.h.
9115 (HASH_KEY, HASH_VALUE): Delete.
9116
9117 * composite.h (enum composition_method): Change order of enumeration
9118 symbols.
9119
9120 * data.c: Include "character.h" instead of "charset.h".
9121 (Faref): Call CHAR_TABLE_REF for a char table.
9122 (Faset): Call CHAR_TABLE_SET for a char table.
9123
9124 * dispextern.h (free_realized_face, check_face_attribytes)
9125 (generate_ascii_font): Extern them.
9126 (free_realized_multibyte_face): Delete extern.
9127
9128 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
9129 table structure.
9130
9131 * editfns.c: Include "character.h" instead of "charset.h".
9132 (Fchar_to_string): Always call CHAR_STRING.
9133
9134 * emacs.c (main): Call init_charset_once, init_charset,
9135 syms_of_chartab, and syms_of_character.
9136
9137 * fileio.c: Include "character.h" instead of "charset.h".
9138 (Finsert_file_contents): Big change for the new code-conversion API.
9139 (choose_write_coding_system, Fwrite_region): Likewise.
9140 (build_annotations_2): Delete.
9141 (e_write): Big change for the new code-conversion API.
9142
9143 * fns.c: Include "character.h" instead of "charset.h".
9144 (copy_sub_char_table): Move to chartab.c.
9145 (Fcopy_sequence): Call copy_char_table for a char table.
9146 (concat): Delete codes calling count_multibyte.
9147 (string_char_to_byte, string_byte_to_char): Adjust for the new
9148 multibyte form.
9149 (internal_equal): Adjust for the change of char table structure.
9150 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
9151 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
9152 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
9153 (char_table_translate, optimize_sub_char_table)
9154 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
9155 chartab.c.
9156 (char_table_ref_and_index): Delete.
9157 (HASH_KEY, HASH_VALUE): Move to lisp.h.
9158 (Fmd5): Call preferred_coding_system instead of accessing
9159 Vcoding_category_list. Adjust for the new code-conversion API.
9160 (syms_of_fns): Move defsubr for char table related functions to
9161 chartab.c.
9162
9163 * fontset.c: Mostly re-written.
9164
9165 * fontset.h (struct font_info): Change type of the member encoding_type.
9166 (enum FONT_SPEC_INDEX): New enum.
9167 (fontset_font_pattern, fs_load_font): Update prototype.
9168 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
9169
9170 * indent.c: Include "character.h" instead of "charset.h".
9171 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
9172
9173 * insdel.c: Include "character.h" instead of "charset.h".
9174 (copy_text): Don't refer to Vnonascii_translation_table.
9175 (insert_from_gap): New function.
9176
9177 * keyboard.c: Include "character.h" instead of "charset.h".
9178 (command_loop_1): Never call direct_output_forward_char before
9179 a non-ASCII character.
9180 (read_char): If Vkeyboard_translate_table is a char table, always
9181 translate a character.
9182
9183 * keymap.c: Include "character.h".
9184 (store_in_keymap): Handle the case that IDX is a cons.
9185 (Fdefine_key): Handle the case that KEY is a cons and the car part
9186 is also a cons (range).
9187 (push_key_description): Adjust for the new character code.
9188 (describe_vector): Call describe_char_table for a char table.
9189 (describe_char_table): New function.
9190
9191 * keymap.h (describe_char_table): Extern it.
9192
9193 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
9194 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
9195 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
9196 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
9197 Delete.
9198 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
9199 structure.
9200 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
9201 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
9202 (CHARTAB_SIZE_BITS_3): New macros.
9203 (chartab_size): Extern it.
9204 (struct Lisp_Char_Table): Re-design.
9205 (struct Lisp_Sub_Char_Table): New structure.
9206 (HASH_KEY, HASH_VALUE): Move from fns.c.
9207 (CHARACTERBITS): Define as 22.
9208 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
9209 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
9210 (GC_SUB_CHAR_TABLE_P): New macro.
9211 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
9212 (code_convert_string_norecord): Deleted extern.
9213 (init_character_once, syms_of_character, init_charset)
9214 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
9215
9216 * lread.c: Include "character.h".
9217 (read_multibyte): New arg NBYTES.
9218 (read_escape): Change the meaning of returned *BYTEREP.
9219 (to_multibyte): Delete.
9220 (read1): Adjust the handling of char table and string.
9221
9222 * print.c: Include "character.h" instead of "charset.h".
9223 (print_string): Convert 8-bit raw bytes to octal form by
9224 string_escape_byte8.
9225 (print_object): Adjust for the new multibyte form. Print 8-bit
9226 raw bytes always in octal form. Handle sub char table correctly.
9227
9228 * process.c: Include "character.h" instead of "charset.h".
9229 (read_process_output, send_process): Adjust for the new
9230 code-conversion API.
9231
9232 * puresize.h (BASE_PURESIZE): Increase.
9233
9234 * regex.c: Include "character.h" instead of "charset.h".
9235 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
9236 (regex_compile): Accept a range whose starting and ending
9237 character have different leading bytes.
9238 (analyse_first): Adjust for the above change.
9239
9240 * search.c: Include "character.h" instead of "charset.h".
9241 (search_buffer, boyer_moore): Adjust for the new multibyte form.
9242 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
9243
9244 * syntax.c: Include "character.h" instead of "charset.h".
9245 (syntax_parent_lookup): Delete.
9246 (Fmodify_syntax_entry): Accept a cons as CHAR.
9247 (skip_chars): Adjust for the new multibyte form.
9248 (init_syntax_once): Call char_table_set_range instead of directly
9249 accessing the structure of a char table.
9250
9251 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
9252 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
9253 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
9254 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
9255
9256 * term.c: Include "buffer.h" and "character.h".
9257 (encode_terminal_code, write_glyphs): Adjust for the new
9258 code-conversion API.
9259 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
9260
9261 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
9262
9263 * xdisp.c: Include "character.h".
9264 (get_next_display_element): Adjust for the new multibyte form.
9265 (disp_char_vector): Adjust for the new char table structure.
9266 (decode_mode_spec_coding): Adjust for the new structure of
9267 coding system.
9268 (decode_mode_spec): Adjust for the new code-conversion API.
9269
9270 * xfaces.c: Include "character.h" instead of "charset.h".
9271 (load_face_font): Adjust for the change of choose_face_font and
9272 FS_LOAD_FONT.
9273 (generate_ascii_font): New function.
9274 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
9275 (set_font_frame_param): Adjust for the change of choose_face_font.
9276 (free_realized_face): Make it public.
9277 (free_realized_faces_for_fontset): Rename from
9278 free_realized_multibyte_face. Free also faces realized for ASCII.
9279 (choose_face_font): Change arguments. Adjust for the change of
9280 fontset_font_pattern and FS_LOAD_FONT.
9281
9282 * xfns.c: Include "character.h".
9283 (x_encode_text): Adjust for the new code-conversion API.
9284
9285 * xselect.c: Don't include "charset.h".
9286 (selection_data_to_lisp_data): Adjust for the new code conversion API.
9287
9288 * xterm.c: Include "character.h".
9289 (x_encode_char): New argument CHARSET. Change caller.
9290 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
9291 Call ENCODE_CHAR instead of SPLIT_CHAR.
9292 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
9293 CHAR_WIDTH instead of CHARSET_WIDTH.
9294 (XTread_socket): Adjust for the new code-conversion API.
9295 (x_new_font): Adjust for the change of FS_LOAD_FONT.
9296 (x_load_font): Adjust for the change of struct font.
9297
9298 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9299
9300 * xfaces.c (face_at_buffer_position): Remove unused vars.
9301
9302 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9303
9304 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
9305 Fix overflow checking.
9306
9307 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9308
9309 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
9310 Cancel previous change.
9311
9312 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
9313
9314 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
9315 ccl->eight_bit_control. Fix check for buffer overflow.
9316 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
9317 (ccl_driver): Initialize extra_bytes to 0.
9318
9319 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
9320
9321 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
9322 return it ORed with ctrl_modifier.
9323
9324 2008-01-29 Miles Bader <miles@gnu.org>
9325
9326 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
9327
9328 2008-01-28 Jason Rumney <jasonr@gnu.org>
9329
9330 * w32.c (stat): Don't double check for networked drive.
9331
9332 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
9333
9334 * window.c (run_window_configuration_change_hook): New function.
9335 Code extracted from set_window_buffer. Set the selected frame.
9336 (set_window_buffer): Use it.
9337 * window.h (run_window_configuration_change_hook): Declare.
9338 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
9339
9340 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
9341
9342 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
9343
9344 * Makefile.in: Remove references to unused macros.
9345
9346 2008-01-26 Eli Zaretskii <eliz@gnu.org>
9347
9348 * w32.c (g_b_init_get_sid_sub_authority)
9349 (g_b_init_get_sid_sub_authority_count): New static variables.
9350 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
9351 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
9352 (init_user_info): Use them to retrieve uid and gid.
9353 Use 500/513, the Windows defaults, as Administrator's uid/gid.
9354 (fstat): Use pw_uid and pw_gid from the_passwd structure for
9355 st_uid and st_gid of the file.
9356
9357 2008-01-26 Jason Rumney <jasonr@gnu.org>
9358
9359 * w32.c (logon_network_drive): New function.
9360 (stat): Use it.
9361
9362 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
9363
9364 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
9365 invisible text covered with an ellipsis.
9366
9367 2008-01-25 Richard Stallman <rms@gnu.org>
9368
9369 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
9370 jump back to beginning. Move some other initializations after that.
9371 (Qwindow_text_change_functions, Vwindow_text_change_functions):
9372 New variables.
9373 (syms_of_xdisp): Init them.
9374
9375 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
9376
9377 * buffer.c (reset_buffer_local_variables):
9378 Implement `permanent-local-hook'.
9379 (Qpermanent_local_hook): New variable.
9380 (syms_of_buffer): Init and staticpro it.
9381
9382 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
9383
9384 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
9385
9386 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
9387
9388 * fns.c (Fclrhash): Return TABLE.
9389
9390 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9391
9392 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
9393 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
9394 is set even without positional changes.
9395 (x_scroll_bar_clear): Set bar->redraw_needed_p.
9396
9397 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
9398
9399 2008-01-23 Jason Rumney <jasonr@gnu.org>
9400
9401 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
9402
9403 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
9404 the unicode range available in MULE by locale-coding-system.
9405 Improve dbcs lead byte detection. Set event timestamp and modifiers
9406 earlier.
9407
9408 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9409
9410 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
9411 [MAC_OSX] (init_mac_osx_environment): Initialize it.
9412 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
9413 when used on child processes.
9414
9415 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
9416
9417 * dbusbind.c (Fdbus_method_return_internal): Rename from
9418 Fdbus_method_return.
9419 (Fdbus_unregister_object): Move to dbus.el.
9420 (Fdbus_call_method, Fdbus_method_return_internal)
9421 (Fdbus_send_signal): Improve debug messages.
9422
9423 2008-01-20 Martin Rudalics <rudalics@gmx.at>
9424
9425 * undo.c (undo_inhibit_record_point): New variable.
9426 (syms_of_undo): Initialize it.
9427 (record_point): Don't record point when undo_inhibit_record_point
9428 is set.
9429
9430 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
9431
9432 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
9433
9434 * xdisp.c (Qauto_hscroll_mode): New var.
9435 (syms_of_xdisp): Initialize it.
9436 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
9437 window's buffer.
9438 (hscroll_windows): Don't check automatic_hscrolling_p here.
9439
9440 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
9441 vscroll if we're setting window-buffer to the value it already has.
9442
9443 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
9444
9445 * m/intel386.h: Remove references to XENIX.
9446
9447 2008-01-17 Andreas Schwab <schwab@suse.de>
9448
9449 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
9450 instead of HAVE_X86_64_LIB64_DIR.
9451 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
9452
9453 2008-01-17 Glenn Morris <rgm@gnu.org>
9454
9455 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
9456 to HAVE_X86_64_LIB64_DIR.
9457
9458 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
9459
9460 * s/irix3-3.h:
9461 * s/irix4-0.h:
9462 * s/386-ix.h:
9463 * s/domain.h:
9464 * s/hpux9-x11r4.h:
9465 * s/hpux9shxr4.h: Remove files for systems no longer supported.
9466
9467 * sysdep.c: Remove code containing references to symbols defined
9468 by unsupported systems.
9469
9470 2008-01-16 Glenn Morris <rgm@gnu.org>
9471
9472 * coding.c (select-safe-coding-system-function): Doc fix.
9473
9474 2008-01-15 Glenn Morris <rgm@gnu.org>
9475
9476 * config.in: Revert 2008-01-13 change: this is a generated file.
9477
9478 2008-01-13 Tom Tromey <tromey@redhat.com>
9479
9480 * lisp.h: Fix typo.
9481
9482 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
9483
9484 * m/sequent-ptx.h:
9485 * m/sequent.h:
9486 * s/ptx.h:
9487 * s/ptx4-2.h:
9488 * s/ptx4.h: Remove files for systems no longer supported.
9489
9490 * callproc.c (Fcall_process): Fix previous change.
9491
9492 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
9493
9494 * unexsunos4.c: Remove file, system not supported anymore.
9495
9496 * m/mips.h:
9497 * m/intel386.h:
9498 * callproc.c:
9499 * config.in:
9500 * ecrt0.c:
9501 * emacs.c:
9502 * fileio.c:
9503 * frame.c:
9504 * getpagesize.h:
9505 * keyboard.c:
9506 * lread.c:
9507 * process.c:
9508 * puresize.h:
9509 * sysdep.c:
9510 * systty.h:
9511 * syswait.h:
9512 * unexec.c:
9513 * xdisp.c:
9514 * alloc.c: Remove code containing references to symbols defined by
9515 unsupported systems.
9516
9517 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
9518
9519 * coding.c (detect_coding_mask): Fix previous change.
9520
9521 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
9522
9523 * coding.c (detect_coding_iso2022): New arg
9524 latin_extra_code_state. Allow Latin extra codes only
9525 when *latin_extra_code_state is nonzero.
9526 (detect_coding_mask): If there is a NULL byte, detect the encoding
9527 as UTF-16 or binary. If Latin extra codes exist, detect the
9528 encoding as ISO-2022 only when there's no other proper encoding is
9529 found.
9530
9531 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9532
9533 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
9534 #ifdef MAC_OS.
9535
9536 2008-01-08 Richard Stallman <rms@gnu.org>
9537
9538 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
9539
9540 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
9541
9542 * keyboard.c (parse_menu_item): Don't enclose key bindings on
9543 menu bar in parentheses.
9544
9545 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
9546
9547 * m/7300.h:
9548 * m/acorn.h:
9549 * m/alliant-2800.h:
9550 * m/alliant.h:
9551 * m/alliant1.h:
9552 * m/alliant4.h:
9553 * m/altos.h:
9554 * m/amdahl.h:
9555 * m/apollo.h:
9556 * m/att3b.h:
9557 * m/aviion-intel.h:
9558 * m/aviion.h:
9559 * m/celerity.h:
9560 * m/clipper.h:
9561 * m/cnvrgnt.h:
9562 * m/convex.h:
9563 * m/cydra5.h:
9564 * m/delta88k.h:
9565 * m/dpx2.h:
9566 * m/dual.h:
9567 * m/elxsi.h:
9568 * m/f301.h:
9569 * m/gould-np1.h:
9570 * m/gould.h:
9571 * m/i860.h:
9572 * m/ibmps2-aix.h:
9573 * m/ibmrt-aix.h:
9574 * m/ibmrt.h:
9575 * m/irist.h:
9576 * m/is386.h:
9577 * m/isi-ov.h:
9578 * m/mega68.h:
9579 * m/mg1.h:
9580 * m/news-r6.h:
9581 * m/news-risc.h:
9582 * m/news.h:
9583 * m/nh3000.h:
9584 * m/nh4000.h:
9585 * m/ns16000.h:
9586 * m/ns32000.h:
9587 * m/nu.h:
9588 * m/orion.h:
9589 * m/orion105.h:
9590 * m/paragon.h:
9591 * m/pfa50.h:
9592 * m/plexus.h:
9593 * m/pyramid.h:
9594 * m/pyrmips.h:
9595 * m/sh3el.h:
9596 * m/sps7.h:
9597 * m/sr2k.h:
9598 * m/stride.h:
9599 * m/sun1.h:
9600 * m/sun2.h:
9601 * m/sun3-68881.h:
9602 * m/sun3-fpa.h:
9603 * m/sun3-soft.h:
9604 * m/sun3.h:
9605 * m/sun386.h:
9606 * m/symmetry.h:
9607 * m/tad68k.h:
9608 * m/tahoe.h:
9609 * m/targon31.h:
9610 * m/tek4300.h:
9611 * m/tekxd88.h:
9612 * m/tower32.h:
9613 * m/tower32v3.h:
9614 * m/ustation.h:
9615 * m/wicat.h:
9616 * m/xps100.h:
9617 * s/cxux.h:
9618 * s/cxux7.h:
9619 * s/dgux.h:
9620 * s/dgux4.h:
9621 * s/dgux5-4-3.h:
9622 * s/dgux5-4r2.h:
9623 * s/esix.h:
9624 * s/esix5r4.h:
9625 * s/hiuxmpp.h:
9626 * s/hiuxwe2.h:
9627 * s/iris3-5.h:
9628 * s/iris3-6.h:
9629 * s/isc2-2.h:
9630 * s/isc3-0.h:
9631 * s/isc4-0.h:
9632 * s/isc4-1.h:
9633 * s/newsos5.h:
9634 * s/newsos6.h:
9635 * s/osf1.h:
9636 * s/osf5-0.h:
9637 * s/riscix1-1.h:
9638 * s/riscix12.h:
9639 * s/sco4.h:
9640 * s/sco5.h:
9641 * s/sunos4-0.h:
9642 * s/sunos4-1.h:
9643 * s/sunos413.h:
9644 * s/sunos4shr.h:
9645 * s/umax.h:
9646 * s/unipl5-2.h:
9647 * s/xenix.h:
9648 * cxux-crt0.s:
9649 * unexapollo.c:
9650 * unexconvex.c:
9651 * unexenix.c:
9652 * unexsni.c: Remove files for systems no longer supported.
9653
9654 * m/intel386.h: Remove references to unsupported systems.
9655
9656 * w32.c (get_emacs_configuration): Remove reference to i860.
9657
9658 * sysdep.c: Remove dead code.
9659
9660 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
9661
9662 * s/rtu.h:
9663 * m/masscomp.h: Remove files. Platform is obsolete.
9664
9665 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
9666
9667 * dbusbind.c (Fdbus_method_return): New function.
9668 (xd_read_message): Add the serial number to the event.
9669 (Fdbus_register_method): Activate the function.
9670
9671 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
9672
9673 * keyboard.c (read_key_sequence): Fix typo.
9674
9675 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
9676
9677 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
9678 (xd_signature, xd_append_arg): Handle element type detection for
9679 empty arrays.
9680 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
9681 SDATA () calls; this must be solved more general.
9682 (Fdbus_register_signal): Use SBYTES instead of strlen.
9683
9684 2008-01-03 Magnus Henoch <magnus@zemdatav>
9685
9686 * dbusbind.c (xd_append_arg): Use unsigned char instead of
9687 unsigned int for byte values (necessary for big-endian platform).
9688 (Fdbus_call_method): Handle the case of no returned arguments.
9689
9690 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
9691
9692 * dbusbind.c (xd_read_message): Use non-static input_event struct.
9693
9694 2007-12-31 Magnus Henoch <mange@freemail.hu>
9695
9696 * dbusbind.c (xd_signature): Signature of variant is just "v".
9697
9698 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
9699
9700 * dbusbind.c: Fix several errors and compiler warnings.
9701 Reported by Tom Tromey <tromey@redhat.com>.
9702 (XD_ERROR, XD_DEBUG_MESSAGE)
9703 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
9704 (xd_append_arg): Part for basic D-Bus types rewitten.
9705 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
9706 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
9707 appropriate.
9708 (xd_read_message): Return Qnil. Don't signal an error; it is not
9709 useful during event reading.
9710 (Fdbus_register_signal): Signal an error if the check for
9711 FUNCTIONP fails.
9712 (Fdbus_register_method): New function. The implementation is not
9713 complete, the call of the function signals an error therefore.
9714 (Fdbus_unregister_object): New function, renamed from
9715 Fdbus_unregister_signal. The initial check signals an error, if
9716 the object is not well formed.
9717
9718 2007-12-30 Richard Stallman <rms@gnu.org>
9719
9720 * textprop.c (get_char_property_and_overlay):
9721 Signal error if POSITION is out of range in a buffer.
9722
9723 2007-12-29 Martin Rudalics <rudalics@gmx.at>
9724
9725 * w32fns.c (Fx_create_frame): Make copy of frame parameters
9726 because the original parameters are in pure storage now.
9727
9728 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9729
9730 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
9731
9732 2007-12-22 Eli Zaretskii <eliz@gnu.org>
9733
9734 * callint.c (syms_of_callint) <command-history>: Add reference to
9735 history-length in the doc string.
9736
9737 2007-12-17 Jason Rumney <jasonr@gnu.org>
9738
9739 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
9740 before passing as wParam.
9741
9742 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
9743
9744 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
9745 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
9746 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
9747 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
9748 as number.
9749 (Fdbus_call_method): Fix docstring.
9750
9751 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
9752
9753 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
9754 New macros.
9755 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
9756 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
9757 Simplify.
9758 (xd_signature): New function.
9759 (xd_append_arg): Compute also signatures. Major rewrite.
9760 (xd_retrieve_arg): Make debug messages friendly.
9761 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
9762 Check for signatures of arguments.
9763
9764 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
9765
9766 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
9767 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
9768 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
9769 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
9770 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
9771 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
9772 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
9773 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
9774 (xd_retrieve_value): Remove. Functionality included in ...
9775 (xd_append_arg): New function.
9776 (Fdbus_call_method, Fdbus_send_signal): Apply it.
9777
9778 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
9779
9780 * dbusbind.c (top): Include <stdio.h>.
9781 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
9782 dbus_message_new_method_call and dbus_message_new_signal.
9783 (Fdbus_register_signal): Rename unique_name to uname.
9784 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
9785 non-existing unique name. Fix typos in matching rule. Return an
9786 object which is useful in Fdbus_unregister_signal.
9787 (Fdbus_unregister_signal): Reimplementation, in order to remove
9788 only the corresponding entry.
9789 (Vdbus_registered_functions_table): Change the order of entries.
9790 Apply these changes in xd_read_message and Fdbus_register_signal.
9791
9792 2007-12-16 Andreas Schwab <schwab@suse.de>
9793
9794 * fileio.c (Finsert_file_contents): Fix overflow check to not
9795 depend on undefined integer overflow.
9796
9797 2007-12-14 Jason Rumney <jasonr@gnu.org>
9798
9799 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
9800 for characters above 127.
9801
9802 2007-12-13 Jason Rumney <jasonr@gnu.org>
9803
9804 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
9805 before dereferencing array.
9806 (lookup_vk_code): Remove zero comparison.
9807
9808 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
9809
9810 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
9811 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
9812 Use `unsigned int' instead of `uint'.
9813 (xd_read_message, Fdbus_register_signal): Split expressions into
9814 multiple lines before operators "&&" and "||", according to the
9815 GNU Coding Standards.
9816
9817 2007-12-14 Eli Zaretskii <eliz@gnu.org>
9818
9819 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
9820
9821 2007-12-12 Juri Linkov <juri@jurta.org>
9822
9823 * buffer.c (Frename_buffer): In interactive spec replace
9824 `read-buffer' with `read-string' that uses `buffer-name-history'
9825 as history, and the current buffer's name as default.
9826
9827 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
9828
9829 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
9830 manipulating the backtrace manually.
9831 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
9832 (struct backtrace, backtrace_list): Remove.
9833 (command_loop_1): Remove dead var `no_direct'.
9834
9835 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
9836 preserve non-built-in buffer-local variables.
9837 (Fkill_all_local_variables): Don't re-create&re-set permanent
9838 buffer-local variables.
9839
9840 2007-12-09 Juri Linkov <juri@jurta.org>
9841
9842 * buffer.c (Frename_buffer): Change interactive spec from "s" to
9843 Lisp code that uses `read-buffer' with current buffer as default.
9844
9845 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
9846
9847 * dbusbind.c (xd_read_message): Generate an event for every
9848 registered handler. There might be several handlers registered
9849 for the same signal.
9850 (Fdbus_register_signal): Don't overwrite a registration for the
9851 same signal. Add a new registration if handlers are different.
9852 (Vdbus_registered_functions_table): Rework doc string.
9853
9854 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
9855
9856 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
9857 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
9858 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
9859 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
9860 Unify argument lists.
9861 (xd_read_message, Fdbus_register_signal): Reorder and extend event
9862 arguments and hash table keys. Use unique name for service.
9863 (Fdbus_unregister_signal): Remove checks.
9864 (Vdbus_registered_functions_table): Fix doc string.
9865
9866 2007-12-05 Magnus Henoch <mange@freemail.hu>
9867
9868 * process.c (make_process): Initialize pty_flag to 0.
9869
9870 2007-12-05 Jason Rumney <jasonr@gnu.org>
9871
9872 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
9873 specified XBMs.
9874
9875 2007-12-05 Richard Stallman <rms@gnu.org>
9876
9877 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
9878
9879 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9880
9881 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
9882 New variable.
9883 (mac_try_close_socket) [MAC_OSX]: New function.
9884 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
9885 Update cfsockets_for_select. Replace invalid CFRunLoop source.
9886
9887 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
9888 Use mac_try_close_socket.
9889
9890 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9891
9892 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
9893 reloc_base.
9894 (copy_dysymtab): Compute relocation base here.
9895 (rebase_reloc_address) [__ppc64__]: New function.
9896 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
9897 changed.
9898
9899 2007-12-05 Jason Rumney <jasonr@gnu.org>
9900
9901 * w32proc.c (sys_spawnve): Quote args with wildcards.
9902
9903 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9904
9905 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
9906 __objc_* sections.
9907 (unrelocate) [_LP64]: Set relocation base to address of data segment.
9908
9909 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
9910
9911 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
9912 Move check for Vdbus_registered_functions_table to
9913 xd_read_queued_messages.
9914 (xd_read_queued_messages): Protect xd_read_message calls by
9915 internal_condition_case_1.
9916
9917 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
9918
9919 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
9920 Qdbus_system_bus and Qdbus_session_bus, respectively.
9921 (Vdbus_intern_symbols): Remove.
9922 (Vdbus_registered_functions_table): New hash table.
9923 (XD_SYMBOL_INTERN_SYMBOL): Remove.
9924 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
9925 Rewrite in order to manage registered functions by hash table
9926 Vdbus_registered_functions_table.
9927
9928 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
9929
9930 * xterm.c: Update URL to Window Manager Specification in comment.
9931
9932 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
9933
9934 * config.in (HAVE_DBUS): Add.
9935
9936 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
9937 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
9938 (obj): Add $(DBUS_OBJ).
9939 (LIBES): Add $(DBUS_LIBS).
9940 (dbusbind.o): New target.
9941
9942 * dbusbind.c: New file.
9943
9944 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
9945
9946 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
9947 (Qdbus_event): New Lisp symbol.
9948 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
9949 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
9950 (keys_of_keyboard ): Define dbus-event.
9951
9952 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
9953
9954 2007-12-01 Richard Stallman <rms@gnu.org>
9955
9956 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
9957
9958 2007-11-30 Jason Rumney <jasonr@gnu.org>
9959
9960 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
9961 (w32con_reset_terminal_modes): Clear screen buffer.
9962 (w32_face_attributes): Don't use color indexes that are out of range.
9963 Only reverse the default colors.
9964
9965 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
9966 WINDOWSNT.
9967
9968 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
9969
9970 2007-11-29 Jason Rumney <jasonr@gnu.org>
9971
9972 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
9973 (w32_face_attributes): Use Vtty_defined_color_alist to determine
9974 if the terminal colors are initialized.
9975 (unspecified_fg, unspecified_bg): Remove unused declarations.
9976
9977 2007-11-29 Andreas Schwab <schwab@suse.de>
9978
9979 * keyboard.c (apply_modifiers): Fix typo.
9980
9981 2007-11-29 Richard Stallman <rms@gnu.org>
9982
9983 * keymap.c (Fcurrent_local_map): Doc fix.
9984
9985 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
9986
9987 * s/gnu-kfreebsd.h: New file.
9988
9989 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
9990
9991 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
9992 Don't cast redundantly.
9993
9994 * keyboard.c (KEY_TO_CHAR): New macro.
9995 (parse_modifiers, apply_modifiers): Accept integer arguments.
9996 (read_key_sequence): Use them to unify the "shift->unshift" mapping
9997 for chars and symbol keys.
9998 After doing such remapping, apply function-key-map again.
9999
10000 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
10001
10002 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
10003 compiled anymore.
10004
10005 2007-11-26 Andreas Schwab <schwab@suse.de>
10006
10007 * process.c (list_processes_1): Fix indentation level of the
10008 command column.
10009
10010 2007-11-23 Andreas Schwab <schwab@suse.de>
10011
10012 * editfns.c (Fformat): Handle %c specially since it requires the
10013 argument to be of type int.
10014
10015 2007-11-23 Markus Triska <markus.triska@gmx.at>
10016
10017 * emacs.c (main): Call init_editfns before init_process, since
10018 init_process sets Vprocess_connection_type depending on OS release.
10019
10020 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
10021
10022 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
10023 (find_symbol_value): Use do_symval_forwarding.
10024
10025 * data.c (set_internal): Set the value in the `cons-cell' (for
10026 Buffer_Local_values) not only for frame-local variables.
10027
10028 2007-11-22 Andreas Schwab <schwab@suse.de>
10029
10030 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
10031 values to sprintf.
10032 * keymap.c (Fsingle_key_description): Likewise.
10033 * print.c (print_object): Likewise.
10034
10035 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
10036
10037 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
10038 file for image is nil.
10039
10040 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
10041
10042 * term.c: Include stdarg.h.
10043 (fatal): Implement using varargs.
10044 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
10045
10046 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10047
10048 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
10049 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
10050 Update call to buffer_slot_type_mismatch.
10051 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
10052 (buffer_slot_type_mismatch): Update.
10053 * buffer.c (buffer_local_types): Remove.
10054 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
10055 (defvar_per_buffer): Set the type in the buffer_objfwd.
10056
10057 2007-11-21 Jason Rumney <jasonr@gnu.org>
10058
10059 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
10060 CreateFileMapping returns NULL on failure.
10061
10062 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10063
10064 * search.c (Fset_match_data): Remove the `evaporate' feature.
10065 (unwind_set_match_data): Don't use the `evaporate' feature.
10066
10067 2007-11-21 Jason Rumney <jasonr@gnu.org>
10068
10069 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
10070
10071 * w32console.c (w32con_write_glyphs): Remove unused variables.
10072
10073 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
10074
10075 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
10076
10077 * s/darwin.h (MULTI_KBOARD): Remove.
10078
10079 * macfns.c (x_create_tip_frame, Fx_create_frame)
10080 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
10081
10082 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
10083
10084 * buffer.c (Fbuffer_local_value): Remove redundant test.
10085 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
10086 than in `current-buffer' to match the comment.
10087 Do the swap using swap_in_global_binding.
10088
10089 * data.c (store_symval_forwarding, set_internal):
10090 * eval.c (specbind): Remove dead code.
10091
10092 * coding.c (detect_coding, Fupdate_coding_systems_internal):
10093 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
10094 Since we do not want to see internal Lisp_*fwd objects here.
10095
10096 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
10097
10098 * sysdep.c (init_system_name): Use getaddrinfo if available.
10099
10100 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
10101 (x_scroll_bar_note_movement): start, end, with, height in struct
10102 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
10103
10104 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
10105
10106 * puresize.h (BASE_PURESIZE): Increase to 1190000.
10107
10108 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
10109
10110 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
10111 This undoes Richard's change of 14-Oct-2002.
10112
10113 * alloc.c (allocate_other_vector):
10114 * lisp.h (allocate_other_vector): Remove.
10115
10116 * window.c (struct save_window_data): Move non-lisp data to the end
10117 and make it `int' rather than Lisp_Object.
10118 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
10119 Done wrap/unwrap integer values.
10120 (Fset_window_configuration, compare_window_configurations):
10121 Update use of fields to their new types.
10122
10123 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
10124 Turn integer fields into `int'. Merge x_window_low and x_window_high.
10125 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
10126 (SET_SCROLL_BAR_X_WINDOW): Remove.
10127 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
10128 Access the new x_window field directly.
10129 * xterm.c (x_scroll_bar_create): Use a pseudovector.
10130 Don't wrap/unwrap integers into Lisp_Objects.
10131 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
10132 (x_scroll_bar_report_motion):
10133 Don't wrap/unwrap integers into Lisp_Objects.
10134 (x_term_init): Use SDATA.
10135 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
10136 (x_scroll_bar_set_handle, x_scroll_bar_remove)
10137 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
10138 (x_scroll_bar_report_motion, x_scroll_bar_clear):
10139 * xfns.c (x_set_background_color):
10140 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
10141 Access the new x_window field directly.
10142
10143 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
10144 (allocate_pseudovector): Make non-static.
10145
10146 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
10147 (allocate_pseudovector): Declare.
10148 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
10149
10150 2007-11-15 Andreas Schwab <schwab@suse.de>
10151
10152 * editfns.c (Fformat): Correctly format EMACS_INT values.
10153 Also take precision into account when formatting an integer.
10154
10155 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
10156
10157 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
10158
10159 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
10160 (syms_of_keyboard): Defsubr it.
10161
10162 * data.c (swap_in_global_binding): Fix longstanding bug where
10163 store_symval_forwarding was not called with the right second argument,
10164 thus causing objfwd-ing from being dropped.
10165
10166 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
10167
10168 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
10169 (Fx_display_pixel_height, Fx_display_planes)
10170 (Fx_display_color_cells, Fx_server_max_request_size)
10171 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10172 (Fx_display_visual_class, Fx_display_save_under):
10173 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
10174 (Fx_display_pixel_height, Fx_display_planes)
10175 (Fx_display_color_cells, Fx_server_max_request_size)
10176 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
10177 (Fx_display_mm_height, Fx_display_mm_width)
10178 (Fx_display_backing_store, Fx_display_visual_class)
10179 (Fw32_select_font, Fx_display_save_under):
10180 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
10181 (Fx_display_pixel_height, Fx_display_planes)
10182 (Fx_display_color_cells, Fx_server_max_request_size)
10183 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10184 (Fx_display_save_under): Fix typos in docstrings.
10185
10186 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
10187
10188 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
10189 corresponding to deleted entries; they are an implementation detail.
10190 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
10191 Remove variables.
10192 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
10193 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
10194 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
10195 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
10196 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
10197 (Fw32_define_rgb_color, Fw32_load_color_file)
10198 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
10199 Fix typos in docstrings.
10200 (Fx_server_version): Reflow docstring.
10201 (Fw32_shell_execute): Doc fixes.
10202
10203 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
10204
10205 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
10206 if w32_parse_hot_key returned nil.
10207
10208 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
10209
10210 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
10211
10212 2007-11-09 Jason Rumney <jasonr@gnu.org>
10213
10214 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
10215
10216 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
10217
10218 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
10219 Remove W32_SCROLL_BAR_CLICK_EVENT.
10220
10221 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
10222 Add MULTIMEDIA_KEY_EVENT.
10223
10224 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
10225 (lispy_multimedia_keys) [WINDOWSNT]: New array.
10226 (make_lispy_event) [WINDOWSNT]: Use it to translate
10227 MULTIMEDIA_KEY_EVENT.
10228
10229 * w32term.h (WM_APPCOMMAND): Define if not already.
10230 (GET_APPCOMMAND_LPARAM): Likewise.
10231
10232 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
10233 WM_APPCOMMAND.
10234
10235 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
10236 (syms_of_w32fns): Export and initialize it.
10237 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
10238
10239 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
10240
10241 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
10242 twice.
10243
10244 * xdisp.c (handle_face_prop): Fix last change.
10245
10246 2007-11-09 Richard Stallman <rms@gnu.org>
10247
10248 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
10249 not just for after-strings and before-strings.
10250 Call face_for_overlay_string and pass the overlay to it.
10251 (handle_display_prop): Determine whether property came from an overlay.
10252 Pass OVERLAY arg to handle_single_display_spec.
10253 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
10254 (load_overlay_strings): Fill in it->string_overlays.
10255 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
10256
10257 * xfaces.c (face_for_overlay_string): Function renamed from
10258 face_at_buffer_position_no_overlays, and add arg OVERLAY.
10259
10260 * dispextern.h (struct it): New elt string_overlays.
10261 New elt from_overlay, also in stack.
10262 Rearrange a few elements.
10263 (face_for_overlay_string): Decl renamed from
10264 face_at_buffer_position_no_overlays, and add argument.
10265
10266 2007-11-09 Richard Stallman <rms@gnu.org>
10267
10268 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
10269 to get the base face for an overlay string.
10270
10271 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
10272
10273 * xfaces.c (face_at_buffer_position_no_overlays): New function.
10274
10275 * xdisp.c (handle_stop): Move some code out of loop.
10276
10277 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10278
10279 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
10280 Fix conversion from Lisp object to ATSUFontID.
10281
10282 2007-11-09 Jason Rumney <jasonr@gnu.org>
10283
10284 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
10285
10286 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10287
10288 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
10289 Don't assume regions are aligned to page boundary.
10290 (print_load_command_name): Add LC_UUID if defined.
10291
10292 2007-11-09 Richard Stallman <rms@gnu.org>
10293
10294 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
10295
10296 2007-11-07 Jason Rumney <jasonr@gnu.org>
10297
10298 * s/windows95.h: Remove.
10299
10300 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
10301
10302 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
10303 abort with a message on unhandled store_type values.
10304
10305 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
10306
10307 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
10308 Remove HAVE_X11R5 and HAVE_X11R4.
10309
10310 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
10311
10312 * Makefile.in: Remove references to sunfns.c and sunfns.o.
10313
10314 2007-11-01 Johan Bockgård <bojohan@gnu.org>
10315
10316 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
10317 Don't set s->stippled_p here, since it has already been set by
10318 x_set_glyph_string_gc from x_draw_glyph_string.
10319
10320 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
10321
10322 * sunfns.c: Remove file.
10323
10324 * m/sun386.h:
10325 * m/sun2.h:
10326 * m/sparc.h: Remove Sun windows code.
10327
10328 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
10329
10330 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
10331 (init_keyboard): Set current_kboard's window-system to nil.
10332 (tty_read_avail_input): Typo.
10333 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
10334
10335 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
10336
10337 * s/usg5-4.h:
10338 * s/usg5-3.h:
10339 * s/ptx.h:
10340 * m/is386.h:
10341 * m/ibmps2-aix.h:
10342 * Makefile.in: Remove all mentions of X10.
10343
10344 * dispnew.c (syms_of_display): Don't mention version 10.
10345
10346 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
10347
10348 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
10349 ($(BLD)/abbrev.$(O)): Remove.
10350
10351 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
10352
10353 Rewrite abbrev.c in Elisp.
10354 * image.c (Qcount): Don't declare as extern.
10355 (syms_of_image): Initialize and staticpro `Qcount'.
10356 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
10357 * emacs.c (main): Don't call syms_of_abbrev.
10358 * Makefile.in (obj): Remove abbrev.o.
10359 (abbrev.o): Remove.
10360 * abbrev.c: Remove.
10361
10362 2007-10-26 Martin Rudalics <rudalics@gmx.at>
10363
10364 * window.c (window_min_size_2): Don't count header-line.
10365
10366 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
10367
10368 * frame.h (struct frame): Move all bit fields after the first bit
10369 field to take advantage of the available space. Group all the
10370 chars together to reduce wasted space due to padding.
10371
10372 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
10373
10374 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
10375
10376 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
10377 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
10378 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
10379 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
10380 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
10381 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
10382 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
10383 (last_marked, mark_object_loop_halt): Make static.
10384
10385 * frame.c (syms_of_frame) <delete-frame-functions>:
10386 Fix typo in docstring.
10387
10388 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
10389
10390 * w32.c (init_environment): Fix tiny memory leak.
10391 (w32_get_resource): Remove unused variable `ok'.
10392
10393 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
10394
10395 Make `window-system' into a keyboard-local variable (rather than
10396 frame-local as done originally by multi-tty).
10397
10398 * keyboard.h (struct kboard): Add Vwindow_system.
10399 * keyboard.c (init_kboard): Set a default for Vwindow_system.
10400 (mark_kboards): Mark Vwindow_system.
10401
10402 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
10403 (init_display): Don't set the obsolete `window-system' frame-param.
10404
10405 * xterm.c (x_term_init):
10406 * w32term.c (w32_create_terminal):
10407 * term.c (init_tty): Set Vwindow_system.
10408 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
10409 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
10410
10411 * xfns.c (Fx_create_frame, x_create_tip_frame):
10412 * w32fns.c (Fx_create_frame, x_create_tip_frame):
10413 * macfns.c (Fx_create_frame):
10414 Don't set the obsolete `window-system' frame-param.
10415
10416 * frame.h (Qwindow_system): Remove.
10417 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
10418 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
10419
10420 2007-10-24 Richard Stallman <rms@gnu.org>
10421
10422 * frame.c (x_figure_window_size): For fullscreen case,
10423 set USPosition | PPosition without clobbering rest of window_prompting.
10424
10425 * keyboard.c (Fcurrent_idle_time): Doc fix.
10426
10427 * print.c (Fwith_output_to_temp_buffer): Doc fix.
10428
10429 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
10430
10431 * process.c (unwind_request_sigio): Only define if __ultrix__.
10432
10433 * callproc.c (child_setup): Remove spurious *.
10434
10435 * lisp.h (Fget_text_property): Declare.
10436 (have_menus_p): Declare it here rather than in sys-dep header files.
10437 * macterm.h (have_menus_p):
10438 * msdos.h (have_menus_p):
10439 * xterm.h (have_menus_p): Remove.
10440
10441 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
10442 (Fmake_variable_frame_local): Just check the variable's const-ness
10443 rather than checking nil or t.
10444
10445 2007-10-22 Jason Rumney <jasonr@gnu.org>
10446
10447 * w32fns.c: Include math.h.
10448 (w32_abort): Declaration moved to nt/config.nt.
10449
10450 * s/ms-w32.h (HAVE_STDLIB_H): Define.
10451 (abort): Redefinition moved to nt/config.nt.
10452
10453 * m/windowsnt.h: Remove.
10454
10455 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
10456
10457 * emacs.c (Fdump_emacs): Fix typo in message.
10458 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
10459 <installation-directory>: Reflow docstring.
10460
10461 2007-10-22 Juri Linkov <juri@jurta.org>
10462
10463 * minibuf.c: Allow minibuffer default to be a list of default values.
10464 With empty input use the first element of this list as returned default.
10465 (string_to_object)
10466 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
10467 (read_minibuf): If defalt is cons, set histstring to its car.
10468 (Fread_string): If default_value is cons, set val to its car.
10469 (Fread_buffer): If def is cons, use its car.
10470 (Fcompleting_read): If defalt is cons, set val to its car.
10471
10472 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
10473
10474 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
10475
10476 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
10477
10478 * doc.c (Fdocumentation): Check for advice in all cases.
10479
10480 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
10481
10482 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
10483
10484 2007-10-19 Richard Stallman <rms@gnu.org>
10485
10486 * doc.c (Fdocumentation): Check for and handle an advised function.
10487
10488 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
10489
10490 * process.c (Fset_process_filter): Doc fix.
10491
10492 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
10493
10494 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
10495 which caused key-translation-map to applied repeatedly (thus breaking
10496 double-mode).
10497
10498 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
10499
10500 * xselect.c (x_own_selection, x_handle_selection_clear)
10501 (x_clear_frame_selections):
10502 * w32menu.c (list_of_panes, list_of_items):
10503 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
10504 * textprop.c (validate_plist, interval_has_all_properties)
10505 (interval_has_some_properties, interval_has_some_properties_list)
10506 (add_properties, text_property_list):
10507 * process.c (Fget_buffer_process, list_processes_1, status_notify):
10508 * minibuf.c (Fassoc_string):
10509 * macselect.c (x_own_selection, x_clear_frame_selections)
10510 (Fx_disown_selection_internal):
10511 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
10512 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
10513
10514 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
10515
10516 * process.c: Link to libs for calling res_init() if available.
10517 (Fmake_network_process): Call res_init() before getaddrinfo or
10518 gethostbyname, if possible.
10519
10520 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
10521
10522 * lread.c (read1): Set pvectype for char_tables.
10523
10524 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
10525 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
10526 Add type checks.
10527 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
10528
10529 * alloc.c (free_misc): Use XMISCTYPE.
10530 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
10531
10532 2007-10-17 Glenn Morris <rgm@gnu.org>
10533
10534 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
10535 (syms_of_minibuf): Add Qcompletion_ignore_case.
10536 * dired.c (Qcompletion_ignore_case): Change to external.
10537 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
10538 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
10539 (Fread_file_name): Use it rather than intern'ing.
10540
10541 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
10542 (Fread_coding_system): Ignore case of user input.
10543
10544 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10545
10546 * xdisp.c (handle_display_prop): Ignore display specs after
10547 replacing one when string text is being replaced.
10548 (handle_single_display_spec): Pretend as if characters with display
10549 property haven't been consumed only when buffer text is being replaced.
10550
10551 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
10552
10553 * xfns.c (Fx_create_frame, Fx_display_list):
10554 * window.c (window_fixed_size_p, enlarge_window)
10555 (shrink_window_lowest_first):
10556 * macterm.c (init_font_name_table):
10557 * macfns.c (Fx_create_frame, Fx_display_list):
10558 * lread.c (close_load_descs):
10559 * keyboard.c (read_char_x_menu_prompt):
10560 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
10561 * coding.c (code_convert_region_unwind): Test the type of an object
10562 rather than just !NILP before extracting data from it.
10563
10564 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
10565
10566 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
10567 (XMISCANY): New macro.
10568 (XMISCTYPE): Use it.
10569 (struct Lisp_Misc_Any): New type.
10570 (union Lisp_Misc): Use it.
10571 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
10572 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
10573 (find_symbol_value, set_internal, default_value, Fset_default)
10574 (Fmake_variable_buffer_local, Fmake_local_variable)
10575 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
10576 (Flocal_variable_if_set_p, Fvariable_binding_locus):
10577 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
10578 * alloc.c (allocate_buffer): Set the size and tag.
10579 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
10580 Use XMISCANY.
10581 (die): Follow the GNU convention for error messages.
10582 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
10583 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
10584 tag any more.
10585 (set_buffer_internal_1):
10586 * frame.c (store_frame_param):
10587 * eval.c (specbind):
10588 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
10589
10590 * doc.c (Fsnarf_documentation): Simplify.
10591
10592 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
10593
10594 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
10595 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
10596
10597 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
10598
10599 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
10600
10601 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
10602
10603 * eval.c (do_autoload): Don't save autoloads.
10604
10605 * data.c (Ffset): Save autoload of the function being set.
10606
10607 2007-10-07 John Paul Wallington <jpw@pobox.com>
10608
10609 * xfns.c (x_create_tip_frame): Set the `display-type' frame
10610 parameter before setting up faces.
10611
10612 2007-10-13 Eli Zaretskii <eliz@gnu.org>
10613
10614 * ccl.c (Fregister_code_conversion_map):
10615 * keyboard.c (append_tool_bar_item): Reformat last change.
10616
10617 * lisp.h (eabs): Rename from `abs'. All callers changed.
10618
10619 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
10620
10621 * buffer.c (add_overlay_mod_hooklist):
10622 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
10623 * fontset.c (make_fontset):
10624 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
10625 (append_tool_bar_item):
10626 * macmenu.c (grow_menu_items):
10627 * w32menu.c (grow_menu_items):
10628 * xmenu.c (grow_menu_items): Use larger_vector.
10629
10630 2007-10-13 Eli Zaretskii <eliz@gnu.org>
10631
10632 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
10633 selected frame'' on MSDOS).
10634
10635 2007-10-12 Martin Rudalics <rudalics@gmx.at>
10636
10637 * frame.c (Qexplicit_name): New variable.
10638 (x_report_frame_params): Report it in parameter alist.
10639 (syms_of_frame): Intern and staticpro it.
10640
10641 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
10642
10643 * macfns.c (x_create_tip_frame): Set terminal for frame.
10644
10645 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
10646
10647 * frame.c (Qenvironment): Remove.
10648 (syms_of_frame) <Qenvironment>: Don't initialize.
10649 (Fdelete_frame): Don't treat the `environment' param specially.
10650 * frame.h (Qenvironment): Don't declare.
10651 * callproc.c (set_initial_environment): Don't set unused frame param.
10652
10653 * frame.c (Fframe_with_environment): Remove.
10654 (syms_of_frame) <Sframe_with_environment>: Don't declare.
10655
10656 * lisp.h (Fframe_with_environment): Don't declare.
10657
10658 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
10659
10660 * indent.c (indent_tabs_mode, last_known_column)
10661 (last_known_column_modified): Make static.
10662 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
10663
10664 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
10665
10666 * puresize.h (BASE_PURESIZE): Increase to 1170000.
10667
10668 2007-10-09 Jason Rumney <jasonr@gnu.org>
10669
10670 * w32term.c (x_set_window_size): Disable code that attempts to tell
10671 Lisp code about a size change before it actually happens.
10672
10673 2007-10-09 Richard Stallman <rms@gnu.org>
10674
10675 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
10676 return HANDLED_RETURN.
10677
10678 2007-10-08 Martin Rudalics <rudalics@gmx.at>
10679
10680 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
10681 when there's an unread command event.
10682
10683 * frame.c (focus_follows_mouse): Move here from frame.el to allow
10684 window autoselection act appropriately when leaving selected frame.
10685 (syms_of_frame): Initialize focus_follows_mouse.
10686 * frame.h (focus_follows_mouse): Extern it.
10687 * macterm.c (XTread_socket): When focus_follows_mouse is nil
10688 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
10689 * msdos.c (dos_rawgetc): Likewise.
10690 * w32term.c (w32_read_socket): Likewise.
10691 * xterm.c (handle_one_xevent): Likewise.
10692 * xdisp.c (syms_of_xdisp): In doc-string of
10693 mouse-autoselect-window mention focus-follows-mouse.
10694
10695 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10696
10697 * macterm.c (mac_load_query_font): Fix missing return value.
10698 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
10699 Add BLOCK_INPUT.
10700
10701 2007-10-08 Richard Stallman <rms@gnu.org>
10702
10703 * xdisp.c (get_window_cursor_type): Implement documented behavior
10704 for cursor-in-non-selected-windows = t.
10705
10706 2007-10-08 Jason Rumney <jasonr@gnu.org>
10707
10708 * w32.c (w32_get_resource): Always close registry keys.
10709
10710 2007-10-08 Jason Rumney <jasonr@gnu.org>
10711
10712 * makefile.w32-in (LIBS): Add COMCTL32.
10713
10714 * w32fns.c (globals_of_w32fns): Init common controls.
10715
10716 2007-10-08 Richard Stallman <rms@gnu.org>
10717
10718 * image.c (our_memory_buffer): Rename from omfib_buffer.
10719
10720 2007-10-08 Richard Stallman <rms@gnu.org>
10721
10722 * buffer.c (Foverlays_at): Doc fix.
10723
10724 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
10725
10726 * fns.c (Fplist_put): Preserve uneven tail data.
10727
10728 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
10729
10730 * termhooks.h (enum event_kind): Remove trailing comma.
10731
10732 * frame.h (enum): Remove trailing comma.
10733
10734 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
10735
10736 * w32proc.c (delete_child): Don't terminate threads of zombies.
10737
10738 2007-10-08 Martin Rudalics <rudalics@gmx.at>
10739
10740 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
10741
10742 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
10743 last-repeatable-command.
10744 (init_kboard): Initialize Vlast_repeatable_command.
10745 (command_loop_1): Set it to real_this_command unless that was
10746 bound to an input event.
10747 (mark_kboards): Mark it.
10748
10749 2007-10-08 Richard Stallman <rms@gnu.org>
10750
10751 * eval.c (condition-case): Doc fix.
10752
10753 2007-10-08 Masatake YAMATO <jet@gyve.org>
10754
10755 * xfaces.c (tty_supports_face_attributes_p): Fix code
10756 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
10757 was copied and not edited.
10758
10759 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
10760
10761 Add new `input-decode-map' keymap and use it for terminal
10762 escape sequences.
10763 * keyboard.h (struct kboard): Add Vinput_decode_map.
10764 Remove Vlocal_key_translation_map.
10765 * keyboard.c (read_key_sequence): Add support for input-decode-map.
10766 (init_kboard): Init input-decode-map.
10767 Replace local-key-translation-map back with key-translation-map.
10768 (syms_of_keyboard): Declare input-decode-map.
10769 Remove local-key-translation-map. Update docstrings.
10770 (mark_kboards): Mark Vinput_decode_map.
10771 Don't mark Vlocal_key_translation_map.
10772 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
10773 Replace local-key-translation-map back with key-translation-map.
10774 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
10775 Bind in input-decode-map rather than function-key-map.
10776
10777 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
10778 This was made redundant by the previous introduction of XSETPVECTYPE.
10779
10780 2007-10-09 Richard Stallman <rms@gnu.org>
10781
10782 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
10783
10784 2007-09-29 Richard Stallman <rms@gnu.org>
10785
10786 * eval.c (internal_condition_case_2, internal_condition_case_1)
10787 (internal_condition_case): Reenable abort if x_catching_errors ()
10788 to see if that really happens and why.
10789
10790 2007-10-06 Andreas Schwab <schwab@suse.de>
10791
10792 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
10793
10794 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
10795
10796 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
10797
10798 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
10799
10800 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
10801
10802 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
10803
10804 * window.h (struct window):
10805 * window.c (struct save_window_data, struct saved_window):
10806 * termhooks.h (struct terminal):
10807 * process.h (struct Lisp_Process):
10808 * frame.h (struct frame):
10809 * buffer.h (struct buffer):
10810 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
10811 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
10812 The size field of (pseudo)vectors is now unsigned.
10813 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
10814
10815 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
10816 Turn `count' into an integer.
10817
10818 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
10819 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
10820 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
10821 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
10822 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
10823
10824 * alloc.c (allocate_pseudovector): New fun.
10825 (ALLOCATE_PSEUDOVECTOR): New macro.
10826 (allocate_window, allocate_terminal, allocate_frame)
10827 (allocate_process): Use it.
10828 (mark_vectorlike): New function.
10829 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
10830 (mark_terminals): Use it.
10831 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
10832 (Fmake_byte_code): Use XSETPVECTYPE.
10833
10834 * frame.c (Fframe_parameters): Minor simplification.
10835
10836 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
10837
10838 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
10839
10840 * buffer.c (Fget_buffer_create, init_buffer_once):
10841 * lread.c (defsubr):
10842 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
10843
10844 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
10845 defined differently in the m/*.h files.
10846 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
10847 (XSETPVECTYPE): New macro.
10848 (XSETPSEUDOVECTOR): Use it.
10849
10850 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
10851 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
10852
10853 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
10854 * lread.c (defvar_per_buffer):
10855 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
10856
10857 * window.c (candidate_window_p): Only consider as visible frames that
10858 are on the same terminal.
10859
10860 * m/ibms390x.h (MARKBIT): Remove unused macro.
10861
10862 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
10863
10864 * lread.c (Fload): Fix typo in docstring.
10865
10866 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
10867
10868 * floatfns.c (Fexpt): Manually check for overflows, so that a power
10869 of a non-zero value can't yield zero.
10870
10871 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
10872
10873 * term.c (term_clear_mouse_face, term_mouse_highlight)
10874 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
10875
10876 * print.c (safe_debug_print): Use XHASH.
10877
10878 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
10879 Lisp elements such as tags.
10880 (XHASH): New macro.
10881 (EQ): Use it.
10882 (SREF, SSET, STRING_COPYIN): Use SDATA.
10883 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
10884
10885 * alloc.c (mark_terminal): Remove left-over declaration.
10886 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
10887 (allocate_vectorlike): Remove type argument. Adjust callers.
10888 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
10889 Only handle the one remaining MEM_TYPE_VECTORLIKE.
10890
10891 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
10892 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
10893 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
10894 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
10895 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
10896 Use them.
10897
10898 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
10899 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
10900 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
10901
10902 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
10903
10904 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
10905 loaded by default.
10906
10907 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
10908
10909 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
10910 on this tty.
10911 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
10912
10913 * term.c (mouse_face_window): Rename from Qmouse_face_window.
10914 Update all users.
10915 (handle_one_term_event): Use Gpm_DrawPointer.
10916 (Fgpm_mouse_start): Rename from Fterm_open_connection.
10917 Signal errors instead of returning nil. Always return nil.
10918 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
10919 Make it a noop if gpm-mouse was not activated.
10920 (syms_of_term): Update names.
10921
10922 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
10923
10924 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
10925 (init_sys_modes): Check that gpm_tty is the current tty.
10926
10927 * alloc.c (allocate_terminal): Set the vector size to only count the
10928 lisp fields. Initialize those to nil.
10929 (mark_object): Don't treat terminals specially.
10930 (mark_terminal): Remove.
10931 (mark_terminals): Use mark_object instead.
10932
10933 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
10934 the GC to the beginning.
10935
10936 * indent.h:
10937 * indent.c: Use EMACS_INT for ints coming from Elisp data.
10938
10939 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
10940
10941 2007-09-25 Jason Rumney <jasonr@gnu.org>
10942
10943 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
10944
10945 * w32console.c (create_w32cons_output): Remove.
10946
10947 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
10948
10949 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
10950 (reset_sys_modes): Use reset_terminal_modes_hook.
10951
10952 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
10953
10954 * eval.c (do_autoload): Don't output any message.
10955
10956 2007-09-24 Juri Linkov <juri@jurta.org>
10957
10958 * emacs.c (standard_args): Change priority of "--no-splash"
10959 from 40 to 3. Add "--no-desktop" with the same priority.
10960
10961 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
10962
10963 * alloc.c (gc_sweep): Check cons cell mark bits word by word
10964 and optimize the case where they are all 1.
10965
10966 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
10967
10968 * lisp.h (abs): Define if not defined.
10969 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
10970 Don't define `abs', since it's defined in lisp.h.
10971
10972 2007-09-22 Eli Zaretskii <eliz@gnu.org>
10973
10974 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
10975 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
10976 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
10977 (init_tty): Use DEV_TTY instead of "/dev/tty".
10978 [WINDOWSNT]: No need to protect from NAME arg being null.
10979
10980 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
10981
10982 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
10983 up the tty state.
10984
10985 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
10986
10987 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
10988 (gpm_tty): Change its type.
10989 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
10990 (gpm_tty): Change its type and initialize it.
10991 (Fterm_open_connection): Check the frame is indeed a tty.
10992 Use the new gpm_tty.
10993 (Fterm_close_connection): Use the new gpm_tty.
10994 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
10995 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
10996
10997 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
10998
10999 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
11000 underline_color, to draw strike-through.
11001
11002 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11003
11004 * lisp.h (allocate_terminal): Declare.
11005
11006 * window.c (candidate_window_p): Consider frames that are being placed
11007 by the user as somewhere between visible and iconified.
11008 (window_loop): Prefer windows on the current frame.
11009 (Fselect_window): Move the use of select-frame to the beginning so we
11010 can just delegate all the work (it'll call us back anyway).
11011
11012 * frame.c (Qdisplay_environment_variable):
11013 * frame.h (Qdisplay_environment_variable): Delete.
11014
11015 * .gdbinit (xbacktrace): Print the arg's address rather than the value
11016 of the first arg, since that value may be a union.
11017
11018 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
11019 parameter rather than Qdisplay_environment_variable. If all else
11020 fails, look for DISPLAY in initial-environment.
11021
11022 2007-09-21 Glenn Morris <rgm@gnu.org>
11023
11024 * Makefile.in (emacstool): Remove target.
11025 (lisp, shortlisp): Remove termdev.elc.
11026
11027 2007-09-21 Markus Triska <markus.triska@gmx.at>
11028
11029 * xterm.c (x_delete_display): Compile session management conditionally.
11030
11031 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
11032
11033 * callproc.c (getenv_internal_1): New function.
11034 (getenv_internal): Use it.
11035 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
11036
11037 * terminal.c (get_terminal): Don't accept ints to represent terminals.
11038 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
11039 (Fset_terminal_parameter): Work with dead terminals as well.
11040 (Fmodify_terminal_parameters): Remove.
11041
11042 * terminal.c (get_terminal): Handle terminals.
11043 Make sure the terminal returned is live.
11044 (create_terminal): Use allocate_terminal.
11045 (mark_terminals): Move to alloc.c.
11046 (delete_terminal): Use terminal->name as liveness status.
11047 NULL out fields after freeing their contents.
11048 Don't deallocate the object.
11049 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
11050 rather than an int.
11051 (Fterminal_live_p): Accept non-integer arguments.
11052 (Fterminal_list): Return terminal objects rather than an ints.
11053
11054 * alloc.c (enum mem_type): New member for `terminal' objects.
11055 (allocate_terminal): New function.
11056 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
11057 Handle terminals.
11058 (mark_terminal): New fun.
11059 (mark_terminals): Move from terminal.c.
11060
11061 * term.c (get_tty_terminal): Don't treat output_initial specially.
11062 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
11063 (delete_tty): Use terminal->name as liveness status.
11064
11065 * termhooks.h (struct terminal): Make it into a pseudovector.
11066 Remove `deleted' replaced by checking `name's nullness.
11067
11068 * print.c (print_object): Handle terminals.
11069
11070 * lisp.h (enum pvec_type): New `terminal' pseudovector.
11071 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
11072
11073 * frame.c (make_terminal_frame):
11074 * keyboard.c (tty_read_avail_input):
11075 * w32term.c (x_delete_terminal):
11076 * xfns.c (Fx_create_frame, x_create_tip_frame):
11077 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
11078
11079 2007-09-20 Glenn Morris <rgm@gnu.org>
11080
11081 * process.c (Fmake_network_process): Doc fix.
11082
11083 2007-09-19 Jason Rumney <jasonr@gnu.org>
11084
11085 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
11086
11087 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
11088
11089 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
11090 Fix a C warning regarding variable constness.
11091
11092 * xterm.c (handle_one_xevent): Fix a C warning.
11093
11094 2007-09-18 Jason Rumney <jasonr@gnu.org>
11095
11096 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
11097
11098 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
11099
11100 * gtkutil.c (gdpy_def): New variable.
11101 (xg_initialize): Initialize gdpy_def.
11102 (xg_display_close): If no other display exists, set gdpy_def to a
11103 new connection.
11104
11105 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
11106
11107 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
11108 when we have no file name for the icon.
11109 (xg_tool_bar_expose_callback): Remove.
11110 (xg_create_tool_bar): Don't connect expose signal to
11111 xg_tool_bar_expose_callback.
11112 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
11113
11114 2007-09-16 Andreas Schwab <schwab@suse.de>
11115
11116 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
11117 values instead of zapping them.
11118
11119 2007-09-14 Glenn Morris <rgm@gnu.org>
11120
11121 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
11122 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
11123 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
11124 scope and rename to omfib_buffer for clarity.
11125 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
11126
11127 2007-09-14 Kenichi Handa <handa@m17n.org>
11128
11129 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
11130
11131 2007-09-13 Jason Rumney <jasonr@gnu.org>
11132
11133 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
11134
11135 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
11136
11137 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
11138 (mac_term_init): Call here instead, passing rif.
11139
11140 2007-09-13 Glenn Morris <rgm@gnu.org>
11141
11142 * s/hpux.h: No longer define `static' as nothing.
11143
11144 2007-09-13 Johan Bockgård <bojohan@gnu.org>
11145
11146 * callint.c (Fcall_interactively): Remove unused var `fun'.
11147
11148 2007-09-12 Romain Francoise <romain@orebokech.com>
11149
11150 * window.c (prefer_window_split_horizontally, display_buffer):
11151 Revert 2007-09-08 change.
11152
11153 2007-09-12 Glenn Morris <rgm@gnu.org>
11154
11155 * alloca.c: Remove file.
11156 * Makefile.in (alloca): Do not undef.
11157 (allocaobj, alloca.o): Remove.
11158 (otherobj): Remove allocaobj.
11159 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
11160 * regex.c (C_ALLOCA): Remove all references and code that was only
11161 used when this was defined.
11162 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
11163 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
11164 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
11165
11166 * Makefile.in (SOURCES, unlock, relock): Delete.
11167
11168 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
11169 (menu_grab_callback): All uses changed.
11170
11171 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
11172 (x_reply_selection_request): All uses changed.
11173
11174 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
11175
11176 * lread.c (load_warn_old_style_backquotes): Change message to look
11177 better when it appears in the middle of byte-compiler messages.
11178
11179 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
11180
11181 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
11182
11183 * xterm.c (x_create_terminal): Add comment.
11184
11185 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
11186
11187 2007-09-10 Richard Stallman <rms@gnu.org>
11188
11189 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
11190
11191 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
11192
11193 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
11194 (DEFUN): Document `intspec', use it instead of `prompt'.
11195
11196 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
11197
11198 * data.c (Finteractive_form): If the interactive specification starts
11199 with a `(', use it as a Lisp form.
11200
11201 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
11202 name and file modes.
11203
11204 * callint.c (Fcall_interactively): Comment fixes.
11205
11206 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
11207
11208 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
11209 and compiled functions.
11210
11211 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
11212
11213 * window.c (prefer_window_split_horizontally): New variable.
11214 (display_buffer): Consider splitting window horizontally depending
11215 on prefer_window_split_horizontally.
11216
11217 2007-09-08 Eli Zaretskii <eliz@gnu.org>
11218
11219 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
11220
11221 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
11222
11223 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
11224
11225 * frame.c (x_set_frame_parameters): Check number is positive before
11226 using XFASTINT.
11227
11228 * window.c (freeze_window_start): Don't presume selected_window holds
11229 a window object.
11230 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
11231
11232 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
11233
11234 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
11235
11236 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
11237
11238 * window.c (Vsplit_window_preferred_function): New var.
11239 (Fdisplay_buffer): Use it.
11240 (syms_of_window): Export, and initialize it.
11241
11242 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
11243
11244 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
11245
11246 2007-09-06 Glenn Morris <rgm@gnu.org>
11247
11248 * gtkutil.c (menu_grab_callback) <cnt>:
11249 * xselect.c (x_reply_selection_request) <cnt>: Move static
11250 variable to file scope.
11251
11252 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
11253
11254 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
11255 consistent values of selected_frame and selected_window.
11256
11257 2007-09-04 Jason Rumney <jasonr@gnu.org>
11258
11259 * w32console.c (initialize_w32_display): Zero unused hooks.
11260
11261 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
11262
11263 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
11264 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
11265
11266 2007-09-04 Jason Rumney <jasonr@gnu.org>
11267
11268 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
11269 in w32console.c. Set up input. Remove XXX comments that have been
11270 confirmed as correct.
11271
11272 * s/ms-w32.h (MULTI_KBOARD): Define.
11273
11274 * w32console.c (one_and_only_w32cons): Remove.
11275 (initialize_w32_display): Take terminal argument.
11276
11277 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
11278 initialize_w32_display.
11279 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
11280
11281 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
11282
11283 * keyboard.c (discard_mouse_events): Discard it.
11284 (make_lispy_event): Translate it to a lisp event.
11285 (lispy_wheel_names): Add wheel-left and right events.
11286 (syms_of_keyboard): Enlarge wheel_syms.
11287
11288 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
11289 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
11290
11291 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
11292
11293 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
11294 from WM_MOUSEHWHEEL.
11295 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
11296
11297 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
11298 terminal.
11299
11300 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
11301 keyboard for the terminal.
11302
11303 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
11304
11305 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
11306 (Vresume_tty_hook): Rename from Vresume_tty_functions.
11307 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
11308 and resume-tty-function to resume-tty-hook.
11309 (Fsuspend_tty, Fresume_tty): Use new names.
11310
11311 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
11312
11313 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
11314 if it starts with "n:".
11315
11316 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
11317
11318 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
11319
11320 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
11321
11322 * frame.h:
11323 * frame.c (Qterm_environment_variable): Remove.
11324 (syms_of_frame): Don't init and staticpro it.
11325
11326 * callproc.c (getenv_internal): Remove special case for $TERM.
11327
11328 * callproc.c (Vinitial_environment): New variable.
11329 (set_initial_environment): Initialize it.
11330 (syms_of_callproc): Declare it.
11331 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
11332 TERM under which a process runs is never related to the TERM in which
11333 Emacs is running.
11334
11335 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
11336
11337 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
11338 * s/darwin.h: ... do it here.
11339
11340 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
11341
11342 * lisp.h (set_initial_environment): Rename from set_global_environment.
11343
11344 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
11345 removed by mistake on the multi-tty branch.
11346
11347 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
11348 (Fmodify_frame_parameters): Return a value.
11349
11350 * image.c (png_load): Comment-out var only used in commented-out code.
11351
11352 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
11353 before passing it to mark_object.
11354
11355 * xfaces.c (internal_resolve_face_name): Return a value.
11356 (internal_resolve_face_name, resolve_face_name_error): Comment out.
11357
11358 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
11359 (x_icon): Comment-out var only used in commented-out code.
11360
11361 2007-08-29 Romain Francoise <romain@orebokech.com>
11362
11363 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
11364 QUIT hasn't been provided.
11365
11366 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
11367
11368 * callproc.c (child_setup, getenv_internal): Use the
11369 display-environment-variable and term-environment-variable frame params.
11370 (set_initial_environment): Initialise Vprocess_environment.
11371
11372 * config.in: Disable multi-keyboard support on a mac.
11373
11374 * frame.c (Qterm_environment_variable)
11375 (Qdisplay_environment_variable): New variables.
11376 (syms_of_frame): Intern and staticpro them.
11377 (Fmake_terminal_frame): Disable output method test.
11378
11379 * frame.h: Declare them here.
11380
11381 * macfns.c (x_set_mouse_color): Get rif from the frame.
11382 (x_set_tool_bar_lines): Don't use updating_frame.
11383 (mac_window): Add 2 new parameters for consistency with other systems.
11384 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
11385 frame parameters following what is done in X11 and w32. Don't use
11386 FRAME_MAC_DISPLAY_INFO.
11387 (Fx_open_connection, start_hourglass): Remove window-system check.
11388 (x_create_tip_frame): Get the keyboard from the terminal.
11389
11390 * macmenu.c: Reorder includes.
11391 (Fx_popup_menu): Use terminal specific mouse_position_hook.
11392
11393 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
11394 terminal parameter.
11395 (x_clear_frame): Add a frame parameter.
11396 (note_mouse_movement): Get rif from the frame.
11397 (mac_term_init): Initialize the terminal.
11398 (mac_initialize): Make static and move terminal initialization ...
11399 (mac_create_terminal): ... to this new function.
11400
11401 * macterm.h (struct mac_display_info): Add terminal.
11402 (mac_initialize): Delete declaration.
11403
11404 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
11405
11406 * sysdep.c: Comment out text after #endif.
11407
11408 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
11409 is defined. Better initialize ttys in windows. Use terminal
11410 specific mouse_position_hook.
11411
11412 * termhooks.h (union display_info): Add mac_display_info.
11413
11414 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
11415 Set the default minibuffer frame, window_system and the rest of the
11416 frame parameters following what is done in X11.
11417
11418 * w32term.c (w32_initialize): Make static.
11419
11420 * xselect.c (x_handle_selection_clear): Only access
11421 terminal->kboard when MULTI_KBOARD is defined.
11422
11423 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
11424 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
11425
11426 2007-08-29 Jason Rumney <jasonr@gnu.org>
11427
11428 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
11429 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
11430
11431 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
11432 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
11433
11434 * keyboard.c (restore_kboard_configuration): Only define when
11435 MULTI_KBOARD defined.
11436
11437 * makefile.w32-in: Update dependancies from Makefile.in.
11438 (OBJ1): Add terminal.$(O)
11439
11440 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
11441 Don't define function body.
11442 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
11443
11444 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
11445
11446 * w32.c (request_sigio, unrequest_sigio): Remove.
11447
11448 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
11449 (w32con_clear_frame, w32con_clear_end_of_line)
11450 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
11451 (w32con_delete_glyphs, w32con_set_terminal_window)
11452 (scroll_line, w32_sys_ring_bell): Add frame arg.
11453 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
11454 Add terminal arg.
11455 (PICK_FRAME): Remove.
11456 (w32con_write_glyphs): Use frame specific terminal coding.
11457 (one_and_only_w32cons): New global variable.
11458 (initialize_w32_display): Use it for storing hooks.
11459 (create_w32cons_output): New function.
11460
11461 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
11462 arg a frame.
11463
11464 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
11465 Set window_system.
11466 (x_set_tool_bar_lines): Don't use updating_frame.
11467 (Fx_create_frame): Set terminal and ref count.
11468 (Fx_open_connection): Remove window-system check.
11469
11470 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
11471
11472 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
11473 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
11474 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
11475 Add frame arg.
11476 (x_delete_terminal, w32_create_terminal): New functions.
11477 (w32_term_init): Create a terminal.
11478 (w32_initialize): Move terminal specific initialization to
11479 w32_create_terminal.
11480
11481 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
11482 (w32_clear_rect, w32_clear_area): Use background from frame.
11483 (w32_display_info): Add terminal.
11484 (w32_sys_ring_bell, x_delete_display): Declare here.
11485
11486 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
11487
11488 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
11489
11490 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
11491
11492 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
11493 Fix get_named_tty calls for the controlling tty.
11494
11495 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
11496
11497 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
11498
11499 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
11500
11501 * term.c (tty_insert_glyphs): Add missing first parameter.
11502
11503 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
11504
11505 * buffer.c (Fbuffer_list, Fbury_buffer):
11506 Take frame->buried_buffer_list into account.
11507
11508 * cm.c (current_tty): New variable, for cmputc().
11509 (cmputc): Use it.
11510 (cmcheckmagic): Add tty parameter, look up terminal streams there.
11511 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
11512 (cmgoto): Add tty parameter. Pass it on to calccost().
11513 Use emacs_tputs() instead of tputs().
11514
11515 * cm.h (emacs_tputs): New macro to set current_tty, and then call
11516 tputs().
11517 (current_tty): New variable, for cmputc().
11518 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
11519
11520 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
11521 (internal_condition_case, internal_condition_case_1)
11522 (internal_condition_case_2): Don't abort when x_catching_errors.
11523
11524 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
11525 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
11526 prevent crashes caused by bogus longjmps in read_char.
11527
11528 * keymap.h (Fset_keymap_parent): Add EXFUN.
11529
11530 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
11531 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11532 Remove redundant definition.
11533
11534 * macfns.c (x_set_mouse_color, x_make_gc):
11535 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11536
11537 * w32term.c (x_free_frame_resources):
11538 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11539 (w32_initialize): Use the accessor macros for terminal characteristics.
11540
11541 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
11542 Use the accessor macros for terminal characteristics.
11543 * msdos.c (internal_terminal_init): Use the accessor macros for
11544 terminal characteristics.
11545 (ScreenVisualBell, internal_terminal_init):
11546 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11547
11548 * termopts.h (no_redraw_on_reenter): Declare.
11549
11550 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
11551 (mark_terminals, mark_ttys): Declare.
11552 (Fgarbage_collect): Call them.
11553 (mark_object): Mark buried_buffer_list.
11554
11555 * prefix-args.c: Include stdlib.h for exit.
11556
11557 * syssignal.h: Add comment.
11558
11559 * indent.c: Include stdio.h.
11560
11561 * window.h (Vinitial_window_system): Declare.
11562 (Vwindow_system): Delete declaration.
11563
11564 * fontset.c (Finternal_char_font): Use FRAME_RIF.
11565
11566 * image.c (lookup_image): Don't initialize `c' until the xasserts
11567 have been run.
11568
11569 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
11570 FRAME_FOREGROUND_PIXEL.
11571
11572 * print.c (print_preprocess): Don't lose print_depth levels while
11573 iterating.
11574
11575 * widget.c (update_from_various_frame_slots):
11576 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11577
11578 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
11579 frames.
11580 (window_internal_height): Remove bogus make_number call.
11581 (init_window_once): Call make_terminal_frame with two zero parameters.
11582
11583 * fileio.c (Fread_file_name): Update comment.
11584
11585 * callint.c (Fcall_interactively):
11586 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
11587 Make sure it is correctly unwound.
11588
11589 * xsmfns.c (x_session_close): New function.
11590
11591 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
11592 Delete declarations.
11593
11594 * xterm.h: Remove declaration for x_fully_uncatch_errors.
11595 (x_output): Remove background_pixel and foreground_pixel fields.
11596 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
11597 (x_delete_device, x_session_close): Declare.
11598
11599 * lread.c: Include setjmp.h. Update declaration of `read_char'.
11600 (read_filtered_event): Call `read_char' with a local
11601 `wrong_kboard_jmpbuf'.
11602
11603 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
11604 Don't call single_kboard_state. Use FRAME_RIF.
11605
11606 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
11607 systems.
11608
11609 * lisp.h (set_process_environment): Rename to `set_global_environment'.
11610 (Fframe_with_environment, Fset_input_meta_mode)
11611 (Fset_quit_char): EXFUN.
11612 (x_create_device, tty_output, terminal, tty_display_info): Declare.
11613 (init_sys_modes, reset_sys_modes): Update prototypes.
11614 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
11615
11616 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
11617 Vlocal_key_translation_map, and Vkeyboard_translate_table.
11618 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
11619 Delete declarations.
11620 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
11621 (temporarily_switch_to_single_kboard, tty_read_avail_input):
11622 New declarations.
11623
11624 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
11625 already does that during init_display(). Call syms_of_keymap
11626 before syms_of_keyboard. Call `syms_of_terminal'.
11627 Call set_initial_environment, not set_process_environment.
11628 (shut_down_emacs): Call reset_all_sys_modes() instead of
11629 reset_sys_modes().
11630
11631 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
11632 (internal_resolve_face_name, resolve_face_name_error): New functions.
11633 (resolve_face_name): Protect against loops and errors thrown by Fget.
11634 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
11635 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
11636
11637 * scroll.c: Replace CURTTY() with local variables throughout the
11638 file (where applicable).
11639 (calculate_scrolling, calculate_direct_scrolling)
11640 (scrolling_1, scroll_cost): Use the accessor macros for terminal
11641 characteristics.
11642
11643 * keymap.c (Vfunction_key_map): Remove.
11644 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
11645 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
11646 (Vkey_translation_map): Remove.
11647 (syms_of_keymap): Remove DEFVAR for key-translation-map.
11648 (Fdescribe_buffer_bindings)
11649 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
11650 Update for terminal-local key-translation-map.
11651
11652 * Makefile.in (callproc.o): Update dependencies.
11653 (lisp, shortlisp): Add termdev.elc.
11654 (obj): Add terminal.o.
11655 (terminal.o): Add dependencies.
11656 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
11657 (data.o, fns.o): Add termhooks.h dependency.
11658 (SOME_MACHINE_LISP): Add dnd.elc.
11659 (minibuf.o): Fix typo.
11660 Update dependencies.
11661
11662 * data.c (do_symval_forwarding, store_symval_forwarding)
11663 (find_symbol_value): Use the selected frame's keyboard, not
11664 current_kboard.
11665
11666 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
11667 Vwindow_system.
11668
11669 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
11670 Fmenu_bar_open.
11671 (syms_of_xmenu): Update defsubr.
11672 (mouse_position_for_popup, Fx_popup_menu)
11673 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
11674 (set_frame_menubar, free_frame_menubar)
11675 (create_and_show_popup_menu, xmenu_show, )
11676 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
11677 an X frame.
11678
11679 * xselect.c (x_own_selection): Abort if not an X frame.
11680 (some_frame_on_display): Check if it is an X frame.
11681 (x_handle_selection_clear): Deal with MULTI_KBOARD.
11682
11683 * coding.c: Include frame.h and termhooks.h.
11684 (terminal_coding, keyboard_coding): Delete.
11685 (Fset_terminal_coding_system_internal)
11686 (Fset_keyboard_coding_system_internal)
11687 (Fkeyboard_coding_system)
11688 (Fterminal_coding_system): Add a terminal parameter.
11689 Get terminal_coding from the terminal.
11690 (init_coding_once): Don't call setup_coding_system here.
11691
11692 * dispextern.h (set_scroll_region, turn_off_insert)
11693 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
11694 (tty_clear_end_of_line, tty_setup_colors)
11695 (delete_tty, updating_frame)
11696 (produce_special_glyphs, produce_glyphs, write_glyphs)
11697 (insert_glyphs): Remove.
11698 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
11699 (tty_turn_off_highlight, get_tty_size): Add declaration.
11700 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
11701
11702 * frame.h (enum output_method): Add output_initial.
11703 (struct x_output): Delete.
11704 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11705 Access foreground_pixel and background_pixel directly from the frame.
11706 (tty_display): Delete.
11707 (struct frame): Add buried_buffer_list, foreground_pixel,
11708 background_pixel and terminal. Delete kboard.
11709 (union output_data): Add tty.
11710 (FRAME_KBOARD): Get the kboard from the terminal.
11711 (FRAME_INITIAL_P): New macro.
11712 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
11713 (Qterm_environment_variable, Qdisplay_environment_variable)
11714 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
11715 New declarations.
11716
11717 * termchar.h (tty_output, tty_display_info): New structures.
11718 (tty_list): Declare.
11719 (FRAME_TTY, CURTTY): New macros.
11720 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
11721 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
11722 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
11723 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
11724
11725 * callproc.c: Include frame.h and termhooks.h, for terminal
11726 parameters.
11727 (add_env): New function.
11728 (child_setup): Use it.
11729 (child_setup, getenv_internal): Handle the new Vprocess_environment.
11730 (getenv_internal): Fix get_terminal_param call.
11731 (Fgetenv_internal, egetenv): Update doc.
11732 (syms_of_callproc): Initialize Vprocess_environment to nil.
11733 Register and initialize them. Remove obsolete defvars. Update doc
11734 strings.
11735 (child_setup): Handle Vlocal_environment_variables.
11736 (getenv_internal): Add terminal parameter.
11737 Handle Vlocal_environment_variables.
11738 (Fgetenv_internal): Add terminal parameter.
11739 (child_setup, getenv_internal, Fgetenv_internal): Store the local
11740 environment in a frame (not terminal) parameter. Update doc strings.
11741 (set_initial_environment): Rename from set_global_environment.
11742 Store Emacs environment in initial frame parameter.
11743
11744 * xdisp.c (redisplay_internal): Update references to
11745 `previous_terminal_frame'.
11746 (display_mode_line, Fformat_mode_line): Replace calls to
11747 `push_frame_kboard' with `push_kboard'.
11748 (get_glyph_string_clip_rects): Add extra parentheses and
11749 braces to prevent compiler warnings.
11750 (calc_pixel_width_or_height): Add xassert to check that the
11751 frame is alive. Don't call `lookup_image' on a termcap frame.
11752 (message2_nolog, message3_nolog, redisplay_internal)
11753 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
11754 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
11755 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
11756 (Fx_display_pixel_width, Fx_display_pixel_height)
11757 (Fx_display_planes, Fx_display_color_cells)
11758 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
11759 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
11760 (Fx_display_backing_store, Fx_display_visual_class)
11761 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
11762 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
11763
11764 * xfns.c (x_set_foreground_color x_set_background_color)
11765 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
11766 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11767 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
11768 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
11769 terminal that is being deleted.
11770 (Fx_create_frame): Use `store_frame_param' to set `window-system'
11771 frame parameter, and make sure it overrides any user-supplied setting.
11772 (Fx_close_connection, Fx_synchronize): Unify argument names with
11773 the rest of the DEFUNs.
11774
11775 * dispnew.c (Fsend_string_to_terminal): Update call to
11776 `get_tty_terminal'.
11777 (Fredraw_frame, Fsend_string_to_terminal)
11778 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
11779 FRAME_TERMCAP_P and FRAME_TTY.
11780 (window_change_signal): Don't believe width/height values that are
11781 impossibly small.
11782 (Vinitial_window_system): Rename from Vwindow_system.
11783 (termscript, Wcm, rif): Delete.
11784
11785 * termhooks.h (struct terminal): New struct containing the
11786 previously global text display hooks and new members NAME,
11787 DELETED and PARAM_ALIST.
11788 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
11789 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
11790 (FRAME_RIF): New macros.
11791 (get_terminal_param, get_device): New declarations.
11792 (termscript): Delete declaration.
11793
11794 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
11795 (XTflash, x_free_frame_resources, x_scroll_bar_create)
11796 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
11797 FRAME_FOREGROUND_PIXEL.
11798 (x_fully_uncatch_errors): Disable definition.
11799 (x_scroll_bar_expose): Fix reference to foreground pixel.
11800 (XTread_socket): Disable loop on all X displays.
11801 (x_delete_terminal): Don't set terminal->deleted and let
11802 delete_terminal delete the frames on the terminal.
11803 (x_delete_display): Doc update to reflect changes in
11804 delete_terminal.
11805 (x_display_info) <terminal>: Move member earlier in the struct.
11806 (deleting_tty): Remove old variable.
11807 (Fsuspend_tty): Call clear_tty_hooks.
11808 (Fresume_tty, init_tty): Call set_tty_hooks.
11809 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
11810 errors on X frames.
11811 (x_catch_errors_unwind): Abort if x_error_message is NULL.
11812 (handle_one_xevent): Initialize `f' to NULL.
11813 (x_delete_terminal, x_create_terminal): New functions.
11814 (XTset_terminal_modes, XTreset_terminal_modes)
11815 (XTread_socket, x_connection_closed, x_term_init)
11816 (x_term_init, x_delete_display): Add terminal parameter.
11817 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
11818 X connections.
11819
11820 * frame.c: Include termchar.h.
11821 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
11822 (Qwindow_system, Qenvironment, Qterm_environment_variable)
11823 (Qdisplay_environment_variable): New vars.
11824 (Fframep): Deal with output_initial.
11825 (Fframe-live-p): Doc fix.
11826 (Fwindow-system): New function.
11827 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
11828 (make_terminal_frame): Don't create frames on a terminal that is
11829 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11830 (store_frame_param): Check for found_for_frame before calling XFRAME.
11831 (Fmake_terminal_frame): Handle NULL tty names correctly.
11832 (syms_of_frame): Enhance doc string of `default-frame-alist'.
11833 (Fdelete_frame): Remove unused variable `count'. Don't allow other
11834 frames to refer to a deleted frame in their 'environment parameter.
11835 (Fframe_with_environment): New function.
11836 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
11837 (get_future_frame_param): New function.
11838 (Fmake_terminal_frame): Use it.
11839 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
11840
11841 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
11842 * sysdep.c (reset_sys_modes): Update for renames.
11843
11844 * keyboard.c (tty_read_avail_input): New function.
11845 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
11846 (syms_of_keyboard): Defsubr them.
11847 (Fset_input_meta_mode, Fset_quit_char): New functions.
11848 (Fset_input_mode): Split to above functions.
11849 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
11850 parameter. Use it in call to `read_char'.
11851 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
11852 Set wrong_kboard_jmpbuf correctly in recursive calls.
11853 Use current_kboard to access Vkeyboard_translate_table.
11854 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
11855 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
11856 Update longjmp invocations. Remember the original current_kboard,
11857 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
11858 changes it. Comment out unnecessary calls to
11859 `record_single_kboard_state' and `any_kboard_state'.
11860 Update recursive calls.
11861 (wrong_kboard_jmpbuf): Remove global variable.
11862 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
11863 Handle deleted interrupted_kboards correctly; that is a legal
11864 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
11865 and read_char calls. Abort if interrupted_kboard died in read_char.
11866 (any_kboard_state, single_kboard_state)
11867 (push_frame_kboard): Remove function.
11868 (pop_kboard): Switch out of single_kboard mode if the kboard has
11869 been deleted. Remove unused variable. Help debugging by not
11870 changing current_kboard unnecessarily. Set current_kboard to the
11871 kboard of the selected frame when the stored kboard object has
11872 been deleted before pop_kboard.
11873 (temporarily_switch_to_single_kboard): Change first parameter to a
11874 frame pointer. Throw an error when caller wants to change kboards
11875 while in single_kboard mode. Don't push_kboard if we weren't in
11876 single kboard state. Don't pop_kboard if we popped into any
11877 kboard state.
11878 (restore_kboard_configuration): Abort if pop_kboard changed the
11879 kboard in single_kboard mode. Call pop_kboard only after setting
11880 up single_kboard mode.
11881 (Frecursive_edit): Switch to single_kboard mode only in nested
11882 command loops.
11883 (cmd_error, command_loop, command_loop_1, timer_check):
11884 Comment out unnecessary call to `any_kboard_state' and
11885 `record_single_kboard_state'.
11886 (delete_kboard): Exit single_kboard mode if we have just deleted
11887 that kboard. Use FRAME_KBOARD.
11888 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
11889 `fatal_error_signal'.
11890 (record_single_kboard_state): Don't push_kboard if we weren't in
11891 single kboard state. Don't pop_kboard if we popped into any
11892 kboard state.
11893 (push_frame_kboard): Rename to push_kboard.
11894 (kbd_buffer_get_event): Use FRAME_TERMINAL.
11895 (read_avail_input): Read input from all terminals.
11896 (mark_kboards): Also mark Vkeyboard_translate_table.
11897 (kbd_buffer_store_event_hold): Simplify condition.
11898 (read_key_sequence): Reinitialize fkey and keytran at each replay.
11899 (Vkeyboard_translate_table): Move to struct kboard.
11900 (init_kboard): Initialize Vkeyboard_translate_table.
11901 (syms_of_keyboard): Use DEFVAR_KBOARD to define
11902 Vkeyboard_translate_table. Update doc strings. Update docs of
11903 local-function-key-map and function-key-map.
11904
11905 * terminal.c: New file.
11906
11907 * term.c: Include errno.h.
11908 (Vring_bell_function, device_list, initial_device)
11909 (next_device_id, ring_bell, update_begin, update_end)
11910 (set_terminal_window, cursor_to, raw_cursor_to)
11911 (clear_to_end, clear_frame, clear_end_of_line)
11912 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
11913 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
11914 (syms_of_term): Move their initialization to terminal.c.
11915 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
11916 (Ftty_display_color_cells)
11917 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
11918 (clear_tty_hooks, set_tty_hooks)
11919 (init_tty, maybe_fatal): New functions.
11920 (Ftty_type): Return nil if terminal is not on a tty instead of
11921 throwing an error. Doc update.
11922 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
11923 Doc update. Initialize new subrs and variables.
11924 (delete_tty): Use terminal->deleted.
11925 (tty_set_terminal_modes): Rename from set_terminal_modes.
11926 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
11927 (set_scroll_region): Rename to `tty_set_scroll_region'.
11928 (turn_on_insert): Rename to `tty_turn_on_insert'.
11929 (turn_off_insert): Rename to `tty_turn_off_insert'.
11930 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
11931 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
11932 (toggle_highligh): Rename to `tty_toggle_highlight'.
11933 (background_highlight): Rename to `tty_background_highlight'.
11934 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
11935 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
11936 (tty_set_scroll_region, tty_background_highlight)
11937 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
11938 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
11939 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
11940 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
11941 Add static modifier.
11942 (tty_reset_terminal_modes, tty_set_terminal_window)
11943 (tty_set_scroll_region, tty_background_highlight)
11944 (tty_highlight_if_desired, tty_cursor_to)
11945 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
11946 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
11947 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
11948 renames.
11949
11950 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
11951
11952 * keyboard.c: Qrtl is new.
11953 (parse_tool_bar_item): Handle :rtl keyword.
11954 (syms_of_keyboard): Intern :rtl keyword.
11955
11956 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
11957
11958 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
11959 so no Lisp code is executed.
11960 (file_for_image, find_rtl_image): New functions.
11961 (xg_get_image_for_pixmap): Use file_for_image.
11962 (update_frame_tool_bar): If direction is RTL, use RTL image if
11963 defined. Use Gtk stock images if defined.
11964
11965 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11966
11967 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
11968 for nonexistent or zero-width glyph in composition glyph.
11969
11970 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
11971
11972 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
11973
11974 * xdisp.c (Finvisible_p): New function.
11975 (syms_of_xdisp): defsubr it.
11976
11977 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
11978
11979 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
11980 Doc fixes.
11981
11982 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11983
11984 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
11985
11986 2007-08-24 Martin Rudalics <rudalics@gmx.at>
11987
11988 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
11989 whether decoding has modified buffer contents.
11990
11991 2007-08-24 Jason Rumney <jasonr@gnu.org>
11992
11993 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
11994 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
11995 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
11996 (init_svg_functions) [HAVE_NTGUI]: New function.
11997 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
11998 (svg_load_image): Use them.
11999 (svg_load_image) [HAVE_NTGUI]: Implement background.
12000
12001 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12002
12003 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
12004 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
12005 (LIBX): Remove @RSVG_LIBS@.
12006 (LIBES): Add $(RSVG_LIBS).
12007
12008 * image.c (svg_load_image): Blend with specified background if exists.
12009 Use IMAGE_BACKGROUND. Add Mac OS Support.
12010
12011 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
12012 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
12013 Remove macros.
12014 [MAC_OSX] (socket_callback): Do nothing.
12015 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
12016 ReceiveNextEvent.
12017 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
12018 socket_callback.
12019 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
12020
12021 2007-08-22 Glenn Morris <rgm@gnu.org>
12022
12023 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
12024
12025 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
12026
12027 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
12028
12029 * image.c: Add support for SVG images. Some additional comments
12030 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
12031 (svg_image_p): New function to test for SVG image.
12032 (svg_load): New function to load SVG image.
12033 (svg_load_image): New function, helper for svg_load.
12034 (Qsvg): New Lisp_object.
12035 (svg_keyword_index): New enum.
12036 (svg_format): New static `image_keyword' struct.
12037 (svg_type): New static `image_type' struct.
12038 (librsvg/rsvg.h): Include it.
12039
12040 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
12041
12042 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
12043
12044 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
12045
12046 * lread.c (Qold_style_backquotes): New var.
12047 (syms_of_lread): Init and staticpro it.
12048 (load_warn_old_style_backquotes): New fun.
12049 (Fload): Use them to warn about old style backquotes.
12050 (end_of_file_error, Fload): Remove unused vars.
12051
12052 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
12053
12054 * lread.c (Vold_style_backquotes): New var.
12055 (syms_of_lread): Init and export it to Elisp.
12056 (read1): Set it when we find an old-style (back)quote.
12057
12058 2007-08-22 Jason Rumney <jasonr@gnu.org>
12059
12060 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
12061
12062 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
12063
12064 * puresize.h (BASE_PURESIZE): Increase to 1140000.
12065
12066 2007-08-19 Richard Stallman <rms@gnu.org>
12067
12068 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
12069
12070 2007-08-19 Andreas Schwab <schwab@suse.de>
12071
12072 * alloc.c (pure): Round PURESIZE up.
12073
12074 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
12075
12076 * xterm.c (handle_one_xevent): Remove check that mouse click is in
12077 active frame.
12078
12079 2007-08-16 Richard Stallman <rms@gnu.org>
12080
12081 * eval.c (Fcommandp): Add parens to clarify.
12082
12083 * minibuf.c (Fall_completions): Use enum for type of table.
12084
12085 * emacs.c (USAGE2): Improve text.
12086
12087 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
12088
12089 * term.c (tty_default_color_capabilities): Declare static
12090 variables in file scope, to avoid HPUX compiler problem.
12091
12092 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
12093
12094 * gtkutil.c (update_frame_tool_bar): Use -1 as index
12095 to gtk_toolbar_insert.
12096
12097 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
12098
12099 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
12100
12101 * insdel.c (reset_var_on_error): New fun.
12102 (signal_before_change, signal_after_change):
12103 Use it to reset (after|before)-change-functions to nil in case of error.
12104 Bind inhibit-modification-hooks to t.
12105 Don't bind (after|before)-change-functions to nil while they run.
12106
12107 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12108
12109 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
12110 filling pixmap with stippled background.
12111
12112 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12113
12114 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
12115 Don't use invisible frame as parent window for repositioning.
12116
12117 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
12118
12119 * print.c (new_backquote_output): Rename from old_backquote_output.
12120 (print): Inverse its logic (according to its name) so as to match the
12121 behavior of new_backquote_flag in lread.c.
12122
12123 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12124
12125 * gmalloc.c (posix_memalign): New function.
12126
12127 * macterm.c (frame_highlight, frame_unhighlight): Don't call
12128 ActivateControl/DeactivateControl here.
12129 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
12130 frame-notice-user-settings is non-nil.
12131 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
12132 for kEventParamFMFontStyle.
12133 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
12134 mac_pass_command_to_system and mac_pass_control_to_system here.
12135 (XTread_socket): Call ActivateControl/DeactivateControl here.
12136 (XTread_socket) [TARGET_API_MAC_CARBON]:
12137 Check mac_pass_command_to_system and mac_pass_control_to_system here.
12138 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
12139 for window repositioning.
12140
12141 2007-08-08 Glenn Morris <rgm@gnu.org>
12142
12143 * Replace `iff' in doc-strings and comments.
12144
12145 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
12146
12147 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
12148
12149 2007-08-07 Martin Rudalics <rudalics@gmx.at>
12150
12151 * fileio.c (Finsert_file_contents): Run format-decode and
12152 after_insert_file_functions on entire buffer when REPLACE is
12153 non-nil and inhibit modification_hooks and point_motion_hooks.
12154 For consistency, run after_insert_file_functions iff something
12155 got inserted. Move signal_after_change and update_compositions
12156 after code running after_insert_file_functions. Make sure that
12157 undo_list doesn't record intermediate steps of the decoding process.
12158
12159 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12160
12161 * emacs.c (main)
12162 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
12163 Call malloc_enable_thread on interactive startup.
12164
12165 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
12166 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
12167 [USE_PTHREAD]: Conditionalize with it.
12168 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
12169 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
12170 New functions.
12171
12172 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
12173
12174 * xdisp.c (redisplay_window): When restoring original buffer
12175 position, make sure it is still valid.
12176
12177 * image.c (png_load): Ignore png-supplied background color.
12178
12179 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12180
12181 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
12182 Use kCFAbsoluteTimeIntervalSince1970.
12183
12184 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
12185 New variable.
12186 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
12187 event loop should be quit.
12188 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
12189 Quit dialog event loop if quit_dialog_event_loop is set.
12190
12191 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
12192 (Selection): New typedef. Use instead of ScrapRef.
12193 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
12194 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
12195 (mac_clear_selection): Rename from clear_scrap.
12196 (get_flavor_type_from_symbol): New argument SEL and subsume function of
12197 scrap_has_target_type. All uses changed.
12198 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
12199 (mac_selection_has_target_p): New functions.
12200 (mac_put_selection_value): Rename from put_scrap_string.
12201 (mac_get_selection_value): Rename from get_scrap_string.
12202 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
12203 (put_scrap_private_timestamp, scrap_has_target_type)
12204 (get_scrap_private_timestamp): Remove functions.
12205 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
12206 (x_own_selection, x_get_local_selection):
12207 Use mac_valid_selection_value_p.
12208 (x_own_selection): Don't use put_scrap_private_timestamp.
12209 Record OWNERSHIP-INFO into Vselection_alist instead.
12210 (x_get_local_selection): Don't check type if request is local.
12211 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
12212 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
12213
12214 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
12215
12216 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
12217 add comment explaining why.
12218
12219 2007-08-03 Richard Stallman <rms@gnu.org>
12220
12221 * fileio.c (Fvisited_file_modtime): Use make_time.
12222
12223 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
12224
12225 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
12226 build.
12227
12228 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
12229
12230 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
12231
12232 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
12233
12234 * puresize.h (BASE_PURESIZE): Increase to 1130000.
12235
12236 2007-07-30 Richard Stallman <rms@gnu.org>
12237
12238 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
12239
12240 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
12241
12242 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
12243
12244 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
12245
12246 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
12247 remote default-directory.
12248
12249 * buffer.c (mode-line-format): Update doc string.
12250
12251 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12252
12253 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
12254 scroll bar gap.
12255 (x_scroll_bar_create): Set bar->fringe_extended_p.
12256 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
12257 on frame edge. Check fringe background extension. Don't clear
12258 extended fringe background area.
12259
12260 * w32term.h (struct scroll_bar): New member fringe_extended_p.
12261 (w32_fill_area): Enclose multiple statements with do ... while (0).
12262
12263 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
12264 Extend fringe background to scroll bar gap.
12265 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
12266 Set bar->fringe_extended_p.
12267 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
12268 Put leftmost/rightmost scroll bars on frame edge. Check fringe
12269 background extension. Don't clear extended fringe background area.
12270
12271 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
12272 New member fringe_extended_p.
12273
12274 2007-07-25 Glenn Morris <rgm@gnu.org>
12275
12276 * Relicense all FSF files to GPLv3 or later.
12277
12278 * COPYING: Switch to GPLv3.
12279
12280 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
12281
12282 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
12283
12284 * data.c (Finteractive_form): Check for the presence of an
12285 `interactive-form' symbol property more thoroughly.
12286
12287 * data.c (Finteractive_form): Use an `interactive-form' property if
12288 present, analogous to the function-documentation property.
12289
12290 2007-07-24 Jason Rumney <jasonr@gnu.org>
12291
12292 * w32fns.c (x_real_positions): Get real position from OS instead of
12293 calculating it.
12294
12295 2007-07-23 Jason Rumney <jasonr@gnu.org>
12296
12297 * filelock.c (current_lock_owner): Allow for @ sign in username.
12298
12299 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
12300
12301 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
12302 remote default-directory.
12303
12304 * buffer.c (mode-line-format): Describe above case in doc string.
12305
12306 2007-07-20 Eli Zaretskii <eliz@gnu.org>
12307
12308 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
12309 Define if not defined.
12310
12311 2007-07-18 Jason Rumney <jasonr@gnu.org>
12312
12313 * w32proc.c (w32_executable_type): Handle 64 bit executables.
12314
12315 2007-07-18 Richard Stallman <rms@gnu.org>
12316
12317 * data.c (Fsetq_default): Doc fix.
12318
12319 * eval.c (Fsetq): Doc fix.
12320
12321 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
12322
12323 * coding.c (Ffind_operation_coding_system):
12324 * eval.c (For, Fand): Doc fixes.
12325 Reported by Johan Bockgård.
12326
12327 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
12328
12329 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
12330
12331 * xterm.h: Declare x_ewmh_activate_frame.
12332
12333 * xterm.c (x_ewmh_activate_frame): New function.
12334 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
12335
12336 2007-07-17 Martin Rudalics <rudalics@gmx.at>
12337
12338 * window.c (Fdisplay_buffer): If largest or LRU window is the
12339 only window, split it even if it is not eligible for splitting.
12340 This restores the original behavior broken by the 2007-07-15
12341 change.
12342
12343 2007-07-17 Glenn Morris <rgm@gnu.org>
12344
12345 * abbrev.c (abbrev_check_chars): New function.
12346 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
12347 Call abbrev_check_chars to check abbrev characters are word
12348 constituents. Doc fix.
12349
12350 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
12351
12352 * process.c (Fstart_process, Fmake_network_process)
12353 (read_process_output): Fix up last changes.
12354
12355 2007-07-16 Eli Zaretskii <eliz@gnu.org>
12356
12357 * makefile.w32-in (clean): Don't delete *~.
12358
12359 2007-07-16 Andreas Schwab <schwab@suse.de>
12360
12361 * window.c (Fdisplay_buffer): Use NILP.
12362 (Fset_window_scroll_bars): Likewise.
12363
12364 2007-07-15 Martin Rudalics <rudalics@gmx.at>
12365
12366 * window.c (window_min_size_2): New function.
12367 (window_min_size_1, size_window, Fdisplay_buffer)
12368 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
12369 windows without mode- or header-lines when window-min-height is
12370 too small.
12371 (size_window): Reset nodelete_p after testing it, following an
12372 earlier note by Kim F. Storm.
12373 (display_buffer): Do not set split_height_threshold to twice the
12374 value of window_min_height to avoid changing the value of a
12375 customizable variable. Rather explicitly check whether the
12376 height of the window that shall be splitted is at least as large
12377 as split_height_threshold.
12378 (Fwindow_full_width_p): New defun.
12379 (syms_of_window): Defsubr it.
12380
12381 * window.h: Add EXFUN for Fwindow_full_width_p.
12382
12383 2007-07-14 Jason Rumney <jasonr@gnu.org>
12384
12385 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
12386
12387 2007-07-14 Richard Stallman <rms@gnu.org>
12388
12389 * eval.c (maybe_call_debugger): New function.
12390 (find_handler_clause): Use maybe_call_debugger.
12391 Call it when the handler says `debug'.
12392 Eliminate DEBUGGER_VALUE_PTR.
12393 (Fsignal): Eliminate debugger_value.
12394 (Qdebug): New variable.
12395 (syms_of_eval): Initialize it.
12396
12397 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
12398
12399 * eval.c (Fprogn):
12400 * keyboard.c (Ftrack_mouse):
12401 * print.c (Fwith_output_to_temp_buffer):
12402 * window.c (Fsave_window_excursion): Doc fix.
12403
12404 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
12405
12406 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
12407
12408 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
12409
12410 * process.h (struct Lisp_Process): Turn slots infd, outfd,
12411 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
12412 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
12413 read_output_delay, and read_output_skip from Lisp_Objects to ints.
12414 Remove unused encoding_carryover.
12415 * process.c: Adjust all functions accordingly.
12416
12417 2007-07-12 Richard Stallman <rms@gnu.org>
12418
12419 * term.c: Include unistd.h only if HAVE_UNISTD_H.
12420
12421 2007-07-11 Jason Rumney <jasonr@gnu.org>
12422
12423 * makefile.w32-in (LIBS): Include OLE32.
12424
12425 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
12426 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
12427
12428 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
12429
12430 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
12431 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
12432 from a Lisp_Object into a bare pointer.
12433 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
12434 Adjust the code correspondingly.
12435
12436 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
12437
12438 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
12439 (term_show_mouse_face): Remove unused var `j'.
12440 (handle_one_term_event): Remove unused vars `i' and `j'.
12441 Don't cast return value of ttyname since it's not necessary.
12442
12443 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
12444
12445 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
12446 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
12447
12448 * fns.c (map_char_table): Use an array of int for `indices' rather than
12449 an array of Lisp_Objects (which are only ever integers anyway).
12450 (Fmap_char_table): Update caller.
12451 * lisp.h: Update prototype.
12452 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
12453 * fontset.c (Ffontset_info):
12454 * casetab.c (set_case_table): Update callers.
12455
12456 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
12457
12458 * keymap.c (struct accessible_keymaps_data)
12459 (struct where_is_internal_data): New structures.
12460 (accessible_keymaps_1, where_is_internal_1): Use them to change
12461 interface to adhere to the one used by map_keymap.
12462 (Faccessible_keymaps, where_is_internal): Use map_keymap.
12463 (accessible_keymaps_char_table, where_is_internal_2): Remove.
12464
12465 * keymap.h (map_keymap_function_t): More informative prototype.
12466
12467 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
12468
12469 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
12470 (looking_at_1): Don't change search_regs and last_thing_searched
12471 if `inhibit-changing-match-data' is non-nil.
12472 (string_match_1, search_buffer, set_search_regs): Likewise.
12473 (syms_of_search): Add Lisp level definition for
12474 `inhibit-changing-match-data' and set it to nil.
12475 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
12476 start and end of the match, instead of using values in search_regs.
12477
12478 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
12479
12480 * minibuf.c (Fcompleting_read): New value `confirm-only'
12481 for `require-match'.
12482
12483 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
12484
12485 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
12486 part of the 2007-06-27 change to syms_of_fileio.
12487
12488 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12489
12490 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
12491 Check WINDOWP before using XWINDOW. Consolidate return statements.
12492
12493 2007-06-27 Richard Stallman <rms@gnu.org>
12494
12495 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
12496
12497 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
12498
12499 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
12500
12501 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12502
12503 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
12504 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
12505 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
12506 (_free_internal, memalign): Use them.
12507 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
12508 Initialize to PTHREAD_MUTEX_INITIALIZER.
12509 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
12510 (morecore_nolock): Rename from morecore. All uses changed.
12511 Use only nolock versions of internal allocation functions.
12512 (_malloc_internal_nolock, _realloc_internal_nolock)
12513 (_free_internal_nolock): New functions created from
12514 _malloc_internal, _realloc_internal, and _free_internal.
12515 (_malloc_internal, _realloc_internal, _free_internal): Use them.
12516 Copy hook value to automatic variable before its use.
12517 (memalign): Copy hook value to automatic variable before its use.
12518
12519 2007-06-26 Kenichi Handa <handa@m17n.org>
12520
12521 * coding.c (Ffind_operation_coding_system): Docstring improved.
12522 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
12523
12524 2007-06-25 David Kastrup <dak@gnu.org>
12525
12526 * keymap.c (Fcurrent_active_maps): Add `position' argument.
12527 (Fwhere_is_internal): Adjust call to `current-active-maps' to
12528 cater for additional parameter.
12529
12530 * keymap.h: Adjust number of parameters to `current-active-maps'.
12531
12532 * doc.c (Fsubstitute_command_keys): Adjust call of
12533 `current-active-maps'.
12534
12535 2007-06-25 David Kastrup <dak@gnu.org>
12536
12537 * callint.c (Fcall_interactively): Make the parsing of interactive
12538 specs somewhat more readable.
12539
12540 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12541
12542 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
12543 to scroll bar gap also when bitmap fills fringe. Draw only foreground
12544 if extended background has already been filled.
12545
12546 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12547
12548 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
12549 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
12550
12551 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
12552 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
12553 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
12554 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
12555 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
12556 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
12557 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
12558 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
12559 Run timers during dialog popup.
12560 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
12561
12562 2007-06-21 Jason Rumney <jasonr@gnu.org>
12563
12564 * image.c (convert_mono_to_color_image): Swap fore and background.
12565
12566 2007-06-20 Jason Rumney <jasonr@gnu.org>
12567
12568 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
12569 (w32_free_bdf_font): Unmap memory not handle.
12570
12571 2007-06-20 Sam Steingold <sds@gnu.org>
12572
12573 * gmalloc.c (__morecore): Fix the declaration to comply with the
12574 definition.
12575
12576 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
12577
12578 * w32term.c (w32_delete_display): Remove leftover declaration.
12579 (w32_define_cursor, w32_initialize): Make static.
12580
12581 * w32.c (_wsa_errlist): Fix typo in error message.
12582 (init_environment): Ignore any environment variable from the
12583 registry having a null value.
12584
12585 2007-06-20 Glenn Morris <rgm@gnu.org>
12586
12587 * Makefile.in (LIBGIF): Default to -lgif.
12588
12589 2007-06-17 Jason Rumney <jasonr@gnu.org>
12590
12591 * w32menu.c (add_menu_item): Don't use multibyte string functions on
12592 unicode strings.
12593
12594 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
12595
12596 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
12597 Fix typo in docstring.
12598
12599 2007-06-16 Eli Zaretskii <eliz@gnu.org>
12600
12601 * w32menu.c (add_menu_item): Escape `&' characters in menu items
12602 and their keybindings.
12603
12604 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
12605
12606 * composite.c (update_compositions): Fix last fix.
12607
12608 2007-06-14 Jason Rumney <jasonr@gnu.org>
12609
12610 * w32.c (get_process_times_fn): New function pointer.
12611 (globals_of_w32): Intialize it if present in kernel32.dll.
12612 (w32_get_internal_run_time): New function.
12613
12614 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
12615
12616 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
12617
12618 * composite.c (update_compositions): Check the validness of
12619 compositions.
12620
12621 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12622
12623 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
12624 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
12625
12626 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
12627 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
12628
12629 * macgui.h (USE_MAC_TOOLBAR): New define.
12630
12631 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12632 Return immediately unless popup is activated.
12633
12634 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
12635 background to scroll bar gap.
12636 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
12637 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
12638 scroll bars on frame edge. Check fringe background extension.
12639 Don't clear extended fringe background area.
12640 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
12641 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
12642 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
12643 [USE_MAC_TOOLBAR]: New macros.
12644 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
12645 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
12646 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
12647 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
12648 [USE_MAC_TOOLBAR]: New functions.
12649 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
12650 manually if previous repositioning has failed.
12651 (mac_handle_keyboard_event): Use precomputed event kind.
12652 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
12653 as tool bar item click. Handle mouse movement over tool bar items.
12654
12655 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
12656 toolbar_win_gravity.
12657 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
12658 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
12659 Add externs.
12660
12661 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
12662 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
12663
12664 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
12665
12666 * image.c (search_image_cache): Remove unused variable.
12667
12668 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
12669
12670 * xfns.c, xmenu.c: Link to xaw3d if available.
12671
12672 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12673
12674 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
12675 frame_foreground and frame_background.
12676
12677 * image.c (lookup_image): Save frame foreground and background colors.
12678 (search_image_cache): Check if saved and current frame colors match.
12679
12680 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
12681
12682 * regex.c (regex_compile): Remove the `regnum' counter.
12683 Use bufp->re_nsub instead. Add support for \(?N:RE\).
12684
12685 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
12686
12687 * term.c: Include intervals.h to declare Fget_text_property.
12688
12689 2007-06-10 Jason Rumney <jasonr@gnu.org>
12690
12691 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
12692
12693 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
12694
12695 * callint.c (Fcall_interactively):
12696 * editfns.c (Fdelete_and_extract_region):
12697 * fileio.c (Fread_file_name):
12698 * fns.c (Fmapconcat):
12699 * keyboard.c (cmd_error_internal):
12700 * keymap.c (Fkey_description):
12701 * lread.c (openp):
12702 * minibuf.c (read_minibuf):
12703 * search.c (wordify):
12704 * sunfns.c (sel_read):
12705 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
12706 * xfns.c (x_default_scroll_bar_color_parameter):
12707 * xmenu.c (menu_help_callback):
12708 * xselect.c (Fx_get_atom_name):
12709 * xterm.c (x_term_init): Use empty_unibyte_string.
12710
12711 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
12712
12713 * alloc.c (init_strings): Initialize canonical empty strings.
12714 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
12715 canonical empty string when the requested size is 0.
12716
12717 * emacs.c (empty_unibyte_string): Rename from empty_string.
12718 (empty_multibyte_string): New canonical empty string.
12719 (syms_of_emacs): Don't initialize empty_string.
12720
12721 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
12722 string, if appropriate.
12723 (empty_unibyte_string, empty_multibyte_string): New externs.
12724 (empty_string): Remove extern.
12725
12726 * lread.c (syms_of_lread): Use empty_unibyte_string.
12727
12728 2007-06-07 Jason Rumney <jasonr@gnu.org>
12729
12730 * s/ms-w32.h: Don't define HAVE_TZNAME.
12731
12732 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
12733
12734 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12735
12736 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
12737
12738 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
12739 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
12740
12741 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12742 Don't call next handler.
12743 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
12744 Remove argument. Install handler to application.
12745 (set_frame_menubar): Don't change deep_p.
12746 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
12747 FRAME_OUTER_TO_INNER_DIFF_Y.
12748 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
12749 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
12750 [HAVE_DIALOGS]: New macros.
12751 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
12752 Use them.
12753 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
12754
12755 * macselect.c [MAC_OSX] (install_service_handler): Rename from
12756 init_service_handler. All callers changed. Return OSStatus value.
12757
12758 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
12759 All callers changed so as not to call SetPortWindowPort.
12760 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
12761 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
12762 mac_draw_string_common.
12763 (mac_draw_image_string_qd): Likewise.
12764 (mac_draw_string_common): Use them. Add INLINE.
12765 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
12766 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
12767 GetGlobalMouse.
12768 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
12769 and FRAME_OUTER_TO_INNER_DIFF_Y.
12770 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
12771 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
12772 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
12773 repositioning window to mac_handle_window_event.
12774 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
12775 saving window location to mac_handle_window_event
12776 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
12777 (install_menu_target_item_handler): Remove argument in extern.
12778 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
12779 Also accept command events.
12780 (do_keystroke): New function created from XTread_socket.
12781 (init_command_handler): Remove functions.
12782 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
12783 and save window location by kEventWindowShowing and kEventWindowHiding
12784 handlers here. Don't call next handler for window state change and
12785 focus events.
12786 (mac_handle_application_event, mac_handle_keyboard_event)
12787 [TARGET_API_MAC_CARBON]: New functions.
12788 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
12789 kEventWindowShowing and kEventWindowHiding events. Move installation
12790 of mouse, font, text input and menu target item handlers to
12791 install_application_handler.
12792 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
12793 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12794 New function.
12795 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12796 Register it.
12797 (XTread_socket) [TARGET_API_MAC_CARBON]:
12798 Consolidate SendEventToEventTarget calls.
12799 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
12800 Move application activation handler to mac_handle_application_event.
12801 Move keyboard handler to mac_handle_keyboard_event.
12802 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
12803 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
12804 init_command_handler. Call install_application_handler.
12805
12806 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
12807 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
12808
12809 2007-06-07 Glenn Morris <rgm@gnu.org>
12810
12811 * emacs.c (main): Use `emacs-copyright' in --version output.
12812
12813 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
12814
12815 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
12816
12817 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12818
12819 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
12820
12821 * macgui.h: Replace WindowPtr with WindowRef.
12822
12823 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12824 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12825 Replace ControlHandle with ControlRef.
12826 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
12827
12828 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12829 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12830 Replace ControlHandle with ControlRef.
12831 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
12832 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
12833
12834 * macterm.h (struct scroll_bar): Rename member control_handle_low
12835 and control_handle_high to control_ref_low and control_ref_high.
12836 All uses changed.
12837 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
12838 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
12839 respectively. All uses changed.
12840 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
12841 (install_window_handler, remove_window_handler): Replace WindowPtr
12842 with WindowRef in externs.
12843
12844 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
12845
12846 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
12847
12848 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
12849
12850 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
12851
12852 * frame.c (Fmouse_position, Fmouse_pixel_position):
12853 Condition on HAVE_GPM too.
12854
12855 * term.c (term_mouse_highlight): Remove unused variables.
12856 (Fterm_open_connection): Set gpm_zerobased to 1.
12857 (term_mouse_movement, term_mouse_click, handle_one_term_event):
12858 Use zero based co-ordinates.
12859 (handle_one_term_event): Report a drag as mouse movement too.
12860
12861 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
12862
12863 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
12864
12865 * image.c (search_image_cache): New function. Require background
12866 color match if background color is unspecified in the image spec.
12867 (uncache_image, lookup_image): Use it.
12868
12869 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
12870
12871 * window.c (Fshrink_window): Reflow docstring.
12872
12873 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
12874
12875 * Version 22.1 released.
12876
12877 2007-06-01 Richard Stallman <rms@gnu.org>
12878
12879 * xfns.c (x_encode_text): Add GCPRO.
12880
12881 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12882
12883 * xfns.c (x_set_name_internal): Save encoded name before
12884 x_encode_text in case string data is relocated.
12885
12886 2007-05-31 Richard Stallman <rms@gnu.org>
12887
12888 * buffer.c (syms_of_buffer): Doc fix.
12889
12890 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
12891
12892 * sysdep.c (init_sys_modes): Add rather than replace with
12893 O_NONBLOCK.
12894
12895 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
12896 term_mouse_moveto.
12897
12898 * termhooks.h (term_mouse_moveto): New extern.
12899
12900 * term.c (mouse_face_window): Rename...
12901 (Qmouse_face_window): ...to this.
12902 (term_show_mouse_face, term_clear_mouse_face)
12903 (term_mouse_highlight): Use Qmouse_face_window.
12904 (term_mouse_moveto): New function.
12905 (term_mouse_position): Make it work.
12906 (syms_of_term): Uncomment assignment to mouse_position_hook.
12907 Staticpro Qmouse_face_window.
12908
12909 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12910
12911 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
12912 around current_column call.
12913
12914 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
12915
12916 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
12917 * xdisp.c (next_element_from_buffer):
12918 * window.c (delete_window):
12919 * term.c (term_mouse_highlight):
12920 * msdos.c (getdefdir):
12921 * macterm.c (mac_create_bitmap_from_bitmap_data)
12922 (init_font_name_table):
12923 * fns.c (Fsxhash):
12924 * data.c (Fmake_local_variable):
12925 * ccl.c (ccl_driver): Likewise.
12926
12927 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12928
12929 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
12930 Call mac_wakeup_from_rne on window size change.
12931
12932 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
12933
12934 * image.c (uncache_image): Fix typo.
12935
12936 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
12937
12938 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
12939
12940 2007-05-22 Richard Stallman <rms@gnu.org>
12941
12942 * xterm.c (x_connection_closed): Remove NO_RETURN.
12943
12944 2007-05-22 Martin Rudalics <rudalics@gmx.at>
12945
12946 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
12947
12948 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
12949
12950 * image.c (uncache_image): New function.
12951 (Fimage_refresh): New function.
12952
12953 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
12954
12955 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
12956
12957 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
12958
12959 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
12960 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
12961
12962 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
12963
12964 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
12965 conditional on [HAVE_GPM_H].
12966
12967 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
12968
12969 * syntax.c (skip_chars): Update syntax-table only after we checked that
12970 the new location is valid.
12971
12972 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12973
12974 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
12975 mac_get_window_bounds.
12976
12977 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
12978
12979 * Makefile.in (LIBGPM): Allow it to be set from configure.
12980 If set then link Emacs with it.
12981
12982 * config.in: Regenerate.
12983
12984 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
12985 New externs.
12986
12987 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
12988 Include gpm.h.
12989 (handle_one_term_event, term_gpm): New externs.
12990
12991 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
12992 and allow it to be interrupted by SIGIO.
12993
12994 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
12995 (wait_reading_process_output): Wait on gpm_fd too.
12996 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
12997 (add_gpm_wait_descriptor_called_flag): New variable.
12998 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
12999
13000 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
13001 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
13002 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
13003 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
13004 (make_lispy_event): Add case GPM_CLICK_EVENT.
13005 (read_avail_input): Handle mouse input.
13006
13007 * term.c (write_glyphs_with_face): New function.
13008 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
13009 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
13010 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
13011 (mouse_face_face_id, term_gpm, pos_x, pos_y)
13012 (last_mouse_x, last_mouse_y): New variables.
13013 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
13014 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
13015 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
13016 (Fterm_close_connection): New functions.
13017 (term_init): Initialise mouse_face_window.
13018
13019 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
13020
13021 * xdisp.c (redisplay_window): If first window line is a
13022 continuation line, recompute the new window start instead of
13023 recentering.
13024
13025 2007-05-18 Glenn Morris <rgm@gnu.org>
13026
13027 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
13028 Suggested by Alfred M. Szmidt <ams@gnu.org>.
13029
13030 2007-05-17 Glenn Morris <rgm@gnu.org>
13031
13032 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
13033
13034 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13035
13036 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
13037 dead key repeat and up events.
13038
13039 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
13040
13041 * image.c (pbm_load): Check image size for monochrome pbm.
13042
13043 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
13044
13045 * xterm.c (XTread_socket): Revert last change.
13046
13047 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
13048
13049 * image.c (pbm_load): Correctly check image size for greyscale pbm.
13050
13051 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
13052
13053 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13054
13055 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
13056 mixup (YAILOM).
13057
13058 2007-05-07 Andreas Schwab <schwab@suse.de>
13059
13060 * keymap.c (Flookup_key): Fix typo in last change.
13061
13062 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13063
13064 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
13065 mapping for unibyte strings.
13066
13067 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13068
13069 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
13070 (Fx_popup_dialog) [MAC_OSX]: Likewise.
13071
13072 2007-04-29 Richard Stallman <rms@gnu.org>
13073
13074 * insdel.c (replace_range): For undo, record insertion first.
13075
13076 2007-04-29 Andreas Schwab <schwab@suse.de>
13077
13078 * lisp.h (VECSIZE): Use OFFSETOF.
13079
13080 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13081
13082 * xdisp.c (try_window_reusing_current_matrix): Fix number of
13083 disabled lines.
13084
13085 2007-04-28 Richard Stallman <rms@gnu.org>
13086
13087 * lread.c (read_escape): In a string, \s is always space.
13088
13089 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
13090
13091 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
13092
13093 * gtkutil.c (xg_update_menubar, create_menus): Create empty
13094 submenu for menu bar items.
13095
13096 See ChangeLog.10 for earlier changes.
13097
13098 ;; Local Variables:
13099 ;; coding: utf-8
13100 ;; add-log-time-zone-rule: t
13101 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
13102 ;; End:
13103
13104 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
13105
13106 This file is part of GNU Emacs.
13107
13108 GNU Emacs is free software: you can redistribute it and/or modify
13109 it under the terms of the GNU General Public License as published by
13110 the Free Software Foundation, either version 3 of the License, or
13111 (at your option) any later version.
13112
13113 GNU Emacs is distributed in the hope that it will be useful,
13114 but WITHOUT ANY WARRANTY; without even the implied warranty of
13115 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13116 GNU General Public License for more details.
13117
13118 You should have received a copy of the GNU General Public License
13119 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
13120
13121 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40