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