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