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