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