Remove left over code.
[bpt/emacs.git] / src / ChangeLog
1 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * lisp.h: Remove left over code.
4
5 2008-07-11 Andreas Schwab <schwab@suse.de>
6
7 * lisp.h: Fix logic in last change.
8
9 * menu.h: New file.
10 * menu.c: Include it.
11 * xmenu.c: Likewise.
12 * Makefile.in: Update dependencies.
13
14 2008-07-11 Kenichi Handa <handa@m17n.org>
15
16 * fontset.c (fontset_from_font): Cancel the previous change.
17
18 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
19
20 * lisp.h:
21 * w32heap.c:
22 * emacs.c:
23 * alloc.c: Replace all references of NO_UNION_TYPE with
24 USE_LISP_UNION_TYPE.
25
26 * m/xtensa.h (NO_UNION_TYPE):
27 * m/vax.h (NO_UNION_TYPE):
28 * m/template.h (NO_UNION_TYPE):
29 * m/sparc.h (NO_UNION_TYPE):
30 * m/mips.h (NO_UNION_TYPE):
31 * m/macppc.h (NO_UNION_TYPE):
32 * m/m68k.h (NO_UNION_TYPE):
33 * m/iris4d.h (NO_UNION_TYPE):
34 * m/intel386.h (NO_UNION_TYPE):
35 * m/ibms390x.h (NO_UNION_TYPE):
36 * m/ibms390.h (NO_UNION_TYPE):
37 * m/ibmrs6000.h (NO_UNION_TYPE):
38 * m/ia64.h (NO_UNION_TYPE):
39 * m/hp800.h (NO_UNION_TYPE):
40 * m/arm.h (NO_UNION_TYPE):
41 * m/amdx86-64.h (NO_UNION_TYPE):
42 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
43 defining it the same.
44
45 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
46
47 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped
48 line.
49
50 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
51
52 * src/fileio.c:
53 * src/sysdep.c
54 * src/systty.h:
55 * src/m/ibmrs6000.h:
56 * src/m/iris4d.h:
57 * src/s/aix4-2.h:
58 * src/s/freebsd.h:
59 * src/s/gnu-linux.h:
60 * src/s/hpux10-20.h:
61 * src/s/hpux11.h:
62 * src/s/netbsd.h:
63 * src/s/sol2-3.h:
64 * src/s/sol2-4.h:
65 * src/s/sol2.h:
66 * src/s/usg5-4.h:
67 * src/s/vms.h: Remove references to unused variables.
68
69 2008-07-10 Andreas Schwab <schwab@suse.de>
70
71 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
72 pattern before matching the generic family.
73
74 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
75
76 * unexec.c:
77 * s/vms.h:
78 * s/usg5-4-2.h:
79 * s/sol2-5.h:
80 * s/freebsd.h:
81 * s/darwin.h: Remove dead code.
82
83 * m/template.h:
84 * m/sparc.h:
85 * m/mips.h:
86 * m/m68k.h:
87 * m/iris4d.h:
88 * m/intel386.h:
89 * m/ibms390x.h:
90 * m/ibms390.h:
91 * m/ia64.h:
92 * m/hp800.h:
93 * m/arm.h:
94 * m/amdx86-64.h: Remove dead code and references to unused
95 and compiler defined symbols.
96
97 * unexmips.c:
98 * unexelf.c: Remove references to desupported systems.
99
100 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
101
102 * m/powermac.h: Remove boilerplate comments.
103 (NO_REMAP): Remove unused definition.
104
105 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
106 define them.
107
108 2008-07-10 Kenichi Handa <handa@m17n.org>
109
110 * xfont.c (xfont_open): Log the reason of failure.
111
112 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
113
114 * fontset.c (fontset_get_font_group):
115 * font.c (font_check_otf): Specify argument types.
116
117 2008-07-09 Kenichi Handa <handa@m17n.org>
118
119 * coding.c (detect_coding_utf_8): Set detect_info->found only when
120 non-ASCII char is found.
121
122 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
123 (reorder_font_vector): Change the arg preferred_family to font.
124 Prefer the spec matching with font.
125 (fontset_get_font_group): New function.
126 (fontset_find_font): Change the format of an element of a realized
127 fontset. Use fontset_get_font_group.
128 (fontset_font): Try the current fontset, the default fontset, the
129 fallbacks of the current fonset, and the fallbacks of the default
130 fontset in this order.
131 (face_for_char): Delete the shortcut to use the current font.
132 (fontset_from_font): Don't set fonts for Latin in the fontset.
133
134 * font.h (font_make_object, font_match_p): Adjust prototypes.
135
136 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
137
138 * font.c (font_make_object): New arg entity and pixelsize.
139 (font_check_otf_features, font_check_otf): New functions.
140 (font_match_p): Check :lang, :script, and :otf properties.
141
142 * xfont.c (xfont_open): Adjust it for the change of
143 font_make_object.
144 (xfont_text_extents): Fix initial setting of metrics.
145
146 * ftfont.c (struct ftfont_info): New member index, delete member
147 fc_charset_idx. Make the member order compatible with struct
148 xftfont_info.
149 (fc_charset_table): Change charset names to registry names.
150 (ftfont_pattern_entity): Delete the args registry and
151 fc_charset_idx. Change the value of :font-entity property
152 to (FONTNAME . INDEX). Always set :registry property to
153 `iso10646-1'.
154 (struct ftfont_cache_data): New struct.
155 (ftfont_lookup_cache): New arg for_face.
156 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
157 (ftfont_driver): Set the member otf_capability.
158 (ftfont_get_charset): Adjust it for the change of
159 fc_charset_table.
160 (OTF_TAG_SYM): New macro.
161 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
162 for the change of fc_charset_table.
163 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
164 ftfont_pattern_entity. Add FC_INDEX to objset.
165 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
166 and ftfont_pattern_entity.
167 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
168 font_make_object, struct ftfont_info.
169 (ftfont_has_char): Use ftfont_get_fc_charset.
170 (ftfont_otf_features, ftfont_otf_capability): New functions.
171 (ftfont_shape): Use ftfont_get_otf.
172 (ftfont_text_extents): Fix initial setting of metrics.
173
174 * xftfont.c (struct xftfont_info): New member ft_size. Make the
175 member order compatible with struct ftfont_info.
176 (xftfont_open): Add FC_CHARSET to the pattern. Set
177 xftfont_info->ft_size. Don't unlock the face. Check BDF
178 properties if appropriate.
179 (xftfont_close): Unlock the face.
180 (xftfont_anchor_point, xftfont_shape): Deleted.
181 (syms_of_xftfont): Don't set members anchor_point and shape of
182 xftfont_driver.
183
184 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
185 font_make_object.
186
187 * w32font.c (w32font_open): Adjust it for the change of
188 font_make_object.
189 (w32font_open_internal): Don't set properties of font_object here.
190
191 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
192
193 * macfns.c (x_create_tip_frame):
194 * w32fns.c (x_create_tip_frame):
195 * xfns.c (x_create_tip_frame): Pass parameter argument to
196 face-set-after-frame-default.
197
198 * xfaces.c (Finternal_merge_in_global_face): Save merged
199 attributes for the default face back into the face vector.
200
201 2008-07-08 Andreas Schwab <schwab@suse.de>
202
203 * fontset.h: Declare fontset_from_font. Don't declare
204 new_fontset_from_font and fontset_from_font_name.
205 * xterm.c: Include "fontset.h".
206 * Makefile.in (xterm.o): Update dependencies.
207
208 2008-07-08 Glenn Morris <rgm@gnu.org>
209
210 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
211 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
212
213 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
214
215 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
216 (x_set_frame_parameters): Don't bind it.
217
218 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
219
220 * w32fns.c (map_w32_filename): Declare extern.
221
222 2008-07-07 Jason Rumney <jasonr@gnu.org>
223
224 * w32term.c (WS_EX_LAYERED): Define if not already.
225
226 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
227
228 * xfaces.c (set_font_frame_param): Don't try to set the font
229 parameter if it is still unspecified in the lface.
230
231 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
232
233 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
234 face if it didn't already exist.
235
236 * xdisp.c (try_window_id): Give up if word-wrapping is on.
237
238 2008-07-05 Andreas Schwab <schwab@suse.de>
239
240 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
241
242 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
243
244 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
245 word-wrapping.
246 (IT_DISPLAYING_WHITESPACE): New macro.
247 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
248 when word-wrapping. Simplify word-wrapping logic. Use correct
249 pixel positions when saving copies of the iterator.
250 (display_line): Use proper wrap point if the last character on a
251 line was preceded by whitespace.
252
253 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
254
255 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
256
257 2008-07-04 Kenichi Handa <handa@m17n.org>
258
259 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
260
261 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
262
263 2008-07-02 Jason Rumney <jasonr@gnu.org>
264
265 * xfns.c (syms_of_xfns): Only define x-select-font when both
266 HAVE_FREETYPE and USE_GTK
267
268 * xdisp.c (next_element_from_display_vector): Move assignment out
269 of if statement.
270
271 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
272
273 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
274
275 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
276 (syms_of_fileio): Initialize and export them.
277 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
278
279 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
280 (Fsystem_move_file_to_trash): New function.
281 (syms_of_w32fns): Export it to lisp.
282
283 2008-07-01 Jason Rumney <jasonr@gnu.org>
284
285 * w32font.c (w32font_text_extents): Don't count overhang as part
286 of width.
287
288 2008-06-30 Miles Bader <miles@gnu.org>
289
290 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
291 Add `avoid_cursor_p' field.
292
293 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
294 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
295 (append_glyph, append_composite_glyph, produce_image_glyph)
296 (append_stretch_glyph): Initialize avoid_cursor_p.
297 (get_it_property): Rename from `get_line_height_property'.
298 (x_produce_glyphs): Use get_it_property.
299 (handle_line_prefix, push_display_prop): New functions.
300 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
301 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
302 New variables.
303 (syms_of_xdisp): Initialize them.
304
305 2008-06-30 Kenichi Handa <handa@m17n.org>
306
307 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
308 XftDefaultSubstitute (they are called in XftFontMatch).
309 (xftfont_open): Fix args to ftfont_font_format.
310
311 * ftfont.c (fc_charset_table): New member lang.
312 (ftfont_resolve_generic_family): New arg pattern.
313 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
314 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
315 (ftfont_open): Fix args to ftfont_font_format.
316 (ftfont_font_format): New arg filename.
317
318 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
319
320 * xfaces.c (Finternal_merge_in_global_face): If default face was
321 modified, realize it again. Update the font face attribute.
322
323 2008-06-29 Jason Rumney <jasonr@gnu.org>
324
325 * w32term.c (x_set_frame_alpha): Fix logic.
326
327 2008-06-29 Kenichi Handa <handa@m17n.org>
328
329 * fontset.c (Finternal_char_font): Return font-object instead of
330 font-name.
331
332 * composite.c (get_composition_id): Fix the width calculation for TAB.
333
334 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
335
336 * indent.c (Fvertical_motion): Properly handle float column arg.
337
338 2008-06-28 Jason Rumney <jasonr@gnu.org>
339
340 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
341 (pfnSetLayeredWindowAttributes): New function pointer.
342 (w32_initialize): Initialize it when supported.
343 (x_set_frame_alpha): New function.
344
345 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
346 (w32_frame_parm_handlers): Set alpha handler.
347
348 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
349
350 2008-06-27 Jason Rumney <jasonr@gnu.org>
351
352 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
353 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
354 (w32_to_x_charset, x_to_w32_charset)
355 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
356 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
357 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
358 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
359 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
360 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
361 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
362 (Qw32_charset_unicode): Remove.
363 (syms_of_w32fns): Update for above changes.
364
365 * w32font.c (w32_to_x_charset, x_to_w32_charset)
366 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
367 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
368 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
369 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
370 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
371 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
372 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
373 (syms_of_w32font): Update for above changes.
374
375 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
376
377 * s/usg5-4.h: Fix previous change: keep the correct branch of a
378 removed #if.
379 (USG_SHARED_LIBRARIES): Remove duplicate definition.
380
381 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
382 Eli Zaretskii <eliz@gnu.org>
383
384 * makefile.w32-in (LOCAL_FLAGS):
385 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
386
387 * sysdep.c (_spawnlp, _getpid):
388 Declare with explicit _cdecl instead of _CRTAPI1.
389
390 * editfns.c (Fget_internal_run_time):
391 Check for WINDOWSNT with #ifdef, not #if.
392
393 2008-06-26 Jason Rumney <jasonr@gnu.org>
394
395 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
396
397 * w32term.c (x_draw_glyph_string_foreground)
398 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
399 Use FONT_HANDLE macro.
400 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
401
402 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
403 (uniscribe_encode_char): Use FONT_HANDLE macro.
404
405 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
406 (w32font_text_extents): Use precast w32_font.
407 (w32font_close): Free cached metrics.
408 (w32font_open_internal): Allocate space for name on stack.
409
410 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
411
412 * xdisp.c (extend_face_to_end_of_line): Fix last change.
413
414 2008-06-26 Jason Rumney <jasonr@gnu.org>
415
416 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
417 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
418
419 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
420
421 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
422
423 2008-06-26 Jason Rumney <jasonr@gnu.org>
424
425 * w32bdf.c, w32bdf.h: Remove obsolete files.
426
427 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
428
429 * w32gui.h: Don't include w32bdf.h.
430 (XCharStruct, enum w32_char_font_type, W32FontStruct):
431 Remove obsolete font support.
432
433 * w32font.h (struct w32font_info): Remove compat_w32_font.
434 Add hfont member.
435 (FONT_COMPAT): Remove obsolete macro.
436
437 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
438 (w32font_encode_char, w32font_text_extents): Use new hfont member.
439 (w32font_open_internal): Remove compat code. Set new hfont member.
440 (Fx_select_font): Use new hfont member.
441
442 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
443 (uniscribe_encode_char): Use new hfont member.
444
445 * w32term.c (x_draw_glyph_string_foreground)
446 (x_draw_composite_glyph_string_foreground): Use new hfont member.
447 (x_draw_glyph_string): Use metrics in w32font_info.
448
449 2008-06-26 Kenichi Handa <handa@m17n.org>
450
451 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
452
453 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
454
455 * unexnext.c:
456 * m/ews4800.h:
457 * m/hp9000s300.h:
458 * m/ibm370aix.h:
459 * m/mips-siemens.h:
460 * m/ncr386.h:
461 * m/next.h:
462 * m/pmax.h:
463 * m/powerpcle.h:
464 * m/tandem-s2.h:
465 * s/386bsd.h:
466 * s/bsd386.h:
467 * s/bsd4-1.h:
468 * s/bsd4-2.h:
469 * s/bsdos2-1.h:
470 * s/bsdos2.h:
471 * s/bsdos3.h:
472 * s/bsdos4.h:
473 * s/nextstep.h:
474 * s/ultrix4-3.h:
475 * s/usg5-0.h:
476 * s/usg5-2-2.h:
477 * s/usg5-2.h:
478 * s/usg5-4-3.h:
479 * s/ux4800.h:
480 * s/uxpds.h:
481 * s/uxpv.h: Remove support for obsolete systems.
482 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
483 Remove, insert contents in s/hpux-10.20.h
484 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
485 Remove, insert contents in s/aix-4.2.h
486 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
487 * s/bsd4-3.h: Rename to ..
488 * s/bsd-common.h: ... this.
489 * src/data.c:
490 * src/doc.c:
491 * src/ecrt0.c:
492 * src/emacs.c:
493 * src/fileio.c:
494 * src/floatfns.c:
495 * src/keyboard.c:
496 * src/mem-limits.h:
497 * src/print.c:
498 * src/process.c:
499 * src/sysdep.c:
500 * src/syssignal.h:
501 * src/systty.h:
502 * src/syswait.h:
503 * src/term.c:
504 * src/unexec.c:
505 * src/unexelf.c:
506 * src/unexhp9k800.c:
507 * src/m/hp800.h:
508 * src/m/ibmrs6000.h:
509 * src/m/mips.h:
510 * src/m/vax.h:
511 * src/s/darwin.h:
512 * src/s/freebsd.h:
513 * src/s/gnu.h:
514 * src/s/ms-w32.h:
515 * src/s/msdos.h:
516 * src/s/netbsd.h:
517 * src/s/template.h: Remove references to obsolete variables.
518
519 * Makefile.in: Add dependencies for all unexec files.
520 (admindir): Remove unused variable.
521 (UNEXEC_SRC): Remove references.
522
523 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
524
525 * xfns.c (x_default_font_parameter): If Xft is available, first
526 try Monospace-12 for the default font.
527
528 2008-06-25 Jason Rumney <jasonr@gnu.org>
529
530 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
531
532 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
533
534 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
535
536 * buffer.c (syms_of_buffer): Remove default-word-wrap.
537
538 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
539
540 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
541 <scroll-conservatively>: Fix typo in docstring.
542
543 * xselect.c (Fx_send_client_event): Doc fix.
544
545 2008-06-25 Kenichi Handa <handa@m17n.org>
546
547 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
548
549 * font.c (font_parse_fcname): Remove unused variables.
550 (font_sort_entites): Delete the arg SPEC. Caller changed.
551 Fix for the case of ! best_only.
552 (font_delete_unmatched): Check DPI and AVGWIDTH too.
553
554 * lisp.h (Fstring_to_unibyte): EXFUN it.
555
556 * character.h (str_to_unibyte): Extern it.
557
558 * character.c (str_to_unibyte): New function.
559
560 * fns.c (Fstring_to_unibyte): New function.
561 (syms_of_fns): Defsubr it.
562
563 2008-06-24 Kenichi Handa <handa@m17n.org>
564
565 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
566 DPI too.
567 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
568
569 2008-06-24 Andreas Schwab <schwab@suse.de>
570
571 * Makefile.in (${lispsource}loaddefs.el): Rename from
572 ../lisp/loaddefs.el.
573 (bootstrap-clean): Do what distclean does but don't remove
574 Makefile.
575 (distclean): Depend on bootstrap-clean and remove Makefile.
576
577 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
578
579 * buffer.h (struct buffer): New member word_wrap.
580
581 * buffer.c (syms_of_buffer): New variables default-word-wrap and
582 word-wrap.
583 (init_buffer_once): Initialize them.
584
585 * dispextern.h (struct it): Replace bool truncate_lines_p with a
586 line_wrap enum possessing three possible values.
587
588 * termopts.h: Replace truncate_partial_width_windows with
589 Vtruncate_partial_width_windows.
590
591 * dispnew.c (direct_output_for_insert): Avoid direct output when
592 inserting a space with word wrap on.
593
594 * indent.c (compute_motion): Obey integer values of
595 truncate-partial-width-windows.
596
597 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
598 replacing truncate_partial_width_windows.
599 (init_iterator): If Vtruncate_partial_width_windows is an integer,
600 truncate only if the window width is below that integer.
601 (start_display. resize_mini_window, produce_stretch_glyph)
602 (display_string, move_it_in_display_line_to): Use line_wrap.
603 (back_to_previous_visible_line_start, reseat_1): Reset
604 string_from_display_prop_p.
605 (display_line): Extend default face to end of line when wrapping.
606
607 2008-06-24 Kim F. Storm <storm@cua.dk>
608
609 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
610 to wrap continued lines at word boundaries.
611
612 2008-06-24 Jason Rumney <jasonr@gnu.org>
613
614 * font.c (Ffont_face_attributes): Multiply pixel size before point
615 conversion to avoid multiplying rounding error.
616
617 2008-06-23 Jason Rumney <jasonr@gnu.org>
618
619 * w32term.c (x_draw_glyph_string_background)
620 (x_draw_glyph_string): Remove old bdf font code.
621
622 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
623
624 2008-06-22 Kenichi Handa <handa@m17n.org>
625
626 * font.c (font_find_for_lface): Try the adstyle specified in
627 the property of LFACE_FONT of LFACE (if any).
628
629 2008-06-21 Seiji Zenitani <zenitani@mac.com>
630 Ryo Yoshitake <ryo@shiftmode.net>
631
632 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
633
634 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
635
636 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
637 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
638 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
639 (witness-emacs): Remove.
640 (lisp, shortlisp): Move loaddefs.el earlier.
641 (mostlyclean): Forget about witness-emacs.
642
643 2008-06-22 Glenn Morris <rgm@gnu.org>
644
645 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
646 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
647
648 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
649
650 * Makefile.in (PRECOMP): Remove.
651 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
652 (witness-emacs): Run `compile-first'.
653 (.el.elc): Use the new compile-onefile target.
654
655 2008-06-21 Kenichi Handa <handa@m17n.org>
656
657 * xftfont.c (xftfont_open): Handle QCembolden only when
658 FC_EMBOLDEN is defined.
659
660 2008-06-21 Andreas Schwab <schwab@suse.de>
661
662 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
663 (.el.elc): Likewise.
664
665 2008-06-21 Miles Bader <miles@gnu.org>
666
667 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
668 build dir, not the lisp source dir.
669
670 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
671
672 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
673 (bootstrapclean): Remove.
674 (.el.elc): New rule.
675 (PRECOMP): New var.
676 (../lisp/subdirs.el): Remove.
677 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
678 (witness-emacs): New target.
679 (mostlyclean): Remove witness-emacs as well.
680 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
681 Add witness-emacs dependency.
682
683 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
684
685 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
686 defined by the font.
687
688 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
689
690 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
691 (bootstrap-clean): New target that keeps TAGS around.
692 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
693 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
694
695 2008-06-20 Jason Rumney <jasonr@gnu.org>
696
697 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
698 Remove obsolete font code.
699
700 * w32font.c (font_matches_spec): Use csb bitfield from font signature
701 to determine language support.
702
703 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
704
705 * sysdep.c (cfsetspeed): New fun extracted from the code.
706 (cfmakeraw): Move before first use.
707
708 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
709
710 * sysdep.c (cfmakeraw): Provide fallback implementation.
711 (serial_configure): Provide fallback implementation of cfsetspeed.
712
713 2008-06-20 Kenichi Handa <handa@m17n.org>
714
715 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
716 the pattern.
717
718 * fontset.c (fontset_from_font): Copy font_spec before changing
719 the elements.
720
721 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
722
723 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
724
725 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
726 for explicit `font' parameters.
727
728 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
729
730 2008-06-19 Kenichi Handa <handa@m17n.org>
731
732 * frame.c: Include <ctype.h>.
733 (x_set_font_backend): Allow spacing characters in the X resource
734 for FontBackend.
735
736 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
737
738 * w32fns.c, xfns.c (Qfont_param): New var.
739 (syms_of_w32fns): Initialize it.
740 (x_default_font_parameter): Record explicit `font' into
741 `font-parameter'.
742
743 2008-06-18 Kenichi Handa <handa@m17n.org>
744
745 * font.c (font_parse_xlfd): Fix previous change.
746 (font_parse_fcname): Don't use :fc-unknown-spec.
747 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
748 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
749 (font_add_log): Prepend the driver name to the resulting fonts.
750
751 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
752 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
753 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
754
755 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
756 (QCembolden): New variables.
757 (syms_of_xftfont): DEFSYM them.
758 (xftfont_open): Call XftFontMatch. Don't trust the result of
759 XftTextExtents8 if the pixel_size is less than 5.
760
761 2008-06-18 Andreas Schwab <schwab@suse.de>
762
763 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
764 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
765
766 2008-06-18 Jason Rumney <jasonr@gnu.org>
767
768 * w32font.c (w32font_list, w32font_match): Add logging.
769
770 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
771
772 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
773
774 * font.c (font_parse_fcname): Store divider characters for
775 unknown-spec list. For known key symbols, intern using correct
776 symbol name.
777
778 2008-06-17 Kenichi Handa <handa@m17n.org>
779
780 * xfaces.c (realize_default_face): If the frame is not on window
781 system, set the fontset of face to nil.
782
783 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
784
785 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
786
787 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
788
789 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
790 (build_font_name_from_vector): Delete externs.
791
792 * xfaces.c (struct font_name): Don't declare.
793
794 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
795
796 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
797
798 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
799
800 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
801
802 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
803
804 * font.c (Ffont_spec): Fix usage in docstring.
805 (Ffont_face_attributes): Doc fix.
806
807 2008-06-16 Andreas Schwab <schwab@suse.de>
808
809 * font.c (Ffont_face_attributes): Fix definition.
810
811 2008-06-16 Jason Rumney <jasonr@gnu.org>
812
813 * font.h (font_style_symbolic_from_value): Remove.
814
815 * font.c (font_style_symbolic_from_value): Remove.
816 (font_style_symbolic): Revert to pre 2008-06-13 version.
817
818 * w32font.c (w32_to_fc_weight): New function.
819 (w32font_full_name, logfont_to_fcname): Use it.
820
821 2008-06-16 Kenichi Handa <handa@m17n.org>
822
823 * font.c (font_check_object): Delete it.
824 (font_clear_cache): Check if a font-object is alive.
825 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
826 font-object to nil.
827 (font_close_object): Don't check FONT_CLOSE_OBJECT.
828 (font_at): Don't call font_check_object.
829 (Ffont_get): Return a symbol for :weight, :slant, and :width.
830
831 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
832
833 * puresize.h (BASE_PURESIZE): Increase to 1230000.
834
835 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
836
837 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
838
839 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
840
841 * font.c (font_parse_fcname): Only one decimal point.
842 (font_unparse_fcname): Handle data in family and foundry indices
843 as symbols, not strings.
844 (font_unparse_gtkname, Ffont_face_attributes): New functions.
845
846 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
847
848 * font.h (font_unparse_gtkname): Add prototype.
849
850 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
851
852 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
853
854 2008-06-15 Andreas Schwab <schwab@suse.de>
855
856 * font.c (font_update_drivers): Fix crash when no drivers match.
857
858 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
859
860 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
861 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
862
863 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
864
865 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
866
867 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
868
869 * process.c (Fserial_process_configure, Fprocess_send_eof):
870 Use EQ to compare Lisp_Objects.
871
872 2008-06-13 Jason Rumney <jasonr@gnu.org>
873
874 * w32fns.c (Fw32_select_font): Remove old font API function.
875
876 * w32font.c (logfont_to_fcname): New function.
877 (Fx_select_font): New font dialog function compatible with
878 GTK/fontconfig version.
879
880 * font.c (font_style_symbolic_from_value): New function.
881 (font_style_symbolic): Use it.
882
883 * font.h (font_style_symbolic_from_value): Declare new function.
884
885 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
886
887 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
888 <font-width-table>: Fix typos in docstrings.
889
890 2008-06-13 Daniel Engeler <engeler@gmail.com>
891
892 These changes add serial port access.
893 * process.c: Add HAVE_SERIAL.
894 (Fdelete_process, Fprocess_status, Fset_process_buffer)
895 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
896 (list_processes_1, select_wrapper, Fstop_process)
897 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
898 (status_notify): Modify to handle serial processes.
899 [HAVE_SERIAL] (Fserial_process_configure)
900 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
901 New functions.
902 * process.h (struct Lisp_Process): Add `type'.
903 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
904 New functions.
905 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
906 serial ports.
907 (serial_open, serial_configure) New functions.
908 * w32.h: Add FILE_SERIAL.
909 (struct _child_process): Add ovl_read, ovl_write.
910
911 2008-06-13 Kenichi Handa <handa@m17n.org>
912
913 * dispextern.h (enum lface_attribute_index): New member
914 LFACE_FOUNDRY_INDEX.
915
916 * font.c (font_score): Delete arg alternate_families. Check only
917 weight, slant, width, and size. Ignore the difference of alias
918 style symbols.
919 (font_sort_entites): Adjust for the above change. Reflect the
920 order of font-driver to scores.
921 (font_list_entities): Don't check alternate_familes here.
922 (font_clear_prop): Handle foundry.
923 (font_update_lface): Don't parse "foundry-family" form here.
924 Handle FONT_FOUNDRY_INDEX.
925 (font_find_for_lface): Likewise. Handle alternate families here.
926 If registry is nil, try iso8859-1 and ascii-0.
927 (font_open_for_lface): Pay attention to size in ENTITY.
928 (font_open_by_name): Simplify by calling font_load_for_lface.
929 (free_font_driver_list): Delete it.
930 (font_update_drivers): Preserve the order of backends.
931 (syms_of_font): Setting of sort_shift_bits adjusted for the change
932 of font_score and font_sort_entites.
933 (font_update_sort_order): Likewise.
934
935 * xfaces.c (LFACE_FOUNDRY): New macro.
936 (check_lface_attrs): Check foundry.
937 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
938 (merge_face_vectors): Check foundry.
939 (merge_face_ref): Likewise.
940 (Finternal_set_lisp_face_attribute): Likewise.
941 (x_update_menu_appearance): Likewise.
942 (Finternal_get_lisp_face_attribute): Likewise.
943 (lface_hash): Likewise.
944 (lface_same_font_attributes_p): Likewise.
945 (x_supports_face_attributes_p): Likewise.
946 (tty_supports_face_attributes_p): Likewise.
947 (Finternal_set_alternative_font_family_alist): Intern strings.
948 (Finternal_set_alternative_font_registry_alist): Downcase strings.
949 (realize_default_face): Set LFACE_FOUNDRY (lface).
950
951 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
952 font-driver at first.
953
954 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
955
956 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
957
958 * lread.c (Fload): Use xfree, not free on saved_doc_string.
959
960 2008-06-12 Jim Meyering <meyering@redhat.com>
961
962 Make unexec_free handle NULL the same way free does.
963 * unexmacosx.c (unexec_free): Ignore a NULL argument.
964
965 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
966
967 * character.h (CHAR_TO_BYTE_SAFE): New macro.
968 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
969 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
970 (WEAK_ALIAS): Simplify.
971 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
972 when searching a unibyte buffer.
973
974 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
975
976 * xfns.c (Fx_select_font): Rename from x-font-dialog.
977
978 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
979
980 * w32font.c: Include ctype.h.
981
982 2008-06-11 Jason Rumney <jasonr@gnu.org>
983
984 * w32font.c (w32font_encode_char): Detect missing glyphs that are
985 misreported as space.
986 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
987 as aliases for registry iso10646-1.
988
989 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
990
991 * buffer.c (clone_per_buffer_values): Skip `name'.
992
993 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
994
995 * font.c (font_parse_fcname): Fix last change; accept decimal
996 points in font size.
997
998 2008-06-10 Jason Rumney <jasonr@gnu.org>
999
1000 * w32uniscribe.c (add_opentype_font_name_to_list):
1001 Skip non unicode fonts.
1002
1003 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
1004
1005 * xfns.c (Fx_font_dialog): New function.
1006
1007 * gtkutil.c (xg_dialog_response_cb): Rename from
1008 xg_file_response_callback.
1009 (pop_down_dialog): Rename from pop_down_file_dialog.
1010 (xg_get_file_name): Callers changed.
1011 (xg_get_font_name): New function.
1012
1013 * gtkutil.h (xg_get_font_name): Insert prototype.
1014
1015 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1016
1017 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
1018 x_underline_minimum_display_offset.
1019 (syms_of_xdisp): Declare it here rather than in xterm.c.
1020 * dispextern.h (underline_minimum_offset): Declare it.
1021 * w32term.c (x_draw_glyph_string): Use it.
1022 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
1023 (syms_of_xterm): Don't declare it any more.
1024 (x_draw_glyph_string): Adjust to the new name.
1025
1026 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
1027
1028 * xterm.c (x_underline_minimum_display_offset): New var.
1029 (x_draw_glyph_string): Use it.
1030 (syms_of_xterm): Declare it.
1031
1032 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
1033
1034 * font.c (font_parse_fcname): Accept GTK-style font names too.
1035
1036 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1037
1038 * dired.c (file_name_completion): Don't return t if the match is exact
1039 but with different capitalization.
1040 * minibuf.c (Ftry_completion): Simplify.
1041
1042 * window.c (Vwindow_point_insertion_type): New var.
1043 (set_window_buffer): Use it.
1044 (syms_of_window): Init and export it to Lisp.
1045
1046 2008-06-10 Kenichi Handa <handa@m17n.org>
1047
1048 * font.h (font_intern_prop): Prototype adjusted.
1049
1050 * font.c (font_intern_prop): New arg force_symbol.
1051 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
1052 Adjust for the change of font_intern_prop.
1053
1054 * ftfont.c (ftfont_pattern_entity):
1055 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
1056 (w32_registry):
1057 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
1058 the change of font_intern_prop.
1059
1060 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
1061
1062 * w32menu.c (digest_single_submenu): Declare extern.
1063
1064 2008-06-09 Jason Rumney <jasonr@gnu.org>
1065
1066 * w32term.c (x_make_frame_visible): Use alternate restore flags.
1067
1068 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
1069 (parse_single_submenu): Remove.
1070 (digest_single_submenu): Remove.
1071 (syms_of_w32menu): Don't initialise variables that have moved
1072 to menu.c.
1073 (set_frame_menubar): Sync with version in xmenu.c.
1074 (w32_menu_show): Sync with xmenu_show in xmenu.c.
1075
1076 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
1077 Make static again.
1078
1079 2008-06-09 Jason Rumney <jasonr@gnu.org>
1080
1081 Changes to w32 files related to the move of common menu code
1082 to menu.c on 2008-06-08 by Chong Yidong.
1083
1084 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
1085 defs to w32gui.h.
1086 (single_keymap_panes, push_menu_item, push_menu_pane):
1087 Make globally visible.
1088
1089 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
1090 (local_free, malloc_widget_value, free_widget_value)
1091 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
1092 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
1093 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
1094 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
1095 (menu_items, menu_items_allocated, menu_items_used)
1096 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
1097 (init_menu_items, finish_menu_items, discard_menu_items)
1098 (grow_menu_items, push_submenu_start, push_submenu_end)
1099 (push_left_right_boundary, push_menu_pane, push_menu_item)
1100 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
1101 (free_menubar_widget_tree_value, parse_single_submenu)
1102 (update_submenu_strings): Remove functions.
1103 (xmalloc_widget_value): Remove and declare extern.
1104
1105 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
1106 (OBJ1): Build it.
1107
1108 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
1109 (local_heap, local_alloc, local_free, malloc_widget_value)
1110 (free_widget_value): Define here.
1111
1112 2008-06-09 Kenichi Handa <handa@m17n.org>
1113
1114 * font.h (Qascii_0): Extern it.
1115
1116 * font.c (Qascii_0): New variable.
1117 (syms_of_font): DEFSYM it.
1118 (font_open_by_name): If the registry "iso8859-1" fails, try also
1119 "ascii-0".
1120
1121 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
1122
1123 2008-06-08 Kenichi Handa <handa@m17n.org>
1124
1125 * .gdbinit (xfont): New command.
1126
1127 2008-06-08 Andreas Schwab <schwab@suse.de>
1128
1129 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
1130 * Makefile.in (menu.o): Update dependencies.
1131
1132 * Makefile.in (obj): Always add menu.o.
1133 * emacs.c (main): Always call syms_of_menu.
1134 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
1135
1136 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
1137
1138 * Makefile.in: Compile menu.c.
1139
1140 * lisp.h: Declare syms_of_menu.
1141
1142 * emacs.c (main): Call syms_of_menu.
1143
1144 * keyboard.h: Relocate platform-independent menu definitions from
1145 xmenu.c.
1146
1147 * menu.c: New file. Relocate platform-independent menu
1148 definitions from xmenu.c. Suggested by Adrian Robert.
1149
1150 * xmenu.c: Remove platform-independent menu definitions.
1151 (menu_items menu_items_inuse, menu_items_allocated)
1152 (menu_items_used, menu_items_n_panes)
1153 (menu_items_submenu_depth): Move to keyboard.h.
1154 (init_menu_items, finish_menu_items, unuse_menu_items)
1155 (discard_menu_items, restore_menu_items, save_menu_items)
1156 (grow_menu_items, push_submenu_start, push_submenu_end)
1157 (push_left_right_boundary, push_menu_pane, push_menu_item)
1158 (keymap_panes, single_keymap_panes, single_menu_item)
1159 (list_of_panes, list_of_items, find_and_call_menu_selection)
1160 (xmalloc_widget_value, free_menubar_widget_value_tree)
1161 (parse_single_submenu, digest_single_submenu)
1162 (update_submenu_strings): Move to menu.c.
1163
1164 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
1165
1166 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
1167
1168 2008-06-06 Miles Bader <miles@gnu.org>
1169
1170 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
1171 face, not frame default.
1172
1173 2008-06-05 Martin Rudalics <rudalics@gmx.at>
1174
1175 * window.c (pop_up_windows, pop_up_frames)
1176 (display_buffer_reuse_frames, Vpop_up_frame_function)
1177 (Vdisplay_buffer_function, Veven_window_heights)
1178 (Vspecial_display_buffer_names, Vspecial_display_regexps)
1179 (Vspecial_display_function, Vsame_window_buffer_names)
1180 (Vsame_window_regexps, split_height_threshold)
1181 (Vsplit_window_preferred_function): Move those vars to window.el.
1182 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
1183 (Fdisplay_buffer): Move those functions to window.el.
1184 (syms_of_window): Remove corresponding declarations.
1185 (display_buffer): New function.
1186 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
1187 * dispnew.c (Flast_nonminibuf_frame): New function.
1188 * buffer.c (Fpop_to_buffer): Move to window.el.
1189
1190 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1191
1192 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
1193
1194 2008-06-05 Kenichi Handa <handa@m17n.org>
1195
1196 * coding.c (detect_coding): Fix previous change.
1197 (detect_coding_system): Likewise.
1198
1199 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1200
1201 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
1202
1203 * keymap.c (Vminibuffer_local_filename_must_match_map):
1204 Rename from Vminibuffer_local_must_match_filename_map.
1205 (syms_of_keymap):
1206 * minibuf.c (Fcompleting_read): Adjust accordingly.
1207 * commands.h: Rename declaration as well.
1208
1209 2008-06-05 Kenichi Handa <handa@m17n.org>
1210
1211 * font.c (Ffont_spec): Don't use font_parse_family_registry for
1212 family name.
1213 (Ffont_put): Likewise.
1214
1215 * fontset.c (fontset_find_font): Call font_open_for_lface with the
1216 current font-spec.
1217
1218 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
1219 is unspecified.
1220
1221 * xfaces.c (realize_x_face): If the font-related face attributes
1222 are the same as those of default face, realize a new fontset from
1223 default->fontset.
1224 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
1225
1226 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1227
1228 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
1229 (move_it_in_display_line): New wrapper.
1230
1231 * window.c (window_scroll_pixel_based_preserve_x)
1232 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
1233 (window_scroll_pixel_based, window_scroll_line_based):
1234 Use them to preserve column positions.
1235 (syms_of_window): Initialize them.
1236
1237 * indent.c (Fvertical_motion): Extend first arg to allow passing an
1238 (HPOS . VPOS) pair.
1239
1240 * dispextern.h (move_it_in_display_line): Declare.
1241
1242 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
1243
1244 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
1245 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
1246 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
1247
1248 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
1249
1250 * window.c (Fset_window_parameter): Doc fix.
1251 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
1252
1253 2008-06-04 Joakim Verona <joakim@verona.se>
1254
1255 * window.h (struct window): Add new member window_parameters.
1256
1257 * window.c (Fwindow_parameters, Fwindow_parameter)
1258 (Fset_window_parameter): New defuns.
1259 (syms_of_window): Defsubr the new defuns.
1260 (make_window): Initialize window_parameters to nil.
1261
1262 2008-06-04 John Paul Wallington <jpw@pobox.com>
1263
1264 * eval.c (Fdefmacro): Doc fix.
1265
1266 2008-06-04 Kenichi Handa <handa@m17n.org>
1267
1268 * coding.c (detect_coding): Fix handling of coding->head_ascii.
1269 Be sure to call setup_coding_system when we find a proper coding system.
1270 (detect_coding_system): Fix handling of coding->head_ascii.
1271
1272 2008-06-03 Andreas Schwab <schwab@suse.de>
1273
1274 * font.c (font_prop_validate_spacing): Fix last change.
1275
1276 2008-06-03 Kenichi Handa <handa@m17n.org>
1277
1278 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
1279 (font_parse_fcname): Fix handling of unknown key.
1280
1281 * xfont.c (xfont_list): Try an alias.
1282
1283 * charset.c (char_charset): Return NULL if the arg charset_list is
1284 specified and C doesn't belong to any of them.
1285
1286 2008-06-02 Chip Coldwell <coldwell@redhat.com>
1287
1288 * font.c (font_pixel_size): Don't take cdr of an integer.
1289
1290 2008-06-02 Jim Meyering <meyering@redhat.com>
1291
1292 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
1293 * alloc.c (xfree): Return right away for a NULL arg.
1294 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
1295 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
1296 * mac.c (create_apple_event_from_event_ref): Likewise.
1297 (create_apple_event_from_drag_ref, cfstring_create_normalized):
1298 Likewise.
1299 * doprnt.c (doprnt1): Likewise.
1300 * frame.c (frame): Likewise.
1301 * keyboard.c (wipe_kboard): Likewise.
1302 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
1303 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
1304 * term.c (tty_default_color_capabilities, maybe_fatal)
1305 (delete_tty): Likewise.
1306 * w16select.c (string): Likewise.
1307 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
1308 * w32bdf.c (w32_free_bdf_font): Likewise.
1309 * w32fns.c (w32_unload_font): Likewise.
1310 * w32font.c (w32font_close): Likewise.
1311 * window.c (size_window): Likewise.
1312 * xselect.c (receive_incremental_selection): Likewise.
1313 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
1314 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
1315 * w32.c (stat): Likewise.
1316
1317 Remove useless if-before-free tests.
1318 * editfns.c (Fset_time_zone_rule): Likewise.
1319 * lread.c (nosuffix): Likewise.
1320 * ralloc.c (get_bloc): Likewise.
1321 * regex.c (reg_free): Likewise.
1322 * xftfont.c (xftfont_open, xftfont_close): Likewise.
1323 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
1324 * xsmfns.c (smc_save_yourself_CB): Likewise.
1325
1326 2008-06-02 Kenichi Handa <handa@m17n.org>
1327
1328 * font.c (font_find_for_lface): Handle float font size.
1329 (font_open_for_lface): Likewise.
1330
1331 * xfaces.c (x_supports_face_attributes_p): Check face->font before
1332 comparing the properties.
1333
1334 2008-06-01 Jason Rumney <jasonr@gnu.org>
1335
1336 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
1337 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
1338 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
1339 Don't add empty script list.
1340 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
1341
1342 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
1343
1344 * Makefile.in (dot, dotdot): Remove, update users.
1345 ".." has been used elsewhere in the file for a long time.
1346 (LIBXT_STATIC): Remove conditional based on unused variable.
1347
1348 2008-06-01 Miles Bader <miles@gnu.org>
1349
1350 * xfaces.c (Vface_remapping_alist): New variable.
1351 (syms_of_xfaces): Initialize it.
1352 (enum named_merge_point_kind): New type.
1353 (struct named_merge_point): Add `named_merge_point_kind' field.
1354 (push_named_merge_point): Make cycle detection respect different
1355 named-merge-point kinds.
1356 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
1357 Remove face-name alias resolution.
1358 (lface_from_face_name): New definition using
1359 `lface_from_face_name_no_resolve'.
1360 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
1361 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
1362 (get_lface_attributes): New definition that layers face-remapping on
1363 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
1364 (lookup_basic_face): New function.
1365 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
1366 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
1367 `get_lface_attributes'.
1368 (face_at_buffer_position): Use `lookup_basic_face' to lookup
1369 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
1370 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
1371
1372 * xdisp.c (init_iterator): Pass base_face_id through
1373 `lookup_basic_face' when we actually use it as a face-id.
1374 (handle_single_display_prop): Use `lookup_basic_face' to lookup
1375 DEFAULT_FACE_ID.
1376
1377 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
1378 lookup the initial face-id.
1379
1380 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
1381
1382 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
1383
1384 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
1385 (Fremove_text_properties): Fix typos in docstrings.
1386
1387 2008-05-31 Kenichi Handa <handa@m17n.org>
1388
1389 * font.c (font_list_entities): Fix the car part of data to be
1390 stored in the cache.
1391
1392 * ftfont.c (ftfont_font_format): Don't use strcasestr.
1393
1394 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
1395
1396 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
1397 Add a `test' argument so another predicate than `equal' can be used.
1398 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
1399 (map_char_table): Remove unused vars `c' and `i'.
1400 * lisp.h (Foptimize_char_table): Adjust declaration.
1401 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
1402
1403 2008-05-30 Kenichi Handa <handa@m17n.org>
1404
1405 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
1406 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
1407 defined.
1408
1409 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
1410
1411 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
1412 (Fmake_variable_frame_local): Disallow mixing buffer-local and
1413 frame-local settings for the same variable.
1414
1415 2008-05-30 Kenichi Handa <handa@m17n.org>
1416
1417 * fontset.c (Ffont_info): Move to font.c.
1418 (syms_of_fontset): Delete defsubr of Sfont_info.
1419
1420 * font.c (font_style_to_value, font_score): Delete casting of the
1421 args to xstcasecmp.
1422 (register_font_driver): Increment num_font_drivers only when
1423 registering the driver globally.
1424 (Ffont_info): Move from fontset.c. Handle a font object too.
1425 (syms_of_font): Defsubr Sfont_info.
1426
1427 2008-05-29 Kenichi Handa <handa@m17n.org>
1428
1429 * coding.h (enum define_coding_utf8_arg_index): New enum.
1430 (enum coding_attr_index): Change coding_attr_utf_16_bom to
1431 coding_attr_utf_bom.
1432 (enum utf_bom_type): Rename from utf_16_bom_type.
1433 (struct utf_16_spec): Adjust for the above change.
1434 (struct coding_system): Add utf_8_bom in `spec' union.
1435
1436 * coding.c (CODING_UTF_8_BOM): New macro.
1437 (enum coding_category): Delete coding_category_utf_8, add
1438 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
1439 coding_category_utf_8_sig.
1440 (CATEGORY_MASK_UTF_8): Delete it.
1441 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
1442 (CATEGORY_MASK_UTF_8_SIG): New macros.
1443 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
1444 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
1445 CATEGORY_MASK_UTF_8_SIG.
1446 (CATEGORY_MASK_UTF_8): New macro.
1447 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
1448 (detect_coding_utf_8): Check BOM.
1449 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
1450 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
1451 (encode_coding_utf_16): Likewise.
1452 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
1453 (detect_coding, detect_coding_system): Handle utf-8-auto.
1454 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
1455 (syms_of_coding): Fix setting up of Vcoding_category_table.
1456
1457 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
1458
1459 * process.c (Faccept_process_output): If `millisec' is non-nil,
1460 `seconds' default to 0.
1461 (wait_reading_process_output): Also return non-nil if we read output
1462 from a non-running process.
1463
1464 2008-05-29 Jason Rumney <jasonr@gnu.org>
1465
1466 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
1467 `raster' specified.
1468 (add_font_entity_to_list): Allow non-opentype truetype fonts back
1469 in the uniscribe backend, but disallow any font that has no
1470 unicode subrange support.
1471
1472 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
1473
1474 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
1475 Fix typos in docstrings.
1476
1477 2008-05-29 Kenichi Handa <handa@m17n.org>
1478
1479 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
1480 (Fx_family_fonts): Set frame correctly.
1481
1482 2008-05-28 Jason Rumney <jasonr@gnu.org>
1483
1484 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
1485
1486 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
1487
1488 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
1489 calling build_annotations.
1490
1491 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
1492
1493 * coding.c (Fdecode_coding_region, Fencode_coding_region)
1494 (Fencode_coding_string):
1495 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
1496 <latin-extra-code-table>: Fix typos in docstrings.
1497 (syms_of_coding) <coding-system-alist>: Doc fix.
1498 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
1499
1500 2008-05-28 Kenichi Handa <handa@m17n.org>
1501
1502 * fontset.c (Ffont_info): Don't call font_close_object.
1503
1504 * font.c (font_parse_family_registry): Use Ffont_put to validate
1505 foundry and family.
1506 (font_delete_unmatched): Don't check spacing.
1507 (font_list_entities): Add spacing to the spec to list fonts.
1508
1509 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
1510 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
1511
1512 * coding.c (encode_coding_raw_text): Fix previous change.
1513 (encode_coding_object): When the dst_object is a buffer and is
1514 different from src_object, move gap to PT.
1515
1516 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
1517
1518 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
1519
1520 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
1521
1522 * coding.c (encode_coding_raw_text): Set coding->produced_char for
1523 all branches. Compute it differently.
1524
1525 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
1526
1527 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
1528
1529 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
1530 into "else if () ... else ...".
1531
1532 2008-05-27 Jason Rumney <jasonr@gnu.org>
1533
1534 * w32font.c (w32font_open_internal): Determine if glyph indices
1535 are likely to work here.
1536
1537 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
1538
1539 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
1540 draw overlap glyphs with appropriate highlighting.
1541
1542 2008-05-27 Kenichi Handa <handa@m17n.org>
1543
1544 * xfont.c (xfont_open): Fix calculation of font->average_width.
1545
1546 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
1547
1548 * casefiddle.c (casify_object): Try to guess better whether the
1549 argument is a byte or a char.
1550
1551 2008-05-26 Andreas Schwab <schwab@suse.de>
1552
1553 * xselect.c (x_reply_selection_request): Properly handle format == 32.
1554 Always send multiples of format size.
1555
1556 * xterm.c (x_set_frame_alpha): Fix type mismatch.
1557
1558 2008-05-26 Jason Rumney <jasonr@gnu.org>
1559
1560 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
1561 (compute_metrics): Don't set failure if we just cleared the cache.
1562 (w32_weight_table): Remove unused variable.
1563 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
1564 backwards compatibility.
1565
1566 2008-05-25 Kenichi Handa <handa@m17n.org>
1567
1568 * w32term.c (x_draw_glyph_string):
1569 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
1570
1571 * xfaces.c: Delete unused function prototypes.
1572 (xstrlwr, font_frame): Delete them.
1573 (clear_face_cache): Delete unused variable.
1574
1575 * xftfont.c (xftfont_open): Delete unused variable.
1576 If underline_thickness is not 1, adjust underline_position.
1577
1578 * ftxfont.c (ftxfont_open): Delete unused variable.
1579
1580 * fontset.c (face_for_char): Optimize for the case of no charset
1581 property.
1582
1583 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
1584 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
1585 (otf_open, font_otf_capability, generate_otf_features)
1586 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1587 Comment out by surrounding "#if 0" and "#endif" for the moment.
1588 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
1589 (syms_of_font): Codes for accessing above commented out.
1590
1591 2008-05-24 Eli Zaretskii <eliz@gnu.org>
1592
1593 * w32proc.c: Include dispextern.h.
1594
1595 * w32.c: Include dispextern.h.
1596
1597 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
1598
1599 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
1600 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
1601 Fix typos in docstrings.
1602
1603 2008-05-23 Jason Rumney <jasonr@gnu.org>
1604
1605 * xsmfns.c: Remove includes that are already included by config.h.
1606
1607 2008-05-23 Kenichi Handa <handa@m17n.org>
1608
1609 * charset.c (Qemacs, charset_emacs): New variables.
1610 (char_charset): Fix for non-Unicode characters.
1611 (syms_of_charset): Define charset_emacs.
1612
1613 * w32term.c (x_draw_glyph_string): Be sure to update
1614 s->underline_thickness and s->underline_position. Be sure to draw
1615 underline within the current line area.
1616
1617 * xterm.c (x_draw_glyph_string): Be sure to update
1618 s->underline_thickness and s->underline_position. Be sure to draw
1619 underline within the current line area.
1620
1621 * fontset.c: Delete unused variables and add casting for char *
1622 throughout the file.
1623 (fontset_font): Try the fallback fonts of the current fontset
1624 before consulting the default fontset.
1625
1626 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
1627
1628 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
1629
1630 2008-05-22 Jason Rumney <jasonr@gnu.org>
1631
1632 * font.c: Don't include strings.h.
1633
1634 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
1635
1636 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
1637 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
1638 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
1639 to call xstrcasecmp.
1640
1641 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
1642
1643 * fontset.c (fs_query_fontset): Use xstrcasecmp.
1644
1645 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
1646
1647 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
1648
1649 2008-05-22 Kenichi Handa <handa@m17n.org>
1650
1651 * puresize.h (BASE_PURESIZE): Increase to 1220000.
1652
1653 * font.c (font_prop_validate_style): Adjust for the format
1654 change of font_style_table.
1655
1656 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
1657 two args.
1658
1659 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
1660 two args.
1661
1662 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
1663
1664 * minibuf.c (keys_of_minibuf): Delete.
1665 * lisp.h (keys_of_minibuf): Delete.
1666 * emacs.c (main): Don't call keys_of_minibuf.
1667
1668 2008-05-22 Kenichi Handa <handa@m17n.org>
1669
1670 * ftfont.c (ftfont_resolve_generic_family): Rename from
1671 ftfont_list_generic_family. Return a single family for each
1672 generic family.
1673 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
1674 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
1675 Call font_add_log.
1676 (ftfont_match): Call font_add_log.
1677
1678 * font.h (Ffont_xlfd_name): EXFUN adjusted.
1679 (FONT_DEBUG): Define it.
1680 (font_add_log): Extern it.
1681 (font_assert): Rename from xassert.
1682
1683 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
1684 (xfont_list_family): Call font_add_log.
1685 (xfont_match): Likewise.
1686 (memq_no_quit): Delete.
1687
1688 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
1689 call of Ffont_xlfd_name.
1690
1691 * xfaces.c (struct table_entry, slant_table, weight_table)
1692 (swidth_table): Move to font.c.
1693
1694 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
1695 xassert are changed to font_assert. Delete many unused variables.
1696 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
1697 New variables.
1698 (struct table_entry): Move from xfaces.c and modified.
1699 (weight_table, slant_table, width_table): Move from xfaces.c and
1700 contents adjusted for the change of struct table_entry.
1701 (font_style_to_value, font_style_symbolic): Adjust for the
1702 format change of font_style_table.
1703 (font_parse_family_registry): Don't overwrite existing foundry and
1704 family of font_spec.
1705 (font_score): Fix calculation of diff for sizes.
1706 (font_sort_entites): Call font_add_log.
1707 (font_delete_unmatched): Return a newly created list.
1708 (font_list_entities): Fix previous change. Call font_add_log.
1709 (font_matching_entity, font_open_entity, font_close_entity):
1710 Call font_add_log.
1711 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
1712 (Finternal_set_font_style_table): Delete.
1713 (BUILD_STYLE_TABLE): New macro.
1714 (build_style_table): New function.
1715 (Vfont_log, font_log_env_checked): New variables.
1716 (font_add_log): New function.
1717 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
1718 Declare Lisp variables "font-weight-table", "font-slant-table",
1719 "font-width-table", and "font-log". Initialize font_style_table.
1720
1721 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
1722
1723 * xterm.c (x_set_frame_alpha): Move declarations before statements.
1724
1725 2008-05-21 Seiji Zenitani <zenitani@mac.com>
1726 Ryo Yoshitake <ryo@shiftmode.net>
1727
1728 * frame.c (Qalpha): Add a new frame parameter `alpha'.
1729 (Vframe_alpha_lower_limit): New variable.
1730 (x_set_alpha): New function.
1731
1732 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
1733
1734 * xfns.c (x-create-frame, Qalpha):
1735 Initialize the frame parameter `alpha'.
1736 * xterm.c (OPAQUE, OPACITY): New.
1737 (x_set_frame_alpha): New function.
1738 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
1739
1740 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
1741 * w32fns.c (w32_frame_parm_handlers): Likewise.
1742
1743 2008-05-20 Jason Rumney <jasonr@gnu.org>
1744
1745 * w32font.c (add_font_entity_to_list): Don't add non-opentype
1746 truetype fonts to opentype list.
1747
1748 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
1749
1750 * fontset.c (Ffontset_info): Doc fix.
1751 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
1752 <ignore-relative-composition>: Fix typos in docstrings.
1753
1754 * font.c (syms-of-font) <font-encoding-alist>:
1755 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
1756 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
1757 (Ffont_otf_alternates): Doc fixes.
1758
1759 2008-05-20 Kenichi Handa <handa@m17n.org>
1760
1761 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
1762 font.h through out the file.
1763 (FONT_DRIVERS): Rename from FONTOBJ.
1764 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
1765 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
1766
1767 * emacs.c (main): Call syms_of_font unconditionally.
1768
1769 * font.h (find_font_encoding): Extern it.
1770
1771 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
1772 fontset.c.
1773 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
1774 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
1775 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
1776 only when HAVE_WINDOW_SYSTEM is defined.
1777 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
1778 when HAVE_WINDOW_SYSTEM is defined.
1779
1780 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
1781 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
1782
1783 * xfaces.c: Include font.h unconditionally.
1784 (merge_face_ref, merge_face_vectors)
1785 (Finternal_set_lisp_face_attribute): Cancel the previous change.
1786
1787 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
1788
1789 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
1790 indirect_variable.
1791 * eval.c (lisp_indirect_variable): New fun.
1792 (Fuser_variable_p): Use it.
1793
1794 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1795
1796 * lisp.h (indirect_variable):
1797 * data.c (indirect_variable, let_shadows_buffer_binding_p):
1798 Use Lisp_Symbol pointers rather than Lisp_Object.
1799 Adjust callers.
1800 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
1801 To this end, change calling-convention.
1802
1803 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
1804 if some non-hidden buffers are selected by string&pred.
1805
1806 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
1807
1808 * process.c (wait_reading_process_output): Always check status
1809 when in batch mode.
1810
1811 2008-05-19 Kenichi Handa <handa@m17n.org>
1812
1813 * font.c (font_list_entities): Fix handling of cache.
1814 (font_matching_entity): Likewise.
1815
1816 * ftfont.c (cs_iso8859_1): Delete.
1817 (ft_face_cache): New variable.
1818 (struct ftfont_info): New member fc_charset_idx.
1819 (ftfont_build_basic_charsets): Delete.
1820 (fc_charset_table): New variable.
1821 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
1822 . FC_CHARSET_IDX) as :font-entity property in the font entity.
1823 Callers changed.
1824 (ftfont_lookup_cache, ftfont_get_charset): New functions.
1825 (ftfont_spec_pattern): New argument fc_charset_idx.
1826 Check registry more rigidly. Change callers.
1827 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
1828 change of :font-entity property of the font.
1829
1830 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
1831 property of the font.
1832
1833 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
1834
1835 * coding.c (Fcoding_system_p): Rename argument to match docstring.
1836 (Funencodable_char_position, Fcheck_coding_systems_region)
1837 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
1838 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
1839 (Ffind_operation_coding_system, Fset_coding_system_priority)
1840 (Fcoding_system_eol_type): Doc fixes.
1841
1842 2008-05-17 Glenn Morris <rgm@gnu.org>
1843
1844 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
1845
1846 2008-05-16 Eli Zaretskii <eliz@gnu.org>
1847
1848 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
1849 and st_gid.
1850
1851 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1852 HAVE_WINDOW_SYSTEM is not defined.
1853
1854 * xfaces.c (merge_face_ref, merge_face_vectors)
1855 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
1856 HAVE_WINDOW_SYSTEM is defined.
1857 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
1858
1859 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
1860
1861 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
1862
1863 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1864
1865 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
1866
1867 2008-05-15 Kenichi Handa <handa@m17n.org>
1868
1869 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
1870 preference.
1871
1872 2008-05-15 Glenn Morris <rgm@gnu.org>
1873
1874 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
1875
1876 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
1877
1878 * fns.c (init_fns): Don't initialize weak_hash_tables here.
1879 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
1880
1881 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
1882
1883 2008-05-15 Kenichi Handa <handa@m17n.org>
1884
1885 * ftfont.c (ftfont_list): Downcase family name to check generic
1886 families.
1887
1888 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
1889 font-spec for QCfont value.
1890
1891 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
1892 buffer. Check the return value of it.
1893
1894 2008-05-14 Jason Rumney <jasonr@gnu.org>
1895
1896 * w32term.c (w32_get_glyph_overhangs): Remove.
1897 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
1898
1899 2008-05-14 Kenichi Handa <handa@m17n.org>
1900
1901 * font.c (font_prop_validate): Make nil a valid value.
1902 (font_clear_cache): Check if the cached vector of entities is nil
1903 or not.
1904
1905 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1906
1907 * emacs.c (main_thread): Conditionalize on
1908 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1909 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
1910
1911 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
1912 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
1913 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
1914
1915 2008-05-14 Kenichi Handa <handa@m17n.org>
1916
1917 * coding.c (detect_coding_iso_2022): Ignore a coding category that
1918 has no corresponding coding system.
1919
1920 2008-05-14 Jason Rumney <jasonr@gnu.org>
1921
1922 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
1923
1924 * w32font.h (w32font_open_internal): Update declaration.
1925
1926 * w32font.c (w32font_open_internal): Change last argument from
1927 w32font_info struct to font object. Fill in font object from
1928 font_entity. Get Outline metrics if possible. Use them to
1929 calculate underline position and thickness. Use xlfd name as name
1930 property. Don't set codepage.
1931 (w32font_open): Pass font_object to w32font_open_internal. Don't
1932 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
1933 (w32font_draw): Use s->font.
1934 (clear_cached_metrics): Don't clear non-existent blocks.
1935
1936 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
1937 font was not found.
1938 (x_draw_glyph_string): Use underline position and thickness from font.
1939
1940 * w32uniscribe.c (uniscribe_open): Pass font_object to
1941 w32font_open_internal.
1942
1943 2008-05-14 Kenichi Handa <handa@m17n.org>
1944
1945 These changes are to delete all legacy font-handling codes, and
1946 make Emacs use only font-backends.
1947
1948 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
1949 (frame.o, image.o, print.o): Depend on $(FONTSRC).
1950
1951 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
1952
1953 * charset.h (Vcharset_non_preferred_head)
1954 (Vcurrent_iso639_language): Extern them.
1955
1956 * charset.c (Vcharset_non_preferred_head): New variable.
1957 (Vcurrent_iso639_language): New variable.
1958 (syms_of_charset): Declare it as a Lisp variable.
1959 (char_charset): Don't check non preferred charsets. As a last
1960 resort, return charset_unicode.
1961 (Fset_charset_priority): Update Vcharset_non_preferred_head.
1962
1963 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
1964 conditionals. Don't check enable_font_backend. Delete all codes
1965 used only when USE_FONT_BACKEND is not defined.
1966
1967 * dispextern.h (struct glyph_string): Change type of `font' to
1968 `struct font *'.
1969 (struct glyph_string): New member underline_position and
1970 underline_thickness.
1971 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
1972 (struct face): Change type of `font' to `struct font *'. Remove
1973 members `font_name', `font_info_id'.
1974 (per_char_metric, encode_char): Delete externs.
1975 (calc_pixel_width_or_height): Adjust the prototype.
1976
1977 * emacs.c (enable_font_backend): Delete extern.
1978 (main): Don't set enable_font_backend. Don't check the command
1979 line argument "-disable-font-backend".
1980
1981 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
1982 (enum font_property_index): New members FONT_DPI_INDEX,
1983 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
1984 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
1985 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
1986 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
1987 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
1988 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
1989 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
1990 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
1991 (struct font_spec, struct font_entity): New structs.
1992 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
1993 (struct font): Many members from old "struct font_info" moved to
1994 here. Members font and entity deleted.
1995 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
1996 the new font-related objects.
1997 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
1998 (CHECK_FONT_GET_OBJECT): Likewise.
1999 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
2000 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
2001 (struct font_driver): New members case_sensitive anc check. Type
2002 of the member list and open changed.
2003 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
2004 (font_symbolic_width, font_find_object, font_get_spec)
2005 (font_set_lface_from_name): Delete extern.
2006 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
2007
2008 * font.c: Include <strings.h>.
2009 (enable_font_backend): Delete it.
2010 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
2011 (CHECK_VALIDATE_FONT_SPEC): Delete it.
2012 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
2013 (null_string): Delete it.
2014 (null_vector): Make it static.
2015 (font_family_alist): Delete it.
2016 (Qnormal): Extern it.
2017 (QCextra, QClanguage): Delete it.
2018 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
2019 (font_make_spec, font_make_entity, font_make_object)
2020 (font_intern_prop): Renamed from intern_downcase. Don't downcase
2021 the string. Callers changed.
2022 (font_pixel_size): Adjusted for the format change of font-related
2023 objects.
2024 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
2025 (font_style_to_value, font_style_symbolic): New function.
2026 (build_font_family_alist): Delete it.
2027 (font_registry_charsets): Use Fassoc_string instead of
2028 assq_no_quit.
2029 (font_prop_validate_symbol): Don't return null_string.
2030 (font_prop_validate_style): Adjusted for the change of
2031 style-related values in a font vector.
2032 (font_property_table): Delete entries for QClanguage and
2033 QCantialias, add entries for QCavgwidth.
2034 (get_font_prop_index): Delete the 2nd argument FROM.
2035 (font_prop_validate): Arguments changed.
2036 (font_put_extra): Adjusted for the change of font-related objects.
2037 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
2038 (font_parse_fcname, font_unparse_fcname)
2039 (font_prepare_composition): Likewise.
2040 (font_parse_family_registry): Renamed from font_merge_old_spec.
2041 (otf_open): Delete the 1st arg entity.
2042 (font_otf_capability): Adjusted for the above change.
2043 (font_score): New arg alternate_families. Adjusted for the change
2044 of font-related objects.
2045 (font_sort_entites): New arg best_only.
2046 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
2047 Delete them.
2048 (font_match_p): Check alternate families.
2049 (font_find_object): Delete it.
2050 (font_check_object): New function.
2051 (font_clear_cache): Adjusted for the change of font-related objects.
2052 (font_delete_unmatched): New arg.
2053 (font_list_entities): Call font_driver->list with a spec that
2054 doesn't specify style-related properties.
2055 (font_matching_entity): Arguments changed. Caller changed.
2056 (font_open_entity): Adjusted for the change of font-related objects.
2057 (font_close_object, font_has_char, font_encode_char)
2058 (font_get_name, font_get_spec): Likewise.
2059 (font_spec_from_name, font_clear_prop, font_update_lface):
2060 New functions.
2061 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
2062 (font_prepare_for_face, font_done_for_face, font_open_by_name)
2063 (font_at): Adjusted for the change of font-related objects.
2064 (font_range): New function.
2065 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
2066 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
2067 (Fcopy_font_spec, Fmerge_font_spec): New function.
2068 (Ffont_family_list): Renamed from list-families.
2069 (Finternal_set_font_style_table): Arguments changed.
2070 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
2071 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
2072 change of font-related objects.
2073 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
2074
2075 * fontset.h (struct font_info): Delete it. Most members go to
2076 struct font.
2077 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
2078 (enum FONT_SPEC_INDEX): Delete it.
2079 (font_info, list_fonts_func, load_font_func, query_font_func)
2080 (set_frame_fontset_func, find_ccl_program_func)
2081 (get_font_repertory_func, new_fontset_from_font_name): Delete
2082 externs.
2083 (fontset_from_font_name): Extern it.
2084 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
2085 (FONT_INFO_FROM_FACE): Deleted.
2086 (face_for_font): Adjust prototype.
2087
2088 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
2089 conditionals. Don't check enable_font_backend. Delete all codes
2090 used only when USE_FONT_BACKEND is not defined.
2091 (get_font_info_func, list_font_func, load_font_func)
2092 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
2093 (get_font_repertory_func): Delete them.
2094 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
2095 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
2096 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
2097 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
2098 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
2099 (fontset_compare_rfontdef): New function.
2100 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
2101 ront-defs by qsort. Adjusted for the change of font-group vector.
2102 (load_font_get_repertory): Deleted.
2103 (fontset_find_font): Use new macros to ref/set elements of
2104 font-def and rfont-def.
2105 (fontset_font): Fix the timing of remembering that no font for C.
2106 (free_face_fontset): Do nothing if the face has no fontset.
2107 (face_suitable_for_char_p): Use new macros to ref/set elements of
2108 rfont-def.
2109 (face_for_char): Likewise. Call face_for_char with font_object.
2110 (fs_load_font): Delete. Delete #pragma surrounding it.
2111 (fs_query_fontset): Use strcasecmp instead of strcmp.
2112 (generate_ascii_font_name): Adjusted for the format change of
2113 font-spec.
2114 (Fset_fontset_font): Likewise. Use new macros to set elements of
2115 font-def.
2116 (Fnew_fontset): Use font_unparse_xlfd to generate
2117 FONTSET_ASCII (fontset).
2118 (new_fontset_from_font_name): Deleted.
2119 (fontset_from_font): Renamed from new_fontset_from_font. Check if
2120 a fontset is already created for the font. FIx updating of
2121 Vfontset_alias_alist.
2122 (fontset_ascii_font): Deleted.
2123 (Ffont_info): Adjusted for the format change of font-spec.
2124 (Finternal_char_font): Likewise.
2125 (Ffontset_info): Likewise.
2126 (syms_of_fontset): Don't check load_font_func.
2127
2128 * fns.c (internal_equal): Handle PREV_FONT.
2129
2130 * frame.h: Delete USE_FONT_BACKEND conditional.
2131
2132 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
2133 conditionals. Don't check enable_font_backend. Delete all codes
2134 used only when USE_FONT_BACKEND is not defined.
2135 (x_set_font): Call x_new_font, not x_new_fontset2.
2136 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
2137 already set for the frame.
2138
2139 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
2140 a font-entity by font_make_entity. Use font_intern_prop instead
2141 of intern_downcase. Use FONT_SET_STYLE to set a style-related
2142 font property. If a font is scalable, set avgwidth property to 0.
2143 Set font-entity property by font_put_extra.
2144 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
2145 (ffont_driver): Adjusted for the change of struct font_driver.
2146 (ftfont_spec_pattern): New function.
2147 (ftfont_list): Return a list, not vector.
2148 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
2149 (ftfont_list_family): Don't downcase names.
2150 (ftfont_free_entity): Deleted.
2151 (ftfont_open): Return a font-ojbect. Adjusted for the change of
2152 struct font. Get underline_thickness and underline_position from
2153 font property. Don't update dpyinfo->smallest_font_height and
2154 dpyinfo->smallest_char_width.
2155 (ftfont_close): Don't free `struct font'.
2156 (ftfont_has_char): Adjusted for the format change of font-entity.
2157 (ftfont_encode_char, ftfont_text_extents): Likewise.
2158
2159 * ftxfont.c (ftxfont_list): Return a list, not vector.
2160 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
2161 struct font. Get underline_thickness and underline_position from
2162 font property. Don't update dpyinfo->smallest_font_height and
2163 dpyinfo->smallest_char_width.
2164 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
2165 (ftxfont_draw): Adjusted for the change of struct font.
2166
2167 * image.c (image_ascent): Don't include "charset.h". Include
2168 "character.h" and "font.h".
2169
2170 * lisp.h (enum pvec_type): New member PREV_FONT.
2171 (Fassoc_string): EXFUN it.
2172
2173 * print.c: Include font.h.
2174 (print_object): Handle font-related objects.
2175
2176 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
2177 conditionals. Don't check enable_font_backend. Delete all codes
2178 used only when USE_FONT_BACKEND is not defined.
2179 (handle_auto_composed_prop): Do nothing if it->f is not on a
2180 window system. Check how many following characters can be
2181 displayed by the same font.
2182 (calc_pixel_width_or_height): Type of the 4th arg is changed to
2183 'struct font *'.
2184 (get_char_face_and_encoding): Assign the whole encoding task to
2185 the `encode-char' method of a font driver.
2186 (fill_composite_glyph_string): Adjusted for the change of `struct
2187 face' and `struct glyph_string'.
2188 (fill_glyph_string): Likewise.
2189 (get_per_char_metric): Arguments changed.
2190 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
2191 and `struct glyph_string'.
2192 (produce_stretch_glyph, calc_line_height_property)
2193 (x_produce_glyphs): Likewise.
2194
2195 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
2196 conditionals. Don't check enable_font_backend. Delete all codes
2197 used only when USE_FONT_BACKEND is not defined. Use
2198 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
2199 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
2200 (Qp): Extern them.
2201 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
2202 Deleted.
2203 (struct font_name): Deleted.
2204 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
2205 (compare_fonts_by_sort_order): New function.
2206 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
2207 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
2208 Deleted.
2209 (Fx_family_fonts): Use font_list_entities, and sort fonts by
2210 compare_fonts_by_sort_order.
2211 (Fx_font_family_list): Call Ffont_family_list.
2212 (face_numeric_value, face_numeric_weight, face_numeric_slant)
2213 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
2214 (face_symbolic_slant, face_symbolic_swidth)
2215 (split_font_name_into_vector, build_font_name_from_vector)
2216 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
2217 (font_rescale_ratio, split_font_name, build_font_name)
2218 (free_font_names, sort_fonts, x_face_list_fonts)
2219 (face_font_available_p, sorted_font_list, cmp_font_names)
2220 (font_list_1, concat_font_list, font_list, remove_duplicates):
2221 Deleted.
2222 (Fx_list_fonts): Use Ffont_list.
2223 (LFACE_AVGWIDTH): Deleted.
2224 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
2225 by FONTP.
2226 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2227 (set_lface_from_font_name): Delete it.
2228 (set_lface_from_font): Renamed from
2229 set_lface_from_font_and_fontset. Caller changed. Don't set
2230 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
2231 for face.
2232 (merge_face_vectors): Copy font-spec if necessary.
2233 Clear properties of the font-spec if necessary.
2234 (merge_face_ref): Clear properties of the font-spec if necessary.
2235 (Finternal_set_lisp_face_attribute): Likewise.
2236 (set_font_frame_param): Use font_load_for_lface to load a
2237 font-object, and call Fmodify_frame_parameters with it.
2238 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
2239 font name by Ffont_xlfd_name.
2240 (Finternal_lisp_face_attribute_values): Don't check QCweight,
2241 QCslant, and QCwidth.
2242 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
2243 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
2244 Compare fonts by EQ.
2245 (lookup_non_ascii_face): Deleted.
2246 (face_for_font): The 2nd argument changed.
2247 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
2248 Check atomic font properties by case insensitive.
2249 (realize_non_ascii_face): Set face->overstrike correctly.
2250 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
2251 (dump_realized_face): Get font name from
2252 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
2253
2254 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
2255 conditionals. Don't check enable_font_backend. Delete all codes
2256 used only when USE_FONT_BACKEND is not defined.
2257 (xic_create_xfontset): Original code deleted and renamed from
2258 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
2259 (x_make_gc): Don't set GCFont in GCs.
2260 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
2261 opened by "fixed".
2262 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
2263 find_ccl_program_func, query_font_func, set_frame_fontset_func,
2264 get_font_repertory_func.
2265
2266 * xfont.c: Include <stdlib.h> and "ccl.h".
2267 (struct xfont_info): New structure.
2268 (xfont_query_font): Deleted.
2269 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
2270 moved from xterm.c.
2271 (xfont_driver): Adjusted for the change of struct font_driver.
2272 (compare_font_names): New function.
2273 (xfont_list_pattern): Sort font names case insensitively. Make
2274 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
2275 (xfont_list): Return a list, not vector.
2276 (xfont_match): If the font doesn't have QCname property, generate
2277 a name from the other font properties.
2278 (xfont_open): Return a font-ojbect. Adjusted for the change of
2279 struct font. Get underline_thickness and underline_position from
2280 font property. Don't update dpyinfo->smallest_font_height and
2281 dpyinfo->smallest_char_width.
2282 (xfont_close): Don't free struct font.
2283 (xfont_prepare_face): Adjusted for the change of struct font.
2284 (xfont_done_face): Deleted.
2285 (xfont_has_char): Adjusted for the change of struct font.
2286 (xfont_encode_char, xfont_draw): Likewise.
2287 (xfont_check): New function.
2288
2289 * xftfont.c (xftfont_list): Adjusted for the change of `list'
2290 callback function.
2291 (xftfont_match): Adjusted for the fontmat change of font-entity.
2292 (xftfont_open): Adjusted for the format change of font-entity and
2293 font-object. Adjusted for the change of struct font. Return a
2294 font-object. Don't update dpyinfo->smallest_font_height and
2295 dpyinfo->smallest_char_width.
2296 (xftfont_close): Block input while calling XftFontClose.
2297 (xftfont_prepare_face): Don't block input while calling
2298 xftfont_get_colors. Adjusted for the change of struct font.
2299 (xftfont_shape): Return value of error case fixed.
2300
2301 * xrdb.c (x_load_resources): Don't setup a fontset resource.
2302
2303 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
2304 conditionals.
2305 (FONT_WIDTH): Return (f)->max_width.
2306 (struct x_display_info): Delete member `font'.
2307 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
2308 (x_find_ccl_program, x_get_font_repertory): Delete externs.
2309 (struct x_output): Change type of `font' to `struct font *'.
2310
2311 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
2312 conditionals. Don't check enable_font_backend. Delete all codes
2313 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
2314 (x_per_char_metric, x_encode_char): Deleted.
2315 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
2316 (x_compute_glyph_string_overhangs): Adjusted for the change of
2317 `struct face'.
2318 (x_draw_glyph_string_foreground)
2319 (x_draw_composite_glyph_string_foreground): Likewise.
2320 (x_draw_glyph_string): Likewise. Use font->underline_position and
2321 font->underline_thickness.
2322 (x_new_font): Renamed from x_new_fontset2.
2323 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
2324 (x_check_font): Call `check' method of a font driver.
2325 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
2326 (x_query_font, x_get_font_repertory): Deleted.
2327 (x_find_ccl_program): Renamed and moved to xfont.c.
2328 (x_redisplay_interface): Adjusted for the change of `struct
2329 redisplay_interface'.
2330
2331 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
2332 conditionals. Don't check enable_font_backend. Delete all codes
2333 used only when USE_FONT_BACKEND is not defined. Surround non-used
2334 code by "#ifdef OLD_FONT" and "endif".
2335 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
2336
2337 * w32font.h (struct w32font_info): New member.
2338 (FONT_COMPAT): New macro.
2339 (w32font_open_internal): Prototype adjusted.
2340
2341 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
2342 OLD_FONT" and "endif".
2343
2344 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
2345 conditionals. Don't check enable_font_backend. Delete all codes
2346 used only when USE_FONT_BACKEND is not defined.
2347 (w32font_open): Return a font-object. Make a font-object by
2348 font_make_object. Adjusted for the change of struct w32font_info.
2349 (w32font_close): Don't free struct font. Adjusted for the change
2350 of struct w32font_info.
2351 (w32font_encode_char, w32font_text_extents, w32font_draw):
2352 Adjusted for the change of struct w32font_info.
2353 (w32font_draw): Likewise.
2354 (w32font_list_internal): Return a list, not vector.
2355 (w32font_open_internal): Change the 4th arg to font-object.
2356 Adjusted for the change of struct w32font_info and font-object format.
2357 (add_font_name_to_list): Don't downcase names.
2358 (w32_enumfont_pattern_entity): Make a font-entity by
2359 font_make_entity. Adjusted for the format change of font-entity.
2360 Use FONT_SET_STYLE to set a style-related font property. If a
2361 font is scalable, set avgwidth property to 0. Set font-entity
2362 property by font_put_extra.
2363 (font_matches_spec): Adjusted for the format change of font-entity.
2364 (w32_weight_table, w32_decode_weight): New variables.
2365 (w32_encode_weight): New function.
2366 (fill_in_logfont): Adjusted for the format change of font-spec.
2367 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
2368 weight value.
2369 (w32font_driver): Adjusted for the change of struct font_driver.
2370
2371 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
2372 conditionals. Don't check enable_font_backend. Surround non-used
2373 code by "#ifdef OLD_FONT" and "endif".
2374 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
2375 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
2376
2377 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
2378 conditionals. Don't check enable_font_backend. Delete all codes
2379 used only when USE_FONT_BACKEND is not defined. Surround non-used
2380 code by "#ifdef OLD_FONT" and "endif".
2381
2382 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
2383 (uniscribe_open): Return value changed to font-object.
2384 Adjusted for the format change of font-object.
2385 (uniscribe_otf_capability): Adjusted for the change of struct font.
2386 (add_opentype_font_name_to_list): Don't downcase names.
2387 (uniscribe_font_driver): Adjusted for the change of struct
2388 font_driver.
2389
2390 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
2391
2392 * dispnew.c (update_frame_1): Check if tty output is still valid
2393 before flushing it.
2394
2395 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
2396
2397 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
2398 to Gtk+ menus.
2399
2400 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
2401
2402 * dired.c (file_name_completion): Tweak the code so as to always do it
2403 in a single pass. Tighten the scope of some variables.
2404
2405 * dired.c (Qdefault_directory): New var.
2406 (file_name_completion): Use it instead of Fexpand_file_name.
2407 (syms_of_dired): Initialize it.
2408
2409 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
2410
2411 * fileio.c (double_dollars): Remove dead code.
2412
2413 2008-05-10 Eli Zaretskii <eliz@gnu.org>
2414
2415 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
2416 Mention w32-get-true-file-attributes in doc string.
2417
2418 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
2419
2420 2008-05-09 Glenn Morris <rgm@gnu.org>
2421
2422 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
2423 2008-04-23.
2424
2425 2008-05-09 Eli Zaretskii <eliz@gnu.org>
2426
2427 Support for reporting owner and group of each file on MS-Windows:
2428 * dired.c (stat_uname, stat_gname): New functions, with special
2429 implementation for w32.
2430 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
2431
2432 * w32.c: Rename the_passwd_* to dflt_passwd_*.
2433 (dflt_group_name): New static variable.
2434 (dflt_group): Rename from the_group.
2435 (init_user_info): Init dflt_group fields. Get user's group name
2436 from LookupAccountSid.
2437 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
2438 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
2439 New initialization states.
2440 (globals_of_w32): Initialize them to zero. Initialize the default
2441 group name to "None".
2442 (GetFileSecurity_Name): New global var, the name of the function
2443 to call for GetFileSecurity.
2444 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
2445 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
2446 (get_file_security, get_security_descriptor_owner)
2447 (get_security_descriptor_group, is_valid_sid)
2448 (get_file_security_desc, get_rid, get_name_and_id)
2449 (get_file_owner_and_group): New functions.
2450 (stat): Use get_file_security_desc and get_file_owner_and_group to
2451 report the owner and primary group of each file. Don't ignore the
2452 high 32 bits of file's size, now that st_size is 64-bit wide.
2453 Fix test when to get true file attributes.
2454 (init_user_info): Use get_rid instead of equivalent inline code.
2455 (fstat): Don't ignore the high 32 bits of file's size.
2456
2457 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
2458
2459 * image.c (png_load): Use correct bit-depth for setting background
2460 color.
2461
2462 2008-05-08 Eli Zaretskii <eliz@gnu.org>
2463
2464 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
2465 epa-hook.elc.
2466
2467 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
2468
2469 * font.c (Ffont_match_p): Don't use `iff' in docstring.
2470
2471 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
2472
2473 * macfns.c (Fx_create_frame): Make a copy of frame parameters
2474 because the original parameters are in pure storage now.
2475 (mac_window): Remove unused params. Update callers.
2476
2477 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
2478
2479 * lread.c (substitute_object_recurse): Use lower-level primitives.
2480 Don't signal errors when traversing sub-char-tables.
2481 Don't loop over all the possible characters when traversing char-tables.
2482
2483 * print.c (print_preprocess): Add sub-char-tables to the print-table,
2484 just like we do in print.c.
2485
2486 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
2487
2488 * minibuf.c (Ftry_completion): Remove code left over from when we used
2489 scmp instead of Fcompare_strings.
2490
2491 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
2492
2493 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
2494
2495 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2496
2497 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
2498 Create bitmap context in native byte order.
2499
2500 * macterm.c (XDrawLine)
2501 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
2502 context in native byte order.
2503
2504 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2505
2506 * config.in: Regenerate.
2507
2508 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
2509 New definitions for Image I/O support.
2510 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2511 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
2512 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
2513 (mac_data_provider_release_data, image_load_image_io)
2514 [USE_MAC_IMAGE_IO]: New functions.
2515 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
2516 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
2517 (init_image_func_pointer) [MAC_OSX]: Remove function.
2518 (image_load_quartz2d) [MAC_OSX]: Check availability of
2519 CGImageCreateWithPNGDataProvider at compile time.
2520 Use lowercase `false' for boolean constant.
2521 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
2522 Use image_load_image_io.
2523 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
2524 Don't check MyCGImageCreateWithPNGDataProvider.
2525 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
2526 Don't call init_image_func_pointer.
2527
2528 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
2529
2530 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
2531 Make variable non-static.
2532 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
2533 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
2534
2535 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
2536 (RED_FROM_ULONG): Mask off higher bits.
2537 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
2538
2539 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
2540 Include AvailabilityMacros.h.
2541 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
2542 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
2543
2544 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
2545
2546 * chartab.c (Fset_char_table_range): If range is t, really set all
2547 chars to that value.
2548
2549 2008-05-03 Eli Zaretskii <eliz@gnu.org>
2550
2551 * dired.c (Ffile_attributes): Don't allow the device number become
2552 negative.
2553
2554 2008-05-02 Daiki Ueno <ueno@unixuser.org>
2555
2556 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
2557
2558 2008-05-02 Juri Linkov <juri@jurta.org>
2559
2560 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
2561 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
2562 DEFAULT argument as a list of default values in docstrings.
2563
2564 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
2565
2566 * puresize.h (BASE_PURESIZE): Increase to 1210000.
2567
2568 2008-05-01 Martin Rudalics <rudalics@gmx.at>
2569
2570 * dispnew.c (change_frame_size_1): Preserve small windows when
2571 shrinking frames by calling set_window_height|width with third
2572 arg 2.
2573
2574 * window.h (struct window): Replace field too_small_ok by field
2575 resize_proportionally.
2576
2577 * window.c (make_window): Initialize resize_proportionally.
2578 (enlarge_window): Temporarily set resize_proportionally to make
2579 sure that shrink_windows does scale the window proportionally.
2580 (shrink_windows): When window has resize_proportionally set try
2581 to shrink it proportionally by stealing from other windows.
2582 (struct saved_window, Fset_window_configuration)
2583 (compare_window_configurations): Handle resize_proportionally.
2584 (WINDOW_TOTAL_SIZE): New macro.
2585 (window_min_size, shrink_windows, size_window): Use it.
2586 (check_min_window_sizes): Remove. Invalid values of
2587 window-min-height|width are handled by window_min_size_2 now.
2588 (size_window, Fsplit_window, enlarge_window)
2589 (adjust_window_trailing_edge, grow_mini_window): Don't call
2590 check_min_window_sizes.
2591 (window_min_size_2, window_min_size_1, window_min_size):
2592 New argument safe_p for retrieving "safe" minimum sizes.
2593 (Fdisplay_buffer, Fsplit_window, enlarge_window)
2594 (adjust_window_trailing_edge, grow_mini_window):
2595 Adjust arguments of window_min_size... functions.
2596 (shrink_windows): Argument min_size removed. New argument
2597 safe_p allows shrinking windows to their safe minimum sizes.
2598 Calculate minimum size and decide whether a window shall be
2599 deleted for each window individually.
2600 (size_window): When nodelete_p equals 2, tell shrink_windows to
2601 delete windows only if their new minimum size is no more safe.
2602 (shrink_window_lowest_first): Call window_min_size_1 to make
2603 sure to preserve modeline of bottom-most window when resizing
2604 the minibuffer.
2605 (Fset_window_configuration, Fcurrent_window_configuration)
2606 (compare_window_configurations): Do not handle
2607 window-min-height|width any more.
2608 (syms_of_window): Clarify window-min-height|width doc-strings.
2609
2610 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
2611
2612 * dired.c (file_name_completion): Fix up the encoding/decoding issue
2613 some more. Copy some of the code from Ftry_completions.
2614 Remove special case code that dates back to initial revision when the
2615 slash was only added when necessary and that can't trigger nowadays.
2616
2617 2008-04-27 Kenichi Handa <handa@m17n.org>
2618
2619 * font.c (font_prop_validate): Signal `error' instead of `font'.
2620
2621 2008-04-29 Jason Rumney <jasonr@gnu.org>
2622
2623 * w32fns.c (Fw32_battery_status): New defun.
2624 (syms_of_w32fns): Defsubr it.
2625
2626 2008-04-28 Andreas Schwab <schwab@suse.de>
2627
2628 * dired.c (file_name_completion): Fix another mixing of encoded
2629 and decoded names.
2630
2631 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
2632
2633 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
2634
2635 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
2636
2637 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
2638
2639 2008-04-27 Andreas Schwab <schwab@suse.de>
2640
2641 * dired.c (file_name_completion): Fix inappropriate mixing of
2642 encoded and decoded names.
2643
2644 * xterm.c (XTread_socket): Fix use of uninitialized variable.
2645
2646 * puresize.h (BASE_PURESIZE): Increase to 1200000.
2647
2648 2008-04-26 Eli Zaretskii <eliz@gnu.org>
2649
2650 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
2651 2008-03-31, it's not needed anymore with `struct stat' definition
2652 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
2653 for the same reasons.
2654
2655 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
2656
2657 * m/sparc.h: Additional redefinitions for GNU/Linux.
2658
2659 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2660
2661 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
2662 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
2663 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
2664 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
2665 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
2666 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
2667 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2668 Likewise.
2669
2670 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
2671 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
2672 (mac_ax_number_of_characters): Add externs.
2673 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
2674 [USE_MAC_TSM]: Likewise.
2675 (mac_handle_text_input_event) [MAC_OSX]:
2676 Handle kEventTextInputOffsetToPos for no active input area case.
2677 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
2678 (mac_handle_document_access_event)
2679 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
2680 (install_application_handler) [MAC_OSX]: Register handlers for
2681 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
2682 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
2683 Register mac_handle_document_access_event.
2684
2685 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
2686 Make functions non-static.
2687
2688 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
2689
2690 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
2691 (read_file_name_completion_ignore_case, insert_default_directory)
2692 (Qdefault_directory): Move to minibuffer.el.
2693 (Fread_file_name): Call the new `read-file-name' instead.
2694
2695 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2696
2697 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
2698 Make function non-static.
2699 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
2700 Remove function.
2701 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
2702 Move to mactoolbox.c.
2703 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
2704
2705 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
2706 (mac_rect_make): New macro.
2707
2708 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
2709 instead of float.
2710 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
2711 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
2712 (XSetBackground) [USE_CG_DRAWING]: Likewise.
2713 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
2714 CGRectMake.
2715 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
2716 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
2717 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
2718 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
2719 instead of WindowRef in argument type.
2720 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
2721 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
2722 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
2723 instead of DISPLAY. All uses changed.
2724 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
2725 (x_calc_absolute_position): Simplify so as not to use
2726 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
2727
2728 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
2729 instead of WindowRef in argument type.
2730 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
2731 [TARGET_API_MAC_CARBON]: Remove externs.
2732 (create_apple_event, mac_event_parameters_to_lisp)
2733 [TARGET_API_MAC_CARBON]: Add externs.
2734
2735 * mactoolbox.c (Vmac_ts_script_language_on_focus)
2736 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
2737 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
2738 is clicked.
2739 (x_activate_menubar): Remove extern for saved_menu_event_location.
2740 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
2741 Move from mac.c.
2742
2743 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2744
2745 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
2746 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
2747
2748 2008-04-23 Jason Rumney <jasonr@gnu.org>
2749
2750 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
2751 attributes only for local files.
2752
2753 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
2754 default to Qlocal.
2755
2756 2008-04-22 Juri Linkov <juri@jurta.org>
2757
2758 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
2759 read-buffer-to-switch instead of using the letter "B".
2760
2761 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
2762
2763 * fileio.c (Qdefault_directory): New variable.
2764 (Fread_file_name): Use it to pass `dir' to the completion functions.
2765
2766 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
2767
2768 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
2769
2770 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
2771
2772 * keyboard.c (Vpre_help_message): Remove.
2773 (show_help_echo): Remove default C code.
2774
2775 * dired.c (directory_files_internal, file_name_completion):
2776 Only call ENCODE_FILE if the string is indeed decoded.
2777
2778 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2779
2780 * Makefile.in (TOOLKIT_DEFINES): Remove.
2781 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
2782
2783 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2784
2785 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
2786 (mactoolbox.o): New target.
2787
2788 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
2789 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
2790
2791 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
2792 Use mac_set_frame_window_background instead of XSetWindowBackground.
2793 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
2794 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
2795 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
2796 instead of SetWindowTitleWithCFString.
2797 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
2798 Move function to mactoolbox.c.
2799 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
2800 Use mac_set_window_modified instead of SetWindowModified.
2801 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
2802 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
2803 (Fx_focus_frame): Use mac_front_non_floating_window instead of
2804 FrontNonFloatingWindow. Use mac_activate_window instead of
2805 ActivateWindow. Use mac_active_non_floating_window instead of
2806 ActiveNonFloatingWindow.
2807 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
2808 Use mac_show_hourglass and mac_hide_hourglass.
2809 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
2810 instead of GetGlobalMouse.
2811 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
2812 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
2813 Use mac_bring_window_to_front instead of BringToFront.
2814 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
2815 mactoolbox.c.
2816 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
2817 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
2818 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
2819 mactoolbox.c.
2820
2821 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
2822 (XtPointer): Move typedef from macmenu.c.
2823 (enum button_type): Move enum from macmenu.c.
2824 (widget_value): Move typedef from macmenu.c.
2825 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
2826 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2827 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2828 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2829 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2830 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2831 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2832 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
2833 (Selection): Move typedef from macselect.c.
2834 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
2835 macterm.c.
2836 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
2837 (mac_is_window_collapsed, mac_bring_window_to_front)
2838 (mac_send_window_behind, mac_hide_window, mac_show_window)
2839 (mac_collapse_window, mac_front_non_floating_window)
2840 (mac_active_non_floating_window, mac_activate_window)
2841 (mac_move_window_structure, mac_move_window, mac_size_window)
2842 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
2843
2844 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
2845 (enum mac_menu_kind): Move enum to mactoolbox.c.
2846 (min_menu_id): Move variable to mactoolbox.c.
2847 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
2848 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
2849 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
2850 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
2851 [TARGET_API_MAC_CARBON]: Likewise.
2852 (XtPointer): Move typedef to macgui.h.
2853 (enum button_type): Move enum to macgui.h.
2854 (widget_value): Move typedef to macgui.h.
2855 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
2856 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
2857 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
2858 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
2859 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
2860 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
2861 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
2862 (popup_activated_flag): Make variable non-static.
2863 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
2864 (add_menu_item, fill_menu, dispose_menus):
2865 Move functions to mactoolbox.c.
2866 (restore_show_help_function, menu_target_item_handler)
2867 (install_menu_target_item_handler, mac_handle_dialog_event)
2868 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
2869 [TARGET_API_MAC_CARBON]: Likewise.
2870 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
2871 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2872 (find_and_call_menu_selection, name_is_separator): Make function
2873 non-static.
2874 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
2875 to mactoolbox.c.
2876 (set_frame_menubar): Don't call install_menu_quit_handler.
2877 (menu_item_selection): New variable.
2878 (mac_menu_show): Use create_and_show_popup_menu.
2879 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
2880 selection but set variable menu_item_selection. All uses changed.
2881 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
2882 Call install_menu_quit_handler. Move to mactoolbox.c.
2883
2884 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
2885 (Selection): Move typedef to macgui.h.
2886 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
2887 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
2888 Make variables non-static.
2889 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2890 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
2891 Make functions non-static.
2892 (Vmac_service_selection) [MAC_OSX]: Likewise.
2893 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
2894 (mac_valid_selection_target_p, mac_clear_selection)
2895 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2896 (mac_put_selection_value, mac_selection_has_target_p)
2897 (mac_get_selection_value, mac_get_selection_target_list)
2898 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
2899 Move functions to mactoolbox.c.
2900 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
2901 Likewise.
2902 (copy_scrap_flavor_data, mac_handle_service_event)
2903 (install_service_handler) [MAC_OSX]: Likewise.
2904 (syms_of_macselect) <Vmac_dnd_known_types>:
2905 Use mac_dnd_default_known_types.
2906
2907 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
2908 Move to mactoolbox.c.
2909 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
2910 (Fx_selection_owner_p): Add EXFUN.
2911 (install_window_handler, remove_window_handler, XSetWindowBackground):
2912 Remove externs.
2913 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
2914 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
2915 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
2916 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
2917 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
2918 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
2919 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
2920 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
2921 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
2922 (create_and_show_popup_menu, mac_get_selection_from_symbol)
2923 (mac_valid_selection_target_p, mac_clear_selection)
2924 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2925 (mac_put_selection_value, mac_selection_has_target_p)
2926 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
2927 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
2928 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
2929 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
2930 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
2931 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
2932 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
2933 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2934 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
2935
2936 * mactoolbox.c: New file.
2937
2938 2008-04-18 Jason Rumney <jasonr@gnu.org>
2939
2940 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
2941
2942 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
2943
2944 * character.c (Fmultibyte_char_to_unibyte):
2945 Return latin1 chars unchanged.
2946
2947 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
2948 relocated if it points to `name'.
2949
2950 2008-04-17 Kenichi Handa <handa@m17n.org>
2951
2952 * data.c (Faset): Allow setting a multibyte character in an
2953 ASCII-only unibyte string.
2954
2955 * lisp.h (STRING_SET_MULTIBYTE): New macro.
2956
2957 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2958
2959 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
2960 done in config.h.
2961
2962 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
2963
2964 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
2965 (Fchar_direction): Add usage in the docstring.
2966
2967 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
2968
2969 * keyboard.c (read_key_sequence): Remove always-true checks.
2970
2971 2008-04-14 Jason Rumney <jasonr@gnu.org>
2972
2973 * w32font.c (w32font_open_internal): Set max_bounds.descent in
2974 compatibility struct, for better underline positioning.
2975
2976 2008-04-13 David Hansen <david.hansen@gmx.net>
2977
2978 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
2979 string.
2980
2981 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
2982
2983 * m/hp800.h (XUINT, XSET): Remove.
2984
2985 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
2986
2987 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
2988 previous change.
2989
2990 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2991
2992 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
2993 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
2994
2995 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
2996
2997 * keymap.h (map_keymap_canonical): Declare.
2998 * xmenu.c (single_keymap_panes): Use it.
2999
3000 2008-04-11 Glenn Morris <rgm@gnu.org>
3001
3002 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
3003 set the target's value to that of the alias.
3004
3005 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3006
3007 * term.c (set_tty_color_mode): Left over typo.
3008
3009 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
3010
3011 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
3012 only after check for file name handler functions. Signal, when
3013 native functionality is not supported.
3014 (syms_of_fileio): Declare it unconditionally.
3015
3016 2008-04-10 Jason Rumney <jasonr@gnu.org>
3017
3018 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
3019 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
3020
3021 * w32.c (logon_network_drive): Also logon to remote drives that
3022 are mapped to drive letters.
3023
3024 2008-04-10 Glenn Morris <rgm@gnu.org>
3025
3026 * xdisp.c (truncate-partial-width-windows): Doc fix.
3027
3028 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
3029
3030 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
3031 Move functions to minibuffer.el.
3032 (syms_of_fileio): Don't declare them.
3033
3034 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3035
3036 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
3037 (syms_of_minibuf): Remove its initialization.
3038
3039 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
3040
3041 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
3042
3043 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
3044
3045 2008-04-09 Jason Rumney <jasonr@gnu.org>
3046
3047 * makefile.w32-in (distclean): Delete makefile too.
3048 (maintainer-clean): New target.
3049
3050 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
3051
3052 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
3053 for new font backend and composite cases.
3054
3055 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
3056
3057 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
3058 Most of the code moved to run_timers.
3059 (do_pending_atimers): Call run_timers.
3060 (run_timers): New function.
3061
3062 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
3063 run atimers.
3064
3065 * process.c (wait_reading_process_output): The same as above.
3066
3067 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3068
3069 * minibuf.c (last_exact_completion): Remove variable.
3070 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
3071 (complete_and_exit_1, complete_and_exit_2)
3072 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3073 (Fdisplay_completion_list, display_completion_list_1)
3074 (Fminibuffer_completion_help, Fself_insert_and_exit)
3075 (Fexit_minibuffer, Fminibuffer_message): Move functions to
3076 minibuffer.el.
3077 (syms_of_minibuf): Remove corresponding initializations.
3078
3079 * keyboard.c (Qdeactivate_mark): New var.
3080 (command_loop_1): Use it to call `deactivate-mark'.
3081 (syms_of_keyboard): Initialize it.
3082
3083 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
3084 to another frame.
3085 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
3086 Don't call set_tty_color_mode.
3087 (store_frame_param): Reset previous_frame rather than call
3088 set_tty_color_mode.
3089 * term.c (set_tty_color_mode): Rewrite.
3090 * dispextern.h (set_tty_color_mode): New type.
3091 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
3092
3093 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
3094
3095 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
3096 for generic chars, which do not exist any more in emacs-unicode.
3097
3098 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
3099
3100 * coding.c (detect_coding_emacs_mule)
3101 (Ffind_operation_coding_system): Fix typo.
3102
3103 2008-04-08 Jason Rumney <jasonr@gnu.org>
3104
3105 * w32uniscribe.c (SNAME): Extract only symbol name.
3106
3107 * w32font.h (struct w32_metric_cache): New struct.
3108 (w32font_info): Use it.
3109 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
3110 (CACHE_BLOCKSIZE): New constants.
3111
3112 * w32font.c (Qja, Qko, Qzh): New symbols.
3113 (syms_of_w32font): Initialise them.
3114 (font_matches_spec): Use them to filter by language.
3115 (recompute_cached_metrics): Remove function.
3116 (compute_metrics, clear_cached_metrics): New functions.
3117 (w32font_encode_char): Use them to manage metric cache.
3118 (w32font_text_extents): Cache metrics for all glyphs on demand.
3119 Delay converting glyph indices to WORD until needed.
3120 (w32font_open_internal): Initialize metric cache to empty.
3121 (registry_to_w32_charset): Charset should always be a symbol.
3122 (fill_in_logfont, list_all_matching_fonts): Family should
3123 always be a symbol.
3124
3125 2008-04-06 Jason Rumney <jasonr@gnu.org>
3126
3127 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
3128 Give up if glyph indices not supported. Use uniscribe obtained
3129 ABC widths for individual metrics. Map glyph clusters back to
3130 characters using fClusterStart flag. Return number of glyphs
3131 produced, not chars processed.
3132 (uniscribe_shape): Map char at FROM to current glyph.
3133
3134 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3135
3136 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
3137 Use SetMenuItemHierarchicalMenu.
3138
3139 2008-04-05 Jason Rumney <jasonr@gnu.org>
3140
3141 * image.c (pbm_load): Allow color values up to 65535.
3142 Throw an error if max_color_idx is outside the supported range.
3143 Report an error when image size is invalid.
3144 Read two bytes at a time when raw images have max_color_idx above 255.
3145
3146 2008-04-05 Eli Zaretskii <eliz@gnu.org>
3147
3148 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3149 cFileName a file name that includes `?' characters, use the 8+3
3150 alias in cAlternateFileName instead.
3151
3152 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
3153
3154 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
3155 append "CCL: Quitted" when the CCL program is quitted.
3156 (setup_ccl_program): Initialize ccl->quit_silently to zero.
3157
3158 * ccl.h (struct ccl_program): New member quit_silently.
3159
3160 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
3161
3162 * search.c (compile_pattern_1): Treat non-nil and non-string of
3163 search-spaces-regexp as nil.
3164
3165 * minibuf.c (Fassoc_string): Tweak docstring.
3166
3167 2008-04-05 Eli Zaretskii <eliz@gnu.org>
3168
3169 * dired.c (Ffile_attributes): Support inode numbers wider than 32
3170 bits. Remove ugly WINDOWSNT-specific kludge introduced on
3171 2008-03-14 to force inode be positive.
3172
3173 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
3174 _S_* ones, since we now use our own sys/stat.h.
3175 (stat, fstat): Don't mangle the inode number.
3176 (init_user_info): Don't restrict UID and GID to 0-60000 range.
3177
3178 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
3179
3180 * frame.h (struct frame): Give one more bit to `visible' since we use
3181 values larger than 1 to indicate obscured frames on ttys.
3182
3183 * keymap.c (Qkeymap_canonicalize): New var.
3184 (Fmap_keymap_internal): New fun.
3185 (describe_map): Use keymap-canonicalize.
3186
3187 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
3188 (Fundo_boundary): Set them.
3189 (syms_of_undo): Initialize them.
3190 (record_point): Use them instead of last_point_position*.
3191 (last_undo_buffer): Change type.
3192
3193 2008-04-04 Jason Rumney <jasonr@gnu.org>
3194
3195 * w32font.c (w32font_text_extents): Use font's ascent and descent.
3196 (recompute_cached_metrics): Don't set ascent and descent per char.
3197
3198 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
3199 (uniscribe_check_otf): Add GC protection before consing.
3200 Rearrange loop for counting features.
3201
3202 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
3203
3204 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
3205 buffer with byte-size of source buffer.
3206
3207 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
3208
3209 * callint.c (Fcall_interactively): Handle temporary region even
3210 when shift-select-mode is off.
3211
3212 2008-04-03 Jason Rumney <jasonr@gnu.org>
3213
3214 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
3215
3216 2008-04-03 Kenichi Handa <handa@m17n.org>
3217
3218 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
3219 (CATEGORY_MASK_UTF_16): Likewise.
3220 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
3221 binary file.
3222 (detect_coding): Add null-byte detection for a binary file.
3223 (detect_coding_system): Likewise.
3224
3225 2008-04-03 Jason Rumney <jasonr@gnu.org>
3226
3227 * w32uniscribe.c: New file.
3228
3229 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
3230
3231 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
3232
3233 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
3234 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
3235 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
3236 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
3237 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
3238 (Qphonetic): New symbols.
3239 (syms_of_w32font): Initialize them.
3240 (font_supported_scripts): Use them.
3241 (w32font_list_family): List all charsets.
3242 (w32font_text_extents, recompute_cached_metrics): Fix metric
3243 calculations.
3244 (w32_enumfont_pattern_entity): Make full_type a DWORD.
3245 Give opentype fonts their own format.
3246 (font_matches_spec): New arguments backend and logfont.
3247 Handle :otf spec for uniscribe backend.
3248 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
3249 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
3250
3251 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
3252 font backend.
3253 (globals_of_w32fns): Initialize uniscribe font backend.
3254
3255 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
3256 dependencies.
3257 (w32uniscribe.$(O)): New file to build.
3258 (FONT_OBJ): Include w32uniscribe.$(O).
3259 (LIBS): Add uniscribe libraries.
3260
3261 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
3262
3263 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
3264
3265 * callint.c (Vshift_select_mode): New var.
3266 (Finteractive): Document new ^ spec.
3267 (Fcall_interactively): Call handle-shift-selection if the ^ spec
3268 is present.
3269
3270 * keyboard.c (Vthis_command_keys_shift_translated): New var.
3271 (command_loop_1): Avoid running the direct display versions of
3272 forward-char and backward-char if shift-selection may occur.
3273 (read_key_sequence): Set Vthis_command_keys_shift_translated if
3274 shift-translation takes place.
3275
3276 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
3277 avoid clobbering by define-minor-mode.
3278
3279 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
3280 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
3281
3282 * syntax.c (Fforward_word): Add ^ interactive spec.
3283
3284 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
3285 (Fscroll_right): Add ^ interactive spec.
3286
3287 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
3288
3289 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
3290
3291 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
3292
3293 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
3294
3295 2008-03-31 Juri Linkov <juri@jurta.org>
3296
3297 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
3298
3299 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
3300
3301 * gtkutil.c (xg_set_geometry): Fix indentation.
3302 (xg_resize_outer_widget): Remove.
3303 (x_wm_size_hint_off): Fix indentation.
3304 (xg_frame_set_char_size): Call flush_and_sync after
3305 gtk_window_resize.
3306 (x_wm_set_size_hint): Pass NULL as geometry window to
3307 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
3308 Add menu bar and tool bar height to base height.
3309 (xg_update_frame_menubar, free_frame_menubar)
3310 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
3311 (update_frame_tool_bar, free_frame_tool_bar):
3312 Change xg_resize_outer_widget to xg_frame_set_char_size.
3313
3314 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
3315
3316 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
3317 (Fdbus_call_method): New parameter TIMEOUT.
3318 (dbus-send-signal): Optimize UNGCPRO call.
3319
3320 2008-03-29 Juri Linkov <juri@jurta.org>
3321
3322 * window.c (Fdisplay_buffer): Move call to
3323 Vsplit_window_preferred_function out of conditions that check
3324 if window is eligible for vertical splitting.
3325 When Vsplit_window_preferred_function is non-nil, call it and use
3326 its non-nil return value as window. Otherwise, continue doing
3327 vertical splitting using Fsplit_window with arg horflag=nil.
3328 (syms_of_window) <Vsplit_window_preferred_function>: Change the
3329 default value from `split-window' to nil.
3330
3331 2008-03-29 Juri Linkov <juri@jurta.org>
3332
3333 * callint.c (Fcall_interactively): Revert 2008-03-16 change
3334 for interactive code letters 'b' and 'B'.
3335
3336 2008-03-29 Eli Zaretskii <eliz@gnu.org>
3337
3338 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
3339 multibyte string.
3340
3341 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
3342
3343 * keyboard.c (pending_funcalls): New var.
3344 (timer_check): Run it.
3345 (syms_of_keyboard): Initialize it.
3346 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
3347 (Vdelete_terminal_functions): New vars.
3348 (syms_of_terminal): Initialize them.
3349 (Fdelete_terminal): Run delete-terminal-functions.
3350 * xdisp.c (safe_eval): Rewrite.
3351 (safe_call2): New fun.
3352 * frame.c (Qdelete_frame_functions): New var.
3353 (syms_of_frame): Initialize it.
3354 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
3355 * lisp.h (safe_call2, pending_funcalls): Declare.
3356
3357 2008-03-28 Andreas Schwab <schwab@suse.de>
3358
3359 * indent.c (Fmove_to_column): Move declaration before statements.
3360
3361 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
3362
3363 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
3364 (struct frame): Use bit fields for boolean vars.
3365
3366 * process.c (server_accept_connection): Simplify naming.
3367 (emacs_get_tty_pgrp): Use SDATA.
3368
3369 * coding.c (decode_coding_object): Fix last change.
3370
3371 2008-03-27 Jason Rumney <jasonr@gnu.org>
3372
3373 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
3374
3375 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
3376
3377 * charset.c (Fdefine_charset_internal): Change the way of
3378 registering charsets in Vcharset_order_list.
3379 (syms_of_charset): Make the charset `eight-bit' supplementary.
3380
3381 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
3382
3383 * regex.c (EXTEND_BUFFER): Change order of pointer addition
3384 operations, to avoid having the difference between pointers
3385 overflow.
3386
3387 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
3388
3389 * indent.c (check_display_width): New fun.
3390 (scan_for_column): Use it.
3391
3392 * data.c (syms_of_data): Mark most-positive-fixnum and
3393 most-negative-fixnum as constants.
3394
3395 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
3396
3397 * indent.c (scan_for_column): Extract from current_column_1.
3398 Merge with the same code from Fmove_to_column.
3399 (current_column_1, Fmove_to_column): Use it.
3400
3401 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
3402
3403 * keymap.c (map_keymap_internal): New fun.
3404 (map_keymap): Use it.
3405 (Fmap_keymap_internal): New fun.
3406 (Fmap_keymap): Remove left-out test from before make_save_value.
3407
3408 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
3409
3410 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
3411 Use XCAR/XCDR.
3412
3413 * process.h (struct Lisp_Process): Remove filter_multibyte.
3414 * process.c (QCfilter_multibyte): Remove.
3415 (setup_process_coding_systems): Don't use filter_multibyte.
3416 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
3417 (read_process_output): Don't adjust multibyteness to filter_multibyte.
3418 (Fset_process_filter_multibyte): Change the coding-system to
3419 approximate the previous behavior.
3420 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
3421 coding-system.
3422
3423 * coding.c (decode_coding_object): When not decoding into a buffer,
3424 obey the coding system's preference of (uni|multi)byte.
3425
3426 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
3427
3428 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
3429 every char is changed and has a different byte-length.
3430 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
3431 Fix int -> EMACS_INT.
3432
3433 2008-03-23 David Hansen <david.hansen@gmx.net>
3434
3435 * dbusbind.c (xd_read_message): Remove extra copying of message
3436 strings. Check for NULL `interface' or `member'.
3437
3438 2008-03-22 Eli Zaretskii <eliz@gnu.org>
3439
3440 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3441 cFileName a file name that includes `?' characters, use the 8+3
3442 alias in cAlternateFileName instead.
3443
3444 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
3445
3446 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
3447
3448 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
3449
3450 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
3451 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
3452 work on current_buffer only instead (that was already the case
3453 for some of the code anyway).
3454 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
3455 (temp_set_point, temp_set_point_both): Use EMACS_INT.
3456 (SET_PT, SET_PT_BOTH): Adjust.
3457 * intervals.h (set_point, temp_set_point, set_point_both)
3458 (temp_set_point_both): Remove redundant declarations.
3459
3460 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
3461
3462 * fileio.c (Finsert_file_contents):
3463 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
3464 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
3465 when buffer != current_buffer anyway.
3466
3467 2008-03-20 Andreas Schwab <schwab@suse.de>
3468
3469 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
3470 as default.
3471
3472 2008-03-19 Jason Rumney <jasonr@gnu.org>
3473
3474 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
3475 (syms_of_w32fns): Initialize them.
3476 (HOURGLASS_ID): New constant.
3477 (x_window_to_frame): Don't check hourglass_window.
3478 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
3479 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
3480 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
3481 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
3482 Only change the cursor if hourglass is not active.
3483 (Fx_create_frame): Initialize frame's current_cursor.
3484 (hourglass_atimer): Remove.
3485 (hourglass_started): New function.
3486 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
3487 (show_hourglass): Adapt to w32, changing argument to frame.
3488
3489 * w32term.h (struct w32_output): Remove hourglass_window.
3490 Add current_cursor.
3491
3492 * eval.c (call_debugger, Fsignal):
3493 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
3494 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
3495 (Fexecute_extended_command, cancel_hourglass_unwind):
3496 * minibuf.c (read_minibuf):
3497 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
3498
3499 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
3500
3501 * window.c (run_funs): New fun.
3502 (run_window_configuration_change_hook): Use it to run the buffer-local
3503 and the global part of the hook.
3504
3505 * xdisp.c (format_mode_line_unwind_data): Add window argument.
3506 (unwind_format_mode_line): Restore selected window.
3507 (x_consider_frame_title, Fformat_mode_line): Set selected window.
3508
3509 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
3510
3511 * editfns.c (Fchar_equal): Check they are valid characters.
3512
3513 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
3514
3515 2008-03-17 Andreas Schwab <schwab@suse.de>
3516
3517 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
3518 against a charset.
3519
3520 * lisp.h (Fbuffer_list): Declare.
3521
3522 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
3523
3524 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
3525 handlebox_widget is != 0.
3526
3527 2008-03-16 Juri Linkov <juri@jurta.org>
3528
3529 * callint.c (Fcall_interactively): For interactive code letters
3530 'b' and 'B' put the buffer list into the list of default "future"
3531 values of the minibuffer.
3532
3533 2008-03-16 Andreas Schwab <schwab@suse.de>
3534
3535 * keyboard.c (read_key_sequence): Fix downcasing of letters with
3536 modifiers.
3537
3538 * regex.c (re_match_2_internal): Correct matching of a charset
3539 against latin-1 characters.
3540
3541 2008-03-16 Kenichi Handa <handa@m17n.org>
3542
3543 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
3544 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
3545 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
3546 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
3547 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
3548 CHAR_STRING_ADVANCE.
3549 (produce_chars): Fix for the case that the source and the
3550 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
3551 instead of CHAR_STRING_ADVANCE.
3552 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
3553 STRING_CHAR_ADVANCE.
3554
3555 2008-03-15 Andreas Schwab <schwab@suse.de>
3556
3557 * regex.c (re_match_2_internal): Correct matching of eight bit
3558 characters in unibyte strings.
3559
3560 2008-03-15 Martin Rudalics <rudalics@gmx.at>
3561
3562 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
3563 at end of range when it coincides with the end of the buffer.
3564
3565 2008-03-14 Eli Zaretskii <eliz@gnu.org>
3566
3567 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
3568
3569 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
3570
3571 2008-03-14 Jason Rumney <jasonr@gnu.org>
3572
3573 * editfns.c (initial_tz): New variable.
3574 (syms_of_editfns): Initialize it.
3575 (Fset_time_zone_rule): Set it when first called.
3576 Use it when TZSTRING is nil.
3577
3578 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
3579 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
3580 (monitor_from_point_fn, get_monitor_info_fn): New globals.
3581 (globals_of_w32fns): Initialize them.
3582 (compute_tip_xy): Use them to position tooltips.
3583
3584 2008-03-14 Glenn Morris <rgm@gnu.org>
3585
3586 * emacs.c (main): Revert previous change.
3587 (standard_args): Revert -internal-script back to -scriptload,
3588 and remove the long-option form.
3589
3590 2008-03-13 Glenn Morris <rgm@gnu.org>
3591
3592 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
3593 Remove option -enable-font-backend.
3594
3595 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
3596
3597 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
3598
3599 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
3600
3601 * xterm.c (x_connection_closed): For GTK: If this is the last
3602 terminal just exit without closing the display.
3603
3604 2008-03-11 Jason Rumney <jasonr@gnu.org>
3605
3606 * w32font.c (w32font_full_name): Use floor to round.
3607
3608 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
3609
3610 * sound.c (alsa_configure): Declare vol at beginning of block.
3611
3612 * fontset.c (Ffontset_info): Remove extra semicolon.
3613
3614 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
3615
3616 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
3617 size of resulting string.
3618
3619 2008-03-10 Jason Rumney <jasonr@gnu.org>
3620
3621 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
3622
3623 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3624
3625 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
3626 Don't pretend as if characters with display property haven't been
3627 consumed for string-replacing-string case.
3628
3629 2008-03-08 Kim F. Storm <storm@cua.dk>
3630
3631 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
3632 (get_next_display_element, next_element_from_string)
3633 (next_element_from_ellipsis, next_element_from_buffer): Use it.
3634
3635 2008-03-08 Andreas Schwab <schwab@suse.de>
3636
3637 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
3638
3639 2008-03-06 Jason Rumney <jasonr@gnu.org>
3640
3641 * w32font.c (w32_registry): Take font_type argument. Use ANSI
3642 when charset not specified. Only translate ANSI to unicode when
3643 font_type is truetype.
3644 (w32font_coverage_ok): New function.
3645 (add_font_entity_to_list): Use it to filter unsuitable fonts.
3646
3647 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
3648
3649 * lread.c (Fread_char): Resolve modifiers.
3650 (Fread_char_exclusive): Likewise.
3651
3652 * character.c (char_resolve_modifier_mask): New function.
3653 (char_string): Use char_resolve_modifier_mask.
3654 (Fchar_resolve_modifiers): New function.
3655 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
3656 function.
3657
3658 2008-03-04 Jason Rumney <jasonr@gnu.org>
3659
3660 * makefile.w32-in: Always include w32font.c in the build.
3661 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
3662
3663 2008-03-04 Andreas Schwab <schwab@suse.de>
3664
3665 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
3666 (versionclean): Likewise.
3667
3668 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
3669
3670 * .cvsignore: Add oo.
3671
3672 2008-03-03 Andreas Schwab <schwab@suse.de>
3673
3674 * coding.c (decode_coding_object): Inhibit gap shrinking while
3675 decoding in place.
3676
3677 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
3678
3679 * w32term.c: Remove unused include "gnu.h".
3680 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
3681
3682 * gnu.h: Rename to ...
3683 * emacs-icon.h: ... this.
3684 * xterm.c: Use emacs-icon.h instead of gnu.h.
3685 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
3686
3687 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
3688
3689 * w32font.c: Include math.h.
3690
3691 2008-03-03 Jason Rumney <jasonr@gnu.org>
3692
3693 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
3694 Compute options separately.
3695 (w32font_open_internal): Set glyph_idx before caching metrics.
3696
3697 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
3698 Define if system headers don't.
3699 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
3700 (w32font_encode_char): Don't declare here.
3701
3702 * w32font.c (Quniscribe, QCformat): New symbols.
3703 (syms_of_w32font): Define them.
3704 (w32font_has_char): Indicate uncertainty.
3705 (w32font_encode_char): Encode as glyph point. Make static.
3706 (recompute_cached_metrics): New function.
3707 (w32font_open_internal): Use it. Set font to use glyph points
3708 initially. Set format based on type of font.
3709 (w32font_text_extents, w32font_draw): Optionally use glyph points.
3710 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
3711 on it. Set format based on information available here.
3712 (add_font_entity_to_list): Identify backend based on opentype_only.
3713
3714 2008-03-02 Andreas Schwab <schwab@suse.de>
3715
3716 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
3717
3718 * coding.c (decode_coding_big5, produce_chars):
3719 Fix typos in last change.
3720
3721 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
3722
3723 * gnu.h: New icon.
3724
3725 2008-03-02 Kenichi Handa <handa@m17n.org>
3726
3727 * coding.c (decode_coding_utf_8): When eol-type of CODING is
3728 `dos', don't decode '\r' if that is the last in the source.
3729 (decode_coding_utf_16, decode_coding_emacs_mule)
3730 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3731 (decode_coding_raw_text, decode_coding_charset): Likewise.
3732 (produce_chars): Don't decode EOL here. Use EMACS_INT.
3733
3734 2008-03-01 Jason Rumney <jasonr@gnu.org>
3735
3736 * w32font.c (w32font_full_name): Report point size for scalable fonts.
3737
3738 2008-03-01 Kim F. Storm <storm@cua.dk>
3739
3740 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
3741
3742 2008-03-01 Jason Rumney <jasonr@gnu.org>
3743
3744 * w32font.c (w32font_full_name): New function.
3745 (w32font_open_internal): Use it.
3746
3747 2008-03-01 Kim F. Storm <storm@cua.dk>
3748
3749 * dispnew.c (line_draw_cost): Fix invalid glyph check.
3750
3751 2008-03-01 Jason Rumney <jasonr@gnu.org>
3752
3753 * font.c (font_unparse_fcname): Increase len when style is a symbol.
3754
3755 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
3756
3757 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
3758 xg_frame_resized when the event is for the edit widget.
3759
3760 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
3761
3762 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
3763 set_char_size.
3764 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
3765 operations on widgets here. Just set frame size if needed.
3766 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
3767 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
3768 (x_wm_set_size_hint): Set size hints on the edit widget only, not
3769 the whole frame.
3770 (xg_create_tool_bar): Move attachement of the tool bar to
3771 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
3772 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
3773
3774 2008-03-01 Jason Rumney <jasonr@gnu.org>
3775
3776 * w32fns.c (w32_msg_pump): Disable debug code.
3777
3778 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3779
3780 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
3781
3782 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
3783
3784 * xdisp.c (next_overlay_string): Don't set
3785 overlay_strings_at_end_processed_p if we're currently reading from
3786 a display string.
3787
3788 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
3789
3790 * xdisp.c (get_overlay_strings_1): Fix typo.
3791
3792 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
3793
3794 * xdisp.c (get_overlay_strings_1): Add missing argument type.
3795
3796 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
3797
3798 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
3799
3800 * xdisp.c (display_mode_element): Cancel the previous change.
3801 (decode_mode_spec): Likewise.
3802 (handle_auto_composed_prop): Don't make composition if it->string
3803 is a string.
3804
3805 2008-02-27 Kim F. Storm <storm@cua.dk>
3806
3807 * lisp.h (GLYPH): Change type from int to struct with separate char
3808 and face_id members.
3809 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
3810 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
3811 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
3812 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
3813 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
3814 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
3815 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
3816 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
3817 handle new Lisp glyph code encoding, either an integer or a cons.
3818
3819 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
3820 (GLYPH_ALIAS): Delete.
3821 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
3822 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
3823 (GLYPH_FROM_CHAR): Replace macro by ...
3824 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
3825
3826 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
3827 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
3828 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
3829 (GLYPH_INVALID_P): New macro.
3830 (spec_glyph_lookup_face): Update prototype.
3831
3832 * dispnew.c (line_draw_cost): Adapt to new glyph type.
3833 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
3834 new glyph code encoding.
3835 (spec_glyph_lookup_face): No return value; update passed glyph instead.
3836 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
3837
3838 * xdisp.c (get_next_display_element, next_element_from_display_vector):
3839 Adapt to new glyph type and new glyph code encoding.
3840
3841 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
3842
3843 * indent.c (current_column, current_column_1, Fmove_to_column)
3844 (compute_motion): Adapt to new glyph code encoding.
3845
3846 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
3847
3848 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
3849
3850 * process.c (wait_reading_process_output): Check for window
3851 changes caused by timers.
3852 Suggested by Johan Bockgård.
3853
3854 2008-02-27 Glenn Morris <rgm@gnu.org>
3855
3856 * emacs.c (USAGE1): Add `--disable-font-backend'.
3857
3858 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
3859
3860 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
3861 is made to the buffer.
3862
3863 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
3864
3865 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
3866 (face_at_string_position):
3867 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
3868 (face_at_string_position):
3869 * xdisp.c (display_string, next_overlay_change):
3870 * buffer.h (overlays_at):
3871 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
3872 Update callers.
3873
3874 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
3875
3876 * editfns.c (Fformat): Doc fix.
3877
3878 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
3879
3880 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
3881 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
3882 (Ffont_otf_alternates, Fquery_font): Doc fixes.
3883
3884 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3885
3886 * buffer.c (Fbuffer_swap_text): New function.
3887 (syms_of_buffer): Defsubr it.
3888
3889 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
3890
3891 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
3892
3893 2008-02-25 Jason Rumney <jasonr@gnu.org>
3894
3895 * w32font.c (w32font_draw): Draw one character at a time when padding.
3896
3897 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
3898
3899 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
3900 Handle a nil arg. Use run_window_configuration_change_hook.
3901 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
3902 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
3903 Use run_window_configuration_change_hook.
3904
3905 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3906
3907 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
3908 1-pixel width.
3909
3910 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
3911
3912 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
3913 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
3914 if the glyph in the font is zero pixel with.
3915
3916 * dispextern.h (struct glyph_string): New member padding_p.
3917
3918 * w32font.c (w32font_draw): Pay attention to s->padding_p.
3919
3920 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
3921
3922 * xfont.c (xfont_draw): Pay attention to s->padding_p.
3923
3924 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
3925
3926 * font.c: If the font driver doesn't have `shape' function, return Qnil.
3927
3928 2008-02-25 Jason Rumney <jasonr@gnu.org>
3929
3930 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
3931
3932 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
3933
3934 Allow fine-grained image-cache flushing.
3935 * dispextern.h (struct image): Add `dependencies' field.
3936 (clear_image_caches): Change arg to Lisp_Object.
3937 * image.c (make_image): Initialize `dependencies' field.
3938 (clear_image_cache): Change arg to allow fine-grained flushing.
3939 Perform the flush even if image-cache-eviction-delay is nil.
3940 (clear_image_caches): Change arg to Lisp_Object.
3941 (Fclear_image_cache): Expand meaning of the argument.
3942 (mark_image): Mark `dependencies' field.
3943 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
3944 (lface_hash): Use XHASH rather than XFASTINT.
3945 (face_at_buffer_position): Fix int -> EMACS_INT position.
3946 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
3947 (select_frame_for_redisplay): Remove code duplication.
3948 (redisplay_internal): Adapt arg to call to clear_image_caches.
3949
3950 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
3951
3952 * s/vms4-0.h:
3953 * s/vms4-2.h:
3954 * s/vms4-4.h:
3955 * s/vms5-5.h: Remove, unused.
3956
3957 * s/irix5-2.h:
3958 * s/irix6-0.h:
3959 * s/riscos5.h:
3960 * s/mach-bsd4-3.h:
3961 * m/mips4.h: Remove files for obsolete systems.
3962
3963 * Makefile.in:
3964 * filelock.c:
3965 * unexmips.c:
3966 * m/hp9000s300.h:
3967 * m/iris4d.h:
3968 * s/aix3-1.h:
3969 * s/hpux.h:
3970 * s/msdos.h:
3971 * s/usg5-0.h:
3972 * s/usg5-2-2.h:
3973 * s/usg5-2.h:
3974 * s/usg5-3.h: Remove references to obsolete variables.
3975
3976 * s/irix5-0.h: Remove, move all the contents ...
3977 * s/irix6-5.h: ... here. Simplify.
3978 * config.in: Regenerate.
3979
3980 2008-02-24 Jason Rumney <jasonr@gnu.org>
3981
3982 * w32term.c (x_draw_glyph_string_background): Clear the background
3983 manually when cleartype is in use.
3984 (x_draw_glyph_string_foreground): Draw text transparently when
3985 cleartype is in use.
3986
3987 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
3988 a font into it unless we have to.
3989
3990 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3991
3992 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
3993 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
3994
3995 2008-02-18 Jason Rumney <jasonr@gnu.org>
3996
3997 * w32fns.c (Fw32_shell_execute): Encode parameters.
3998
3999 2008-02-09 Eli Zaretskii <eliz@gnu.org>
4000
4001 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
4002
4003 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
4004
4005 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
4006
4007 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
4008
4009 * xterm.c (x_set_offset): Don't change the gravity if
4010 CHANGE_GRAVITY is -1.
4011
4012 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
4013
4014 * fileio.c (auto_save_error_occurred): New var.
4015 (auto_save_error): Set it.
4016 (Fdo_auto_save): Don't overwrite the error message if an auto-save
4017 error occurred.
4018
4019 2008-02-23 Eli Zaretskii <eliz@gnu.org>
4020
4021 * w32.c (globals_of_w32): Add initializations for
4022 g_b_init_get_sid_sub_authority and
4023 g_b_init_get_sid_sub_authority_count.
4024
4025 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
4026
4027 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
4028 (font_parse_xlfd): Use them for sanity check.
4029 (Finternal_set_font_style_table): Make sure the table is bijective.
4030
4031 Consolidate the image_cache to the terminal struct.
4032 * termhooks.h (P_): Remove redundant def.
4033 (struct terminal): New field `image_cache'.
4034 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
4035 of FRAME_X_IMAGE_CACHE.
4036 * xterm.h (struct x_display_info): Remove image_cache field.
4037 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4038 * w32term.h (struct w32_display_info): Remove image_cache field.
4039 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4040 * macterm.h (struct mac_display_info): Remove image_cache field.
4041 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4042 * xterm.c (x_term_init):
4043 * w32term.c (w32_term_init):
4044 * macterm.c (mac_term_init): Set the image_cache in the terminal.
4045 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
4046 Remove declarations.
4047 (clear_image_caches, mark_image_cache): New declarations.
4048 * xfaces.c (clear_face_cache):
4049 * xdisp.c (redisplay_internal): Use clear_image_caches.
4050 * image.c (clear_image_cache): Don't check that a frame is on
4051 a window-system before checking if it shares the same cache.
4052 (clear_image_caches): New function.
4053 (Fclear_image_cache): Use it.
4054 (mark_image): Move from allo.c.
4055 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
4056 * alloc.c (mark_image, mark_image_cache): Move to image.c.
4057 (mark_object): Don't call mark_image_cache for frames.
4058 (mark_terminals): Call mark_image_cache.
4059
4060 * lisp.h (Fdelete_terminal): Declare.
4061
4062 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
4063 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
4064 wrong_type_argument.
4065
4066 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
4067
4068 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4069 malayalam.el, and tamil.el. Add sinhala.el.
4070
4071 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
4072
4073 * xterm.c (x_connection_closed): Consolidate identical tests.
4074 (x_delete_terminal): Don't crash if called via x_connection_closed.
4075
4076 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
4077
4078 * xdisp.c (decode_mode_spec): New arg string.
4079 (display_mode_element): Adjust for the above change.
4080
4081 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
4082
4083 * callint.c (Fcall_interactively): Use AREF.
4084
4085 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
4086
4087 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
4088
4089 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
4090
4091 * xfns.c (Fx_show_tip): Set string to " " if empty.
4092
4093 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
4094
4095 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
4096 with Qt.
4097
4098 2008-02-17 Kenichi Handa <handa@m17n.org>
4099
4100 * ftfont.c (ftfont_shape): Return Lispy number.
4101
4102 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
4103 for GCs.
4104 (Finternal_set_font_selection_order): Call font_update_sort_order
4105 only when enable_font_backend is set.
4106 (realize_x_face): Set face->font_info to that of default face only
4107 when enable_font_backend is set.
4108
4109 * xdisp.c (handle_composition_prop): Set it->c to the fist
4110 characte of the composed region.
4111 (fill_composite_glyph_string): Set base_face->font_info to
4112 s->font_info. Get a face for ascii from base_face->ascii_face.
4113 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
4114 with a face already decided.
4115 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
4116 non-negative.
4117 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
4118 call font_prepare_composition unconditionally.
4119
4120 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
4121
4122 * xterm.h (struct x_display_info): New member font.
4123
4124 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
4125 (x_set_mouse_face_gc, x_new_font): Likewise.
4126 (x_term_init): Setup display_info->font.
4127 (x_delete_terminal): Free display_info->font.
4128
4129 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
4130
4131 * ftxfont.c (ftxfont_default_fid): Delete it.
4132 (ftxfont_open): Set xfont->fid to 0.
4133 (ftxfont_end_for_frame): Clear data specific to the frame and the
4134 font-driver.
4135
4136 * xftfont.c (xftfont_default_fid): Delete it.
4137 (xftfont_open): Set xfont->fid to 0.
4138
4139 * fontset.c (FONTSET_OBJLIST): New macro.
4140 (fontset_find_font): Update font-object list of the fontset.
4141 (free_realized_fontset): New function.
4142 (free_face_fontset): Call free_realized_fontset.
4143 (Ffont_info): Call font_close_object only when enable_font_backend
4144 is set.
4145
4146 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
4147 [HAVE_NTGUI]: Include w32term.h.
4148 [MAC_OS]: Include macterm.ch.
4149 (font_otf_ValueRecord): Use make_number.
4150 (font_finish_cache): Fix handling of reference count.
4151 (font_clear_cache): Update num_fonts.
4152 (font_open_entity): Update smallest_char_width and
4153 smallest_font_height of the frame.
4154 (font_close_object): Update num_fonts.
4155 (Fclear_font_cache): Fix finding the target cache data.
4156
4157 2008-02-16 Glenn Morris <rgm@gnu.org>
4158
4159 * fontset.c (Finternal_char_font): Fix compilation warning.
4160
4161 2008-02-16 Eli Zaretskii <eliz@gnu.org>
4162
4163 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
4164 instead of char arrays. Enlarge the size of array passed to
4165 get_token_information.
4166
4167 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
4168 warnings.
4169
4170 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
4171
4172 * .gdbinit: Don't set `args', it breaks gdb --args.
4173
4174 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
4175
4176 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
4177 within a narrowed buffer.
4178
4179 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
4180
4181 * coding.c (decode_coding_object, encode_coding_object):
4182 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
4183
4184 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
4185
4186 * coding.c (coding_set_destination): Use BEG_BYTE rather than
4187 hardcoding 1.
4188 (detect_coding_system):
4189 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
4190 (string_char_to_byte, string_byte_to_char, insert_from_gap):
4191 * insdel.c (insert_from_gap):
4192 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
4193 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
4194 (string_to_multibyte):
4195 * character.c (chars_in_text, multibyte_chars_in_text):
4196 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
4197
4198 * character.h (FETCH_STRING_CHAR_ADVANCE)
4199 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
4200 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
4201 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
4202
4203 * casefiddle.c (casify_region): Only call after-change and composition
4204 functions on the part of the region that was changed.
4205
4206 * keyboard.c (read_avail_input):
4207 * frame.c (Fdelete_frame): Call Fdelete_terminal.
4208
4209 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4210
4211 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
4212 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
4213
4214 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
4215
4216 * w32menu.c (push_submenu_start, push_submenu_end)
4217 (push_left_right_boundary, push_menu_pane, push_menu_item):
4218 * keyboard.c (read_key_sequence): Don't pass args with side effects
4219 to AREF, it fails when compiling with -DENABLE_CHECKING.
4220
4221 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
4222
4223 * Makefile.in (${lispsource}international/charprop.el):
4224 Delete this target.
4225
4226 * search.c (boyer_moore): Fix incorrect synching of the trunk and
4227 emacs-unicode-2.
4228
4229 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4230
4231 * terminal.c (Fdelete_terminal): Clean up the `force' path.
4232
4233 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4234
4235 * frame.c (Qnoelisp): New symbol.
4236 (syms_of_frame): Initialize it.
4237 (Fdelete_frame): Use it to distinguish a mere `force' passed from
4238 someharmles Elisp code, from a strong `force' from x_connection_closed.
4239 * frame.h (Qnoelisp): Declare.
4240 * xterm.c (x_connection_closed): Pass `noelisp'.
4241
4242 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
4243 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
4244 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
4245 rather than `int' for the type of `type'.
4246
4247 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
4248
4249 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
4250
4251 * Makefile.in (GNUC): Remove support for gcc-1.x.
4252
4253 2008-02-10 Richard Stallman <rms@gnu.org>
4254
4255 * lisp.h (ASET): Use AREF, not ASLOT.
4256
4257 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4258
4259 * lisp.h (ASET): Check bounds.
4260
4261 2008-02-10 Glenn Morris <rgm@gnu.org>
4262
4263 * buffer.c (mode-name): Doc fix.
4264
4265 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4266
4267 * Makefile.in:
4268 * emacs.c:
4269 * gmalloc.c:
4270 * keyboard.c:
4271 * lisp.h:
4272 * m/ibm370aix.h:
4273 * process.c:
4274 * regex.c:
4275 * s/hpux.h:
4276 * sysdep.c:
4277 * sysselect.h:
4278 * systty.h:
4279 * unexec.c:
4280 * w32term.c:
4281 * xsmfns.c:
4282 * xterm.c: Remove code that deals with obsolete variables.
4283
4284 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
4285
4286 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
4287 nothing else needs it anymore.
4288
4289 2008-02-09 Eli Zaretskii <eliz@gnu.org>
4290
4291 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
4292 instead of unibyte_char_to_multibyte.
4293
4294 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4295
4296 * s/gnu-linux.h: Remove commented out code.
4297
4298 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
4299
4300 * Makefile.in: Update what RMS says about using autoconf.
4301 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
4302 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
4303 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
4304 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
4305
4306 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
4307
4308 * keymap.c (Fkey_description): Move side effect outside of macro call.
4309
4310 * xfaces.c (Finternal_make_lisp_face):
4311 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
4312
4313 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
4314 (syms_of_fontset): Use ASET.
4315
4316 * fns.c (concat): Move side effect outside of macro call.
4317 (hash_clear): Use ASET.
4318
4319 2008-02-08 Richard Stallman <rms@gnu.org>
4320
4321 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
4322 If FORCE, and frame has a surrogate minibuffer for another frame,
4323 delete the other frame first.
4324
4325 2008-02-07 Timo Savola <timo.savola@iki.fi>
4326
4327 * xterm.c (x_detect_focus_change): Handle embed client message.
4328 (handle_one_xevent): Ditto.
4329 (handle_one_xevent): If embedded and we get a button press/release,
4330 request focus.
4331 (xembed_set_info, xembed_send_message): New functions.
4332 (x_make_frame_visible): Call xembed_set_info if embedded.
4333 (x_make_frame_invisible): Call xembed_set_info if embedded.
4334 (x_term_init): Initialize Xatom_XEMBED.
4335 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
4336 (x_iconify_frame): Ditto.
4337
4338 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
4339 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
4340 (enum xembed_modifier, enum xembed_accelerator): New.
4341 (xembed_set_info, xembed_send_message): Declare.
4342 (FRAME_X_EMBEDDED_P): New.
4343
4344 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
4345 gtk_plug_new.
4346
4347 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
4348 window ID of a frame.
4349 (x_window): Reparent frame if embedded.
4350 (Fx_create_frame): Don't set border width if embedded.
4351
4352 * emacs.c (USAGE3): Add --parent-id.
4353 (standard_args): Ditto.
4354
4355 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
4356
4357 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
4358
4359 2008-02-07 Jim Meyering <meyering@redhat.com>
4360
4361 Use "do...while (0)", not "if (1)...else" in macro definitions.
4362 The latter provokes a warning from gcc about the empty else, when
4363 followed by ";". Also, without that trailing semicolon, it would
4364 silently swallow up any following statement.
4365 * syntax.h (SETUP_SYNTAX_TABLE)
4366 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
4367 * buffer.h (DECODE_POSITION): Likewise.
4368 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
4369 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
4370 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
4371 (FETCH_CHAR_ADVANCE): Likewise.
4372 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
4373
4374 2008-02-07 Jim Meyering <meyering@redhat.com>
4375
4376 * lread.c [lint]: Don't include <sys/inode.h>.
4377
4378 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
4379
4380 * xselect.c (x_handle_dnd_message):
4381 * xmenu.c (digest_single_submenu, xmenu_show):
4382 * xdisp.c (with_echo_area_buffer_unwind_data)
4383 (format_mode_line_unwind_data, unwind_format_mode_line)
4384 (display_menu_bar):
4385 * eval.c (Ffetch_bytecode):
4386 * doc.c (store_function_docstring):
4387 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
4388 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
4389 * buffer.c (add_overlay_mod_hooklist): Use ASET.
4390
4391 2008-02-07 Kenichi Handa <handa@m17n.org>
4392
4393 * ftxfont.c (ftxfont_open): Don't set
4394 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
4395
4396 * ftfont.c (ftfont_open): Fix previous change.
4397
4398 2008-02-06 Jason Rumney <jasonr@gnu.org>
4399
4400 * w32font.c (w32font_text_extents): Fill in lbearing metric.
4401 Use cached metrics for ASCII characters.
4402 (w32font_open_internal): Don't set font's owning_frame.
4403 Cache metrics for ASCII characters.
4404
4405 * w32font.h (struct w32font_info): Add ascii_metrics.
4406 Remove owning_frame.
4407
4408 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
4409
4410 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
4411 to negative value.
4412
4413 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
4414
4415 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
4416
4417 * charset.c (syms_of_charset): Set QCtest and Qeq.
4418
4419 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
4420
4421 * process.c (Fstart_process):
4422 * callproc.c (Fcall_process): Handle the case where
4423 Funhandled_file_name_directory returns nil.
4424
4425 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
4426 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
4427 * font.c (check_gstring): Use them and AREF to access the vector before
4428 we know it's really a gstring.
4429 (Ffont_shape_text): Fix typo.
4430 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
4431
4432 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
4433 Declare.
4434
4435 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
4436
4437 2008-02-05 Jason Rumney <jasonr@gnu.org>
4438
4439 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
4440 Set smallest_font_height and smallest_char_width in display info.
4441
4442 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
4443
4444 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
4445
4446 2008-02-05 Miles Bader <miles@gnu.org>
4447
4448 * xfaces.c (get_lface_attributes, merge_named_face)
4449 (lookup_named_face, lookup_derived_face, realize_named_face):
4450 Revert 2008-02-01 change by cyd@stupidchicken.com.
4451
4452 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
4453
4454 * fontset.c (Ffontset_info): Handle the case of inhibitting the
4455 fallback fonts.
4456 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
4457
4458 2008-02-04 Jason Rumney <jasonr@gnu.org>
4459
4460 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
4461 set full_name.
4462 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
4463
4464 2008-02-03 Jason Rumney <jasonr@gnu.org>
4465
4466 * makefile.w32-in (OBJ1): Include font.o here.
4467 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
4468
4469 2008-02-02 Jason Rumney <jasonr@gnu.org>
4470
4471 * makefile.w32-in (temacs): Bump EMHEAP to 21.
4472
4473 2008-02-01 Jason Rumney <jasonr@gnu.org>
4474
4475 * s/cygwin.h: Define VIRT_ADDR_VARIES.
4476
4477 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
4478
4479 2008-02-01 Andreas Schwab <schwab@suse.de>
4480
4481 * Makefile.in (shortlisp, lisp): Update for rename of
4482 ../lisp/language/myanmar.el.
4483
4484 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
4485
4486 * xfaces.c (get_lface_attributes): Delete function.
4487 (merge_named_face, lookup_named_face, lookup_derived_face)
4488 (realize_named_face): Call lface_from_face_name directly, and use
4489 the fact that merge_face_vectors does not alter its FROM argument.
4490
4491 2008-02-01 Jason Rumney <jasonr@gnu.org>
4492
4493 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
4494 input in the default locale. Handle non-Unicode multibyte input.
4495
4496 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4497
4498 * fontset.c (reorder_font_vector): Exclude nil elements from the
4499 font group. Don't try multiple fonts.
4500 (fontset_font): Adjust for the above change.
4501 (Finternal_char_font): Return nil if the found font doesn't
4502 contain the character ch.
4503
4504 * Makefile.in (lisp, shortlisp): Add cham.el.
4505
4506 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4507
4508 * font.h (FONTP): Make it return 1 also for a font-object.
4509
4510 * .gdbinit (xfontset): New function.
4511
4512 * font.c (font_find_for_lface): Check if the character C is
4513 supported or not only for the first font.
4514
4515 * fontset.c (reorder_font_vector): Fix typo.
4516 (fontset_find_font): Don't add a font-spec specifying a script.
4517 Use 0 (not Qt) for the indication of empty font-group. Change the
4518 format of RFONT-DEF. Return Qt if no font in the font-group
4519 support the character.
4520 (fontset_font): Adjust for the above change. If no font was
4521 found the character, remember that.
4522 (face_for_char): Adjust for the change of RFONT-DEF.
4523 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
4524 no font for the target.
4525 (Finternal_char_font): Adjust for the change of RFONT-DEF.
4526
4527 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4528
4529 * font.c (font_load_for_face): Handle the case that the font in
4530 face->lface is a string.
4531
4532 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4533
4534 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
4535
4536 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4537
4538 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
4539 Fix previous change. If the frame is not on a window system,
4540 signal an error.
4541
4542 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4543
4544 * coding.c (decode_coding_object, encode_coding_object): Adjust
4545 marker positions after conversion.
4546
4547 * lisp.h (struct Lisp_Marker): New member need_adjustment.
4548
4549 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4550
4551 * font.c (font_find_for_lface): Fix the handling of the return
4552 value of font_has_char.
4553 (Ffont_shape_text): Fix previous change.
4554
4555 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
4556 (fontset_ref_and_range): Delete it.
4557 (fontset_find_font): Call char_table_ref_and_range instead of
4558 FONTSET_REF_AND_RANGE.
4559 (make_fontset): Don't setup font groups of Latin here.
4560 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
4561 (new_fontset_from_font): Make the specified font the default for
4562 all Latin characters.
4563
4564 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4565
4566 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
4567 is on a window system before accessing the fontset of the frame.
4568
4569 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4570
4571 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
4572
4573 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
4574 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
4575
4576 * font.c (Ffont_shape_text): If the font driver doesn't have a
4577 shaper function, make zero-width glyphs to have at least one-pixel
4578 width. Fix setting of `to' field of glyphs.
4579
4580 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4581
4582 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
4583 glyphs.
4584
4585 * font.h (struct font_driver): Improve docstring of member `shape'.
4586
4587 2008-02-01 Kenichi Handa <handa@m17n.org>
4588
4589 * composite.c (syms_of_composite): Fix docstring of
4590 auto-composition-function.
4591
4592 * font.h (LGLYPH_SIZE): New macro.
4593
4594 * font.c (Ffont_fill_gstring): Stop filling when a character not
4595 supported by the font is found.
4596 (Ffont_shape_text): When a shape callback function returns nil,
4597 try at most two more times with larger gstring.
4598 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
4599
4600 * xdisp.c (handle_auto_composed_prop): Change the argument to
4601 auto-composition-function.
4602
4603 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
4604 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
4605 Lispy glyph and store it in the lgstring.
4606
4607 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
4608
4609 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
4610
4611 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4612
4613 * font.c (Ffont_shape_text): Avoid unnecessary composition.
4614
4615 * fontset.c (Vfont_encoding_charset_alist): New variable.
4616 (syms_of_fontset): DEFVAR it.
4617 (reorder_font_vector, fontset_find_font): Optimize for the case of
4618 no need of reordering.
4619 (face_for_char): Map the charset property by
4620 Vfont_encoding_charset_alist.
4621
4622 2008-02-01 Jason Rumney <jasonr@gnu.org>
4623
4624 * w32font.c (logfonts_match): Don't check adstyle here.
4625 (font_matches_spec): Check here against physical font instead.
4626 (add_font_entity_to_list): Avoid some substitutions.
4627
4628 * font.c (font_parse_fcname): Default weight and slant to normal.
4629 (font_score): Prefer normal fonts if weight or slant unspecified.
4630 (font_score) [WINDOWSNT]: Scale weight difference down to closer
4631 match freetype scores.
4632
4633 2008-02-01 Jason Rumney <jasonr@gnu.org>
4634
4635 * w32font.c (w32font_text_extents): Don't use the frame stored in the
4636 font, as it may have been deleted.
4637 (w32_enumfont_pattern_entity): Map generic family to adstyle using
4638 most common hyphenless variation.
4639 (logfonts_match): Check generic family.
4640 (font_matches_spec): Don't check generic family here.
4641 (fill_in_logfont): Set generic family based on adstyle.
4642
4643 * w32font.h (w32font_get_cache): Update declaration.
4644
4645 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4646
4647 * ftfont.c (ftfont_get_cache): Adjust the argument type.
4648
4649 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
4650 If none of the new drivers are available, call font_update_drivers
4651 with the old drivers.
4652
4653 * w32font.c (w32font_get_cache): Adjust the argument type.
4654
4655 * xfont.c (xfont_get_cache): Adjust the argument type.
4656
4657 * font.h (struct font_driver): Change argument type of get_cache.
4658
4659 * xftfont.c (xftfont_start_for_frame): Delete prototype.
4660
4661 * font.c (Ffont_get): Fix arguments to Fassoc.
4662 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
4663 (font_clear_cache): New function.
4664 (font_list_entities, font_matching_entity): Use font_get_cache.
4665 (font_update_drivers): Call font_clear_cache when finishing a driver.
4666
4667 * fontset.c (fontset_find_font): Fix previous change.
4668
4669 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4670
4671 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
4672 dpyinfo->font_table.
4673 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
4674 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
4675
4676 * font.c (font_at): Handle the case that the arg C is negative.
4677 Handle the unibyte case.
4678 (Ffont_at): Call font_at with the arg C -1.
4679
4680 * xdisp.c (handle_auto_composed_prop): Don't get a character at
4681 the position here, and call font_at with the arg C -1.
4682 Don't check the range of the existing composition at the point.
4683
4684 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4685
4686 * fontset.c (fontset_add): New args charset_id and family.
4687 Change caller.
4688 (load_font_get_repertory, fontset_find_font): Assume that
4689 font_spec is always a font-spec object.
4690 (Fset_fontset_font): Always store a font-spec object in a fontset.
4691
4692 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
4693 instead of get_property_and_range.
4694
4695 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4696
4697 * xftfont.c (struct xftfont_info): Delete the member ft_face.
4698 (xftfont_open): Don't keep locking face.
4699 (xftfont_close): Don't unlock face.
4700 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
4701
4702 * fontset.c (fontset_find_font): Don't prefer a font of
4703 supplementary charset.
4704
4705 2008-02-01 Kenichi Handa <handa@m17n.org>
4706
4707 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
4708 script, langsys_tag to langsys, new member script.
4709 (OTF_TAG_STR): Terminate by '\0'.
4710 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
4711 listing to the script specified in that property. Fix arg to
4712 OTF_check_features.
4713
4714 2008-02-01 Jason Rumney <jasonr@gnu.org>
4715
4716 * w32font.h: New file.
4717
4718 * w32font.c: Include it.
4719 (struct w32font_info): Add owning_frame field. Move to w32font.h.
4720 (w32font_open): Set owning_frame.
4721 (w32font_text_extents): Use owning_frame.
4722 (struct font_callback_data): Add opentype_only field.
4723 (add_font_entity_to_list): Use it to filter fonts.
4724 Don't check against full name.
4725 (w32font_list_internal): New function.
4726 (w32font_list): Use it.
4727 (w32font_match_internal): New function.
4728 (w32font_match): Use it.
4729 (w32font_open_internal): New function.
4730 (w32font_open): Use it.
4731 (w32font_get_cache, w32font_close, w32font_has_char)
4732 (w32font_encode_char, w32font_text_extents, w32font_draw):
4733 Make non-static.
4734
4735 * makefile.w32-in (w32font.o): Depend on w32font.h.
4736
4737 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4738
4739 * charset.c (Fdefine_charset_internal): Record a supplementary
4740 charset at the tail of Vcharset_order_list.
4741
4742 * font.c (Ffont_shape_text): Fix the return value.
4743
4744 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
4745
4746 * xdisp.c (handle_auto_composed_prop): Fix previous change.
4747
4748 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4749
4750 * ftfont.c (struct OpenTypeSpec): New struct.
4751 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
4752 (ftfont_get_open_type_spec): New function.
4753 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
4754
4755 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
4756
4757 2008-02-01 Jason Rumney <jasonr@gnu.org>
4758
4759 * w32font.c (add_font_entity_to_list): Compare only the beginning
4760 of full name.
4761
4762 2008-02-01 Kenichi Handa <handa@m17n.org>
4763
4764 * xdisp.c (handle_auto_composed_prop): Simplify the code.
4765 Never return HANDLED_RECOMPUTE_PROPS.
4766
4767 2008-02-01 Kenichi Handa <handa@m17n.org>
4768
4769 * font.c (font_gstring_produce): Delete it.
4770
4771 * composite.h (COMPOSITION_METHOD):
4772 Handle COMPOSITION_WITH_GLYPH_STRING.
4773
4774 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4775
4776 * xfont.c (Qx): Delete.
4777 (syms_of_xfont): Don't initialize Qx.
4778
4779 * composite.h (enum composition_method):
4780 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
4781
4782 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4783
4784 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
4785 (choose_face_font): Accept new form of font-spec.
4786
4787 * frame.h (font_driver_list): Declare it unconditionally.
4788 (struct frame): Define members font_driver_list and font_data_list
4789 unconditionally.
4790
4791 * fontset.c: Include "font.h" unconditionally.
4792 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
4793 (Fset_fontset_font): Accept a font-spec object.
4794
4795 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
4796 PIXEL_SIZE part a wild card.
4797
4798 * dispextern.h (struct glyph_string): Define members clip and
4799 num_clips unconditionally.
4800 (struct face): Define members font_info and extra unconditionally.
4801
4802 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
4803 ftfont_info only when HAVE_LIBOTF is defined.
4804
4805 2008-02-01 Andreas Schwab <schwab@suse.de>
4806
4807 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
4808 and end.
4809
4810 2008-02-01 Jason Rumney <jasonr@gnu.org>
4811
4812 * w32font.c (w32font_driver): Add new fields.
4813
4814 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4815
4816 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
4817 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
4818 (LIBES): Add @M17N_FLT_CFLAGS@.
4819
4820 * composite.c (compose_text): Don't treat the new style
4821 composition specially.
4822
4823 * emacs.c (main): Call syms_of_font unconditionally.
4824
4825 * font.h (FONT_ENTITY_NOT_LOADABLE)
4826 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
4827 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
4828 (struct font_driver): New member shape.
4829 (font_registry_charsets): Extern it.
4830 (font_find_for_lface, font_prepare_composition): Adjust prototype.
4831 (font_otf_capability, font_drive_otf): Delete their externs.
4832
4833 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4834 (font_charset_alist, font_registry_charsets): Move from xfont.c
4835 and rename.
4836 (font_prop_validate_otf): New function.
4837 (font_property_table): Register it for QCotf.
4838 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
4839 (font_drive_otf): Delete.
4840 (font_prepare_composition): New arg F. Adjust for the change of
4841 lispy gstring.
4842 (font_find_for_lface): New arg C.
4843 (font_load_for_face): Adjust for the change of font_find_for_lface.
4844 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
4845 lispy gstring.
4846 (Ffont_shape_text): New function.
4847 (Fopen_font): If the font size is not given, use 12-pixel.
4848 (Ffont_at): New arg STRING.
4849 (syms_of_font): Initalize font_charset_alist.
4850 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
4851 conditionally.
4852
4853 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
4854 fonts of the same font-spec. Change the format of RFONT-DEF.
4855 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
4856 Adjust for the change of RFONT-DEF.
4857 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
4858
4859 * ftfont.h: New file.
4860
4861 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
4862 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4863 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4864 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
4865 font_otf_capability and font_drive_otf, set ftfont_shape.
4866 (ftfont_list): Adjust for the change of :otf property value.
4867 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
4868 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
4869 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
4870 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
4871 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
4872 (otf_gstring, gstring, m17n_flt_initialized): New variables.
4873
4874 * w32term.c (x_draw_composite_glyph_string_foreground):
4875 Adjust for the change of lispy gstring.
4876
4877 * xdisp.c (handle_composition_prop): Adjust for the change of
4878 lispy gstring. Call a function for auto-composition with the
4879 third arg it->window.
4880 (fill_composite_glyph_string): Adjust for the change of lispy string.
4881 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
4882
4883 * xfaces.c (set_font_frame_param): Adjust for the change of
4884 font_find_for_lface.
4885
4886 * xfont.c (x_font_charset_alist): Move to font.c and rename.
4887 (xfont_registry_charsets): Likewise. Change caller.
4888 (syms_of_xfont): Don't handle x_font_charset_alist.
4889
4890 * xftfont.c: Include "ftfont.h".
4891 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
4892 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
4893 (xftfont_close) [HAVE_LIBOTF]: Close otf.
4894 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
4895 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
4896 Set xftfont_driver.shape to xftfont_shape.
4897
4898 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
4899 the change of lispy gstring.
4900
4901 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4902
4903 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
4904
4905 2008-02-01 Jason Rumney <jasonr@gnu.org>
4906
4907 * w32font.c (w32font_draw): Fill background manually.
4908
4909 2008-02-01 Jason Rumney <jasonr@gnu.org>
4910
4911 * font.c (Qfontp): Remove unused symbol.
4912 (QCantialias): New symbol.
4913 (syms_of_font): Define it.
4914 (font_property_table): Set a validator for QCantialias.
4915
4916 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
4917 Define if not already.
4918 (QCfamily): Share with xfaces.c.
4919 (Qstandard, Qsubpixel, Qnatural): New symbols.
4920 (syms_of_w32font): Define them. Don't define QCfamily here.
4921 (w32_antialias_type, lispy_antialias_type): New functions.
4922 (w32_enumfont_pattern_entity): New arg requested_font.
4923 Set antialias parameter if non-default was requested.
4924 (fill_in_logfont): Fill in lfQuality if :antialias specified.
4925
4926 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4927
4928 * lread.c (read1): Undo the previous change.
4929
4930 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
4931
4932 * frame.c (Fdelete_frame): Call font_update_drivers only when
4933 USE_FONT_BACKEND is defined.
4934
4935 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4936
4937 * font.h (struct font_bitmap): New member bits_per_pixel.
4938 (struct font_driver): New members start_for_frame and end_for_frame.
4939 (struct font_data_list): New struct.
4940 (font_put_frame_data, font_get_frame_data): Extern them.
4941
4942 * frame.h (struct frame): New member font_data_list.
4943
4944 * font.c (font_update_drivers): Call driver->start_for_frame and
4945 driver->end_for_frame at proper timings.
4946 (font_put_frame_data, font_get_frame_data): New functions.
4947 (Ffont_spec): Add usage in the docstring.
4948
4949 * frame.c (make_frame): Initialize f->font_data_list to NULL.
4950 (Fdelete_frame): Call font_update_drivers.
4951
4952 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4953 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
4954 (xftfont_get_xft_draw): New function.
4955 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
4956 (xftfont_end_for_frame): New function.
4957 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
4958
4959 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
4960 Change argument. Cache GCs in the per-frame data.
4961 (struct ftxfont_frame_data): New struct.
4962 (ftxfont_draw_bitmap): New arg gc_fore and flush.
4963 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
4964 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
4965 (ftxfont_end_for_frame): New function.
4966 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
4967
4968 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
4969
4970 2008-02-01 Kenichi Handa <handa@m17n.org>
4971
4972 * xselect.c (Vselection_coding_system)
4973 (Vnext_selection_coding_system): Delete them.
4974 (syms_of_xselect): Don't declare selection-coding-system and
4975 next-selection-coding-system. They are declared in select.el.
4976
4977 2008-02-01 Jason Rumney <jasonr@gnu.org>
4978
4979 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
4980
4981 * w32fns.c: Include imm.h.
4982 (get_composition_string_fn, get_ime_context_fn): New optional
4983 system functions.
4984 (globals_of_w32fns): Load them from imm32.dll.
4985 (ignore_ime_char): New flag.
4986 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
4987 WM_IME_ENDCOMPOSITION messages.
4988
4989 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
4990 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
4991
4992 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
4993
4994 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
4995 (READCHAR_REPORT_MULTIBYTE): New macro.
4996 (readchar): New 2nd arg MULTIBYTE.
4997 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
4998 Make symbol's name multibyte according to the multibyteness of the
4999 source.
5000
5001 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5002
5003 * xfaces.c (face_for_overlay_string): Call lookup_face with
5004 correct arguments (fix of synching with the trunk).
5005
5006 2008-02-01 Kenichi Handa <handa@m17n.org>
5007
5008 * font.c (font_prop_validate_symbol, font_prop_validate_style)
5009 (font_prop_validate_non_neg, font_prop_validate_spacing):
5010 Delete argument prop_index.
5011 (font_property_table): Change arguments to validater. Change Callers.
5012 (font_lispy_object): Delete.
5013 (font_at): Use font_find_object instead fo font_lispy_object.
5014
5015 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5016
5017 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
5018 and file names.
5019
5020 2008-02-01 Jason Rumney <jasonr@gnu.org>
5021
5022 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
5023 (font_matches_spec): Remove debug output.
5024 (add_font_entity_to_list): Avoid using substituted fonts.
5025
5026 2008-02-01 Jason Rumney <jasonr@gnu.org>
5027
5028 * doc.c (Fsnarf_documentation):
5029 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
5030
5031 2008-02-01 Miles Bader <miles@gnu.org>
5032
5033 * dispextern.h (struct glyph_row): Only define "clip" field if
5034 HAVE_WINDOW_SYSTEM is defined.
5035
5036 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
5037
5038 Fix up multi-tty merge.
5039
5040 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
5041 and indentation.
5042
5043 * xfaces.c (free_realized_face, clear_face_gcs):
5044 Include font_done_for_face in the input_blocked section, just in case.
5045
5046 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
5047 (get_char_face_and_encoding): Undo last change and remove the *other*
5048 duplicate definition (i.e. keep the one that's better scoped and that
5049 includes code for the font-backend).
5050
5051 * terminal.c (create_terminal): Default keyboard_coding to
5052 `no-conversion' and terminal_coding to `undecided'.
5053
5054 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
5055
5056 * fontset.c (free_realized_fontsets): Check that the table entry does
5057 contain a fontset before trying to compare it to `base'.
5058
5059 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
5060 syms_of_charset, and syms_of_coding earlier because init_window_once
5061 now needs Vcoding_system_hash_table to be setup.
5062
5063 * coding.h (default_buffer_file_coding): Remove.
5064
5065 * coding.c (default_buffer_file_coding): Remove.
5066 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
5067 than ->symbol, and use the terminal-local coding system.
5068 (syms_of_coding): Don't setup the coding-systems that are not
5069 terminal-local.
5070 (Fdefine_coding_system_internal): Use XCAR/XCDR.
5071
5072 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
5073 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
5074
5075 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
5076 in chartab.c and were re-added here by mistake.
5077 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
5078
5079 * doc.c (Fsnarf_documentation):
5080 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
5081 src to etc.
5082
5083 * ChangeLog.10: Add mistakenly removed entry.
5084
5085 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
5086
5087 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
5088
5089 2008-02-01 Miles Bader <miles@gnu.org>
5090
5091 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
5092 Add extra args to FACE_FOR_CHAR.
5093
5094 2008-02-01 Kenichi Handa <handa@m17n.org>
5095
5096 * keymap.c (where_is_internal_1): If key is a cons, store the copy
5097 in sequence.
5098
5099 * chartab.c (map_sub_char_table, map_char_table): If the range
5100 contains just one character, call the function with that character
5101 even if the depth is not 3.
5102
5103 2008-02-01 Jason Rumney <jasonr@gnu.org>
5104
5105 * w32font.c (w32font_text_extents): Calculate metrics for the
5106 whole string.
5107
5108 2008-02-01 Jason Rumney <jasonr@gnu.org>
5109
5110 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
5111
5112 2008-02-01 Jason Rumney <jasonr@gnu.org>
5113
5114 * w32term.c (x_set_glyph_string_clipping): Use
5115 get_glyph_string_clip_rects.
5116 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5117 Adjust for the change of struct glyph_string.
5118
5119 * w32font.c (w32font_draw): Do clipping here.
5120
5121 2008-02-01 Kenichi Handa <handa@m17n.org>
5122
5123 * xftfont.c (xftfont_draw): Adjust for the change of struct
5124 glyph_string.
5125
5126 * xterm.c (x_set_glyph_string_clipping): Use
5127 get_glyph_string_clip_rects.
5128 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5129 Adjust for the change of struct glyph_string.
5130
5131 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
5132 the resulting clip(s}.
5133 (expose_overlaps): Add arg r. Change callers. Set it to
5134 row->clip temporarily.
5135 (expose_window): Redraw rows overlapping the exposed area.
5136
5137 * dispextern.h (struct glyph_row): New member clip.
5138 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
5139 clip_height, new member clip, and num_clips.
5140
5141 2008-02-01 Kenichi Handa <handa@m17n.org>
5142
5143 * data.c (Fchar_or_string_p): Fix docstring.
5144
5145 2008-02-01 Kenichi Handa <handa@m17n.org>
5146
5147 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
5148 create a temporal XftDraw object.
5149
5150 2008-02-01 Kenichi Handa <handa@m17n.org>
5151
5152 * font.c (Ffontp): Fix docstring.
5153
5154 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
5155 strong evidence of ISO-2022.
5156
5157 2008-02-01 Kenichi Handa <handa@m17n.org>
5158
5159 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
5160 SYNTAX_ENTRY_FOLLOW_PARENT.
5161
5162 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
5163
5164 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
5165 its type.
5166 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
5167 Update to the new type of weak_hash_tables and next_weak.
5168
5169 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
5170 a plain C pointer to Lisp_Hash_Table.
5171
5172 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
5173 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
5174 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
5175 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
5176 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
5177 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
5178 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
5179 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
5180 (GC_EQ): Remove since they've been identical to their non-GC_
5181 alter-egos ever since the markbit was eradicated.
5182
5183 * alloc.c:
5184 * buffer.c:
5185 * buffer.h:
5186 * data.c:
5187 * fileio.c:
5188 * filelock.c:
5189 * fns.c:
5190 * frame.h:
5191 * lisp.h:
5192 * macterm.c:
5193 * print.c:
5194 * process.c:
5195 * w32fns.c:
5196 * w32menu.c:
5197 * w32term.c:
5198 * xfns.c:
5199 * xmenu.c:
5200 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
5201
5202 2008-02-01 Kenichi Handa <handa@m17n.org>
5203
5204 * chartab.c (map_sub_char_table): Make it work for the top-level
5205 char-table. Fix handling of parent char-table.
5206 (map_char_table): Adjust for the above change.
5207
5208 2008-02-01 Jason Rumney <jasonr@gnu.org>
5209
5210 * w32font.c (Qgdi): Rename from Qw32.
5211
5212 2008-02-01 Jason Rumney <jasonr@gnu.org>
5213
5214 * w32bdf.c (get_quoted_string): Make function static.
5215
5216 2008-02-01 Kenichi Handa <handa@m17n.org>
5217
5218 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
5219 bigger ascent and descent than those of the font, use them as
5220 font's ascent and descent.
5221
5222 2008-02-01 Kenichi Handa <handa@m17n.org>
5223
5224 * Makefile.in (${lispsource}international/charprop.el): Move this
5225 target within "#ifdef HAVE_UNIDATA" and "#endif".
5226
5227 2008-02-01 Kenichi Handa <handa@m17n.org>
5228
5229 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
5230 (shortlisp): Add ../lisp/language/tai-viet.el.
5231
5232 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
5233
5234 * Makefile.in (${lispsource}international/charprop.el): Depend on
5235 temacs${EXEEXT}.
5236
5237 2008-02-01 Jason Rumney <jasonr@gnu.org>
5238
5239 * w32font.c (w32font_close): Delete the GDI font object.
5240
5241 * w32menu.c: Include character.h.
5242
5243 * w32proc.c: Likewise.
5244
5245 * w32select.c: Likewise.
5246
5247 * makefile.w32-in (w32proc.o): Depend on character.h.
5248
5249 2008-02-01 Jason Rumney <jasonr@gnu.org>
5250
5251 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
5252
5253 * w32menu.c (syms_of_w32menu): Likewise.
5254
5255 * w32proc.c (syms_of_ntproc): Likewise.
5256
5257 * w32select.c (syms_of_w32select): Likewise.
5258
5259 * w32term.c (syms_of_w32term): Likewise.
5260
5261 2008-02-01 Jason Rumney <jasonr@gnu.org>
5262
5263 * w32font.c (w32font_draw): Delete brush after using it.
5264
5265 2008-02-01 Jason Rumney <jasonr@gnu.org>
5266
5267 * w32font.c (w32font_open): Don't set font_idx.
5268 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
5269 to font settings.
5270 (w32font_draw): Fill background explicitly.
5271
5272 2008-02-01 Jason Rumney <jasonr@gnu.org>
5273
5274 * w32term.c (w32_initialize): Don't call w32font_initialize.
5275
5276 * w32font.c (w32font_info): Remove subranges.
5277 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
5278 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
5279 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
5280 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
5281 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
5282 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
5283 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
5284 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
5285 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
5286 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
5287 New symbols.
5288 (font_callback_data): New struct.
5289 (w32font_list, w32font_match): Use it.
5290 (w32font_open): Don't populate subranges.
5291 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
5292 (w32font_encode_char): Always return unicode code-point as-is.
5293 (w32font_text_extents): Supply a tranformation matrix to
5294 GetGlyphOutline. Never look up by glyph index. Avoid looping
5295 twice. Use unicode version of GetTexExtentPoint32 instead of
5296 glyph index version.
5297 (set_fonts_frame): Remove.
5298 (w32_enumfont_pattern_entity): Add frame parameter, use it to
5299 set frame parameter. Use backward compatible fake foundries.
5300 Save generic family in extra slot under QCfamily. Make width slot
5301 constant. Save QCspacing value. Save list of scripts instead of
5302 binary subranges.
5303 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
5304 (add_font_entity_to_list): Use font_callback_data struct. Filter
5305 unwanted fonts.
5306 (add_one_font_entity_to_list): Use font_callback_data struct.
5307 (w32_registry): Default to iso10646_1.
5308 (fill_in_logfont): Use dpi from extra slot. Don't bother with
5309 string font registries. Don't fill in font name if it is a generic
5310 family name, fill family instead. Use spacing, family and script
5311 extra info to fill pitch, family and charset fields.
5312 (list_all_matching_fonts): Use font_callback_data struct.
5313 (unicode_range_for_char): Remove.
5314 (font_supported_scripts): New function.
5315 (w32font_initialize): Remove.
5316 (syms_of_w32font): Update which symbols are defined.
5317
5318 2008-02-01 Jason Rumney <jasonr@gnu.org>
5319
5320 * font.c (font_pixel_size): Reverse assq_no_quit args.
5321
5322 * w32term.h (FONT_WIDTH): Report max width, not average.
5323 (FONT_MAX_WIDTH): Remove.
5324 (FONT_AVG_WIDTH): New macro.
5325
5326 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
5327 redefinition of FONT_WIDTH.
5328
5329 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
5330 (w32_cache_char_metrics): Use FONT_WIDTH.
5331
5332 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
5333
5334 2008-02-01 Jason Rumney <jasonr@gnu.org>
5335
5336 * w32font.c (w32font_open): Make lfHeight negative.
5337
5338 * w32fns.c (x_default_font_parameter): Use new style font name.
5339 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
5340
5341 2008-02-01 Jason Rumney <jasonr@gnu.org>
5342
5343 * w32font.c (QCsubranges): New symbol.
5344 (w32font_open, w32font_has_char): Get subranges from subproperty
5345 of extra.
5346 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
5347 (syms_of_w32font): Define :subranges symbol.
5348
5349 * font.c (font_put_extra): Expose externally.
5350
5351 * font.h (font_put_extra): Move declaration from font.c.
5352
5353 * font.c (Ffont_get): Use font driver to determine otf capability.
5354 (adjust_anchor): Check if driver defines anchor_point before using.
5355
5356 * w32font.c (w32font_open): Handle size, height and pixel_size better.
5357 (w32font_draw): Use options.
5358 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
5359 Fix detection of truetype fonts.
5360 (registry_to_w32_charset): Handle charsets other than iso8859-1
5361 expressed as lisp symbols.
5362 (w32_registry): Express charset as lisp symbol.
5363 (fill_in_logfont): Reverse pixel and point height logic.
5364 Don't set width here. Set quality to default.
5365
5366 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
5367 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
5368
5369 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
5370 Remove redundant loop and allocation.
5371
5372 * makefile.w32-in (font.o, w32font.o): New objects.
5373 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
5374 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
5375
5376 * xdisp.c (fill_composite_glyph_string): Make the first arg to
5377 STORE_XCHARB a valid l-value.
5378
5379 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
5380 calculations for non-Truetype fonts.
5381 (x_draw_glyph_string): Sync with xterm.c.
5382 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
5383 Remove redundant code.
5384 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
5385
5386 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
5387 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
5388
5389 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
5390 (x_to_w32_charset, w32_to_x_charset): Expose externally.
5391
5392 * w32font.c: New file for w32 font backend.
5393
5394 2008-02-01 Kenichi Handa <handa@m17n.org>
5395
5396 * term.c: Don't include "buffer.h" twice.
5397
5398 2008-02-01 Kenichi Handa <handa@m17n.org>
5399
5400 * character.c (Funibyte_string): New function.
5401 (syms_of_character): Defsubr it.
5402
5403 2008-02-01 Jason Rumney <jasonr@gnu.org>
5404
5405 * w32term.c [USE_FONT_BACKEND]:
5406 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
5407 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
5408 (x_draw_glyph_string, x_draw_glyph_string_foreground)
5409 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
5410 (x_free_frame_resources): Sync with xterm.c.
5411
5412 2008-02-01 Andreas Schwab <schwab@suse.de>
5413
5414 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
5415 char-table size.
5416
5417 2008-02-01 Kenichi Handa <handa@m17n.org>
5418
5419 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
5420
5421 2008-02-01 Kenichi Handa <handa@m17n.org>
5422
5423 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
5424 font_otf_gpos, add font_drive_otf.
5425
5426 * fontset.c (fontset_find_font): Pay attention to font size
5427 specified for a font.
5428 (reorder_font_vector): Check contents of font_def.
5429
5430 * font.c (struct otf_list): Delete it.
5431 (otf_list): Make it a lisp variable.
5432 (otf_open): Use lispy otf_list.
5433 (generate_otf_features): Rename from parse_gsub_gpos_spec.
5434 (check_otf_features): New function.
5435 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5436 New functions.
5437 (font_drive_otf): New function merging font_otf_gsub and
5438 font_otf_gpos.
5439 (font_open_for_lface): New arg spec. Change argument order.
5440 (font_load_for_face): Adjust for the change of font_open_for_lface.
5441 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
5442 Ffont_otf_gpos.
5443 (syms_of_font): Staticpro otf_list. Delete defsubr of
5444 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
5445
5446 * xfaces.c (set_font_frame_param): Adjust for the change of
5447 font_open_for_lface.
5448
5449 * font.h (font_open_for_lface): Adjust prototype.
5450 (struct font_driver): Delete members otf_gsub and otf_gpos, add
5451 member otf_drive.
5452 (font_otf_gsub, font_otf_gpos): Delete externs.
5453 (font_drive_otf): Extern it.
5454
5455 2008-02-01 Kenichi Handa <handa@m17n.org>
5456
5457 * font.c (font_at): If the window W is not on a window system,
5458 return Qnil.
5459
5460 * coding.c (produce_chars, encode_coding): Don't call
5461 insert_from_gap if no characters to produce.
5462
5463 2008-02-01 Kenichi Handa <handa@m17n.org>
5464
5465 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
5466 Fclear_face_cache.
5467
5468 * xfaces.c (face_for_font): Check also face->font==font->font.font.
5469
5470 2008-02-01 Miles Bader <miles@gnu.org>
5471
5472 * emacs.c (main): Change default value of `enable_font_backend' to 1.
5473 Parse "--disable-font-backend" option.
5474 (standard_args): Add "--disable-font-backend" option.
5475
5476 2008-02-01 Kenichi Handa <handa@m17n.org>
5477
5478 * fontset.c (fontset_find_font): New function.
5479 (fontset_font): Use fontset_find_font.
5480 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
5481 Register the specified font for all Latin characters.
5482 (new_fontset_from_font): Register the specified font for all Latin
5483 characters.
5484 (dump_fontset): For a realized fontset, include the base fontset
5485 name in the returned vector.
5486
5487 2008-02-01 Kenichi Handa <handa@m17n.org>
5488
5489 * character.h (CHAR_STRING): Cast C to unsigned on calling
5490 char_string.
5491
5492 * character.c (char_string): Type of arg C changed to unsigned.
5493 Signal an error if C is an invalid character code.
5494
5495 * editfns.c (general_insert_function, Fchar_to_string):
5496 Use CHARACTERP, not INTEGERP.
5497
5498 2008-02-01 Kenichi Handa <handa@m17n.org>
5499
5500 * character.h (MIN_MULTIBYTE_LEADING_CODE)
5501 (MAX_MULTIBYTE_LEADING_CODE): New macros.
5502
5503 * regex.c (analyse_first): Fix for multibyte characters in "case
5504 charset:" and "case categoryspec:".
5505
5506 2008-02-01 Andreas Schwab <schwab@suse.de>
5507
5508 * Makefile.in (LIBES): Move standard libraries to the end.
5509
5510 2008-02-01 Kenichi Handa <handa@m17n.org>
5511
5512 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
5513 nonzero, don't shrink the buffer nextb.
5514
5515 * buffer.h (struct buffer_text): New member inhibit_shrinking.
5516
5517 * coding.c (coding_alloc_by_making_gap): New arg offset.
5518 (alloc_destination): Call coding_alloc_by_making_gap with the arg
5519 offset.
5520 (decode_coding_iso_2022): Update coding->safe_charsets.
5521 (decode_coding_gap): Temporarily set
5522 current_buffer->text->inhibit_shrinking to 1.
5523
5524 2008-02-01 Kenichi Handa <handa@m17n.org>
5525
5526 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
5527 indexing into elements of s->cmp and s->char2b.
5528
5529 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
5530
5531 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
5532
5533 2008-02-01 Kenichi Handa <handa@m17n.org>
5534
5535 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
5536 target_multibyte instead of multibyte.
5537 (re_match_2_internal): Call bcmp_translate with target_multibyte.
5538 (bcmp_translate): Change the argument name from multibyte to
5539 target_multibyte.
5540
5541 2008-02-01 Kenichi Handa <handa@m17n.org>
5542
5543 These changes are to compile a regexp into a pattern that can be
5544 used both for multibyte and unibyte targets.
5545
5546 * Makefile.in (search.o): Depend on charset.h.
5547
5548 * character.c (multibyte_char_to_unibyte_safe): New function.
5549
5550 * search.c: Include "charset.h".
5551 (compile_pattern_1): Delete argument multibyte. Don't set
5552 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
5553 (compile_pattern): Don't compare cp->buf.target_multibyte.
5554 Compare cp->buf.charset_unibyte.
5555 (compile_pattern): Set cp->buf.target_multibyte.
5556
5557 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
5558
5559 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
5560
5561 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
5562 multibyte. Change callers.
5563 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
5564 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
5565 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
5566 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
5567 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
5568 (regex_compile): Make the compiled pattern usable both for
5569 multibyte and unibyte targets.
5570 (analyse_first): Make the fastmap usable both for multibyte and
5571 unibyte targets.
5572 (TRANSLATE_VIA_MULTIBYTE): Delete.
5573 (re_match_2_internal): Pay attention to the case that the
5574 multibyteness of bufp and target may be different.
5575
5576 2008-02-01 Kenichi Handa <handa@m17n.org>
5577
5578 * xdisp.c (x_produce_glyphs): When a font is not found, make the
5579 empty box occupy at least one column width.
5580
5581 2008-02-01 Miles Bader <miles@gnu.org>
5582
5583 * Makefile.in: Remove redundant HAVE_XFT clause.
5584
5585 2008-02-01 Kenichi Handa <handa@m17n.org>
5586
5587 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
5588
5589 2008-02-01 Kenichi Handa <handa@m17n.org>
5590
5591 * fontset.c (Finternal_char_font): Fix for the case of POSITION
5592 being nil.
5593
5594 2008-02-01 Kenichi Handa <handa@m17n.org>
5595
5596 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
5597
5598 2008-02-01 Kenichi Handa <handa@m17n.org>
5599
5600 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
5601
5602 2008-02-01 Kenichi Handa <handa@m17n.org>
5603
5604 * search.c (simple_search): Fix previous change.
5605
5606 2008-02-01 Kenichi Handa <handa@m17n.org>
5607
5608 * xftfont.c (ftfont_font_format): Extern declaration.
5609
5610 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
5611
5612 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
5613 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
5614
5615 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
5616 (ftfont_font_format): Fix previous change.
5617
5618 * font.h (Ffont_xlfd_name): EXFUN it.
5619
5620 * font.c (font_parse_xlfd): Fix the array size of `f'.
5621 (register_font_driver): Use EQ to compare driver->type.
5622
5623 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
5624 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
5625 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
5626
5627 2008-02-01 Kenichi Handa <handa@m17n.org>
5628
5629 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
5630 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
5631
5632 2008-02-01 Kenichi Handa <handa@m17n.org>
5633
5634 * xfont.c (xfont_open): Set font->format.
5635
5636 * xftfont.c (xftfont_open): Set font->format.
5637
5638 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
5639 (ftfont_list): Include FC_FONTFORMAT in FcObject.
5640 (ftfont_open): Set font->format.
5641 (ftfont_font_format): New function.
5642
5643 * font.h (struct font): New memeber format.
5644
5645 * font.c (Qopentype): New variable.
5646 (syms_of_font): Defsym it.
5647 (Fquery_font): Change the format of the last element of the return
5648 value.
5649
5650 2008-02-01 Kenichi Handa <handa@m17n.org>
5651
5652 * xfns.c (xic_create_xfontset): Try the default fontset name as a
5653 last resort.
5654
5655 2008-02-01 Kenichi Handa <handa@m17n.org>
5656
5657 * coding.c (detect_coding_charset): Fix detection of multi-byte
5658 charset.
5659
5660 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
5661
5662 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
5663
5664 2008-02-01 Kenichi Handa <handa@m17n.org>
5665
5666 * xdisp.c (get_next_display_element): Set it->face_id for the
5667 first component of a composition.
5668 (x_produce_glyphs): Check if the font is changed or not for composition.
5669
5670 2008-02-01 Kenichi Handa <handa@m17n.org>
5671
5672 * fontset.c (Qlatin): New variable.
5673 (syms_of_fontset): Define it as a lisp symbol.
5674 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
5675
5676 2008-02-01 Kenichi Handa <handa@m17n.org>
5677
5678 * font.c (font_unparse_fcname): Pay attention to the case that
5679 some of font property is a null string.
5680
5681 2008-02-01 Kenichi Handa <handa@m17n.org>
5682
5683 * term.c: Include "composite.h".
5684 (encode_terminal_code): Output all components of composition.
5685 Check the size of encode_terminal_src.
5686 (produce_glyphs): For composition, call produce_composite_glyph.
5687 (append_composite_glyph, produce_composite_glyph): New functions.
5688
5689 * xdisp.c (x_produce_glyphs): In handling composition, if a font
5690 is not found, get font_info from the current ascii face.
5691
5692 2008-02-01 Kenichi Handa <handa@m17n.org>
5693
5694 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
5695 buffer-file-name to Qnil before calling insert_from_buffer.
5696
5697 * font.c (font_unparse_fcname): Pay attention to the case that
5698 foundry is a null string.
5699
5700 2008-02-01 Kenichi Handa <handa@m17n.org>
5701
5702 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
5703
5704 * font.c (Qunicode_sip): New variable.
5705 (syms_of_font): Declare it as a Lisp symbol.
5706
5707 * font.h (Qunicode_sip): Extern it.
5708
5709 2008-02-01 Kenichi Handa <handa@m17n.org>
5710
5711 * composite.c (get_composition_id): Pay attention to TAB component.
5712
5713 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
5714 TAB. Adjust for the change of s->char2b which always points to
5715 the first elememnt of allocated memory.
5716
5717 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
5718
5719 * xdisp.c (handle_composition_prop): Set it->c to the first
5720 non-TAB component.
5721 (fill_composite_glyph_string): Change argument.
5722 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
5723 (x_produce_glyphs): Fix handling of left/right padding.
5724
5725 2008-02-01 Kenichi Handa <handa@m17n.org>
5726
5727 * coding.c (detect_coding_system): Fix for handling off
5728 inhibit_iso_escape_detection. Fix for the case that no coding
5729 system is defined for a specific coding category.
5730
5731 2008-02-01 Kenichi Handa <handa@m17n.org>
5732
5733 * font.c (font_matching_entity): Delete unused local var.
5734
5735 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
5736 opening a font.
5737
5738 * fileio.c (Finsert_file_contents): On recovering a file, assume
5739 Unix-like eol.
5740 (choose_write_coding_system): On auto-saving a file, force
5741 Unix-like eol.
5742
5743 * coding.c (setup_coding_system): Fix setting of
5744 coding->common_flags based on eol_type.
5745 (coding_inherit_eol_type): If PARENT is not nil, be sure to
5746 inherit from it.
5747
5748 2008-02-01 Kenichi Handa <handa@m17n.org>
5749
5750 * alloc.c (NSTATICS): Increas to 0x600.
5751
5752 2008-02-01 Kenichi Handa <handa@m17n.org>
5753
5754 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
5755 (ftfont_list): Don't check :name property.
5756 (ftfont_match): New function.
5757 (ftfont_pattern_entity): If the pattern doesn't contain
5758 FC_SPACING, don't assuce FC_MONO.
5759
5760 * font.h (struct font_driver): New member `match'.
5761 (font_update_drivers): Adjust prototype.
5762
5763 * font.c (font_parse_fcname, font_parse_name): Don't change :name
5764 property of FONT.
5765 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
5766 them unconditionally.
5767 (font_matching_entity): New function.
5768 (font_open_by_name): Try font_matching_entity if exact match is
5769 not found.
5770 (font_update_drivers): Delete the arg FONT. Return a list of
5771 actually used backends. Don't free faces, font caches here.
5772 Don't store data in frame parameters. Don't call x_set_font.
5773 (Ffont_spec): Store :name property as is.
5774 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
5775 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
5776 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
5777 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
5778 Call font->driver->otf_gsub instead of font_otf_gsub.
5779
5780 * frame.c (x_set_font_backend): Do more works that were done in
5781 font_update_drivers before.
5782
5783 * xfont.c (xfont_match): New function.
5784 (xfont_driver): Set xfont_driver.match to xfont_match.
5785 (xfont_draw): Set font in GC if necessary.
5786
5787 * ftxfont.c (ftxfont_match): New function.
5788 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
5789
5790 * xftfont.c (xftfont_match): New function.
5791 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
5792
5793 2008-02-01 Kenichi Handa <handa@m17n.org>
5794
5795 * font.h (struct font): New member scalable.
5796 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
5797 (font_otf_gsub): Adjust prototype.
5798
5799 * font.c (font_otf_capability): Fix handling of the default langsys.
5800 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
5801 Check the contents of SPEC.
5802 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
5803 (check_gstring): New function.
5804 (REPLACEMENT_CHARACTER): New macro.
5805 (font_otf_gsub): New arg alternate_subst. Be sure to set all
5806 glyph codes of GSTRING.
5807 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
5808 (font_prepare_composition): Set cmp->glyph_len.
5809 (font_open_entity): Set font->scalable.
5810 (Ffont_get): Handle :otf property.
5811 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
5812 functions.
5813 (Fquery_font): Use font->font.full_name.
5814 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
5815 Sfont_otf_alternates.
5816
5817 * ftfont.c (ftfont_open): Set font->font.full_name and
5818 font->font.name properly. Fix calculation of font->font.height
5819 and font->min_width.
5820
5821 * ftxfont.c (ftxfont_create_gcs): New function.
5822 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
5823 (ftxfont_draw_backgrond): Fix filling region.
5824 (ftxfont_default_fid): New function.
5825 (ftxfont_open): Set xfotn->fid to the return value of
5826 ftxfont_default_fid.
5827 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
5828 (ftxfont_done_face): Free only GCs that are created by
5829 ftxfont_create_gcs.
5830 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
5831
5832 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
5833 Clip to src->width, etc (not src->clip_XXX).
5834
5835 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
5836 FontBackend frame parameter.
5837
5838 2008-02-01 Kenichi Handa <handa@m17n.org>
5839
5840 * font.h (struct font_driver_list): New member `on'.
5841 (Fclear_font_cache): EXFUN it.
5842 (font_update_drivers): Extern it.
5843
5844 * font.c (font_unparse_fcname): Fix typo (swidth->width).
5845 (font_list_entities): Check driver_list->on.
5846 (register_font_driver): Initalize `on' member to 0.
5847 (font_update_drivers): New function.
5848 (Fclear_font_cache): Check driver_list->on.
5849
5850 * frame.h (Qfont_backend): Extern it.
5851 (x_set_font_backend): Extern it.
5852
5853 * frame.c (Qfont_backend): New variable.
5854 (frame_parms): New element for font-backend.
5855 (x_set_font_backend): New function.
5856
5857 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
5858 FontBackend frame parameter.
5859 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
5860 x_set_font_backend.
5861
5862 * xfont.c (xfont_list): Don't try listing by :name property if the
5863 name is not for XLFD.
5864
5865 2008-02-01 Kenichi Handa <handa@m17n.org>
5866
5867 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
5868 (LGLYPH_SET_TO): New macros.
5869 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
5870 element of G is vector or not.
5871 (font_at): Extern it.
5872
5873 * font.c: Include window.h.
5874 (font_lispy_object): New function.
5875 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
5876 end of valid glyph.
5877 (font_close_object): Fix getting (struct font *).
5878 (font_at): New function.
5879 (Ffont_get): If FONT is a font-object, get entity from it.
5880 (Ffont_make_gstring): Initialize elements of glyphs with nil.
5881 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
5882 range check.
5883 (Ffont_at): New function.
5884 (syms_of_font): Defsubr Sfont_at.
5885
5886 * xdisp.c (it_props): Move the entry for Qauto_composed to just
5887 before the entry for Qcomposition.
5888 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
5889 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
5890 the font in gstring.
5891 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
5892 LGLYPH_FORM (g) to detect the end of valid glyph.
5893 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
5894 we are composing with gstring.
5895
5896 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
5897 Check if adjustment is vector or not.
5898
5899 * Makefile.in (font.o): Make it depends on window.h.
5900
5901 2008-02-01 Kenichi Handa <handa@m17n.org>
5902
5903 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
5904 adjustment is vector or not.
5905
5906 2008-02-01 Miles Bader <miles@gnu.org>
5907
5908 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
5909
5910 2008-02-01 Kenichi Handa <handa@m17n.org>
5911
5912 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
5913 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
5914 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
5915
5916 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
5917 (DEVICE_DELTA): Fix typo.
5918 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
5919 LGLYPH format.
5920
5921 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
5922 the change of LGLYPH format.
5923
5924 2008-02-01 Kenichi Handa <handa@m17n.org>
5925
5926 * ftfont.c (ftfont_list): Fix typo.
5927 (ftfont_build_basic_charsets): Don't include letters with diacritics.
5928
5929 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5930
5931 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
5932
5933 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
5934 xftface_info is non-NULL.
5935
5936 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
5937
5938 * ftfont.c (ftfont_list): Move misplaced #endif.
5939
5940 2008-02-01 Kenichi Handa <handa@m17n.org>
5941
5942 * ftfont.c (ftfont_list): Pay attention to the case that
5943 FC_CAPABILITY is not defined.
5944
5945 2008-02-01 Kenichi Handa <handa@m17n.org>
5946
5947 * xftfont.c (xftfont_open): Set charset related members to -1.
5948
5949 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
5950 QCname.
5951 (ftfont_open): Set charset related members to -1.
5952
5953 * fontset.c (Votf_script_alist): New variable.
5954 (syms_of_fontset): Initialize it.
5955 (fontset_font): Delete unused variable.
5956
5957 * fontset.h (Votf_script_alist): Extern it.
5958
5959 * font.c (font_find_for_lface): Optimize code.
5960
5961 * font.h (font_close_object, font_merge_old_spec): Extern them.
5962
5963 2008-02-01 Kenichi Handa <handa@m17n.org>
5964
5965 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
5966 (syms_of_font): Initialize them.
5967 (font_pixel_size): Allow float value in dpi.
5968 (font_prop_validate_type): Delete.
5969 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
5970 Change caller.
5971 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
5972 (font_prop_validate_extra): Delete.
5973 (font_prop_validate_spacing): New function.
5974 (font_property_table): Add elements for all known properties.
5975 (get_font_prop_index): Rename from check_font_prop_name. New
5976 argument FROM. Change caller.
5977 (font_prop_validate): Validate all known properties.
5978 (font_put_extra): Delete argument force. Change caller.
5979 (font_expand_wildcards): Make it static. Fix the way of shrinking
5980 the possible range.
5981 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
5982 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
5983 Change caller.
5984 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
5985 (font_parse_fcname): Delete argument merge. Fix parsing of point
5986 size. Don't validate properties values here. Change caller.
5987 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
5988 (font_open_by_name): Delete unused variable.
5989 (Ffont_spec): Likewise. Validate property values.
5990 (Ffont_match_p): New function.
5991
5992 * font.h (QCscalable): Extern it.
5993 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
5994
5995 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
5996
5997 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
5998 (xfont_list_pattern): New function.
5999 (xfont_list): Use xfont_list_pattern.
6000
6001 2008-02-01 Kenichi Handa <handa@m17n.org>
6002
6003 * font.h (Flist_fonts): EXFUN it.
6004
6005 2008-02-01 Jason Rumney <jasonr@gnu.org>
6006
6007 * w32term.c (w32_initialize): Add back smoothing_type and
6008 smoothing_enabled definitions.
6009
6010 2008-02-01 Kenichi Handa <handa@m17n.org>
6011
6012 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
6013 s->face->font on determining underline position.
6014
6015 2008-02-01 Kenichi Handa <handa@m17n.org>
6016
6017 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
6018 (font_has_char): Accept font-object too.
6019 (font_find_for_lface): Try at first with a size specified in face.
6020
6021 2008-02-01 Kenichi Handa <handa@m17n.org>
6022
6023 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
6024 font_open_by_name.
6025
6026 2008-02-01 Kenichi Handa <handa@m17n.org>
6027
6028 * font.h (QCspacing, QCdpi): Extern them.
6029 (enum font_spacing): New enum.
6030 (FONT_PIXEL_SIZE_QUANTUM): New macro.
6031
6032 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
6033 (QCspacing, QCdpi): New variables.
6034 (syms_of_font): Initialize them.
6035 (font_pixel_size): New function.
6036 (font_put_extra): New function.
6037 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
6038 in FONT_EXTRA.
6039 (font_parse_fcname): Handle enumenrated values (e.g. bold).
6040 Fix handling font size. Add QCname property that contains only
6041 unknown properties.
6042 (font_score): Change argument. Change caller. Pay attention to
6043 FONT_PIXEL_SIZE_QUANTUM.
6044 (font_sort_entites, font_list_entities, font_find_for_lface)
6045 (font_open_for_lface, font_open_by_name): Fix handling of font size.
6046 (Ffont_spec): Add QCname property that contains only unknown properties.
6047
6048 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
6049 include weight in listing pattern, instead check weight of each
6050 listed font. Don't include scalable in pattern. Pay attention to
6051 FONT_PIXEL_SIZE_QUANTUM.
6052
6053 2008-02-01 Kenichi Handa <handa@m17n.org>
6054
6055 * font.c (font_parse_fcname): Fix parsing of point-size.
6056 (font_unparse_fcname): Produce symbolic names for style properties.
6057 (font_list_entities): Handle float size correctly.
6058 (font_open_by_name): Prefer `normal' property values if the name
6059 doesn't specify them.
6060
6061 * fontset.c (Finternal_char_font): Use font_get_name, not
6062 Ffont_xlfd_name.
6063
6064 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
6065 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
6066 pattern. Don't force scalable.
6067
6068 * xftfont.c (xftfont_open): For generating a name, start from
6069 96-byte buffer.
6070
6071 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
6072
6073 * frame.h (x_new_fontset2): Fix prototype.
6074
6075 2008-02-01 Kenichi Handa <handa@m17n.org>
6076
6077 * font.h (struct font_driver): Delete member parse_name.
6078 (font_match_p, font_get_spec, font_parse_fcname)
6079 (font_unparse_fcname): Extern them.
6080 (font_get_name): Adjust prototype.
6081
6082 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
6083 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
6084 (font_expand_wildcards): Fix handling ENCODING field. Avoid
6085 unnecessary checks for weight, slant, and swidth.
6086 (font_parse_fcname): New function.
6087 (font_unparse_fcname): New function.
6088 (font_parse_name): New function.
6089 (font_match_p): New function.
6090 (font_get_name): Change return value to Lisp string.
6091 (font_get_spec): New function.
6092 (Qunspecified, Qignore_defface): Don't extern them.
6093 (font_find_for_lface): Assume that LFACE is fully specified.
6094 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
6095 object, use it for FACE.
6096 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
6097 driver->parse_name.
6098 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
6099
6100 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
6101 prototype.
6102
6103 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
6104 argument F. Don't call Fnew_fontset. Instead, directly call
6105 make_fontset.
6106
6107 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
6108
6109 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
6110 of x_new_fontset2.
6111
6112 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
6113 (Qsans__serif): New variables.
6114 (ftfont_generic_family_list): New variable.
6115 (syms_of_ftfont): Initialize the above variables.
6116 (ftfont_pattern_entity): Delete argument NAME.
6117 (ftfont_list_generic_family): New function.
6118 (ftfont_parse_name): Delete this function.
6119 (ftfont_list): Try generic family only when FcFontList found no font.
6120 (ftfont_list_family): Fix args to FcObjectSetBuild.
6121
6122 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
6123 object in attrs[LFACE_FONT_INDEX].
6124 (set_lface_from_font_name): Cancel all changes for font-backend.
6125 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
6126 function.
6127 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
6128 font object in QCfont attribute.
6129 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
6130 (realize_default_face) [USE_FONT_BACKEND]: Call
6131 set_lface_from_font_and_fontset.
6132
6133 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
6134 "fixed", and signal error here if no suitable font was found.
6135
6136 * xfont.c (xfont_parse_name): Delete this function.
6137
6138 * xftfont.c (xftfont_open): Change coding style of error
6139 handling. Generate fontconfig's fontname pattern.
6140
6141 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
6142 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
6143
6144 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
6145 Both args FONTSET and FONT_OBJECT must be existing ones.
6146
6147 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6148
6149 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
6150
6151 2008-02-01 Kenichi Handa <handa@m17n.org>
6152
6153 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
6154
6155 * font.h (struct font): Fix typo.
6156
6157 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
6158 XLFD_XXX_INDEX.
6159 (enum xlfd_field_mask): New enum.
6160 (intern_font_field): Changed argument. Change caller. If digits
6161 are followed by non-digits, return a symbol.
6162 (font_expand_wildcards): New function.
6163 (font_parse_xlfd): Fix wildcard handling.
6164 (Ffont_spec): If :name is specified, reflect the info in the other
6165 properties.
6166
6167 * ftfont.c (ftfont_pattern_entity): Fix typo.
6168 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
6169 locale.
6170
6171 2008-02-01 Kenichi Handa <handa@m17n.org>
6172
6173 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
6174
6175 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
6176 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
6177 registry doesn't specify encoding part.
6178 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
6179 (font_open_by_name): At first try parsing the name.
6180 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
6181 as Lisp symbols.
6182
6183 * fontset.c (reorder_font_vector): Pay attention to the case that
6184 the 3rd element of font_def is nil.
6185 (fontset_font): For the default fontset, append one more fontset
6186 elements for a script-based font specification. Don't add script
6187 attribute on finding a font.
6188 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
6189 font name.
6190 (fontset_ascii_font): If a font can't be opened, return nil.
6191
6192 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
6193 (ftfont_pattern_entity): New function.
6194 (ftfont_get_cache): Assume that freetype_font_cache is already
6195 initialized.
6196 (ftfont_list): Handle the case that a file is specified in font
6197 name. Use ftfont_pattern_entity to generate entities.
6198 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
6199 (syms_of_ftfont): Initialize freetype_font_cache.
6200
6201 * xftfont.c (xftfont_open): Make the font name fontconfig's
6202 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
6203 (xftfont_close): Free font->font.name if not NULL.
6204
6205 * xfont.c (xfont_list): If script is specified for a font, return
6206 null_vector.
6207 (xfont_list_family): Declare argument type.
6208
6209 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
6210 name, set LFACE_FONT (lface) to nil.
6211
6212 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
6213 return Qnil.
6214
6215 2008-02-01 Kenichi Handa <handa@m17n.org>
6216
6217 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
6218 (standard_args): Add "-enable-font-backend".
6219
6220 2008-02-01 Kenichi Handa <handa@m17n.org>
6221
6222 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
6223 (struct xftdraw_list, xftdraw_list): Delete them.
6224 (register_xftdraw, check_xftdraw): Delete them.
6225 (xftfont_prepare_face): Don't call register_xftdraw.
6226 (xftfont_done_face): Don't call check_xftdraw.
6227 (xftfont_draw): Get backroudn color only when with_background is
6228 nonzero.
6229
6230 * xfont.c (xfont_encode_char): Fix calculation of char2b.
6231
6232 2008-02-01 Kenichi Handa <handa@m17n.org>
6233
6234 These changes are for the new font handling codes.
6235
6236 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
6237 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
6238 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
6239 (FONTSRC, FONTOBJ): New variables.
6240 (obj): Add $(FONTOBJ).
6241 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
6242 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
6243 @LIBOTF_LIBS@.
6244 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
6245 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
6246
6247 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
6248
6249 * character.h (Vscript_representative_chars): Extern it.
6250
6251 * character.c (Vscript_representative_chars): New variable.
6252 (syms_of_character): Declare it as a Lisp variable.
6253
6254 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
6255 enable_font_backend is nonzero, accept the composition method
6256 COMPOSITION_WITH_GLYPH_STRING.
6257
6258 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
6259 enumeration COMPOSITION_WITH_GLYPH_STRING.
6260
6261 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
6262 members clip_x, clip_y, clip_width, and clip_height.
6263 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
6264
6265 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
6266 --enable-font-backend. Call syms_of_font.
6267
6268 * fns.c (assoc_no_quit): New function.
6269
6270 * fontset.h (FONT_INFO_FROM_FACE): New macro.
6271 (face_for_font, new_fontset_from_font)
6272 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
6273
6274 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
6275 (fontset_font, fontset_ascii, face_for_char)
6276 (make_fontset_for_ascii_face, Ffont_info)
6277 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
6278 is nonzero, use font-backend mechanism.
6279 (find_font_encoding): Make it non-static.
6280 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
6281 New functions.
6282
6283 * frame.h (struct frame): New members resx and resy.
6284 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
6285 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
6286
6287 * frame.c [USE_FONT_BACKEND]: Include "font.h".
6288 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
6289
6290 * lisp.h (assoc_no_quit): Extern it.
6291
6292 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
6293 Through out the file, use FONT_INFO_FROM_FACE instead of
6294 FONT_INFO_FROM_ID, use get_per_char_metric instead of
6295 rif->per_char_metric.
6296 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
6297 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
6298 (get_glyph_face_and_encoding, fill_composite_glyph_string)
6299 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6300 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
6301 nonzero, use font-backend mechanism.
6302 (get_per_char_metric): New function.
6303
6304 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
6305 (set_lface_from_font_name)
6306 (set_font_frame_param, free_realized_face)
6307 (prepare_face_for_display, clear_face_gcs)
6308 (Finternal_set_font_selection_order, realize_x_face)
6309 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
6310 font-backend mechanism.
6311 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
6312 (load_face_font) [USE_FONT_BACKEND]: Abort.
6313 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
6314 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
6315
6316 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
6317 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
6318 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
6319 nonzero, register all available font drivers. Call
6320 x_default_font_parameter for deciding a font.
6321 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
6322
6323 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
6324 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
6325 (x_set_glyph_string_clipping_exactly)
6326 (x_compute_glyph_string_overhangs)
6327 (x_draw_glyph_string_foreground)
6328 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
6329 (x_free_frame_resources) [USE_FONT_BACKEND]: If
6330 enable_font_backend is nonzero, use font-backend mechanism.
6331 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
6332
6333 2008-02-01 Kenichi Handa <handa@m17n.org>
6334
6335 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
6336 system_eol_type.
6337 (syms_of_coding): Initialize system_eol_type.
6338
6339 * process.c (Fset_process_coding_system): Inherit system's eol
6340 format if necessary.
6341
6342 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6343
6344 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
6345
6346 2008-02-01 Kenichi Handa <handa@m17n.org>
6347
6348 * coding.c (decode_eol): Pay attention to buffer relocation in
6349 del_range_2.
6350 (decode_coding): Call decode_eol before restoring undo_list.
6351
6352 2008-02-01 Kenichi Handa <handa@m17n.org>
6353
6354 * charset.c (Fdefine_charset_internal): Fix setting of
6355 emacs_mule_bytes.
6356
6357 2008-02-01 Kenichi Handa <handa@m17n.org>
6358
6359 * keyboard.c (read_char): Check if C is a character or not before
6360 looking up Vkeyboard_translate_table.
6361
6362 2008-02-01 Kenichi Handa <handa@m17n.org>
6363
6364 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
6365 condition to terminate the loop.
6366
6367 2008-02-01 Kenichi Handa <handa@m17n.org>
6368
6369 * coding.c (produce_composition): Compare charbuf[i] instead of
6370 args[i] against 0.
6371 (Fterminal_coding_system): Use EQ to compare Lisp objects.
6372
6373 2008-02-01 Kenichi Handa <handa@m17n.org>
6374
6375 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
6376 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
6377 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
6378 detect_coding.
6379 (emacs_mule_char): Handle old style (Emacs 20) component character
6380 of a composition.
6381 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
6382 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
6383 composition rule.
6384 (decode_coding_emacs_mule): Handle invalid bytes correctly.
6385
6386 2008-02-01 Kenichi Handa <handa@m17n.org>
6387
6388 * coding.c (encode_coding_ccl): Allocate destination dynamically
6389 when necessary.
6390
6391 2008-02-01 Kenichi Handa <handa@m17n.org>
6392
6393 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
6394 the loop. When quitted, show a proper error message.
6395
6396 2008-02-01 Kenichi Handa <handa@m17n.org>
6397
6398 * xterm.c (x_set_glyph_string_clipping_exactly): Set
6399 src->clip_head and src->clip_tail temporarily instead of src->hl.
6400
6401 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
6402 character sequence.
6403 (Fccl_execute_on_string): Use ASET, not XSET.
6404
6405 2008-02-01 Kenichi Handa <handa@m17n.org>
6406
6407 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
6408
6409 2008-02-01 Kenichi Handa <handa@m17n.org>
6410
6411 * coding.c (decode_coding): Fix the condition of terminating the
6412 decoding loop.
6413
6414 2008-02-01 Kenichi Handa <handa@m17n.org>
6415
6416 * data.c (Faset): On setting a character bigger than 255 in a
6417 unibyte string, signal an error instead of make the string multibyte.
6418
6419 2008-02-01 Kenichi Handa <handa@m17n.org>
6420
6421 * charset.c (map_charset_chars): Fix for ascii-compatible charset
6422 made by a mapping table.
6423
6424 2008-02-01 Kenichi Handa <handa@m17n.org>
6425
6426 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
6427 not.
6428 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
6429 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
6430
6431 * xterm.c (x_draw_composite_glyph_string_foreground): Check
6432 s->face is NULL or not.
6433
6434 2008-02-01 Kenichi Handa <handa@m17n.org>
6435
6436 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
6437 (x_draw_glyph_string): Fix drawing of right_overhang and
6438 left_overhang around/on cursor.
6439
6440 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
6441
6442 2008-02-01 Kenichi Handa <handa@m17n.org>
6443
6444 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
6445
6446 2008-02-01 Kenichi Handa <handa@m17n.org>
6447
6448 * coding.c (Fdefine_coding_system_internal)
6449 (Fdefine_coding_system_alias): Avoid a duplicated element in
6450 Vcoding_system_alist.
6451
6452 2008-02-01 Kenichi Handa <handa@m17n.org>
6453
6454 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
6455
6456 * coding.c (Qcoding_system_define_form): New variable.
6457 (syms_of_coding): Intern and staticpro it.
6458 (Fcoding_system_p): Check Qcoding_system_define_form.
6459 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
6460
6461 * coding.h (CODING_SYSTEM_P): If ID is not available, call
6462 Fcoding_system_p.
6463 (CHECK_CODING_SYSTEM): If ID is not available, call
6464 Fcheck_coding_system.
6465 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
6466 Try also Fcheck_coding_system.
6467
6468 2008-02-01 Kenichi Handa <handa@m17n.org>
6469
6470 * coding.c (code_conversion_restore): GCPRO arg.
6471
6472 2008-02-01 Kenichi Handa <handa@m17n.org>
6473
6474 * character.c (lisp_string_width): Check multibyteness of STRING.
6475
6476 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6477
6478 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
6479 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
6480 (decode_mac_font_name): Use decode_coding_c_string instead of
6481 decode_coding.
6482 (x_load_font): Initialize fontp->fontset to -1. Set
6483 fontp->encoding_type.
6484
6485 2008-02-01 Kenichi Handa <handa@m17n.org>
6486
6487 * search.c (search_buffer): Give up BM search on case-fold-search
6488 if one of a target character has a case-equivalence of different
6489 byte length even if that target charcter is an ASCII.
6490 (simple_search): Fix calculation of byte length of matched text.
6491 (boyer_moore): Fix handling of case-equivalent multibyte characters.
6492
6493 2008-02-01 Kenichi Handa <handa@m17n.org>
6494
6495 * coding.c (decode_coding): Fix handling of invalid bytes.
6496
6497 2008-02-01 Kenichi Handa <handa@m17n.org>
6498
6499 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
6500 Unicode characters.
6501
6502 2008-02-01 Kenichi Handa <handa@m17n.org>
6503
6504 * coding.c (encode_coding_object): If a pre-write-conversion
6505 function makes a new buffer, kill it.
6506
6507 2008-02-01 Kenichi Handa <handa@m17n.org>
6508
6509 * coding.c (QCascii_compatible_p): New variable.
6510 (syms_of_coding): Initialize it.
6511 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
6512 calling string_char.
6513 (record_conversion_result): Add `default:' case.
6514 (coding_charset_list): Delete unused variable `coding_type'.
6515 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
6516 property in the plist of the coding system.
6517 (Fcoding_system_put): Check QCascii_compatible_p.
6518
6519 2008-02-01 Miles Bader <miles@gnu.org>
6520
6521 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
6522 removed calculation of frame `f', as it's now used.
6523
6524 2008-02-01 Kenichi Handa <handa@m17n.org>
6525
6526 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
6527 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
6528 (UNIDATA): New variable.
6529 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
6530 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
6531 $(RUN_TEMACS) unconditionally.
6532
6533 2008-02-01 Kenichi Handa <handa@m17n.org>
6534
6535 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
6536 (admindir): New variable.
6537 ($(lispsource)international/charprop.el): New target.
6538
6539 2008-02-01 Miles Bader <miles@gnu.org>
6540
6541 * character.c (chars-in-region): Remove obsolete function.
6542 (syms_of_character): Remove its initialization.
6543
6544 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
6545
6546 * w32select.c (validate_coding_system)
6547 (setup_windows_coding_system): New functions.
6548 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
6549 setup_windows_coding_system.
6550 (setup_config, Fw32_get_clipboard_data): Use
6551 validate_coding_system.
6552 (Fx_selection_exists): Move call to setup_config to a place
6553 where signals are allowed.
6554
6555 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
6556 (Fcheck_coding_system): Add declarations.
6557
6558 2008-02-01 Kenichi Handa <handa@m17n.org>
6559
6560 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
6561
6562 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6563
6564 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
6565 string as the second argument for x_new_fontset.
6566
6567 2008-02-01 Kenichi Handa <handa@m17n.org>
6568
6569 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
6570 (encode_coding_object): Use safe_call instead of call2.
6571
6572 2008-02-01 Kenichi Handa <handa@m17n.org>
6573
6574 * fontset.c (Fset_fontset_font): Check family element of a given vector.
6575
6576 * Makefile.in (lisp): Include charprop.el.
6577
6578 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6579
6580 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
6581 Not sure if it's unnecessary.
6582
6583 2008-02-01 Steven Tamm <steventamm@mac.com>
6584
6585 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
6586 some possibly unnecessary fontset checking code that crashed
6587 when creating a new frame.
6588
6589 2008-02-01 Kenichi Handa <handa@m17n.org>
6590
6591 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
6592 lookup_face.
6593
6594 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
6595
6596 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
6597
6598 2008-02-01 Kenichi Handa <handa@m17n.org>
6599
6600 * coding.c: Cancel the change done in HEAD on 2008-02-01.
6601 (coding_charset_list): New function.
6602
6603 * coding.h (coding_charset_list): Extern it.
6604
6605 2008-02-01 Kenichi Handa <handa@m17n.org>
6606
6607 * fontset.c (Fset_fontset_font): Call find_font_encoding with
6608 concatenation of family and registry.
6609
6610 2008-02-01 Kenichi Handa <handa@m17n.org>
6611
6612 * character.h (BYTE8_STRING): Fix typo.
6613
6614 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
6615 string to multibyte (sync to HEAD).
6616
6617 * casefiddle.c (casify_region): Handle changes in byte-length
6618 using replace_range_2 (sync to HEAD).
6619
6620 2008-02-01 Andreas Schwab <schwab@suse.de>
6621
6622 * chartab.c (map_char_table): GCPRO table and arg.
6623
6624 2008-02-01 Kenichi Handa <handa@m17n.org>
6625
6626 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
6627 already at limit.
6628
6629 2008-02-01 Kenichi Handa <handa@m17n.org>
6630
6631 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
6632 instead of fast_c_string_match_ignore_case.
6633 (find_font_encoding): Change argument to Lisp_Object. Use
6634 fast_string_match_ignore_case instead of
6635 fast_c_string_match_ignore_case. Change caller.
6636
6637 2008-02-01 Kenichi Handa <handa@m17n.org>
6638
6639 * xdisp.c (get_next_display_element): In unibyte case, decide to
6640 display in octal form by checking a chacter by
6641 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
6642
6643 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
6644
6645 * character.c (unibyte_has_multibyte_table): New variable.
6646
6647 * character.h (unibyte_has_multibyte_table): Extern it.
6648 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
6649
6650 2008-02-01 Kenichi Handa <handa@m17n.org>
6651
6652 * coding.c (encode_coding_iso_2022): Fix handling of charset
6653 annotation.
6654
6655 2008-02-01 Kenichi Handa <handa@m17n.org>
6656
6657 * coding.c (setup_coding_system): If coding_system is nil, use
6658 Qundecided.
6659 (Fterminal_coding_system): Return nil if terminal coding system is
6660 `undecided'.
6661 (syms_of_coding): Define coding-system `undecided' here. Setup
6662 terminal_coding as `undecided'.
6663
6664 2008-02-01 Kenichi Handa <handa@m17n.org>
6665
6666 * xdisp.c (message_dolog, set_message_1): Call
6667 unibyte_char_to_multibyte with arg type int.
6668
6669 * lread.c (read1): Fix reading of a char-table.
6670
6671 * print.c (print_object): Include sub char-table in cicularities
6672 detection.
6673
6674 2008-02-01 Kenichi Handa <handa@m17n.org>
6675
6676 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
6677 cons. Append the found sequences in car of ARGS instead of prepending.
6678
6679 2008-02-01 Kenichi Handa <handa@m17n.org>
6680
6681 * fileio.c (report_file_error): Make a unibyte string from
6682 strerror (errorno).
6683 (Fsubstitute_in_file_name): Fix the arg to
6684 unibyte_char_to_multibyte. It is evaluated twice.
6685
6686 2008-02-01 Kenichi Handa <handa@m17n.org>
6687
6688 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
6689
6690 2008-02-01 Kenichi Handa <handa@m17n.org>
6691
6692 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
6693 BOM is not found.
6694 (detect_coding, detect_coding_system): Optimization for ISO-2022
6695 when no 8-bit data is found.
6696
6697 2008-02-01 Jason Rumney <jasonr@gnu.org>
6698
6699 * w32fns.c (x_to_w32_font): Update to use new coding struct.
6700
6701 2008-02-01 Kenichi Handa <handa@m17n.org>
6702
6703 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
6704 CHARS.
6705
6706 2008-02-01 Steven Tamm <steventamm@mac.com>
6707
6708 * macterm.c (mac_encode_char): Add charset argument and update
6709 to use encoding_type.
6710 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
6711 switch to pure fontset.
6712 (decode_mac_font_name): Temporarily remove decoding.
6713 (x_font_name_to_mac_font_name): Temporarily remove encoding.
6714 (x_load_font): Temporarily remove encoding.
6715
6716 2008-02-01 Kenichi Handa <handa@m17n.org>
6717
6718 * xfaces.c (Fface_font): If frame is not on a window system,
6719 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
6720 refer to face->font.
6721 (split_font_name_into_vector, build_font_name_from_vector)
6722 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
6723 whne HAVE_WINDOW_SYSTEM is defined.
6724
6725 2008-02-01 Kenichi Handa <handa@m17n.org>
6726
6727 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
6728 (x_produce_glyphs): Fix setting of members of cmp in case
6729 cmp->glyph_len is zero.
6730
6731 * fontset.c (Fset_fontset_font): Fix docstring.
6732 (Ffontset_info): Make it backward compatible. New arg ALL.
6733
6734 2008-02-01 Kim F. Storm <storm@cua.dk>
6735
6736 * process.c (read_process_output): Grow decoding_buf when needed;
6737 this could cause a crash in allocate_string and compact_small_strings.
6738
6739 2008-02-01 Kenichi Handa <handa@m17n.org>
6740
6741 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
6742
6743 2008-02-01 Kenichi Handa <handa@m17n.org>
6744
6745 * coding.c (setup_coding_system): Set coding->common_flags
6746 correctly for raw-text.
6747 (consume_chars): On encoding unibyte text by raw-text, don't check
6748 multibyte form.
6749 (encode_coding): On encoding by raw-text, never use translation tables.
6750
6751 * fileio.c (e_write): Short cut for the case of no encoding.
6752
6753 2008-02-01 Kenichi Handa <handa@m17n.org>
6754
6755 * coding.c (detect_coding, detect_coding_system): Delete unused
6756 variables.
6757
6758 2008-02-01 Kenichi Handa <handa@m17n.org>
6759
6760 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
6761 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
6762
6763 2008-02-01 Kenichi Handa <handa@m17n.org>
6764
6765 * coding.c (Ffind_coding_systems_region_internal): Include
6766 raw-text and no-conversion in the result.
6767
6768 2008-02-01 Kenichi Handa <handa@m17n.org>
6769
6770 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
6771 (load_font_get_repertory): Delete unnecessary check of ENCODING of
6772 FONT_DEF.
6773 (font_def_arg, add_arg, from_arg, to_arg): New args.
6774 (set_fontset_font): Change argument.
6775 (Fset_fontset_font): Fix for the case that TARGET is a script
6776 name and charset name.
6777 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
6778
6779 2008-02-01 Kenichi Handa <handa@m17n.org>
6780
6781 * fontset.c (fontset_font): Rename from fontset_face. Change return
6782 value.
6783 (face_suitable_for_char_p, face_for_char): Adjust for the change
6784 of fontset_font.
6785 (make_fontset_for_ascii_face): Fix setting of the fontset element
6786 for ASCII.
6787 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
6788 to get a font name.
6789 (Ffontset_info): Adjust for the change of fontset_font.
6790
6791 * coding.c (emacs_mule_char): Check invalid code more regidly.
6792
6793 * character.h (LEADING_CODE_LATIN_1_MIN)
6794 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
6795
6796 2008-02-01 Kenichi Handa <handa@m17n.org>
6797
6798 * editfns.c (check_translation): New function.
6799 (Ftranslate_region_internal): Handle M:N mapping.
6800
6801 2008-02-01 Kenichi Handa <handa@m17n.org>
6802
6803 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
6804
6805 2008-02-01 Kenichi Handa <handa@m17n.org>
6806
6807 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
6808 goto invalid_code.
6809 (decode_coding_iso_2022): Fix handling of invalid designation.
6810
6811 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
6812 after calling code_conversion_save.
6813
6814 2008-02-01 Kenichi Handa <handa@m17n.org>
6815
6816 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
6817
6818 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
6819
6820 * fontset.c: Include "intervals.h".
6821 (fontset_face): Fix comparing of Lisp_Objects.
6822 (free_face_fontset, new_fontset_from_font_name): Fix
6823 Lisp_Object/int mixup.
6824
6825 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
6826
6827 * coding.c: Add many prototypes for static functions.
6828 (get_translation_table): Allow max_lookup to be NULL.
6829 (decode_coding, Ffind_coding_systems_region_internal)
6830 (Funencodable_char_position, Fcheck_coding_systems_region): Call
6831 get_translation_table with max_lookup NULL.
6832
6833 2008-02-01 Kenichi Handa <handa@m17n.org>
6834
6835 * coding.c (get_translation_table): Declare it as Lisp_Object.
6836 (LOOKUP_TRANSLATION_TABLE): New macro.
6837 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
6838 instead of CHAR_TABLE_REF.
6839
6840 2008-02-01 Kenichi Handa <handa@m17n.org>
6841
6842 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
6843 annotation data format.
6844 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
6845 Change arguments FROM and TO to single argument NCHARS. Change caller.
6846 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
6847 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6848 (decode_coding_ccl, decode_coding_charset): Pay attention to
6849 coding->charbuf_used.
6850 (get_translation): New function.
6851 (produce_chars): New arguments translation_table and last_block.
6852 Translate characters here. Return number of carryover chars.
6853 Change caller.
6854 (produce_composition): New argument pos. Change caller.
6855 Adjust for the change of annotation data format.
6856 (produce_charset, produce_annotation): Likewise.
6857 (decode_coding, encode_coding): Don't call translate_chars.
6858 (consume_chars): New arg translation_table. Change caller.
6859 (translate_chars): Delete.
6860 (syms_of_coding): Make translation-table's number of extra slots 2.
6861
6862 2008-02-01 Kenichi Handa <handa@m17n.org>
6863
6864 * search.c (simple_search): Fix setting this_pos_byte in backward
6865 search.
6866
6867 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
6868 byte sequence.
6869 (detect_coding_ccl): Fix setting of the variable valids.
6870
6871 2008-02-01 Kenichi Handa <handa@m17n.org>
6872
6873 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
6874
6875 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
6876
6877 * editfns.c (Ftranslate_region_internal): Rename from
6878 Ftranslate_region. Accept a char-table in TABLE.
6879 (syms_of_editfns): Defsubr Stranslate_region_internal.
6880
6881 * xfaces.c (set_lface_from_font_name): If a font is specified for
6882 a frame, generate a fontset from the font.
6883 (build_scalable_font_name): If the scalable font is requested for
6884 a specific size, don't change that size.
6885 (try_font_list): Try a scalable font also in the case that a
6886 pattern string is specified.
6887
6888 2008-02-01 Kenichi Handa <handa@m17n.org>
6889
6890 * xfaces.c (Fface_font): New optional arg CHARACTER.
6891
6892 2008-02-01 Kenichi Handa <handa@m17n.org>
6893
6894 * charset.h (CHARSET_OFFSET): New macro.
6895
6896 2008-02-01 Kenichi Handa <handa@m17n.org>
6897
6898 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
6899
6900 * fontset.c (fontset_face): Handle the case that repertory is a
6901 char-table.
6902 (find_font_encoding): Return nil for unknown encoding.
6903 (Fset_fontset_font): Ignore a font of unknown encoding.
6904
6905 2008-02-01 Kenichi Handa <handa@m17n.org>
6906
6907 * keymap.c (describe_vector): Handle default value of a char table.
6908
6909 * fontset.c (fontset_face): Handle fallback fonts correctly.
6910 (Ffontset_info): Return infomation about fallback fonts.
6911
6912 2008-02-01 Kenichi Handa <handa@m17n.org>
6913
6914 * fontset.c (FONTSET_DEFAULT): New macro.
6915 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
6916 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
6917 the case that it is nil.
6918 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
6919 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
6920
6921 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
6922 subset or superset.
6923
6924 2008-02-01 Kenichi Handa <handa@m17n.org>
6925
6926 * emacs.c (main): Call init_charset after syms_of_XXX.
6927
6928 * charset.c (Vcharset_map_directory): Delete.
6929 (Vcharset_map_path): New variable.
6930 (load_charset_map_from_file): Use Vcharset_map_path instead.
6931 (init_charset): Initialize Vcharset_map_path.
6932 (syms_of_charset): Delete declaration of "charset-map-directory",
6933 add declaration of "charset-map-path".
6934
6935 2008-02-01 Kenichi Handa <handa@m17n.org>
6936
6937 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
6938 ASCII only string.
6939
6940 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
6941
6942 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6943 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
6944
6945 2008-02-01 Kenichi Handa <handa@m17n.org>
6946
6947 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
6948
6949 * coding.c (QCmnemonic, QCdefalut_char)
6950 (QCdecode_translation_table, QCencode_translation_table)
6951 (QCpost_read_conversion, QCpre_write_conversion): New variables.
6952 (get_translation_table): Return a list of translation tables if
6953 necessary.
6954 (decode_coding): Call get_translation_table with ENCODEP 0.
6955 (char_encodable_p): If translation_table is non-nil, always call
6956 translate_char.
6957 (Fdefine_coding_system_internal): Accept list of translation
6958 tables as :encode-translation-table and :decode-translation-table.
6959 (Fcoding_system_put): New function.
6960 (syms_of_coding): Declare new symbols. Defsubr
6961 Scoding_system_put.
6962 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
6963 typically JISX0212.
6964
6965 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
6966 when the charset is superset type.
6967
6968 * character.c (translate_char): Accept list of translation tables.
6969
6970 2008-02-01 Kenichi Handa <handa@m17n.org>
6971
6972 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
6973 (CODING_ATTR_TRANS_TBL): New macro.
6974
6975 * coding.c (get_translation_table): New function.
6976 (translate_chars): Fix the bug of skipping annotation data.
6977 (decode_coding, encode_coding): Utilize get_translation_table.
6978 (char_encodable_p, Funencodable_char_position): Translate char if
6979 necessary.
6980 (Ffind_coding_systems_region_internal)
6981 (Fcheck_coding_systems_region): Setup translation table for encode
6982 in a coding system attribute vector in advance.
6983 (Fdefine_coding_system_internal): Allow a symbol as translation
6984 table. For shift-jis type coding system, allow 4th charset.
6985
6986 2008-02-01 Kenichi Handa <handa@m17n.org>
6987
6988 * coding.c (decode_coding_sjis): Check the first byte rigidly.
6989
6990 * xdisp.c (get_next_display_element): Pass -1 as POS to
6991 FACE_FOR_CHAR if displaying a C-string.
6992
6993 2008-02-01 Kenichi Handa <handa@m17n.org>
6994
6995 * composite.c (get_composition_id): Handle xoff and yoff in a
6996 composition rule.
6997
6998 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
6999 (struct composition): New member lbearing and rbearing.
7000
7001 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
7002 (x_get_glyph_overhangs): Handle a composition glyph.
7003 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
7004
7005 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
7006 composition glyph.
7007
7008 2008-02-01 Kenichi Handa <handa@m17n.org>
7009
7010 * print.c: Include charset.h.
7011 (Vprint_charset_text_property): New variable.
7012 (Qdefault): Extern it.
7013 (PRINT_STRING_NON_CHARSET_FOUND)
7014 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
7015 (print_check_string_result): New variable.
7016 (print_check_string_charset_prop): New function.
7017 (print_prune_charset_plist): New variable.
7018 (print_prune_string_charset): New function.
7019 (print_object): Call print_prune_string_charset if
7020 Vprint_charset_text_property is not t.
7021 (print_interval): Print nothing if itnerval->plist is nil.
7022 (syms_of_print): Declare Vprint_charset_text_property as a lisp
7023 variable. Init and staticpro print_prune_charset_plist.
7024
7025 2008-02-01 Kenichi Handa <handa@m17n.org>
7026
7027 * fontset.c (new_fontset_from_font_name): Use the specified font
7028 for all characters in the new fontset.
7029
7030 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7031 OBJECT args.
7032
7033 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
7034 OBJECT args for composition too.
7035
7036 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7037 OBJECT args.
7038
7039 2008-02-01 Kenichi Handa <handa@m17n.org>
7040
7041 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
7042
7043 * fontset.c (reorder_font_vector): Adjust for the change of
7044 FONT_DEF format.
7045 (fontset_face): New arg id. Change caller.
7046 (face_for_char): New args pos and object.
7047 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
7048 (fs_query_fontset): Check NAME by Fassoc too.
7049 (Fset_fontset_font): Allow non-XLFD font name.
7050 (Ffontset_info): Adjust for the change of FONT_DEF format.
7051
7052 * fontset.h (face_for_char): Adjust prototype.
7053
7054 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
7055 (append_space, extend_face_to_end_of_line)
7056 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7057 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
7058
7059 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
7060 POS and OBJECT args.
7061
7062 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
7063 POS and OBJECT args.
7064
7065 2008-02-01 Jason Rumney <jasonr@gnu.org>
7066
7067 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
7068 of GlobalAlloc'ed memory.
7069
7070 2008-02-01 Kenichi Handa <handa@m17n.org>
7071
7072 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
7073
7074 * charset.h (charset_table_used): Delete extern.
7075
7076 * charset.c (charset_table_used): Make it static.
7077 (map_charset_chars): Fix args to c_function with.
7078
7079 * chartab.c (map_sub_char_table_for_charset): Fix args to
7080 c_function with.
7081
7082 * coding.h (enum coding_result_code): Delete
7083 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
7084
7085 * coding.c (Qinsufficient_source, Qinconsistent_eol)
7086 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
7087 (Vlast_code_conversion_error): New variables.
7088 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
7089 (ONE_MORE_BYTE): Record error if any instead of signaling an
7090 error. If non-ASCII multibyte char is found, return the negative
7091 value of the code. All callers changed to check it.
7092 (ONE_MORE_BYTE_NO_CHECK): Likewise.
7093 (record_conversion_result): New function. Change all codes setting
7094 coding->result to call this function.
7095 (detect_coding_utf_8, decode_coding_utf_8)
7096 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
7097 Don't use the local variable incomplete.
7098 (emacs_mule_char): Change the second arg to `const'.
7099 (decode_coding): Fix of flushing out unprocessed data.
7100 (make_conversion_work_buffer): Fix making of a work buffer.
7101 (decode_coding_object): Return coding->dst_object.
7102
7103 * fontset.c (set_fontset_font): Fix args.
7104
7105 * lisp.h (CHARACTERBITS): Define as 22.
7106
7107 * process.c (send_process): Be sure to set coding->src_multibyte.
7108
7109 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
7110
7111 2008-02-01 Kenichi Handa <handa@m17n.org>
7112
7113 * xdisp.c (handle_auto_composed_prop): Give limit to
7114 Fnext_single_char_property_change.
7115
7116 2008-02-01 Kenichi Handa <handa@m17n.org>
7117
7118 * composite.c (syms_of_composite): Don't make the composition hash
7119 table weak.
7120
7121 * fontset.c (Fset_fontset_font): Fix docstring.
7122
7123 * lisp.h (detect_coding_system): Adjust prototype.
7124
7125 * fileio.c (kill_workbuf_unwind): Delete this function.
7126 (Finsert_file_contents): Adjust the call of detect_coding_system.
7127 Get conversion_buffer by code_conversion_save. Use the macor
7128 CODING_MAY_REQUIRE_DECODING. After decoding, update
7129 coding_system.
7130
7131 * coding.h (make_conversion_work_buffer): Delete extern.
7132 (code_conversion_save): Extern it.
7133
7134 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
7135 (CODING_GET_INFO): Delete argument eol_type. Change callers.
7136 (decode_coding_utf_8): Don't do eol converion.
7137 (detect_coding_utf_16): Check coding->src_chars, not
7138 coding->src_bytes. Add heuristics for those that have no signature.
7139 (decode_coding_emacs_mule, decode_coding_iso_2022)
7140 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7141 Don't do eol converion.
7142 (adjust_coding_eol_type): Return a new coding system.
7143 (detect_coding): Don't detect eol. Fix for utf-16 detection.
7144 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
7145 each change.
7146 (decode_coding): Pay attention to undo_list. Do eol convesion for
7147 all types of coding-systems (if necessary).
7148 (Vcode_conversion_work_buf_list): Delete it.
7149 (Vcode_conversion_reused_workbuf): Rename from
7150 Vcode_conversion_reused_work_buf.
7151 (Vcode_conversion_workbuf_name): New variable.
7152 (reused_workbuf_in_use): New variable.
7153 (make_conversion_work_buffer): Delete the arg DEPTH.
7154 (code_conversion_restore): Change argument to cons.
7155 (code_conversion_save): Delete the argument BUFFER. Change callers.
7156 (detect_coding_system): New argument src_chars. Change callers.
7157 Fix for utf-16 detection.
7158 (init_coding_once): Don't use ISO_carriage_return.
7159 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
7160 reused_workbuf_in_use.
7161
7162 2008-02-01 Kenichi Handa <handa@m17n.org>
7163
7164 * keymap.c (store_in_keymap): Pay attention to the case that idx
7165 is a cons specifying a character range.
7166
7167 2008-02-01 Kenichi Handa <handa@m17n.org>
7168
7169 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
7170 HANDLED_RECOMPUTE_PROPS.
7171
7172 * coding.c (Fdefine_coding_system_internal): Fix checking of
7173 ascii compatibility.
7174
7175 2008-02-01 Kenichi Handa <handa@m17n.org>
7176
7177 * charset.c (find_charsets_in_text): Delete unused locale variable.
7178 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
7179
7180 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
7181 Resync charset_list to Vemacs_mule_charset_list.
7182
7183 * keymap.c (store_in_keymap): Pay attention to the case that idx
7184 is a cons specifying a character range.
7185
7186 2008-02-01 Kenichi Handa <handa@m17n.org>
7187
7188 * composite.c (update_compositions): Bind inhibit-read-only, etc
7189 to t before calling remove-list-of-text-properties.
7190
7191 * print.c (print_object): Always print ASCII chars as is.
7192
7193 2008-02-01 Kenichi Handa <handa@m17n.org>
7194
7195 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
7196
7197 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
7198 is a char table.
7199
7200 2008-02-01 Kenichi Handa <handa@m17n.org>
7201
7202 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
7203
7204 2008-02-01 Kenichi Handa <handa@m17n.org>
7205
7206 * xfaces.c (set_lface_from_font_name): Fix for the case that
7207 FONTNAME is not fontset name.
7208
7209 2008-02-01 Kenichi Handa <handa@m17n.org>
7210
7211 * fns.c (base64_encode_1): Fix previous change.
7212
7213 2008-02-01 Kenichi Handa <handa@m17n.org>
7214
7215 * fontset.c (set_fontset_font): New function.
7216 (Fset_fontset_font): If a font is specified for a charset, use
7217 map_charset_chars to store the font spec in a fontset.
7218
7219 2008-02-01 Kenichi Handa <handa@m17n.org>
7220
7221 * fontset.c (fontset_face): Create a fallback fontset on demand.
7222 (make_fontset): Don't create a fallback fontset here.
7223 (free_face_fontset): Free a fallback fontset (if any) too.
7224 (n_auto_fontsets): Delete this variable.
7225 (auto_fontset_alist): New variable.
7226 (new_fontset_from_font_name): Check auto_fontset_alist.
7227 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
7228 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
7229 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
7230 Defsubr Sfontset_list_all.
7231
7232 2008-02-01 Kenichi Handa <handa@m17n.org>
7233
7234 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7235
7236 2008-02-01 Kenichi Handa <handa@m17n.org>
7237
7238 * fontset.c (Fnew_fontset): Check NAME more rigidly.
7239
7240 2008-02-01 Kenichi Handa <handa@m17n.org>
7241
7242 * editfns.c (Fgoto_char): Fix docstring.
7243
7244 2008-02-01 Kenichi Handa <handa@m17n.org>
7245
7246 * insdel.c (insert_from_gap): Adjust intervals correctly.
7247
7248 2008-02-01 Jason Rumney <jasonr@gnu.org>
7249
7250 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
7251 (pfnGetFontUnicodeRanges): New dynamically loaded function.
7252 (w32_initialize): Try to load it.
7253 (x_get_font_repertory): Use it if available.
7254 (w32_encode_char): Add shortcut for unicode output.
7255
7256 * w32fns.c (w32_load_system_font): Default charset to -1.
7257 (x_to_w32_charset): Match all fonts for unicode.
7258 (w32_to_x_charset): New parameter matching. Don't return partial
7259 or wildcard charsets.
7260 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
7261 (w32_codepage_for_font): Return CP_UNICODE for unicode.
7262 (w32_to_x_font): Match charset to real charset.
7263 (enum_font_cb2): Always list unicode versions.
7264
7265 * makefile.w32-in (temacs): Increase EMHEAP.
7266
7267 2008-02-01 Jason Rumney <jasonr@gnu.org>
7268
7269 * w32term.c (w32_encode_char): New charset parameter.
7270 font_info.encoding becomes encoding_type.
7271 (x_get_font_repertory): New function. Warning: stub only!
7272 (x_new_font): Return quickly if font already set.
7273 (x_new_fontset): fontsetname parameter is Lisp_Object.
7274 Use new fs_query_fontset. Try new_fontset_from_font_name.
7275 Use fontset_name for return value.
7276
7277 * w32term.h: Declare x_get_font_repertory.
7278
7279 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
7280 place of find_charset_in_text. Use encode_coding_object in place
7281 of encode_coding.
7282 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
7283 decode_coding.
7284
7285 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
7286 of x_new_fontset.
7287 (w32_load_system_font): Initialize charset as unicode.
7288 font_info.encoding becomes encoding_type.
7289 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
7290 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
7291 (syms_of_w32fns): Set get_font_repertory_func.
7292
7293 * w32console.c: Include character.h. Use terminal_encode_buffer
7294 from term.c.
7295 (write_glyphs): Use new version of encode_terminal_code. Use
7296 encode_coding_object in place of encode_coding.
7297
7298 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
7299 encoding becomes encoding_type.
7300
7301 * term.c (terminal_encode_buffer): Make externally visible.
7302
7303 * makefile.w32-in: Add character.h dependancies.
7304 (character.o, chartab.o): New targets.
7305
7306 2008-02-01 Kenichi Handa <handa@m17n.org>
7307
7308 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
7309 CODING_ID_EOL_TYPE.
7310
7311 2008-02-01 Andreas Schwab <schwab@suse.de>
7312
7313 * coding.c (produce_chars): Revert last change.
7314
7315 2008-02-01 Kenichi Handa <handa@m17n.org>
7316
7317 * charset.h (charset_unicode): Extern it.
7318
7319 * charset.c (string_xstring_p): Check by (C >= 0x100).
7320 (find_charsets_in_text): Change format of the arc CHARSETS. New
7321 arg MULTIBYTE.
7322 (Ffind_charset_region, Ffind_charset_string): Adjust for the
7323 change of find_charsets_in_text.
7324 (Fsplit_char): Fix doc. Never return unknown.
7325
7326 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
7327
7328 * coding.c (Fdefine_coding_system_alias): Update
7329 Vcoding_system_list.
7330
7331 * fontset.c (load_font_get_repertory): Pay attention to the case
7332 that ENCODING of a font is specified by a char-table.
7333
7334 * xterm.c (x_get_font_repertory): Handle the case that the
7335 encoding of font is other than Unicode.
7336
7337 2008-02-01 Kenichi Handa <handa@m17n.org>
7338
7339 * term.c (encode_terminal_code): Don't handle glyph-table. Check
7340 if a character is encodable by the terminal coding system. If
7341 not, produces proper number of `?'s. Update
7342 terminal_encode_buffer and terminal_encode_buf_size if necessary.
7343 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
7344
7345 2008-02-01 Kenichi Handa <handa@m17n.org>
7346
7347 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
7348 variables.
7349 (encode_terminal_code): Change argument. Encode multiple
7350 characters at once. Store the result of encoding in
7351 terminal_encode_buffer.
7352 (write_glyphs, insert_glyphs): Adjust for the change of
7353 encode_terminal_code.
7354 (term_init): Initialize terminal_encode_buffer and
7355 terminal_encode_buf_size.
7356
7357 * coding.c (consume_chars): If coding->src_object is nil, don't
7358 check annotation.
7359
7360 2008-02-01 Kenichi Handa <handa@m17n.org>
7361
7362 * character.c (char_string): Use ASCII_CHAR_P instead of
7363 SINGLE_BYTE_CHAR_P.
7364
7365 2008-02-01 Kenichi Handa <handa@m17n.org>
7366
7367 * xdisp.c (handle_auto_composed_prop): Check if the last
7368 characters of auto-composed region is newly composed with the
7369 following characters.
7370 (handle_composition_prop): Fix checking of point being inside
7371 composition.
7372
7373 2008-02-01 Kenichi Handa <handa@m17n.org>
7374
7375 * fns.c (concat): Don't change multibyteness of the result by
7376 concatenating an 8-bit character.
7377
7378 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
7379 multibyteness of the result when newelt is an 8-bit character.
7380
7381 2008-02-01 Dave Love <fx@gnu.org>
7382
7383 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
7384 EMACS_INT.
7385
7386 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
7387
7388 * xfaces.c (face_numeric_value): Declare dim size_t.
7389 (Finternal_lisp_face_equal_p): Remove unused f.
7390
7391 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
7392 (MATRIX_ROW): Remove unused vars.
7393 (draw_glyphs, x_insert_glyphs, fast_find_position)
7394 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
7395 byte/char counts.
7396
7397 * regex.c (regex_compile): Remove unused var.
7398
7399 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7400
7401 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
7402 (Faccessible_keymaps, where_is_internal): Remove unused vars.
7403
7404 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
7405
7406 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
7407
7408 * fileio.c (Fwrite_region): Remove unused var.
7409
7410 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
7411 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
7412
7413 * composite.c (Fremove_list_of_text_properties): Declare.
7414
7415 * coding.c (inhibit_pre_post_conversion): Remove (unused).
7416 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
7417 (coding_inherit_eol_type): Remove unused attrs.
7418 (detect_coding): Cast arg of detect_eol.
7419
7420 * charset.c (syms_of_charset): Remove unused var p.
7421 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
7422 byte/char counts.
7423
7424 * casetab.c (set_case_table): Remove unused var.
7425
7426 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
7427 unused vars.
7428
7429 2008-02-01 Dave Love <fx@gnu.org>
7430
7431 * xterm.c (x_bitmap_mask): Declare.
7432
7433 2008-02-01 Dave Love <fx@gnu.org>
7434
7435 * xterm.c (x_term_init): Fix type error.
7436
7437 * lisp.h: Add Funibyte_char_to_multibyte.
7438
7439 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
7440 (Fset_coding_system_priority): Doc fix.
7441
7442 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
7443
7444 * indent.c (check_composition): Make start and end EMACS_INT.
7445
7446 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
7447
7448 * xdisp.c (handle_composition_prop, check_point_in_composition):
7449 Make buffer positions EMACS_INT.
7450
7451 * composite.c (find_composition, run_composition_function)
7452 (update_compositions, Ffind_composition_internal): Make buffer
7453 positions EMACS_INT.
7454
7455 * composite.h (find_composition, update_compositions): Make
7456 position args EMACS_INT.
7457
7458 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
7459
7460 * intervals.c (get_property_and_range):
7461 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
7462
7463 * unexalpha.c: Don't include varargs.h.
7464
7465 2008-02-01 Dave Love <fx@gnu.org>
7466
7467 * coding.h (ENCODE_UTF_8): New.
7468
7469 * Makefile.in (gtkutil.o): Depend on coding.h.
7470
7471 * coding.c (Fset_coding_system_priority): Doc fix.
7472
7473 2008-02-01 Kenichi Handa <handa@m17n.org>
7474
7475 * fileio.c (Finsert_file_contents): Call setup_coding_system in
7476 the case of auto saving.
7477
7478 2008-02-01 Andreas Schwab <schwab@suse.de>
7479
7480 * chartab.c (map_char_table, map_char_table_for_charset): Protect
7481 `range' from GC.
7482
7483 2008-02-01 Kenichi Handa <handa@m17n.org>
7484
7485 * coding.c (decode_coding_sjis): Check bytes more rigidly.
7486
7487 2008-02-01 Kenichi Handa <handa@m17n.org>
7488
7489 * fileio.c (choose_write_coding_system): Return a decided coding system.
7490 (Fwrite_region): Set Vlast_coding_system_used to the return value
7491 of choose_write_coding_system.
7492
7493 2008-02-01 Kenichi Handa <handa@m17n.org>
7494
7495 * charset.c (Fset_charset_priority): Pay attention to duplicated
7496 arguments.
7497
7498 * coding.c (QCcategory): New variable.
7499 (syms_of_coding): Defsym it. Set all elements of
7500 Vcoding_category_table and their symbol values.
7501 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
7502 coding-category-XXX, and coding-category-list.
7503 (Fdefine_coding_system_internal): Add category in the plist.
7504
7505 2008-02-01 Kenichi Handa <handa@m17n.org>
7506
7507 * callproc.c (Fcall_process): Handle carryover correctly.
7508
7509 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
7510 (raw_text_coding_system): Check NILP (coding_system).
7511 (coding_inherit_eol_type): Check NILP (coding_system) and
7512 NILP (parent).
7513 (consume_chars): Fix for the case of raw-text.
7514
7515 * process.c (read_process_output): Handle carryover correctly.
7516
7517 2008-02-01 Dave Love <fx@gnu.org>
7518
7519 * regex.c (re_search_2): Fix last change.
7520
7521 2008-02-01 Kenichi Handa <handa@m17n.org>
7522
7523 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
7524 target_multibyte. Even in a unibyte case, return a converted
7525 multibyte char.
7526 (GET_CHAR_AFTER): New macro.
7527 (PATFETCH): Translate via multibyte char.
7528 (HANDLE_UNIBYTE_RANGE): Delete this macro.
7529 (SETUP_MULTIBYTE_RANGE): New macro.
7530 (regex_compile): Setup compiled code so that its multibyteness
7531 matches that of a target. Fix the handling of "[X-YZ]" using
7532 SETUP_MULTIBYTE_RANGE.
7533 (analyse_first) <charset>: For filling fastmap for all multibyte
7534 characters, don't check by BASE_LEADING_CODE_P.
7535 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
7536 the same as RE_MULTIBYTE_P (bufp) now.
7537 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
7538 (TARGET_CHAR_AND_LENGTH): Delete this macro.
7539 (TRANSLATE_VIA_MULTIBYTE): New macro.
7540 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
7541 It is the same as RE_MULTIBYTE_P (bufp) now.
7542 <exactn>: Translate via multibyte.
7543 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
7544 translate it.
7545 <charset, charset_not>: Fetch a character by
7546 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
7547 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
7548 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
7549 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
7550 by GET_CHAR_AFTER.
7551 (bcmp_translate): Likewise.
7552
7553 * search.c (compile_pattern): Check the member target_multibyte,
7554 not the member multibyte of buf.
7555
7556 * lread.c (read1): While reading a string, set force_singlebyte
7557 and force_multibyte correctly.
7558
7559 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
7560 up of unibyte_to_multibyte_table.
7561
7562 2008-02-01 Kenichi Handa <handa@m17n.org>
7563
7564 * coding.c (setup_coding_system): If coding has
7565 post-read-conversion or pre-write-conversion, set
7566 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
7567 respectively.
7568 (decode_coding_gap): Run post-read-conversion if any.
7569
7570 * fileio.c (Finsert_file_contents): Even if we read into a
7571 unibyte buffer, check if we must decode the result or not.
7572
7573 2008-02-01 Kenichi Handa <handa@m17n.org>
7574
7575 * coding.c (make_conversion_work_buffer): Change the work buffer
7576 name to the same one as that of Emacs 21.
7577
7578 2008-02-01 Kenichi Handa <handa@m17n.org>
7579
7580 * coding.h (make_conversion_work_buffer): Adjust prototype.
7581 (code_conversion_restore): Don't extern it.
7582
7583 * coding.c (detected_mask): Delete unused variable.
7584 (decode_coding_iso_2022): Pay attention to the byte sequence of
7585 CTEXT extended segment, and retain those bytes as is.
7586 (decode_coding_ccl): Delete unused variable `valids'.
7587 (setup_coding_system): Delete unused variable `category'.
7588 (consume_chars): Delete unused variable `category'. Make it work
7589 for non-multibyte case.
7590 (make_conversion_work_buffer): Change argument.
7591 (saved_coding): Delete unused variable.
7592 (code_conversion_restore): Don't check saved_coding->destination.
7593 (code_conversion_save): New function.
7594 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
7595 instead of record_unwind_protect.
7596 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
7597 (detect_coding_system): Delete unused variable `mask'.
7598 (Fdefine_coding_system_internal): Delete unused vaiable id.
7599
7600 * fileio.c (kill_workbuf_unwind): New function.
7601 (Finsert_file_contents): On replacing, call
7602 make_conversion_work_buffer with correct args, and call
7603 record_unwind_protect with the first arg kill_workbuf_unwind.
7604
7605 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
7606
7607 2008-02-01 Kenichi Handa <handa@m17n.org>
7608
7609 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
7610 (fontset_add): Fix for the case that TO is less than TO1.
7611 (Ffontset_info): Don't use fallback fontset on checking the
7612 default fontset.
7613 (dump_fontset): New function for debugging.
7614
7615 * coding.c (Fdefine_coding_system_internal): Fix for the case that
7616 coding_type is Qcharset.
7617
7618 2008-02-01 Kenichi Handa <handa@m17n.org>
7619
7620 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
7621 (map_char_table): Don't inherit the value from the parent on
7622 initializing VAL. Adjust for the above change.
7623
7624 2008-02-01 Kenichi Handa <handa@m17n.org>
7625
7626 * coding.c (Qsignature, Qendian): Delete these variables.
7627 (syms_of_coding): Don't initialize them.
7628 (CATEGORY_MASK_UTF_16_AUTO): New macro.
7629 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
7630 detect_info->found.
7631 (decode_coding_utf_16): Don't detect BOM here.
7632 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
7633 is NOT utf_16_without_bom.
7634 (setup_coding_system): For a coding system of type utf-16, check
7635 if the attribute :endian is Qbig or not (not nil or not), and set
7636 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
7637 (detect_coding): If coding type is utf-16 and BOM detection is
7638 required, detect it.
7639 (Fdefine_coding_system_internal): For a coding system of type
7640 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
7641
7642 2008-02-01 Kenichi Handa <handa@m17n.org>
7643
7644 * coding.c (coding_set_source): Fix for the case that the current
7645 buffer is different from coding->src_object.
7646 (decode_coding_object): Don't use the conversion work buffer if
7647 DST_OBJECT is a buffer.
7648
7649 2008-02-01 Dave Love <fx@gnu.org>
7650
7651 * lread.c (read_emacs_mule_char) [len==2]: Index
7652 emacs_mule_charset correctly.
7653
7654 2008-02-01 Dave Love <fx@gnu.org>
7655
7656 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
7657 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
7658 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
7659 treated specially.)
7660 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
7661 (detected_mask): Remove Big5 bits.
7662
7663 2008-02-01 Kenichi Handa <handa@m17n.org>
7664
7665 The following changes are to make the font rescaling facility
7666 compatible with Emacs 21.
7667
7668 * xfaces.c (Vface_font_rescale_alist): Rename from
7669 Vface_resizing_fonts.
7670 (struct font_name): Rename member resizing_ratio to rescale_ratio.
7671 (font_rescale_ratio): Rename from font_resizing_ratio.
7672 (split_font_name): Set font->rescale_ratio.
7673 (better_font_p): Pay attention to font->rescale_ratio.
7674 (build_scalable_font_name): Likewise. Change RESX, and RESY
7675 fields.
7676 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
7677
7678 2008-02-01 Kenichi Handa <handa@m17n.org>
7679
7680 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
7681 (Qutf_16_le): Remove these variables.
7682 (syms_of_coding): Don't DEFSYM them.
7683 (decode_coding_utf_16): Fix handling of BOM.
7684 (encode_coding_utf_16): Fix handling of BOM.
7685
7686 2008-02-01 Kenichi Handa <handa@m17n.org>
7687
7688 * fileio.c (Finsert_file_contents): On replacing, before decoding
7689 the file into the work buffer, set point of the work buffer to the end.
7690
7691 2008-02-01 Dave Love <fx@gnu.org>
7692
7693 * coding.c (Fcheck_coding_systems_region): Fix type errors.
7694
7695 2008-02-01 Dave Love <fx@gnu.org>
7696
7697 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7698 and fix C types.
7699
7700 2008-02-01 Kenichi Handa <handa@m17n.org>
7701
7702 * xdisp.c (SKIP_GLYPHS): New macro.
7703 (set_cursor_from_row): Pay attention to string display properties.
7704
7705 * category.c (copy_category_entry): Fix for the case that RANGE
7706 is an integer.
7707
7708 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
7709
7710 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
7711
7712 2008-02-01 Kenichi Handa <handa@m17n.org>
7713
7714 * charset.c (Fcharset_id_internal): New function.
7715 (syms_of_charset): Defsubr it.
7716
7717 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
7718 with the last arg charset_list acquired from coding.
7719 (Fdefine_coding_system_internal): For ccl-based coding system, fix
7720 the attribute coding_attr_ccl_valids.
7721
7722 * coding.h (enum define_coding_ccl_arg_index): Set the first
7723 member coding_arg_ccl_decoder to coding_arg_max.
7724
7725 * ccl.h (ccl_driver): Adjust prototype.
7726
7727 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
7728 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
7729 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
7730 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
7731 last arg Qnil.
7732
7733 2008-02-01 Kenichi Handa <handa@m17n.org>
7734
7735 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
7736 call encode_char.
7737
7738 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
7739
7740 2008-02-01 Dave Love <fx@gnu.org>
7741
7742 * composite.c (syms_of_composite): Make composition_hash_table weak.
7743
7744 2008-02-01 Kenichi Handa <handa@m17n.org>
7745
7746 * dispextern.h (check_face_attributes, generate_ascii_font_name)
7747 (font_name_registry): Don't extern them.
7748 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
7749
7750 * fontset.h (Qfontset): Don't extern it.
7751 (new_fontset_from_font_name): Extern it.
7752
7753 * fontset.c: Give 8 extra slots to fontset objects.
7754 (Qfontset_info): New variable.
7755 (syms_of_fontset): Defsym it.
7756 (FONTSET_FALLBACK): New macro.
7757 (fontset_face): Try also the default fontset.
7758 (make_fontset): Realize a fallback fontset from the default fontset.
7759 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
7760 using split_font_name_into_vector and build_font_name_from_vector.
7761 (Fset_fontset_font): Access the elements of font_spec by enum
7762 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
7763 name by using split_font_name_into_vector.
7764 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
7765 generate a proper font name from the fontset name. Update
7766 Vfontset_alias_alist.
7767 (n_auto_fontsets): New variable.
7768 (new_fontset_from_font_name): New function.
7769 (Ffont_info): Store the information about fonts generated from the
7770 default fontset in the first extra slot of the returned char-table.
7771
7772 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
7773 (font_name_registry): Delete function.
7774 (split_font_name_into_vector): New function.
7775 (build_font_name_from_vector): New function.
7776 (font_list): The argument REGISTRY is now a list of registry names.
7777 (choose_face_font): If we are choosing an ASCII font, and ATTRS
7778 specifies an explicit font name, return the name as is. Make a
7779 list of registy names.
7780
7781 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
7782 of x_new_fontset.
7783 (Fx_create_frame): Don't call x_new_fontset here. Just use
7784 x_list_fonts to check the existence of fonts.
7785
7786 * xterm.h (x_new_fontset): Adjust prototype.
7787
7788 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
7789 string. Use new_fontset_from_font_name to create a fontset from a
7790 font name.
7791
7792 2008-02-01 Kenichi Handa <handa@m17n.org>
7793
7794 * syntax.c (Vfind_word_boundary_function_table): New name for
7795 Vnext_word_boundary_function_table.
7796 (find-word-boundary-function-table): New name for
7797 next-word-boundary-function-table.
7798
7799 2008-02-01 Dave Love <fx@gnu.org>
7800
7801 * Makefile.in: Fix some dependencies.
7802
7803 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
7804 set it to nil before returning.
7805
7806 * composite.c (update_compositions): Fix type error.
7807
7808 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
7809
7810 2008-02-01 Kenichi Handa <handa@m17n.org>
7811
7812 * xterm.c (x_new_font): Optimize for the case that the font is
7813 already set for the frame.
7814
7815 2008-02-01 Kenichi Handa <handa@m17n.org>
7816
7817 * chartab.c (char_table_ascii): Check if the char table contents
7818 is sub-char-table or not.
7819 (char_table_set, char_table_set_range): Fix argument to
7820 char_table_ascii.
7821
7822 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
7823 (detect_coding_utf_8, detect_coding_utf_16)
7824 (detect_coding_emacs_mule, detect_coding_iso_2022)
7825 (detect_coding_sjis, detect_coding_big5)
7826 (detect_coding_ccl, detect_coding_charset): Change argument MASK
7827 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
7828 sequence is valid in this coding system. Change callers.
7829 (MAX_ANNOTATION_LENGTH): New macro.
7830 (ADD_ANNOTATION_DATA): New macro.
7831 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
7832 ADD_ANNOTATION_DATA. Change the format of annotation data.
7833 (ADD_CHARSET_DATA): New macro.
7834 (emacs_mule_char): New argument ID. Change callers.
7835 (decode_coding_emacs_mule, decode_coding_iso_2022)
7836 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7837 Produce charset annotation data in coding->charbuf.
7838 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
7839 to charset annotation data in coding->charbuf.
7840 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
7841 coding->common_flags if the coding system is iso-2022 based and
7842 uses designation.
7843 (produce_composition): Adjust for the new annotation data format.
7844 (produce_charset): New function.
7845 (produce_annotation): Handle charset annotation.
7846 (handle_composition_annotation, handle_charset_annotation): New
7847 functions.
7848 (consume_chars): Handle charset annotation. Utilize the above two
7849 functions.
7850 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
7851 buffer, get the deleted text as a string and set
7852 coding->src_object to that string.
7853 (detect_coding, detect_coding_system): Use the new struct
7854 coding_detection_info.
7855
7856 * coding.h (struct coding_detection_info): New structure.
7857 (struct coding_system): Adjust prototype of the member `detector'.
7858 (CODING_ANNOTATE_CHARSET_MASK): New macro.
7859
7860 2008-02-01 Kenichi Handa <handa@m17n.org>
7861
7862 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
7863
7864 2008-02-01 Dave Love <fx@gnu.org>
7865
7866 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
7867 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
7868 to new local and nullify apropos_accumulate before returning.
7869 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
7870
7871 2008-02-01 Kenichi Handa <handa@m17n.org>
7872
7873 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
7874 correctly.
7875
7876 2008-02-01 Dave Love <fx@gnu.org>
7877
7878 * fns.c (Flanginfo): Call synchronize_system_time_locale.
7879
7880 2008-02-01 Kenichi Handa <handa@m17n.org>
7881
7882 The following changes are to make character composition happen
7883 automatically on displaying.
7884
7885 * Makefile.in (lisp, shortlisp): Add composite.elc.
7886
7887 * composite.h (Qauto_composed, Vauto_composition_function)
7888 (Qauto_composition_function): Extern them.
7889
7890 * composite.c (Vcomposition_function_table)
7891 (Qcomposition_function_table): Delete variables.
7892 (Qauto_composed, Vauto_composition_function)
7893 (Qauto_composition_function): New variables.
7894 (run_composition_function): Don't call
7895 compose-chars-after-function.
7896 (update_compositions): Clear `auto-composed' text property.
7897 (compose_chars_in_text): Delete this function.
7898 (syms_of_composite): Staticpro Qauto_composed and
7899 Qauto_composition_function. Declare Vauto_composition_function as
7900 a Lisp variable.
7901
7902 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
7903
7904 * xdisp.c (it_props): Add an entry for Qauto_composed.
7905 (handle_auto_composed_prop): New function.
7906
7907 * xselect.c (selection_data_to_lisp_data): Don't call
7908 compose_chars_in_text.
7909
7910 2008-02-01 Dave Love <fx@gnu.org>
7911
7912 * keyboard.c (read_char): Modify checking around use of
7913 Vkeyboard_translate_table.
7914
7915 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7916 and fix C types.
7917
7918 2008-02-01 Kenichi Handa <handa@m17n.org>
7919
7920 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
7921 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7922 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
7923 the case that the last byte is '\r' correctly.
7924 (decode_coding): Flush out the unprocessed data correctly.
7925 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
7926
7927 2008-02-01 Dave Love <fx@gnu.org>
7928
7929 * xterm.c (XTread_socket): Fix changes for defined keysyms.
7930 Add XK_ISO... case.
7931 (xaw_scroll_callback): Revert last change.
7932
7933 2008-02-01 Kenichi Handa <handa@m17n.org>
7934
7935 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
7936
7937 2008-02-01 Kenichi Handa <handa@m17n.org>
7938
7939 * xfaces.c (Vface_resizing_fonts): New variable.
7940 (struct font_name): New member `resizing_ratio'.
7941 (font_resizing_ratio): New function.
7942 (split_font_name): Set font->resizing_ratio.
7943 (better_font_p): Pay attention to font->resizing_ratio.
7944 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
7945 RESX, and RESY fields.
7946 (try_alternative_families): Try scalable fonts if
7947 Vscalable_fonts_allowed is not Qt.
7948 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
7949
7950 2008-02-01 Dave Love <fx@gnu.org>
7951
7952 * xterm.c (xaw_scroll_callback): Cast correctly.
7953
7954 2008-02-01 Dave Love <fx@gnu.org>
7955
7956 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
7957 (lispy_kana_keys): Comment out.
7958 (make_lispy_event) [XK_kana_A]: Comment out.
7959
7960 * xterm.c (xaw_scroll_callback): Cast call_data.
7961 (XTread_socket): Deal with ASCII keysyms.
7962 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
7963
7964 2008-02-01 Dave Love <fx@gnu.org>
7965
7966 * xterm.c (Vx_keysym_table): New.
7967 (syms_of_xterm): Initialize it.
7968 (XTread_socket): Use it.
7969 From head: Eliminate incorrect optimization that tried to avoid
7970 decoding the output of X*LookupString.
7971 (x_get_font_repertory): Delete charset declaration.
7972
7973 2008-02-01 Kenichi Handa <handa@m17n.org>
7974
7975 * coding.c (detect_coding_charset): If only ASCII bytes are found,
7976 return 0.
7977 (Fdefine_coding_system_internal): Setup
7978 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
7979
7980 2008-02-01 Dave Love <fx@gnu.org>
7981
7982 * coding.c (Fcheck_coding_system): Doc fix.
7983
7984 * editfns.c (Finsert_byte): Return a proper value.
7985
7986 2008-02-01 Kenichi Handa <handa@m17n.org>
7987
7988 * coding.c (decode_coding): Fix args to translate_chars. Pay
7989 attention to Vstandard_translation_table_for_decode.
7990 (encode_coding): Fix args to translate_chars. Pay attention to
7991 Vstandard_translation_table_for_encode.
7992
7993 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
7994 SINGLE_BYTE_CHAR_P.
7995
7996 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
7997 not by SINGLE_BYTE_CHAR_P.
7998
7999 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
8000 SINGLE_BYTE_CHAR_P.
8001
8002 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
8003 SINGLE_BYTE_CHAR_P.
8004
8005 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
8006 by SINGLE_BYTE_CHAR_P.
8007
8008 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
8009 SINGLE_BYTE_CHAR_P.
8010
8011 2008-02-01 Dave Love <fx@gnu.org>
8012
8013 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
8014
8015 2008-02-01 Dave Love <fx@gnu.org>
8016
8017 * fns.c (Flanginfo): Fix typo.
8018
8019 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
8020
8021 2008-02-01 Kenichi Handa <handa@m17n.org>
8022
8023 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
8024 (detect_coding_emacs_mule, detect_coding_iso_2022)
8025 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
8026 incomplete byte sequence. Don't update *mask when correctly detected.
8027 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
8028 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
8029 (detect_coding, detect_coding_system): Adjust for the changes above.
8030
8031 2008-02-01 Kenichi Handa <handa@m17n.org>
8032
8033 * character.c (char_string): Rename from
8034 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
8035 (string_char): Rename from string_char.
8036
8037 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
8038 if C is greater than MAX_3_BYTE_CHAR.
8039 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
8040 string_char instead of string_char_with_unification.
8041
8042 2008-02-01 Dave Love <fx@gnu.org>
8043
8044 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
8045
8046 2008-02-01 Kenichi Handa <handa@m17n.org>
8047
8048 * keymap.c (push_key_description): Pay attention to force_multibyte.
8049
8050 * regex.c (re_search_2): Fix for the case of unibyte buffer.
8051
8052 2008-02-01 Dave Love <fx@gnu.org>
8053
8054 * charset.c (define_charset_internal): Rename `supprementary'.
8055
8056 * Makefile.in (lisp, shortlisp): Remove latin-N.
8057
8058 2008-02-01 Dave Love <fx@gnu.org>
8059
8060 * xfns.c (x_window, x_window): Use use_xim.
8061
8062 * xterm.c (use_xim): Initialize.
8063 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8064 (x_term_init): Maybe set use_xim.
8065
8066 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8067
8068 2008-02-01 Kenichi Handa <handa@m17n.org>
8069
8070 * search.c (search_buffer): Fix case-fold-search of multibyte
8071 characters.
8072 (boyer_moore): Rename the last argument to char_high_bits.
8073
8074 2008-02-01 Kenichi Handa <handa@m17n.org>
8075
8076 * xdisp.c (display_string): Fix for the case of zero width glyph.
8077
8078 * xfns.c (x_set_font): Change the error message of the case that
8079 x_new_fontset returns Qt.
8080
8081 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
8082 (Finternal_set_lisp_face_attribute): Use signal_error for the
8083 error of invalid fontset.
8084
8085 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
8086 fontset, return Qt.
8087
8088 2008-02-01 Dave Love <fx@gnu.org>
8089
8090 * unexelf.c (unexec): Make .got handling not SGI-specific.
8091
8092 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
8093
8094 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
8095
8096 * keyboard.c (read_key_sequence): Fix type error.
8097
8098 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
8099 type error.
8100
8101 * fontset.c (fontset_add): Return Lisp_Object.
8102
8103 2008-02-01 Dave Love <fx@gnu.org>
8104
8105 * charset.h (charset_ordered_list_tick): Declare extern.
8106
8107 2008-02-01 Kenichi Handa <handa@m17n.org>
8108
8109 The following changes (and some of 2008-02-01 changes of mine) are
8110 for handling syntax, category, and case conversion for unibyte
8111 characters by converting them to multibyte on the fly. With these
8112 changes, we don't have to setup syntax and case tables for unibyte
8113 characters in each language environment.
8114
8115 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
8116 multibyte if necessary.
8117
8118 * bytecode.c (Fbyte_code): Likewise.
8119
8120 * character.h (LEADING_CODE_LATIN_1_MIN)
8121 (LEADING_CODE_LATIN_1_MAX): New macros.
8122 (unibyte_to_multibyte_table): Extern it.
8123 (unibyte_char_to_multibyte): New macro.
8124 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
8125 (CHAR_LEADING_CODE): New macro.
8126 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
8127
8128 * character.c (unibyte_to_multibyte_table): New variable.
8129 (unibyte_char_to_multibyte): Move to character.h and define as macro.
8130 (multibyte_char_to_unibyte): If C is an eight-bit character,
8131 convert it to the corresponding byte value.
8132
8133 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
8134 not 1, singals an error. Update the elements of
8135 unibyte_to_multibyte_table.
8136 (init_charset_once): Initialize unibyte_to_multibyte_table.
8137 (syms_of_charset): Define the charset `iso-8859-1'.
8138
8139 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
8140 as is without converting it to unibyte. In a unibyte buffer,
8141 convert C to multibyte before checking the syntax.
8142
8143 * lisp.h (unibyte_char_to_multibyte): Delete extern.
8144
8145 * minibuf.c (Fminibuffer_complete_word): Use the macro
8146 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
8147
8148 * regex.h (struct re_pattern_buffer): New member target_multibyte.
8149
8150 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
8151 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
8152 that is zero, convert an eight-bit char to multibyte.
8153 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
8154 non-emacs case.
8155 (PATFETCH): Convert an eight-bit char to multibyte.
8156 (HANDLE_UNIBYTE_RANGE): New macro.
8157 (regex_compile): Setup the compiled pattern for multibyte chars
8158 even if the given regex string is unibyte. Use PATFETCH_RAW
8159 instead of PATFETCH in many places. To handle `charset'
8160 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
8161 only for ASCII chars.
8162 (analyse_first) <exactn>: Simplify because the compiled pattern
8163 is multibyte.
8164 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
8165 <charset>: Use CHAR_LEADING_CODE to get leading codes.
8166 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
8167 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
8168 multibyte always 1.
8169 (re_search_2): In emacs, set the locale variable multibyte to 1,
8170 otherwise to 0. New local variable target_multibyte. Check it
8171 to decide the multibyteness of STR1 and STR2. If
8172 target_multibyte is zero, convert unibyte chars to multibyte
8173 before translating and checking fastmap.
8174 (TARGET_CHAR_AND_LENGTH): New macro.
8175 (re_match_2_internal): In emacs, set the locale variable multibyte
8176 to 1, otherwise to 0. New local variable target_multibyte. Check
8177 it to decide the multibyteness of STR1 and STR2. Use
8178 TARGET_CHAR_AND_LENGTH to fetch a character from D.
8179 <charset, charset_not>: If multibyte is nonzero, check fastmap
8180 only for ASCII chars. Call bcmp_translate with
8181 target_multibyte, not with multibyte.
8182 <begline>: Declare the local variable C as `unsigned'.
8183 (bcmp_translate): Change the last arg name to target_multibyte.
8184
8185 * search.c (compile_pattern_1): Don't adjust the multibyteness of
8186 the regexp pattern and the matching target. Set cp->buf.multibyte
8187 to the multibyteness of the regexp pattern. Set
8188 cp->but.target_multibyte to the multibyteness of the matching target.
8189 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
8190 FETCH_STRING_CHAR_ADVANCE.
8191 (Freplace_match): Convert unibyte chars to multibyte.
8192
8193 * syntax.c (char_quoted, back_comment, scan_words)
8194 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
8195 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
8196 unibyte chars to multibyte.
8197 (skip_chars): Delete the arg syntaxp, and move the code for
8198 handling syntaxes to skip_syntaxes. Change callers.
8199 Fix the case that the multibyteness of STRING and the current
8200 buffer doesn't match.
8201 (skip_syntaxes): New function.
8202 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
8203 SINGLE_BYTE_CHAR_P.
8204
8205 2008-02-01 Kenichi Handa <handa@m17n.org>
8206
8207 * xfaces.c (QCfontset): New variable.
8208 (LFACE_FONTSET): New macro.
8209 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
8210 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
8211 (Finternal_set_lisp_face_attribute)
8212 (Finternal_get_lisp_face_attribute): Handle QCfontset.
8213 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
8214 check also LFACE_FONTSET_INDEX.
8215 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
8216 attrs[LFACE_FONT_INDEX].
8217 (syms_of_xfaces): Intern and staticpro QCfontset.
8218
8219 * dispextern.h (enum lface_attribute_index): New member
8220 LFACE_FONTSET_INDEX.
8221
8222 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
8223
8224 2008-02-01 Kenichi Handa <handa@m17n.org>
8225
8226 * coding.c (coding_set_destination): Fix coding->destination for
8227 the case converting a region.
8228 (encode_coding_utf_8): Encode eight-bit chars as single byte.
8229 (encode_coding_object): Fix coding->dst_pos and
8230 coding->dst_pos_byte for the case converting a region.
8231
8232 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
8233
8234 * character.h (BYTE8_STRING): New macro.
8235
8236 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
8237
8238 2008-02-01 Kenichi Handa <handa@m17n.org>
8239
8240 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
8241 characters by octal form.
8242
8243 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8244
8245 * buffer.h (_fetch_multibyte_char_len): Delete extern.
8246 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
8247 _fetch_multibyte_char_len.
8248 (FETCH_CHAR_AS_MULTIBYTE): New macro.
8249
8250 * casetab.c (set_canon, set_identity, shuffle): Simplify.
8251
8252 * casefiddle.c (casify_object): Simplify. Handle the case that
8253 the case conversion change the byte length.
8254 (casify_region): Likewise.
8255
8256 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
8257
8258 * character.c (_fetch_multibyte_char_len): Delet this variable.
8259 (syms_of_character): Setup Vprintable_chars.
8260
8261 * editfns.c (Fchar_equal): Fix for the unibyte case.
8262 (Finsert_byte): New function.
8263 (syms_of_editfns): Defsubr it.
8264
8265 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
8266 of direct code 0x3ffff.
8267
8268 * search.c (Freplace_match): Fix for the unibyte case.
8269
8270 2008-02-01 Kenichi Handa <handa@m17n.org>
8271
8272 * lread.c (safe_to_load_p): Fix the logic.
8273
8274 * syntax.c (scan_words): Don't treat characters belonging to
8275 different scripts as constituting a word.
8276
8277 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8278
8279 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
8280
8281 * emacs.c (main): In the case of --unibyte, instead of aborting on
8282 finding non-empty buffer, make it unibyte.
8283
8284 2008-02-01 Kenichi Handa <handa@m17n.org>
8285
8286 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
8287 to create a fontset.
8288
8289 2008-02-01 Dave Love <fx@gnu.org>
8290
8291 * character.c (Funibyte_char_to_multibyte): Doc fix.
8292
8293 * xfns.c [HAVE_STDLIB_H]: Fix last change.
8294
8295 2008-02-01 Kenichi Handa <handa@m17n.org>
8296
8297 * fontset.c (fontset_add): Make the type `int'.
8298 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
8299
8300 * character.c (unibyte_char_to_multibyte)
8301 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
8302 charset_unibyte, not charset_primary.
8303
8304 * charset.h (charset_unibyte): Extern it instead of charset_primary.
8305
8306 * charset.c (charset_unibyte): Rename from charset_primary.
8307 (Funibyte_charset): Rename from Fprimary_charset.
8308 (Fset_unibyte_charset): Rename from Fset_primary_charset.
8309 (syms_of_charset): Adjust for the above changes.
8310
8311 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
8312 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
8313 it->multibyte_p is zero.
8314
8315 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
8316 Delete extern.
8317
8318 2008-02-01 Kenichi Handa <handa@m17n.org>
8319
8320 * coding.c (Fdefine_coding_system_internal): Fix category setting
8321 for a coding system of type iso-2022.
8322
8323 2008-02-01 Kenichi Handa <handa@m17n.org>
8324
8325 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
8326
8327 2008-02-01 Kenichi Handa <handa@m17n.org>
8328
8329 * syntax.c (Vnext_word_boundary_function_table): New variable.
8330 (next-word-boundary-function-table): Declare it as a Lisp variable
8331 in syms_of_syntax.
8332 (scan_words): Call functions in Vnext_word_boundary_function_table
8333 if any.
8334
8335 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
8336
8337 * fontset.c (fs_load_font): If fontp->charset is not negative,
8338 return fontp without setting its members.
8339
8340 2008-02-01 Dave Love <fx@gnu.org>
8341
8342 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
8343
8344 * m/sparc.h (HAVE_ALLOCA): Delete.
8345
8346 * s/irix6-5.h: Don't include strings.h.
8347 (bcopy, bzero, bcmp): Don't undef.
8348
8349 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
8350
8351 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
8352 (TIOCSIGSEND): Don't test IRIX6.
8353 (bcopy, bzero, bcmp): Define conditionally.
8354
8355 2008-02-01 Kenichi Handa <handa@m17n.org>
8356
8357 * buffer.c (Qas, Qmake, Qto): New variables.
8358 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
8359 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
8360
8361 * callproc.c (Fcall_process): Don't call insert_1_both directly if
8362 we are inserting a process output into a multibyte buffer.
8363
8364 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
8365 multibyte_char_to_unibyte.
8366
8367 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
8368 by the primary charset, make it eight-bit char.
8369 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
8370
8371 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
8372 (charset_8_bit__control, charset_8_bit_graphic)
8373 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
8374 (define_charset_internal): New function.
8375 (syms_of_charset): Call define_charset_internal for pre-defined
8376 charsets.
8377
8378 * charset.h (charset_8_bit): Extern it.
8379
8380 * coding.c (make_conversion_work_buffer): Adjust for the change
8381 of Fset_buffer_multibyte.
8382 (encode_coding_raw_text): Increment p0 in the loop.
8383
8384 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
8385
8386 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
8387 for the change of Fset_buffer_multibyte.
8388
8389 * fns.c (Fstring_to_multibyte): New function.
8390 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
8391
8392 2008-02-01 Dave Love <fx@gnu.org>
8393
8394 * xfns.c (x_put_x_image): Declare args.
8395
8396 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
8397 (try_font_list): Declare an arg.
8398
8399 * xdisp.c (message2_nolog, set_message): Declare an arg.
8400
8401 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
8402
8403 * syntax.c (scan_sexps_forward): Declare an arg.
8404
8405 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
8406 Declare an arg.
8407
8408 * lisp.h (Fnew_fontset): Declare.
8409
8410 * keymap.c (push_key_description): Call CHARACTERP correctly.
8411
8412 * fontset.c (fontset_add): Declare args. Call make_number correctly.
8413 (face_for_char): Delete unused vars.
8414 (Fset_fontset_font): Doc fix. Delete unused vars.
8415
8416 * doc.c (Fsubstitute_command_keys): Delete unused vars.
8417
8418 * composite.c (update_compositions): Declare arg.
8419
8420 * cm.c (calccost, cmgoto): Declare args.
8421
8422 * charset.c: Remove `emacs' conditional. Doc fixes.
8423 (map_char_table_for_charset): Declare.
8424
8425 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
8426
8427 * ccl.c: Remove `emacs' conditional.
8428
8429 2008-02-01 Kenichi Handa <handa@m17n.org>
8430
8431 The following changes are to allow specifying multiple font
8432 patterns for a character range (specified by script or charset).
8433
8434 * Makefile.in (abbrev.o): Depend on syntax.h.
8435 (xfaces.o): Depend on charset.h.
8436
8437 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
8438 SINGLE_BYTE_CHAR_P.
8439
8440 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
8441
8442 * character.h (Vchar_script_table): Extern it.
8443
8444 * character.c (Vscript_alist): Delete.
8445 (Vchar_script_table, Qchar_script_table): New variable.
8446 (syms_of_character): Declare Vchar_script_table as a lisp variable
8447 and initialize it.
8448
8449 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
8450 have property char-table-extra-slots, make no extra slot.
8451
8452 * dispextern.h (struct face): Delete member `charset'.
8453 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
8454 SINGLE_BYTE_CHAR_P.
8455 (choose_face_font, lookup_non_ascii_face, font_name_registry):
8456 Add prototypes.
8457 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
8458 (generate_ascii_font_name): Rename from generate_ascii_font.
8459
8460 * fontset.h (get_font_repertory_func): New prototype.
8461 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
8462 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
8463
8464 * fontset.c (Qprepend, Qappend): New variables.
8465 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
8466 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
8467 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
8468 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
8469 (fontset_ref_and_range, fontset_add, reorder_font_vector)
8470 (load_font_get_repertory): New functions.
8471 (fontset_set): Delete.
8472 (fontset_face): New arg FACE. Return face ID, not face.
8473 Complete re-write to handle new fontset structure. Change caller.
8474 (free_face_fontset): Use ASET istead of AREF (X) = Y.
8475 (face_for_char): Don't call lookup_face.
8476 (make_fontset_for_ascii_face): New arg FACE.
8477 (fs_load_font): New arg CHARSET_ID. Don't check
8478 Vfont_encoding_alist here.
8479 (find_font_encoding): New function.
8480 (list_fontsets): Use STRINGP, not ! NILP.
8481 (accumulate_script_ranges): New function.
8482 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
8483 re-written to handle new fontset structure.
8484 (Ffontset_font): Return a copy of element.
8485 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
8486 docstring of font-encoding-alist.
8487
8488 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
8489 (Fset_fotset_font): Fix arguments to 5.
8490
8491 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
8492
8493 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
8494 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8495 (highlight_trailing_whitespace): Adjust for the change of
8496 lookup_named_face.
8497
8498 * xfaces.c: Include charset.h.
8499 (load_face_font): Delete argument C. Change caller.
8500 (generate_ascii_font_name): Rename from generate_ascii_font.
8501 (font_name_registry): New function.
8502 (cache_face): Store ascii faces before non-ascii faces in buckets.
8503 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
8504 Lookup only ascii faces.
8505 (lookup_non_ascii_face): New function.
8506 (lookup_named_face): Delete argument C. Change caller.
8507 (lookup_derived_face): Delete argument C. Change caller.
8508 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
8509 a string, just call font_list with it.
8510 (choose_face_font): Delete arguments FACE and C. New arg
8511 FONT_SPEC. Change caller.
8512 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
8513 Change caller.
8514 (realize_non_ascii_face): New function.
8515 (realize_x_face): Call load_face_font here.
8516 (realize_tty_face): Delete argument C. Change caller.
8517 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
8518 get a face ID.
8519 (dump_realized_face): Don't print charset of FACE.
8520
8521 * xfns.c (x_set_font): Always call x_new_fontset and
8522 store_frame_parameter.
8523 (Fx_create_frame): Call x_new_fontset, not x_new_font.
8524 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
8525
8526 * xterm.h (x_get_font_repertory): Extern it.
8527
8528 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
8529 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
8530 it->multibyte_p is zero.
8531 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8532 (x_new_fontset): If FONTSETNAME doesn't match any existing
8533 fontsets, create a new one.
8534 (x_get_font_repertory): New function.
8535
8536 2008-02-01 Kenichi Handa <handa@m17n.org>
8537
8538 * coding.c (Ffind_coding_systems_region_internal): Detect an
8539 ASCII only string correctly.
8540
8541 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
8542 version is 0.
8543
8544 2008-02-01 Kenichi Handa <handa@m17n.org>
8545
8546 * lread.c: Include "coding.h".
8547 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
8548 (load_each_byte, unread_char): New variables.
8549 (readchar_backlog): Delete.
8550 (readchar): Return a character unless load_each_byte is nonzero.
8551 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
8552 cons. If unread_char is not -1, simply return it.
8553 (unreadchar): Handle the case that readcharfun is
8554 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
8555 (read_multibyte): Delete.
8556 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
8557 (read_emacs_mule_char): New functions.
8558 (Fload): Even if the file doesn't have the extention ".elc", if
8559 safe_to_load_p returns a positive version number, assume that the
8560 file contains bytecompiled code. If the version is less than 22,
8561 load the file while decoding multibyte sequences by emacs-mule.
8562 (readevalloop): Don't use readchar_backlog.
8563 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
8564 (Fread_from_string): Pay attention to the case that STREAM is a cons.
8565 (read_escape): Delete the arg BYTEREP.
8566 (read1): Set load_each_byte to 1 temporarily while handling
8567 #@NUMBER. Don't call read_multibyte.
8568 (read_vector): Call Fread with a cons. If readcharfun is
8569 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
8570 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
8571 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
8572 and Qload_force_doc_strings.
8573
8574 2008-02-01 Kenichi Handa <handa@m17n.org>
8575
8576 * xdisp.c (face_before_or_after_it_pos): Call
8577 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
8578
8579 2008-02-01 Kenichi Handa <handa@m17n.org>
8580
8581 * character.h (TRAILING_CODE_P): New macro.
8582 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
8583 (string_char_with_unification): Fix prototype.
8584 (Vscript_alist): Extern it.
8585
8586 * character.c (Vscript_alist): New variable.
8587 (string_char_with_unification, str_as_unibyte)
8588 (string_escape_byte8): Add `const' to local variables.
8589 (syms_of_character): Declare script-alist as a Lisp variable.
8590
8591 * charset.h (Vcharset_ordered_list): Extern it.
8592 (charset_ordered_list_tick): Extern it.
8593 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
8594 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
8595 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
8596 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
8597 (Funify_charset): Adjust for the change of Funify_charset.
8598
8599 * charset.c (charset_ordered_list_tick): New variable.
8600 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
8601 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
8602 deunify intead of unify a charset.
8603 (string_xstring_p): Add `const' to local variables.
8604 (find_charsets_in_text): Add `const' to arguemnts and local variables.
8605 (encode_char): Adjust for the change of Funify_charset. Fix
8606 detecting of invalid code.
8607 (Fset_charset_priority): Increment charset_ordered_list_tick.
8608 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
8609 and TO_CODE.
8610
8611 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
8612 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
8613 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
8614 (decode_coding_ccl, consume_chars)
8615 (Ffind_coding_systems_region_internal)
8616 (Fcheck_coding_systems_region): Add `const' to local variables.
8617
8618 * print.c (print_object): Use octal form for printing the
8619 contents of a bool vector.
8620
8621 2008-02-01 Dave Love <fx@gnu.org>
8622
8623 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
8624 <version == 20>: Refuse to load.
8625
8626 2008-02-01 Dave Love <fx@gnu.org>
8627
8628 * fns.c: Move coding.h.
8629 (Qcodeset, Qdays, Qmonths): New.
8630 (concat): Use CHARACTERP instead of INTERGERP.
8631 (Flocale_codeset): Delete.
8632 (Flanginfo): New function.
8633 (syms_of_fns): Change accordingly.
8634
8635 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
8636
8637 2008-02-01 Dave Love <fx@gnu.org>
8638
8639 * casetab.c (init_casetab_once, init_casetab_once): Fix
8640 CHAR_TABLE_SET call.
8641
8642 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
8643
8644 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
8645
8646 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
8647 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
8648 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
8649
8650 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
8651
8652 * coding.c (ENCODE_DESIGNATION, decode_eol)
8653 (make_conversion_work_buffer, code_conversion_restore)
8654 (Fdefine_coding_system_internal): Convert Lisp types.
8655 (code_conversion_restore): Use EQ, not ==.
8656 (Fencode_coding_string): Fix code_convert_string call.
8657
8658 * coding.h (code_convert_region): Fix prototype.
8659
8660 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
8661
8662 * fontset.c (fontset_ref, fontset_set, fs_load_font)
8663 (Ffontset_info): Convert Lisp types.
8664
8665 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
8666
8667 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
8668
8669 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
8670
8671 * chartab.c: Include "...h", not <...h> in some cases.
8672
8673 * callproc.c (Fcall_process): Remove unused variables.
8674
8675 2008-02-01 Dave Love <fx@gnu.org>
8676
8677 * coding.c (Fset_coding_system_priority): Allow null arg list.
8678
8679 2008-02-01 Dave Love <fx@gnu.org>
8680
8681 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
8682 (Fself_insert_and_exit): Use CHARACTERP.
8683
8684 * callproc.c (Fcall_process): Remove unused vars.
8685
8686 * xterm.c (XTread_socket): Add extra dead keysyms.
8687
8688 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
8689
8690 * dispextern.h: Remove prototypes for redraw_frame,
8691 redraw_garbaged_frames.
8692
8693 * cmds.c (Fself_insert_command): Use CHARACTERP.
8694
8695 * chartab.c (make_sub_char_table): Remove unused var.
8696 (Fset_char_table_default, Fmap_char_table): Doc fix.
8697
8698 * keymap.c (access_keymap): Remove generic char code.
8699 (push_key_description): Use CHARACTERP.
8700
8701 2008-02-01 Dave Love <fx@gnu.org>
8702
8703 * charset.c: Doc fixes.
8704 (Funify_charset): Extra checking.
8705
8706 2008-02-01 Dave Love <fx@gnu.org>
8707
8708 * lread.c: Remove some unused variables.
8709 (safe_to_load_p): If safe, return the magic number version byte.
8710 (Fload): Maybe use load-with-code-conversion.
8711
8712 2008-02-01 Kenichi Handa <handa@m17n.org>
8713
8714 * category.c (Fmodify_category_entry): Don't modify the contents
8715 of category_set for characters out of the range. Avoid
8716 unnecessary modification.
8717
8718 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
8719 Vchar_unify_table. The default value of the table is now nil.
8720
8721 * character.c (syms_of_character): Setup Vchar_width_table for
8722 eight-bit-control and raw-byte chars.
8723
8724 * charset.h (enum define_charset_arg_index): Delete
8725 charset_arg_parents and add charset_arg_subset and
8726 charset_arg_superset.
8727 (enum charset_attr_index): Delete charset_parents and add
8728 charset_subset and charset_superset.
8729 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
8730 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
8731 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
8732 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
8733 (CHARSET_SUPERSET): New macros.
8734 (charset_work): Extern it.
8735 (ENCODE_CHAR): Use charset_work.
8736 (CHAR_CHARSET_P): Adjust for the change of encoder format.
8737 (map_charset_chars): Extern it.
8738
8739 * charset.c (load_charset_map): Set the default value of encoder
8740 and deunifier char-tables to nil.
8741 (map_charset_chars): Change argument. Change callers. Use
8742 map_char_table_for_charset instead of map_char_table.
8743 (Fmap_charset_chars): New optional args from_code and to_code.
8744 (Fdefine_charset_internal): Adjust for the change of
8745 `define-charset' (:parents -> :subset or :superset).
8746 (charset_work): New variable.
8747 (encode_char, syms_of_charset): Adjust for the change of
8748 Fdefine_charset_internal.
8749 (Ffind_charset_string): Setup the vector `charsets' correctly.
8750
8751 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
8752 the previous change.
8753 (char_table_ref_and_range): Adjust for the above change.
8754 (map_sub_char_table_for_charset): New function.
8755 (map_char_table_for_charset): New function.
8756
8757 * keymap.c (describe_vector): Handle a char-table directly here.
8758 (describe_char_table): Delete.
8759
8760 * lisp.h (map_charset_chars): Delete.
8761
8762 2008-02-01 Dave Love <fx@gnu.org>
8763
8764 * fns.c (count_combining): Comment out (unused).
8765 (Flocale_codeset): New.
8766 (syms_of_fns): Defsubr it.
8767
8768 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
8769 (size_t): Remove.
8770
8771 2008-02-01 Dave Love <fx@gnu.org>
8772
8773 * Makefile.in (chartab.o): Depend on charset.h.
8774
8775 2008-02-01 Kenichi Handa <handa@m17n.org>
8776
8777 * character.c (syms_of_character): Set the default value of
8778 Vprintable_chars to Qnil.
8779
8780 2008-02-01 Dave Love <fx@gnu.org>
8781
8782 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
8783
8784 2008-02-01 Kenichi Handa <handa@m17n.org>
8785
8786 * charset.c (load_charset_map): Handle the case that from < to
8787 correctly.
8788
8789 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
8790 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
8791 Pay attention to raw-8-bit chars.
8792
8793 2008-02-01 Kenichi Handa <handa@m17n.org>
8794
8795 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
8796 It is not bytecompiled now.
8797
8798 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
8799 (charset_jisx0208): New variables.
8800 (Fdefine_charset_internal): Setup them if appropriate.
8801 (init_charset_once): Initialize them to -1.
8802
8803 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
8804 (charset_jisx0208): Extern them.
8805
8806 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
8807 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
8808 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
8809 (setup_iso_safe_charsets): Fix arguments to Fassq.
8810 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
8811 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
8812 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
8813 (encode_coding_iso_2022): Change the 1st arg to
8814 ENCODE_ISO_CHARACTER to a variable.
8815
8816 2008-02-01 Kenichi Handa <handa@m17n.org>
8817
8818 * charset.h (enum define_charset_arg_index): New enums
8819 charset_arg_min_code and charset_arg_max_code.
8820 (struct charset): New member char_index_offset.
8821
8822 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
8823 Take charset->char_index_offset into account.
8824 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
8825 args[charset_arg_max_code]. Setup charset.char_index_offset.
8826 (syms_of_charset): Fix args to Fdefine_charset_internal.
8827
8828 2008-02-01 Dave Love <fx@gnu.org>
8829
8830 * coding.c (decode_coding_utf_8): Reject overlong sequences.
8831
8832 2008-02-01 Dave Love <fx@gnu.org>
8833
8834 * coding.c: Doc fixes.
8835 (Fcoding_system_aliases): Fix return value.
8836 (Qmac): Remove (duplicated) definition.
8837
8838 2008-02-01 Dave Love <fx@gnu.org>
8839
8840 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
8841 functions.
8842
8843 * character.c (Fstring): Doc fix.
8844
8845 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
8846
8847 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
8848 ids.
8849 (font-encoding-alist): Doc fix.
8850
8851 2008-02-01 Dave Love <fx@gnu.org>
8852
8853 * term.c (costs_set): Declare static, non-initialized for pcc.
8854 (encode_terminal_code): Remove unused var.
8855
8856 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8857 for K&R.
8858
8859 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
8860
8861 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
8862 (suffixes): Move out of make_subsidiaries for K&R.
8863
8864 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
8865
8866 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
8867
8868 2008-02-01 Dave Love <fx@gnu.org>
8869
8870 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
8871
8872 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
8873
8874 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
8875
8876 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
8877
8878 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
8879
8880 2008-02-01 Kenichi Handa <handa@m17n.org>
8881
8882 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
8883 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
8884
8885 2008-02-01 Kenichi Handa <handa@m17n.org>
8886
8887 * coding.c (decode_coding_charset): Adjust for the change of
8888 Fdefine_coding_system_internal.
8889 (Fdefine_coding_system_internal): For a coding system of
8890 `charset' type, store a list of charset IDs in
8891 `charset_attr_charset_valids' element of coding attributes.
8892
8893 2008-02-01 Kenichi Handa <handa@m17n.org>
8894
8895 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
8896 (emacs_mule_char): New arg src. Delete arg `composition'. Change
8897 caller. Handle 2-byte and 3-byte charsets correctly.
8898 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
8899 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
8900 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
8901 (DECODE_EMACS_MULE_21_COMPOSITION): Call
8902 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
8903 sequence.
8904 (decode_coding_emacs_mule): Handle composition correctly. Rewind
8905 `src' and `consumed_chars' correctly before calling emacs_mule_char.
8906 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
8907 and alt&rule composition.
8908 (decode_coding_iso_2022): Handle composition correctly.
8909 (init_coding_once): Setup emacs_mule_bytes for private charsets.
8910
8911 * charset.c (Fdefine_charset_internal): Fix bug for the case of
8912 re-defining a charset. If the charset has :emacs-mule-id, setup
8913 emacs_mule_bytes.
8914 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
8915
8916 2008-02-01 Kenichi Handa <handa@m17n.org>
8917
8918 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
8919 (encode_coding_big5, encode_coding_charset): If coding requires safe
8920 encoding, produce a character specified by
8921 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8922
8923 2008-02-01 Dave Love <fx@gnu.org>
8924
8925 * xterm.c (XSetIMValues): Declare.
8926
8927 * process.c: Conditionally include sys/wait.h, pty.h.
8928
8929 * print.c (print_object): Fix print format for 64-bit systems.
8930
8931 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
8932
8933 * buffer.c (emacs_strerror): Declare.
8934
8935 * fontset.c (Fclear_face_cache): Declare.
8936 (accumulate_font_info): Comment-out (unused).
8937 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
8938 variables.
8939
8940 * character.h (string_escape_byte8): Declare.
8941
8942 * charset.c (load_charset_map, load_charset_map_from_file): Remove
8943 unused vars.
8944 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
8945 (Fmap_charset_chars): Doc fix.
8946
8947 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
8948 (Fset_coding_system_priority, Fset_coding_system_priority)
8949 (Fdefine_coding_system_internal): Doc fix.
8950
8951 2008-02-01 Dave Love <fx@gnu.org>
8952
8953 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
8954
8955 2008-02-01 Kenichi Handa <handa@m17n.org>
8956
8957 * character.c (string_escape_byte8): Make multibyte string with
8958 correct size.
8959
8960 * charset.c (Fmake_char): Delete unnecessary code.
8961
8962 2008-02-01 Kenichi Handa <handa@m17n.org>
8963
8964 * xfns.c (x_encode_text): Allocate coding.destination here, and
8965 call encode_coding_object with dst_object Qnil.
8966
8967 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
8968 multibyte form correctly.
8969
8970 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
8971 against Vfont_encoding_alist.
8972
8973 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
8974 handling of charset list.
8975 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8976 (decode_coding_object): Move point to coding->dst_pos before
8977 calling post-read-conversion function.
8978 (encode_coding_object): Give correct arguments to
8979 pre-write-conversion. Ignore the return value of
8980 pre-write-conversion function. Pay attention to the case that
8981 pre-write-conversion changes the current buffer. If dst_object is
8982 Qt, even if coding->src_bytes is zero, allocate at least one byte
8983 to coding->destination.
8984
8985 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
8986
8987 * charset.c (Fmake_char): Make it more backward compatible.
8988 (Fmap_charset_chars): Fix docstring.
8989
8990 2008-02-01 Dave Love <fx@gnu.org>
8991
8992 * coding.c: Doc fixes.
8993 (Fdefine_coding_system_alias): Use names, not symbols, in
8994 coding-system-alist.
8995
8996 2008-02-01 Kenichi Handa <handa@m17n.org>
8997
8998 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
8999 of calling free_realized_face.
9000
9001 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
9002
9003 * charset.c (read_hex): Don't treat SPC as a comment starter.
9004 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
9005 (Fdecode_char): Fix typo.
9006
9007 2008-02-01 Kenichi Handa <handa@m17n.org>
9008
9009 * charset.h (struct charset): New member `code_space_mask'.
9010
9011 * coding.c (coding_set_source): Delete the local variable beg_byte.
9012 (encode_coding_charset, Fdefine_coding_system_internal):
9013 Delete the local variable charset.
9014 (Fdefine_coding_system_internal): Setup
9015 attrs[coding_attr_charset_valids] correctly.
9016
9017 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
9018 member to check if CODE is valid or not.
9019 (Fdefine_charset_internal): Initialize `code_space_mask' member.
9020 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
9021 is within the range of charset->min_code and carset->max_code.
9022
9023 2008-02-01 Dave Love <fx@gnu.org>
9024
9025 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
9026
9027 * dispextern.h (generate_ascii_font): Fix return type.
9028
9029 * xfaces.c (generate_ascii_font): Fix arg declaration.
9030
9031 * coding.c (coding_inherit_eol_type)
9032 (Fset_terminal_coding_system_internal)
9033 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
9034
9035 2008-02-01 Kenichi Handa <handa@m17n.org>
9036
9037 * coding.c (decode_coding_charset, encode_coding_charset): Handle
9038 multiple charsets correctly.
9039
9040 2008-02-01 Kenichi Handa <handa@m17n.org>
9041
9042 * search.c (boyer_moore): Fix handling of mulitbyte character
9043 translation.
9044
9045 * xdisp.c (display_mode_element): When the variable `elt' is
9046 changed, update `this' and `lisp_string'.
9047
9048 2008-02-01 Kenichi Handa <handa@m17n.org>
9049
9050 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
9051
9052 * callproc.c (Fcall_process): Be sure to give the current buffer
9053 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
9054
9055 * charset.c (struct charset_map_entries): New struct.
9056 (load_charset_map): Rename from parse_charset_map. New args
9057 entries and n_entries. Change caller.
9058 (load_charset_map_from_file): Rename from load_charset_map.
9059 Change caller. New arg control_flag. Call load_charset_map at
9060 the tail.
9061 (load_charset_map_from_vector): New function.
9062 (Fdefine_charset_internal): Setup charset.compact_codes_p.
9063 (encode_char): If the charset is compact, change a character index
9064 to a code point.
9065
9066 * coding.c (coding_alloc_by_making_gap): Check the case that the
9067 source and destination are the same correctly.
9068 (decode_coding_raw_text): Set coding->consumed_char and
9069 coding->consumed to 0.
9070 (produce_chars): If coding->chars_at_source is nonzero, update
9071 coding->consumed_char and coding->consumed before calling
9072 alloc_destination.
9073 (Fdefine_coding_system_alias): Register ALIAS in
9074 Vcoding_system_alist.
9075 (syms_of_coding): Define `no-convesion' coding system at the tail.
9076
9077 * fileio.c (Finsert_file_contents): Set coding_system instead of
9078 val. If the current buffer is multibyte, always call
9079 decode_coding_gap.
9080
9081 * xfaces.c (try_font_list): Give higher priority to fontset's
9082 family than face's family.
9083
9084 2008-02-01 Kenichi Handa <handa@m17n.org>
9085
9086 * callproc.c (Fcall_process): Be sure to give the current buffer
9087 to decode_coding_c_string.
9088
9089 * xfaces.c (try_font_list): Give a family specified in a fontset
9090 higher priority than a family specified in a face.
9091
9092 2008-02-01 Kenichi Handa <handa@m17n.org>
9093
9094 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
9095 Fix arguments to insert_from_buffer.
9096
9097 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
9098
9099 2008-02-01 Kenichi Handa <handa@m17n.org>
9100
9101 * coding.c (produce_chars): Set the variable `multibytep' correctly.
9102 (decode_coding_gap): Set coding->dst_multibyte correctly.
9103
9104 2008-02-01 Kenichi Handa <handa@m17n.org>
9105
9106 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
9107 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
9108 (encode_coding_utf_16): Substitute coding->default_char for
9109 non-Unicode characters.
9110 (decode_coding): Don't call record_insert here.
9111 (setup_coding_system): Initialize `surrogate' of
9112 coding->spec.utf_16 to 0.
9113 (EMIT_ONE_BYTE): Fix for multibyte case.
9114
9115 * insdel.c (insert_from_gap): Call record_insert.
9116
9117 2008-02-01 Kenichi Handa <handa@m17n.org>
9118
9119 * casefiddle.c (casify_region): Fix multibyte case.
9120
9121 * character.c (c_string_width): Add return type `int'.
9122 (char_string_with_unification): Delete arg ADVANCED.
9123
9124 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
9125 (CHAR_STRING): Adjust for the change of char_string_with_unification.
9126 (CHAR_STRING_ADVANCE): Make it do-while statement.
9127
9128 * chartab.c (sub_char_table_set_range): Optimize for the case
9129 DEPTH == 3. Add workaround code for a GCC optimization bug.
9130
9131 * charset.c (parse_charset_map): Remove an unused variable.
9132
9133 * coding.c: Delete unused variables.
9134
9135 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
9136 earlier. If inserted is zero and the coding system doesn't
9137 require flushing, don't call decode_coding_gap.
9138
9139 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
9140
9141 2008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 The following changes are for using Unicode as an internal
9144 character model, and use UTF-8 format for buffer/string
9145 representation.
9146
9147 * .gdbinit (xchartable): Adjust for the change of char table structure.
9148 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
9149
9150 * Makefile.in (obj): Add character.o and chartab.o.
9151 (lisp, shortlisp): Remove utf-8.elc.
9152 (*.o): For many files, change dependency on charset.h to
9153 character.h, and add dependency on character.h.
9154 (character.o, chartab.o): New targets.
9155
9156 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
9157 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
9158 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
9159 of "charset.h".
9160
9161 * dired.c, filelock.c: Include "character.h".
9162
9163 * alloc.c: Include "character.h" instead of "charset.h".
9164 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
9165 (syms_of_alloc): Remove defsubr for Smake_char_table.
9166
9167 * buffer.c: Include "character.h" instead of "charset.h", don't
9168 include "coding.h".
9169 (Fset_buffer_multibyte): Adjust for UTF-8.
9170
9171 * buffer.h: EXFUN Fbuffer_live_p.
9172
9173 * callproc.c: Include "character.h" instead of "charset.h".
9174 (Fcall_process): Big change for the new code-conversion APIs.
9175
9176 * casetab.c: Include "character.h" instead of "charset.h".
9177 (set_canon, set_identity, shuffle): Adjust for the new
9178 map_char_table spec.
9179 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
9180 accessing the char table structure.
9181
9182 * chartab.c: New file that implements char table.
9183
9184 * category.c: Include "character.h".
9185 (copy_category_entry): New function.
9186 (copy_category_table): Call map_char_table and copy_category_entry.
9187 (Fmake_category_table): Initialize all top-vel slots.
9188 (char_category_set): New function.
9189 (modify_lower_category_set): Delete.
9190 (Fmodify_category_entry): Call char_table_ref_and_range.
9191
9192 * category.h (CATEGORY_SET): Just call char_category_set.
9193
9194 * ccl.c: Include "character.h".
9195 (Qccl, Qcclp): New variables.
9196 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
9197 it's less than 256.
9198 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
9199 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
9200 and DST type.
9201 (ccl_driver): Change types of argument, adjust code accordingly.
9202 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
9203 ccl_driver.
9204 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
9205
9206 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
9207 New members src_multibyte, dst_multibyte, consumed, and produced.
9208 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
9209 (CODING_SPEC_CCL_PROGRAM): New macro.
9210 (ccl_driver): Update prototype.
9211 (Qccl, Qcclp, Fccl_program_p): Extern them.
9212 (CHECK_CCL_PROGRAM): New macro.
9213
9214 * character.c, character.h, chartab.c: New files.
9215
9216 * charset.c: Mostly re-written. Move character and multibyte sequence
9217 handling codes to character.c.
9218
9219 * charset.h: Mostly re-written. Move character and multibyte sequence
9220 handling codes to character.h.
9221
9222 * coding.c, coding.h: Mostly re-written.
9223
9224 * composite.c: Include "character.h" instead of "charset.h".
9225 (CHAR_WIDTH): Move to character.h.
9226 (HASH_KEY, HASH_VALUE): Delete.
9227
9228 * composite.h (enum composition_method): Change order of enumeration
9229 symbols.
9230
9231 * data.c: Include "character.h" instead of "charset.h".
9232 (Faref): Call CHAR_TABLE_REF for a char table.
9233 (Faset): Call CHAR_TABLE_SET for a char table.
9234
9235 * dispextern.h (free_realized_face, check_face_attribytes)
9236 (generate_ascii_font): Extern them.
9237 (free_realized_multibyte_face): Delete extern.
9238
9239 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
9240 table structure.
9241
9242 * editfns.c: Include "character.h" instead of "charset.h".
9243 (Fchar_to_string): Always call CHAR_STRING.
9244
9245 * emacs.c (main): Call init_charset_once, init_charset,
9246 syms_of_chartab, and syms_of_character.
9247
9248 * fileio.c: Include "character.h" instead of "charset.h".
9249 (Finsert_file_contents): Big change for the new code-conversion API.
9250 (choose_write_coding_system, Fwrite_region): Likewise.
9251 (build_annotations_2): Delete.
9252 (e_write): Big change for the new code-conversion API.
9253
9254 * fns.c: Include "character.h" instead of "charset.h".
9255 (copy_sub_char_table): Move to chartab.c.
9256 (Fcopy_sequence): Call copy_char_table for a char table.
9257 (concat): Delete codes calling count_multibyte.
9258 (string_char_to_byte, string_byte_to_char): Adjust for the new
9259 multibyte form.
9260 (internal_equal): Adjust for the change of char table structure.
9261 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
9262 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
9263 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
9264 (char_table_translate, optimize_sub_char_table)
9265 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
9266 chartab.c.
9267 (char_table_ref_and_index): Delete.
9268 (HASH_KEY, HASH_VALUE): Move to lisp.h.
9269 (Fmd5): Call preferred_coding_system instead of accessing
9270 Vcoding_category_list. Adjust for the new code-conversion API.
9271 (syms_of_fns): Move defsubr for char table related functions to
9272 chartab.c.
9273
9274 * fontset.c: Mostly re-written.
9275
9276 * fontset.h (struct font_info): Change type of the member encoding_type.
9277 (enum FONT_SPEC_INDEX): New enum.
9278 (fontset_font_pattern, fs_load_font): Update prototype.
9279 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
9280
9281 * indent.c: Include "character.h" instead of "charset.h".
9282 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
9283
9284 * insdel.c: Include "character.h" instead of "charset.h".
9285 (copy_text): Don't refer to Vnonascii_translation_table.
9286 (insert_from_gap): New function.
9287
9288 * keyboard.c: Include "character.h" instead of "charset.h".
9289 (command_loop_1): Never call direct_output_forward_char before
9290 a non-ASCII character.
9291 (read_char): If Vkeyboard_translate_table is a char table, always
9292 translate a character.
9293
9294 * keymap.c: Include "character.h".
9295 (store_in_keymap): Handle the case that IDX is a cons.
9296 (Fdefine_key): Handle the case that KEY is a cons and the car part
9297 is also a cons (range).
9298 (push_key_description): Adjust for the new character code.
9299 (describe_vector): Call describe_char_table for a char table.
9300 (describe_char_table): New function.
9301
9302 * keymap.h (describe_char_table): Extern it.
9303
9304 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
9305 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
9306 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
9307 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
9308 Delete.
9309 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
9310 structure.
9311 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
9312 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
9313 (CHARTAB_SIZE_BITS_3): New macros.
9314 (chartab_size): Extern it.
9315 (struct Lisp_Char_Table): Re-design.
9316 (struct Lisp_Sub_Char_Table): New structure.
9317 (HASH_KEY, HASH_VALUE): Move from fns.c.
9318 (CHARACTERBITS): Define as 22.
9319 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
9320 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
9321 (GC_SUB_CHAR_TABLE_P): New macro.
9322 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
9323 (code_convert_string_norecord): Deleted extern.
9324 (init_character_once, syms_of_character, init_charset)
9325 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
9326
9327 * lread.c: Include "character.h".
9328 (read_multibyte): New arg NBYTES.
9329 (read_escape): Change the meaning of returned *BYTEREP.
9330 (to_multibyte): Delete.
9331 (read1): Adjust the handling of char table and string.
9332
9333 * print.c: Include "character.h" instead of "charset.h".
9334 (print_string): Convert 8-bit raw bytes to octal form by
9335 string_escape_byte8.
9336 (print_object): Adjust for the new multibyte form. Print 8-bit
9337 raw bytes always in octal form. Handle sub char table correctly.
9338
9339 * process.c: Include "character.h" instead of "charset.h".
9340 (read_process_output, send_process): Adjust for the new
9341 code-conversion API.
9342
9343 * puresize.h (BASE_PURESIZE): Increase.
9344
9345 * regex.c: Include "character.h" instead of "charset.h".
9346 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
9347 (regex_compile): Accept a range whose starting and ending
9348 character have different leading bytes.
9349 (analyse_first): Adjust for the above change.
9350
9351 * search.c: Include "character.h" instead of "charset.h".
9352 (search_buffer, boyer_moore): Adjust for the new multibyte form.
9353 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
9354
9355 * syntax.c: Include "character.h" instead of "charset.h".
9356 (syntax_parent_lookup): Delete.
9357 (Fmodify_syntax_entry): Accept a cons as CHAR.
9358 (skip_chars): Adjust for the new multibyte form.
9359 (init_syntax_once): Call char_table_set_range instead of directly
9360 accessing the structure of a char table.
9361
9362 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
9363 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
9364 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
9365 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
9366
9367 * term.c: Include "buffer.h" and "character.h".
9368 (encode_terminal_code, write_glyphs): Adjust for the new
9369 code-conversion API.
9370 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
9371
9372 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
9373
9374 * xdisp.c: Include "character.h".
9375 (get_next_display_element): Adjust for the new multibyte form.
9376 (disp_char_vector): Adjust for the new char table structure.
9377 (decode_mode_spec_coding): Adjust for the new structure of
9378 coding system.
9379 (decode_mode_spec): Adjust for the new code-conversion API.
9380
9381 * xfaces.c: Include "character.h" instead of "charset.h".
9382 (load_face_font): Adjust for the change of choose_face_font and
9383 FS_LOAD_FONT.
9384 (generate_ascii_font): New function.
9385 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
9386 (set_font_frame_param): Adjust for the change of choose_face_font.
9387 (free_realized_face): Make it public.
9388 (free_realized_faces_for_fontset): Rename from
9389 free_realized_multibyte_face. Free also faces realized for ASCII.
9390 (choose_face_font): Change arguments. Adjust for the change of
9391 fontset_font_pattern and FS_LOAD_FONT.
9392
9393 * xfns.c: Include "character.h".
9394 (x_encode_text): Adjust for the new code-conversion API.
9395
9396 * xselect.c: Don't include "charset.h".
9397 (selection_data_to_lisp_data): Adjust for the new code conversion API.
9398
9399 * xterm.c: Include "character.h".
9400 (x_encode_char): New argument CHARSET. Change caller.
9401 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
9402 Call ENCODE_CHAR instead of SPLIT_CHAR.
9403 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
9404 CHAR_WIDTH instead of CHARSET_WIDTH.
9405 (XTread_socket): Adjust for the new code-conversion API.
9406 (x_new_font): Adjust for the change of FS_LOAD_FONT.
9407 (x_load_font): Adjust for the change of struct font.
9408
9409 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9410
9411 * xfaces.c (face_at_buffer_position): Remove unused vars.
9412
9413 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9414
9415 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
9416 Fix overflow checking.
9417
9418 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9419
9420 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
9421 Cancel previous change.
9422
9423 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
9424
9425 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
9426 ccl->eight_bit_control. Fix check for buffer overflow.
9427 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
9428 (ccl_driver): Initialize extra_bytes to 0.
9429
9430 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
9431
9432 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
9433 return it ORed with ctrl_modifier.
9434
9435 2008-01-29 Miles Bader <miles@gnu.org>
9436
9437 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
9438
9439 2008-01-28 Jason Rumney <jasonr@gnu.org>
9440
9441 * w32.c (stat): Don't double check for networked drive.
9442
9443 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
9444
9445 * window.c (run_window_configuration_change_hook): New function.
9446 Code extracted from set_window_buffer. Set the selected frame.
9447 (set_window_buffer): Use it.
9448 * window.h (run_window_configuration_change_hook): Declare.
9449 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
9450
9451 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
9452
9453 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
9454
9455 * Makefile.in: Remove references to unused macros.
9456
9457 2008-01-26 Eli Zaretskii <eliz@gnu.org>
9458
9459 * w32.c (g_b_init_get_sid_sub_authority)
9460 (g_b_init_get_sid_sub_authority_count): New static variables.
9461 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
9462 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
9463 (init_user_info): Use them to retrieve uid and gid.
9464 Use 500/513, the Windows defaults, as Administrator's uid/gid.
9465 (fstat): Use pw_uid and pw_gid from the_passwd structure for
9466 st_uid and st_gid of the file.
9467
9468 2008-01-26 Jason Rumney <jasonr@gnu.org>
9469
9470 * w32.c (logon_network_drive): New function.
9471 (stat): Use it.
9472
9473 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
9474
9475 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
9476 invisible text covered with an ellipsis.
9477
9478 2008-01-25 Richard Stallman <rms@gnu.org>
9479
9480 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
9481 jump back to beginning. Move some other initializations after that.
9482 (Qwindow_text_change_functions, Vwindow_text_change_functions):
9483 New variables.
9484 (syms_of_xdisp): Init them.
9485
9486 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
9487
9488 * buffer.c (reset_buffer_local_variables):
9489 Implement `permanent-local-hook'.
9490 (Qpermanent_local_hook): New variable.
9491 (syms_of_buffer): Init and staticpro it.
9492
9493 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
9494
9495 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
9496
9497 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
9498
9499 * fns.c (Fclrhash): Return TABLE.
9500
9501 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9502
9503 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
9504 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
9505 is set even without positional changes.
9506 (x_scroll_bar_clear): Set bar->redraw_needed_p.
9507
9508 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
9509
9510 2008-01-23 Jason Rumney <jasonr@gnu.org>
9511
9512 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
9513
9514 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
9515 the unicode range available in MULE by locale-coding-system.
9516 Improve dbcs lead byte detection. Set event timestamp and modifiers
9517 earlier.
9518
9519 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9520
9521 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
9522 [MAC_OSX] (init_mac_osx_environment): Initialize it.
9523 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
9524 when used on child processes.
9525
9526 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
9527
9528 * dbusbind.c (Fdbus_method_return_internal): Rename from
9529 Fdbus_method_return.
9530 (Fdbus_unregister_object): Move to dbus.el.
9531 (Fdbus_call_method, Fdbus_method_return_internal)
9532 (Fdbus_send_signal): Improve debug messages.
9533
9534 2008-01-20 Martin Rudalics <rudalics@gmx.at>
9535
9536 * undo.c (undo_inhibit_record_point): New variable.
9537 (syms_of_undo): Initialize it.
9538 (record_point): Don't record point when undo_inhibit_record_point
9539 is set.
9540
9541 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
9542
9543 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
9544
9545 * xdisp.c (Qauto_hscroll_mode): New var.
9546 (syms_of_xdisp): Initialize it.
9547 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
9548 window's buffer.
9549 (hscroll_windows): Don't check automatic_hscrolling_p here.
9550
9551 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
9552 vscroll if we're setting window-buffer to the value it already has.
9553
9554 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
9555
9556 * m/intel386.h: Remove references to XENIX.
9557
9558 2008-01-17 Andreas Schwab <schwab@suse.de>
9559
9560 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
9561 instead of HAVE_X86_64_LIB64_DIR.
9562 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
9563
9564 2008-01-17 Glenn Morris <rgm@gnu.org>
9565
9566 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
9567 to HAVE_X86_64_LIB64_DIR.
9568
9569 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
9570
9571 * s/irix3-3.h:
9572 * s/irix4-0.h:
9573 * s/386-ix.h:
9574 * s/domain.h:
9575 * s/hpux9-x11r4.h:
9576 * s/hpux9shxr4.h: Remove files for systems no longer supported.
9577
9578 * sysdep.c: Remove code containing references to symbols defined
9579 by unsupported systems.
9580
9581 2008-01-16 Glenn Morris <rgm@gnu.org>
9582
9583 * coding.c (select-safe-coding-system-function): Doc fix.
9584
9585 2008-01-15 Glenn Morris <rgm@gnu.org>
9586
9587 * config.in: Revert 2008-01-13 change: this is a generated file.
9588
9589 2008-01-13 Tom Tromey <tromey@redhat.com>
9590
9591 * lisp.h: Fix typo.
9592
9593 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
9594
9595 * m/sequent-ptx.h:
9596 * m/sequent.h:
9597 * s/ptx.h:
9598 * s/ptx4-2.h:
9599 * s/ptx4.h: Remove files for systems no longer supported.
9600
9601 * callproc.c (Fcall_process): Fix previous change.
9602
9603 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
9604
9605 * unexsunos4.c: Remove file, system not supported anymore.
9606
9607 * m/mips.h:
9608 * m/intel386.h:
9609 * callproc.c:
9610 * config.in:
9611 * ecrt0.c:
9612 * emacs.c:
9613 * fileio.c:
9614 * frame.c:
9615 * getpagesize.h:
9616 * keyboard.c:
9617 * lread.c:
9618 * process.c:
9619 * puresize.h:
9620 * sysdep.c:
9621 * systty.h:
9622 * syswait.h:
9623 * unexec.c:
9624 * xdisp.c:
9625 * alloc.c: Remove code containing references to symbols defined by
9626 unsupported systems.
9627
9628 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
9629
9630 * coding.c (detect_coding_mask): Fix previous change.
9631
9632 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
9633
9634 * coding.c (detect_coding_iso2022): New arg
9635 latin_extra_code_state. Allow Latin extra codes only
9636 when *latin_extra_code_state is nonzero.
9637 (detect_coding_mask): If there is a NULL byte, detect the encoding
9638 as UTF-16 or binary. If Latin extra codes exist, detect the
9639 encoding as ISO-2022 only when there's no other proper encoding is
9640 found.
9641
9642 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9643
9644 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
9645 #ifdef MAC_OS.
9646
9647 2008-01-08 Richard Stallman <rms@gnu.org>
9648
9649 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
9650
9651 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
9652
9653 * keyboard.c (parse_menu_item): Don't enclose key bindings on
9654 menu bar in parentheses.
9655
9656 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
9657
9658 * m/7300.h:
9659 * m/acorn.h:
9660 * m/alliant-2800.h:
9661 * m/alliant.h:
9662 * m/alliant1.h:
9663 * m/alliant4.h:
9664 * m/altos.h:
9665 * m/amdahl.h:
9666 * m/apollo.h:
9667 * m/att3b.h:
9668 * m/aviion-intel.h:
9669 * m/aviion.h:
9670 * m/celerity.h:
9671 * m/clipper.h:
9672 * m/cnvrgnt.h:
9673 * m/convex.h:
9674 * m/cydra5.h:
9675 * m/delta88k.h:
9676 * m/dpx2.h:
9677 * m/dual.h:
9678 * m/elxsi.h:
9679 * m/f301.h:
9680 * m/gould-np1.h:
9681 * m/gould.h:
9682 * m/i860.h:
9683 * m/ibmps2-aix.h:
9684 * m/ibmrt-aix.h:
9685 * m/ibmrt.h:
9686 * m/irist.h:
9687 * m/is386.h:
9688 * m/isi-ov.h:
9689 * m/mega68.h:
9690 * m/mg1.h:
9691 * m/news-r6.h:
9692 * m/news-risc.h:
9693 * m/news.h:
9694 * m/nh3000.h:
9695 * m/nh4000.h:
9696 * m/ns16000.h:
9697 * m/ns32000.h:
9698 * m/nu.h:
9699 * m/orion.h:
9700 * m/orion105.h:
9701 * m/paragon.h:
9702 * m/pfa50.h:
9703 * m/plexus.h:
9704 * m/pyramid.h:
9705 * m/pyrmips.h:
9706 * m/sh3el.h:
9707 * m/sps7.h:
9708 * m/sr2k.h:
9709 * m/stride.h:
9710 * m/sun1.h:
9711 * m/sun2.h:
9712 * m/sun3-68881.h:
9713 * m/sun3-fpa.h:
9714 * m/sun3-soft.h:
9715 * m/sun3.h:
9716 * m/sun386.h:
9717 * m/symmetry.h:
9718 * m/tad68k.h:
9719 * m/tahoe.h:
9720 * m/targon31.h:
9721 * m/tek4300.h:
9722 * m/tekxd88.h:
9723 * m/tower32.h:
9724 * m/tower32v3.h:
9725 * m/ustation.h:
9726 * m/wicat.h:
9727 * m/xps100.h:
9728 * s/cxux.h:
9729 * s/cxux7.h:
9730 * s/dgux.h:
9731 * s/dgux4.h:
9732 * s/dgux5-4-3.h:
9733 * s/dgux5-4r2.h:
9734 * s/esix.h:
9735 * s/esix5r4.h:
9736 * s/hiuxmpp.h:
9737 * s/hiuxwe2.h:
9738 * s/iris3-5.h:
9739 * s/iris3-6.h:
9740 * s/isc2-2.h:
9741 * s/isc3-0.h:
9742 * s/isc4-0.h:
9743 * s/isc4-1.h:
9744 * s/newsos5.h:
9745 * s/newsos6.h:
9746 * s/osf1.h:
9747 * s/osf5-0.h:
9748 * s/riscix1-1.h:
9749 * s/riscix12.h:
9750 * s/sco4.h:
9751 * s/sco5.h:
9752 * s/sunos4-0.h:
9753 * s/sunos4-1.h:
9754 * s/sunos413.h:
9755 * s/sunos4shr.h:
9756 * s/umax.h:
9757 * s/unipl5-2.h:
9758 * s/xenix.h:
9759 * cxux-crt0.s:
9760 * unexapollo.c:
9761 * unexconvex.c:
9762 * unexenix.c:
9763 * unexsni.c: Remove files for systems no longer supported.
9764
9765 * m/intel386.h: Remove references to unsupported systems.
9766
9767 * w32.c (get_emacs_configuration): Remove reference to i860.
9768
9769 * sysdep.c: Remove dead code.
9770
9771 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
9772
9773 * s/rtu.h:
9774 * m/masscomp.h: Remove files. Platform is obsolete.
9775
9776 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
9777
9778 * dbusbind.c (Fdbus_method_return): New function.
9779 (xd_read_message): Add the serial number to the event.
9780 (Fdbus_register_method): Activate the function.
9781
9782 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
9783
9784 * keyboard.c (read_key_sequence): Fix typo.
9785
9786 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
9787
9788 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
9789 (xd_signature, xd_append_arg): Handle element type detection for
9790 empty arrays.
9791 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
9792 SDATA () calls; this must be solved more general.
9793 (Fdbus_register_signal): Use SBYTES instead of strlen.
9794
9795 2008-01-03 Magnus Henoch <magnus@zemdatav>
9796
9797 * dbusbind.c (xd_append_arg): Use unsigned char instead of
9798 unsigned int for byte values (necessary for big-endian platform).
9799 (Fdbus_call_method): Handle the case of no returned arguments.
9800
9801 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
9802
9803 * dbusbind.c (xd_read_message): Use non-static input_event struct.
9804
9805 2007-12-31 Magnus Henoch <mange@freemail.hu>
9806
9807 * dbusbind.c (xd_signature): Signature of variant is just "v".
9808
9809 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
9810
9811 * dbusbind.c: Fix several errors and compiler warnings.
9812 Reported by Tom Tromey <tromey@redhat.com>.
9813 (XD_ERROR, XD_DEBUG_MESSAGE)
9814 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
9815 (xd_append_arg): Part for basic D-Bus types rewitten.
9816 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
9817 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
9818 appropriate.
9819 (xd_read_message): Return Qnil. Don't signal an error; it is not
9820 useful during event reading.
9821 (Fdbus_register_signal): Signal an error if the check for
9822 FUNCTIONP fails.
9823 (Fdbus_register_method): New function. The implementation is not
9824 complete, the call of the function signals an error therefore.
9825 (Fdbus_unregister_object): New function, renamed from
9826 Fdbus_unregister_signal. The initial check signals an error, if
9827 the object is not well formed.
9828
9829 2007-12-30 Richard Stallman <rms@gnu.org>
9830
9831 * textprop.c (get_char_property_and_overlay):
9832 Signal error if POSITION is out of range in a buffer.
9833
9834 2007-12-29 Martin Rudalics <rudalics@gmx.at>
9835
9836 * w32fns.c (Fx_create_frame): Make copy of frame parameters
9837 because the original parameters are in pure storage now.
9838
9839 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9840
9841 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
9842
9843 2007-12-22 Eli Zaretskii <eliz@gnu.org>
9844
9845 * callint.c (syms_of_callint) <command-history>: Add reference to
9846 history-length in the doc string.
9847
9848 2007-12-17 Jason Rumney <jasonr@gnu.org>
9849
9850 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
9851 before passing as wParam.
9852
9853 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
9854
9855 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
9856 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
9857 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
9858 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
9859 as number.
9860 (Fdbus_call_method): Fix docstring.
9861
9862 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
9863
9864 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
9865 New macros.
9866 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
9867 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
9868 Simplify.
9869 (xd_signature): New function.
9870 (xd_append_arg): Compute also signatures. Major rewrite.
9871 (xd_retrieve_arg): Make debug messages friendly.
9872 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
9873 Check for signatures of arguments.
9874
9875 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
9876
9877 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
9878 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
9879 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
9880 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
9881 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
9882 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
9883 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
9884 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
9885 (xd_retrieve_value): Remove. Functionality included in ...
9886 (xd_append_arg): New function.
9887 (Fdbus_call_method, Fdbus_send_signal): Apply it.
9888
9889 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
9890
9891 * dbusbind.c (top): Include <stdio.h>.
9892 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
9893 dbus_message_new_method_call and dbus_message_new_signal.
9894 (Fdbus_register_signal): Rename unique_name to uname.
9895 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
9896 non-existing unique name. Fix typos in matching rule. Return an
9897 object which is useful in Fdbus_unregister_signal.
9898 (Fdbus_unregister_signal): Reimplementation, in order to remove
9899 only the corresponding entry.
9900 (Vdbus_registered_functions_table): Change the order of entries.
9901 Apply these changes in xd_read_message and Fdbus_register_signal.
9902
9903 2007-12-16 Andreas Schwab <schwab@suse.de>
9904
9905 * fileio.c (Finsert_file_contents): Fix overflow check to not
9906 depend on undefined integer overflow.
9907
9908 2007-12-14 Jason Rumney <jasonr@gnu.org>
9909
9910 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
9911 for characters above 127.
9912
9913 2007-12-13 Jason Rumney <jasonr@gnu.org>
9914
9915 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
9916 before dereferencing array.
9917 (lookup_vk_code): Remove zero comparison.
9918
9919 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
9920
9921 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
9922 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
9923 Use `unsigned int' instead of `uint'.
9924 (xd_read_message, Fdbus_register_signal): Split expressions into
9925 multiple lines before operators "&&" and "||", according to the
9926 GNU Coding Standards.
9927
9928 2007-12-14 Eli Zaretskii <eliz@gnu.org>
9929
9930 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
9931
9932 2007-12-12 Juri Linkov <juri@jurta.org>
9933
9934 * buffer.c (Frename_buffer): In interactive spec replace
9935 `read-buffer' with `read-string' that uses `buffer-name-history'
9936 as history, and the current buffer's name as default.
9937
9938 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
9939
9940 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
9941 manipulating the backtrace manually.
9942 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
9943 (struct backtrace, backtrace_list): Remove.
9944 (command_loop_1): Remove dead var `no_direct'.
9945
9946 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
9947 preserve non-built-in buffer-local variables.
9948 (Fkill_all_local_variables): Don't re-create&re-set permanent
9949 buffer-local variables.
9950
9951 2007-12-09 Juri Linkov <juri@jurta.org>
9952
9953 * buffer.c (Frename_buffer): Change interactive spec from "s" to
9954 Lisp code that uses `read-buffer' with current buffer as default.
9955
9956 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
9957
9958 * dbusbind.c (xd_read_message): Generate an event for every
9959 registered handler. There might be several handlers registered
9960 for the same signal.
9961 (Fdbus_register_signal): Don't overwrite a registration for the
9962 same signal. Add a new registration if handlers are different.
9963 (Vdbus_registered_functions_table): Rework doc string.
9964
9965 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
9966
9967 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
9968 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
9969 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
9970 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
9971 Unify argument lists.
9972 (xd_read_message, Fdbus_register_signal): Reorder and extend event
9973 arguments and hash table keys. Use unique name for service.
9974 (Fdbus_unregister_signal): Remove checks.
9975 (Vdbus_registered_functions_table): Fix doc string.
9976
9977 2007-12-05 Magnus Henoch <mange@freemail.hu>
9978
9979 * process.c (make_process): Initialize pty_flag to 0.
9980
9981 2007-12-05 Jason Rumney <jasonr@gnu.org>
9982
9983 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
9984 specified XBMs.
9985
9986 2007-12-05 Richard Stallman <rms@gnu.org>
9987
9988 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
9989
9990 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9991
9992 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
9993 New variable.
9994 (mac_try_close_socket) [MAC_OSX]: New function.
9995 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
9996 Update cfsockets_for_select. Replace invalid CFRunLoop source.
9997
9998 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
9999 Use mac_try_close_socket.
10000
10001 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10002
10003 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
10004 reloc_base.
10005 (copy_dysymtab): Compute relocation base here.
10006 (rebase_reloc_address) [__ppc64__]: New function.
10007 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
10008 changed.
10009
10010 2007-12-05 Jason Rumney <jasonr@gnu.org>
10011
10012 * w32proc.c (sys_spawnve): Quote args with wildcards.
10013
10014 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10015
10016 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
10017 __objc_* sections.
10018 (unrelocate) [_LP64]: Set relocation base to address of data segment.
10019
10020 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
10021
10022 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
10023 Move check for Vdbus_registered_functions_table to
10024 xd_read_queued_messages.
10025 (xd_read_queued_messages): Protect xd_read_message calls by
10026 internal_condition_case_1.
10027
10028 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
10029
10030 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
10031 Qdbus_system_bus and Qdbus_session_bus, respectively.
10032 (Vdbus_intern_symbols): Remove.
10033 (Vdbus_registered_functions_table): New hash table.
10034 (XD_SYMBOL_INTERN_SYMBOL): Remove.
10035 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
10036 Rewrite in order to manage registered functions by hash table
10037 Vdbus_registered_functions_table.
10038
10039 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
10040
10041 * xterm.c: Update URL to Window Manager Specification in comment.
10042
10043 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
10044
10045 * config.in (HAVE_DBUS): Add.
10046
10047 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
10048 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
10049 (obj): Add $(DBUS_OBJ).
10050 (LIBES): Add $(DBUS_LIBS).
10051 (dbusbind.o): New target.
10052
10053 * dbusbind.c: New file.
10054
10055 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
10056
10057 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
10058 (Qdbus_event): New Lisp symbol.
10059 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
10060 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
10061 (keys_of_keyboard ): Define dbus-event.
10062
10063 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
10064
10065 2007-12-01 Richard Stallman <rms@gnu.org>
10066
10067 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
10068
10069 2007-11-30 Jason Rumney <jasonr@gnu.org>
10070
10071 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
10072 (w32con_reset_terminal_modes): Clear screen buffer.
10073 (w32_face_attributes): Don't use color indexes that are out of range.
10074 Only reverse the default colors.
10075
10076 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
10077 WINDOWSNT.
10078
10079 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
10080
10081 2007-11-29 Jason Rumney <jasonr@gnu.org>
10082
10083 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
10084 (w32_face_attributes): Use Vtty_defined_color_alist to determine
10085 if the terminal colors are initialized.
10086 (unspecified_fg, unspecified_bg): Remove unused declarations.
10087
10088 2007-11-29 Andreas Schwab <schwab@suse.de>
10089
10090 * keyboard.c (apply_modifiers): Fix typo.
10091
10092 2007-11-29 Richard Stallman <rms@gnu.org>
10093
10094 * keymap.c (Fcurrent_local_map): Doc fix.
10095
10096 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
10097
10098 * s/gnu-kfreebsd.h: New file.
10099
10100 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
10101
10102 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
10103 Don't cast redundantly.
10104
10105 * keyboard.c (KEY_TO_CHAR): New macro.
10106 (parse_modifiers, apply_modifiers): Accept integer arguments.
10107 (read_key_sequence): Use them to unify the "shift->unshift" mapping
10108 for chars and symbol keys.
10109 After doing such remapping, apply function-key-map again.
10110
10111 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
10112
10113 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
10114 compiled anymore.
10115
10116 2007-11-26 Andreas Schwab <schwab@suse.de>
10117
10118 * process.c (list_processes_1): Fix indentation level of the
10119 command column.
10120
10121 2007-11-23 Andreas Schwab <schwab@suse.de>
10122
10123 * editfns.c (Fformat): Handle %c specially since it requires the
10124 argument to be of type int.
10125
10126 2007-11-23 Markus Triska <markus.triska@gmx.at>
10127
10128 * emacs.c (main): Call init_editfns before init_process, since
10129 init_process sets Vprocess_connection_type depending on OS release.
10130
10131 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
10132
10133 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
10134 (find_symbol_value): Use do_symval_forwarding.
10135
10136 * data.c (set_internal): Set the value in the `cons-cell' (for
10137 Buffer_Local_values) not only for frame-local variables.
10138
10139 2007-11-22 Andreas Schwab <schwab@suse.de>
10140
10141 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
10142 values to sprintf.
10143 * keymap.c (Fsingle_key_description): Likewise.
10144 * print.c (print_object): Likewise.
10145
10146 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
10147
10148 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
10149 file for image is nil.
10150
10151 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
10152
10153 * term.c: Include stdarg.h.
10154 (fatal): Implement using varargs.
10155 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
10156
10157 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10158
10159 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
10160 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
10161 Update call to buffer_slot_type_mismatch.
10162 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
10163 (buffer_slot_type_mismatch): Update.
10164 * buffer.c (buffer_local_types): Remove.
10165 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
10166 (defvar_per_buffer): Set the type in the buffer_objfwd.
10167
10168 2007-11-21 Jason Rumney <jasonr@gnu.org>
10169
10170 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
10171 CreateFileMapping returns NULL on failure.
10172
10173 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10174
10175 * search.c (Fset_match_data): Remove the `evaporate' feature.
10176 (unwind_set_match_data): Don't use the `evaporate' feature.
10177
10178 2007-11-21 Jason Rumney <jasonr@gnu.org>
10179
10180 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
10181
10182 * w32console.c (w32con_write_glyphs): Remove unused variables.
10183
10184 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
10185
10186 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
10187
10188 * s/darwin.h (MULTI_KBOARD): Remove.
10189
10190 * macfns.c (x_create_tip_frame, Fx_create_frame)
10191 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
10192
10193 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
10194
10195 * buffer.c (Fbuffer_local_value): Remove redundant test.
10196 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
10197 than in `current-buffer' to match the comment.
10198 Do the swap using swap_in_global_binding.
10199
10200 * data.c (store_symval_forwarding, set_internal):
10201 * eval.c (specbind): Remove dead code.
10202
10203 * coding.c (detect_coding, Fupdate_coding_systems_internal):
10204 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
10205 Since we do not want to see internal Lisp_*fwd objects here.
10206
10207 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
10208
10209 * sysdep.c (init_system_name): Use getaddrinfo if available.
10210
10211 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
10212 (x_scroll_bar_note_movement): start, end, with, height in struct
10213 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
10214
10215 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
10216
10217 * puresize.h (BASE_PURESIZE): Increase to 1190000.
10218
10219 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
10220
10221 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
10222 This undoes Richard's change of 14-Oct-2002.
10223
10224 * alloc.c (allocate_other_vector):
10225 * lisp.h (allocate_other_vector): Remove.
10226
10227 * window.c (struct save_window_data): Move non-lisp data to the end
10228 and make it `int' rather than Lisp_Object.
10229 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
10230 Done wrap/unwrap integer values.
10231 (Fset_window_configuration, compare_window_configurations):
10232 Update use of fields to their new types.
10233
10234 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
10235 Turn integer fields into `int'. Merge x_window_low and x_window_high.
10236 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
10237 (SET_SCROLL_BAR_X_WINDOW): Remove.
10238 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
10239 Access the new x_window field directly.
10240 * xterm.c (x_scroll_bar_create): Use a pseudovector.
10241 Don't wrap/unwrap integers into Lisp_Objects.
10242 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
10243 (x_scroll_bar_report_motion):
10244 Don't wrap/unwrap integers into Lisp_Objects.
10245 (x_term_init): Use SDATA.
10246 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
10247 (x_scroll_bar_set_handle, x_scroll_bar_remove)
10248 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
10249 (x_scroll_bar_report_motion, x_scroll_bar_clear):
10250 * xfns.c (x_set_background_color):
10251 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
10252 Access the new x_window field directly.
10253
10254 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
10255 (allocate_pseudovector): Make non-static.
10256
10257 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
10258 (allocate_pseudovector): Declare.
10259 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
10260
10261 2007-11-15 Andreas Schwab <schwab@suse.de>
10262
10263 * editfns.c (Fformat): Correctly format EMACS_INT values.
10264 Also take precision into account when formatting an integer.
10265
10266 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
10267
10268 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
10269
10270 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
10271 (syms_of_keyboard): Defsubr it.
10272
10273 * data.c (swap_in_global_binding): Fix longstanding bug where
10274 store_symval_forwarding was not called with the right second argument,
10275 thus causing objfwd-ing from being dropped.
10276
10277 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
10278
10279 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
10280 (Fx_display_pixel_height, Fx_display_planes)
10281 (Fx_display_color_cells, Fx_server_max_request_size)
10282 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10283 (Fx_display_visual_class, Fx_display_save_under):
10284 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
10285 (Fx_display_pixel_height, Fx_display_planes)
10286 (Fx_display_color_cells, Fx_server_max_request_size)
10287 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
10288 (Fx_display_mm_height, Fx_display_mm_width)
10289 (Fx_display_backing_store, Fx_display_visual_class)
10290 (Fw32_select_font, Fx_display_save_under):
10291 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
10292 (Fx_display_pixel_height, Fx_display_planes)
10293 (Fx_display_color_cells, Fx_server_max_request_size)
10294 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10295 (Fx_display_save_under): Fix typos in docstrings.
10296
10297 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
10298
10299 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
10300 corresponding to deleted entries; they are an implementation detail.
10301 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
10302 Remove variables.
10303 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
10304 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
10305 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
10306 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
10307 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
10308 (Fw32_define_rgb_color, Fw32_load_color_file)
10309 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
10310 Fix typos in docstrings.
10311 (Fx_server_version): Reflow docstring.
10312 (Fw32_shell_execute): Doc fixes.
10313
10314 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
10315
10316 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
10317 if w32_parse_hot_key returned nil.
10318
10319 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
10320
10321 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
10322
10323 2007-11-09 Jason Rumney <jasonr@gnu.org>
10324
10325 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
10326
10327 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
10328
10329 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
10330 Remove W32_SCROLL_BAR_CLICK_EVENT.
10331
10332 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
10333 Add MULTIMEDIA_KEY_EVENT.
10334
10335 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
10336 (lispy_multimedia_keys) [WINDOWSNT]: New array.
10337 (make_lispy_event) [WINDOWSNT]: Use it to translate
10338 MULTIMEDIA_KEY_EVENT.
10339
10340 * w32term.h (WM_APPCOMMAND): Define if not already.
10341 (GET_APPCOMMAND_LPARAM): Likewise.
10342
10343 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
10344 WM_APPCOMMAND.
10345
10346 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
10347 (syms_of_w32fns): Export and initialize it.
10348 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
10349
10350 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
10351
10352 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
10353 twice.
10354
10355 * xdisp.c (handle_face_prop): Fix last change.
10356
10357 2007-11-09 Richard Stallman <rms@gnu.org>
10358
10359 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
10360 not just for after-strings and before-strings.
10361 Call face_for_overlay_string and pass the overlay to it.
10362 (handle_display_prop): Determine whether property came from an overlay.
10363 Pass OVERLAY arg to handle_single_display_spec.
10364 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
10365 (load_overlay_strings): Fill in it->string_overlays.
10366 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
10367
10368 * xfaces.c (face_for_overlay_string): Function renamed from
10369 face_at_buffer_position_no_overlays, and add arg OVERLAY.
10370
10371 * dispextern.h (struct it): New elt string_overlays.
10372 New elt from_overlay, also in stack.
10373 Rearrange a few elements.
10374 (face_for_overlay_string): Decl renamed from
10375 face_at_buffer_position_no_overlays, and add argument.
10376
10377 2007-11-09 Richard Stallman <rms@gnu.org>
10378
10379 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
10380 to get the base face for an overlay string.
10381
10382 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
10383
10384 * xfaces.c (face_at_buffer_position_no_overlays): New function.
10385
10386 * xdisp.c (handle_stop): Move some code out of loop.
10387
10388 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10389
10390 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
10391 Fix conversion from Lisp object to ATSUFontID.
10392
10393 2007-11-09 Jason Rumney <jasonr@gnu.org>
10394
10395 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
10396
10397 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10398
10399 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
10400 Don't assume regions are aligned to page boundary.
10401 (print_load_command_name): Add LC_UUID if defined.
10402
10403 2007-11-09 Richard Stallman <rms@gnu.org>
10404
10405 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
10406
10407 2007-11-07 Jason Rumney <jasonr@gnu.org>
10408
10409 * s/windows95.h: Remove.
10410
10411 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
10412
10413 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
10414 abort with a message on unhandled store_type values.
10415
10416 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
10417
10418 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
10419 Remove HAVE_X11R5 and HAVE_X11R4.
10420
10421 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
10422
10423 * Makefile.in: Remove references to sunfns.c and sunfns.o.
10424
10425 2007-11-01 Johan Bockgård <bojohan@gnu.org>
10426
10427 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
10428 Don't set s->stippled_p here, since it has already been set by
10429 x_set_glyph_string_gc from x_draw_glyph_string.
10430
10431 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
10432
10433 * sunfns.c: Remove file.
10434
10435 * m/sun386.h:
10436 * m/sun2.h:
10437 * m/sparc.h: Remove Sun windows code.
10438
10439 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
10440
10441 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
10442 (init_keyboard): Set current_kboard's window-system to nil.
10443 (tty_read_avail_input): Typo.
10444 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
10445
10446 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
10447
10448 * s/usg5-4.h:
10449 * s/usg5-3.h:
10450 * s/ptx.h:
10451 * m/is386.h:
10452 * m/ibmps2-aix.h:
10453 * Makefile.in: Remove all mentions of X10.
10454
10455 * dispnew.c (syms_of_display): Don't mention version 10.
10456
10457 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
10458
10459 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
10460 ($(BLD)/abbrev.$(O)): Remove.
10461
10462 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
10463
10464 Rewrite abbrev.c in Elisp.
10465 * image.c (Qcount): Don't declare as extern.
10466 (syms_of_image): Initialize and staticpro `Qcount'.
10467 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
10468 * emacs.c (main): Don't call syms_of_abbrev.
10469 * Makefile.in (obj): Remove abbrev.o.
10470 (abbrev.o): Remove.
10471 * abbrev.c: Remove.
10472
10473 2007-10-26 Martin Rudalics <rudalics@gmx.at>
10474
10475 * window.c (window_min_size_2): Don't count header-line.
10476
10477 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
10478
10479 * frame.h (struct frame): Move all bit fields after the first bit
10480 field to take advantage of the available space. Group all the
10481 chars together to reduce wasted space due to padding.
10482
10483 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
10484
10485 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
10486
10487 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
10488 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
10489 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
10490 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
10491 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
10492 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
10493 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
10494 (last_marked, mark_object_loop_halt): Make static.
10495
10496 * frame.c (syms_of_frame) <delete-frame-functions>:
10497 Fix typo in docstring.
10498
10499 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
10500
10501 * w32.c (init_environment): Fix tiny memory leak.
10502 (w32_get_resource): Remove unused variable `ok'.
10503
10504 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
10505
10506 Make `window-system' into a keyboard-local variable (rather than
10507 frame-local as done originally by multi-tty).
10508
10509 * keyboard.h (struct kboard): Add Vwindow_system.
10510 * keyboard.c (init_kboard): Set a default for Vwindow_system.
10511 (mark_kboards): Mark Vwindow_system.
10512
10513 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
10514 (init_display): Don't set the obsolete `window-system' frame-param.
10515
10516 * xterm.c (x_term_init):
10517 * w32term.c (w32_create_terminal):
10518 * term.c (init_tty): Set Vwindow_system.
10519 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
10520 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
10521
10522 * xfns.c (Fx_create_frame, x_create_tip_frame):
10523 * w32fns.c (Fx_create_frame, x_create_tip_frame):
10524 * macfns.c (Fx_create_frame):
10525 Don't set the obsolete `window-system' frame-param.
10526
10527 * frame.h (Qwindow_system): Remove.
10528 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
10529 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
10530
10531 2007-10-24 Richard Stallman <rms@gnu.org>
10532
10533 * frame.c (x_figure_window_size): For fullscreen case,
10534 set USPosition | PPosition without clobbering rest of window_prompting.
10535
10536 * keyboard.c (Fcurrent_idle_time): Doc fix.
10537
10538 * print.c (Fwith_output_to_temp_buffer): Doc fix.
10539
10540 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
10541
10542 * process.c (unwind_request_sigio): Only define if __ultrix__.
10543
10544 * callproc.c (child_setup): Remove spurious *.
10545
10546 * lisp.h (Fget_text_property): Declare.
10547 (have_menus_p): Declare it here rather than in sys-dep header files.
10548 * macterm.h (have_menus_p):
10549 * msdos.h (have_menus_p):
10550 * xterm.h (have_menus_p): Remove.
10551
10552 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
10553 (Fmake_variable_frame_local): Just check the variable's const-ness
10554 rather than checking nil or t.
10555
10556 2007-10-22 Jason Rumney <jasonr@gnu.org>
10557
10558 * w32fns.c: Include math.h.
10559 (w32_abort): Declaration moved to nt/config.nt.
10560
10561 * s/ms-w32.h (HAVE_STDLIB_H): Define.
10562 (abort): Redefinition moved to nt/config.nt.
10563
10564 * m/windowsnt.h: Remove.
10565
10566 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
10567
10568 * emacs.c (Fdump_emacs): Fix typo in message.
10569 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
10570 <installation-directory>: Reflow docstring.
10571
10572 2007-10-22 Juri Linkov <juri@jurta.org>
10573
10574 * minibuf.c: Allow minibuffer default to be a list of default values.
10575 With empty input use the first element of this list as returned default.
10576 (string_to_object)
10577 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
10578 (read_minibuf): If defalt is cons, set histstring to its car.
10579 (Fread_string): If default_value is cons, set val to its car.
10580 (Fread_buffer): If def is cons, use its car.
10581 (Fcompleting_read): If defalt is cons, set val to its car.
10582
10583 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
10584
10585 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
10586
10587 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
10588
10589 * doc.c (Fdocumentation): Check for advice in all cases.
10590
10591 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
10592
10593 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
10594
10595 2007-10-19 Richard Stallman <rms@gnu.org>
10596
10597 * doc.c (Fdocumentation): Check for and handle an advised function.
10598
10599 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
10600
10601 * process.c (Fset_process_filter): Doc fix.
10602
10603 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
10604
10605 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
10606 which caused key-translation-map to applied repeatedly (thus breaking
10607 double-mode).
10608
10609 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
10610
10611 * xselect.c (x_own_selection, x_handle_selection_clear)
10612 (x_clear_frame_selections):
10613 * w32menu.c (list_of_panes, list_of_items):
10614 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
10615 * textprop.c (validate_plist, interval_has_all_properties)
10616 (interval_has_some_properties, interval_has_some_properties_list)
10617 (add_properties, text_property_list):
10618 * process.c (Fget_buffer_process, list_processes_1, status_notify):
10619 * minibuf.c (Fassoc_string):
10620 * macselect.c (x_own_selection, x_clear_frame_selections)
10621 (Fx_disown_selection_internal):
10622 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
10623 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
10624
10625 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
10626
10627 * process.c: Link to libs for calling res_init() if available.
10628 (Fmake_network_process): Call res_init() before getaddrinfo or
10629 gethostbyname, if possible.
10630
10631 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
10632
10633 * lread.c (read1): Set pvectype for char_tables.
10634
10635 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
10636 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
10637 Add type checks.
10638 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
10639
10640 * alloc.c (free_misc): Use XMISCTYPE.
10641 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
10642
10643 2007-10-17 Glenn Morris <rgm@gnu.org>
10644
10645 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
10646 (syms_of_minibuf): Add Qcompletion_ignore_case.
10647 * dired.c (Qcompletion_ignore_case): Change to external.
10648 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
10649 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
10650 (Fread_file_name): Use it rather than intern'ing.
10651
10652 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
10653 (Fread_coding_system): Ignore case of user input.
10654
10655 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10656
10657 * xdisp.c (handle_display_prop): Ignore display specs after
10658 replacing one when string text is being replaced.
10659 (handle_single_display_spec): Pretend as if characters with display
10660 property haven't been consumed only when buffer text is being replaced.
10661
10662 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
10663
10664 * xfns.c (Fx_create_frame, Fx_display_list):
10665 * window.c (window_fixed_size_p, enlarge_window)
10666 (shrink_window_lowest_first):
10667 * macterm.c (init_font_name_table):
10668 * macfns.c (Fx_create_frame, Fx_display_list):
10669 * lread.c (close_load_descs):
10670 * keyboard.c (read_char_x_menu_prompt):
10671 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
10672 * coding.c (code_convert_region_unwind): Test the type of an object
10673 rather than just !NILP before extracting data from it.
10674
10675 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
10676
10677 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
10678 (XMISCANY): New macro.
10679 (XMISCTYPE): Use it.
10680 (struct Lisp_Misc_Any): New type.
10681 (union Lisp_Misc): Use it.
10682 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
10683 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
10684 (find_symbol_value, set_internal, default_value, Fset_default)
10685 (Fmake_variable_buffer_local, Fmake_local_variable)
10686 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
10687 (Flocal_variable_if_set_p, Fvariable_binding_locus):
10688 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
10689 * alloc.c (allocate_buffer): Set the size and tag.
10690 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
10691 Use XMISCANY.
10692 (die): Follow the GNU convention for error messages.
10693 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
10694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
10695 tag any more.
10696 (set_buffer_internal_1):
10697 * frame.c (store_frame_param):
10698 * eval.c (specbind):
10699 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
10700
10701 * doc.c (Fsnarf_documentation): Simplify.
10702
10703 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
10704
10705 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
10706 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
10707
10708 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
10709
10710 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
10711
10712 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
10713
10714 * eval.c (do_autoload): Don't save autoloads.
10715
10716 * data.c (Ffset): Save autoload of the function being set.
10717
10718 2007-10-07 John Paul Wallington <jpw@pobox.com>
10719
10720 * xfns.c (x_create_tip_frame): Set the `display-type' frame
10721 parameter before setting up faces.
10722
10723 2007-10-13 Eli Zaretskii <eliz@gnu.org>
10724
10725 * ccl.c (Fregister_code_conversion_map):
10726 * keyboard.c (append_tool_bar_item): Reformat last change.
10727
10728 * lisp.h (eabs): Rename from `abs'. All callers changed.
10729
10730 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
10731
10732 * buffer.c (add_overlay_mod_hooklist):
10733 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
10734 * fontset.c (make_fontset):
10735 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
10736 (append_tool_bar_item):
10737 * macmenu.c (grow_menu_items):
10738 * w32menu.c (grow_menu_items):
10739 * xmenu.c (grow_menu_items): Use larger_vector.
10740
10741 2007-10-13 Eli Zaretskii <eliz@gnu.org>
10742
10743 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
10744 selected frame'' on MSDOS).
10745
10746 2007-10-12 Martin Rudalics <rudalics@gmx.at>
10747
10748 * frame.c (Qexplicit_name): New variable.
10749 (x_report_frame_params): Report it in parameter alist.
10750 (syms_of_frame): Intern and staticpro it.
10751
10752 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
10753
10754 * macfns.c (x_create_tip_frame): Set terminal for frame.
10755
10756 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
10757
10758 * frame.c (Qenvironment): Remove.
10759 (syms_of_frame) <Qenvironment>: Don't initialize.
10760 (Fdelete_frame): Don't treat the `environment' param specially.
10761 * frame.h (Qenvironment): Don't declare.
10762 * callproc.c (set_initial_environment): Don't set unused frame param.
10763
10764 * frame.c (Fframe_with_environment): Remove.
10765 (syms_of_frame) <Sframe_with_environment>: Don't declare.
10766
10767 * lisp.h (Fframe_with_environment): Don't declare.
10768
10769 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
10770
10771 * indent.c (indent_tabs_mode, last_known_column)
10772 (last_known_column_modified): Make static.
10773 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
10774
10775 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
10776
10777 * puresize.h (BASE_PURESIZE): Increase to 1170000.
10778
10779 2007-10-09 Jason Rumney <jasonr@gnu.org>
10780
10781 * w32term.c (x_set_window_size): Disable code that attempts to tell
10782 Lisp code about a size change before it actually happens.
10783
10784 2007-10-09 Richard Stallman <rms@gnu.org>
10785
10786 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
10787 return HANDLED_RETURN.
10788
10789 2007-10-08 Martin Rudalics <rudalics@gmx.at>
10790
10791 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
10792 when there's an unread command event.
10793
10794 * frame.c (focus_follows_mouse): Move here from frame.el to allow
10795 window autoselection act appropriately when leaving selected frame.
10796 (syms_of_frame): Initialize focus_follows_mouse.
10797 * frame.h (focus_follows_mouse): Extern it.
10798 * macterm.c (XTread_socket): When focus_follows_mouse is nil
10799 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
10800 * msdos.c (dos_rawgetc): Likewise.
10801 * w32term.c (w32_read_socket): Likewise.
10802 * xterm.c (handle_one_xevent): Likewise.
10803 * xdisp.c (syms_of_xdisp): In doc-string of
10804 mouse-autoselect-window mention focus-follows-mouse.
10805
10806 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10807
10808 * macterm.c (mac_load_query_font): Fix missing return value.
10809 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
10810 Add BLOCK_INPUT.
10811
10812 2007-10-08 Richard Stallman <rms@gnu.org>
10813
10814 * xdisp.c (get_window_cursor_type): Implement documented behavior
10815 for cursor-in-non-selected-windows = t.
10816
10817 2007-10-08 Jason Rumney <jasonr@gnu.org>
10818
10819 * w32.c (w32_get_resource): Always close registry keys.
10820
10821 2007-10-08 Jason Rumney <jasonr@gnu.org>
10822
10823 * makefile.w32-in (LIBS): Add COMCTL32.
10824
10825 * w32fns.c (globals_of_w32fns): Init common controls.
10826
10827 2007-10-08 Richard Stallman <rms@gnu.org>
10828
10829 * image.c (our_memory_buffer): Rename from omfib_buffer.
10830
10831 2007-10-08 Richard Stallman <rms@gnu.org>
10832
10833 * buffer.c (Foverlays_at): Doc fix.
10834
10835 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
10836
10837 * fns.c (Fplist_put): Preserve uneven tail data.
10838
10839 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
10840
10841 * termhooks.h (enum event_kind): Remove trailing comma.
10842
10843 * frame.h (enum): Remove trailing comma.
10844
10845 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
10846
10847 * w32proc.c (delete_child): Don't terminate threads of zombies.
10848
10849 2007-10-08 Martin Rudalics <rudalics@gmx.at>
10850
10851 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
10852
10853 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
10854 last-repeatable-command.
10855 (init_kboard): Initialize Vlast_repeatable_command.
10856 (command_loop_1): Set it to real_this_command unless that was
10857 bound to an input event.
10858 (mark_kboards): Mark it.
10859
10860 2007-10-08 Richard Stallman <rms@gnu.org>
10861
10862 * eval.c (condition-case): Doc fix.
10863
10864 2007-10-08 Masatake YAMATO <jet@gyve.org>
10865
10866 * xfaces.c (tty_supports_face_attributes_p): Fix code
10867 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
10868 was copied and not edited.
10869
10870 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
10871
10872 Add new `input-decode-map' keymap and use it for terminal
10873 escape sequences.
10874 * keyboard.h (struct kboard): Add Vinput_decode_map.
10875 Remove Vlocal_key_translation_map.
10876 * keyboard.c (read_key_sequence): Add support for input-decode-map.
10877 (init_kboard): Init input-decode-map.
10878 Replace local-key-translation-map back with key-translation-map.
10879 (syms_of_keyboard): Declare input-decode-map.
10880 Remove local-key-translation-map. Update docstrings.
10881 (mark_kboards): Mark Vinput_decode_map.
10882 Don't mark Vlocal_key_translation_map.
10883 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
10884 Replace local-key-translation-map back with key-translation-map.
10885 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
10886 Bind in input-decode-map rather than function-key-map.
10887
10888 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
10889 This was made redundant by the previous introduction of XSETPVECTYPE.
10890
10891 2007-10-09 Richard Stallman <rms@gnu.org>
10892
10893 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
10894
10895 2007-09-29 Richard Stallman <rms@gnu.org>
10896
10897 * eval.c (internal_condition_case_2, internal_condition_case_1)
10898 (internal_condition_case): Reenable abort if x_catching_errors ()
10899 to see if that really happens and why.
10900
10901 2007-10-06 Andreas Schwab <schwab@suse.de>
10902
10903 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
10904
10905 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
10906
10907 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
10908
10909 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
10910
10911 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
10912
10913 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
10914
10915 * window.h (struct window):
10916 * window.c (struct save_window_data, struct saved_window):
10917 * termhooks.h (struct terminal):
10918 * process.h (struct Lisp_Process):
10919 * frame.h (struct frame):
10920 * buffer.h (struct buffer):
10921 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
10922 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
10923 The size field of (pseudo)vectors is now unsigned.
10924 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
10925
10926 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
10927 Turn `count' into an integer.
10928
10929 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
10930 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
10931 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
10932 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
10933 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
10934
10935 * alloc.c (allocate_pseudovector): New fun.
10936 (ALLOCATE_PSEUDOVECTOR): New macro.
10937 (allocate_window, allocate_terminal, allocate_frame)
10938 (allocate_process): Use it.
10939 (mark_vectorlike): New function.
10940 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
10941 (mark_terminals): Use it.
10942 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
10943 (Fmake_byte_code): Use XSETPVECTYPE.
10944
10945 * frame.c (Fframe_parameters): Minor simplification.
10946
10947 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
10948
10949 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
10950
10951 * buffer.c (Fget_buffer_create, init_buffer_once):
10952 * lread.c (defsubr):
10953 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
10954
10955 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
10956 defined differently in the m/*.h files.
10957 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
10958 (XSETPVECTYPE): New macro.
10959 (XSETPSEUDOVECTOR): Use it.
10960
10961 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
10962 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
10963
10964 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
10965 * lread.c (defvar_per_buffer):
10966 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
10967
10968 * window.c (candidate_window_p): Only consider as visible frames that
10969 are on the same terminal.
10970
10971 * m/ibms390x.h (MARKBIT): Remove unused macro.
10972
10973 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
10974
10975 * lread.c (Fload): Fix typo in docstring.
10976
10977 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
10978
10979 * floatfns.c (Fexpt): Manually check for overflows, so that a power
10980 of a non-zero value can't yield zero.
10981
10982 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
10983
10984 * term.c (term_clear_mouse_face, term_mouse_highlight)
10985 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
10986
10987 * print.c (safe_debug_print): Use XHASH.
10988
10989 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
10990 Lisp elements such as tags.
10991 (XHASH): New macro.
10992 (EQ): Use it.
10993 (SREF, SSET, STRING_COPYIN): Use SDATA.
10994 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
10995
10996 * alloc.c (mark_terminal): Remove left-over declaration.
10997 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
10998 (allocate_vectorlike): Remove type argument. Adjust callers.
10999 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
11000 Only handle the one remaining MEM_TYPE_VECTORLIKE.
11001
11002 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
11003 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
11004 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
11005 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
11006 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
11007 Use them.
11008
11009 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
11010 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
11011 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
11012
11013 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
11014
11015 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
11016 loaded by default.
11017
11018 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
11019
11020 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
11021 on this tty.
11022 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
11023
11024 * term.c (mouse_face_window): Rename from Qmouse_face_window.
11025 Update all users.
11026 (handle_one_term_event): Use Gpm_DrawPointer.
11027 (Fgpm_mouse_start): Rename from Fterm_open_connection.
11028 Signal errors instead of returning nil. Always return nil.
11029 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
11030 Make it a noop if gpm-mouse was not activated.
11031 (syms_of_term): Update names.
11032
11033 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
11034
11035 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
11036 (init_sys_modes): Check that gpm_tty is the current tty.
11037
11038 * alloc.c (allocate_terminal): Set the vector size to only count the
11039 lisp fields. Initialize those to nil.
11040 (mark_object): Don't treat terminals specially.
11041 (mark_terminal): Remove.
11042 (mark_terminals): Use mark_object instead.
11043
11044 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
11045 the GC to the beginning.
11046
11047 * indent.h:
11048 * indent.c: Use EMACS_INT for ints coming from Elisp data.
11049
11050 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
11051
11052 2007-09-25 Jason Rumney <jasonr@gnu.org>
11053
11054 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
11055
11056 * w32console.c (create_w32cons_output): Remove.
11057
11058 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
11059
11060 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
11061 (reset_sys_modes): Use reset_terminal_modes_hook.
11062
11063 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
11064
11065 * eval.c (do_autoload): Don't output any message.
11066
11067 2007-09-24 Juri Linkov <juri@jurta.org>
11068
11069 * emacs.c (standard_args): Change priority of "--no-splash"
11070 from 40 to 3. Add "--no-desktop" with the same priority.
11071
11072 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
11073
11074 * alloc.c (gc_sweep): Check cons cell mark bits word by word
11075 and optimize the case where they are all 1.
11076
11077 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
11078
11079 * lisp.h (abs): Define if not defined.
11080 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
11081 Don't define `abs', since it's defined in lisp.h.
11082
11083 2007-09-22 Eli Zaretskii <eliz@gnu.org>
11084
11085 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
11086 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
11087 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
11088 (init_tty): Use DEV_TTY instead of "/dev/tty".
11089 [WINDOWSNT]: No need to protect from NAME arg being null.
11090
11091 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
11092
11093 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
11094 up the tty state.
11095
11096 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11097
11098 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
11099 (gpm_tty): Change its type.
11100 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
11101 (gpm_tty): Change its type and initialize it.
11102 (Fterm_open_connection): Check the frame is indeed a tty.
11103 Use the new gpm_tty.
11104 (Fterm_close_connection): Use the new gpm_tty.
11105 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
11106 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
11107
11108 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
11109
11110 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
11111 underline_color, to draw strike-through.
11112
11113 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11114
11115 * lisp.h (allocate_terminal): Declare.
11116
11117 * window.c (candidate_window_p): Consider frames that are being placed
11118 by the user as somewhere between visible and iconified.
11119 (window_loop): Prefer windows on the current frame.
11120 (Fselect_window): Move the use of select-frame to the beginning so we
11121 can just delegate all the work (it'll call us back anyway).
11122
11123 * frame.c (Qdisplay_environment_variable):
11124 * frame.h (Qdisplay_environment_variable): Delete.
11125
11126 * .gdbinit (xbacktrace): Print the arg's address rather than the value
11127 of the first arg, since that value may be a union.
11128
11129 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
11130 parameter rather than Qdisplay_environment_variable. If all else
11131 fails, look for DISPLAY in initial-environment.
11132
11133 2007-09-21 Glenn Morris <rgm@gnu.org>
11134
11135 * Makefile.in (emacstool): Remove target.
11136 (lisp, shortlisp): Remove termdev.elc.
11137
11138 2007-09-21 Markus Triska <markus.triska@gmx.at>
11139
11140 * xterm.c (x_delete_display): Compile session management conditionally.
11141
11142 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
11143
11144 * callproc.c (getenv_internal_1): New function.
11145 (getenv_internal): Use it.
11146 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
11147
11148 * terminal.c (get_terminal): Don't accept ints to represent terminals.
11149 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
11150 (Fset_terminal_parameter): Work with dead terminals as well.
11151 (Fmodify_terminal_parameters): Remove.
11152
11153 * terminal.c (get_terminal): Handle terminals.
11154 Make sure the terminal returned is live.
11155 (create_terminal): Use allocate_terminal.
11156 (mark_terminals): Move to alloc.c.
11157 (delete_terminal): Use terminal->name as liveness status.
11158 NULL out fields after freeing their contents.
11159 Don't deallocate the object.
11160 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
11161 rather than an int.
11162 (Fterminal_live_p): Accept non-integer arguments.
11163 (Fterminal_list): Return terminal objects rather than an ints.
11164
11165 * alloc.c (enum mem_type): New member for `terminal' objects.
11166 (allocate_terminal): New function.
11167 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
11168 Handle terminals.
11169 (mark_terminal): New fun.
11170 (mark_terminals): Move from terminal.c.
11171
11172 * term.c (get_tty_terminal): Don't treat output_initial specially.
11173 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
11174 (delete_tty): Use terminal->name as liveness status.
11175
11176 * termhooks.h (struct terminal): Make it into a pseudovector.
11177 Remove `deleted' replaced by checking `name's nullness.
11178
11179 * print.c (print_object): Handle terminals.
11180
11181 * lisp.h (enum pvec_type): New `terminal' pseudovector.
11182 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
11183
11184 * frame.c (make_terminal_frame):
11185 * keyboard.c (tty_read_avail_input):
11186 * w32term.c (x_delete_terminal):
11187 * xfns.c (Fx_create_frame, x_create_tip_frame):
11188 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
11189
11190 2007-09-20 Glenn Morris <rgm@gnu.org>
11191
11192 * process.c (Fmake_network_process): Doc fix.
11193
11194 2007-09-19 Jason Rumney <jasonr@gnu.org>
11195
11196 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
11197
11198 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
11199
11200 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
11201 Fix a C warning regarding variable constness.
11202
11203 * xterm.c (handle_one_xevent): Fix a C warning.
11204
11205 2007-09-18 Jason Rumney <jasonr@gnu.org>
11206
11207 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
11208
11209 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
11210
11211 * gtkutil.c (gdpy_def): New variable.
11212 (xg_initialize): Initialize gdpy_def.
11213 (xg_display_close): If no other display exists, set gdpy_def to a
11214 new connection.
11215
11216 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
11217
11218 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
11219 when we have no file name for the icon.
11220 (xg_tool_bar_expose_callback): Remove.
11221 (xg_create_tool_bar): Don't connect expose signal to
11222 xg_tool_bar_expose_callback.
11223 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
11224
11225 2007-09-16 Andreas Schwab <schwab@suse.de>
11226
11227 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
11228 values instead of zapping them.
11229
11230 2007-09-14 Glenn Morris <rgm@gnu.org>
11231
11232 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
11233 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
11234 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
11235 scope and rename to omfib_buffer for clarity.
11236 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
11237
11238 2007-09-14 Kenichi Handa <handa@m17n.org>
11239
11240 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
11241
11242 2007-09-13 Jason Rumney <jasonr@gnu.org>
11243
11244 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
11245
11246 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
11247
11248 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
11249 (mac_term_init): Call here instead, passing rif.
11250
11251 2007-09-13 Glenn Morris <rgm@gnu.org>
11252
11253 * s/hpux.h: No longer define `static' as nothing.
11254
11255 2007-09-13 Johan Bockgård <bojohan@gnu.org>
11256
11257 * callint.c (Fcall_interactively): Remove unused var `fun'.
11258
11259 2007-09-12 Romain Francoise <romain@orebokech.com>
11260
11261 * window.c (prefer_window_split_horizontally, display_buffer):
11262 Revert 2007-09-08 change.
11263
11264 2007-09-12 Glenn Morris <rgm@gnu.org>
11265
11266 * alloca.c: Remove file.
11267 * Makefile.in (alloca): Do not undef.
11268 (allocaobj, alloca.o): Remove.
11269 (otherobj): Remove allocaobj.
11270 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
11271 * regex.c (C_ALLOCA): Remove all references and code that was only
11272 used when this was defined.
11273 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
11274 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
11275 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
11276
11277 * Makefile.in (SOURCES, unlock, relock): Delete.
11278
11279 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
11280 (menu_grab_callback): All uses changed.
11281
11282 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
11283 (x_reply_selection_request): All uses changed.
11284
11285 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
11286
11287 * lread.c (load_warn_old_style_backquotes): Change message to look
11288 better when it appears in the middle of byte-compiler messages.
11289
11290 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
11291
11292 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
11293
11294 * xterm.c (x_create_terminal): Add comment.
11295
11296 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
11297
11298 2007-09-10 Richard Stallman <rms@gnu.org>
11299
11300 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
11301
11302 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
11303
11304 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
11305 (DEFUN): Document `intspec', use it instead of `prompt'.
11306
11307 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
11308
11309 * data.c (Finteractive_form): If the interactive specification starts
11310 with a `(', use it as a Lisp form.
11311
11312 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
11313 name and file modes.
11314
11315 * callint.c (Fcall_interactively): Comment fixes.
11316
11317 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
11318
11319 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
11320 and compiled functions.
11321
11322 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
11323
11324 * window.c (prefer_window_split_horizontally): New variable.
11325 (display_buffer): Consider splitting window horizontally depending
11326 on prefer_window_split_horizontally.
11327
11328 2007-09-08 Eli Zaretskii <eliz@gnu.org>
11329
11330 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
11331
11332 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
11333
11334 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
11335
11336 * frame.c (x_set_frame_parameters): Check number is positive before
11337 using XFASTINT.
11338
11339 * window.c (freeze_window_start): Don't presume selected_window holds
11340 a window object.
11341 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
11342
11343 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
11344
11345 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
11346
11347 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
11348
11349 * window.c (Vsplit_window_preferred_function): New var.
11350 (Fdisplay_buffer): Use it.
11351 (syms_of_window): Export, and initialize it.
11352
11353 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
11354
11355 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
11356
11357 2007-09-06 Glenn Morris <rgm@gnu.org>
11358
11359 * gtkutil.c (menu_grab_callback) <cnt>:
11360 * xselect.c (x_reply_selection_request) <cnt>: Move static
11361 variable to file scope.
11362
11363 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
11364
11365 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
11366 consistent values of selected_frame and selected_window.
11367
11368 2007-09-04 Jason Rumney <jasonr@gnu.org>
11369
11370 * w32console.c (initialize_w32_display): Zero unused hooks.
11371
11372 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
11373
11374 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
11375 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
11376
11377 2007-09-04 Jason Rumney <jasonr@gnu.org>
11378
11379 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
11380 in w32console.c. Set up input. Remove XXX comments that have been
11381 confirmed as correct.
11382
11383 * s/ms-w32.h (MULTI_KBOARD): Define.
11384
11385 * w32console.c (one_and_only_w32cons): Remove.
11386 (initialize_w32_display): Take terminal argument.
11387
11388 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
11389 initialize_w32_display.
11390 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
11391
11392 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
11393
11394 * keyboard.c (discard_mouse_events): Discard it.
11395 (make_lispy_event): Translate it to a lisp event.
11396 (lispy_wheel_names): Add wheel-left and right events.
11397 (syms_of_keyboard): Enlarge wheel_syms.
11398
11399 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
11400 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
11401
11402 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
11403
11404 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
11405 from WM_MOUSEHWHEEL.
11406 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
11407
11408 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
11409 terminal.
11410
11411 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
11412 keyboard for the terminal.
11413
11414 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
11415
11416 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
11417 (Vresume_tty_hook): Rename from Vresume_tty_functions.
11418 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
11419 and resume-tty-function to resume-tty-hook.
11420 (Fsuspend_tty, Fresume_tty): Use new names.
11421
11422 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
11423
11424 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
11425 if it starts with "n:".
11426
11427 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
11428
11429 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
11430
11431 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
11432
11433 * frame.h:
11434 * frame.c (Qterm_environment_variable): Remove.
11435 (syms_of_frame): Don't init and staticpro it.
11436
11437 * callproc.c (getenv_internal): Remove special case for $TERM.
11438
11439 * callproc.c (Vinitial_environment): New variable.
11440 (set_initial_environment): Initialize it.
11441 (syms_of_callproc): Declare it.
11442 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
11443 TERM under which a process runs is never related to the TERM in which
11444 Emacs is running.
11445
11446 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
11447
11448 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
11449 * s/darwin.h: ... do it here.
11450
11451 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
11452
11453 * lisp.h (set_initial_environment): Rename from set_global_environment.
11454
11455 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
11456 removed by mistake on the multi-tty branch.
11457
11458 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
11459 (Fmodify_frame_parameters): Return a value.
11460
11461 * image.c (png_load): Comment-out var only used in commented-out code.
11462
11463 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
11464 before passing it to mark_object.
11465
11466 * xfaces.c (internal_resolve_face_name): Return a value.
11467 (internal_resolve_face_name, resolve_face_name_error): Comment out.
11468
11469 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
11470 (x_icon): Comment-out var only used in commented-out code.
11471
11472 2007-08-29 Romain Francoise <romain@orebokech.com>
11473
11474 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
11475 QUIT hasn't been provided.
11476
11477 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
11478
11479 * callproc.c (child_setup, getenv_internal): Use the
11480 display-environment-variable and term-environment-variable frame params.
11481 (set_initial_environment): Initialise Vprocess_environment.
11482
11483 * config.in: Disable multi-keyboard support on a mac.
11484
11485 * frame.c (Qterm_environment_variable)
11486 (Qdisplay_environment_variable): New variables.
11487 (syms_of_frame): Intern and staticpro them.
11488 (Fmake_terminal_frame): Disable output method test.
11489
11490 * frame.h: Declare them here.
11491
11492 * macfns.c (x_set_mouse_color): Get rif from the frame.
11493 (x_set_tool_bar_lines): Don't use updating_frame.
11494 (mac_window): Add 2 new parameters for consistency with other systems.
11495 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
11496 frame parameters following what is done in X11 and w32. Don't use
11497 FRAME_MAC_DISPLAY_INFO.
11498 (Fx_open_connection, start_hourglass): Remove window-system check.
11499 (x_create_tip_frame): Get the keyboard from the terminal.
11500
11501 * macmenu.c: Reorder includes.
11502 (Fx_popup_menu): Use terminal specific mouse_position_hook.
11503
11504 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
11505 terminal parameter.
11506 (x_clear_frame): Add a frame parameter.
11507 (note_mouse_movement): Get rif from the frame.
11508 (mac_term_init): Initialize the terminal.
11509 (mac_initialize): Make static and move terminal initialization ...
11510 (mac_create_terminal): ... to this new function.
11511
11512 * macterm.h (struct mac_display_info): Add terminal.
11513 (mac_initialize): Delete declaration.
11514
11515 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
11516
11517 * sysdep.c: Comment out text after #endif.
11518
11519 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
11520 is defined. Better initialize ttys in windows. Use terminal
11521 specific mouse_position_hook.
11522
11523 * termhooks.h (union display_info): Add mac_display_info.
11524
11525 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
11526 Set the default minibuffer frame, window_system and the rest of the
11527 frame parameters following what is done in X11.
11528
11529 * w32term.c (w32_initialize): Make static.
11530
11531 * xselect.c (x_handle_selection_clear): Only access
11532 terminal->kboard when MULTI_KBOARD is defined.
11533
11534 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
11535 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
11536
11537 2007-08-29 Jason Rumney <jasonr@gnu.org>
11538
11539 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
11540 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
11541
11542 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
11543 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
11544
11545 * keyboard.c (restore_kboard_configuration): Only define when
11546 MULTI_KBOARD defined.
11547
11548 * makefile.w32-in: Update dependancies from Makefile.in.
11549 (OBJ1): Add terminal.$(O)
11550
11551 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
11552 Don't define function body.
11553 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
11554
11555 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
11556
11557 * w32.c (request_sigio, unrequest_sigio): Remove.
11558
11559 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
11560 (w32con_clear_frame, w32con_clear_end_of_line)
11561 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
11562 (w32con_delete_glyphs, w32con_set_terminal_window)
11563 (scroll_line, w32_sys_ring_bell): Add frame arg.
11564 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
11565 Add terminal arg.
11566 (PICK_FRAME): Remove.
11567 (w32con_write_glyphs): Use frame specific terminal coding.
11568 (one_and_only_w32cons): New global variable.
11569 (initialize_w32_display): Use it for storing hooks.
11570 (create_w32cons_output): New function.
11571
11572 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
11573 arg a frame.
11574
11575 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
11576 Set window_system.
11577 (x_set_tool_bar_lines): Don't use updating_frame.
11578 (Fx_create_frame): Set terminal and ref count.
11579 (Fx_open_connection): Remove window-system check.
11580
11581 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
11582
11583 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
11584 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
11585 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
11586 Add frame arg.
11587 (x_delete_terminal, w32_create_terminal): New functions.
11588 (w32_term_init): Create a terminal.
11589 (w32_initialize): Move terminal specific initialization to
11590 w32_create_terminal.
11591
11592 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
11593 (w32_clear_rect, w32_clear_area): Use background from frame.
11594 (w32_display_info): Add terminal.
11595 (w32_sys_ring_bell, x_delete_display): Declare here.
11596
11597 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
11598
11599 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
11600
11601 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
11602
11603 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
11604 Fix get_named_tty calls for the controlling tty.
11605
11606 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
11607
11608 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
11609
11610 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
11611
11612 * term.c (tty_insert_glyphs): Add missing first parameter.
11613
11614 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
11615
11616 * buffer.c (Fbuffer_list, Fbury_buffer):
11617 Take frame->buried_buffer_list into account.
11618
11619 * cm.c (current_tty): New variable, for cmputc().
11620 (cmputc): Use it.
11621 (cmcheckmagic): Add tty parameter, look up terminal streams there.
11622 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
11623 (cmgoto): Add tty parameter. Pass it on to calccost().
11624 Use emacs_tputs() instead of tputs().
11625
11626 * cm.h (emacs_tputs): New macro to set current_tty, and then call
11627 tputs().
11628 (current_tty): New variable, for cmputc().
11629 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
11630
11631 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
11632 (internal_condition_case, internal_condition_case_1)
11633 (internal_condition_case_2): Don't abort when x_catching_errors.
11634
11635 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
11636 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
11637 prevent crashes caused by bogus longjmps in read_char.
11638
11639 * keymap.h (Fset_keymap_parent): Add EXFUN.
11640
11641 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
11642 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11643 Remove redundant definition.
11644
11645 * macfns.c (x_set_mouse_color, x_make_gc):
11646 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11647
11648 * w32term.c (x_free_frame_resources):
11649 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11650 (w32_initialize): Use the accessor macros for terminal characteristics.
11651
11652 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
11653 Use the accessor macros for terminal characteristics.
11654 * msdos.c (internal_terminal_init): Use the accessor macros for
11655 terminal characteristics.
11656 (ScreenVisualBell, internal_terminal_init):
11657 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11658
11659 * termopts.h (no_redraw_on_reenter): Declare.
11660
11661 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
11662 (mark_terminals, mark_ttys): Declare.
11663 (Fgarbage_collect): Call them.
11664 (mark_object): Mark buried_buffer_list.
11665
11666 * prefix-args.c: Include stdlib.h for exit.
11667
11668 * syssignal.h: Add comment.
11669
11670 * indent.c: Include stdio.h.
11671
11672 * window.h (Vinitial_window_system): Declare.
11673 (Vwindow_system): Delete declaration.
11674
11675 * fontset.c (Finternal_char_font): Use FRAME_RIF.
11676
11677 * image.c (lookup_image): Don't initialize `c' until the xasserts
11678 have been run.
11679
11680 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
11681 FRAME_FOREGROUND_PIXEL.
11682
11683 * print.c (print_preprocess): Don't lose print_depth levels while
11684 iterating.
11685
11686 * widget.c (update_from_various_frame_slots):
11687 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11688
11689 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
11690 frames.
11691 (window_internal_height): Remove bogus make_number call.
11692 (init_window_once): Call make_terminal_frame with two zero parameters.
11693
11694 * fileio.c (Fread_file_name): Update comment.
11695
11696 * callint.c (Fcall_interactively):
11697 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
11698 Make sure it is correctly unwound.
11699
11700 * xsmfns.c (x_session_close): New function.
11701
11702 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
11703 Delete declarations.
11704
11705 * xterm.h: Remove declaration for x_fully_uncatch_errors.
11706 (x_output): Remove background_pixel and foreground_pixel fields.
11707 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
11708 (x_delete_device, x_session_close): Declare.
11709
11710 * lread.c: Include setjmp.h. Update declaration of `read_char'.
11711 (read_filtered_event): Call `read_char' with a local
11712 `wrong_kboard_jmpbuf'.
11713
11714 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
11715 Don't call single_kboard_state. Use FRAME_RIF.
11716
11717 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
11718 systems.
11719
11720 * lisp.h (set_process_environment): Rename to `set_global_environment'.
11721 (Fframe_with_environment, Fset_input_meta_mode)
11722 (Fset_quit_char): EXFUN.
11723 (x_create_device, tty_output, terminal, tty_display_info): Declare.
11724 (init_sys_modes, reset_sys_modes): Update prototypes.
11725 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
11726
11727 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
11728 Vlocal_key_translation_map, and Vkeyboard_translate_table.
11729 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
11730 Delete declarations.
11731 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
11732 (temporarily_switch_to_single_kboard, tty_read_avail_input):
11733 New declarations.
11734
11735 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
11736 already does that during init_display(). Call syms_of_keymap
11737 before syms_of_keyboard. Call `syms_of_terminal'.
11738 Call set_initial_environment, not set_process_environment.
11739 (shut_down_emacs): Call reset_all_sys_modes() instead of
11740 reset_sys_modes().
11741
11742 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
11743 (internal_resolve_face_name, resolve_face_name_error): New functions.
11744 (resolve_face_name): Protect against loops and errors thrown by Fget.
11745 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
11746 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
11747
11748 * scroll.c: Replace CURTTY() with local variables throughout the
11749 file (where applicable).
11750 (calculate_scrolling, calculate_direct_scrolling)
11751 (scrolling_1, scroll_cost): Use the accessor macros for terminal
11752 characteristics.
11753
11754 * keymap.c (Vfunction_key_map): Remove.
11755 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
11756 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
11757 (Vkey_translation_map): Remove.
11758 (syms_of_keymap): Remove DEFVAR for key-translation-map.
11759 (Fdescribe_buffer_bindings)
11760 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
11761 Update for terminal-local key-translation-map.
11762
11763 * Makefile.in (callproc.o): Update dependencies.
11764 (lisp, shortlisp): Add termdev.elc.
11765 (obj): Add terminal.o.
11766 (terminal.o): Add dependencies.
11767 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
11768 (data.o, fns.o): Add termhooks.h dependency.
11769 (SOME_MACHINE_LISP): Add dnd.elc.
11770 (minibuf.o): Fix typo.
11771 Update dependencies.
11772
11773 * data.c (do_symval_forwarding, store_symval_forwarding)
11774 (find_symbol_value): Use the selected frame's keyboard, not
11775 current_kboard.
11776
11777 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
11778 Vwindow_system.
11779
11780 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
11781 Fmenu_bar_open.
11782 (syms_of_xmenu): Update defsubr.
11783 (mouse_position_for_popup, Fx_popup_menu)
11784 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
11785 (set_frame_menubar, free_frame_menubar)
11786 (create_and_show_popup_menu, xmenu_show, )
11787 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
11788 an X frame.
11789
11790 * xselect.c (x_own_selection): Abort if not an X frame.
11791 (some_frame_on_display): Check if it is an X frame.
11792 (x_handle_selection_clear): Deal with MULTI_KBOARD.
11793
11794 * coding.c: Include frame.h and termhooks.h.
11795 (terminal_coding, keyboard_coding): Delete.
11796 (Fset_terminal_coding_system_internal)
11797 (Fset_keyboard_coding_system_internal)
11798 (Fkeyboard_coding_system)
11799 (Fterminal_coding_system): Add a terminal parameter.
11800 Get terminal_coding from the terminal.
11801 (init_coding_once): Don't call setup_coding_system here.
11802
11803 * dispextern.h (set_scroll_region, turn_off_insert)
11804 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
11805 (tty_clear_end_of_line, tty_setup_colors)
11806 (delete_tty, updating_frame)
11807 (produce_special_glyphs, produce_glyphs, write_glyphs)
11808 (insert_glyphs): Remove.
11809 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
11810 (tty_turn_off_highlight, get_tty_size): Add declaration.
11811 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
11812
11813 * frame.h (enum output_method): Add output_initial.
11814 (struct x_output): Delete.
11815 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
11816 Access foreground_pixel and background_pixel directly from the frame.
11817 (tty_display): Delete.
11818 (struct frame): Add buried_buffer_list, foreground_pixel,
11819 background_pixel and terminal. Delete kboard.
11820 (union output_data): Add tty.
11821 (FRAME_KBOARD): Get the kboard from the terminal.
11822 (FRAME_INITIAL_P): New macro.
11823 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
11824 (Qterm_environment_variable, Qdisplay_environment_variable)
11825 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
11826 New declarations.
11827
11828 * termchar.h (tty_output, tty_display_info): New structures.
11829 (tty_list): Declare.
11830 (FRAME_TTY, CURTTY): New macros.
11831 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
11832 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
11833 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
11834 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
11835
11836 * callproc.c: Include frame.h and termhooks.h, for terminal
11837 parameters.
11838 (add_env): New function.
11839 (child_setup): Use it.
11840 (child_setup, getenv_internal): Handle the new Vprocess_environment.
11841 (getenv_internal): Fix get_terminal_param call.
11842 (Fgetenv_internal, egetenv): Update doc.
11843 (syms_of_callproc): Initialize Vprocess_environment to nil.
11844 Register and initialize them. Remove obsolete defvars. Update doc
11845 strings.
11846 (child_setup): Handle Vlocal_environment_variables.
11847 (getenv_internal): Add terminal parameter.
11848 Handle Vlocal_environment_variables.
11849 (Fgetenv_internal): Add terminal parameter.
11850 (child_setup, getenv_internal, Fgetenv_internal): Store the local
11851 environment in a frame (not terminal) parameter. Update doc strings.
11852 (set_initial_environment): Rename from set_global_environment.
11853 Store Emacs environment in initial frame parameter.
11854
11855 * xdisp.c (redisplay_internal): Update references to
11856 `previous_terminal_frame'.
11857 (display_mode_line, Fformat_mode_line): Replace calls to
11858 `push_frame_kboard' with `push_kboard'.
11859 (get_glyph_string_clip_rects): Add extra parentheses and
11860 braces to prevent compiler warnings.
11861 (calc_pixel_width_or_height): Add xassert to check that the
11862 frame is alive. Don't call `lookup_image' on a termcap frame.
11863 (message2_nolog, message3_nolog, redisplay_internal)
11864 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
11865 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
11866 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
11867 (Fx_display_pixel_width, Fx_display_pixel_height)
11868 (Fx_display_planes, Fx_display_color_cells)
11869 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
11870 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
11871 (Fx_display_backing_store, Fx_display_visual_class)
11872 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
11873 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
11874
11875 * xfns.c (x_set_foreground_color x_set_background_color)
11876 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
11877 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11878 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
11879 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
11880 terminal that is being deleted.
11881 (Fx_create_frame): Use `store_frame_param' to set `window-system'
11882 frame parameter, and make sure it overrides any user-supplied setting.
11883 (Fx_close_connection, Fx_synchronize): Unify argument names with
11884 the rest of the DEFUNs.
11885
11886 * dispnew.c (Fsend_string_to_terminal): Update call to
11887 `get_tty_terminal'.
11888 (Fredraw_frame, Fsend_string_to_terminal)
11889 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
11890 FRAME_TERMCAP_P and FRAME_TTY.
11891 (window_change_signal): Don't believe width/height values that are
11892 impossibly small.
11893 (Vinitial_window_system): Rename from Vwindow_system.
11894 (termscript, Wcm, rif): Delete.
11895
11896 * termhooks.h (struct terminal): New struct containing the
11897 previously global text display hooks and new members NAME,
11898 DELETED and PARAM_ALIST.
11899 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
11900 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
11901 (FRAME_RIF): New macros.
11902 (get_terminal_param, get_device): New declarations.
11903 (termscript): Delete declaration.
11904
11905 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
11906 (XTflash, x_free_frame_resources, x_scroll_bar_create)
11907 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
11908 FRAME_FOREGROUND_PIXEL.
11909 (x_fully_uncatch_errors): Disable definition.
11910 (x_scroll_bar_expose): Fix reference to foreground pixel.
11911 (XTread_socket): Disable loop on all X displays.
11912 (x_delete_terminal): Don't set terminal->deleted and let
11913 delete_terminal delete the frames on the terminal.
11914 (x_delete_display): Doc update to reflect changes in
11915 delete_terminal.
11916 (x_display_info) <terminal>: Move member earlier in the struct.
11917 (deleting_tty): Remove old variable.
11918 (Fsuspend_tty): Call clear_tty_hooks.
11919 (Fresume_tty, init_tty): Call set_tty_hooks.
11920 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
11921 errors on X frames.
11922 (x_catch_errors_unwind): Abort if x_error_message is NULL.
11923 (handle_one_xevent): Initialize `f' to NULL.
11924 (x_delete_terminal, x_create_terminal): New functions.
11925 (XTset_terminal_modes, XTreset_terminal_modes)
11926 (XTread_socket, x_connection_closed, x_term_init)
11927 (x_term_init, x_delete_display): Add terminal parameter.
11928 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
11929 X connections.
11930
11931 * frame.c: Include termchar.h.
11932 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
11933 (Qwindow_system, Qenvironment, Qterm_environment_variable)
11934 (Qdisplay_environment_variable): New vars.
11935 (Fframep): Deal with output_initial.
11936 (Fframe-live-p): Doc fix.
11937 (Fwindow-system): New function.
11938 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
11939 (make_terminal_frame): Don't create frames on a terminal that is
11940 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
11941 (store_frame_param): Check for found_for_frame before calling XFRAME.
11942 (Fmake_terminal_frame): Handle NULL tty names correctly.
11943 (syms_of_frame): Enhance doc string of `default-frame-alist'.
11944 (Fdelete_frame): Remove unused variable `count'. Don't allow other
11945 frames to refer to a deleted frame in their 'environment parameter.
11946 (Fframe_with_environment): New function.
11947 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
11948 (get_future_frame_param): New function.
11949 (Fmake_terminal_frame): Use it.
11950 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
11951
11952 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
11953 * sysdep.c (reset_sys_modes): Update for renames.
11954
11955 * keyboard.c (tty_read_avail_input): New function.
11956 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
11957 (syms_of_keyboard): Defsubr them.
11958 (Fset_input_meta_mode, Fset_quit_char): New functions.
11959 (Fset_input_mode): Split to above functions.
11960 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
11961 parameter. Use it in call to `read_char'.
11962 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
11963 Set wrong_kboard_jmpbuf correctly in recursive calls.
11964 Use current_kboard to access Vkeyboard_translate_table.
11965 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
11966 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
11967 Update longjmp invocations. Remember the original current_kboard,
11968 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
11969 changes it. Comment out unnecessary calls to
11970 `record_single_kboard_state' and `any_kboard_state'.
11971 Update recursive calls.
11972 (wrong_kboard_jmpbuf): Remove global variable.
11973 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
11974 Handle deleted interrupted_kboards correctly; that is a legal
11975 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
11976 and read_char calls. Abort if interrupted_kboard died in read_char.
11977 (any_kboard_state, single_kboard_state)
11978 (push_frame_kboard): Remove function.
11979 (pop_kboard): Switch out of single_kboard mode if the kboard has
11980 been deleted. Remove unused variable. Help debugging by not
11981 changing current_kboard unnecessarily. Set current_kboard to the
11982 kboard of the selected frame when the stored kboard object has
11983 been deleted before pop_kboard.
11984 (temporarily_switch_to_single_kboard): Change first parameter to a
11985 frame pointer. Throw an error when caller wants to change kboards
11986 while in single_kboard mode. Don't push_kboard if we weren't in
11987 single kboard state. Don't pop_kboard if we popped into any
11988 kboard state.
11989 (restore_kboard_configuration): Abort if pop_kboard changed the
11990 kboard in single_kboard mode. Call pop_kboard only after setting
11991 up single_kboard mode.
11992 (Frecursive_edit): Switch to single_kboard mode only in nested
11993 command loops.
11994 (cmd_error, command_loop, command_loop_1, timer_check):
11995 Comment out unnecessary call to `any_kboard_state' and
11996 `record_single_kboard_state'.
11997 (delete_kboard): Exit single_kboard mode if we have just deleted
11998 that kboard. Use FRAME_KBOARD.
11999 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
12000 `fatal_error_signal'.
12001 (record_single_kboard_state): Don't push_kboard if we weren't in
12002 single kboard state. Don't pop_kboard if we popped into any
12003 kboard state.
12004 (push_frame_kboard): Rename to push_kboard.
12005 (kbd_buffer_get_event): Use FRAME_TERMINAL.
12006 (read_avail_input): Read input from all terminals.
12007 (mark_kboards): Also mark Vkeyboard_translate_table.
12008 (kbd_buffer_store_event_hold): Simplify condition.
12009 (read_key_sequence): Reinitialize fkey and keytran at each replay.
12010 (Vkeyboard_translate_table): Move to struct kboard.
12011 (init_kboard): Initialize Vkeyboard_translate_table.
12012 (syms_of_keyboard): Use DEFVAR_KBOARD to define
12013 Vkeyboard_translate_table. Update doc strings. Update docs of
12014 local-function-key-map and function-key-map.
12015
12016 * terminal.c: New file.
12017
12018 * term.c: Include errno.h.
12019 (Vring_bell_function, device_list, initial_device)
12020 (next_device_id, ring_bell, update_begin, update_end)
12021 (set_terminal_window, cursor_to, raw_cursor_to)
12022 (clear_to_end, clear_frame, clear_end_of_line)
12023 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
12024 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
12025 (syms_of_term): Move their initialization to terminal.c.
12026 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
12027 (Ftty_display_color_cells)
12028 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
12029 (clear_tty_hooks, set_tty_hooks)
12030 (init_tty, maybe_fatal): New functions.
12031 (Ftty_type): Return nil if terminal is not on a tty instead of
12032 throwing an error. Doc update.
12033 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
12034 Doc update. Initialize new subrs and variables.
12035 (delete_tty): Use terminal->deleted.
12036 (tty_set_terminal_modes): Rename from set_terminal_modes.
12037 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
12038 (set_scroll_region): Rename to `tty_set_scroll_region'.
12039 (turn_on_insert): Rename to `tty_turn_on_insert'.
12040 (turn_off_insert): Rename to `tty_turn_off_insert'.
12041 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
12042 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
12043 (toggle_highligh): Rename to `tty_toggle_highlight'.
12044 (background_highlight): Rename to `tty_background_highlight'.
12045 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
12046 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
12047 (tty_set_scroll_region, tty_background_highlight)
12048 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
12049 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
12050 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
12051 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
12052 Add static modifier.
12053 (tty_reset_terminal_modes, tty_set_terminal_window)
12054 (tty_set_scroll_region, tty_background_highlight)
12055 (tty_highlight_if_desired, tty_cursor_to)
12056 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
12057 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
12058 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
12059 renames.
12060
12061 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
12062
12063 * keyboard.c: Qrtl is new.
12064 (parse_tool_bar_item): Handle :rtl keyword.
12065 (syms_of_keyboard): Intern :rtl keyword.
12066
12067 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
12068
12069 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
12070 so no Lisp code is executed.
12071 (file_for_image, find_rtl_image): New functions.
12072 (xg_get_image_for_pixmap): Use file_for_image.
12073 (update_frame_tool_bar): If direction is RTL, use RTL image if
12074 defined. Use Gtk stock images if defined.
12075
12076 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12077
12078 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
12079 for nonexistent or zero-width glyph in composition glyph.
12080
12081 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
12082
12083 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
12084
12085 * xdisp.c (Finvisible_p): New function.
12086 (syms_of_xdisp): defsubr it.
12087
12088 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
12089
12090 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
12091 Doc fixes.
12092
12093 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12094
12095 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
12096
12097 2007-08-24 Martin Rudalics <rudalics@gmx.at>
12098
12099 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
12100 whether decoding has modified buffer contents.
12101
12102 2007-08-24 Jason Rumney <jasonr@gnu.org>
12103
12104 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
12105 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
12106 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
12107 (init_svg_functions) [HAVE_NTGUI]: New function.
12108 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
12109 (svg_load_image): Use them.
12110 (svg_load_image) [HAVE_NTGUI]: Implement background.
12111
12112 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12113
12114 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
12115 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
12116 (LIBX): Remove @RSVG_LIBS@.
12117 (LIBES): Add $(RSVG_LIBS).
12118
12119 * image.c (svg_load_image): Blend with specified background if exists.
12120 Use IMAGE_BACKGROUND. Add Mac OS Support.
12121
12122 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
12123 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
12124 Remove macros.
12125 [MAC_OSX] (socket_callback): Do nothing.
12126 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
12127 ReceiveNextEvent.
12128 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
12129 socket_callback.
12130 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
12131
12132 2007-08-22 Glenn Morris <rgm@gnu.org>
12133
12134 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
12135
12136 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
12137
12138 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
12139
12140 * image.c: Add support for SVG images. Some additional comments
12141 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
12142 (svg_image_p): New function to test for SVG image.
12143 (svg_load): New function to load SVG image.
12144 (svg_load_image): New function, helper for svg_load.
12145 (Qsvg): New Lisp_object.
12146 (svg_keyword_index): New enum.
12147 (svg_format): New static `image_keyword' struct.
12148 (svg_type): New static `image_type' struct.
12149 (librsvg/rsvg.h): Include it.
12150
12151 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
12152
12153 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
12154
12155 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
12156
12157 * lread.c (Qold_style_backquotes): New var.
12158 (syms_of_lread): Init and staticpro it.
12159 (load_warn_old_style_backquotes): New fun.
12160 (Fload): Use them to warn about old style backquotes.
12161 (end_of_file_error, Fload): Remove unused vars.
12162
12163 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
12164
12165 * lread.c (Vold_style_backquotes): New var.
12166 (syms_of_lread): Init and export it to Elisp.
12167 (read1): Set it when we find an old-style (back)quote.
12168
12169 2007-08-22 Jason Rumney <jasonr@gnu.org>
12170
12171 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
12172
12173 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
12174
12175 * puresize.h (BASE_PURESIZE): Increase to 1140000.
12176
12177 2007-08-19 Richard Stallman <rms@gnu.org>
12178
12179 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
12180
12181 2007-08-19 Andreas Schwab <schwab@suse.de>
12182
12183 * alloc.c (pure): Round PURESIZE up.
12184
12185 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
12186
12187 * xterm.c (handle_one_xevent): Remove check that mouse click is in
12188 active frame.
12189
12190 2007-08-16 Richard Stallman <rms@gnu.org>
12191
12192 * eval.c (Fcommandp): Add parens to clarify.
12193
12194 * minibuf.c (Fall_completions): Use enum for type of table.
12195
12196 * emacs.c (USAGE2): Improve text.
12197
12198 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
12199
12200 * term.c (tty_default_color_capabilities): Declare static
12201 variables in file scope, to avoid HPUX compiler problem.
12202
12203 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
12204
12205 * gtkutil.c (update_frame_tool_bar): Use -1 as index
12206 to gtk_toolbar_insert.
12207
12208 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
12209
12210 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
12211
12212 * insdel.c (reset_var_on_error): New fun.
12213 (signal_before_change, signal_after_change):
12214 Use it to reset (after|before)-change-functions to nil in case of error.
12215 Bind inhibit-modification-hooks to t.
12216 Don't bind (after|before)-change-functions to nil while they run.
12217
12218 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12219
12220 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
12221 filling pixmap with stippled background.
12222
12223 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12224
12225 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
12226 Don't use invisible frame as parent window for repositioning.
12227
12228 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
12229
12230 * print.c (new_backquote_output): Rename from old_backquote_output.
12231 (print): Inverse its logic (according to its name) so as to match the
12232 behavior of new_backquote_flag in lread.c.
12233
12234 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12235
12236 * gmalloc.c (posix_memalign): New function.
12237
12238 * macterm.c (frame_highlight, frame_unhighlight): Don't call
12239 ActivateControl/DeactivateControl here.
12240 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
12241 frame-notice-user-settings is non-nil.
12242 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
12243 for kEventParamFMFontStyle.
12244 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
12245 mac_pass_command_to_system and mac_pass_control_to_system here.
12246 (XTread_socket): Call ActivateControl/DeactivateControl here.
12247 (XTread_socket) [TARGET_API_MAC_CARBON]:
12248 Check mac_pass_command_to_system and mac_pass_control_to_system here.
12249 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
12250 for window repositioning.
12251
12252 2007-08-08 Glenn Morris <rgm@gnu.org>
12253
12254 * Replace `iff' in doc-strings and comments.
12255
12256 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
12257
12258 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
12259
12260 2007-08-07 Martin Rudalics <rudalics@gmx.at>
12261
12262 * fileio.c (Finsert_file_contents): Run format-decode and
12263 after_insert_file_functions on entire buffer when REPLACE is
12264 non-nil and inhibit modification_hooks and point_motion_hooks.
12265 For consistency, run after_insert_file_functions iff something
12266 got inserted. Move signal_after_change and update_compositions
12267 after code running after_insert_file_functions. Make sure that
12268 undo_list doesn't record intermediate steps of the decoding process.
12269
12270 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12271
12272 * emacs.c (main)
12273 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
12274 Call malloc_enable_thread on interactive startup.
12275
12276 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
12277 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
12278 [USE_PTHREAD]: Conditionalize with it.
12279 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
12280 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
12281 New functions.
12282
12283 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
12284
12285 * xdisp.c (redisplay_window): When restoring original buffer
12286 position, make sure it is still valid.
12287
12288 * image.c (png_load): Ignore png-supplied background color.
12289
12290 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12291
12292 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
12293 Use kCFAbsoluteTimeIntervalSince1970.
12294
12295 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
12296 New variable.
12297 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
12298 event loop should be quit.
12299 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
12300 Quit dialog event loop if quit_dialog_event_loop is set.
12301
12302 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
12303 (Selection): New typedef. Use instead of ScrapRef.
12304 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
12305 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
12306 (mac_clear_selection): Rename from clear_scrap.
12307 (get_flavor_type_from_symbol): New argument SEL and subsume function of
12308 scrap_has_target_type. All uses changed.
12309 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
12310 (mac_selection_has_target_p): New functions.
12311 (mac_put_selection_value): Rename from put_scrap_string.
12312 (mac_get_selection_value): Rename from get_scrap_string.
12313 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
12314 (put_scrap_private_timestamp, scrap_has_target_type)
12315 (get_scrap_private_timestamp): Remove functions.
12316 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
12317 (x_own_selection, x_get_local_selection):
12318 Use mac_valid_selection_value_p.
12319 (x_own_selection): Don't use put_scrap_private_timestamp.
12320 Record OWNERSHIP-INFO into Vselection_alist instead.
12321 (x_get_local_selection): Don't check type if request is local.
12322 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
12323 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
12324
12325 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
12326
12327 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
12328 add comment explaining why.
12329
12330 2007-08-03 Richard Stallman <rms@gnu.org>
12331
12332 * fileio.c (Fvisited_file_modtime): Use make_time.
12333
12334 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
12335
12336 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
12337 build.
12338
12339 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
12340
12341 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
12342
12343 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
12344
12345 * puresize.h (BASE_PURESIZE): Increase to 1130000.
12346
12347 2007-07-30 Richard Stallman <rms@gnu.org>
12348
12349 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
12350
12351 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
12352
12353 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
12354
12355 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
12356
12357 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
12358 remote default-directory.
12359
12360 * buffer.c (mode-line-format): Update doc string.
12361
12362 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12363
12364 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
12365 scroll bar gap.
12366 (x_scroll_bar_create): Set bar->fringe_extended_p.
12367 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
12368 on frame edge. Check fringe background extension. Don't clear
12369 extended fringe background area.
12370
12371 * w32term.h (struct scroll_bar): New member fringe_extended_p.
12372 (w32_fill_area): Enclose multiple statements with do ... while (0).
12373
12374 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
12375 Extend fringe background to scroll bar gap.
12376 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
12377 Set bar->fringe_extended_p.
12378 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
12379 Put leftmost/rightmost scroll bars on frame edge. Check fringe
12380 background extension. Don't clear extended fringe background area.
12381
12382 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
12383 New member fringe_extended_p.
12384
12385 2007-07-25 Glenn Morris <rgm@gnu.org>
12386
12387 * Relicense all FSF files to GPLv3 or later.
12388
12389 * COPYING: Switch to GPLv3.
12390
12391 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
12392
12393 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
12394
12395 * data.c (Finteractive_form): Check for the presence of an
12396 `interactive-form' symbol property more thoroughly.
12397
12398 * data.c (Finteractive_form): Use an `interactive-form' property if
12399 present, analogous to the function-documentation property.
12400
12401 2007-07-24 Jason Rumney <jasonr@gnu.org>
12402
12403 * w32fns.c (x_real_positions): Get real position from OS instead of
12404 calculating it.
12405
12406 2007-07-23 Jason Rumney <jasonr@gnu.org>
12407
12408 * filelock.c (current_lock_owner): Allow for @ sign in username.
12409
12410 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
12411
12412 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
12413 remote default-directory.
12414
12415 * buffer.c (mode-line-format): Describe above case in doc string.
12416
12417 2007-07-20 Eli Zaretskii <eliz@gnu.org>
12418
12419 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
12420 Define if not defined.
12421
12422 2007-07-18 Jason Rumney <jasonr@gnu.org>
12423
12424 * w32proc.c (w32_executable_type): Handle 64 bit executables.
12425
12426 2007-07-18 Richard Stallman <rms@gnu.org>
12427
12428 * data.c (Fsetq_default): Doc fix.
12429
12430 * eval.c (Fsetq): Doc fix.
12431
12432 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
12433
12434 * coding.c (Ffind_operation_coding_system):
12435 * eval.c (For, Fand): Doc fixes.
12436 Reported by Johan Bockgård.
12437
12438 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
12439
12440 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
12441
12442 * xterm.h: Declare x_ewmh_activate_frame.
12443
12444 * xterm.c (x_ewmh_activate_frame): New function.
12445 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
12446
12447 2007-07-17 Martin Rudalics <rudalics@gmx.at>
12448
12449 * window.c (Fdisplay_buffer): If largest or LRU window is the
12450 only window, split it even if it is not eligible for splitting.
12451 This restores the original behavior broken by the 2007-07-15
12452 change.
12453
12454 2007-07-17 Glenn Morris <rgm@gnu.org>
12455
12456 * abbrev.c (abbrev_check_chars): New function.
12457 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
12458 Call abbrev_check_chars to check abbrev characters are word
12459 constituents. Doc fix.
12460
12461 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
12462
12463 * process.c (Fstart_process, Fmake_network_process)
12464 (read_process_output): Fix up last changes.
12465
12466 2007-07-16 Eli Zaretskii <eliz@gnu.org>
12467
12468 * makefile.w32-in (clean): Don't delete *~.
12469
12470 2007-07-16 Andreas Schwab <schwab@suse.de>
12471
12472 * window.c (Fdisplay_buffer): Use NILP.
12473 (Fset_window_scroll_bars): Likewise.
12474
12475 2007-07-15 Martin Rudalics <rudalics@gmx.at>
12476
12477 * window.c (window_min_size_2): New function.
12478 (window_min_size_1, size_window, Fdisplay_buffer)
12479 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
12480 windows without mode- or header-lines when window-min-height is
12481 too small.
12482 (size_window): Reset nodelete_p after testing it, following an
12483 earlier note by Kim F. Storm.
12484 (display_buffer): Do not set split_height_threshold to twice the
12485 value of window_min_height to avoid changing the value of a
12486 customizable variable. Rather explicitly check whether the
12487 height of the window that shall be splitted is at least as large
12488 as split_height_threshold.
12489 (Fwindow_full_width_p): New defun.
12490 (syms_of_window): Defsubr it.
12491
12492 * window.h: Add EXFUN for Fwindow_full_width_p.
12493
12494 2007-07-14 Jason Rumney <jasonr@gnu.org>
12495
12496 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
12497
12498 2007-07-14 Richard Stallman <rms@gnu.org>
12499
12500 * eval.c (maybe_call_debugger): New function.
12501 (find_handler_clause): Use maybe_call_debugger.
12502 Call it when the handler says `debug'.
12503 Eliminate DEBUGGER_VALUE_PTR.
12504 (Fsignal): Eliminate debugger_value.
12505 (Qdebug): New variable.
12506 (syms_of_eval): Initialize it.
12507
12508 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
12509
12510 * eval.c (Fprogn):
12511 * keyboard.c (Ftrack_mouse):
12512 * print.c (Fwith_output_to_temp_buffer):
12513 * window.c (Fsave_window_excursion): Doc fix.
12514
12515 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
12516
12517 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
12518
12519 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
12520
12521 * process.h (struct Lisp_Process): Turn slots infd, outfd,
12522 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
12523 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
12524 read_output_delay, and read_output_skip from Lisp_Objects to ints.
12525 Remove unused encoding_carryover.
12526 * process.c: Adjust all functions accordingly.
12527
12528 2007-07-12 Richard Stallman <rms@gnu.org>
12529
12530 * term.c: Include unistd.h only if HAVE_UNISTD_H.
12531
12532 2007-07-11 Jason Rumney <jasonr@gnu.org>
12533
12534 * makefile.w32-in (LIBS): Include OLE32.
12535
12536 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
12537 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
12538
12539 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
12540
12541 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
12542 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
12543 from a Lisp_Object into a bare pointer.
12544 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
12545 Adjust the code correspondingly.
12546
12547 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
12548
12549 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
12550 (term_show_mouse_face): Remove unused var `j'.
12551 (handle_one_term_event): Remove unused vars `i' and `j'.
12552 Don't cast return value of ttyname since it's not necessary.
12553
12554 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
12555
12556 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
12557 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
12558
12559 * fns.c (map_char_table): Use an array of int for `indices' rather than
12560 an array of Lisp_Objects (which are only ever integers anyway).
12561 (Fmap_char_table): Update caller.
12562 * lisp.h: Update prototype.
12563 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
12564 * fontset.c (Ffontset_info):
12565 * casetab.c (set_case_table): Update callers.
12566
12567 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
12568
12569 * keymap.c (struct accessible_keymaps_data)
12570 (struct where_is_internal_data): New structures.
12571 (accessible_keymaps_1, where_is_internal_1): Use them to change
12572 interface to adhere to the one used by map_keymap.
12573 (Faccessible_keymaps, where_is_internal): Use map_keymap.
12574 (accessible_keymaps_char_table, where_is_internal_2): Remove.
12575
12576 * keymap.h (map_keymap_function_t): More informative prototype.
12577
12578 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
12579
12580 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
12581 (looking_at_1): Don't change search_regs and last_thing_searched
12582 if `inhibit-changing-match-data' is non-nil.
12583 (string_match_1, search_buffer, set_search_regs): Likewise.
12584 (syms_of_search): Add Lisp level definition for
12585 `inhibit-changing-match-data' and set it to nil.
12586 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
12587 start and end of the match, instead of using values in search_regs.
12588
12589 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
12590
12591 * minibuf.c (Fcompleting_read): New value `confirm-only'
12592 for `require-match'.
12593
12594 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
12595
12596 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
12597 part of the 2007-06-27 change to syms_of_fileio.
12598
12599 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12600
12601 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
12602 Check WINDOWP before using XWINDOW. Consolidate return statements.
12603
12604 2007-06-27 Richard Stallman <rms@gnu.org>
12605
12606 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
12607
12608 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
12609
12610 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
12611
12612 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12613
12614 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
12615 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
12616 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
12617 (_free_internal, memalign): Use them.
12618 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
12619 Initialize to PTHREAD_MUTEX_INITIALIZER.
12620 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
12621 (morecore_nolock): Rename from morecore. All uses changed.
12622 Use only nolock versions of internal allocation functions.
12623 (_malloc_internal_nolock, _realloc_internal_nolock)
12624 (_free_internal_nolock): New functions created from
12625 _malloc_internal, _realloc_internal, and _free_internal.
12626 (_malloc_internal, _realloc_internal, _free_internal): Use them.
12627 Copy hook value to automatic variable before its use.
12628 (memalign): Copy hook value to automatic variable before its use.
12629
12630 2007-06-26 Kenichi Handa <handa@m17n.org>
12631
12632 * coding.c (Ffind_operation_coding_system): Docstring improved.
12633 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
12634
12635 2007-06-25 David Kastrup <dak@gnu.org>
12636
12637 * keymap.c (Fcurrent_active_maps): Add `position' argument.
12638 (Fwhere_is_internal): Adjust call to `current-active-maps' to
12639 cater for additional parameter.
12640
12641 * keymap.h: Adjust number of parameters to `current-active-maps'.
12642
12643 * doc.c (Fsubstitute_command_keys): Adjust call of
12644 `current-active-maps'.
12645
12646 2007-06-25 David Kastrup <dak@gnu.org>
12647
12648 * callint.c (Fcall_interactively): Make the parsing of interactive
12649 specs somewhat more readable.
12650
12651 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12652
12653 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
12654 to scroll bar gap also when bitmap fills fringe. Draw only foreground
12655 if extended background has already been filled.
12656
12657 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12658
12659 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
12660 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
12661
12662 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
12663 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
12664 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
12665 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
12666 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
12667 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
12668 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
12669 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
12670 Run timers during dialog popup.
12671 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
12672
12673 2007-06-21 Jason Rumney <jasonr@gnu.org>
12674
12675 * image.c (convert_mono_to_color_image): Swap fore and background.
12676
12677 2007-06-20 Jason Rumney <jasonr@gnu.org>
12678
12679 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
12680 (w32_free_bdf_font): Unmap memory not handle.
12681
12682 2007-06-20 Sam Steingold <sds@gnu.org>
12683
12684 * gmalloc.c (__morecore): Fix the declaration to comply with the
12685 definition.
12686
12687 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
12688
12689 * w32term.c (w32_delete_display): Remove leftover declaration.
12690 (w32_define_cursor, w32_initialize): Make static.
12691
12692 * w32.c (_wsa_errlist): Fix typo in error message.
12693 (init_environment): Ignore any environment variable from the
12694 registry having a null value.
12695
12696 2007-06-20 Glenn Morris <rgm@gnu.org>
12697
12698 * Makefile.in (LIBGIF): Default to -lgif.
12699
12700 2007-06-17 Jason Rumney <jasonr@gnu.org>
12701
12702 * w32menu.c (add_menu_item): Don't use multibyte string functions on
12703 unicode strings.
12704
12705 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
12706
12707 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
12708 Fix typo in docstring.
12709
12710 2007-06-16 Eli Zaretskii <eliz@gnu.org>
12711
12712 * w32menu.c (add_menu_item): Escape `&' characters in menu items
12713 and their keybindings.
12714
12715 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
12716
12717 * composite.c (update_compositions): Fix last fix.
12718
12719 2007-06-14 Jason Rumney <jasonr@gnu.org>
12720
12721 * w32.c (get_process_times_fn): New function pointer.
12722 (globals_of_w32): Intialize it if present in kernel32.dll.
12723 (w32_get_internal_run_time): New function.
12724
12725 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
12726
12727 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
12728
12729 * composite.c (update_compositions): Check the validness of
12730 compositions.
12731
12732 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12733
12734 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
12735 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
12736
12737 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
12738 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
12739
12740 * macgui.h (USE_MAC_TOOLBAR): New define.
12741
12742 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12743 Return immediately unless popup is activated.
12744
12745 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
12746 background to scroll bar gap.
12747 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
12748 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
12749 scroll bars on frame edge. Check fringe background extension.
12750 Don't clear extended fringe background area.
12751 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
12752 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
12753 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
12754 [USE_MAC_TOOLBAR]: New macros.
12755 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
12756 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
12757 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
12758 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
12759 [USE_MAC_TOOLBAR]: New functions.
12760 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
12761 manually if previous repositioning has failed.
12762 (mac_handle_keyboard_event): Use precomputed event kind.
12763 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
12764 as tool bar item click. Handle mouse movement over tool bar items.
12765
12766 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
12767 toolbar_win_gravity.
12768 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
12769 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
12770 Add externs.
12771
12772 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
12773 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
12774
12775 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
12776
12777 * image.c (search_image_cache): Remove unused variable.
12778
12779 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
12780
12781 * xfns.c, xmenu.c: Link to xaw3d if available.
12782
12783 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12784
12785 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
12786 frame_foreground and frame_background.
12787
12788 * image.c (lookup_image): Save frame foreground and background colors.
12789 (search_image_cache): Check if saved and current frame colors match.
12790
12791 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
12792
12793 * regex.c (regex_compile): Remove the `regnum' counter.
12794 Use bufp->re_nsub instead. Add support for \(?N:RE\).
12795
12796 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
12797
12798 * term.c: Include intervals.h to declare Fget_text_property.
12799
12800 2007-06-10 Jason Rumney <jasonr@gnu.org>
12801
12802 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
12803
12804 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
12805
12806 * callint.c (Fcall_interactively):
12807 * editfns.c (Fdelete_and_extract_region):
12808 * fileio.c (Fread_file_name):
12809 * fns.c (Fmapconcat):
12810 * keyboard.c (cmd_error_internal):
12811 * keymap.c (Fkey_description):
12812 * lread.c (openp):
12813 * minibuf.c (read_minibuf):
12814 * search.c (wordify):
12815 * sunfns.c (sel_read):
12816 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
12817 * xfns.c (x_default_scroll_bar_color_parameter):
12818 * xmenu.c (menu_help_callback):
12819 * xselect.c (Fx_get_atom_name):
12820 * xterm.c (x_term_init): Use empty_unibyte_string.
12821
12822 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
12823
12824 * alloc.c (init_strings): Initialize canonical empty strings.
12825 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
12826 canonical empty string when the requested size is 0.
12827
12828 * emacs.c (empty_unibyte_string): Rename from empty_string.
12829 (empty_multibyte_string): New canonical empty string.
12830 (syms_of_emacs): Don't initialize empty_string.
12831
12832 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
12833 string, if appropriate.
12834 (empty_unibyte_string, empty_multibyte_string): New externs.
12835 (empty_string): Remove extern.
12836
12837 * lread.c (syms_of_lread): Use empty_unibyte_string.
12838
12839 2007-06-07 Jason Rumney <jasonr@gnu.org>
12840
12841 * s/ms-w32.h: Don't define HAVE_TZNAME.
12842
12843 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
12844
12845 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12846
12847 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
12848
12849 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
12850 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
12851
12852 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
12853 Don't call next handler.
12854 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
12855 Remove argument. Install handler to application.
12856 (set_frame_menubar): Don't change deep_p.
12857 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
12858 FRAME_OUTER_TO_INNER_DIFF_Y.
12859 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
12860 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
12861 [HAVE_DIALOGS]: New macros.
12862 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
12863 Use them.
12864 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
12865
12866 * macselect.c [MAC_OSX] (install_service_handler): Rename from
12867 init_service_handler. All callers changed. Return OSStatus value.
12868
12869 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
12870 All callers changed so as not to call SetPortWindowPort.
12871 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
12872 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
12873 mac_draw_string_common.
12874 (mac_draw_image_string_qd): Likewise.
12875 (mac_draw_string_common): Use them. Add INLINE.
12876 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
12877 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
12878 GetGlobalMouse.
12879 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
12880 and FRAME_OUTER_TO_INNER_DIFF_Y.
12881 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
12882 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
12883 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
12884 repositioning window to mac_handle_window_event.
12885 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
12886 saving window location to mac_handle_window_event
12887 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
12888 (install_menu_target_item_handler): Remove argument in extern.
12889 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
12890 Also accept command events.
12891 (do_keystroke): New function created from XTread_socket.
12892 (init_command_handler): Remove functions.
12893 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
12894 and save window location by kEventWindowShowing and kEventWindowHiding
12895 handlers here. Don't call next handler for window state change and
12896 focus events.
12897 (mac_handle_application_event, mac_handle_keyboard_event)
12898 [TARGET_API_MAC_CARBON]: New functions.
12899 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
12900 kEventWindowShowing and kEventWindowHiding events. Move installation
12901 of mouse, font, text input and menu target item handlers to
12902 install_application_handler.
12903 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
12904 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12905 New function.
12906 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
12907 Register it.
12908 (XTread_socket) [TARGET_API_MAC_CARBON]:
12909 Consolidate SendEventToEventTarget calls.
12910 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
12911 Move application activation handler to mac_handle_application_event.
12912 Move keyboard handler to mac_handle_keyboard_event.
12913 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
12914 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
12915 init_command_handler. Call install_application_handler.
12916
12917 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
12918 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
12919
12920 2007-06-07 Glenn Morris <rgm@gnu.org>
12921
12922 * emacs.c (main): Use `emacs-copyright' in --version output.
12923
12924 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
12925
12926 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
12927
12928 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12929
12930 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
12931
12932 * macgui.h: Replace WindowPtr with WindowRef.
12933
12934 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12935 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12936 Replace ControlHandle with ControlRef.
12937 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
12938
12939 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
12940 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
12941 Replace ControlHandle with ControlRef.
12942 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
12943 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
12944
12945 * macterm.h (struct scroll_bar): Rename member control_handle_low
12946 and control_handle_high to control_ref_low and control_ref_high.
12947 All uses changed.
12948 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
12949 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
12950 respectively. All uses changed.
12951 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
12952 (install_window_handler, remove_window_handler): Replace WindowPtr
12953 with WindowRef in externs.
12954
12955 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
12956
12957 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
12958
12959 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
12960
12961 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
12962
12963 * frame.c (Fmouse_position, Fmouse_pixel_position):
12964 Condition on HAVE_GPM too.
12965
12966 * term.c (term_mouse_highlight): Remove unused variables.
12967 (Fterm_open_connection): Set gpm_zerobased to 1.
12968 (term_mouse_movement, term_mouse_click, handle_one_term_event):
12969 Use zero based co-ordinates.
12970 (handle_one_term_event): Report a drag as mouse movement too.
12971
12972 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
12973
12974 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
12975
12976 * image.c (search_image_cache): New function. Require background
12977 color match if background color is unspecified in the image spec.
12978 (uncache_image, lookup_image): Use it.
12979
12980 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
12981
12982 * window.c (Fshrink_window): Reflow docstring.
12983
12984 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
12985
12986 * Version 22.1 released.
12987
12988 2007-06-01 Richard Stallman <rms@gnu.org>
12989
12990 * xfns.c (x_encode_text): Add GCPRO.
12991
12992 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12993
12994 * xfns.c (x_set_name_internal): Save encoded name before
12995 x_encode_text in case string data is relocated.
12996
12997 2007-05-31 Richard Stallman <rms@gnu.org>
12998
12999 * buffer.c (syms_of_buffer): Doc fix.
13000
13001 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
13002
13003 * sysdep.c (init_sys_modes): Add rather than replace with
13004 O_NONBLOCK.
13005
13006 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
13007 term_mouse_moveto.
13008
13009 * termhooks.h (term_mouse_moveto): New extern.
13010
13011 * term.c (mouse_face_window): Rename...
13012 (Qmouse_face_window): ...to this.
13013 (term_show_mouse_face, term_clear_mouse_face)
13014 (term_mouse_highlight): Use Qmouse_face_window.
13015 (term_mouse_moveto): New function.
13016 (term_mouse_position): Make it work.
13017 (syms_of_term): Uncomment assignment to mouse_position_hook.
13018 Staticpro Qmouse_face_window.
13019
13020 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13021
13022 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
13023 around current_column call.
13024
13025 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
13026
13027 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
13028 * xdisp.c (next_element_from_buffer):
13029 * window.c (delete_window):
13030 * term.c (term_mouse_highlight):
13031 * msdos.c (getdefdir):
13032 * macterm.c (mac_create_bitmap_from_bitmap_data)
13033 (init_font_name_table):
13034 * fns.c (Fsxhash):
13035 * data.c (Fmake_local_variable):
13036 * ccl.c (ccl_driver): Likewise.
13037
13038 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13039
13040 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
13041 Call mac_wakeup_from_rne on window size change.
13042
13043 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
13044
13045 * image.c (uncache_image): Fix typo.
13046
13047 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
13048
13049 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
13050
13051 2007-05-22 Richard Stallman <rms@gnu.org>
13052
13053 * xterm.c (x_connection_closed): Remove NO_RETURN.
13054
13055 2007-05-22 Martin Rudalics <rudalics@gmx.at>
13056
13057 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
13058
13059 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
13060
13061 * image.c (uncache_image): New function.
13062 (Fimage_refresh): New function.
13063
13064 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
13065
13066 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
13067
13068 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
13069
13070 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
13071 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
13072
13073 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
13074
13075 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
13076 conditional on [HAVE_GPM_H].
13077
13078 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
13079
13080 * syntax.c (skip_chars): Update syntax-table only after we checked that
13081 the new location is valid.
13082
13083 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13084
13085 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
13086 mac_get_window_bounds.
13087
13088 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
13089
13090 * Makefile.in (LIBGPM): Allow it to be set from configure.
13091 If set then link Emacs with it.
13092
13093 * config.in: Regenerate.
13094
13095 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
13096 New externs.
13097
13098 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
13099 Include gpm.h.
13100 (handle_one_term_event, term_gpm): New externs.
13101
13102 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
13103 and allow it to be interrupted by SIGIO.
13104
13105 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
13106 (wait_reading_process_output): Wait on gpm_fd too.
13107 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
13108 (add_gpm_wait_descriptor_called_flag): New variable.
13109 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
13110
13111 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
13112 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
13113 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
13114 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
13115 (make_lispy_event): Add case GPM_CLICK_EVENT.
13116 (read_avail_input): Handle mouse input.
13117
13118 * term.c (write_glyphs_with_face): New function.
13119 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
13120 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
13121 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
13122 (mouse_face_face_id, term_gpm, pos_x, pos_y)
13123 (last_mouse_x, last_mouse_y): New variables.
13124 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
13125 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
13126 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
13127 (Fterm_close_connection): New functions.
13128 (term_init): Initialise mouse_face_window.
13129
13130 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
13131
13132 * xdisp.c (redisplay_window): If first window line is a
13133 continuation line, recompute the new window start instead of
13134 recentering.
13135
13136 2007-05-18 Glenn Morris <rgm@gnu.org>
13137
13138 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
13139 Suggested by Alfred M. Szmidt <ams@gnu.org>.
13140
13141 2007-05-17 Glenn Morris <rgm@gnu.org>
13142
13143 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
13144
13145 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13146
13147 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
13148 dead key repeat and up events.
13149
13150 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
13151
13152 * image.c (pbm_load): Check image size for monochrome pbm.
13153
13154 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
13155
13156 * xterm.c (XTread_socket): Revert last change.
13157
13158 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
13159
13160 * image.c (pbm_load): Correctly check image size for greyscale pbm.
13161
13162 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
13163
13164 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13165
13166 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
13167 mixup (YAILOM).
13168
13169 2007-05-07 Andreas Schwab <schwab@suse.de>
13170
13171 * keymap.c (Flookup_key): Fix typo in last change.
13172
13173 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13174
13175 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
13176 mapping for unibyte strings.
13177
13178 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13179
13180 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
13181 (Fx_popup_dialog) [MAC_OSX]: Likewise.
13182
13183 2007-04-29 Richard Stallman <rms@gnu.org>
13184
13185 * insdel.c (replace_range): For undo, record insertion first.
13186
13187 2007-04-29 Andreas Schwab <schwab@suse.de>
13188
13189 * lisp.h (VECSIZE): Use OFFSETOF.
13190
13191 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13192
13193 * xdisp.c (try_window_reusing_current_matrix): Fix number of
13194 disabled lines.
13195
13196 2007-04-28 Richard Stallman <rms@gnu.org>
13197
13198 * lread.c (read_escape): In a string, \s is always space.
13199
13200 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
13201
13202 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
13203
13204 * gtkutil.c (xg_update_menubar, create_menus): Create empty
13205 submenu for menu bar items.
13206
13207 See ChangeLog.10 for earlier changes.
13208
13209 ;; Local Variables:
13210 ;; coding: utf-8
13211 ;; add-log-time-zone-rule: t
13212 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
13213 ;; End:
13214
13215 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
13216
13217 This file is part of GNU Emacs.
13218
13219 GNU Emacs is free software: you can redistribute it and/or modify
13220 it under the terms of the GNU General Public License as published by
13221 the Free Software Foundation, either version 3 of the License, or
13222 (at your option) any later version.
13223
13224 GNU Emacs is distributed in the hope that it will be useful,
13225 but WITHOUT ANY WARRANTY; without even the implied warranty of
13226 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13227 GNU General Public License for more details.
13228
13229 You should have received a copy of the GNU General Public License
13230 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
13231
13232 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40