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