Fix previous change, sigh.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
cf299835
KH
12009-06-18 Kenichi Handa <handa@m17n.org>
2
3 * coding.c (decode_coding_iso_2022): Check MSB of bytes more
4 rigidly.
5
90f20d94
AS
62009-06-18 Andreas Schwab <aschwab@redhat.com>
7
8 * xdisp.c (redisplay_internal): Check that the frame is still
9 live after redisplay of its windows.
10 (redisplay_windows): Check that the window is still live.
11
7f1faf1c
KH
122009-06-17 Andreas Schwab <schwab@linux-m68k.org>
13
14 * coding.c (detect_coding_utf_16): Fix previous change.
15
cc13543e
KH
162009-06-16 Kenichi Handa <handa@m17n.org>
17
18 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
19 UTF-16 by checking the dispersion of Eth and Oth bytes.
20
977b85f4
AS
212009-06-15 Andreas Schwab <schwab@linux-m68k.org>
22
23 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
24
66bd43d1
KH
252009-06-15 Kenichi Handa <handa@m17n.org>
26
27 * process.c (status_message): Fix previous change. Be sure to
28 decode a localized string.
29
cb5ca9c5
YM
302009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
31
32 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
33 add comment explaining why.
34
5ee6f629
DR
352009-06-14 Sidney Markowitz <sidney@sidney.com>
36
37 * nsmenu.m (EmacsTooltip: setText): set height of tooltip.
38
4b7f335c
AR
392009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
40
41 * nsfont.m (ns_attribute_value): Remove.
42 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
43 (ns_has_attribute): Shrink the normal range.
44 (ns_findfonts): Don't worry about requested spec in determining
45 need for synthItal.
e41820ee 46 (ns_get_covering_families): Retain scriptToFamilies.
4b7f335c 47
73b26103
SZ
482009-06-14 Seiji Zenitani <zenitani@mac.com>
49
50 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
51
5753e4da
KH
522009-06-11 Kenichi Handa <handa@m17n.org>
53
54 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
55 overhang for the static composition case.
56
3561b671
KH
572009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
58
5753e4da
KH
59 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
60 overhang for the automatic composition case.
61
3561b671
KH
62 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
63 composition case.
64
852bbd41
CY
652009-06-10 Chong Yidong <cyd@stupidchicken.com>
66
67 * xdisp.c (get_next_display_element): When handling wrap-prefix
68 and line-prefix, treat \n as a control character (bug#3502).
69
9903d1e6
KH
702009-06-10 Kenichi Handa <handa@m17n.org>
71
72 * font.c (font_parse_family_registry): Fix for one-char foundry.
73 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
74
0bcbaaaa
CY
752009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
76
77 * process.c (status_message): Fix handling of multibyte signal
78 string (Bug#3499).
79
40aa3f13
JM
802009-06-09 Jim Meyering <meyering@redhat.com>
81
1f80c7e2
CY
82 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
83 color name is missing.
40aa3f13 84
72d51285
KH
852009-06-09 Kenichi Handa <handa@m17n.org>
86
87 * charset.c (Fmap_charset_chars): In docstring, state clearly that
88 FROM-CODE and TO-CODE are codepoints of CHARSET.
89
c1d04d84
AR
902009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
91
92 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
93
942009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
95
96 Changes to support :script/:lang/:otf in NS font driver.
97 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
98 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
99 indicate not part of font driver interface, and change callers.
100 (ns_get_family): Remove pointless null check.
101 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
102 ns_spec_to_descriptor, ns_descriptor_to_entity.
103 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
104 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
105 (ns_spec_to_descriptor, ns_descriptor_to_entity)
106 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
107 (ns_get_req_script, ns_accumulate_script_ranges)
108 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
109 New functions.
110 (nsfont_list, nsfont_match): Use ns_findfonts.
111 (nsfont_open): Use font descriptor instead of traits.
112 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
113 (dump_glyphstring): Rename to ns_dump_glyphstring.
114
c7eb9816
AR
115 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
116
c1d04d84
AR
117 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
118
119 * fontset.c (fontset_from_font): Remove NS-specific code.
120
1212009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
122
123 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
124 nonactive windows.
125
1262009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
127
128 * nsterm.m (ns_init_paths): Append path separator to INFOPATH
129 variable.
130
68852c13 1312009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
e7777236
AR
132
133 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
134
6756cd1d
CY
1352009-06-07 Chong Yidong <cyd@stupidchicken.com>
136
137 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
138 account for the overflowing of newlines into the last glyph on the
139 display line (Bug#3482).
140
28bf482a
DR
1412009-06-05 David Reitter <david.reitter@gmail.com>
142
143 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p,
144 Fx_selection_owner_p): rename from Fns_own_selection_internal,
145 Fns_selection_exists_p, Fns_selection_owner_p.
146
fdb55376
JR
1472009-06-03 Jason Rumney <jasonr@gnu.org>
148
149 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
150 available. (Bug#3379)
151
05129fbe
KH
1522009-05-29 Kenichi Handa <handa@m17n.org>
153
154 * coding.c (get_translation_table): Check
155 Venable_character_translation.
156
15891144
DR
1572009-05-25 David Reitter <david.reitter@gmail.com>
158
159 * nsterm.m (ns_raise_frame): only raise frame if visible.
160 (x_make_frame_visible): move frame to front rather than calling
161 ns_raise_frame().
162 (keyDown:) do not swallow events that aren't re-sent if frame
163 isn't key window.
164 (drawRect:) do not set visibility/iconified flags because
165 drawRect may be called by NSView even if the frame is hidden.
166
167 * nsfns.m (Fx_create_frame): follow other ports in
168 determining visibility; default to t. Ensure async_visible is set.
169
21f73755
EZ
1702009-05-23 Eli Zaretskii <eliz@gnu.org>
171
172 * dired.c (Ffile_attributes): Doc fix.
173
34001e41
CY
1742009-05-22 Chong Yidong <cyd@stupidchicken.com>
175
176 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
177
46306a17
SM
1782009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
179
180 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
181 and xfont_scratch_props.
182 (syms_of_xfont): Do it here instead.
183 (xfont_find_ccl_program): Delete, unused.
184 (xfont_open): Delete unused var `i'.
185
ef6e0694
KH
1862009-05-21 Kenichi Handa <handa@m17n.org>
187
188 * fontset.c (Qlatin): Don't make it static.
189
46306a17
SM
190 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
191 New functions.
ef6e0694
KH
192 (xfont_scripts_cache, xfont_scratch_props): New variables.
193 (Qlatin, Vscalable_fonts_allowed): Extern it.
46306a17
SM
194 (xfont_list_pattern): Argument changed. Callers changed.
195 Check Vscalable_fonts_allowed. Check the support of a script.
ef6e0694
KH
196 (xfont_list): Don't reject a font spec with :script property.
197 (xfont_has_char): Fix setting of encoding.
198 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
199 xfont_scratch_props.
200
2012009-05-19 Kenichi Handa <handa@m17n.org>
202
46306a17 203 * font.c (font_sort_entities): Rename from font_sort_entites.
ef6e0694
KH
204 Callers changed.
205
2062009-05-18 Kenichi Handa <handa@m17n.org>
207
208 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
209
ac71ced7
SM
2102009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
211
212 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
213 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
214
1c6d1051
YM
2152009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
216
217 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
218 (x_delete_terminal): Dissociate resource database from display and
219 then call XrmDestroyDatabase before closing display.
220
9b9b779c
AR
2212009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
222
223 * nsterm.m (ns_read_socket): Remove unused variable.
1564e649
AR
224 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
225 whether selected frame is viable before raising it (based on patch
226 by David Reitter), and improve commentary.
227 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
9b9b779c 228
cccd42d5
KH
2292009-05-15 Kenichi Handa <handa@m17n.org>
230
231 * font.c (Ffont_spec): Check arguments.
232
337fbd17
CY
2332009-05-14 Chong Yidong <cyd@stupidchicken.com>
234
235 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
236 weight when testing attributes (Bug#3282).
237
47a6002f
JD
2382009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
239
240 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
241 what we expect to get in the next ConfigureNotify event.
242
9cb363db
YM
243 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
244 before Xft one (Bug#1696).
245
b9126609
CY
2462009-05-07 David Reitter <david.reitter@gmail.com>
247
248 * nsfns.m (Fx_display_planes): Compute bitplanes using
249 NSBitsPerPixelFromDepth (Bug#3207).
250
27a69fd9
CY
2512009-05-10 Chong Yidong <cyd@stupidchicken.com>
252
253 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
254
00f37552
TTN
2552009-05-10 Ulrich Mueller <ulm@gentoo.org>
256
257 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
258
2d82a920
DR
2592009-05-07 David Reitter <david.reitter@gmail.com>
260
261 * nsterm.m (ns_dumpglyphs_stretch,ns_dumpglyphs_image):
262 respect mouse face background.
263
46b0d52d
DR
2642009-05-07 David Reitter <david.reitter@gmail.com>
265
266 * nsterm.m (note_mouse_movement,ns_frame_up_to_date):
267 mouse movement/highlight: bracket drawing operations
268 in ns_update_begin and ns_update_end.
269
ce1b23bb
SM
2702009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
271
5996e1b7
SM
272 * nsfns.m (ns_get_screen): Rewrite.
273 Don't presume selected-frame is of type `ns'.
274
ba98e3a0
SM
275 * font.c (font_update_drivers): Sanity fallback to avoid disabling
276 all drivers.
277
ce1b23bb
SM
278 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
279
bcda200f
YM
2802009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
281
282 * keyboard.h (add_user_signal): Fix typo in extern.
283
284 * lisp.h (add_user_signal): Remove extern.
285
286 * unexelf.c (unexec): Consider a section to precede the .bss section
287 if its addresses overlap that of .bss.
288 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
289 instead of dumping process.
290
864660a2
SM
2912009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
292
293 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
294
50da4e56
SM
2952009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
296
297 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
298
51520a1a
DN
2992009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
300
301 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
302 any statements.
303
409ea3a1
AS
3042009-05-02 Andreas Schwab <schwab@linux-m68k.org>
305
59c4c60f
AS
306 * process.c (read_process_output): Make sure the current buffer is
307 always restored.
308
409ea3a1
AS
309 * coding.c (record_conversion_result): Don't modify
310 Vlast_code_conversion_error for successful result.
311 (alloc_destination): Don't clobber conversion result. (Bug#1650)
312
56f00ed2
KH
3132009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
314
315 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 316 (load_charset_map): Remove unnecessary code.
56f00ed2 317
4491c9d2
DR
3182009-04-30 David Reitter <david.reitter@gmail.com>
319
35f5b128 320 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
321 through f24.
322
6970f632
CY
3232009-04-30 Chong Yidong <cyd@stupidchicken.com>
324
325 * xfaces.c (face_at_buffer_position): New arg base_face_id.
326
327 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
328 face_at_buffer_position.
329 (face_before_or_after_it_pos, get_next_display_element)
330 (note_mouse_highlight): Update face_at_buffer_position call.
331
332 * term.c (term_mouse_highlight):
333 * msdos.c (IT_note_mouse_highlight):
334 * fontset.c (Finternal_char_font):
35f5b128 335 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
336
337 * dispextern.h (face_at_buffer_position): Update prototype.
338
0c616f63
KH
3392009-04-30 Kenichi Handa <handa@m17n.org>
340
35f5b128 341 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 342
ad3aaf33
AS
3432009-04-29 Andreas Schwab <schwab@linux-m68k.org>
344
345 * callproc.c (Fcall_process): Fix GC protection. Make sure
346 current buffer is always restored.
347
c3c963a0
YM
3482009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
349
350 * atimer.c (init_atimer): Also clear stopped_atimers.
351
352 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
353
7e3386cb
YM
354 * process.c (create_process): Clean up merger residues of
355 2008-07-17 change.
356
91f68422
CY
3572009-04-29 Ulrich Mueller <ulm@gentoo.org>
358
359 * lread.c (Vread_circle): New variable.
360 (read1): Disable recursive read if Vread_circle is nil.
361
24b34550
KH
3622009-04-29 Kenichi Handa <handa@m17n.org>
363
364 * fontset.h (set_default_ascii_font): Delete extern.
365
366 * fontset.c (set_default_ascii_font): Delete this unused function.
367
368 * frame.c (x_set_font): When ARG is a font-object, check if the
369 font-object matches with the ASCII font-spec of the frame's
9c358bda 370 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 371
77bf07e1
AS
3722009-04-28 Andreas Schwab <schwab@linux-m68k.org>
373
374 * fns.c (Flocale_info): Protect vector from GC during decoding.
375
376 * process.c (Fstart_process): Protect argv strings from GC during
377 encoding.
378
2c55aacf
AS
3792009-04-27 Andreas Schwab <schwab@linux-m68k.org>
380
381 * sysdep.c: Include <ctype.h>.
382
b892d3c9
DR
3832009-04-27 David Reitter <david.reitter@gmail.com>
384
35f5b128 385 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
386 Remove commented-out code.
387
9d0644c4
JB
3882009-04-26 Johan Bockgård <bojohan@gnu.org>
389
390 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
391
b7053016
JR
3922009-04-25 Jason Rumney <jasonr@gnu.org>
393
394 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
395
4e8231f3
YM
3962009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
397
398 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
399 Swap bytes in short integer if fringe bitmap width > 8.
400
493dcf2c
KH
4012009-04-23 Kenichi Handa <handa@m17n.org>
402
403 * xfaces.c (Fx_list_fonts): If a font size is specified in
404 PATTERN, set it in returned scalable fonts.
405
401e9e57
CY
4062009-04-22 Chong Yidong <cyd@stupidchicken.com>
407
708e05dc
CY
408 * keyboard.c (Fset_input_meta_mode): Doc fix.
409
410 * dispnew.c (Fsend_string_to_terminal): Doc fix.
411
412 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc
413 fixes.
414
415 * coding.c (Fterminal_coding_system): Doc fix.
416
417 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
418 (Fx_display_pixel_height, Fx_display_planes)
419 (Fx_display_color_cells, Fx_server_max_request_size)
420 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
421 (Fx_display_mm_height, Fx_display_mm_width)
422 (Fx_display_backing_store, Fx_display_visual_class)
423 (Fx_display_save_under, Fx_close_connection, Fx_synchronize): Doc
424 fixes, replacing "terminal id" with "terminal object".
425 (check_x_display_info): Handle terminal objects instead of
426 terminal ids.
427
401e9e57
CY
428 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
429 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
fdc496e7
CY
430 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): Doc
431 fixes, replacing "terminal id" with "terminal object".
401e9e57 432
df80c7f0
KH
4332009-04-21 Kenichi Handa <handa@m17n.org>
434
5a8f12af 435 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 436 (font_score): Check AVGWIDTH too.
908567ef 437
df80c7f0
KH
438 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
439 worst case.
440 (decode_coding_emacs_mule, decode_coding_iso_2022)
441 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
442 Likewise.
443
705af33f
JR
4442009-04-19 Jason Rumney <jasonr@gnu.org>
445
446 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 447 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
448
449 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
450 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
451 get_phys_cursor_geometry.
452
b71ac3dd 453 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
454 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
455 using get_phys_cursor_geometry.
456
457 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
458 correctly calculated.
459
dc2933eb
JD
4602009-04-19 Jan Djärv <jan.h.d@swipnet.se>
461
462 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): Use
463 G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
464 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
465 is deprecated.
466
973e7849
AS
4672009-04-18 Andreas Schwab <schwab@linux-m68k.org>
468
469 * font.c (font_put_frame_data): Use xfree instead of free.
470
314d66f4
JB
4712009-04-17 Juanma Barranquero <lekktu@gmail.com>
472
473 * w32font.c (Qja, Qko): Remove declarations.
474 (syms_of_w32font): Don't DEFSYM them.
475
cf702558
CY
4762009-04-17 Chong Yidong <cyd@stupidchicken.com>
477
478 * font.c (Qja, Qko): Move definitions here from ftfont.c.
479
480 * font.h (Qja, Qko): Extern them.
481
482 * ftfont.c (Qja, Qko): Remove declarations.
483
484 * xfont.c (Qja, Qko): Remove declarations.
485
b50504f5
KH
4862009-04-17 Kenichi Handa <handa@m17n.org>
487
bde25748
KH
488 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
489 string from a vector to handle Latin-1 characters correctly.
490
b50504f5
KH
491 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
492 entity even if the cache hits.
493
f4646fff
AS
4942009-04-16 Andreas Schwab <schwab@linux-m68k.org>
495
496 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 497 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 498
e7deaab0
AS
499 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
500 * lisp.h: Adjust prototypes.
501
0a0e7d49
CY
5022009-04-16 Chong Yidong <cyd@stupidchicken.com>
503
504 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
505 change (Bug#3003).
506
3c908a57
KH
5072009-04-16 Kenichi Handa <handa@m17n.org>
508
bd0af90d
KH
509 * xfont.c (xfont_has_char): Special handling of `ja' and `ko'
510 adstyle.
511
512 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
513 adstyle.
514
515 * ftfont.c (Qja, Qko): Don't make them static.
516 (enum ftfont_cache_for): New enum.
517 (fc_charset_table): Undo the previous change.
518 (ftfont_get_latin1_charset): Delete it.
519 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. Set
520 FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
521 non-scarable font, try to get AVERAGE_WIDTH.
522 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
523 Change ft_face_cache from a list of a hash-table. Don't check
524 `ja' and `ko' adstyle here.
525 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
526 FTFONT_CACHE_FOR_CHARET.
527 (ftfont_get_charset): Undo the previous change.
528 (ftfont_open): Call ftfont_lookup_cache with
529 FTFONT_CACHE_FOR_FACE.
530 (ftfont_close): Likewise.
531 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
532
533 * font.c (font_sort_entites): Change the meaning of the arg
534 BEST-ONLY. Don't optimize for VEC of lenght 1.
535 (font_select_entity): Just return the value of font_sort_entites.
536
537 * xfaces.c (merge_face_vectors): Reflect font properties in
538 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
539 font_clear_prop if a face attribute doesn't change.
540
3c908a57
KH
541 * charset.h (charset_ksc5601): Extern it.
542
543 * charset.c (charset_ksc5601): New variable.
544 (Fdefine_charset_internal): Set charset_ksc5601.
545 (init_charset_once): Initialize charset_ksc5601 to -1.
546
d65859c3
DN
5472009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
548
549 * fileio.c (history_delete_duplicates): Remove unused declaration.
550
551 * callint.c (history_delete_duplicates): New declaration.
552 (Fcall_interactively): Remove command history duplicates when
553 history_delete_duplicates is true.
554
3ba010e5
EZ
5552009-04-14 Eli Zaretskii <eliz@gnu.org>
556
557 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
558
06f19b91
KH
5592009-04-14 Kenichi Handa <handa@m17n.org>
560
561 * font.c (Ffont_info): Fix docstring. Fix the second element of
562 the returned value (bug#2949).
563
2cce8bfc
CY
5642009-04-14 Chong Yidong <cyd@stupidchicken.com>
565
566 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
567
d156542d
KH
5682009-04-14 Kenichi Handa <handa@m17n.org>
569
570 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
571 encoding charset is ascii_compatible.
572
573 * charset.c (Fdefine_charset_internal): Make charset
574 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
575 code_offset is 0, and covers all ASCII characters.
576
86fa089e
SM
5772009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
578
579 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
580 (ns_string_to_pasteboard_internal):
581 * nsmenu.m (process_dialog):
582 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
583 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
584 * lisp.h (Fx_load_color_file): Declare.
585
a8a3728b
KH
5862009-04-13 Kenichi Handa <handa@m17n.org>
587
588 * font.c (font_delete_unmatched): Preserve the order of list
589 elements.
590 (font_select_entity): Suppress the code to optimize for the same
591 kind of fonts.
592 (font_load_for_lface): Get a font that supports at least ASCII
593 characters.
594
595 * ftfont.c (Qja, Qko): New variables.
596 (fc_charset_table): Delete uniquifier data for iso8859-1.
597 (ftfont_get_latin1_charset): New function.
598 (get_adstyle_property): New function.
599 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
600 bitmap fonts.
601 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
602 Delete iso-8859-1 range from the charset of fonts whose adstyle is
603 `ko' or `ja'.
604 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
605 (ftfont_get_charset): For iso8859-1, call
606 ftfont_get_latin1_charset.
607 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
608 property.
609 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
610 (syms_of_ftfont): DEFSYM Qja and Qko.
611
483670b5
KH
6122009-04-09 Kenichi Handa <handa@m17n.org>
613
12b55765
KH
614 * charset.c (map_charset_chars): For a charset of `superset'
615 method, fix calculation of code range.
616
483670b5
KH
617 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
618 from the list of extra properties.
619 (font_clear_prop): Be sure to delete `:name' font property.
620
57d3b93b
KH
6212009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
622
b4b2c2ca
YM
623 * dispnew.c (redraw_overlapping_rows): Fix detection of
624 overlapping for topmost and bottommost rows.
625
57d3b93b
KH
626 * ftfont.c (ftfont_text_extents): Fix calculation of
627 metrics->descent.
628
472c3609
JR
6292009-04-06 Jason Rumney <jasonr@gnu.org>
630
631 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
632
ab193662
KH
6332009-04-06 Kenichi Handa <handa@m17n.org>
634
635 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
636
637 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
638
0c26f026
KH
6392009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
640
641 * ftfont.c (ftfont_open): Fix checking of the return value of
642 FT_Load_Char. Fix setting font->underline_thickness.
643
e173bbce
CY
6442009-04-04 Chong Yidong <cyd@stupidchicken.com>
645
646 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
647 (Fterminal_parameters, Fterminal_parameter)
648 (Fset_terminal_parameter): In doc string, refer to terminal
649 objects rather than terminal ids.
650
693a2698
EZ
6512009-04-04 Eli Zaretskii <eliz@gnu.org>
652
653 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
654 ret_lim_data. (Bug#2867)
655
d5221487
CY
6562009-04-03 Chong Yidong <cyd@stupidchicken.com>
657
658 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
659 so they don't get wider than the window, matching 2006-01-23
660 change to the partner function in xdisp.c (Bug#2800).
661
223509a3
KH
6622009-04-03 Kenichi Handa <handa@m17n.org>
663
664 * print.c (print_object): Make each lowest sub_char_table start a
665 new line (Bug#2866).
666
74fcd0b1
KH
6672009-04-02 Kenichi Handa <handa@m17n.org>
668
669 * fontset.c (fontset_font): Record no-font when a fontset
670 explicitly tells not to try another font-specs.
671
c542407d
SM
6722009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
673
674 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
675
e3869731
KH
6762009-03-30 Kenichi Handa <handa@m17n.org>
677
d8d2f142
KH
678 * fontset.c (fontset_from_font): Specify only registry in a
679 font-spec for all characters supported by that registry.
680
e3869731
KH
681 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
682 even if HAVE_M17N_FLT is not defined.
683
5da5f805
CY
6842009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
685
686 * ftfont.c: Conditionalize prototyping and use of
687 ftfont_variation_glyphs.
688
ab226c50
SM
6892009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
690
9628fed7
SM
691 * frame.c (delete_frame): Work around compiler bug.
692
693 * editfns.c (general_insert_function): Adjust to insdel.c changes.
694 * insdel.c (prepare_to_modify_buffer, signal_before_change):
695 Some more EMACS_INT.
696 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
697
698 * xdisp.c (dump_glyph): Fix typo.
699
ae19ba7c
SM
700 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
701 (adjust_markers_gap_motion, adjust_markers_for_delete)
702 (adjust_markers_for_insert, adjust_point)
703 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
704 (make_gap, copy_text, count_size_as_multibyte, insert)
705 (insert_and_inherit, insert_before_markers)
706 (insert_before_markers_and_inherit, insert_1)
707 (count_combining_before, count_combining_after, insert_1_both)
708 (insert_from_string, insert_from_string_before_markers)
709 (insert_from_string_1, insert_from_gap, insert_from_buffer)
710 (insert_from_buffer_1, adjust_after_replace)
711 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
712 (replace_range_2, del_range, del_range_1, del_range_byte)
713 (del_range_both, del_range_2, modify_region)
714 (prepare_to_modify_buffer, signal_before_change)
715 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
716 for buffer positions and sizes.
717 * lisp.h: Adjust prototypes accordingly.
718
719 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
720 (non_regular_inserted, non_regular_nbytes, read_non_regular)
721 (Finsert_file_contents): Use EMACS_INT for buffer positions.
722
ab226c50
SM
723 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
724
46dfb8fb
JD
7252009-03-27 Jan Djärv <jan.h.d@swipnet.se>
726
727 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
728 lines and columns so we keep the same pixel height and width.
729
730 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
731 the property _NET_WM_STATE has changed.
46dfb8fb
JD
732 (x_handle_net_wm_state): New function to update frame parameter
733 fullscreen.
734 (x_term_init): Initialize atoms for _NET_WM_STATE.
735
736 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
737
d347e494
SM
7382009-03-27 Kevin Ryde <user42@zip.com.au>
739
740 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
741 Gpm_GetEvent as an error that justifies closing the filedescriptor.
742 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
743 (Fgpm_mouse_stop): Pass that new parameter.
744 * termhooks.h (close_gpm): Adjust prototype.
745
84db11d6
SM
7462009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
747
c95a5008
SM
748 * lisp.h (Fx_focus_frame): Declare.
749
84db11d6
SM
750 * callint.c (Fcall_interactively): For '^' just delegate the work to
751 handle-shift-selection.
752 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
753
0a1958d6
CY
7542009-03-24 Chong Yidong <cyd@stupidchicken.com>
755
0bfdff23
CY
756 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
757
0a1958d6
CY
758 * data.c (Qinteractive_form): New variable.
759 (Finteractive_form): Use it.
760
761 * eval.c (Fcommandp): Use Qinteractive_form.
762
58aec0d6
JR
7632009-03-24 Jason Rumney <jasonr@gnu.org>
764
765 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
766 Calculate total size precisely. Decode environment variables
767 before substituting. (Bug#38)
768
553dd618
KH
7692009-03-24 Kenichi Handa <handa@m17n.org>
770
771 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 772 encoding (Bug#2722).
553dd618 773
c39ea606
JD
7742009-03-23 Jan Djärv <jan.h.d@swipnet.se>
775
776 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
777 that gdpy is set.
778
bc9b2b5e
AM
7792009-03-22 Alan Mackenzie <acm@muc.de>
780
781 * callint.c (Finteractive): Clarify the doc string - even
782 promptless elements need \n separators.
783
9f995a76
JR
7842009-03-22 Jason Rumney <jasonr@gnu.org>
785
786 * w32term.c (syms_of_w32term): Doc fix for
787 x-use-underline-position-properties.
788
22749e9a
EZ
7892009-03-21 Eli Zaretskii <eliz@gnu.org>
790
791 * w32.c (getpwuid): Change argument type to unsigned.
792 (struct w32_id): Change type of `rid' member to unsigned.
793 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
794 argument ID to unsigned. All callers changed.
795 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
796
e00553bf
EZ
7972009-03-20 Eli Zaretskii <eliz@gnu.org>
798
799 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
800 negative, produce a float value.
801
802 * dired.c (make_uid, make_gid): New functions.
803 (Ffile_attributes): Use them to avoid negative UID and GID.
804
f761d6b6
JB
8052009-03-20 Juanma Barranquero <lekktu@gmail.com>
806
807 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
808 (syms_of_keyboard) <command-hook-internal, input-method-function>:
809 Fix typos in docstrings.
810
d507f8d7
KH
8112009-03-19 Kenichi Handa <handa@m17n.org>
812
813 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
814 changed, use font_load_for_lface to get a new font object.
815 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
816
817 * frame.c (x_set_font): Handle the case that ARG is a cons.
818
c68845e0
GM
8192009-03-19 Glenn Morris <rgm@gnu.org>
820
821 * fileio.c (Fsubstitute_in_file_name): Doc fix.
822
bfa49dd1
CY
8232009-03-19 Chong Yidong <cyd@stupidchicken.com>
824
825 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
826
8458d4c1
KH
8272009-03-19 Kenichi Handa <handa@m17n.org>
828
829 * charset.c (load_charset_map_from_file): When a mapfile can't be
830 loaded, signal an error.
831
78e7d1fe
EZ
8322009-03-18 Eli Zaretskii <eliz@gnu.org>
833
834 * dired.c (Ffile_attributes): Make sure UID and GID are always
835 positive, even if the value is too large for a positive EMACS_INT.
836 Doc fix.
837
838 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
839
5da9fdfa
YM
8402009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
841
842 * xmenu.c (xdialog_show): Move Fredisplay call ...
843 (Fx_popup_dialog): ... here.
844
7519c40d
SM
8452009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
846
847 * dired.c (file_name_completion): Disable the first optimization just
848 installed, since it is not implemented correctly.
849
2cd298e2
SM
8502009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
851
852 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 853 only if the entry can affect bestmatch.
2cd298e2
SM
854 Stop the search early, as Ftry_completion already does.
855
48d37adf
CY
8562009-03-17 Chong Yidong <cyd@stupidchicken.com>
857
e10c9c93 858 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 859
9286b16a
CY
8602009-03-15 Chong Yidong <cyd@stupidchicken.com>
861
862 * keyboard.c (parse_menu_item): Don't display remappings as menu
863 equivalent bindings (Bug#788).
864
f7b146dc
JR
8652009-03-15 Jason Rumney <jasonr@gnu.org>
866
867 * w32term.h (WM_EMACS_PAINT): New message.
868 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
869 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
870 before passing to lisp thread. (Bug#950)
871
f761d6b6 8722009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 873
d93f9575
CY
874 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
875 variable as it was never reset.
876 (ns_term_init): Remove initialization of Lisp-settable defaults
877 and ns_expand_space.
878 (-setPanelFromDefaultValues): Remove ns_expand_space.
879 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
880 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
881 i.e. no additional spacing, similar to Carbon port.
882
d93f9575
CY
883 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
884 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 885
305018ec
JD
8862009-03-14 Jan Djärv <jan.h.d@swipnet.se>
887
888 * sound.c (alsa_configure): Remove call to deprecated
889 snd_pcm_sw_params_set_xfer_align.
890
f761d6b6 8912009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
892
893 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
894 after clicking in a detached tool bar.
895 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
896
46e722a9
SM
8972009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
898
348db3dd
SM
899 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
900 int/Lisp_Object mixup).
46e722a9 901
a3d16f39
KH
9022009-03-13 Kenichi Handa <handa@m17n.org>
903
904 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 905 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
906 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
907 (set_fontset_font): Change ARG to a vector. Handle range_list in
908 ARG correctly.
909 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 910 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
911 the above change.
912 (fontset_from_font): Fix previous change.
fe24f56a 913 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
914 entry. If FONTSET is the default fontset, don't set the extra
915 slot of the returning char-table.
916
b066e6b6
JB
9172009-03-12 Juanma Barranquero <lekktu@gmail.com>
918
919 * nsfns.m (Fx_close_connection): Doc fix.
920 (Fns_do_applescript): Reflow docstring.
921 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
922 (Fx_display_pixel_width, Fx_display_pixel_height)
923 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
924 Fix typos in docstrings.
925 (Fns_set_alpha): Fix typos in error messages.
926
d472514e 9272009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 928
d472514e 929 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
930 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
931 were used for such events.
932
d472514e
JB
933 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
934 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 935
d472514e 936 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
937 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
938
fb930676
KH
9392009-03-11 Kenichi Handa <handa@m17n.org>
940
ff85581a
KH
941 * font.h (font_open_by_spec): Extern it.
942
c50b7e98
KH
943 * font.c (font_open_by_spec): New function.
944 (font_open_by_name): Use font_open_by_spec.
945
fb930676
KH
946 * frame.c (x_set_font): When ARG is a font-object, don't alter the
947 fontset of the frame.
948
949 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
950 modify the default font of frames that use this fontset.
951 (num_auto_fontsets): New variable.
952 (fontset_from_font): Use num_auto_fontsets to decide a fontset
953 name. Be sure to set FONTSET_ASCII to the correct font name.
954 (update_auto_fontset_alist): New function.
955
df4e8455
JB
9562009-03-11 Juanma Barranquero <lekktu@gmail.com>
957
958 * makefile.w32-in: Update dependencies.
959
0a375797
AR
9602009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
961
962 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
963
61313fa3
SM
9642009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
965
966 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
967
b55103fb
CY
9682009-03-10 Chong Yidong <cyd@stupidchicken.com>
969
970 * lread.c (Feval_buffer): Doc fix.
971
dde2559c
KH
9722009-03-09 Kenichi Handa <handa@m17n.org>
973
974 * charset.c (Qfile_name_handler_alist): Extern it.
975 (load_charset_map_from_file): Temporarily bind
976 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
977
df4e8455 9782009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 979
47f588bb
GM
980 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
981 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 982
4ddf94bd
AR
9832009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
984
4c9bdfc2
AR
985 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
986 (x_set_window_size): Change back to calculated method of setting
987 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
988 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
989 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
990
fe41ae9e
AR
991 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
992
4c9bdfc2
AR
993 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
994 accelerator in parens under GNUstep.
995
825d0875
KH
9962009-03-06 Kenichi Handa <handa@m17n.org>
997
998 These changes are to detect incorrect composition sequence without
f3b3be74 999 looking ahead the source. (Bug#2370)
825d0875
KH
1000
1001 * coding.h: Include "composite.h".
1002 (enum compisition_state): New enum.
1003 (struct compisition_status): New struct.
1004 (struct iso_2022_spec): New member cmp_status.
1005 (struct emacs_mule_spec): New struct.
1006 (struct coding_system): New members ctext_extended_segment_len and
1007 embedded_utf_8. Change the union member
1008 spec.emacs_mule_full_support to spec.emacs_mule.
1009
1010 * coding.c (CODING_ISO_CMP_STATUS): New macro.
1011 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 1012 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
1013 (ADD_COMPOSITION_DATA): New arg nbytes.
1014 (emacs_mule_char): New arg cmp_status.
1015 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
1016 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
1017 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
1018 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
1019 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
1020 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
1021 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
1022 (EMACS_MULE_COMPOSITION_END): New macro.
1023 (emacs_mule_finish_composition): New function.
1024 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
1025 (decode_coding_emacs_mule): Avoid long looking ahead while
1026 handling composition.
1027 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
1028 (ENCODE_COMPOSITION_RULE): New macro.
1029 (finish_composition): New function.
1030 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
1031 (DECODE_COMPOSITION_START): New implementation.
1032 (DECODE_COMPOSITION_END): Likewise.
1033 (STORE_COMPOSITION_RULE): New macro.
1034 (decode_coding_iso_2022): Avoid long looking ahead while handling
1035 composition, CTEXT extended segment, and embedded UTF-8.
1036 (setup_coding_system): For a coding of type iso-2022, reset
1037 CODING_ISO_EXTSEGMENT_LEN (coding) and
1038 CODING_ISO_EMBEDDED_UTF_8 (coding).
1039 (get_translation): Delete arguments last_block, from_nchars,
1040 to_nchars. Callers changed.
1041 (produce_chars): Don't modify charbuf. Adjusted for the change of
1042 get_translation.
98a326f7 1043 (produce_composition): Adjust for the new annotation sequence.
825d0875 1044 (handle_composition_annotation): Likewise.
98a326f7 1045 (consume_chars): Adjust for the change of get_translation.
825d0875 1046
ccbc4452
AR
10472009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
1048
4ddf94bd 1049 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 1050
988a7ddb
KH
10512009-03-05 Kenichi Handa <handa@m17n.org>
1052
1053 * font.c (font_select_entity): New function.
1054 (font_find_for_lface): Use font_select_entity to select a font.
1055
1056 * fontset.c (fontset_find_font): If a font found without
a8a3728b 1057 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
1058 font with C restriction.
1059
98a326f7 10602009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 1061
be1bce46 1062 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 1063
10ea2b82
JR
10642009-03-04 Jason Rumney <jasonr@gnu.org>
1065
2c93b248 1066 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 1067 characters that have already been read. (Bug#2569)
2c93b248 1068
10ea2b82
JR
1069 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
1070 Log an error message if check_image_size failed.
1071 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 1072 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 1073
71a0c011
EZ
10742009-03-02 Eli Zaretskii <eliz@gnu.org>
1075
1076 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
1077 when decoding process output.
1078
2f63bba8
RS
10792009-03-01 Richard M Stallman <rms@gnu.org>
1080
1081 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
1082
1083 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
1084
0a9564cb
EZ
10852009-02-28 Eli Zaretskii <eliz@gnu.org>
1086
1087 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
1088 (decode_coding_emacs_mule, decode_coding_iso_2022)
1089 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1090 (decode_coding_raw_text, decode_coding_charset)
1091 (setup_coding_system, decode_eol, decode_coding, consume_chars):
1092 Honor inhibit-eol-conversion. (Bug #2186)
1093
449148b3
JR
10942009-02-28 Jason Rumney <jasonr@gnu.org>
1095
1096 * coding.c (detect_coding_charset): If not checking latin extra,
1097 fail on characters between 0x80 and 0xA0. (Bug#2354)
1098
a4aee864
EZ
10992009-02-28 Eli Zaretskii <eliz@gnu.org>
1100
1101 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 1102 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 1103
d88bee5a
GM
11042009-02-27 Glenn Morris <rgm@gnu.org>
1105
1106 * callint.c (Finteractive): Doc fix.
1107
a808f22d
KH
11082009-02-27 Kenichi Handa <handa@m17n.org>
1109
1110 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
1111
caf8d60c
CY
11122009-02-27 Chong Yidong <cyd@stupidchicken.com>
1113
1114 * font.c (font_style_to_value): Set value for unknown symbols to
1115 100 instead of 255.
b61137ea
CY
1116 (weight_table, slant_table, width_table): Treat "unspecified" as
1117 the default value.
caf8d60c 1118
1a0de25c
JB
11192009-02-26 Juanma Barranquero <lekktu@gmail.com>
1120
1121 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
1122
8fc45744
JB
11232009-02-25 Juanma Barranquero <lekktu@gmail.com>
1124
107bd7d1
JB
1125 * lread.c (Fload): Stop checking Vloads_in_progress and signal
1126 error as soon as a recursive load is detected.
8fc45744 1127
f097e223
AR
11282009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1129
1130 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
1131 before caching.
1132
8810a12f
KH
11332009-02-24 Kenichi Handa <handa@m17n.org>
1134
1135 * fontset.c (fontset_find_font): Fix the condition for checking
1136 unavailable font.
1137
2c7d1565
GM
11382009-02-24 Glenn Morris <rgm@gnu.org>
1139
1140 * xfaces.c (Finternal_set_font_selection_order): Remove leading
1141 whitespace that confuses documentation.
1142
a20878b6
MB
11432009-02-23 Miles Bader <miles@gnu.org>
1144
1145 * process.c (Flist_system_processes, Fprocess_attributes)
1146 (syms_of_process): Rename `system-process-attributes' to
1147 `process-attributes'.
1148
b3b58c01
AS
11492009-02-22 Andreas Schwab <schwab@linux-m68k.org>
1150
1b3b981b
AS
1151 * coding.h (struct coding_system): Make safe_charsets a pointer to
1152 unsigned char.
1153 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
1154 being 255.
1155 (SAFE_CHARSET_P): Likewise.
1156 (setup_iso_safe_charsets): Properly setup safe_charsets.
1157 (Fdefine_coding_system_internal): Likewise.
1158 (setup_coding_system): Likewise. Remove unneeded casts.
1159 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
1160 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
1161 unneeded casts.
1162
b3b58c01
AS
1163 * insdel.c (del_range_2): Don't modify gap contents when called
1164 from decode_coding_object. (Bug#1809)
1165
0b6f228c
CY
11662009-02-21 Chong Yidong <cyd@stupidchicken.com>
1167
1168 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
1169 Qfont_object.
1170 (Ftype_of): Recognize font objects.
1171
1172 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
1173
1174 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
1175 moved to data.c.
1176
52f8870b
AR
11772009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1178
1179 * nsterm.m (x_make_frame_invisible): Unset async_visible,
1180 async_iconified. Based on a patch by Christian Lynbech
1181 <christian.lynbech@tieto.com>.
1182 (EmacsView-windowDidMiniaturize:): Unset async_visible.
1183
7087d5e9
GM
11842009-02-20 Glenn Morris <rgm@gnu.org>
1185
1186 * syntax.c (Fskip_chars_forward): Fix doc typo.
1187
41d2ceef
CY
11882009-02-20 Chong Yidong <cyd@stupidchicken.com>
1189
1190 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
1191
1a3b7ca6
CY
11922009-02-19 Chong Yidong <cyd@stupidchicken.com>
1193
1194 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
1195
73cce38d
KH
11962009-02-19 Kenichi Handa <handa@m17n.org>
1197
1198 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 1199 Don't overflow coding->carryover. (Bug#2370)
73cce38d 1200
a51092ee
DN
12012009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
1202
1203 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
1204
c423ecca
KH
12052009-02-18 Kenichi Handa <handa@m17n.org>
1206
1207 * font.c (font_check_otf_features): Fix handling of `nil' element.
1208 (Ffont_spec): Describe :lang and :otf in the docstring.
1209
4c1958f4
AS
12102009-02-16 Andreas Schwab <schwab@suse.de>
1211
1212 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
1213 string.
1214
5704f39a
KH
12152009-02-16 Kenichi Handa <handa@m17n.org>
1216
1217 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 1218 (Bug#1723)
5704f39a 1219
8f0085aa
CY
12202009-02-14 Chong Yidong <cyd@stupidchicken.com>
1221
a057d86a 1222 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
1223
1224 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
1225 (handle_line_prefix): Suppress wrapping of wrap prefixes.
1226
aff01dd9
EZ
12272009-02-14 Eli Zaretskii <eliz@gnu.org>
1228
1229 * msdos.c (MAX_SCREEN_BUF): New macro.
1230 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
1231 Encode the entire run of glyphs sharing the same face, instead of
1232 doing that one glyph at a time (fixes a bug with displaying
1233 double-size characters).
1234
ba301db3
AR
12352009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
1236
1237 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
1238
1239 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
1240 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 1241 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
1242
1243 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 1244 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 1245
51d861de
SM
12462009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
1247
1248 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
1249 invisible areas.
1250
7fed8996
JR
12512009-02-12 Jason Rumney <jasonr@gnu.org>
1252
631ea4fb
JR
1253 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
1254 (add_font_entity_to_list): Call check_face_name even when family
1255 is unspecified.
1256
cb4a3e42
JR
1257 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1258 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 1259 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 1260
7fed8996 1261 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 1262 raster fonts. (Bug#2219)
7fed8996 1263
895416e3
KH
12642009-02-12 Kenichi Handa <handa@m17n.org>
1265
1266 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
1267 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
1268 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 1269 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
1270 (find_automatic_composition): While looking forward and backward,
1271 check static composition. Fix where to stop looking forward.
1272 (composition_adjust_point): Fix checking of static composition.
1273 (Fcomposition_get_gstring): Pay attention to
1dacf998 1274 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
1275
1276 * lisp.h (fast_looking_at): Extern it.
1277
1278 * search.c (fast_looking_at): New function.
1279
51d861de 1280 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
1281 <struct glyph>.u.cmp.to.
1282 (append_composite_glyph): Likewise.
1283
51d861de 1284 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
1285 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
1286 composition.
51d861de 1287 (append_composite_glyph): Adjust for the change of
895416e3
KH
1288 <strcut glyph>.u.cmp.to.
1289
8510724d
JB
12902009-02-11 Juanma Barranquero <lekktu@gmail.com>
1291
1292 * casetab.c (init_casetab_once):
1293 * coding.c (ALLOC_CONVERSION_WORK_AREA):
1294 * font.c (font_update_lface):
1295 * fontset.c (Fnew_fontset):
1296 * ftfont.c (ftfont_drive_otf):
1297 * xfont.c (xfont_open):
1298 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
1299
294fa707
SM
13002009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1301
1302 * fileio.c (Fwrite_region): !NILP -> CONSP.
1303
b5bfebec
AS
13042009-02-10 Andreas Schwab <schwab@suse.de>
1305
1306 * process.c (send_process): Properly relocate pointer into data
adab88bd 1307 when using encoded data. (Bug#2272)
b5bfebec 1308
cb84a2be
KH
13092009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
1310
1311 * coding.c (detect_coding_charset): Fix previous change.
1312
89e09428
JR
13132009-02-08 Jason Rumney <jasonr@gnu.org>
1314
1315 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 1316 disappeared while hourglass was displayed. (Bug #2193)
89e09428 1317
4470a277
AS
13182009-02-07 Andreas Schwab <schwab@suse.de>
1319
1320 * unexelf.c (unexec): Fix error message.
1321
3175b12a
AR
13222009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
1323
1324 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 1325 when modal window is active. (Bug #2152)
3175b12a
AR
1326 (applicationShouldTerminate:): Remove now-unneeded while loop
1327 around NSRunAlertPanel.
1328
1329 * nsmenu.m (popupSession): New file-global variable.
1330 (pop_down_menu): End the popupSession before closing dialog.
1331 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
1332 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
1333 don't query NSApp for events (just sleep instead).
1334
8434d0b8
EZ
13352009-02-07 Eli Zaretskii <eliz@gnu.org>
1336
51d861de
SM
1337 * coding.c (syms_of_coding) <translation-table-for-input>:
1338 Modify doc string to discourage use for character code unification.
8434d0b8 1339
aa82edfd
CY
13402009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1341
1342 * atimer.c (run_timers): Update pending_atimers.
1343
2d283c7c
CY
13442009-02-06 Chong Yidong <cyd@stupidchicken.com>
1345
eb306cab
CY
1346 * image.c (svg_load_image): Fix last change.
1347
2d283c7c
CY
1348 * xfns.c (Fx_create_frame): Signal an error if no font is
1349 found (Bug#2147).
1350
4d8e170e
JB
13512009-02-05 Juanma Barranquero <lekktu@gmail.com>
1352
1353 * character.c (syms_of_character) <script-representative-chars>:
1354 Fix typo in docstring.
1355
c96169a0
AR
13562009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1357
1358 * nsmenu.m (pop_down_menu): New function.
1359 (ns_popup_dialog): Call it on unwind.
1360 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
1361 call timer_check() (Bug#2154).
1362 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
1363 handling_signal is set.
1364 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
1365
1366 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
1367
1368 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
1369
1370 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
1371
51d861de
SM
1372 * keyboard.c (poll_for_input_1, handle_async_input):
1373 Set handling_signal under HAVE_NS.
c96169a0 1374
aacd8ba1
GM
13752009-02-04 Glenn Morris <rgm@gnu.org>
1376
1377 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
1378
4cb75c4b
KH
13792009-02-04 Kenichi Handa <handa@m17n.org>
1380
1381 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
1382
1383 * charset.c (Fchar_charset): New optional arg restriction.
1384
1385 * coding.h (coding_system_charset_list): Extern it.
1386
1387 * coding.c (coding_system_charset_list): New function.
1388
1389 * composite.c: Include coding.h and termhooks.h.
1390 (composition_gstring_p): Fix for the terminal case.
1391 (composition_gstring_width): Likewise.
1392 (fill_gstring_body): Likewise.
1393 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
1394 the frame.
1395 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
1396 is within a composition.
867d4bb3 1397 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
1398
1399 * term.c (encode_terminal_code): Fix handling of composition.
1400 (produce_composite_glyph): For static composition, get pixel_width
1401 from struct composition.
1402
826ba17e
AS
14032009-02-02 Andreas Schwab <schwab@suse.de>
1404
1405 * unexelf.c (unexec): Handle unaligned bss offset.
1406
8ad093db
AR
14072009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1408
1409 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
1410 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 1411
8ad093db
AR
1412 * keyboard.c (handle_interrupt): Don't call
1413 quit_throw_to_read_char() under NS.
d0a76a6e 1414
8ad093db
AR
1415 * blockinput.h: Remove NS-specific code.
1416
4d18a7a2
DN
14172009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
1418
db878925
DN
1419 * dispnew.c (window_change_signal): Don't try to get the size of a
1420 suspended tty frame.
1421 * term.c (Fresume_tty): Resize if the size has changed while the
1422 tty was suspended.
1423
4d18a7a2
DN
1424 * alloc.c (mark_stack): Properly conditionalize previous change.
1425
8984df7c
JB
14262009-01-30 Juanma Barranquero <lekktu@gmail.com>
1427
1428 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
1429 * w32term.c (w32_read_socket) [SYNC_INPUT]:
1430 Remove; this code is not used on Windows.
1431
75f4f1ac
EZ
14322009-01-30 Eli Zaretskii <eliz@gnu.org>
1433
1434 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
1435 EOLs that also has stray ^M characters.
1436
07a1e794
JB
14372009-01-30 Juanma Barranquero <lekktu@gmail.com>
1438
1439 * atimer.c (run_timers, alarm_signal_handler):
1440 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
1441 * w32inevt.c (w32_console_read_socket):
1442 * w32term.c (w32_read_socket):
1443 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
1444
a8b11cc9
CY
14452009-01-30 Chong Yidong <cyd@stupidchicken.com>
1446
1447 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
1448 Initialize it as a relative filename pattern.
1449 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
1450 (Fcall_process_region): Simplify temp file creation using
1451 temporary-file-directory.
1452
c279587b
EZ
14532009-01-29 Eli Zaretskii <eliz@gnu.org>
1454
1455 * msdos.c: Rename pending_signals to msdos_pending_signals.
1456 (sig_suspender, sigprocmask): Adjust.
1457
a8fe3242
CY
14582009-01-29 Chong Yidong <cyd@stupidchicken.com>
1459
1460 * keyboard.c (pending_signals): New var.
1461 (poll_for_input, input_available_signal, init_keyboard): Set it.
1462 (process_pending_signals): New function.
1463
1464 * lisp.h (QUIT): Check pending_signals instead of
1465 interrupt_input_pending. Use process_pending_signals.
1466
51d861de 1467 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 1468
51d861de 1469 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
1470
1471 * sysdep.c (emacs_write): Use process_pending_signals.
1472
1473 * xterm.c (XTread_socket): Update pending_signals.
1474
1475 * w32term.c (w32_read_socket): Update pending_signals.
1476
1477 * w32inevt.c (w32_console_read_socket): Update pending_signals.
1478
6570a1c4
KH
14792009-01-29 Kenichi Handa <handa@m17n.org>
1480
1481 * xftfont.c (xftfont_has_char): New function.
1482 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
1483
d72a4afa
AR
14842009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1485
1486 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
1487 under GNUstep.
1488 (ns_query_color): New declaration.
1489
1490 * nsterm.m (ns_confirm_quit): New variable.
1491 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
1492 (EmacsApp-applicationShouldTerminate:): Use it.
1493 (EmacsPrefsController): Let user set it.
1494 (ns_query_color): New function.
1495 (ns_defined_color): Use it.
1496 (ns_initialize): Drop.
1497 (ns_term_init): Add two lines from ns_initialize(), and set
1498 input_interrupt_mode to nil.
1499
1500 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 1501 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 1502
9fe78804
KH
15032009-01-28 Kenichi Handa <handa@m17n.org>
1504
1505 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
1506 (fontset_get_font_group): Remember that no font-group is specified
1507 for C.
9fe78804 1508
fa57de36
CY
15092009-01-27 Chong Yidong <cyd@stupidchicken.com>
1510
930600e9
CY
1511 * fns.c (concat): Check for string overflow (bug#1787).
1512
fa57de36
CY
1513 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
1514 Quadruple undo limits (bug#1501).
1515
7179ce7b
KH
15162009-01-27 Kenichi Handa <handa@m17n.org>
1517
1518 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
1519 directly use GT_Get_Char_index.
1520
1521 * xftfont.c (struct xftfont_info): New member `index'.
1522
1523 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 1524 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 1525
5be8fcc0
CY
15262009-01-26 Kenichi Handa <handa@m17n.org>
1527
1528 * fontset.c (fontset_find_font): Fix handling of non-cons return
1529 value of fontset_get_font_group.
1530 (fontset_font): Revert last change.
1531
19ae3e61
JR
15322009-01-26 Jason Rumney <jasonr@gnu.org>
1533
1534 * w32font.c (w32font_list_internal): Return quickly if registry is
1535 unknown. Simplify final return.
1536 (add_font_entity_to_list): Break complex logic down into more
1537 manageable chunks. Move unknown registry check to
1538 w32font_list_internal.
1539
8612b71a
AR
15402009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
1541
1542 Changes to remove Feval calls from GUI under NS.
1543
d8038940
JB
1544 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
1545 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
1546 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
1547
1548 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
1549 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
1550 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
1551 instead of NON_ASCII_KEYSTROKE_EVENT.
1552 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
1553 (EmacsApp-applicationShouldTerminate:): Query user.
1554 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
1555 instead of Feval.
1556
1557 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
1558
1559 * keyboard.c (kbd_buffer_get_event): Check for it.
1560 (keys_of_keyboard): Define lispy keys for
1561 ns-put/unput-working-text.
1562
1563 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
1564 versions.
1565 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
1566
6288ae55
CY
15672009-01-25 Chong Yidong <cyd@stupidchicken.com>
1568
1569 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 1570 setting current_buffer directly. (Bug#2044)
6288ae55 1571
289e7f8f
CY
15722009-01-24 Chong Yidong <cyd@stupidchicken.com>
1573
5ce87308 1574 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 1575 any work. (Bug#1952, bug#1990).
5ce87308 1576
64cc3cf6 1577 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 1578
b3243e6f
AR
15792009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1580
1581 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
1582 (ns_no_defaults): New declaration.
1583 (main): Use it.
e0d2e69a 1584
d900b2af 1585 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 1586
d900b2af 1587 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 1588
d900b2af
AR
1589 * nsterm.m (ns_no_defaults): New variable.
1590 (ns_initialize): Don't read defaults when ns_no_defaults.
1591 (EmacsView-readSelectionFromPasteboard:)
1592 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 1593 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
1594 (ns_dumpglyphs_stretch): New function.
1595 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 1596 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 1597
e0d2e69a
AR
1598 * nsimage.m (setPixmapData:): Set to ignore image DPI.
1599
3ac71f5d
CY
16002009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
1601
1602 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
1603 call for Sparc64.
1604
3fe53a83
AR
16052009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1606
1607 * nsfns.m:
1608 * nsgui.h:
1609 * nsmenu.m:
1610 * nsselect.m:
1611 * nsterm.h:
1612 * nsterm.m: Remove '23' comments that indicated code added during
1613 update from emacs-20 -> emacs-23.
1614
10f87c6f 16152009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
1616
1617 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 1618 ns_alternate_modifier. (Bug#1217)
a3b53a85 1619
c7cef62d
AR
1620 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
1621 Display all shortcuts, including those w/o super modifier.
1622
575fb8bd
AR
1623 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
1624
918b848b
CY
16252009-01-22 Chong Yidong <cyd@stupidchicken.com>
1626
1627 * fileio.c (Vwrite_region_post_annotation_function)
1628 (Vwrite_region_annotation_buffers): New vars.
1629 (build_annotations_unwind): Just reset
1630 Vwrite_region_annotation_buffers.
1631 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
1632 Call write-region-post-annotation-function.
1633 (build_annotations): Add to Vwrite_region_annotation_buffers if
1634 buffer changes.
1635
a39e2539
AR
16362009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1637
1638 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
1639 Tiger.
51d861de
SM
1640 * nsfns.m (ns_do_applescript):
1641 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 1642
35ed44db
AR
16432009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1644
1645 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
1646
cbe0b5bf
AR
16472009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1648
1649 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 1650
6049d3a0
AR
1651 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
1652
1653 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
1654 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
1655 handle Ctrl-tab. (Bug#1841)
1656 (ns_get_color): Use unsigned long long for scanned hex string value.
1657 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 1658 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 1659 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 1660 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 1661 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 1662 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 1663 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 1664
d3810c21 1665 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 1666 DPI. (Bug#1316)
d3810c21
AR
1667 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
1668 values in onTiger section.
4c7077c3 1669
e301e634
CY
16702009-01-19 Chong Yidong <cyd@stupidchicken.com>
1671
7f82490b
CY
1672 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
1673 Check return value of font_spec_from_name.
64cc3cf6 1674 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
1675
1676 * font.c (font_spec_from_name): Return Qnil if font name could not
1677 be parsed.
1678 (font_parse_name): Treat a `?' character as part of an XLFD.
1679
e301e634
CY
1680 * fns.c (Fsubstring): Doc fix.
1681
1c0db158
KH
16822009-01-19 Kenichi Handa <handa@m17n.org>
1683
51d861de 1684 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
1685 (ftfont_list): Likewise.
1686
acf20901
JB
16872009-01-18 Juanma Barranquero <lekktu@gmail.com>
1688
fff4e459
JB
1689 * dbusbind.c (Fdbus_register_signal):
1690 * process.c (conv_sockaddr_to_lisp):
1691 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
1692
acf20901
JB
1693 * callproc.c (Fgetenv_internal): Doc fix.
1694
e7abcdfb
CY
16952009-01-16 Chong Yidong <cyd@stupidchicken.com>
1696
1697 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
1698 it is not even used.
1699
b60861e6
GM
17002009-01-16 Glenn Morris <rgm@gnu.org>
1701
1702 * font.c (Ffont_variation_glyphs): Silence compiler.
1703
8db52afe
JB
17042009-01-15 Juanma Barranquero <lekktu@gmail.com>
1705
1706 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
1707 Reported by David Robinow <drobinow@gmail.com>.
1708
4cddb209
KH
17092009-01-15 Kenichi Handa <handa@m17n.org>
1710
51d861de 1711 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 1712
f247f67b
JR
17132009-01-14 Jason Rumney <jasonr@gnu.org>
1714
1715 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 1716 never a fontset. (Bug#1562)
f247f67b 1717
f56a4450
KH
17182009-01-14 Kenichi Handa <handa@m17n.org>
1719
1720 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 1721 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 1722
4e99855e
CY
17232009-01-13 Chong Yidong <cyd@stupidchicken.com>
1724
1725 * font.c (font_clear_prop): If clearing the family, clear the font
1726 width index too.
1727
fff4e459 1728 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 1729
24f01470
JB
17302009-01-12 Juanma Barranquero <lekktu@gmail.com>
1731
1732 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1733 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1734 functions, use sizeof.
1735
a41240a3
MR
17362009-01-12 Martin Rudalics <rudalics@gmx.at>
1737
1738 * keyboard.c (read_char): Fix case where last_nonmenu_event
1739 returned a bad value with submenus. (Bug#447)
1740
944636b8
CY
17412009-01-12 Chong Yidong <cyd@stupidchicken.com>
1742
1743 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1744 family, clear the font width index too.
1745
0dad7c6f
JR
17462009-01-11 Jason Rumney <jasonr@gnu.org>
1747
1748 * keyboard.c (cmd_error_internal): Exit when errors occur before
1749 frame creation and not in daemon mode. (Bug#1836)
1750
7c2363af
CY
17512009-01-10 Chong Yidong <cyd@stupidchicken.com>
1752
1753 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1754 of a display vector, backtrack.
1755 (try_window_reusing_current_matrix): Check glyph type before
1756 referencing charpos member.
1757
97b1b294
EZ
17582009-01-10 Eli Zaretskii <eliz@gnu.org>
1759
1760 Fix Bug #876:
1761
1762 * coding.c (inhibit_null_byte_detection): New variable.
1763 (detect_coding, detect_coding_system): Don't pay attention to null
1764 bytes if inhibit_null_byte_detection is non-zero.
51d861de 1765 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
1766 <inhibit-iso-escape-detection>: Doc fix.
1767
4624b6e3
JR
17682009-01-09 Jason Rumney <jasonr@gnu.org>
1769
1770 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 1771 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
1772 Only report Unicode Plane 2 fonts as unicode-sip.
1773
323b840c
CY
17742009-01-09 Chong Yidong <cyd@stupidchicken.com>
1775
51d861de
SM
1776 * xfaces.c (Fx_font_family_list): Delete function.
1777 Move compatibility version to faces.el.
323b840c 1778
51d861de 1779 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 1780
eba7400d
MR
17812009-01-09 Martin Rudalics <rudalics@gmx.at>
1782
1783 * frame.c (x_set_frame_parameters): Remember requested value for
1784 fullscreen before it's reset by the parameter handler.
1785
4b09796d
GM
17862009-01-09 Glenn Morris <rgm@gnu.org>
1787
1788 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 1789 (last_command_event): ... and update all users.
4b09796d
GM
1790 (last_input_char): For clarity, rename to...
1791 (last_input_event): ... and update all users.
1792 (last-command-char, last-input-char): Move to subr.el as aliases.
1793 * cmds.c, commands.h: Update for last_command_char rename.
1794
14ccea62
CY
17952009-01-08 Chong Yidong <cyd@stupidchicken.com>
1796
51d861de 1797 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 1798
5f004711
JR
17992009-01-08 Jason Rumney <jasonr@gnu.org>
1800
1801 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1802 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1803 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1804 Don't declare.
fff4e459 1805 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
1806 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1807
b71f6f73
KH
18082009-01-07 Kenichi Handa <handa@m17n.org>
1809
50b06221 1810 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 1811 remember the coding system used for decoding in
50b06221
KH
1812 coding_system (Bug#1039).
1813
b71f6f73 1814 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 1815 breaking the loop. (Bug#870)
b71f6f73
KH
1816 (decode_coding_utf_16, decode_coding_emacs_mule)
1817 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1818 (decode_coding_charset): Likewise.
1819
56f668f7
MR
18202009-01-05 Martin Rudalics <rudalics@gmx.at>
1821
1822 * frame.c (x_set_frame_parameters): Make sure height (width) get
1823 applied when fullwidth (fullheight) is set. (Bug#1522)
1824
5da9424d
JB
18252009-01-04 Juanma Barranquero <lekktu@gmail.com>
1826
1827 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
1828 (utc_base): Declare as ULONGLONG, not long double.
1829 (convert_time_raw): Delete.
1830 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
1831 (initialize_utc_base): New function.
1832 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
1833 (convert_from_time_t): Use initialize_utc_base; compute result with
1834 64-bit arithmetic.
1835 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
1836
c4605e09
EZ
18372009-01-03 Eli Zaretskii <eliz@gnu.org>
1838
9acef61c 1839 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
1840 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
1841 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
1842 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
1843 [!subprocesses]: Define.
1844 (syms_of_process) [!subprocesses]: Intern and staticpro them.
1845 (Flist_system_processes, Fsystem_process_attributes)
1846 [!subprocesses]: Call list_system_processes and
1847 system_process_attributes instead of returning Qnil.
1848
9acef61c
JB
1849 * dosfns.c (system_process_attributes, list_system_processes):
1850 New functions.
c4605e09
EZ
1851
1852 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
1853
1854 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
1855 Don't use the default (no-op) implementation.
1856
8b7d0a16
JR
18572009-01-03 Jason Rumney <jasonr@gnu.org>
1858
a6d46bc1
JR
1859 * keyboard.c (parse_modifiers_uncached): Wheel events are
1860 clicks (bug#687).
1861
8b7d0a16
JR
1862 * w32term.c (x_query_colors, x_query_color): New functions.
1863
1864 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
1865 (svg_load_image): Cast returned pointers from dynamically loaded
1866 functions. Eliminate W32 specific code.
1867
bfe11752
DN
18682009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
1869
89e2438a
DN
1870 * nsfns.m (x_set_foreground_color, x_set_background_color)
1871 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
1872 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
1873 x_ prefix instead of ns_. Update references.
1874 (syms_of_nsfns): Add a FIXME comment.
1875
1876 * nsterm.m (x_set_cursor_type): New prototype.
1877 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
1878
bfe11752
DN
1879 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
1880 for Solaris instead of incorrectly providing Qutime and Qcutime.
1881
031da700
EZ
18822009-01-02 Eli Zaretskii <eliz@gnu.org>
1883
1884 * w32.c (process_times): Compute sum of utime and stime.
1885 (system_process_attributes): Add Qtime to the alist.
1886
1887 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
1888 and add them to the alist.
1889
1890 * process.c (top level) <Qtime, Qctime>: New variables.
1891 (syms_of_process): staticpro them.
1892 (Fsystem_process_attributes): Add their documentation to the doc
1893 string.
1894
1895 * process.h: Declare Qtime and Qctime.
1896
df23bf08
JR
18972009-01-02 Jason Rumney <jasonr@gnu.org>
1898
9acef61c 1899 * image.c (Qgobject): New symbol.
df23bf08
JR
1900 (syms_of_image): Initialize it.
1901 (init_svg_functions): Load some functions from gobject library.
1902
5bbdf7aa
DN
19032009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
1904
1905 * frame.c (make_terminal_frame): Remove redundant code and useless
1906 block.
1907
63136da6
AS
19082009-01-01 Andreas Schwab <schwab@suse.de>
1909
1910 * process.c (conv_sockaddr_to_lisp): Add workaround for
1911 getsockname bug on BSD.
1912
9ef69046
CY
19132009-01-01 Chong Yidong <cyd@stupidchicken.com>
1914
d6fafbe0
CY
1915 * xfns.c (x_create_tip_frame): Set border width of the X window.
1916
51d861de 1917 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 1918
f9c34147
JR
19192009-01-01 Jason Rumney <jasonr@gnu.org>
1920
9acef61c 1921 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
1922 Don't block input, as per earlier xterm.c changes.
1923
f5497e45
AR
19242008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
1925
1926 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
1927 (ns_appkit_version_int): New function.
1928 (x-server-version): Use ns_appkit_version_int and follow 21+
1929 convention of returning 3 integers.
1930
c19cab20
KH
19312008-12-30 Kenichi Handa <handa@m17n.org>
1932
1933 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
1934 (CHAR_SURROGATE_PAIR_P): New macro.
1935
1936 * font.h (struct font_driver): New member get_variation_glyphs.
1937
9acef61c 1938 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
1939 (Ffont_variation_glyphs): New function.
1940 (syms_of_font): Defsubr it.
1941
1942 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
1943 ftfont_variation_glyphs.
1944 (setup_otf_gstring): New function.
1945 (ftfont_drive_otf): Use it.
1946 (ftfont_shape_by_flt): Handle variation selector.
1947 (ftfont_variation_glyphs): New function.
1948
28cd591f
MR
19492008-12-30 Martin Rudalics <rudalics@gmx.at>
1950
1951 * frame.c (Vemacs_iconified): Remove.
1952
7f714baf
JR
19532008-12-30 Jason Rumney <jasonr@gnu.org>
1954
1955 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 1956 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 1957
9d2d22ab
CY
19582008-12-30 Chong Yidong <cyd@stupidchicken.com>
1959
1960 * indent.c (Fvertical_motion): Don't advance iterator if we have
1961 reseated to the desired position.
1962
1963 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
1964 checking for pos match.
1965
545312c2
KH
19662008-12-30 Kenichi Handa <handa@m17n.org>
1967
1ede3eb6
KH
1968 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
1969 just get the low 8-bit of the code.
1970
545312c2
KH
1971 * font.c (font_intern_prop): Validate str as multibyte.
1972
bd7bbf29
DN
19732008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1974
31e0750e
DN
1975 * dispextern.h (struct face): Move lface and hash from the middle
1976 of bitfields.
1977
bd7bbf29
DN
1978 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
1979
b5672e7c
DN
19802008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1981
1982 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
1983 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
1984 instead of intervals.h.
1985
d704470f
AS
19862008-12-26 Andreas Schwab <schwab@suse.de>
1987
1988 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
1989 cons.
1990
54b33868
MR
19912008-12-26 Martin Rudalics <rudalics@gmx.at>
1992
1993 * textprop.c (Qminibuffer_prompt): New variable.
1994 (syms_of_textprop): Initialize it.
1995 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
1996 in minibuffer-prompt face. (Bug#1662)
1997
40b615d6
JR
19982008-12-25 Jason Rumney <jasonr@gnu.org>
1999
2000 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
2001
baae5c2d
JR
20022008-12-24 Jason Rumney <jasonr@gnu.org>
2003
2004 * ralloc.c (r_alloc_reset_variable): New function.
2005
2006 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 2007 record of what points where. (Bug#716)
baae5c2d 2008
a9051c88
DN
20092008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
2010
2011 * minibuf.c (read_minibuf): Follow the non-interactive case when
2012 running as a daemon, before detaching.
2013
8b146312
AS
20142008-12-22 Andreas Schwab <schwab@suse.de>
2015
2016 * buffer.c (init_buffer): Use realloc instead of xrealloc.
2017 * gtkutil.c (free_widget_value): Use xfree instead of free.
2018
56f2de10
MR
20192008-12-22 Martin Rudalics <rudalics@gmx.at>
2020
2021 * frame.c (delete_frame): New function derived from
2022 Fdelete_frame to handle Qnoelisp value for FORCE argument.
2023 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
2024 (Fdelete_frame): Call delete_frame. Remove line from doc-string
2025 saying that FORCE non-nil doesn't run `delete-frame-functions'.
2026 * frame.h: Extern delete_frame.
2027 * window.c (window_loop):
2028 * terminal.c (delete_terminal):
2029 * xterm.c (x_connection_closed):
2030 * xfns.c (Fx_hide_tip):
9acef61c 2031 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 2032
1fc200d6
JR
20332008-12-21 Jason Rumney <jasonr@gnu.org>
2034
2035 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
2036 when character maps to .notdef character.
2037
5e252df2
SM
20382008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
2039
2040 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
2041
99b72cc4
JR
20422008-12-20 Jason Rumney <jasonr@gnu.org>
2043
2044 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 2045 a graphical frame on Windows. (Bug#1325)
99b72cc4 2046
acc49a52
JD
20472008-12-20 Jan Djärv <jan.h.d@swipnet.se>
2048
2049 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
2050
6ea15123
CY
20512008-12-20 Chong Yidong <cyd@stupidchicken.com>
2052
2053 * minibuf.c (Fread_buffer): Doc fix.
2054
b2dab6c8
JR
20552008-12-20 Jason Rumney <jasonr@gnu.org>
2056
54ea0c87 2057 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 2058 server name in UNC paths. (Bug#719)
54ea0c87 2059
b2dab6c8 2060 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 2061 charbuf. (Bug#1035)
b2dab6c8 2062
6d1921be
DN
20632008-12-19 Daniel Engeler <engeler@gmail.com>
2064
2065 * sysdep.c (serial_configure): Fix typo.
2066
53934c98
DN
20672008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2068
2069 * sysdep.c: Include alloca.h.
f4f634e8
DN
2070 (system_process_attributes): Add implementation for Solaris.
2071
2072 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 2073
06e111a6
DN
20742008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2075
2076 Reorganize implementation of Flist_system_processes and
2077 Fsystem_process_attributes. No functional changes.
2078 * process.c: Don't #include pwd.h, grp.h and limits.h.
2079 (Flist_system_processes): Just call list_system_processes.
2080 (Fsystem_process_attributes): Just call system_process_attributes.
2081 (procfs_list_system_processes, time_from_jiffies)
2082 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
2083 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
2084
2085 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
2086 (list_system_processes): Rename from
2087 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
2088 Provide a do nothing implementation.
2089 (system_process_attributes): Rename from
2090 procfs_list_system_processes.
2091 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 2092 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
2093
2094 * w32.c (list_system_processes): Rename from
2095 w32_list_system_processes.
2096 (system_process_attributes): Rename from
2097 w32_system_process_attributes.
2098
2099 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
2100
2101 * process.h (w32_list_system_processes)
2102 (w32_system_process_attributes): Remove.
2103 (list_system_processes, system_process_attributes): New
2104 prototypes.
2105
6a705b23
KH
21062008-12-19 Kenichi Handa <handa@m17n.org>
2107
2108 * xfont.c (xfont_decode_coding_xlfd): New function.
2109 (xfont_encode_coding_xlfd): New function.
2110 (xfont_list_pattern): Decode XLFD by iso-8859-1.
2111 (xfont_list): Decode and encode XLFD by iso-8859-1.
2112 (xfont_match): Likewise.
2113 (xfont_list_family): Likewise.
2114 (xfont_open): Likewise.
2115
d66c0241 2116 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
2117 names are utf-8.
2118
d66c0241 2119 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
2120 names are utf-8.
2121
5a130941
JD
21222008-12-18 Jan Djärv <jan.h.d@swipnet.se>
2123
2124 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
2125 changed.
bfd20325
JD
2126 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
2127 clicked on a detached tool bar button.
5a130941 2128
fd95644b
DN
21292008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
2130
2131 * emacs.c (main): Print and error and exit when no data is read
2132 from the pipe.
2133
e6eee6ae
JR
21342008-12-17 Jason Rumney <jasonr@gnu.org>
2135
2136 * w32font.c (w32font_has_char): Always return -1.
2137
a35dd56b
KH
21382008-12-16 Kenichi Handa <handa@m17n.org>
2139
2140 * font.c (font_open_entity): Fix previous change.
2141
0e3635c2
DN
21422008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
2143
2144 * process.c: Include <limits.h>.
2145
d4835507 21462008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
2147
2148 * font.c (font_update_drivers): Fix mistake in reconstructing the
2149 driver list.
2150
21512008-12-16 Chong Yidong <cyd@stupidchicken.com>
2152
2153 * font.c (font_clear_cache): Fix format of font cache data.
2154
e2cbc401
CY
21552008-12-15 Chong Yidong <cyd@stupidchicken.com>
2156
2157 * xftfont.c (xftfont_open): Free Xft font pattern if
2158 XftFontOpenPattern fails.
2159
2160 * xterm.c (x_free_frame_resources): Remove extraneous call to
2161 free_frame_faces.
2162
b131d535
CY
21632008-12-13 Chong Yidong <cyd@stupidchicken.com>
2164
2165 * xterm.c (x_delete_display): Move xim_close_dpy call to
2166 x_delete_terminal.
2167 (x_delete_terminal): Call xim_close_dpy.
2168
e6df5336
JR
21692008-12-13 Jason Rumney <jasonr@gnu.org>
2170
2171 * w32font.c (intern_font_name): New function.
2172 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
2173 (w32font_open_internal, Fx_select_font): Decode font name.
2174 (fill_in_logfont, list_all_matching_fonts): Encode font name.
2175
2176 * w32font.h (intern_font_name): Declare new function.
2177
2178 * w32uniscribe.c (add_opentype_font_name_to_list):
2179 Use intern_font_name.
2180
20d68145
CY
21812008-12-13 Chong Yidong <cyd@stupidchicken.com>
2182
9f2554de
CY
2183 * frame.c (Fdelete_frame): Call free_font_driver_list.
2184
3d9bec9a
CY
2185 * font.c (free_font_driver_list): Implement missing function.
2186
20d68145
CY
2187 * w32term.c (w32_term_init): Don't initialize the image cache
2188 here; it will be done in init_frame_faces.
2189
2190 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
2191 (struct x_display_info): Remove unused member null_pixel. New
2192 member xim_callback_data.
2193
2194 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
2195 (xim_initialize): Save pointer to callback function data.
2196 (xim_close_dpy): Free callback function data. Call XCloseIM,
2197 reverting 2008-11-04 change by David Smith.
2198 (x_term_init): Don't initialize the image cache here; it will be
2199 done in init_frame_faces. Remove ancient "null_pixel" cruft.
2200 (x_delete_display): Free x_dnd_atoms member.
2201
96f9306b
KH
22022008-12-13 Kenichi Handa <handa@m17n.org>
2203
6dec9044
JB
2204 * font.c (font_rescale_ratio): Moved from xfaces.c.
2205 Argument type changed. Handle a font-spec too.
96f9306b 2206 (font_score): Check Vface_font_rescale_alist.
6dec9044 2207 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
2208
2209 * xfaces.c (font_rescale_ratio): Moved to font.c.
2210
8d5b4964
CY
22112008-12-13 Chong Yidong <cyd@stupidchicken.com>
2212
2213 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
2214
e6df5336
JR
22152008-12-12 Jason Rumney <jasonr@gnu.org>
2216
2217 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
2218 Vwindow_system_version to the real w32 major version.
2219
97c6058a
DN
22202008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
2221
2222 * term.c (init_tty): Move setting the terminal name before the
2223 potential user: maybe_fatal.
2224
ec4e88d7
CY
22252008-12-11 Chong Yidong <cyd@stupidchicken.com>
2226
d4835507
JB
2227 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
2228 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 2229
b4233ec9
JR
22302008-12-11 Jason Rumney <jasonr@gnu.org>
2231
8ec71e23 2232 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 2233 SYMBOL_CHARSET. (Bug#547)
8ec71e23 2234
b4233ec9 2235 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 2236 size for surrogates. (Bug#1096, bug#872)
b4233ec9 2237
011a0143
JB
22382008-12-11 Juanma Barranquero <lekktu@gmail.com>
2239
2240 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
2241
3c309f34
JB
22422008-12-11 Juanma Barranquero <lekktu@gmail.com>
2243
2244 * process.c (Fsystem_process_attributes, syms_of_process):
2245 Fix typo in name of Ssystem_process_attributes.
2246 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
2247
fedc6ab5
JB
22482008-12-11 Juanma Barranquero <lekktu@gmail.com>
2249
2250 * syntax.c (Fmodify_syntax_entry): Doc fix.
2251
ba3de0e8
JB
22522008-12-10 Juanma Barranquero <lekktu@gmail.com>
2253
2254 * font.c (Ffont_spec): Move usage to end of docstring.
2255
174f1c74
JR
22562008-12-10 Jason Rumney <jasonr@gnu.org>
2257
2258 * w32font.c (Qcham): New symbol.
2259 (font_supported_scripts): Add cham, and comments for other new
2260 scripts in bitfield from OpenType spec.
9d32f818
JR
2261 (add_font_entity_to_list): Limit unicode-sip fonts to those that
2262 contain characters beyond the bmp.
174f1c74 2263
7b649478
KH
22642008-12-10 Kenichi Handa <handa@m17n.org>
2265
2266 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 2267 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
2268 Qunicode_sip.
2269
2133e2d1
JB
22702008-12-10 Juanma Barranquero <lekktu@gmail.com>
2271
2272 * coding.c (QCdefault_char): Rename from QCdefalut_char.
2273 (Fcoding_system_put): Use QCdefault_char.
2274 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
2275
9af886ee
CY
22762008-12-09 Chong Yidong <cyd@stupidchicken.com>
2277
74d819eb
CY
2278 * xftfont.c (syms_of_xftfont): Fix typo.
2279
4ccfa1c0 2280 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 2281
7c19d3ae
DN
22822008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
2283
2284 * emacs.c (main): Close daemon_pipe on exec.
2285
567826bb
CY
22862008-12-08 Chong Yidong <cyd@stupidchicken.com>
2287
2288 * termchar.h (struct tty): New members termcap_term_buffer and
2289 termcap_strings_buffer.
2290
2291 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 2292 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
2293 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
2294 All callers changed.
2295 (init_tty): Store termcap data and string buffers in new struct
2296 tty members termcap_term_buffer and termcap_strings_buffer.
2297 (delete_tty): Free them.
4ccfa1c0 2298 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 2299
aa96c42b
SZ
23002008-12-07 Seiji Zenitani <zenitani@mac.com>
2301
2302 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 2303 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 2304
b7e1d896
CY
23052008-12-06 Chong Yidong <cyd@stupidchicken.com>
2306
2307 * coding.c (make_conversion_work_buffer): Disable buffer
2308 modification hooks in the work buffer.
2309
b5ec91a5
EZ
23102008-12-05 Eli Zaretskii <eliz@gnu.org>
2311
2312 * process.c (procfs_system_process_attributes): If `nread' has a
2313 negative value, assign zero to it.
2314
a5d2a52b
CY
23152008-12-05 Chong Yidong <cyd@stupidchicken.com>
2316
68c5540b 2317 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 2318
7bf1bb21
KH
23192008-12-05 Kenichi Handa <handa@m17n.org>
2320
2321 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
2322 second character is a combining character.
2323
2fdc7d00
EZ
23242008-12-05 Eli Zaretskii <eliz@gnu.org>
2325
2326 * process.c (procfs_system_process_attributes): Don't use cmd,
2327 cmdsize, and q without initializing them first.
2328
bf6bfba8
JR
23292008-12-04 Jason Rumney <jasonr@gnu.org>
2330
2331 * w32font.c (w32font_draw): Initialize orig_clip before getting
2332 it, and delete it when finished.
2333
a3b1a468
DN
23342008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
2335
2336 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
2337 case when running as a daemon before detaching.
2338
8b8be8eb
JB
23392008-12-03 Juanma Barranquero <lekktu@gmail.com>
2340
805f2638 2341 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 2342
b1bde622
KH
23432008-12-03 Kenichi Handa <handa@m17n.org>
2344
e500c47d
KH
2345 * font.c (font_at): Set `multibyte' at first.
2346
ca516334
KH
2347 * coding.c (decode_coding_charset): Check type of an element of
2348 vector VALIDS.
7bf1bb21 2349 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 2350
4ccfa1c0 2351 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
2352 (font_for_char): Likewise.
2353
1e5ecd37
CY
23542008-12-03 Chong Yidong <cyd@stupidchicken.com>
2355
d5b01609 2356 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
2357 (font_update_lface): Handle fonts with corrupted size specs,
2358 i.e. non-int and non-float.
d5b01609 2359
11e3a6e4 2360 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 2361 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 2362 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 2363
ab06788b
CY
2364 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
2365
1e5ecd37 2366 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 2367 underline_minimum_offset for underline position.
1e5ecd37 2368
63c125ab
DN
23692008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
2370
2371 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
2372
2373 * character.c (c_string_width): Specify the type for LEN.
2374
3a8406e1
KH
23752008-12-03 Kenichi Handa <handa@m17n.org>
2376
4ccfa1c0 2377 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 2378 (decode_coding_utf_8): Likewise.
4ccfa1c0 2379 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 2380 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 2381
651df7d9
CY
23822008-12-02 Chong Yidong <cyd@stupidchicken.com>
2383
2384 * keyboard.c (make_lispy_position): Only use PT if the selected
2385 window is current.
2386
1f625c6c
AS
23872008-12-02 Andreas Schwab <schwab@suse.de>
2388
f7741ce9
AS
2389 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
2390
1f625c6c
AS
2391 * doprnt.c (doprnt1): Fix size of charbuf.
2392
92bc2678
CY
23932008-12-02 Chong Yidong <cyd@stupidchicken.com>
2394
2395 * keyboard.c (timer_check): Revert last change.
2396
93b9e8cc
JB
23972008-12-02 Juanma Barranquero <lekktu@gmail.com>
2398
2399 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
2400
fd7a37d5
JB
24012008-12-01 Juanma Barranquero <lekktu@gmail.com>
2402
2403 * makefile.w32-in: Update dependencies.
2404 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
2405
c115043b
AS
24062008-12-01 Andreas Schwab <schwab@suse.de>
2407
2408 * font.c (register_font_driver): Use xmalloc.
2409 (font_put_frame_data): Likewise.
2410
f5668d2a
CY
24112008-12-01 Chong Yidong <cyd@stupidchicken.com>
2412
860d96be
CY
2413 * xfaces.c (realize_x_face): Make abort condition clearer.
2414
f5668d2a
CY
2415 * gtkutil.c (update_frame_tool_bar): Initialize variable.
2416
379c17e7
CY
24172008-11-30 Chong Yidong <cyd@stupidchicken.com>
2418
2419 * keyboard.c (timer_check): After a timer runs, ensure that the
2420 selected window's buffer is current.
2421
35f36d65
JB
24222008-11-30 Juanma Barranquero <lekktu@gmail.com>
2423
f952c61c
JB
2424 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
2425 It was accidentally restored by the Unicode merge.
2426
35f36d65
JB
2427 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
2428
b23077df
JB
24292008-11-29 Juanma Barranquero <lekktu@gmail.com>
2430
2431 * w32proc.c: Include "coding.h".
2432 (Fw32_short_file_name): Encode filename passed to Windows API.
2433 (Fw32_long_file_name): Encode filename passed to Windows API and
2434 decode back the result. (Bug#1433)
2435
b8ebe9dd
KH
24362008-11-29 Kenichi Handa <handa@m17n.org>
2437
8cc53f96
KH
2438 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
2439 not before accessing it.
2440
b8ebe9dd
KH
2441 * charset.c (Fdefine_charset_internal): After calculating
2442 min_char, max_char, and fastmap, copy the charset structure again.
2443 (encode_char): Fix the previous change.
2444
59bc82c0
SZ
24452008-11-28 Seiji Zenitani <zenitani@mac.com>
2446
2447 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
2448
2449 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
2450
2451 * nsterm.m (x_set_frame_alpha): New function.
2452
32247e3d
EZ
24532008-11-27 Eli Zaretskii <eliz@gnu.org>
2454
2455 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
2456
b003e5ff
JB
24572008-11-27 Juanma Barranquero <lekktu@gmail.com>
2458
2459 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
2460 pointer to check_face_name.
2461
708550f5
KH
24622008-11-27 Kenichi Handa <handa@m17n.org>
2463
2464 * category.h (SET_CATEGORY_SET): Call set_category_set.
2465 (set_category_set): Extern it.
2466
2467 * category.c (hash_get_category_set): New function.
2468 (Fmodify_category_entry): Adjusted for the change of
2469 char_table_ref_and_range. Call hash_get_category_set to get a
2470 category set to store in the table.
2471
2472 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
2473 Funify_charset.
2474
2ae37cf0 2475 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
2476 (DECODE_CHAR): Check if the decoder vector is ready.
2477 (ENCODE_CHAR): Check if the encoder char-table is ready.
2478 (maybe_unify_char): Extern it.
2479
2480 * charset.c (Vchar_unified_charset_table): Delete it.
2481 (inhibit_load_charset_map): New variable.
2482 (temp_charset_work): New variable.
2483 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
2484 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
2485 New macros.
2486 (load_charset_map): Meaning of control_flag changed. If
2487 inhibit_load_charset_map is nonzero, setup a table in
2488 temp_charset_work.
2489 (load_charset): New argument control_flag.
2490 (map_charset_for_dump): New function.
2491 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
2492 map_charset_for_dump.
2493 (Fdefine_charset_internal): If the charset method is MAP, load
2494 mapping tables by calling load_charset.
2495 (Funify_charset): Don't load a mapping table but directly set
2496 Vchar_unify_table.
2497 (maybe_unify_char): New function.
2498 (decode_char): Don't handle the deleted method MAP_DEFERRED.
2499 Handle the case of inhibit_load_charset_map being nonzero.
2500 (encode_char): Don't handle the deleted method MAP_DEFERRED.
2501 Handle the case of inhibit_load_charset_map being nonzero.
2502 (Fclear_charset_maps): Just free temp_charset_work.
2503 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
2504 variable.
2505
2506 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
2507 change of char_table_ref_and_range.
2508 (char_table_ref_and_range): Change the meaning of argument FROM
2509 and TO. Now the caller must provide initial values for *FROM
2510 and *TO.
2511
2512 * fontset.c (fontset_add): Adjusted for the change of
2513 char_table_ref_and_range.
2514 (fontset_get_font_group): Likewise.
2515 (Ffontset_info): Likewise.
2516
2517 * keymap.c (describe_vector): Adjusted for the change of
2518 char_table_ref_and_range. For char-table, put boundary between
2519 non-ASCII and 8-bit characters.
2520
2521 * print.c (print_object): For bool-vector, delete unnecessary
2522 check of ASCII_BYTE_P.
2523
9196133b
JR
25242008-11-26 Jason Rumney <jasonr@gnu.org>
2525
2526 * w32font.c (w32font_open_internal): Don't include external
9acef61c 2527 leading in font height. (Bug#879)
9196133b 2528
9f688acf
GM
25292008-11-26 Glenn Morris <rgm@gnu.org>
2530
2531 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
2532 redefinition with ifdef. (Bug#1383)
2533
90d19aff
AR
25342008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2535
2536 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
2537
4ccfa1c0 25382008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
2539
2540 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
2541 New EmacsView methods.
2542 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
2543 Fixes bug #1048,1357,1414.
2544
25452008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2546
2547 Fix bug #1362.
2548 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
2549 is not an indexed color.
2550 * nsterm.m (free_indexed_color): Add argument checking.
2551 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
2552
e7d5ecb3
CY
25532008-11-24 Chong Yidong <cyd@stupidchicken.com>
2554
2555 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
2556 Document confirm-after-completion value for
2557 minibuffer-completion-confirm.
2558
c285743c
JR
25592008-11-24 Jason Rumney <jasonr@gnu.org>
2560
2561 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
2562 warning.
2563
b0857706
JR
25642008-11-23 Jason Rumney <jasonr@gnu.org>
2565
2566 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
2567 restored before returning.
2568
2569 * w32font.c (check_face_name): New function.
2570 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 2571 fonts. (Bug#642)
b0857706 2572
ee50ff07
MR
25732008-11-22 Martin Rudalics <rudalics@gmx.at>
2574
2575 * buffer.c (Fswitch_to_buffer): Reword and mention new option
2576 confirm-nonexistent-file-or-buffer in doc-string.
2577
b8ff72fa
SM
25782008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2579
2580 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
2581 Fix copy/paste typo. Add checks.
2582
cee53ed4
KH
25832008-11-21 Kenichi Handa <handa@m17n.org>
2584
2585 * coding.c (detect_coding_iso_2022): Reject invalid composition
2586 sequence.
2587 (DECODE_COMPOSITION_START): If the current source is the last
2588 block, and the current composition doesn't end, regard this
2589 sequence as invalid.
2590 (decode_coding_iso_2022): Handle invalid composition sequence.
2591
f6ef1e65
MR
25922008-11-20 Martin Rudalics <rudalics@gmx.at>
2593
2594 * window.c (coordinates_in_window): Don't return
2595 ON_VERTICAL_BORDER for the rightmost position of a mode/header
2596 line when the window is not the rightmost one. (Bug#1372)
2597
e08b1705
MR
25982008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2599
2600 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
2601
ad98e89f
EZ
26022008-11-15 Eli Zaretskii <eliz@gnu.org>
2603
2604 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
2605 and bright_bg if noninteractive is non-zero.
2606
fb098a4b
CY
26072008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2608
2609 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
2610 x_draw_glyph_string_background.
2611
2612 * w32term.c (x_draw_glyph_string): Likewise.
2613
ce952b6e
CY
26142008-11-15 Chong Yidong <cyd@stupidchicken.com>
2615
2616 * xterm.c (x_draw_glyph_string): Stop drawing the background of
2617 the next glyph string once past the overhang width.
2618
2619 * nsterm.m (ns_draw_glyph_string): Likewise.
2620
2621 * w32term.c (x_draw_glyph_string): Likewise.
2622
26ea7079
CY
26232008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
2624
2625 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
2626 double file close.
2627
1c33c906
MR
26282008-11-14 Martin Rudalics <rudalics@gmx.at>
2629
2630 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
2631 dedicated status of window before attempting to display another
2632 buffer in it.
2633
8fc29035
JB
26342008-11-14 Juanma Barranquero <lekktu@gmail.com>
2635
2636 * msdos.c (Fmsdos_long_file_names):
2637 (syms_of_msdos) <dos-unsupported-char-glyph>:
2638 * dosfns.c (Fint86): Fix typos in docstrings.
2639
55fb4286
EZ
26402008-11-14 Eli Zaretskii <eliz@gnu.org>
2641
2642 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
2643
3fda0315
KY
26442008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
2645
2646 * puresize.h (BASE_PURESIZE): Increase to 1260000.
2647
7e849c17
CY
26482008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
2649
2650 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
2651
2652 * frame.h: Negative alpha means "don't touch".
2653
2654 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
2655
2656 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
2657
b9fd67bd
DN
26582008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
2659
2660 * hftctl.c:
2661 * chpdef.h:
2662 * acldef.h: Remove files used only for systems no longer supported.
2663
2664 * Makefile.in: Fix .o alphabetical ordering.
2665 (hftctl.o): Remove dependency, file removed.
2666 (keymap.o, print.o): Depend on charset.h.
2667
d5998e03
KH
26682008-11-10 Kenichi Handa <handa@m17n.org>
2669
2ae37cf0 2670 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 2671
be70e183
CY
26722008-11-08 Chong Yidong <cyd@stupidchicken.com>
2673
2674 * dired.c (file_name_completion): If completion_ignore_case is
2675 enabled, ignore case when checking completion-regexp-list.
2676
7cf94eac
EZ
26772008-11-08 Eli Zaretskii <eliz@gnu.org>
2678
2679 * vm-limit.c (get_lim_data): Fix last change.
2680
ee107a89
KH
26812008-11-08 Kenichi Handa <handa@m17n.org>
2682
2683 * character.c (Fget_byte): New function.
2684 (syms_of_character): Defsubr Fget_byte.
2685
5fd15622
CY
26862008-11-07 Chong Yidong <cyd@stupidchicken.com>
2687
2688 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
2689 cursor position is valid after scrolling.
2690
13d62fad
JB
26912008-11-06 Juanma Barranquero <lekktu@gmail.com>
2692
2693 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
2694
a1dd2936
GM
26952008-11-06 Glenn Morris <rgm@gnu.org>
2696
2697 * xterm.c (handle_one_xevent): Don't let popup menus cause
2698 mouse-autoselect-window related window switching. (Bug#1261)
2699
860cd236
CY
27002008-11-04 David Smith <davidsmith@acm.org> (tiny change)
2701
2702 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
2703
653a3150
AS
27042008-11-04 Andreas Schwab <schwab@suse.de>
2705
2706 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
2707
870f5cac
CY
27082008-11-03 Chong Yidong <cyd@stupidchicken.com>
2709
2710 * xfns.c (Fx_wm_set_size_hint): New function.
2711
1e02f3cb
MR
27122008-11-03 Martin Rudalics <rudalics@gmx.at>
2713
2714 * textprop.c (Fprevious_single_char_property_change): Return 0
2715 when there's no change in a string. (Bug#1301)
2716
e630dfc6
MR
27172008-11-02 Martin Rudalics <rudalics@gmx.at>
2718
2719 * frame.c (do_switch_frame): New argument NORECORD passed to
2720 Fselect_window.
2721 (Fselect_frame): New argument NORECORD passed to
2722 do_switch_frame.
2723 (Fset_frame_selected_window): New argument NORECORD passed to
2724 Fselect_frame.
2725 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2726 in call of do_switch_frame.
2727 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2728 Handle NORECORD argument in call of Fselect_frame.
2729 * lisp.h (do_switch_frame, Fselect_frame)
2730 (Fset_frame_selected_window): Adjust declarations.
2731 * window.c (select_frame_norecord): New function.
2732 (run_window_configuration_change_hook): Use it and call
2733 Fselect_frame with NORECORD set.
2734 (Fselect_window): Pass NORECORD to Fselect_frame.
2735 (Fset_window_configuration): Handle NORECORD argument in call of
2736 do_switch_frame.
2737 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2738 Fset_frame_selected_window.
2739 * keyboard.c (command_loop_1): Handle NORECORD in call of
2740 Fselect_frame (currently ifdefd).
2741
9020b223
GM
27422008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2743
2744 * emacs.c (USAGE2): Untabify.
2745
793ffee8
SM
27462008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2747
2748 * composite.c (fill_gstring_header): Fix copy/paste typo.
2749
ab6d1131
MR
27502008-10-31 Martin Rudalics <rudalics@gmx.at>
2751
2752 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2753 (Fother_window): Rename argument and rewrite doc-string.
2754 (select_window_norecord): Fix return value. (Bug#1276)
2755
601a9cf1
JB
27562008-10-30 Juanma Barranquero <lekktu@gmail.com>
2757
2758 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2759 new frames overriding foreground for tooltips. Based on similar patch
2760 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2761
813b0652
CY
27622008-10-29 Chong Yidong <cyd@stupidchicken.com>
2763
2764 * emacs.c (Fdaemon_initialized): Initialize nfd.
2765
4414f58f
MR
27662008-10-29 Martin Rudalics <rudalics@gmx.at>
2767
2768 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2769 (Fwindow_text_height): Clarify doc-strings.
2770 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2771 doc-string of window-scroll-functions.
2772
ecdcaa09
RS
27732008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2774
2775 * category.c (syms_of_category): Fix typo in docstring.
2776
23fe745a
JB
27772008-10-28 Juanma Barranquero <lekktu@gmail.com>
2778
2779 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2780 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2781 Fix typos in docstrings.
2782
ff808935
DN
27832008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2784
2785 * emacs.c (daemon_pipe): Make non-static.
2786 (IS_DAEMON): Move definition ...
2787 * lisp.h (IS_DAEMON): ... here.
2788 (daemon_pipe): Declare.
2789 (is_daemon): Remove.
2790 * dispnew.c (init_display): Use IS_DAEMON.
2791
fc012771
SM
27922008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2793
2794 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2795 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2796
2797 * emacs.c (is_daemon): Remove.
2798 (main): Don't set is_daemon.
2799 (IS_DAEMON): New macro.
2800 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 2801 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
2802 parent exits.
2803 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2804
d8bdbe6f
CY
28052008-10-27 Chong Yidong <cyd@stupidchicken.com>
2806
d1a072bf
CY
2807 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2808 over-sized glyph, draw it with the default glyph width.
2809
e2e325aa
CY
2810 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2811 glyph, draw it with the default glyph width.
2812
2813 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2814 glyph, draw it with the default glyph width.
2815
d8bdbe6f
CY
2816 * xdisp.c (try_scrolling): When computing the distance from the
2817 scroll margin to PT, try moving some distance past the window
2818 bottom before giving up.
2819
7bfac547
MR
28202008-10-27 Martin Rudalics <rudalics@gmx.at>
2821
2822 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
2823 (Fset_window_buffer): Explain in doc-string that a window can be
2824 "strongly" dedicated to its buffer.
2825
4ff029f6
DN
28262008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
2827
2828 * emacs.c (daemon_name): New variable.
2829 (main): Deal with --daemon=SERVER_NAME.
2830 (Fdaemonp): Return a name if one was passed to --daemon.
2831
5790ef40
DN
28322008-10-26 Romain Francoise <romain@orebokech.com>
2833
f9bd0df9 2834 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
2835 (main): Create a pipe before forking, make the parent exit only after
2836 the child has closed its end of the pipe. Move closing the
2837 descriptors ...
2838 (Fdaemon_initialized): ... here. New function.
2839
f5385255
SM
28402008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2841
4d632321
SM
2842 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
2843 the previous unoptimized table.
2844
f5385255
SM
2845 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
2846 the distinction between non-nil and non-t value of `dedicated'.
2847
6c56a0f3
CY
28482008-10-25 Chong Yidong <cyd@stupidchicken.com>
2849
2850 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 2851 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 2852
fec89261
MR
28532008-10-25 Martin Rudalics <rudalics@gmx.at>
2854
2855 * window.c (Fget_buffer_window, Fdelete_windows_on)
2856 (Freplace_buffer_in_windows): Make buffer argument optional and
2857 rename to buffer_or_name.
2858
34fcddd0
CY
28592008-10-24 Chong Yidong <cyd@stupidchicken.com>
2860
f5385255
SM
2861 * xdisp.c (handle_single_display_spec, handle_display_prop):
2862 Undo 2005-05-16 change.
34fcddd0
CY
2863 (handle_stop): Pop iterator if it's loaded with an empty string.
2864 (get_overlay_strings_1): Don't save iterator if it's loaded with
2865 an empty string (bug#1201).
2866
064766f2
KH
28672008-10-24 Kenichi Handa <handa@m17n.org>
2868
2869 * ftfont.c (ftfont_otf_features): Fix previous change.
2870 (ftfont_otf_capability): Check FeatureList.FeatureCount before
2871 calling ftfont_otf_features.
2872
f9bd0df9 28732008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
2874
2875 * font.c (font_match_p): Fix for the case that a vector of
2876 characters is in script-representative-chars.
2877
1dae9197
MA
28782008-10-24 Michael Albinus <michael.albinus@gmx.de>
2879
2880 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 2881 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
2882 (xd_read_queued_messages): Catch Qdbus_error from the macros.
2883 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
2884 macro. (Bug#1186).
2885
f9bd0df9 28862008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
2887
2888 * s/sol2-10.h: New file.
2889
878a4584
JB
28902008-10-23 Juanma Barranquero <lekktu@gmail.com>
2891
2892 * xdisp.c (fill_glyph_string): Fix typo in source (though the
2893 poor beast has survived 9+ years and the jump from xterm.c!).
2894
cd265ca6
MR
28952008-10-23 Martin Rudalics <rudalics@gmx.at>
2896
2897 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
2898 Reword doc-string.
f5385255 2899 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 2900
472a4dc9
JB
29012008-10-23 Juanma Barranquero <lekktu@gmail.com>
2902
2903 * character.c (syms_of_character) <script-representative-chars>:
2904 <unicode-category-table>: Doc fixes.
2905
159bd5a2
NF
29062008-10-23 Noah Friedman <friedman@splode.com>
2907
2908 * coding.c (make_conversion_work_buffer): Check that
2909 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
2910 Fget_buffer_create.
2911
49f9c344
KH
29122008-10-23 Kenichi Handa <handa@m17n.org>
2913
2914 * font.c (font_add_log): Check the values of extra properties.
2915
12bb3111
MR
29162008-10-22 Martin Rudalics <rudalics@gmx.at>
2917
2918 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2919 Reword doc-string.
2920 (Fset_window_parameter): Use NILP.
2921 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 2922 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 2923
bbeb4e99
JB
29242008-10-22 Juanma Barranquero <lekktu@gmail.com>
2925
2926 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
2927
29282008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
2929
2930 * nsfns.m (ns_appkit_version): New function.
2931 (x-server-version): Use it.
2932 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
2933 (x-server-vendor): Don't check_ns().
2934
2935 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
2936
a9b555d3
JB
29372008-10-22 Juanma Barranquero <lekktu@gmail.com>
2938
2939 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
2940 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
2941
4626499f
KH
29422008-10-22 Kenichi Handa <handa@m17n.org>
2943
e3681952
KH
2944 * syntax.c (scan_words): Call word_boundary_p instead of comparing
2945 scripts.
2946
4626499f
KH
2947 * category.c (word_boundary_p): Check scripts instead of charset.
2948 Handle nil value in word-separating-categories and
2949 word-combining-categories.
2950 (syms_of_category): Fix docstrings of word-separating-categories
2951 and word-combining-categories.
2952
1560f91a
EZ
29532008-10-21 Eli Zaretskii <eliz@gnu.org>
2954
2955 * coding.c (Fencode_coding_region, Fdecode_coding_region)
2956 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
2957
f4668441
MR
29582008-10-21 Martin Rudalics <rudalics@gmx.at>
2959
2960 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
2961 Rename arg "buffer" to "buffer_or_name".
2962 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
2963 it optional.
2964 (no_switch_window): Remove since the return value is not used.
a9b555d3 2965 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
2966 Consider window as dedicated when Fwindow_dedicated_p returns a
2967 non-nil value.
2968 * lisp.h: Remove prototype for no_switch_window.
2969
fd75ddb2
JD
29702008-10-21 Jan Djärv <jan.h.d@swipnet.se>
2971
2972 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 2973 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 2974
07295713
KH
29752008-10-21 Kenichi Handa <handa@m17n.org>
2976
2977 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
2978 check Vlatin_extra_code_table.
2979
712adc82
EZ
29802008-10-20 Eli Zaretskii <eliz@gnu.org>
2981
2982 * fileio.c (Fset_file_modes): Doc fix.
2983
f549eb0b
MA
29842008-10-19 Michael Albinus <michael.albinus@gmx.de>
2985
2986 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
2987 in arrays.
2988
aac0c6e3
MR
29892008-10-19 Martin Rudalics <rudalics@gmx.at>
2990
2991 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2992 Mention kill-buffer in doc-string.
2993 (Fset_window_buffer): Reinsert tem check removed in last commit.
2994 (Fenlarge_window, Fshrink_window): Have argument names and
2995 doc-string follow Elisp manual more closely.
2996
29972008-10-18 Eli Zaretskii <eliz@gnu.org>
2998
2999 * fileio.c (Fset_file_modes): Doc fix.
3000
30012008-10-18 Martin Rudalics <rudalics@gmx.at>
3002
3003 * window.c (Fwindow_width, Fset_window_start)
3004 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
3005 (Fdelete_windows_on, Freplace_buffer_in_windows):
3006 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
3007 (Fwindow_dedicated_p): Make window argument optional.
3008 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
3009 (Fset_window_buffer): Respect any non-nil dedicated value for
3010 window. Rename "buffer" argument to "buffer_or_name".
3011
30122008-10-18 Ulrich Mueller <ulm@gentoo.org>
3013
3014 * m/sh3.h: New file, machine description for SuperH.
3015
30162008-10-17 Martin Rudalics <rudalics@gmx.at>
3017
3018 * window.c (Fsplit_window): Rename arg horflag to horizontal.
3019
30202008-10-17 Kenichi Handa <handa@m17n.org>
3021
3022 * ftfont.c (ftfont_otf_features): Fix indexing
3023 gsub_gpos->FeatureList.Feature. Check the validity of indices.
3024
30252008-10-16 Magnus Henoch <mange@freemail.hu>
3026
3027 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
3028 (Fdbus_call_method_asynchronously): Ditto.
3029 This change makes C-h f display the argument list.
3030
30312008-10-16 Chong Yidong <cyd@stupidchicken.com>
3032
3033 * fileio.c (Fexpand_file_name): Doc fix.
3034
3035 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
3036 of :foreground and :background equivalent to unspecified (20.x
3037 compatibility).
3038
30392008-10-15 Eli Zaretskii <eliz@gnu.org>
3040
3041 * buffer.c (syms_of_buffer): Doc fix.
3042
30432008-10-14 Kenichi Handa <handa@m17n.org>
3044
3045 * font.c (font_clear_prop): When clearing font width, clear the
3046 average width field too.
3047
30482008-10-12 Andreas Schwab <schwab@suse.de>
3049
3050 * ftfont.c (ftfont_shape_by_flt): Make static.
3051 * ftfont.h (ftfont_shape_by_flt): Don't declare.
3052
3053 * font.c: Don't include <m17n-flt.h>.
3054
30552008-10-10 Eli Zaretskii <eliz@gnu.org>
3056
3057 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
3058
30592008-10-09 Eli Zaretskii <eliz@gnu.org>
3060
3061 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
3062 away code.
3063
30642008-10-09 Chong Yidong <cyd@stupidchicken.com>
3065
3066 * dispnew.c (update_text_area): Avoid looping due to large glyph
3067 overhangs (bug#1070).
3068
30692008-10-09 Kenichi Handa <handa@m17n.org>
3070
3071 * fontset.c (face_for_char): If face->fontset is negative, just
3072 return ascii_face.
3073
f5385255
SM
3074 * font.c (font_delete_unmatched): Fix previous change.
3075 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
3076
30772008-10-09 Martin Rudalics <rudalics@gmx.at>
3078
3079 * frame.c (Fraise_frame): On text-only terminals select frame in
3080 order to make it visible. (Bug#1061)
3081
30822008-10-08 Chong Yidong <cyd@stupidchicken.com>
3083
3084 * fontset.c (fontset_find_font): Check frame validity.
3085
30862008-10-07 Chong Yidong <cyd@stupidchicken.com>
3087
a9b555d3 3088 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
3089 (xg_display_close): Allow Emacs to close all displays (bug#985).
3090
30912008-10-06 Andreas Schwab <schwab@suse.de>
3092
f5385255 3093 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
3094
30952008-10-06 Chong Yidong <cyd@stupidchicken.com>
3096
f5385255 3097 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 3098
a9b555d3 3099 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
3100
3101 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
3102 during initialization.
3103
31042008-10-04 Eli Zaretskii <eliz@gnu.org>
3105
3106 * xdisp.c (redisplay_internal): If frame switched, redisplay the
3107 whole thing on MSDOS frames as well as on a TTY.
3108
3109 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
3110 well as for TTY.
3111 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
3112 well as on a TTY.
3113
3114 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
3115 as well as for TTY.
3116
3117 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
3118
3119 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
3120 MSDOS frames as well.
3121
31222008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3123
3124 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
3125 correct arguments.
b71ac3dd 3126 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
3127
31282008-10-03 Glenn Morris <rgm@gnu.org>
3129
3130 * emacs.c (USAGE1): Add --daemon.
3131
31322008-10-02 Eli Zaretskii <eliz@gnu.org>
3133
3134 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
3135 100, so it's in percents as advertised.
3136
31372008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3138
3139 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
3140 (ns_output.current_cursor, ns_output.desired_cursor)
3141 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
3142 (FRAME_NEW_CURSOR_COLOR): Remove.
3143
3144 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 3145 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
3146 enumeration (HOLLOW_BOX_CURSOR, etc.).
3147
3148 * nsterm.m (ns_frame_rehighlight): Remove commented code.
3149 (draw_window_cursor): Simplify code.
f5385255
SM
3150 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
3151 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 3152 updates manually.
a9b555d3
JB
3153 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
3154 Use core Emacs cursor types.
aac0c6e3 3155
b8ff72fa 3156 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
3157
31582008-10-02 Martin Rudalics <rudalics@gmx.at>
3159
3160 * process.c (Faccept_process_output): Fix doc-string.
3161
31622008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
3163
3164 * gmalloc.c (__sbrk): Also define for uClibc.
3165
3166 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
3167 for uClibc.
3168
31692008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3170
3171 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
3172 styles.
3173 (nsfont_open): Reenable the cache.
3174
31752008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3176
3177 * font.c (font_matching_entity): Reflect ATTRS in font selection.
3178 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
3179
31802008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
3181
3182 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
3183 a suspended terminal.
3184
31852008-09-30 Michael Albinus <michael.albinus@gmx.de>
3186
3187 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
3188
31892008-09-30 Eli Zaretskii <eliz@gnu.org>
3190
3191 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
3192
31932008-09-30 Chong Yidong <cyd@stupidchicken.com>
3194
3195 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
3196 in a continued line coincides with a line beginning.
3197
31982008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
3199
3200 * nsfont.m (nsfont_trait_distance): Fix bug.
3201 (nsfont_list): Return a list rather than a vector (syncs with Handa
3202 changes of 2008-05-14).
3203 (nsfont_open): Improve logging.
3204
32052008-09-29 Andreas Schwab <schwab@suse.de>
3206
3207 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
3208
32092008-09-28 Martin Rudalics <rudalics@gmx.at>
3210
3211 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
3212 name as char-resolve-modifiers.
3213 Reported by: Markus Triska <markus.triska@gmx.at>
3214
32152008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
3216
3217 * dispnew.c (init_display): Return earlier when running as a daemon.
3218
32192008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3220
3221 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
3222
32232008-09-27 Eli Zaretskii <eliz@gnu.org>
3224
3225 * composite.c (Fcomposition_get_gstring)
3226 (Fcompose_region_internal, Fcompose_string_internal)
3227 (Ffind_composition_internal): Doc fix.
3228 (syms_of_composite) <compose-chars-after-function>: Doc fix.
3229 (syms_of_composite) <auto-composition-function>: Doc fix.
3230 (syms_of_composite) <composition-function-table>: Doc fix.
3231
32322008-09-25 Chong Yidong <cyd@stupidchicken.com>
3233
3234 * search.c (wordify): New argument for lax word-ends.
3235 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
3236
32372008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
3238
3239 * lisp.h (is_daemon): Declare.
3240 * dispnew.c (init_display): Do not try to initialize the terminal
3241 when running as a daemon.
3242
32432008-09-22 Chong Yidong <cyd@stupidchicken.com>
3244
3245 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
3246 x_display_pixel_height.
3247
32482008-09-22 Martin Rudalics <rudalics@gmx.at>
3249
3250 * undo.c (record_point): Don't call Fundo_boundary for first
3251 change. (Bug#731)
3252
32532008-09-22 Juanma Barranquero <lekktu@gmail.com>
3254
3255 * emacs.c (Fdaemonp): Doc fix.
3256
32572008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
3258
3259 * emacs.c (main): Place #ifdef in the proper place.
3260
32612008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
3262
3263 * emacs.c (standard_args): Add --daemon.
3264 (main): Disconnect from the terminal when --daemon is passed.
3265 (is_daemon): New variable.
3266 (Fdaemonp): New function.
3267 (syms_of_emacs): Defsubr it.
3268
32692008-09-20 Chong Yidong <cyd@stupidchicken.com>
3270
3271 * xdisp.c (get_next_display_element): Handle string display
3272 correctly when checking for the end of a box run.
3273
32742008-09-20 Glenn Morris <rgm@gnu.org>
3275
3276 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
3277 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
3278 (Frename_file): Avoid copying to trash if a rename involves
3279 a delete. (Bug#964).
3280
32812008-09-20 Eli Zaretskii <eliz@gnu.org>
3282
3283 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
3284 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
3285 frames as well as termcap frames.
3286 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
3287 get_named_tty.
3288
32892008-09-19 Eli Zaretskii <eliz@gnu.org>
3290
3291 * process.c (procfs_system_process_attributes): Fix cmdline in
3292 case /proc/PID/cmdline is empty.
3293
3294 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
3295 x_display_pixel_height.
3296
32972008-09-19 Juanma Barranquero <lekktu@gmail.com>
3298
3299 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
3300
3301 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
3302 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
3303
33042008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
3305
3306 * dispextern.h (struct it): Move line_wrap away from the middle of
3307 bitfields. Move voffset in struct iterator_stack_entry after the
3308 bitfields. Move tab_width near after another short.
3309
33102008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
3311
3312 * frame.h (struct frame): Move alpha from the middle of bitfields.
3313
3314 * window.h (struct window): Move frozen_window_start_p after the
3315 rest of the bitfields to reduce padding.
3316
33172008-09-18 Chong Yidong <cyd@stupidchicken.com>
3318
3319 * xterm.h (x_display_info): Remove `height' and `width' members.
3320
3321 * nsterm.h (ns_display_info): Remove `height' and `width' members.
3322
3323 * w32term.h (w32_display_info): Remove `height', `width',
3324 `height_in', and `width_in' members.
3325
b8ff72fa
SM
3326 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3327 New functions.
aac0c6e3
MR
3328 (x_calc_absolute_position): Use them.
3329 (x_term_init): Omit removed `height' and `width' members.
3330
b8ff72fa
SM
3331 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3332 New functions.
aac0c6e3
MR
3333 (w32_read_socket, x_calc_absolute_position): Use them.
3334 (w32_initialize_display_info, w32_term_init): Omit removed members
3335 of w32_display_info.
3336
b8ff72fa
SM
3337 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
3338 New functions.
3339 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 3340
b8ff72fa
SM
3341 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3342 New functions.
aac0c6e3
MR
3343 (x_calc_absolute_position): Use them.
3344 (x_term_init): Omit removed `height' and `width' members.
3345
3346 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
3347 (compute_tip_xy):
3348 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
3349 * xmenu.c (menu_position_func): Use x_display_pixel_height and
3350 x_display_pixel_width.
3351
33522008-09-18 Kenichi Handa <handa@m17n.org>
3353
3354 * composite.c (fill_gstring_header): Don't check FROM and TO here.
3355 (composition_compute_stop_pos): Fix handling of static composition.
3356 (Fcomposition_get_gstring): Check FROM and TO at first.
3357
33582008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
3359
46e722a9 3360 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
3361 mixup (YAILOM).
3362
33632008-09-17 Chong Yidong <cyd@stupidchicken.com>
3364
3365 * indent.c (Fvertical_motion): Use position reported by iterator
3366 instead of PT for determining screen motion (bug#943).
3367
33682008-09-17 Romain Francoise <romain@orebokech.com>
3369
3370 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
3371
33722008-09-17 Kenichi Handa <handa@m17n.org>
3373
3374 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
3375
3376 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
3377 if necessary.
3378
33792008-09-16 Kenichi Handa <handa@m17n.org>
3380
3381 * coding.c (make_conversion_work_buffer): Avoid calling
3382 Fget_buffer_create if it is not necessary.
3383
33842008-09-15 Martin Rudalics <rudalics@gmx.at>
3385
3386 * window.c (Fselect_window): Don't update window_select_count and
3387 use_time when norecord is not nil.
3388
33892008-09-14 Kenichi Handa <handa@m17n.org>
3390
3391 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
3392 specpdl_ptr.
3393
33942008-09-12 Kenichi Handa <handa@m17n.org>
3395
3396 * indent.c (scan_for_column): Don't handle automatic composition
3397 if the current buffer is not associated with a window.
3398
3399 * composite.c (composition_reseat_it): If the current buffer is
3400 not associated with a window, ignore the automatic composition.
3401 (find_automatic_composition): Likewise.
3402
34032008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3404
3405 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
3406 (Fgpm_mouse_stop): Use it.
3407 * termhooks.h (close_gpm): Declare.
3408 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
3409 connection if Gpm_GetEvent fails.
3410
3411 * window.c (set_window_buffer): Always preserve current-buffer.
3412
34132008-09-12 Glenn Morris <rgm@gnu.org>
3414
3415 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
3416
34172008-09-11 Glenn Morris <rgm@gnu.org>
3418
3419 * charset.c (charset-map-path): Doc fix.
3420
34212008-09-10 Kenichi Handa <handa@m17n.org>
3422
3423 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
3424
3425 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
3426 compose a grapheme cluster with the preceding base glyph.
3427
3428 * composite.c (composition_compute_stop_pos): Fix previous change.
3429 Reset cmp_it->id to -1 at first.
3430
34312008-09-10 Glenn Morris <rgm@gnu.org>
3432
3433 * Makefile.in (character.o, chartab.o): Fix config.h typo.
3434
34352008-09-09 Chong Yidong <cyd@stupidchicken.com>
3436
3437 * keyboard.c (read_key_sequence): Reapply translation maps when
3438 switching keyboards.
3439
34402008-09-09 Kenichi Handa <handa@m17n.org>
3441
3442 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
3443 characters.
3444
3445 * composite.c (FORWARD_CHAR): Fix calculation
3446 of (POSITION).pos_byte.
3447 (composition_compute_stop_pos): Limit the search of composition to
3448 at most 500 characters ahead. If we reach the limit or find a
3449 newline, set cmp_it->ch to -2 and return 0.
3450 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
3451
34522008-09-08 Kenichi Handa <handa@m17n.org>
3453
3454 * indent.c (Fvertical_motion): Be sure to set
3455 it_overshoot_expected if it.cmp_it.id is non-negative.
3456
34572008-09-07 Andreas Schwab <schwab@suse.de>
3458
3459 * callproc.c (Fcall_process): Don't hold references to string data
3460 across garbage collection. Move initialisation of new_argv down
3461 to avoid compiler bug.
3462
34632008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3464
3465 * process.c (Fsystem_process_attributes): Doc fix.
3466
34672008-09-07 Chong Yidong <cyd@stupidchicken.com>
3468
3469 * callproc.c (Fcall_process): Canonicalize current directory name.
3470
3471 * xdisp.c (move_it_to): When moving by vpos, ensure that the
3472 iterator advances to the next line if the current line ends in a
3473 continued tab.
3474
34752008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
3476
3477 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
3478 member to point to cmp_from.
3479
3480 * xdisp.c: Doc fix for references to gidx data member.
3481
34822008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3483
3484 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
3485
34862008-09-07 Kenichi Handa <handa@m17n.org>
3487
3488 * composite.c (FORWARD_CHAR): Check STOP after
3489 incrementing (POSITION).pos.
3490
34912008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3492
3493 * process.c (Fsystem_process_attributes): Doc fix.
3494
34952008-09-06 Chong Yidong <cyd@stupidchicken.com>
3496
3497 * keyboard.c (Ftop_level): Doc fix.
3498
34992008-09-06 Eli Zaretskii <eliz@gnu.org>
3500
3501 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
3502 minibuffer, don't let lower part of menu invade the echo area.
3503
3504 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
3505 "char *q" to access menu text and advance through it. Revert the
3506 change that displayed ">" instead of ASCII character 0x10.
3507
35082008-09-05 Eli Zaretskii <eliz@gnu.org>
3509
3510 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
3511 toggle boxes and radio buttons on MS-DOS as well.
3512
35132008-09-05 Kenichi Handa <handa@m17n.org>
3514
3515 * composite.c (autocmp_chars): Check lookback count.
3516 (composition_compute_stop_pos): Set cmp_it->lookback.
3517 (composition_reseat_it): Check lookback count.
3518 (struct position_record): New struct.
3519 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
3520 (find_automatic_composition): New function.
3521 (composition_adjust_point): Use find_automatic_composition.
3522
3523 * dispextern.h (struct composition_it): New member lookback.
3524
35252008-09-02 Chong Yidong <cyd@stupidchicken.com>
3526
3527 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
3528 if moving by a single line.
3529
35302008-09-02 Andreas Schwab <schwab@suse.de>
3531
3532 * xterm.c (x_delete_display): Fix merge error.
3533
3534 * fileio.c (Fexpand_file_name): Remove unused variables.
3535
35362008-09-02 Eli Zaretskii <eliz@gnu.org>
3537
3538 * fileio.c (Fexpand_file_name): Copy argument `name' into local
3539 storage on all platforms, not just on DOS_NT.
3540
35412008-09-02 Jason Rumney <jasonr@gnu.org>
3542
b8ff72fa
SM
3543 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
3544 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
3545
35462008-09-01 Chong Yidong <cyd@stupidchicken.com>
3547
3548 * xfaces.c (Finternal_set_alternative_font_family_alist)
3549 (Finternal_set_alternative_font_registry_alist): Properly copy
3550 entire alist structure.
3551
35522008-09-01 Kenichi Handa <handa@m17n.org>
3553
d66c0241 3554 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 3555 representative chars of the script is a vector.
d66c0241
JB
3556 (ftfont_list): Handle the case where the representative chars of
3557 the script is a vector.
aac0c6e3
MR
3558
3559 * character.c (syms_of_character): Docstring of
3560 script-representative-chars fixed.
3561
35622008-08-31 Eli Zaretskii <eliz@gnu.org>
3563
3564 * msdos.c (BUILD_CHAR_GLYPH): New macro.
3565 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
3566 the menu. Allocate larger buffer for `text', to account for
3567 possible ^C characters.
3568
35692008-08-31 Martin Rudalics <rudalics@gmx.at>
3570
3571 * xdisp.c (prepare_menu_bars): Don't call
3572 Vwindow_size_change_functions with arg Qt.
3573
35742008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
3575
3576 * font.h (font_range):
3577 * fileio.c (report_file_error):
46e722a9
SM
3578 * composite.c (composition_update_it): Yet another int/Lisp_Object
3579 mixup (YAILOM).
aac0c6e3
MR
3580
35812008-08-30 Glenn Morris <rgm@gnu.org>
3582
3583 * data.c (Fmake_variable_frame_local): Doc fix.
3584
3585 * frame.c (Fmodify_frame_parameters): Doc fix.
3586
35872008-08-30 Eli Zaretskii <eliz@gnu.org>
3588
3589 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
3590 needed by GetTokenInformation.
3591 (w32_system_process_attributes): Check return values of all system
3592 APIs.
3593
3594 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
3595 only when the state changes.
3596 (IT_update_begin, IT_update_end): Add termscript trace.
3597
3598 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
3599 clipboard is unavailable. Set dst to NULL if it doesn't point to
3600 malloc'ed data.
3601 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
3602 passing random values to xfree.
3603
3604 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 3605 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
3606
36072008-08-29 Jason Rumney <jasonr@gnu.org>
3608
3609 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
3610
36112008-08-29 Eli Zaretskii <eliz@gnu.org>
3612
3613 * composite.c (fill_gstring_body): Avoid compiler warnings.
3614
3615 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
3616 LGLYPH_SET_CODE to avoid compiler warnings.
3617
2ae37cf0 3618 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
3619
3620 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
3621
3622 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
3623 LGLYPH_SET_CODE.
3624
36252008-08-29 Kenichi Handa <handa@m17n.org>
3626
3627 * fileio.c (report_file_error): Don't downcase the first character
3628 of errstring if it is still unibyte.
3629
36302008-08-29 Kenichi Handa <handa@m17n.org>
3631
3632 These changes are to re-implement the automatic composition so
3633 that it doesn't use text properties.
3634
3635 * Makefile.in (ftfont.o): Depend on composite.h.
3636 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
3637
3638 * character.h (Vunicode_category_table): Extern it.
3639
3640 * character.c (Vunicode_category_table): New variable.
3641 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
3642
3643 * chartab.c (optimize_sub_char_table): Perform more greedy
3644 optimization.
3645
b8ff72fa
SM
3646 * composite.h (enum composition_method):
3647 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
3648 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
3649 (Vcomposition_function_table): Extern it.
3650 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
3651 (composition_gstring_put_cache, composition_gstring_from_id)
3652 (composition_gstring_p, composition_gstring_width)
3653 (composition_compute_stop_pos, composition_reseat_it)
3654 (composition_update_it, composition_adjust_point): Extern them.
3655 (Fcomposition_get_gstring): EXFUN it.
3656
d66c0241 3657 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
3658 (Vcomposition_function_table)
3659 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
3660 (gstring_hash_table, gstring_work, gstring_work_headers):
3661 New variables.
aac0c6e3
MR
3662 (gstring_lookup_cache, composition_gstring_put_cache)
3663 (composition_gstring_from_id, composition_gstring_p)
3664 (composition_gstring_width, fill_gstring_header)
3665 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
3666 (composition_reseat_it, composition_update_it)
b8ff72fa 3667 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
3668 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
3669 and gstring_work_headers. DEFVAR_LISP composition-function-table.
3670 Defsubr compostion_get_gstring.
3671
3672 * dispextern.h (struct glyph): New union u.cmp. Delete the member
3673 cmp_id.
3674 (struct glyph_string): Delete the member gidx. New members
3675 cmp_id, cmp_from, and cmp_to.
3676 (enum it_method): Delete GET_FROM_COMPOSITION.
3677 (struct composition_it): New struct.
3678 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
3679 Delete c, len, cmp_id, cmp_len in u.comp.
3680
3681 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 3682 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 3683 (enum lglyph_indices): Likewise.
b8ff72fa 3684 (font_range): Adjust extern.
aac0c6e3
MR
3685 (font_fill_lglyph_metrics): Extern it.
3686
3687 * font.c (QCf): New variable.
3688 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3689 (font_prepare_composition): Delete this function.
3690 (font_range): Type and arguments changed.
3691 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
3692 (font_fill_lglyph_metrics): New function.
b8ff72fa 3693 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 3694 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
3695 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
3696 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
3697
3698 * fontset.h (font_for_char): Extern it.
3699
3700 * fontset.c (font_for_char): New function.
3701
3702 * ftfont.c: Include composite.h.
3703 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 3704 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
3705
3706 * indent.c: Include composite.h and dispextern.h.
3707 (check_composition): Delete this function.
3708 (scan_for_column): Handle composition by
3709 composition_compute_stop_pos, composition_reseat_it, and
3710 composition_update_it.
3711 (compute_motion): Likewise.
3712 (Fvertical_motion): Fix checking of composition.
3713
3714 * keyboard.c (adjust_point_for_property): Check composition by
3715 composition_adjust_point.
3716
b8ff72fa 3717 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
3718 struct glyph_string.
3719
b8ff72fa
SM
3720 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3721 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
3722 struct glyph.
3723 (produce_composite_glyph): Likewise.
3724
b8ff72fa
SM
3725 * w32term.c (x_draw_composite_glyph_string_foreground):
3726 Adjust for the change of struct glyph_string.
aac0c6e3
MR
3727 (x_draw_glyph_string): Likewise.
3728
3729 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3730 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3731
3732 * xdisp.c: Include font.h.
3733 (it_props): Delete the entry for Qauto_composed.
3734 (init_iterator): Initialize it->cmp_it.id to -1.
3735 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 3736 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
3737 (handle_auto_composed_prop): Delete it.
3738 (handle_composition_prop): Handle only static composition.
3739 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3740 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 3741 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
3742 (pop_it): Likewise.
3743 (get_next_element): Delete next_element_from_composition.
3744 (CHAR_COMPOSED_P): New macro.
3745 (get_next_display_element): For automatic composition, get a face
3746 from the font in the glyph-string.
3747 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 3748 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
3749 (next_element_from_string): Check if the character at the current
3750 position is composed by CHAR_COMPOSED_P.
3751 (next_element_from_buffer): Likewise.
d66c0241
JB
3752 (next_element_from_composition): Adjust for the change of struct it.
3753 Update it->cmp_it.
b8ff72fa
SM
3754 (dump_glyph): Adjust for the change of struct glyph.
3755 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
3756 it and struct glyph. Don't handle automatic composition here.
3757 (fill_gstring_glyph_string): New function.
3758 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 3759 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
3760 (BUILD_GSTRING_GLYPH_STRING): New macro.
3761 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3762 automatic composition.
b8ff72fa 3763 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 3764 struct glyph.
b8ff72fa 3765 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 3766
b8ff72fa 3767 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
3768 the change of struct glyph_string.
3769 (x_draw_glyph_string): Likewise.
3770
37712008-08-29 Glenn Morris <rgm@gnu.org>
3772
3773 * buffer.c (word-wrap): Doc fix.
3774 * xdisp.c (truncate-partial-width-windows): Doc fix.
3775 Increase default to 50.
3776
37772008-08-29 Chong Yidong <cyd@stupidchicken.com>
3778
3779 * xdisp.c (update_tool_bar_unwind): New function.
3780 (update_tool_bar): Temporarily set selected frame before building
3781 tool-bar items.
3782
37832008-08-28 Michael Albinus <michael.albinus@gmx.de>
3784
3785 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3786 snprintf, respectively.
3787 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3788
37892008-08-28 Chong Yidong <cyd@stupidchicken.com>
3790
3791 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3792 LDFLAGS to GNUstep CC invocation.
3793
37942008-08-27 Chong Yidong <cyd@stupidchicken.com>
3795
3796 * indent.c (Fvertical_motion): Revert last change. Handle the
3797 general case where we are moving forward, and PT spans multiple
3798 screen lines.
3799
3800 * eval.c (find_handler_clause): Temporarily increase
3801 max-lisp-eval-depth while printing the backtrace buffer, to
3802 guarantee that help-mode code can run.
3803
38042008-08-27 Eli Zaretskii <eliz@gnu.org>
3805
3806 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3807 colors under -rv.
3808 (IT_set_frame_parameters): Don't swap foreground and background
3809 colors if `(reverse . t)' is present in the frame properties.
3810 (internal_terminal_init): Call init_frame_faces only for the
3811 initial frame.
3812
38132008-08-27 Andreas Schwab <schwab@suse.de>
3814
3815 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3816
38172008-08-27 Andreas Schwab <schwab@suse.de>
3818
3819 * search.c (search_buffer): Set char_base to zero only at the end.
3820
38212008-08-27 Kenichi Handa <handa@m17n.org>
3822
b8ff72fa 3823 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
3824
38252008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
3826
3827 * xterm.c (x_term_init): Temporarily hide the partially
3828 initialized terminal while calling vendor-specific-keysyms.
3829
38302008-08-26 Eli Zaretskii <eliz@gnu.org>
3831
3832 * msdos.c (internal_terminal_init): Most initializations done only
3833 once, especially initial_screen_colors[] and termscript open.
3834
38352008-08-26 Chong Yidong <cyd@stupidchicken.com>
3836
3837 * eval.c (Fcondition_case): Doc fix.
3838
3839 * widgetprv.h (EmacsFramePart): Change font member to the new font
3840 struct.
3841
3842 * widget.c: Include character.h and font.h for XSETFONT.
3843 (setup_frame_gcs): Compute X font id from font struct, just once.
3844
38452008-08-26 Eli Zaretskii <eliz@gnu.org>
3846
3847 * term.c (get_named_tty): Fix last change.
3848
38492008-08-26 Chong Yidong <cyd@stupidchicken.com>
3850
3851 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 3852 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
3853
38542008-08-25 Eli Zaretskii <eliz@gnu.org>
3855
3856 * frame.c (do_switch_frame): Mark previously displayed frame as
3857 obscured for FRAME_MSDOS_P frames as well.
3858
38592008-08-24 Eli Zaretskii <eliz@gnu.org>
3860
3861 * frame.c (make_terminal_frame): Initialize f->terminal,
3862 f->terminal->reference_count, and scroll bars on MS-DOS as well.
3863 Set the top frame to newly created frame.
3864 (Fmake_terminal_frame): Reuse the_only_display_info.
3865
3866 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
3867 estimating available memory.
3868
b97439ce 38692008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
3870
3871 * nsterm.m (ns_draw_window_cursor): Don't call
3872 NSDisableScreenUpdates and NSEnableScreenUpdates on
3873 non-NS_IMPL_COCOA systems.
3874
38752008-08-23 Andreas Schwab <schwab@suse.de>
3876
3877 * process.c (procfs_system_process_attributes): Fix use of
3878 uninitialized variables.
3879
38802008-08-23 Eli Zaretskii <eliz@gnu.org>
3881
3882 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
3883
3884 * dispnew.c (init_display): Remove MS-DOS specific conditions for
3885 calling tty-set-up-initial-frame-faces.
3886
b8ff72fa
SM
3887 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
3888 Allow MSDOS frames along with X frames.
aac0c6e3
MR
3889
3890 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
3891 addition to output_termcap.
3892
3893 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
3894
3895 * termchar.h (FRAME_TTY): Support output_msdos_raw.
3896 (struct tty_display_info) [MSDOS]: Add fields related to mouse
3897 highlight.
3898
3899 * process.c [!subprocesses]: Define QCname.
3900 (syms_of_process): Intern and staticpro it.
3901
3902 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
3903 Adjust for changes in encoding/decoding routines.
3904 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
3905 encode_coding and decode_coding.
3906
b8ff72fa 3907 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
3908
3909 * dosfns.c: Include frame.h before termhooks.h.
3910 (dos_cleanup): Use CURTTY ()->termscript instead of a global
3911 variable termscript.
3912
3913 * s/msdos.h (USER_FULL_NAME): Define.
3914 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
3915
3916 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
3917 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
3918 pw->pw_gecos.
3919
3920 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
3921 SELECTED_FRAME as additional (1st) argument.
3922 (tty_read_avail_input): Handle output_msdos_raw in
3923 addition to output_termcap.
3924
3925 * msdos.c: Include frame.h before termhooks.h.
3926 (mouse_on, mouse_off, mouse_moveto, mouse_init)
3927 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
3928 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
3929 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
3930 (IT_set_terminal_modes, IT_reset_terminal_modes)
3931 (IT_set_frame_parameters): Use tty->termscript instead of a global
3932 variable termscript.
3933 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
3934 global variable terminal_coding. Don't refer to
3935 Vnonascii_translation_table.
3936 (internal_terminal_init): Set Vwindow_system in current_kboard.
3937 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
3938 Announce date and time of session start, if termscript is open.
3939 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
3940 term.c:init_tty). Open termscript only of not already open.
3941 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
3942 here instead of dos_ttraw. Don't initialize display if this is an
3943 initial tty. Don't set FRAME_FONT.
3944 (Vwindow_system_version): Bump to 23.
3945 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
3946 is available, set up mouse_position_hook.
3947 (dos_ttraw, IT_set_terminal_modes): If called with initial
3948 terminal, do nothing.
3949 (IT_set_frame_parameters): Handle the Qtty_type frame
3950 parameter by calling internal_terminal_init.
3951 (dos_set_window_size, show_mouse_face)
3952 (clear_mouse_face, IT_note_mode_line_highlight)
3953 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
3954 (dos_rawgetc): Use tty_display_info instead of x_display_info.
3955 (initialize_msdos_display): New function.
3956 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
3957 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
3958 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
3959 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 3960 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
3961 (request_sigio, unrequest_sigio): Don't define, now defined on
3962 sysdep.c.
3963 (IT_write_glyphs): Rewrite to use encode_terminal_code.
3964
3965 * term.c [MSDOS]: Include msdos.h.
3966 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
3967 conditional to DOS_NT. Allow only one call to this function in a
3968 session. Don't allocate a new struct tty_display_info; instead,
3969 reuse the_only_display_info. Call get_tty_size to get screen
3970 dimensions. Call init_baud_rate to set bad_rate.
3971 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
3972 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 3973 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
3974 (get_tty_terminal, get_named_tty, Ftty_type)
3975 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
3976 output_termcap.
b8ff72fa
SM
3977 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
3978 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 3979 only when subprocesses are supported.
aac0c6e3
MR
3980
3981 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
3982 f->output_data.x.
3983 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
3984 terminal devices.
3985
5582fbc7 3986 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
3987 x_output.
3988 (FRAME_FONT): Use output_data.tty.
3989 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
3990 (struct x_display_info): Rename from display_info. Update all users in
3991 msdos.c.
aac0c6e3 3992 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 3993 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
3994 (dos_ttraw): Update prototype.
3995
3996 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
3997 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
3998
39992008-08-23 Jason Rumney <jasonr@gnu.org>
4000
4001 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
4002 (fn_TIFFSetDirectory): New library function used.
4003 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
4004 (tiff_load): Use :index to select among multiple images. Set count
4005 property when multiple images exist.
4006 (gif_format): Use :index, not :image.
4007
40082008-08-23 Chong Yidong <cyd@stupidchicken.com>
4009
4010 * xdisp.c (try_scrolling): Check INT_MAX instead of
4011 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
4012 to obtain INT_MAX.
4013
40142008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
4015
4016 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
4017
40182008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
4019
4020 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
4021 GNUstep library location.
4022
40232008-08-21 Chong Yidong <cyd@stupidchicken.com>
4024
4025 * xfaces.c (x_update_menu_appearance): Check validity of menu font
4026 before using it.
4027
4028 * puresize.h (BASE_PURESIZE): Increase to 1250000.
4029
40302008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4031
4032 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
4033 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
4034 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
4035 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
4036 (EmacsApp-cursor_blink_handler): Remove declaration.
4037 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
4038 match 01 Feb 2008 changes in xterm.c.
4039 (ns_read_socket): Add cast to avoid warning.
4040 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
4041 GNUstep.
4042
40432008-08-20 Chong Yidong <cyd@stupidchicken.com>
4044
4045 * xselect.c (x_get_foreign_selection): Return nil if desired
4046 selection could not be obtained, instead of signalling an error.
4047
40482008-08-20 David Reitter <david.reitter@gmail.com>
4049
4050 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
4051 * nsterm.m: Remove ns-specific code for cursor blinking.
4052 (ns_draw_window_cursor): Clear cursor properly rather than
4053 redrawing the area. Respect width of bar cursors.
4054 These changes enable the use of generic blink-cursor-mode and
4055 generic cursor types in NS and support smooth cursor movements (do
4056 not blink off after command).
4057 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
4058 Nextstep, too.
4059
40602008-08-19 Kenichi Handa <handa@m17n.org>
4061
4062 * font.c (Vfont_log_deferred): New variable.
4063 (font_add_log): Check Vfont_log_deferred.
4064 (font_deferred_log): New function.
4065
4066 * font.h (font_deferred_log): Extern it.
4067
4068 * fontset.c (reorder_font_vector): Use encoding charset of fonts
4069 for sorting.
4070 (face_for_char): Use deferred log.
4071
40722008-08-18 Kenichi Handa <handa@m17n.org>
4073
4074 * fontset.c (face_for_char): Add font log.
4075
4076 * font.c (font_add_log): Add the font properties :script, :lang,
4077 and :otf in the log.
4078
40792008-08-17 Chong Yidong <cyd@stupidchicken.com>
4080
4081 * xdisp.c: Remove dead code.
4082 (handle_invisible_prop, next_overlay_string): Defer call to
4083 setup_for_ellipsis.
4084 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
4085
40862008-08-15 Chong Yidong <cyd@stupidchicken.com>
4087
4088 * xfaces.c (lookup_derived_face): Properly handle possible zero
4089 return value of get_lface_attributes.
4090 (merge_faces): Don't tell lookup_derived_face to signal an error
4091 if face is not found.
4092
4093 * dired.c (Fdirectory_files): Doc fix.
4094
4095 * process.c (make_process): Initialize kill_without_query struct
4096 member.
4097
40982008-08-15 Eli Zaretskii <eliz@gnu.org>
4099
4100 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
4101 Alternative calculation of totphys for Visual Studio 6.
4102
4103 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
4104
4105 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
4106 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
4107 All users changed.
4108 (stat): Only root directory passed to GetDriveType. Allow RAM
4109 disk as well as local fixed disk when w32-get-true-file-attributes
4110 is set to `local'.
4111 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
4112 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
4113 (w32_cached_id, w32_add_to_cache): New functions.
4114 (get_name_and_id): Look account names in the cache before calling
4115 lookup_account_sid.
4116 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
4117 New initialization flags.
4118 (globals_of_w32): Initialize them to zero.
4119 (w32_system_process_attributes): Use w32_cached_id and
4120 w32_add_to_cache.
4121
41222008-08-14 Lawrence Mitchell <wence@gmx.li>
4123
4124 * lread.c (Fread_char, Fread_char_exclusive): If no character
4125 event is read before timeout is reached, return nil, rather than
4126 converting to a number.
4127
41282008-08-14 Chong Yidong <cyd@stupidchicken.com>
4129
4130 * fns.c (use_dialog_box): Doc fix.
4131
4132 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
4133 on OS X.
4134
41352008-08-13 Chong Yidong <cyd@stupidchicken.com>
4136
4137 * frame.c (Qns_parse_geometry): New var.
4138 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
4139
41402008-08-11 Chong Yidong <cyd@stupidchicken.com>
4141
4142 * xdisp.c (x_produce_glyphs): Handle the case when font has no
4143 space character in calculating tabs.
4144
41452008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
4146
4147 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
4148
41492008-08-10 Glenn Morris <rgm@gnu.org>
4150
4151 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
4152 silence gcc "limited range of data type" warnings in some
4153 make_fixnum_or_float calls.
4154
41552008-08-09 Eli Zaretskii <eliz@gnu.org>
4156
4157 * w32.c (w32_system_process_attributes): If the process does not
4158 exist, return nil.
4159
4160 * w32.c: Include thelp32.h, psapi.h and coding.h.
4161 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
4162 declarations.
4163 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
4164 (Process32Next_Proc): New typedefs.
4165 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
4166 (g_b_init_process32_next, g_b_init_open_thread_token)
4167 (g_b_init_impersonate_self, g_b_init_revert_to_self)
4168 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
4169 (g_b_init_get_process_working_set_size)
4170 (g_b_init_global_memory_status_ex): New static variables.
4171 (globals_of_w32): Initialize them.
4172 (create_toolhelp32_snapshot, process32_first, process32_next)
4173 (open_thread_token, impersonate_self, revert_to_self)
4174 (get_process_memory_info, get_process_working_set_size)
4175 (global_memory_status, global_memory_status_ex): New wrapper
4176 functions.
4177 (w32_list_system_processes, w32_system_process_attributes)
4178 (enable_privilege, restore_privilege, ltime, process_times):
4179 New functions.
4180 (convert_time_raw): New function.
4181 (convert_time): Remove conversion of FILETIME into time in 100
4182 nsec units, call convert_time_raw instead.
4183
4184 * process.h (w32_list_system_processes, w32_system_process_attributes):
4185 Add prototypes.
4186 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
4187 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
4188 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
4189 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
4190
4191 * process.c (Fsystem_process_attributes): Doc fix.
4192
41932008-08-08 Chong Yidong <cyd@stupidchicken.com>
4194
4195 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
4196 a continued multi-char glyph; if so, advance to the actual glyph.
4197
41982008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
4199
4200 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
4201
4202 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
4203 (.m.o): Use it.
4204 * config.in: Regenerate.
4205
42062008-08-07 Chong Yidong <cyd@stupidchicken.com>
4207
4208 * xdisp.c (redisplay_window): Revert last change.
4209 (try_window): Check bottom scroll margin too.
4210
42112008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4212
4213 * config.in: Regenerate.
4214
4215 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
4216 -list-load-path-shadows'.
4217 (nsgui.h): Reduce number of things depending on it.
4218
42192008-08-06 Chong Yidong <cyd@stupidchicken.com>
4220
4221 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
4222 instead of window-end which does the wrong thing at eob.
4223 (try_cursor_movement): Minor optimization.
4224 (redisplay_window): If scroll margin is defined, don't assume
4225 window doesn't need scrolling.
4226
42272008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4228
4229 * config.in: Regenerate.
4230
4231 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
4232 (mostlyclean): Don't delete *.d under NS.
4233
4234 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
4235
42362008-08-06 Kenichi Handa <handa@m17n.org>
4237
4238 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
4239
42402008-08-06 Andreas Schwab <schwab@suse.de>
4241
4242 * config.in: Regenerate.
4243
42442008-08-05 Chong Yidong <cyd@stupidchicken.com>
4245
4246 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
4247 forcing a window start.
4248
4249 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
4250 (auto_save_1): Update modtime when auto-save-list-file-name is on.
4251
42522008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4253
4254 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
4255 argument.
4256
42572008-08-05 Juanma Barranquero <lekktu@gmail.com>
4258
4259 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
4260 <scroll-down-aggressively, before-change-functions>:
4261 <after-change-functions>: Reflow docstrings.
4262
42632008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4264 Ken Raeburn <raeburn@gnu.org>
4265
4266 Dock menu customization, based on a patch by Ken Raeburn, plus some
4267 other fixes.
4268 * nsmenu.m (dockMenu): New variable.
4269 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
4270
4271 * nsterm.h (dockMenu): Declare.
4272
4273 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
4274 (ns_term_init): Initialize dockMenu.
4275 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
4276 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
4277 left.
4278
4279 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
4280
42812008-08-04 Chong Yidong <cyd@stupidchicken.com>
4282
4283 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
4284
4285 * config.in: Regenerate.
4286
42872008-08-04 Seiji Zenitani <zenitani@mac.com>
4288
4289 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
4290
42912008-08-04 Chong Yidong <cyd@stupidchicken.com>
4292
4293 * nsterm.h (find_and_call_menu_selection): Fix prototype.
4294
42952008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4296
4297 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
4298
4299 * keyboard.h: Comment an #endif.
4300
4301 * lisp.h (have_menus_p): Adjust comment.
4302
4303 * menu.c (find_and_return_menu_selection): Fix comparison with
4304 client_data.
4305
4306 * nsmenu.m (popup_activated_flag): New variable.
4307 (popup_activated): New function.
4308 (menu-or-popup-active-p): New exported lisp definition.
4309 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
4310 when popup done.
4311 (ns_popup_dialog): Set popup_activated_flag.
4312
4313 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
4314 version for GNUstep (handled by conditional typedef in nsterm.m).
4315 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
4316 in rgb.txt).
4317
4318 * process.c (init_process): Use DARWIN_OS, not DARWIN.
4319
4320 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
4321
4322 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
4323
4324 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
4325 shortcircuit if popup_activated like GTK and X toolkit.
4326
4327 * m/inter386.h: Change DARWIN to DARWIN_OS.
4328
4329 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
4330 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
4331 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
4332 comment on NO_SOCK_SIGIO.
4333
43342008-08-03 Chong Yidong <cyd@stupidchicken.com>
4335
4336 * nsterm.m (windowDidResize): Remove stopModal call.
4337
43382008-08-03 Andreas Schwab <schwab@suse.de>
4339
4340 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
4341 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
4342
43432008-08-02 Chong Yidong <cyd@stupidchicken.com>
4344
4345 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
4346 Don't use uninitialized pointer variable when using getrlimit.
4347
43482008-08-02 Jason Rumney <jasonr@gnu.org>
4349
4350 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4351
43522008-08-02 Eli Zaretskii <eliz@gnu.org>
4353
4354 * alloc.c (NSTATICS): Bump to 0x640.
4355
4356 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
4357
4358 * lisp.h: Add prototype for directory_files_internal.
4359
4360 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
4361 New functions.
4362 (syms_of_process): Defsubr them. Add initializations for various
4363 Q* symbols used in procfs_system_process_attributes.
4364 (procfs_list_system_processes, procfs_system_process_attributes)
4365 [HAVE_PROCFS]: New functions.
4366 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
4367 (procfs_get_total_memory): New functions.
4368
43692008-08-01 Juanma Barranquero <lekktu@gmail.com>
4370
4371 * xfaces.c (Fx_load_color_file): Fix previous change;
4372 it is #ifdef WINDOWSNT, not WINDOWS_NT.
4373
43742008-08-01 Michael Albinus <michael.albinus@gmx.de>
4375
4376 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
4377
43782008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4379
4380 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
4381
43822008-08-01 Chong Yidong <cyd@stupidchicken.com>
4383
4384 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
4385
4386 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
4387 define NSApplicationDelegateReplySuccess.
4388 (EmacsView -converstationIdentifier): Use long instead of
4389 NSInteger for GNUstep, since it doesn't have NSInteger.
4390
4391 * xmenu.c: Revert last change.
4392
4393 * keyboard.h: Fix last change.
4394
43952008-08-01 Juanma Barranquero <lekktu@gmail.com>
4396
4397 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
4398 on Windows.
4399
44002008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4401
4402 Warning clearing and clean-up in NS port.
4403 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
4404 Add prototypes.
4405 * nsgui.h (FACE_DEFAULT): Remove, unused.
4406 (XGCValues): Change colors to unsigned long.
4407 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
4408 nsterm.m.
4409 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
4410 (ns_list_fonts): Remove, unused.
4411 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
4412 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
4413 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
4414 (nsfont_draw): Compare face colors to 0, not nil.
4415 * nsmenu.m (struct widget_value): Drop unneeded declaration.
4416 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
4417 (-addSubmenuWithTitle:): Use NSMenuItem class.
4418 (ns_popup_menu): Use NO, not NULL, for enabled setting.
4419 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
4420 (ns_clip_to_row): Make gc arg a BOOL.
4421 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
4422 ns_clip_to_row() call.
4423 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
4424 used). Cast FRAME_FONT assignments.
4425 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
4426 (ns_string_to_lispmod): Change arg to const char.
4427 (ns_term_init): Use NSMenuItem class.
4428 (EmacsApp -openFile:): Move to different section of file.
4429 (EmacsApp -application:openFiles:): Don't return a value, call
4430 -replyToOpenOrPrint:.
4431 (EmacsView -keyDown:): Fix up cast.
4432 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
4433 (EmacsView -menuDown:): Cast tag in call to
4434 find_and_call_menu_selection().
4435 (ns_list_fonts): Remove, unused.
4436 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
4437 (ns_fontname_to_xlfd): Make static.
4438 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
4439 Remove prototypes (now in keyboard.h).
4440 (next_menubar_widget_id): Remove, unused.
4441 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
4442 Remove prototypes (now in keyboard.h).
4443 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
4444
44452008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
4446
4447 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
4448 (floatfns.o): Depend on syssignal.h.
4449 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
4450
4451 * systty.h: Fix previous change that removed BSD_TERMIOS.
4452 Add comments to #ifdefs.
4453
44542008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4455
4456 * w32fns.c (w32-load-color-file): Remove.
4457 (x-open-connection): Use renamed Fx_load_color_file.
4458 * xfaces.c (x-load-color-file): Add.
4459 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
4460 Emacs.clr.
4461 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
4462
44632008-07-31 Michael Albinus <michael.albinus@gmx.de>
4464
4465 * dbusbind.c (Fdbus_call_method_asynchronously)
4466 (Fdbus_method_error_internal): New defuns.
4467 (xd_read_message): Handle also reply messages.
4468 (Vdbus_registered_functions_table): Extend docstring.
4469
44702008-07-31 Juanma Barranquero <lekktu@gmail.com>
4471
4472 * keyboard.c (gobble_input): Fix previous change.
4473
44742008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4475
4476 * bitmaps/README:
4477 * xfns.c:
4478 * termcap.c:
4479 * term.c:
4480 * syswait.h:
4481 * systty.h:
4482 * systime.h:
4483 * syssignal.h:
4484 * sysdep.c:
4485 * process.h:
4486 * process.c:
4487 * print.c:
4488 * ndir.h:
4489 * lread.c:
4490 * keyboard.c:
4491 * getpagesize.h:
4492 * floatfns.c:
4493 * fileio.c:
4494 * emacs.c:
4495 * doc.c:
4496 * dispnew.c:
4497 * dired.c:
4498 * data.c:
4499 * callproc.c:
4500 * buffer.c:
4501 * README:
4502 * Makefile.in:
4503 * s/template.h:
4504 * s/msdos.h:
4505 * m/vax.h: Remove VMS support.
4506 * s/vms.h:
4507 * vlimit.h:
4508 * uaf.h:
4509 * temacs.opt:
4510 * param.h:
4511 * ioctl.h: Remove file.
4512
45132008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4514
4515 * s/ms-w32.h (MULTI_KBOARD): Remove.
4516 * xterm.c:
4517 * xselect.c:
4518 * xfns.c:
4519 * window.c:
4520 * w32term.c:
4521 * w32fns.c:
4522 * terminal.c:
4523 * termhooks.h:
4524 * term.c:
4525 * sysdep.c:
4526 * keyboard.h:
4527 * keyboard.c:
4528 * frame.h:
4529 * frame.c:
4530 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
4531 * config.in: Regenerate.
4532
45332008-07-30 Jason Rumney <jasonr@gnu.org>
4534
4535 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
4536
4537 * w32font.c (w32font_encode_char): Leave as unicode if in range.
4538 (w32font_open_internal): Get unicode version of textmetrics.
4539 Don't enable or disable glyph indices here.
4540 (w32font_open): Disable use of glyph indices.
4541
4542 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
4543
45442008-07-30 Chong Yidong <cyd@stupidchicken.com>
4545
4546 * minibuf.c (Vread_buffer_function): Doc fix.
4547
45482008-07-30 John Paul Wallington <jpw@pobox.com>
4549
4550 * minibuf.c (read_buffer_completion_ignore_case): New var.
4551 (Fread_buffer): Use it.
4552
45532008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
4554
4555 * systty.h (sensemode): Remove empty #if. Remove reference to
4556 BSD_TERMIOS, unused.
4557
4558 * sysdep.c: Remove reference to DGUX.
4559 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
4560
4561 * config.in: Regenerate.
4562
45632008-07-30 Jason Rumney <jasonr@gnu.org>
4564
4565 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
4566
45672008-07-29 Jason Rumney <jasonr@gnu.org>
4568
4569 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
4570 is populated.
4571 (uniscribe_encode_char): Always use uniscribe.
4572 Avoid using context if cache is populated.
4573
45742008-07-29 Jan Djärv <jan.h.d@swipnet.se>
4575
4576 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
4577 open menu.
4578
4579 * gtkutil.c (menu_nav_ended): Remove.
4580 (create_menus): Remove signal connect for menu_nav_ended.
4581
45822008-07-28 Chong Yidong <cyd@stupidchicken.com>
4583
4584 * xdisp.c (redisplay_window): Check return value of
4585 compute_window_start_on_continuation_line before forcing a window
4586 start.
4587
45882008-07-28 Jason Rumney <jasonr@gnu.org>
4589
4590 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
4591
4592 * w32term.c (w32_enable_unicode_output, cleartype_active):
4593 Remove obsolete display options.
4594 (x_draw_glyph_string_background): Don't use old cleartype_active
4595 workaround.
4596 (w32_initialize): Remove cleartype_active initialization.
4597 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
4598
45992008-07-28 Andreas Schwab <schwab@suse.de>
4600
4601 * lisp.h (init_weak_hash_tables, syms_of_font)
4602 (xd_read_queued_messages, syms_of_dbusbind): Declare.
4603 (remove_hash_entry): Don't declare.
4604 * eval.c (maybe_call_debugger): Make static and move before use.
4605 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
4606 * xdisp.c: Include "gtkutil.h" if USE_GTK.
4607 * xterm.h (x_set_frame_alpha): Declare.
4608
46092008-07-28 Jan Djärv <jan.h.d@swipnet.se>
4610
4611 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
4612 (create_menus): Connect selection-done to menu_nav_ended.
4613
46142008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4615
4616 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
4617 Set Vx_resource_name to a fallback. Replace read of 'buffered'
4618 parameter with read of 'alpha' one.
4619 (Qns_frame_parameter): Remove.
5582fbc7 4620 * nsselect.m (selection-coding-system)
aac0c6e3
MR
4621 (next-selection-coding-system, Vselection_coding_system)
4622 (Vnext_selection_coding_system): Drop.
4623
46242008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4625
4626 * nsfns.m (do-applescript, do_applescript): Rename to
4627 ns-do-applescript, ns_do_applescript, and move within file.
4628
46292008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
4630
4631 Remove support for Mac Carbon.
4632 * mactoolbox.c:
4633 * macterm.h:
4634 * macterm.c:
4635 * macselect.c:
4636 * macmenu.c:
4637 * macgui.h:
4638 * macfns.c:
4639 * mac.c: Remove file.
4640 * s/darwin.h:
4641 * m/intel386.h:
4642 * xfaces.c:
4643 * xdisp.c:
4644 * window.c:
4645 * tparam.c:
4646 * termhooks.h:
4647 * termcap.c:
4648 * term.c:
4649 * syssignal.h:
4650 * sysselect.h:
4651 * sysdep.c:
4652 * process.c:
4653 * lread.c:
4654 * lisp.h:
4655 * keyboard.c:
4656 * image.c:
4657 * fringe.c:
4658 * frame.h:
4659 * frame.c:
4660 * fontset.c:
4661 * font.h:
4662 * font.c:
4663 * fns.c:
4664 * fileio.c:
4665 * emacs.c:
4666 * dispnew.c:
4667 * dispextern.h:
4668 * config.in:
4669 * atimer.c:
2ae37cf0 4670 * Makefile.in: Remove code for Carbon.
aac0c6e3 4671
f0131492 46722008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
4673
4674 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
4675
46762008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4677
4678 * macterm.h (kCGBitmapByteOrder32Host): New define for
4679 non-universal SDKs.
4680
4681 * image.c (mac_create_cg_image_from_image, image_load_image_io)
4682 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4683
4684 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
4685 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4686
46872008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
4688
4689 * w32inevt.c: Include dispextern.h.
4690
46912008-07-26 Andreas Schwab <schwab@suse.de>
4692
4693 * print.c (print_object): Fix off-by-one in last change.
4694
46952008-07-25 Juanma Barranquero <lekktu@gmail.com>
4696
4697 * term.c (syms_of_term): Don't initialize default_orig_pair,
4698 default_set_foreground and default_set_background on Windows.
4699
47002008-07-25 Jason Rumney <jasonr@gnu.org>
4701
4702 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
4703 ScriptItemize. Clean up return value checking. Remove unused
4704 variables.
4705 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
4706 shaping engine.
4707
4708 * w32font.c (w32font_has_char): Handle the case where we can't
4709 determine the script for a character.
4710
47112008-07-25 Chong Yidong <cyd@stupidchicken.com>
4712
4713 * term.c (syms_of_term): Initialize default_orig_pair,
4714 default_set_foreground, and default_set_background.
4715
4716 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4717 clash (bug#86).
4718 (getloadavg): Callers changed.
4719
4720 * image.c (svg_load_image): Fix last change.
4721 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4722 image size is valid. Use g_object_unref instead of deprecated
4723 rsvg_handle_free to free rsvg handle.
4724 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4725
47262008-07-25 Jason Rumney <jasonr@gnu.org>
4727
4728 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4729 surrogates before looking up glyph index.
4730 (w32font_text_extents): Encode as surrogates if falling back to
4731 functions that need UTF-16 wide chars.
4732
4733 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4734 BMP as surrogates before looking up glyph index.
4735
47362008-07-25 Chong Yidong <cyd@stupidchicken.com>
4737
4738 * image.c (svg_load_image): Check for failure in return value of
4739 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4740
47412008-07-25 Jason Rumney <jasonr@gnu.org>
4742
4743 * w32font.c (Fx_select_font): Reverse sense of second arg.
4744
47452008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4746
4747 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4748 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4749
4750 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4751 (PURESIZE): Use it.
4752
47532008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4754
4755 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4756 * m/alpha.h (TEXT_END):
4757 * m/ibmrs6000.h (TEXT_END):
4758 * m/macppc.h (TEXT_END):
4759 * s/darwin.h (TEXT_END):
4760 * s/msdos.h (TEXT_END): Remove, unused.
4761 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4762 * s/cygwin.h: Remove comment.
4763
4764 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4765 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4766 * m/intel386.h (DOT_GLOBAL_START):
4767 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4768 (USG): Remove, file not used on USG platforms.
4769
4770 * Makefile.in (HAVE_X11): Remove empty #else.
4771
47722008-07-24 Andreas Schwab <schwab@suse.de>
4773
4774 * fileio.c (Finsert_file_contents): Properly adjust undo list
4775 after format conversion.
4776
47772008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4778
4779 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4780 (menu_nav_ended): Remove.
4781 (create_menus): Remove signal connect for menu_nav_ended.
4782 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4783 create_menus.
4784 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4785
47862008-07-23 Jason Rumney <jasonr@gnu.org>
4787
4788 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4789 with opened font.
4790 (w32font_open): Set font type to gdi.
4791
4792 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4793
47942008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4795
4796 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4797 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4798 defines it.
4799 * unexec.c (ADDR_CORRECT): Define unconditionally.
4800
4801 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4802
4803 * unexec.c: Remove code depending on !COFF and USG, the file is
4804 not used for such systems.
4805
4806 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4807 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4808 (LD_SWITCH_SYSTEM_1): Remove, update users.
4809
4810 * s/darwin.h (DATA_END):
4811 * m/intel386.h (DATA_END):
4812 * m/ibmrs6000.h (DATA_END):
4813 * m/alpha.h (DATA_END): Remove, unused.
4814
4815 * config.in: Regenerate.
4816 * s/ms-w32.h (subprocesses): Define unconditionally.
4817 * s/template.h (subprocesses): Update comment.
4818 * s/vms.h (subprocesses):
4819 * s/usg5-4.h (subprocesses):
4820 * s/hpux10-20.h (subprocesses):
4821 * s/gnu-linux.h (subprocesses):
4822 * s/cygwin.h (subprocesses):
4823 * s/bsd-common.h (subprocesses):
4824 * s/aix4-2.h (subprocesses):
4825 * s/darwin.h (subprocesses): Do not define, defined by default now.
4826
4827 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
4828 Remove all references.
4829 (temacs): Add GNUstep specific ld flags.
4830
4831 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
4832 similarly to what X does.
4833
48342008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4835
4836 * nsfns.m (x-list-fonts): Remove.
4837 (syms_of_nsfns): Drop the x-list-fonts declaration.
4838 * nsterm.m: Get rid of remaining "//" comments.
4839
48402008-07-22 Chong Yidong <cyd@stupidchicken.com>
4841
4842 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4843
4844 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
4845 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
4846 (Fns_own_selection_internal, Fx_disown_selection_internal)
4847 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
4848
4849 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
4850 ... */' style of docstrings. Doc fixes.
4851
48522008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4853
4854 * terminfo.c (UP, BC, PC): Undo previous change.
4855
4856 * nsfns.m: Rename ns prefixed functions/variables to the
4857 corresponding x versions. Update references.
4858
48592008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
4860
4861 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
4862
48632008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4864
4865 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
4866 Remove forwarding functions.
4867 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
4868 non-static.
4869 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
4870 non-static.
4871 (ns_frame_parm_handlers): Use the new names.
4872 (syms_of_nsfns): Move to the end of file.
4873
4874 * nsterm.m (syms_of_nsterm): Move to the end of file.
4875
4876 * dispnew.c (init_display): Remove code for X10.
4877
48782008-07-22 Jason Rumney <jasonr@gnu.org>
4879
4880 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
4881 bare drive.
4882
48832008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4884
4885 * nsterm.m (syms_of_nsterm): Remove debugging println.
4886
48872008-07-22 David Reitter <david.reitter@gmail.com>
4888
4889 * nsfns.m (do_applescript, F_do_applescript): NS version of the
4890 Carbon implementation of the same functionality: execute arbitrary
4891 AppleScript code.
4892
48932008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
4894
4895 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
4896 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
4897 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
4898 (Fx_display_mm_height, Fx_display_mm_width)
4899 (Fx_display_backing_store, Fx_display_visual_class)
4900 (Fx_display_save_under, Fx_open_connection)
4901 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
4902 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
4903 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4904 (Fx_display_pixel_width, Fx_display_pixel_height)
4905 (Fx_display_usable_bounds, Fx_display_planes)
4906 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
4907 ... */' style of docstrings.
4908
49092008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
4910
4911 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
4912 on this platform.
4913 (mips):
4914 * m/iris4d.h (mips): Do not define.
4915 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
4916
4917 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
4918
4919 * image.c:
4920 * nsfns.m:
4921 * nsselect.m:
4922 * nsterm.h:
4923 * nsterm.m: Rename ns prefixed functions/variables to the
4924 corresponding x versions. Update references.
4925
4926 * m/ibms390x.h (NO_REMAP): Do not undefine.
4927
4928 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
4929
49302008-07-21 Chong Yidong <cyd@stupidchicken.com>
4931
4932 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
4933 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
4934 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
4935 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
4936 (Fns_display_mm_height, Fns_display_mm_width)
4937 (Fns_display_backing_store, Fns_display_visual_class)
4938 (Fns_display_save_under, Fns_open_connection)
4939 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
4940 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
4941 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4942 (Fns_display_pixel_width, Fns_display_pixel_height)
4943 (Fns_display_usable_bounds, Fx_display_planes)
4944 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
4945
49462008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
4947
4948 * print.c (print_object): Check print_depth before searching for
4949 circularities.
4950
49512008-07-21 Michael Albinus <michael.albinus@gmx.de>
4952
4953 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
4954 only sprintf.
4955
49562008-07-21 Kenichi Handa <handa@m17n.org>
4957
4958 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
4959
49602008-07-20 Andreas Schwab <schwab@suse.de>
4961
4962 * syntax.c (find_start_pos, find_start_value)
4963 (find_start_value_byte, find_start_begv, find_defun_start)
4964 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
4965
49662008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4967
4968 * s/sol2-3.h: Insert contents of s/sol2.h.
4969 (LD_SWITCH_SYSTEM): Remove redundant definition.
4970 * s/sol2.h: Remove, unused.
4971
49722008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4973
4974 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
4975
49762008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4977
4978 * Makefile.in (ns_appdir): Fix typo in find command.
4979
49802008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4981
4982 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
4983
4984 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
4985 added not supported anymore.
4986
4987 * s/usg5-4-2.h (LIBS_SYSTEM):
4988 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
4989
4990 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4991 * s/lynxos.h (GETPGRP_NO_ARG):
4992 * s/hpux10-20.h (NO_SIOCTL_H):
4993 * s/gnu.h (GETPGRP_NO_ARG):
4994 * s/gnu-linux.h (NO_SIOCTL_H):
4995 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4996 * s/cygwin.h (GETPGRP_NO_ARG):
4997 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
4998 (C_DEBUG_SWITCH): Remove duplicate definition.
4999
5000 * m/ibms390.h: Remove boilerplate comments.
5001
5002 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
5003
5004 * process.c (HAVE_SERIAL): Consolidate ifdefs.
5005 (wait_reading_process_output): Remove code for SunOS, platform not
5006 supported anymore. Use SOLARIS2 instead of sun.
5007
50082008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5009
5010 * font.c (font_open_by_name): Under NS, default lface height to zero.
5011 (font_open_for_lface): Under NS, set size based on frame fontsize.
5012 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
5013 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
5014
50152008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5016
5017 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
5018 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
5019 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
5020 YES/NO.
5021 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
5022 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
5023 * Makefile.in (clean): Clear out build destination dir.
5024
50252008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5026
5027 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
5028 xterm, xselect.
5029 * lisp.h: Remove declaration of hash_remove.
5030 * nsgui.h: Remove redefinitions of hash_remove.
5031 * fns.c (hash_remove): Rename to hash_remove_from_table.
5032
50332008-07-19 Seiji Zenitani <zenitani@mac.com>
5034
5035 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
5036 strdup() the family UTF8String before modifying it.
5037
50382008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5039
5040 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
5041 NS_FACE_BACKGROUND with 0 instead of nil.
5042 * nsfont.m (nsfont_draw): Same.
5043
50442008-07-19 Chong Yidong <cyd@stupidchicken.com>
5045
5046 * nsfns.m (ns_set_background_color): Fix crash.
5047
50482008-07-18 Chong Yidong <cyd@stupidchicken.com>
5049
5050 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
5051
50522008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
5053
5054 * puresize.h (BASE_PURESIZE): Increase to 1240000.
5055
50562008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5057
5058 * gtkutil.c: Include <config.h> instead of "config.h".
5059
5060 * lisp.h (Foverlay_buffer): Add EXFUN.
5061
5062 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
5063 child process to complete child_setup. Undo 2005-09-21 change.
5064
5065 * s/darwin.h: Mention setsid after vfork.
5066
50672008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5068
5069 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
5070 Depend on macgui.h.
5071
5072 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
5073 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
5074
5075 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
5076 and f19.
5077 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
5078
5079 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
5080 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
5081 Remove enumerators.
5082
5083 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
5084 Check if FACE_FROM_ID returns NULL.
5085
50862008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
5087
5088 * w32inevt.c (change_frame_size): Remove extern declaration.
5089 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
5090 change_frame_size.
5091
50922008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5093
5094 * getloadavg.c: Revert last change (2008-07-15).
5095
50962008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5097
5098 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
5099 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
5100 from configure.
5101
51022008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
5103
5104 * s/sol2.h:
5105 * s/sol2-4.h: Reorganize conditionals.
5106
5107 * ecrt0.c: Remove code depending on m68000, not used anymore.
5108
5109 * fns.c (hash_remove): Make static.
5110 * lisp.h (hash_remove): Don't prototype.
5111
5112 * m/ibmrs6000.h:
5113 * m/ibms390x.h:
5114 * m/macppc.h: Remove boilerplate comments.
5115
5116 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
5117 Solaris, which does not need them.
5118
5119 * m/vax.h: Remove comments about unsupported systems.
5120
5121 * s/darwin.h: Reorganize ifdefs.
5122
51232008-07-17 Andreas Schwab <schwab@suse.de>
5124
5125 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
5126
51272008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
5128
5129 Use SDATA. Follow coding convention of placing operators at
5130 beginning of next line rather than end of previous line, and placing
5131 spaces around infix operators.
5132
5133 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
5134 in case it was defined already.
5135 USE @GNUSTEP_MAKEFILES@ rather than envvars.
5136 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
5137 ns_default.
5138 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
5139 Lisp_Objects.
5140 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
5141 (ns_defined_color, ns_color_to_lisp): Declare.
5142 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
5143 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
5144 it's accepted even with USE_LISP_UNION_TYPE.
5145 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
5146 (update_frame_tool_bar): Remove apparently obsolete tests for
5147 non-integerness of f->tool_bar_lines.
5148 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
5149 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
5150 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
5151 (nsfont_open): Don't confuse NULL for Qnil.
5152 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
5153 * menu.h (find_and_call_menu_selection):
5154 * menu.c (find_and_call_menu_selection): Use just int for vector size.
5155 (find_and_return_menu_selection): Always return something.
5156 * frame.h: Include dispextern.h for Display_Info.
5157 (display_x_get_resource): Declare.
5158
51592008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
5160
5161 * syntax.c: Remove stdio.h include accidentally introduced in
5162 Emacs.app commit.
5163 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
5164 NS_IMPL_COCOA.
5165 * keyboard.c (handle_async_input, input_available_signal): Remove
5166 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
5167
51682008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5169
5170 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
5171 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
5172 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
5173 Use SDATA.
5174
5175 * keymap.c: Remove all NS-specific code.
5176 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
5177 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
5178 where_is_preferred_modifier, return a different value depending on how
5179 preferred is the binding.
5180 (where_is_internal): Adjust accordingly.
5181 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
5182 Adjust to new preferred_sequence_p.
5183 (syms_of_keymap): Declare `where-is-preferred-modifier'.
5184 * keyboard.c (parse_solitary_modifier): Not static any more.
5185 * keyboard.h (parse_solitary_modifier): Declare.
5186
51872008-07-16 Andreas Schwab <schwab@suse.de>
5188
5189 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
5190 of easymenu.
5191
51922008-07-16 Chong Yidong <cyd@stupidchicken.com>
5193
5194 * xdisp.c (move_it_in_display_line): Account for word wrap, so
5195 that we don't move off the line.
5196
51972008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5198
5199 * keyboard.c (Qsuper): Remove.
5200 (parse_menu_item): Don't call where_is_internal specially for NS.
5201
52022008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5203
5204 * s/gnu-linux.h: Remove boilerplate comments.
5205
5206 * m/alpha.h (__ELF__): Consolidate conditions.
5207
5208 * m/m68k.h (linux): Use GNU_LINUX instead.
5209 Remove boilerplate comments.
5210
5211 * m/intel386.h: Undo refactoring from previous change.
5212 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
5213 too, remove dead code.
5214 (linux): Use GNU_LINUX instead.
5215
52162008-07-16 Jason Rumney <jasonr@gnu.org>
5217
5218 * w32gui.h: Repeat 26 June changes lost by last change.
5219
52202008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5221
5222 * systty.h: Remove code for Aix on 386, unsupported platform.
5223
5224 * s/ms-w32.h: Remove boilerplate comments.
5225 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
5226
5227 * s/gnu-linux.h (TERM): Remove support.
5228 (HAVE_SYSVIPC): Remove, unused.
5229 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
5230 for this system.
5231
5232 * process.c: Remove support for IRIS, unused.
5233 Remove support for TERM, not relevant anymore.
5234
5235 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
5236 used with the definition.
5237
5238 * s/aix4-2.h (static): Do not undef.
5239
5240 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
5241 only used on Aix.
5242 (HAVE_SYSVIPC): Remove, unused.
5243
5244 * m/hp800.h (CANNOT_DUMP): Do not undef.
5245
5246 * m/alpha.h: Fix comment.
5247
5248 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
5249 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
5250 used by this configuration.
5251 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
5252 * unexec.c: Remove code depending on HPUX and
5253 USG_SHARED_LIBRARIES, not used with this file. Remove code
5254 depending on IRIS, unused. Remove if 0-ed code.
5255
5256 * s/template.h: Remove comments about static.
5257
5258 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
5259 Remove if 0-ed code.
5260 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
5261 were the same as the default.
5262 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
5263 Remove boilerplate comments.
5264 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
5265 (HAVE_SYSVIPC): Remove, unused.
5266 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
5267
5268 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5269 Remove boilerplate comments.
5270 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5271 Remove boilerplate comments.
5272 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5273 Remove boilerplate comments.
5274 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
5275
5276 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
5277 USG systems which do not use DATA_SEG_BITS.
5278 Refactor code. Remove boilerplate comments.
5279
5280 * m/ibms390.h:
5281 * m/m68k.h:
5282 * s/bsd-common.h:
5283 * s/cygwin.h:
5284 * s/darwin.h:
5285 * s/freebsd.h:
5286 * s/gnu.h:
5287 * s/msdos.h: Remove boilerplate comments.
5288
5289 * m/iris4d.h: Remove boilerplate comments and code for systems that
5290 do not use this file.
5291 (IRIS_4D): Remove, unused.
5292
5293 * m/mips.h: Remove boilerplate comments and code for systems that
5294 do not use this file.
5295 (SIGN_EXTEND_CHAR):
5296 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
5297 * unexmips.c: Remove file, unused.
5298
5299 * editfns.c (Fuser_full_name): Replace the only use of
5300 USER_FULL_NAME with its value.
5301 * config.in: Regenerate.
5302
53032008-07-16 David Reitter <david.reitter@gmail.com>
5304
5305 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
5306 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
5307
53082008-07-16 Glenn Morris <rgm@gnu.org>
5309
5310 * emacs.c (system-type): Doc fix.
5311
53122008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
5313
5314 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
5315 If the cache doesn't work, let's fix it, rather than work around it.
5316
53172008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5318
5319 * Makefile.in: Correct additions for nsfont.o in last commit.
5320 * nsfont.m: New file (forgot last commit).
5321
53222008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5323
5324 * callproc.c (set_initial_environment): Initialize
5325 Vprocess_environment under CANNOT_DUMP (fixes crash when
5326 batch-compiling for bootstrap).
5327
53282008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5329 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5330
5331 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
5332 fix crash due to different init order.
5333
53342008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5335
5336 Changes and additions for NeXTstep windowing system (Cocoa and
5337 GNUstep) support.
5338
5339 * Makefile.in:
5340 * config.in: Support defines and build commands for NS port.
5341 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
5342 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
5343 * dispextern.h: Include nsgui.h and add needed typedefs under NS
5344 windowing.
5345 (struct face): Add synth_ital field.
5346 * dispnew.c: Include nsterm.h when compiling under NS windowing.
5347 (init_display): Initialize Vinitial_window_system to "ns" when so
5348 compiled.
5349 * emacs.c: Include GSConfig.h when compiling under GNUstep.
5350 (display_arg): Use under NS.
5351 (main): Under NS, allocate autorelease pool and handle command line
5352 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
5353 (standard_args): Add NS-specific args.
5354 (shut_down_emacs): Shut down NS terminal if compiled under NS.
5355 * font.c (DEFAULT_ENCODING): New variable.
5356 (font_find_for_lface): Use it.
5357 (syms_of_font): Load syms_of_nsfont under NS.
5358 * font.h: Declare nsfont_driver when compiled under NS.
5359 * fontset.c: When compiling under NS, include nsterm.h.
5360 (fontset_from_font): Autoconstruct fontset under NS.
5361 * frame.c (various): Under NS, include nsterm.h, add Qns window system
5362 symbol, document and use it.
5363 (do_switch_frame): When for_deletion under Cocoa, add
5364 Fraise_frame(Qnil).
5365 (x_set_frame_parameters): Ensure font attribute changes are picked up.
5366 (x_get_arg): Allow "yes" and "no" as boolean values.
5367 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
5368 Qright under Cocoa.
5369 (focus-follows-mouse): Default to 0 under NS.
5370 * frame.h (enum output_method): Add output_ns.
5371 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
5372 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
5373 (FRAME_WINDOW_P): NS-specific definition.
5374 * fringe.c (max_used_fringe_bitmap): Make public.
5375 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
5376 (getloadavg): Use NeXT code under descendant OS's.
5377 * image.c (includes and header section, x_create_bitmap_from_data)
5378 (x_create_bitmap_from_file, free_bitmap_record, image_background)
5379 (image_background_transparent, x_clear_image_1)
5380 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5381 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
5382 (x_to_xcolors, x_from_xcolors, x_disable_image)
5383 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
5384 other GUIs, including XPM support using code originally written for
5385 Carbon GUI.
5386 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
5387 using NS API.
5388 (image_ascent): Use font metrics macros instead of direct struct field
5389 access.
5390 * keyboard.c (includes): Add nsterm.h when compiling under NS.
5391 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
5392 Also, handle NS as GTK for menu bar purposes.
5393 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
5394 toolkit where they differ.
5395 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
5396 use cachelist, still needed under NS.
5397 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
5398 (struct widget_value): Define it here for menu.c.
5399 * keymap.c (includes): Include modifier internals.
5400 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
5401 NS.
5402 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
5403 support for preferring sequences using certain modifiers, specified by
5404 the FIRSTONLY argument.
5405 * lisp.h (hash_remove): Rename to avoid name clash when compiling
5406 under NS GNUstep implementation.
5407 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
5408 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
5409 * menu.c: Include nsterm.h under NS.
5410 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
5411 (free_menubar_widget_tree_value, update_submenu_strings)
5412 (find_and_call_menu_selection): Treat NS as X and NT.
5413 (find_and_return_menu_selection): New function, used for popup menus.
5414 * nsgui.h:
5415 * nsterm.h:
5416 * nsfns.m:
5417 * nsimage.m:
5418 * nsmenu.m:
5419 * nsselect.m:
5420 * nsterm.m: New files.
5421 * process.c (wait_reading_process_output): Under NS, call ns_select()
5422 instead of plain select().
5423 * syntax.c (char_quoted): Under NS, avoid a crash when called near
5424 beginning of buffer.
5425 * sysselect.h (init_process): Rename when compiling under Cocoa to
5426 avoid name conflict.
5427 * termhooks.h (display_info): Add ns_display_info to union.
5428 * terminal.c (Fterminal_live_p): Add ns to terminal types.
5429 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
5430 COCOA environment.
5431 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
5432 unexec() signature. (Note, this will dump, but the resulting file
5433 crashes; unexosx is used instead; keeping around for reference and
5434 possible aid in getting dump working under GNUstep.)
5435 * w32gui.h (button_type, widget_value): Remove definitions (now in
5436 keyboard.h).
5437 * window.c: Include nsterm.h when compiling under NS.
5438 * xdisp.c (includes): Include nsterm.h when compiling under NS.
5439 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
5440 other GUI windowing systems.
5441 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
5442 GTK.
5443 (x_consider_frame_title): Under NS, set icon type and frame
5444 modified-state indicator; use ns_set_name_as_filename() when using
5445 formatted title.
5446 (update_window_cursor): Make public when compiling under NS.
5447 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
5448 (hourglass_atimer, Vhourglass_delay
5449 * xfaces.c (header section, init_frame_faces, clear_font_table)
5450 (defined_color, unload_color, x_face_list_fonts)
5451 (prepare_face_for_display): Add NS support parallel to other GUIs.
5452 Emulate GCs like other non-X GUIs.
5453 (split_font_name): Don't lowercase font name under NS.
5454 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
5455 under NS.
5456 * s/darwin.h: Add support for compilation under NS.
5457
54582008-07-15 Jason Rumney <jasonr@gnu.org>
5459
5460 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
5461 (w32_show_hourglass): Rename from show_hourglass.
5462 (w32_hide_hourglass): Rename from hide_hourglass.
5463 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
5464 (Vhourglass_delay): Declare extern.
5465 (hourglass_started): Remove.
5466
5467 * xdisp.c (Vhourglass_delay): Remove static.
5468 (hourglass_started, start_hourglass, cancel_hourglass):
5469 Don't include these versions on WINDOWSNT.
5470
54712008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5472
5473 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
5474 variables (formerly in xfns.c).
5475 (show_hourglass, hide_hourglass): New prototypes (same).
5476 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
5477 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
5478 in xfns.c).
5479 (syms_of_xdisp): Declare/initialize display-hourglass,
5480 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
5481 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
5482 formerly in xfns.c.
5483 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5484 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5485 (start_hourglass, cancel_hourglass): Remove.
5486 (show_hourglass, hide_hourglass): Remove prototypes and static
5487 modifiers.
5488 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
5489 hourglass_atimer, hourglass_shown_p declaration/initialization.
5490 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5491 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5492 (start_hourglass, cancel_hourglass): Remove.
5493 (show_hourglass, hide_hourglass): Remove prototypes and static
5494 modifiers.
5495 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
5496 hourglass_atimer, hourglass_shown_p declaration/initialization.
5497 * w32fns.c (display_hourglass_p, Vhourglass_delay)
5498 (DEFAULT_HOURGLASS_DELAY): Remove.
5499 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
5500 hourglass_shown_p declaration/initialization.
5501
55022008-07-14 Jason Rumney <jasonr@gnu.org>
5503
5504 * w32fns.c (w32_get_arg): Remove wrapper function.
5505 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
5506 directly.
5507 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
5508
55092008-07-14 Kenichi Handa <handa@m17n.org>
5510
5511 * xfont.c (xfont_open): Add workaround for X's bug.
5512
55132008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5514
5515 * fontset.c: Include <stdio.h> unconditionally.
5516
55172008-07-13 Michael Albinus <michael.albinus@gmx.de>
5518
5519 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
5520 for filtering.
5521
55222008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
5523
5524 * s/vms.h: Use __GNUC__ instead of _GNUC_.
5525
5526 * m/macppc.h:
5527 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
5528
5529 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
5530 (SPECIAL_EMACS_INT):
5531 * m/ia64.h (SPECIAL_EMACS_INT):
5532 * m/amdx86-64.h (SPECIAL_EMACS_INT):
5533 * s/gnu.h (NLIST_STRUCT):
5534 * s/aix4-2.h (X11R5_INHIBIT_I18N):
5535 * s/gnu-linux.h (LINUX):
5536 * s/msdos.h (HAVE_FACES):
5537 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
5538
5539 * systty.h:
5540 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
5541 anymore.
5542
55432008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
5544
5545 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
5546 always defined as int.
5547
5548 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
5549 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
5550 * s/gnu-linux.h (HAVE_WAIT_HEADER):
5551 * s/freebsd.h (HAVE_WAIT_HEADER):
5552 * s/bsd-common.h (HAVE_UNION_WAIT):
5553 * s/aix4-2.h (HAVE_WAIT_HEADER):
5554 * m/mips.h (HAVE_UNION_WAIT):
5555 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
5556 (COFF, static): Do not define, they are undefined later in the file.
5557
5558 * process.c (update_status): Don't use a union.
5559 (status_convert):
5560 (sigchld_handler): Use int instead of WAITTYPE.
5561
55622008-07-12 Chong Yidong <cyd@stupidchicken.com>
5563
5564 * indent.c (Fvertical_motion): Restore hscroll before moving to
5565 goal column.
5566
55672008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5568
5569 * lisp.h: Remove left over code.
5570
55712008-07-11 Andreas Schwab <schwab@suse.de>
5572
5573 * lisp.h: Fix logic in last change.
5574
5575 * menu.h: New file.
5576 * menu.c: Include it.
5577 * xmenu.c: Likewise.
5578 * Makefile.in: Update dependencies.
5579
55802008-07-11 Kenichi Handa <handa@m17n.org>
5581
5582 * fontset.c (fontset_from_font): Cancel the previous change.
5583
55842008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5585
5586 * lisp.h:
5587 * w32heap.c:
5588 * emacs.c:
5589 * alloc.c: Replace all references of NO_UNION_TYPE with
5590 USE_LISP_UNION_TYPE.
5591
5592 * m/xtensa.h (NO_UNION_TYPE):
5593 * m/vax.h (NO_UNION_TYPE):
5594 * m/template.h (NO_UNION_TYPE):
5595 * m/sparc.h (NO_UNION_TYPE):
5596 * m/mips.h (NO_UNION_TYPE):
5597 * m/macppc.h (NO_UNION_TYPE):
5598 * m/m68k.h (NO_UNION_TYPE):
5599 * m/iris4d.h (NO_UNION_TYPE):
5600 * m/intel386.h (NO_UNION_TYPE):
5601 * m/ibms390x.h (NO_UNION_TYPE):
5602 * m/ibms390.h (NO_UNION_TYPE):
5603 * m/ibmrs6000.h (NO_UNION_TYPE):
5604 * m/ia64.h (NO_UNION_TYPE):
5605 * m/hp800.h (NO_UNION_TYPE):
5606 * m/arm.h (NO_UNION_TYPE):
5607 * m/amdx86-64.h (NO_UNION_TYPE):
5608 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
5609 defining it the same.
5610
56112008-07-10 Chong Yidong <cyd@stupidchicken.com>
5612
5613 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
5614
56152008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5616
5617 * fileio.c:
5618 * sysdep.c
5619 * systty.h:
5620 * m/ibmrs6000.h:
5621 * m/iris4d.h:
5622 * s/aix4-2.h:
5623 * s/freebsd.h:
5624 * s/gnu-linux.h:
5625 * s/hpux10-20.h:
5626 * s/hpux11.h:
5627 * s/netbsd.h:
5628 * s/sol2-3.h:
5629 * s/sol2-4.h:
5630 * s/sol2.h:
5631 * s/usg5-4.h:
5632 * s/vms.h: Remove references to unused variables.
5633
56342008-07-10 Andreas Schwab <schwab@suse.de>
5635
5636 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
5637 pattern before matching the generic family.
5638
56392008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5640
5641 * unexec.c:
5642 * s/vms.h:
5643 * s/usg5-4-2.h:
5644 * s/sol2-5.h:
5645 * s/freebsd.h:
5646 * s/darwin.h: Remove dead code.
5647
5648 * m/template.h:
5649 * m/sparc.h:
5650 * m/mips.h:
5651 * m/m68k.h:
5652 * m/iris4d.h:
5653 * m/intel386.h:
5654 * m/ibms390x.h:
5655 * m/ibms390.h:
5656 * m/ia64.h:
5657 * m/hp800.h:
5658 * m/arm.h:
5659 * m/amdx86-64.h: Remove dead code and references to unused
5660 and compiler defined symbols.
5661
5662 * unexmips.c:
5663 * unexelf.c: Remove references to desupported systems.
5664
5665 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
5666
5667 * m/powermac.h: Remove boilerplate comments.
5668 (NO_REMAP): Remove unused definition.
5669
5670 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
5671 define them.
5672
56732008-07-10 Kenichi Handa <handa@m17n.org>
5674
5675 * xfont.c (xfont_open): Log the reason of failure.
5676
56772008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
5678
5679 * fontset.c (fontset_get_font_group):
5680 * font.c (font_check_otf): Specify argument types.
5681
56822008-07-09 Kenichi Handa <handa@m17n.org>
5683
5684 * coding.c (detect_coding_utf_8): Set detect_info->found only when
5685 non-ASCII char is found.
5686
5687 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
5688 (reorder_font_vector): Change the arg preferred_family to font.
5689 Prefer the spec matching with font.
5690 (fontset_get_font_group): New function.
5691 (fontset_find_font): Change the format of an element of a realized
5692 fontset. Use fontset_get_font_group.
5693 (fontset_font): Try the current fontset, the default fontset, the
5694 fallbacks of the current fontset, and the fallbacks of the default
5695 fontset in this order.
5696 (face_for_char): Delete the shortcut to use the current font.
5697 (fontset_from_font): Don't set fonts for Latin in the fontset.
5698
5699 * font.h (font_make_object, font_match_p): Adjust prototypes.
5700
5701 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
5702
5703 * font.c (font_make_object): New arg entity and pixelsize.
5704 (font_check_otf_features, font_check_otf): New functions.
5705 (font_match_p): Check :lang, :script, and :otf properties.
5706
5707 * xfont.c (xfont_open): Adjust it for the change of
5708 font_make_object.
5709 (xfont_text_extents): Fix initial setting of metrics.
5710
5711 * ftfont.c (struct ftfont_info): New member index, delete member
5712 fc_charset_idx. Make the member order compatible with struct
5713 xftfont_info.
5714 (fc_charset_table): Change charset names to registry names.
5715 (ftfont_pattern_entity): Delete the args registry and
5716 fc_charset_idx. Change the value of :font-entity property
5717 to (FONTNAME . INDEX). Always set :registry property to
5718 `iso10646-1'.
5719 (struct ftfont_cache_data): New struct.
5720 (ftfont_lookup_cache): New arg for_face.
5721 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5722 (ftfont_driver): Set the member otf_capability.
5723 (ftfont_get_charset): Adjust it for the change of
5724 fc_charset_table.
5725 (OTF_TAG_SYM): New macro.
5726 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5727 for the change of fc_charset_table.
5728 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5729 ftfont_pattern_entity. Add FC_INDEX to objset.
5730 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5731 and ftfont_pattern_entity.
5732 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5733 font_make_object, struct ftfont_info.
5734 (ftfont_has_char): Use ftfont_get_fc_charset.
5735 (ftfont_otf_features, ftfont_otf_capability): New functions.
5736 (ftfont_shape): Use ftfont_get_otf.
5737 (ftfont_text_extents): Fix initial setting of metrics.
5738
5739 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5740 member order compatible with struct ftfont_info.
5741 (xftfont_open): Add FC_CHARSET to the pattern. Set
5742 xftfont_info->ft_size. Don't unlock the face. Check BDF
5743 properties if appropriate.
5744 (xftfont_close): Unlock the face.
5745 (xftfont_anchor_point, xftfont_shape): Deleted.
5746 (syms_of_xftfont): Don't set members anchor_point and shape of
5747 xftfont_driver.
5748
5749 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5750 font_make_object.
5751
5752 * w32font.c (w32font_open): Adjust it for the change of
5753 font_make_object.
5754 (w32font_open_internal): Don't set properties of font_object here.
5755
57562008-07-08 Chong Yidong <cyd@stupidchicken.com>
5757
5758 * macfns.c (x_create_tip_frame):
5759 * w32fns.c (x_create_tip_frame):
5760 * xfns.c (x_create_tip_frame): Pass parameter argument to
5761 face-set-after-frame-default.
5762
5763 * xfaces.c (Finternal_merge_in_global_face): Save merged
5764 attributes for the default face back into the face vector.
5765
57662008-07-08 Andreas Schwab <schwab@suse.de>
5767
5768 * fontset.h: Declare fontset_from_font. Don't declare
5769 new_fontset_from_font and fontset_from_font_name.
5770 * xterm.c: Include "fontset.h".
5771 * Makefile.in (xterm.o): Update dependencies.
5772
57732008-07-08 Glenn Morris <rgm@gnu.org>
5774
5775 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5776 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5777
57782008-07-07 Chong Yidong <cyd@stupidchicken.com>
5779
5780 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5781 (x_set_frame_parameters): Don't bind it.
5782
57832008-07-07 Juanma Barranquero <lekktu@gmail.com>
5784
5785 * w32fns.c (map_w32_filename): Declare extern.
5786
57872008-07-07 Jason Rumney <jasonr@gnu.org>
5788
5789 * w32term.c (WS_EX_LAYERED): Define if not already.
5790
57912008-07-06 Chong Yidong <cyd@stupidchicken.com>
5792
5793 * xfaces.c (set_font_frame_param): Don't try to set the font
5794 parameter if it is still unspecified in the lface.
5795
57962008-07-05 Chong Yidong <cyd@stupidchicken.com>
5797
5798 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5799 face if it didn't already exist.
5800
5801 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5802
58032008-07-05 Andreas Schwab <schwab@suse.de>
5804
5805 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5806
58072008-07-05 Chong Yidong <cyd@stupidchicken.com>
5808
5809 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5810 word-wrapping.
5811 (IT_DISPLAYING_WHITESPACE): New macro.
5812 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5813 when word-wrapping. Simplify word-wrapping logic. Use correct
5814 pixel positions when saving copies of the iterator.
5815 (display_line): Use proper wrap point if the last character on a
5816 line was preceded by whitespace.
5817
58182008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5819
5820 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
5821
58222008-07-04 Kenichi Handa <handa@m17n.org>
5823
5824 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
5825
5826 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
5827
58282008-07-02 Jason Rumney <jasonr@gnu.org>
5829
5830 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 5831 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
5832
5833 * xdisp.c (next_element_from_display_vector): Move assignment out
5834 of if statement.
5835
58362008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
5837
5838 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
5839
5840 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
5841 (syms_of_fileio): Initialize and export them.
5842 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
5843
5844 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
5845 (Fsystem_move_file_to_trash): New function.
5846 (syms_of_w32fns): Export it to lisp.
5847
58482008-07-01 Jason Rumney <jasonr@gnu.org>
5849
5850 * w32font.c (w32font_text_extents): Don't count overhang as part
5851 of width.
5852
58532008-06-30 Miles Bader <miles@gnu.org>
5854
5855 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
5856 Add `avoid_cursor_p' field.
5857
5858 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
5859 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
5860 (append_glyph, append_composite_glyph, produce_image_glyph)
5861 (append_stretch_glyph): Initialize avoid_cursor_p.
5862 (get_it_property): Rename from `get_line_height_property'.
5863 (x_produce_glyphs): Use get_it_property.
5864 (handle_line_prefix, push_display_prop): New functions.
5865 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
5866 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
5867 New variables.
5868 (syms_of_xdisp): Initialize them.
5869
58702008-06-30 Kenichi Handa <handa@m17n.org>
5871
5872 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
5873 XftDefaultSubstitute (they are called in XftFontMatch).
5874 (xftfont_open): Fix args to ftfont_font_format.
5875
5876 * ftfont.c (fc_charset_table): New member lang.
5877 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 5878 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
5879 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
5880 (ftfont_open): Fix args to ftfont_font_format.
5881 (ftfont_font_format): New arg filename.
5882
58832008-06-30 Chong Yidong <cyd@stupidchicken.com>
5884
5885 * xfaces.c (Finternal_merge_in_global_face): If default face was
5886 modified, realize it again. Update the font face attribute.
5887
58882008-06-29 Jason Rumney <jasonr@gnu.org>
5889
5890 * w32term.c (x_set_frame_alpha): Fix logic.
5891
58922008-06-29 Kenichi Handa <handa@m17n.org>
5893
5894 * fontset.c (Finternal_char_font): Return font-object instead of
5895 font-name.
5896
5897 * composite.c (get_composition_id): Fix the width calculation for TAB.
5898
58992008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
5900
5901 * indent.c (Fvertical_motion): Properly handle float column arg.
5902
59032008-06-28 Jason Rumney <jasonr@gnu.org>
5904
5905 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
5906 (pfnSetLayeredWindowAttributes): New function pointer.
5907 (w32_initialize): Initialize it when supported.
5908 (x_set_frame_alpha): New function.
5909
5910 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
5911 (w32_frame_parm_handlers): Set alpha handler.
5912
5913 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
5914
59152008-06-27 Jason Rumney <jasonr@gnu.org>
5916
5917 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
5918 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
5919 (w32_to_x_charset, x_to_w32_charset)
5920 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5921 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5922 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5923 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5924 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5925 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5926 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
5927 (Qw32_charset_unicode): Remove.
5928 (syms_of_w32fns): Update for above changes.
5929
5930 * w32font.c (w32_to_x_charset, x_to_w32_charset)
5931 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5932 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5933 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5934 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5935 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5936 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5937 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
5938 (syms_of_w32font): Update for above changes.
5939
59402008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
5941
5942 * s/usg5-4.h: Fix previous change: keep the correct branch of a
5943 removed #if.
5944 (USG_SHARED_LIBRARIES): Remove duplicate definition.
5945
59462008-06-26 Juanma Barranquero <lekktu@gmail.com>
5947 Eli Zaretskii <eliz@gnu.org>
5948
5949 * makefile.w32-in (LOCAL_FLAGS):
5950 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
5951
5952 * sysdep.c (_spawnlp, _getpid):
5953 Declare with explicit _cdecl instead of _CRTAPI1.
5954
5955 * editfns.c (Fget_internal_run_time):
5956 Check for WINDOWSNT with #ifdef, not #if.
5957
59582008-06-26 Jason Rumney <jasonr@gnu.org>
5959
5960 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
5961
5962 * w32term.c (x_draw_glyph_string_foreground)
5963 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
5964 Use FONT_HANDLE macro.
5965 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
5966
5967 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5968 (uniscribe_encode_char): Use FONT_HANDLE macro.
5969
5970 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
5971 (w32font_text_extents): Use precast w32_font.
5972 (w32font_close): Free cached metrics.
5973 (w32font_open_internal): Allocate space for name on stack.
5974
59752008-06-26 Chong Yidong <cyd@stupidchicken.com>
5976
5977 * xdisp.c (extend_face_to_end_of_line): Fix last change.
5978
59792008-06-26 Jason Rumney <jasonr@gnu.org>
5980
5981 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
5982 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
5983
59842008-06-26 Juanma Barranquero <lekktu@gmail.com>
5985
5986 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
5987
59882008-06-26 Jason Rumney <jasonr@gnu.org>
5989
5990 * w32bdf.c, w32bdf.h: Remove obsolete files.
5991
5992 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
5993
5994 * w32gui.h: Don't include w32bdf.h.
5995 (XCharStruct, enum w32_char_font_type, W32FontStruct):
5996 Remove obsolete font support.
5997
5998 * w32font.h (struct w32font_info): Remove compat_w32_font.
5999 Add hfont member.
6000 (FONT_COMPAT): Remove obsolete macro.
6001
6002 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
6003 (w32font_encode_char, w32font_text_extents): Use new hfont member.
6004 (w32font_open_internal): Remove compat code. Set new hfont member.
6005 (Fx_select_font): Use new hfont member.
6006
6007 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
6008 (uniscribe_encode_char): Use new hfont member.
6009
6010 * w32term.c (x_draw_glyph_string_foreground)
6011 (x_draw_composite_glyph_string_foreground): Use new hfont member.
6012 (x_draw_glyph_string): Use metrics in w32font_info.
6013
60142008-06-26 Kenichi Handa <handa@m17n.org>
6015
6016 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
6017
60182008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
6019
6020 * unexnext.c:
6021 * m/ews4800.h:
6022 * m/hp9000s300.h:
6023 * m/ibm370aix.h:
6024 * m/mips-siemens.h:
6025 * m/ncr386.h:
6026 * m/next.h:
6027 * m/pmax.h:
6028 * m/powerpcle.h:
6029 * m/tandem-s2.h:
6030 * s/386bsd.h:
6031 * s/bsd386.h:
6032 * s/bsd4-1.h:
6033 * s/bsd4-2.h:
6034 * s/bsdos2-1.h:
6035 * s/bsdos2.h:
6036 * s/bsdos3.h:
6037 * s/bsdos4.h:
6038 * s/nextstep.h:
6039 * s/ultrix4-3.h:
6040 * s/usg5-0.h:
6041 * s/usg5-2-2.h:
6042 * s/usg5-2.h:
6043 * s/usg5-4-3.h:
6044 * s/ux4800.h:
6045 * s/uxpds.h:
6046 * s/uxpv.h: Remove support for obsolete systems.
6047 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 6048 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
6049 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
6050 Remove, insert contents in s/aix4-2.h.
6051 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
6052 * s/bsd4-3.h: Rename to ...
6053 * s/bsd-common.h: ... this.
6054 * data.c:
6055 * doc.c:
6056 * ecrt0.c:
6057 * emacs.c:
6058 * fileio.c:
6059 * floatfns.c:
6060 * keyboard.c:
6061 * mem-limits.h:
6062 * print.c:
6063 * process.c:
6064 * sysdep.c:
6065 * syssignal.h:
6066 * systty.h:
6067 * syswait.h:
6068 * term.c:
6069 * unexec.c:
6070 * unexelf.c:
6071 * unexhp9k800.c:
6072 * m/hp800.h:
6073 * m/ibmrs6000.h:
6074 * m/mips.h:
6075 * m/vax.h:
6076 * s/darwin.h:
6077 * s/freebsd.h:
6078 * s/gnu.h:
6079 * s/ms-w32.h:
6080 * s/msdos.h:
6081 * s/netbsd.h:
6082 * s/template.h: Remove references to obsolete variables.
6083
6084 * Makefile.in: Add dependencies for all unexec files.
6085 (admindir): Remove unused variable.
6086 (UNEXEC_SRC): Remove references.
6087
60882008-06-25 Chong Yidong <cyd@stupidchicken.com>
6089
6090 * xfns.c (x_default_font_parameter): If Xft is available, first
6091 try Monospace-12 for the default font.
6092
60932008-06-25 Jason Rumney <jasonr@gnu.org>
6094
6095 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
6096
60972008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
6098
6099 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
6100
6101 * buffer.c (syms_of_buffer): Remove default-word-wrap.
6102
61032008-06-25 Juanma Barranquero <lekktu@gmail.com>
6104
6105 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
6106 <scroll-conservatively>: Fix typo in docstring.
6107
6108 * xselect.c (Fx_send_client_event): Doc fix.
6109
61102008-06-25 Kenichi Handa <handa@m17n.org>
6111
6112 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
6113
6114 * font.c (font_parse_fcname): Remove unused variables.
6115 (font_sort_entites): Delete the arg SPEC. Caller changed.
6116 Fix for the case of ! best_only.
6117 (font_delete_unmatched): Check DPI and AVGWIDTH too.
6118
6119 * lisp.h (Fstring_to_unibyte): EXFUN it.
6120
6121 * character.h (str_to_unibyte): Extern it.
6122
6123 * character.c (str_to_unibyte): New function.
6124
6125 * fns.c (Fstring_to_unibyte): New function.
6126 (syms_of_fns): Defsubr it.
6127
61282008-06-24 Kenichi Handa <handa@m17n.org>
6129
6130 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
6131 DPI too.
6132 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
6133
61342008-06-24 Andreas Schwab <schwab@suse.de>
6135
6136 * Makefile.in (${lispsource}loaddefs.el): Rename from
6137 ../lisp/loaddefs.el.
6138 (bootstrap-clean): Do what distclean does but don't remove
6139 Makefile.
6140 (distclean): Depend on bootstrap-clean and remove Makefile.
6141
61422008-06-24 Chong Yidong <cyd@stupidchicken.com>
6143
6144 * buffer.h (struct buffer): New member word_wrap.
6145
6146 * buffer.c (syms_of_buffer): New variables default-word-wrap and
6147 word-wrap.
6148 (init_buffer_once): Initialize them.
6149
6150 * dispextern.h (struct it): Replace bool truncate_lines_p with a
6151 line_wrap enum possessing three possible values.
6152
6153 * termopts.h: Replace truncate_partial_width_windows with
6154 Vtruncate_partial_width_windows.
6155
6156 * dispnew.c (direct_output_for_insert): Avoid direct output when
6157 inserting a space with word wrap on.
6158
6159 * indent.c (compute_motion): Obey integer values of
6160 truncate-partial-width-windows.
6161
6162 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
6163 replacing truncate_partial_width_windows.
6164 (init_iterator): If Vtruncate_partial_width_windows is an integer,
6165 truncate only if the window width is below that integer.
6166 (start_display, resize_mini_window, produce_stretch_glyph)
6167 (display_string, move_it_in_display_line_to): Use line_wrap.
6168 (back_to_previous_visible_line_start, reseat_1): Reset
6169 string_from_display_prop_p.
6170 (display_line): Extend default face to end of line when wrapping.
6171
61722008-06-24 Kim F. Storm <storm@cua.dk>
6173
6174 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
6175 to wrap continued lines at word boundaries.
6176
61772008-06-24 Jason Rumney <jasonr@gnu.org>
6178
6179 * font.c (Ffont_face_attributes): Multiply pixel size before point
6180 conversion to avoid multiplying rounding error.
6181
61822008-06-23 Jason Rumney <jasonr@gnu.org>
6183
6184 * w32term.c (x_draw_glyph_string_background)
6185 (x_draw_glyph_string): Remove old bdf font code.
6186
6187 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
6188
61892008-06-22 Kenichi Handa <handa@m17n.org>
6190
6191 * font.c (font_find_for_lface): Try the adstyle specified in
6192 the property of LFACE_FONT of LFACE (if any).
6193
61942008-06-21 Seiji Zenitani <zenitani@mac.com>
6195 Ryo Yoshitake <ryo@shiftmode.net>
6196
6197 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
6198
61992008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
6200
6201 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
6202 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
6203 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
6204 (witness-emacs): Remove.
6205 (lisp, shortlisp): Move loaddefs.el earlier.
6206 (mostlyclean): Forget about witness-emacs.
6207
62082008-06-22 Glenn Morris <rgm@gnu.org>
6209
6210 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
6211 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
6212
62132008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6214
6215 * Makefile.in (PRECOMP): Remove.
6216 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
6217 (witness-emacs): Run `compile-first'.
6218 (.el.elc): Use the new compile-onefile target.
6219
62202008-06-21 Kenichi Handa <handa@m17n.org>
6221
6222 * xftfont.c (xftfont_open): Handle QCembolden only when
6223 FC_EMBOLDEN is defined.
6224
62252008-06-21 Andreas Schwab <schwab@suse.de>
6226
6227 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
6228 (.el.elc): Likewise.
6229
62302008-06-21 Miles Bader <miles@gnu.org>
6231
6232 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
6233 build dir, not the lisp source dir.
6234
62352008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6236
6237 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
6238 (bootstrapclean): Remove.
6239 (.el.elc): New rule.
6240 (PRECOMP): New var.
6241 (../lisp/subdirs.el): Remove.
6242 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
6243 (witness-emacs): New target.
6244 (mostlyclean): Remove witness-emacs as well.
6245 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
6246 Add witness-emacs dependency.
6247
62482008-06-20 Chong Yidong <cyd@stupidchicken.com>
6249
6250 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
6251 defined by the font.
6252
62532008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6254
6255 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
6256 (bootstrap-clean): New target that keeps TAGS around.
6257 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
6258 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
6259
62602008-06-20 Jason Rumney <jasonr@gnu.org>
6261
6262 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
6263 Remove obsolete font code.
6264
6265 * w32font.c (font_matches_spec): Use csb bitfield from font signature
6266 to determine language support.
6267
62682008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6269
6270 * sysdep.c (cfsetspeed): New fun extracted from the code.
6271 (cfmakeraw): Move before first use.
6272
62732008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
6274
6275 * sysdep.c (cfmakeraw): Provide fallback implementation.
6276 (serial_configure): Provide fallback implementation of cfsetspeed.
6277
62782008-06-20 Kenichi Handa <handa@m17n.org>
6279
6280 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
6281 the pattern.
6282
6283 * fontset.c (fontset_from_font): Copy font_spec before changing
6284 the elements.
6285
6286 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
6287
62882008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6289
6290 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
6291 for explicit `font' parameters.
6292
6293 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
6294
62952008-06-19 Kenichi Handa <handa@m17n.org>
6296
6297 * frame.c: Include <ctype.h>.
6298 (x_set_font_backend): Allow spacing characters in the X resource
6299 for FontBackend.
6300
63012008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
6302
6303 * w32fns.c, xfns.c (Qfont_param): New var.
6304 (syms_of_w32fns): Initialize it.
6305 (x_default_font_parameter): Record explicit `font' into
6306 `font-parameter'.
6307
63082008-06-18 Kenichi Handa <handa@m17n.org>
6309
6310 * font.c (font_parse_xlfd): Fix previous change.
6311 (font_parse_fcname): Don't use :fc-unknown-spec.
6312 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
6313 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
6314 (font_add_log): Prepend the driver name to the resulting fonts.
6315
6316 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
6317 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
6318 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
6319
6320 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
6321 (QCembolden): New variables.
6322 (syms_of_xftfont): DEFSYM them.
6323 (xftfont_open): Call XftFontMatch. Don't trust the result of
6324 XftTextExtents8 if the pixel_size is less than 5.
6325
63262008-06-18 Andreas Schwab <schwab@suse.de>
6327
6328 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
6329 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
6330
63312008-06-18 Jason Rumney <jasonr@gnu.org>
6332
6333 * w32font.c (w32font_list, w32font_match): Add logging.
6334
6335 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
6336
63372008-06-17 Chong Yidong <cyd@stupidchicken.com>
6338
6339 * font.c (font_parse_fcname): Store divider characters for
6340 unknown-spec list. For known key symbols, intern using correct
6341 symbol name.
6342
63432008-06-17 Kenichi Handa <handa@m17n.org>
6344
6345 * xfaces.c (realize_default_face): If the frame is not on window
6346 system, set the fontset of face to nil.
6347
63482008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6349
6350 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
6351
63522008-06-16 Juanma Barranquero <lekktu@gmail.com>
6353
6354 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
6355 (build_font_name_from_vector): Delete externs.
6356
6357 * xfaces.c (struct font_name): Don't declare.
6358
63592008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
6360
6361 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
6362
63632008-06-16 Chong Yidong <cyd@stupidchicken.com>
6364
6365 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
6366
63672008-06-16 Juanma Barranquero <lekktu@gmail.com>
6368
6369 * font.c (Ffont_spec): Fix usage in docstring.
6370 (Ffont_face_attributes): Doc fix.
6371
63722008-06-16 Andreas Schwab <schwab@suse.de>
6373
6374 * font.c (Ffont_face_attributes): Fix definition.
6375
63762008-06-16 Jason Rumney <jasonr@gnu.org>
6377
6378 * font.h (font_style_symbolic_from_value): Remove.
6379
6380 * font.c (font_style_symbolic_from_value): Remove.
6381 (font_style_symbolic): Revert to pre 2008-06-13 version.
6382
6383 * w32font.c (w32_to_fc_weight): New function.
6384 (w32font_full_name, logfont_to_fcname): Use it.
6385
63862008-06-16 Kenichi Handa <handa@m17n.org>
6387
6388 * font.c (font_check_object): Delete it.
6389 (font_clear_cache): Check if a font-object is alive.
6390 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
6391 font-object to nil.
6392 (font_close_object): Don't check FONT_CLOSE_OBJECT.
6393 (font_at): Don't call font_check_object.
6394 (Ffont_get): Return a symbol for :weight, :slant, and :width.
6395
63962008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
6397
6398 * puresize.h (BASE_PURESIZE): Increase to 1230000.
6399
64002008-06-16 Chong Yidong <cyd@stupidchicken.com>
6401
6402 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
6403
64042008-06-15 Chong Yidong <cyd@stupidchicken.com>
6405
6406 * font.c (font_parse_fcname): Only one decimal point.
6407 (font_unparse_fcname): Handle data in family and foundry indices
6408 as symbols, not strings.
6409 (font_unparse_gtkname, Ffont_face_attributes): New functions.
6410
6411 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
6412
6413 * font.h (font_unparse_gtkname): Add prototype.
6414
64152008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6416
6417 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
6418
64192008-06-15 Andreas Schwab <schwab@suse.de>
6420
6421 * font.c (font_update_drivers): Fix crash when no drivers match.
6422
64232008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
6424
6425 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
6426 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
6427
64282008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
6429
6430 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
6431
64322008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
6433
6434 * process.c (Fserial_process_configure, Fprocess_send_eof):
6435 Use EQ to compare Lisp_Objects.
6436
64372008-06-13 Jason Rumney <jasonr@gnu.org>
6438
6439 * w32fns.c (Fw32_select_font): Remove old font API function.
6440
6441 * w32font.c (logfont_to_fcname): New function.
6442 (Fx_select_font): New font dialog function compatible with
6443 GTK/fontconfig version.
6444
6445 * font.c (font_style_symbolic_from_value): New function.
6446 (font_style_symbolic): Use it.
6447
6448 * font.h (font_style_symbolic_from_value): Declare new function.
6449
64502008-06-13 Juanma Barranquero <lekktu@gmail.com>
6451
6452 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
6453 <font-width-table>: Fix typos in docstrings.
6454
64552008-06-13 Daniel Engeler <engeler@gmail.com>
6456
6457 These changes add serial port access.
6458 * process.c: Add HAVE_SERIAL.
6459 (Fdelete_process, Fprocess_status, Fset_process_buffer)
6460 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
6461 (list_processes_1, select_wrapper, Fstop_process)
6462 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
6463 (status_notify): Modify to handle serial processes.
6464 [HAVE_SERIAL] (Fserial_process_configure)
6465 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
6466 New functions.
6467 * process.h (struct Lisp_Process): Add `type'.
6468 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
6469 New functions.
6470 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
6471 serial ports.
b71ac3dd 6472 (serial_open, serial_configure): New functions.
aac0c6e3
MR
6473 * w32.h: Add FILE_SERIAL.
6474 (struct _child_process): Add ovl_read, ovl_write.
6475
64762008-06-13 Kenichi Handa <handa@m17n.org>
6477
6478 * dispextern.h (enum lface_attribute_index): New member
6479 LFACE_FOUNDRY_INDEX.
6480
6481 * font.c (font_score): Delete arg alternate_families. Check only
6482 weight, slant, width, and size. Ignore the difference of alias
6483 style symbols.
6484 (font_sort_entites): Adjust for the above change. Reflect the
6485 order of font-driver to scores.
6486 (font_list_entities): Don't check alternate_familes here.
6487 (font_clear_prop): Handle foundry.
6488 (font_update_lface): Don't parse "foundry-family" form here.
6489 Handle FONT_FOUNDRY_INDEX.
6490 (font_find_for_lface): Likewise. Handle alternate families here.
6491 If registry is nil, try iso8859-1 and ascii-0.
6492 (font_open_for_lface): Pay attention to size in ENTITY.
6493 (font_open_by_name): Simplify by calling font_load_for_lface.
6494 (free_font_driver_list): Delete it.
6495 (font_update_drivers): Preserve the order of backends.
6496 (syms_of_font): Setting of sort_shift_bits adjusted for the change
6497 of font_score and font_sort_entites.
6498 (font_update_sort_order): Likewise.
6499
6500 * xfaces.c (LFACE_FOUNDRY): New macro.
6501 (check_lface_attrs): Check foundry.
6502 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
6503 (merge_face_vectors): Check foundry.
6504 (merge_face_ref): Likewise.
6505 (Finternal_set_lisp_face_attribute): Likewise.
6506 (x_update_menu_appearance): Likewise.
6507 (Finternal_get_lisp_face_attribute): Likewise.
6508 (lface_hash): Likewise.
6509 (lface_same_font_attributes_p): Likewise.
6510 (x_supports_face_attributes_p): Likewise.
6511 (tty_supports_face_attributes_p): Likewise.
6512 (Finternal_set_alternative_font_family_alist): Intern strings.
6513 (Finternal_set_alternative_font_registry_alist): Downcase strings.
6514 (realize_default_face): Set LFACE_FOUNDRY (lface).
6515
6516 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
6517 font-driver at first.
6518
6519 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
6520
65212008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6522
6523 * lread.c (Fload): Use xfree, not free on saved_doc_string.
6524
65252008-06-12 Jim Meyering <meyering@redhat.com>
6526
6527 Make unexec_free handle NULL the same way free does.
6528 * unexmacosx.c (unexec_free): Ignore a NULL argument.
6529
65302008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
6531
6532 * character.h (CHAR_TO_BYTE_SAFE): New macro.
6533 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
6534 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
6535 (WEAK_ALIAS): Simplify.
6536 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
6537 when searching a unibyte buffer.
6538
65392008-06-12 Chong Yidong <cyd@stupidchicken.com>
6540
6541 * xfns.c (Fx_select_font): Rename from x-font-dialog.
6542
65432008-06-12 Juanma Barranquero <lekktu@gmail.com>
6544
6545 * w32font.c: Include ctype.h.
6546
65472008-06-11 Jason Rumney <jasonr@gnu.org>
6548
6549 * w32font.c (w32font_encode_char): Detect missing glyphs that are
6550 misreported as space.
6551 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
6552 as aliases for registry iso10646-1.
6553
65542008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
6555
6556 * buffer.c (clone_per_buffer_values): Skip `name'.
6557
65582008-06-11 Chong Yidong <cyd@stupidchicken.com>
6559
6560 * font.c (font_parse_fcname): Fix last change; accept decimal
6561 points in font size.
6562
65632008-06-10 Jason Rumney <jasonr@gnu.org>
6564
6565 * w32uniscribe.c (add_opentype_font_name_to_list):
6566 Skip non unicode fonts.
6567
65682008-06-10 Chong Yidong <cyd@stupidchicken.com>
6569
6570 * xfns.c (Fx_font_dialog): New function.
6571
6572 * gtkutil.c (xg_dialog_response_cb): Rename from
6573 xg_file_response_callback.
6574 (pop_down_dialog): Rename from pop_down_file_dialog.
6575 (xg_get_file_name): Callers changed.
6576 (xg_get_font_name): New function.
6577
6578 * gtkutil.h (xg_get_font_name): Insert prototype.
6579
65802008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6581
6582 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
6583 x_underline_minimum_display_offset.
6584 (syms_of_xdisp): Declare it here rather than in xterm.c.
6585 * dispextern.h (underline_minimum_offset): Declare it.
6586 * w32term.c (x_draw_glyph_string): Use it.
6587 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
6588 (syms_of_xterm): Don't declare it any more.
6589 (x_draw_glyph_string): Adjust to the new name.
6590
65912008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
6592
6593 * xterm.c (x_underline_minimum_display_offset): New var.
6594 (x_draw_glyph_string): Use it.
6595 (syms_of_xterm): Declare it.
6596
65972008-06-10 Chong Yidong <cyd@stupidchicken.com>
6598
6599 * font.c (font_parse_fcname): Accept GTK-style font names too.
6600
66012008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6602
6603 * dired.c (file_name_completion): Don't return t if the match is exact
6604 but with different capitalization.
6605 * minibuf.c (Ftry_completion): Simplify.
6606
6607 * window.c (Vwindow_point_insertion_type): New var.
6608 (set_window_buffer): Use it.
6609 (syms_of_window): Init and export it to Lisp.
6610
66112008-06-10 Kenichi Handa <handa@m17n.org>
6612
6613 * font.h (font_intern_prop): Prototype adjusted.
6614
6615 * font.c (font_intern_prop): New arg force_symbol.
6616 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
6617 Adjust for the change of font_intern_prop.
6618
6619 * ftfont.c (ftfont_pattern_entity):
6620 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
6621 (w32_registry):
6622 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
6623 the change of font_intern_prop.
6624
66252008-06-09 Juanma Barranquero <lekktu@gmail.com>
6626
6627 * w32menu.c (digest_single_submenu): Declare extern.
6628
66292008-06-09 Jason Rumney <jasonr@gnu.org>
6630
6631 * w32term.c (x_make_frame_visible): Use alternate restore flags.
6632
6633 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
6634 (parse_single_submenu): Remove.
6635 (digest_single_submenu): Remove.
6636 (syms_of_w32menu): Don't initialise variables that have moved
6637 to menu.c.
6638 (set_frame_menubar): Sync with version in xmenu.c.
6639 (w32_menu_show): Sync with xmenu_show in xmenu.c.
6640
6641 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
6642 Make static again.
6643
66442008-06-09 Jason Rumney <jasonr@gnu.org>
6645
6646 Changes to w32 files related to the move of common menu code
6647 to menu.c on 2008-06-08 by Chong Yidong.
6648
6649 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
6650 defs to w32gui.h.
6651 (single_keymap_panes, push_menu_item, push_menu_pane):
6652 Make globally visible.
6653
6654 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
6655 (local_free, malloc_widget_value, free_widget_value)
6656 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
6657 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
6658 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
6659 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
6660 (menu_items, menu_items_allocated, menu_items_used)
6661 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
6662 (init_menu_items, finish_menu_items, discard_menu_items)
6663 (grow_menu_items, push_submenu_start, push_submenu_end)
6664 (push_left_right_boundary, push_menu_pane, push_menu_item)
6665 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
6666 (free_menubar_widget_tree_value, parse_single_submenu)
6667 (update_submenu_strings): Remove functions.
6668 (xmalloc_widget_value): Remove and declare extern.
6669
6670 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
6671 (OBJ1): Build it.
6672
6673 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
6674 (local_heap, local_alloc, local_free, malloc_widget_value)
6675 (free_widget_value): Define here.
6676
66772008-06-09 Kenichi Handa <handa@m17n.org>
6678
6679 * font.h (Qascii_0): Extern it.
6680
6681 * font.c (Qascii_0): New variable.
6682 (syms_of_font): DEFSYM it.
6683 (font_open_by_name): If the registry "iso8859-1" fails, try also
6684 "ascii-0".
6685
6686 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
6687
66882008-06-08 Kenichi Handa <handa@m17n.org>
6689
6690 * .gdbinit (xfont): New command.
6691
66922008-06-08 Andreas Schwab <schwab@suse.de>
6693
6694 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
6695 * Makefile.in (menu.o): Update dependencies.
6696
6697 * Makefile.in (obj): Always add menu.o.
6698 * emacs.c (main): Always call syms_of_menu.
6699 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
6700
67012008-06-08 Chong Yidong <cyd@stupidchicken.com>
6702
6703 * Makefile.in: Compile menu.c.
6704
6705 * lisp.h: Declare syms_of_menu.
6706
6707 * emacs.c (main): Call syms_of_menu.
6708
6709 * keyboard.h: Relocate platform-independent menu definitions from
6710 xmenu.c.
6711
6712 * menu.c: New file. Relocate platform-independent menu
6713 definitions from xmenu.c. Suggested by Adrian Robert.
6714
6715 * xmenu.c: Remove platform-independent menu definitions.
6716 (menu_items menu_items_inuse, menu_items_allocated)
6717 (menu_items_used, menu_items_n_panes)
6718 (menu_items_submenu_depth): Move to keyboard.h.
6719 (init_menu_items, finish_menu_items, unuse_menu_items)
6720 (discard_menu_items, restore_menu_items, save_menu_items)
6721 (grow_menu_items, push_submenu_start, push_submenu_end)
6722 (push_left_right_boundary, push_menu_pane, push_menu_item)
6723 (keymap_panes, single_keymap_panes, single_menu_item)
6724 (list_of_panes, list_of_items, find_and_call_menu_selection)
6725 (xmalloc_widget_value, free_menubar_widget_value_tree)
6726 (parse_single_submenu, digest_single_submenu)
6727 (update_submenu_strings): Move to menu.c.
6728
67292008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6730
6731 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6732
67332008-06-06 Miles Bader <miles@gnu.org>
6734
6735 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6736 face, not frame default.
6737
67382008-06-05 Martin Rudalics <rudalics@gmx.at>
6739
6740 * window.c (pop_up_windows, pop_up_frames)
6741 (display_buffer_reuse_frames, Vpop_up_frame_function)
6742 (Vdisplay_buffer_function, Veven_window_heights)
6743 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6744 (Vspecial_display_function, Vsame_window_buffer_names)
6745 (Vsame_window_regexps, split_height_threshold)
6746 (Vsplit_window_preferred_function): Move those vars to window.el.
6747 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6748 (Fdisplay_buffer): Move those functions to window.el.
6749 (syms_of_window): Remove corresponding declarations.
6750 (display_buffer): New function.
6751 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6752 * dispnew.c (Flast_nonminibuf_frame): New function.
6753 * buffer.c (Fpop_to_buffer): Move to window.el.
6754
67552008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6756
6757 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6758
67592008-06-05 Kenichi Handa <handa@m17n.org>
6760
6761 * coding.c (detect_coding): Fix previous change.
6762 (detect_coding_system): Likewise.
6763
67642008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6765
6766 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6767
6768 * keymap.c (Vminibuffer_local_filename_must_match_map):
6769 Rename from Vminibuffer_local_must_match_filename_map.
6770 (syms_of_keymap):
6771 * minibuf.c (Fcompleting_read): Adjust accordingly.
6772 * commands.h: Rename declaration as well.
6773
67742008-06-05 Kenichi Handa <handa@m17n.org>
6775
6776 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6777 family name.
6778 (Ffont_put): Likewise.
6779
6780 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6781 current font-spec.
6782
6783 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6784 is unspecified.
6785
6786 * xfaces.c (realize_x_face): If the font-related face attributes
6787 are the same as those of default face, realize a new fontset from
6788 default->fontset.
6789 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6790
67912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6792
6793 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6794 (move_it_in_display_line): New wrapper.
6795
6796 * window.c (window_scroll_pixel_based_preserve_x)
6797 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6798 (window_scroll_pixel_based, window_scroll_line_based):
6799 Use them to preserve column positions.
6800 (syms_of_window): Initialize them.
6801
6802 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6803 (HPOS . VPOS) pair.
6804
6805 * dispextern.h (move_it_in_display_line): Declare.
6806
68072008-06-05 Juanma Barranquero <lekktu@gmail.com>
6808
6809 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6810 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6811 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6812
68132008-06-04 Juanma Barranquero <lekktu@gmail.com>
6814
6815 * window.c (Fset_window_parameter): Doc fix.
6816 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6817
68182008-06-04 Joakim Verona <joakim@verona.se>
6819
6820 * window.h (struct window): Add new member window_parameters.
6821
6822 * window.c (Fwindow_parameters, Fwindow_parameter)
6823 (Fset_window_parameter): New defuns.
6824 (syms_of_window): Defsubr the new defuns.
6825 (make_window): Initialize window_parameters to nil.
6826
68272008-06-04 John Paul Wallington <jpw@pobox.com>
6828
6829 * eval.c (Fdefmacro): Doc fix.
6830
68312008-06-04 Kenichi Handa <handa@m17n.org>
6832
6833 * coding.c (detect_coding): Fix handling of coding->head_ascii.
6834 Be sure to call setup_coding_system when we find a proper coding system.
6835 (detect_coding_system): Fix handling of coding->head_ascii.
6836
68372008-06-03 Andreas Schwab <schwab@suse.de>
6838
6839 * font.c (font_prop_validate_spacing): Fix last change.
6840
68412008-06-03 Kenichi Handa <handa@m17n.org>
6842
6843 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
6844 (font_parse_fcname): Fix handling of unknown key.
6845
6846 * xfont.c (xfont_list): Try an alias.
6847
6848 * charset.c (char_charset): Return NULL if the arg charset_list is
6849 specified and C doesn't belong to any of them.
6850
68512008-06-02 Chip Coldwell <coldwell@redhat.com>
6852
6853 * font.c (font_pixel_size): Don't take cdr of an integer.
6854
68552008-06-02 Jim Meyering <meyering@redhat.com>
6856
6857 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
6858 * alloc.c (xfree): Return right away for a NULL arg.
6859 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
6860 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
6861 * mac.c (create_apple_event_from_event_ref): Likewise.
6862 (create_apple_event_from_drag_ref, cfstring_create_normalized):
6863 Likewise.
6864 * doprnt.c (doprnt1): Likewise.
6865 * frame.c (frame): Likewise.
6866 * keyboard.c (wipe_kboard): Likewise.
6867 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
6868 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
6869 * term.c (tty_default_color_capabilities, maybe_fatal)
6870 (delete_tty): Likewise.
6871 * w16select.c (string): Likewise.
6872 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
6873 * w32bdf.c (w32_free_bdf_font): Likewise.
6874 * w32fns.c (w32_unload_font): Likewise.
6875 * w32font.c (w32font_close): Likewise.
6876 * window.c (size_window): Likewise.
6877 * xselect.c (receive_incremental_selection): Likewise.
6878 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
6879 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
6880 * w32.c (stat): Likewise.
6881
6882 Remove useless if-before-free tests.
6883 * editfns.c (Fset_time_zone_rule): Likewise.
6884 * lread.c (nosuffix): Likewise.
6885 * ralloc.c (get_bloc): Likewise.
6886 * regex.c (reg_free): Likewise.
6887 * xftfont.c (xftfont_open, xftfont_close): Likewise.
6888 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
6889 * xsmfns.c (smc_save_yourself_CB): Likewise.
6890
68912008-06-02 Kenichi Handa <handa@m17n.org>
6892
6893 * font.c (font_find_for_lface): Handle float font size.
6894 (font_open_for_lface): Likewise.
6895
6896 * xfaces.c (x_supports_face_attributes_p): Check face->font before
6897 comparing the properties.
6898
68992008-06-01 Jason Rumney <jasonr@gnu.org>
6900
6901 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
6902 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
6903 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
6904 Don't add empty script list.
6905 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
6906
69072008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
6908
6909 * Makefile.in (dot, dotdot): Remove, update users.
6910 ".." has been used elsewhere in the file for a long time.
6911 (LIBXT_STATIC): Remove conditional based on unused variable.
6912
69132008-06-01 Miles Bader <miles@gnu.org>
6914
6915 * xfaces.c (Vface_remapping_alist): New variable.
6916 (syms_of_xfaces): Initialize it.
6917 (enum named_merge_point_kind): New type.
6918 (struct named_merge_point): Add `named_merge_point_kind' field.
6919 (push_named_merge_point): Make cycle detection respect different
6920 named-merge-point kinds.
6921 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
6922 Remove face-name alias resolution.
6923 (lface_from_face_name): New definition using
6924 `lface_from_face_name_no_resolve'.
6925 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
6926 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
6927 (get_lface_attributes): New definition that layers face-remapping on
6928 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
6929 (lookup_basic_face): New function.
6930 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
6931 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
6932 `get_lface_attributes'.
6933 (face_at_buffer_position): Use `lookup_basic_face' to lookup
6934 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
6935 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
6936
6937 * xdisp.c (init_iterator): Pass base_face_id through
6938 `lookup_basic_face' when we actually use it as a face-id.
6939 (handle_single_display_prop): Use `lookup_basic_face' to lookup
6940 DEFAULT_FACE_ID.
6941
6942 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
6943 lookup the initial face-id.
6944
6945 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
6946
69472008-06-01 Juanma Barranquero <lekktu@gmail.com>
6948
6949 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
6950 (Fremove_text_properties): Fix typos in docstrings.
6951
69522008-05-31 Kenichi Handa <handa@m17n.org>
6953
6954 * font.c (font_list_entities): Fix the car part of data to be
6955 stored in the cache.
6956
6957 * ftfont.c (ftfont_font_format): Don't use strcasestr.
6958
69592008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6960
6961 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
6962 Add a `test' argument so another predicate than `equal' can be used.
6963 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
6964 (map_char_table): Remove unused vars `c' and `i'.
6965 * lisp.h (Foptimize_char_table): Adjust declaration.
6966 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
6967
69682008-05-30 Kenichi Handa <handa@m17n.org>
6969
6970 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
6971 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
6972 defined.
6973
69742008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6975
6976 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6977 (Fmake_variable_frame_local): Disallow mixing buffer-local and
6978 frame-local settings for the same variable.
6979
69802008-05-30 Kenichi Handa <handa@m17n.org>
6981
6982 * fontset.c (Ffont_info): Move to font.c.
6983 (syms_of_fontset): Delete defsubr of Sfont_info.
6984
6985 * font.c (font_style_to_value, font_score): Delete casting of the
6986 args to xstcasecmp.
6987 (register_font_driver): Increment num_font_drivers only when
6988 registering the driver globally.
6989 (Ffont_info): Move from fontset.c. Handle a font object too.
6990 (syms_of_font): Defsubr Sfont_info.
6991
69922008-05-29 Kenichi Handa <handa@m17n.org>
6993
6994 * coding.h (enum define_coding_utf8_arg_index): New enum.
6995 (enum coding_attr_index): Change coding_attr_utf_16_bom to
6996 coding_attr_utf_bom.
6997 (enum utf_bom_type): Rename from utf_16_bom_type.
6998 (struct utf_16_spec): Adjust for the above change.
6999 (struct coding_system): Add utf_8_bom in `spec' union.
7000
7001 * coding.c (CODING_UTF_8_BOM): New macro.
7002 (enum coding_category): Delete coding_category_utf_8, add
7003 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
7004 coding_category_utf_8_sig.
7005 (CATEGORY_MASK_UTF_8): Delete it.
7006 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
7007 (CATEGORY_MASK_UTF_8_SIG): New macros.
7008 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
7009 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
7010 CATEGORY_MASK_UTF_8_SIG.
7011 (CATEGORY_MASK_UTF_8): New macro.
7012 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
7013 (detect_coding_utf_8): Check BOM.
7014 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
7015 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
7016 (encode_coding_utf_16): Likewise.
7017 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
7018 (detect_coding, detect_coding_system): Handle utf-8-auto.
7019 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
7020 (syms_of_coding): Fix setting up of Vcoding_category_table.
7021
70222008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
7023
7024 * process.c (Faccept_process_output): If `millisec' is non-nil,
7025 `seconds' default to 0.
7026 (wait_reading_process_output): Also return non-nil if we read output
7027 from a non-running process.
7028
70292008-05-29 Jason Rumney <jasonr@gnu.org>
7030
7031 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
7032 `raster' specified.
7033 (add_font_entity_to_list): Allow non-opentype truetype fonts back
7034 in the uniscribe backend, but disallow any font that has no
7035 unicode subrange support.
7036
70372008-05-29 Juanma Barranquero <lekktu@gmail.com>
7038
7039 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
7040 Fix typos in docstrings.
7041
70422008-05-29 Kenichi Handa <handa@m17n.org>
7043
7044 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
7045 (Fx_family_fonts): Set frame correctly.
7046
70472008-05-28 Jason Rumney <jasonr@gnu.org>
7048
7049 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
7050
70512008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
7052
7053 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
7054 calling build_annotations.
7055
70562008-05-28 Juanma Barranquero <lekktu@gmail.com>
7057
7058 * coding.c (Fdecode_coding_region, Fencode_coding_region)
7059 (Fencode_coding_string):
7060 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
7061 <latin-extra-code-table>: Fix typos in docstrings.
7062 (syms_of_coding) <coding-system-alist>: Doc fix.
7063 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
7064
70652008-05-28 Kenichi Handa <handa@m17n.org>
7066
7067 * fontset.c (Ffont_info): Don't call font_close_object.
7068
7069 * font.c (font_parse_family_registry): Use Ffont_put to validate
7070 foundry and family.
7071 (font_delete_unmatched): Don't check spacing.
7072 (font_list_entities): Add spacing to the spec to list fonts.
7073
7074 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
7075 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
7076
7077 * coding.c (encode_coding_raw_text): Fix previous change.
7078 (encode_coding_object): When the dst_object is a buffer and is
7079 different from src_object, move gap to PT.
7080
70812008-05-27 Chong Yidong <cyd@stupidchicken.com>
7082
7083 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
7084
70852008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7086
7087 * coding.c (encode_coding_raw_text): Set coding->produced_char for
7088 all branches. Compute it differently.
7089
7090 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
7091
70922008-05-27 Juanma Barranquero <lekktu@gmail.com>
7093
7094 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
7095 into "else if () ... else ...".
7096
70972008-05-27 Jason Rumney <jasonr@gnu.org>
7098
7099 * w32font.c (w32font_open_internal): Determine if glyph indices
7100 are likely to work here.
7101
71022008-05-27 Chong Yidong <cyd@stupidchicken.com>
7103
7104 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
7105 draw overlap glyphs with appropriate highlighting.
7106
71072008-05-27 Kenichi Handa <handa@m17n.org>
7108
7109 * xfont.c (xfont_open): Fix calculation of font->average_width.
7110
71112008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7112
7113 * casefiddle.c (casify_object): Try to guess better whether the
7114 argument is a byte or a char.
7115
71162008-05-26 Andreas Schwab <schwab@suse.de>
7117
7118 * xselect.c (x_reply_selection_request): Properly handle format == 32.
7119 Always send multiples of format size.
7120
7121 * xterm.c (x_set_frame_alpha): Fix type mismatch.
7122
71232008-05-26 Jason Rumney <jasonr@gnu.org>
7124
7125 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
7126 (compute_metrics): Don't set failure if we just cleared the cache.
7127 (w32_weight_table): Remove unused variable.
7128 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
7129 backwards compatibility.
7130
71312008-05-25 Kenichi Handa <handa@m17n.org>
7132
7133 * w32term.c (x_draw_glyph_string):
7134 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
7135
7136 * xfaces.c: Delete unused function prototypes.
7137 (xstrlwr, font_frame): Delete them.
7138 (clear_face_cache): Delete unused variable.
7139
7140 * xftfont.c (xftfont_open): Delete unused variable.
7141 If underline_thickness is not 1, adjust underline_position.
7142
7143 * ftxfont.c (ftxfont_open): Delete unused variable.
7144
7145 * fontset.c (face_for_char): Optimize for the case of no charset
7146 property.
7147
7148 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
7149 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
7150 (otf_open, font_otf_capability, generate_otf_features)
7151 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7152 Comment out by surrounding "#if 0" and "#endif" for the moment.
7153 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
7154 (syms_of_font): Codes for accessing above commented out.
7155
71562008-05-24 Eli Zaretskii <eliz@gnu.org>
7157
7158 * w32proc.c: Include dispextern.h.
7159
7160 * w32.c: Include dispextern.h.
7161
71622008-05-23 Juanma Barranquero <lekktu@gmail.com>
7163
7164 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
7165 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
7166 Fix typos in docstrings.
7167
71682008-05-23 Jason Rumney <jasonr@gnu.org>
7169
7170 * xsmfns.c: Remove includes that are already included by config.h.
7171
71722008-05-23 Kenichi Handa <handa@m17n.org>
7173
7174 * charset.c (Qemacs, charset_emacs): New variables.
7175 (char_charset): Fix for non-Unicode characters.
7176 (syms_of_charset): Define charset_emacs.
7177
7178 * w32term.c (x_draw_glyph_string): Be sure to update
7179 s->underline_thickness and s->underline_position. Be sure to draw
7180 underline within the current line area.
7181
7182 * xterm.c (x_draw_glyph_string): Be sure to update
7183 s->underline_thickness and s->underline_position. Be sure to draw
7184 underline within the current line area.
7185
7186 * fontset.c: Delete unused variables and add casting for char *
7187 throughout the file.
7188 (fontset_font): Try the fallback fonts of the current fontset
7189 before consulting the default fontset.
7190
7191 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
7192
7193 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
7194
71952008-05-22 Jason Rumney <jasonr@gnu.org>
7196
7197 * font.c: Don't include strings.h.
7198
7199 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
7200
7201 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
7202 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
7203 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
7204 to call xstrcasecmp.
7205
7206 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
7207
7208 * fontset.c (fs_query_fontset): Use xstrcasecmp.
7209
7210 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
7211
7212 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
7213
72142008-05-22 Kenichi Handa <handa@m17n.org>
7215
7216 * puresize.h (BASE_PURESIZE): Increase to 1220000.
7217
7218 * font.c (font_prop_validate_style): Adjust for the format
7219 change of font_style_table.
7220
7221 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
7222 two args.
7223
7224 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
7225 two args.
7226
72272008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
7228
7229 * minibuf.c (keys_of_minibuf): Delete.
7230 * lisp.h (keys_of_minibuf): Delete.
7231 * emacs.c (main): Don't call keys_of_minibuf.
7232
72332008-05-22 Kenichi Handa <handa@m17n.org>
7234
7235 * ftfont.c (ftfont_resolve_generic_family): Rename from
7236 ftfont_list_generic_family. Return a single family for each
7237 generic family.
7238 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
7239 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
7240 Call font_add_log.
7241 (ftfont_match): Call font_add_log.
7242
7243 * font.h (Ffont_xlfd_name): EXFUN adjusted.
7244 (FONT_DEBUG): Define it.
7245 (font_add_log): Extern it.
7246 (font_assert): Rename from xassert.
7247
7248 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
7249 (xfont_list_family): Call font_add_log.
7250 (xfont_match): Likewise.
7251 (memq_no_quit): Delete.
7252
7253 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
7254 call of Ffont_xlfd_name.
7255
7256 * xfaces.c (struct table_entry, slant_table, weight_table)
7257 (swidth_table): Move to font.c.
7258
7259 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
7260 xassert are changed to font_assert. Delete many unused variables.
7261 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
7262 New variables.
7263 (struct table_entry): Move from xfaces.c and modified.
7264 (weight_table, slant_table, width_table): Move from xfaces.c and
7265 contents adjusted for the change of struct table_entry.
7266 (font_style_to_value, font_style_symbolic): Adjust for the
7267 format change of font_style_table.
7268 (font_parse_family_registry): Don't overwrite existing foundry and
7269 family of font_spec.
7270 (font_score): Fix calculation of diff for sizes.
7271 (font_sort_entites): Call font_add_log.
7272 (font_delete_unmatched): Return a newly created list.
7273 (font_list_entities): Fix previous change. Call font_add_log.
7274 (font_matching_entity, font_open_entity, font_close_entity):
7275 Call font_add_log.
7276 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
7277 (Finternal_set_font_style_table): Delete.
7278 (BUILD_STYLE_TABLE): New macro.
7279 (build_style_table): New function.
7280 (Vfont_log, font_log_env_checked): New variables.
7281 (font_add_log): New function.
7282 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
7283 Declare Lisp variables "font-weight-table", "font-slant-table",
7284 "font-width-table", and "font-log". Initialize font_style_table.
7285
72862008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
7287
7288 * xterm.c (x_set_frame_alpha): Move declarations before statements.
7289
72902008-05-21 Seiji Zenitani <zenitani@mac.com>
7291 Ryo Yoshitake <ryo@shiftmode.net>
7292
7293 * frame.c (Qalpha): Add a new frame parameter `alpha'.
7294 (Vframe_alpha_lower_limit): New variable.
7295 (x_set_alpha): New function.
7296
7297 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
7298
7299 * xfns.c (x-create-frame, Qalpha):
7300 Initialize the frame parameter `alpha'.
7301 * xterm.c (OPAQUE, OPACITY): New.
7302 (x_set_frame_alpha): New function.
7303 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
7304
7305 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
7306 * w32fns.c (w32_frame_parm_handlers): Likewise.
7307
73082008-05-20 Jason Rumney <jasonr@gnu.org>
7309
7310 * w32font.c (add_font_entity_to_list): Don't add non-opentype
7311 truetype fonts to opentype list.
7312
73132008-05-20 Juanma Barranquero <lekktu@gmail.com>
7314
7315 * fontset.c (Ffontset_info): Doc fix.
7316 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
7317 <ignore-relative-composition>: Fix typos in docstrings.
7318
7319 * font.c (syms-of-font) <font-encoding-alist>:
7320 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
7321 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
7322 (Ffont_otf_alternates): Doc fixes.
7323
73242008-05-20 Kenichi Handa <handa@m17n.org>
7325
7326 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
7327 font.h through out the file.
7328 (FONT_DRIVERS): Rename from FONTOBJ.
7329 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
7330 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
7331
7332 * emacs.c (main): Call syms_of_font unconditionally.
7333
7334 * font.h (find_font_encoding): Extern it.
7335
7336 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
7337 fontset.c.
7338 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
7339 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
7340 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
7341 only when HAVE_WINDOW_SYSTEM is defined.
7342 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
7343 when HAVE_WINDOW_SYSTEM is defined.
7344
7345 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
7346 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
7347
7348 * xfaces.c: Include font.h unconditionally.
7349 (merge_face_ref, merge_face_vectors)
7350 (Finternal_set_lisp_face_attribute): Cancel the previous change.
7351
73522008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
7353
7354 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
7355 indirect_variable.
7356 * eval.c (lisp_indirect_variable): New fun.
7357 (Fuser_variable_p): Use it.
7358
73592008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
7360
7361 * lisp.h (indirect_variable):
7362 * data.c (indirect_variable, let_shadows_buffer_binding_p):
7363 Use Lisp_Symbol pointers rather than Lisp_Object.
7364 Adjust callers.
7365 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
7366 To this end, change calling-convention.
7367
7368 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
7369 if some non-hidden buffers are selected by string&pred.
7370
73712008-05-19 Chong Yidong <cyd@stupidchicken.com>
7372
7373 * process.c (wait_reading_process_output): Always check status
7374 when in batch mode.
7375
73762008-05-19 Kenichi Handa <handa@m17n.org>
7377
7378 * font.c (font_list_entities): Fix handling of cache.
7379 (font_matching_entity): Likewise.
7380
7381 * ftfont.c (cs_iso8859_1): Delete.
7382 (ft_face_cache): New variable.
7383 (struct ftfont_info): New member fc_charset_idx.
7384 (ftfont_build_basic_charsets): Delete.
7385 (fc_charset_table): New variable.
7386 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
7387 . FC_CHARSET_IDX) as :font-entity property in the font entity.
7388 Callers changed.
7389 (ftfont_lookup_cache, ftfont_get_charset): New functions.
7390 (ftfont_spec_pattern): New argument fc_charset_idx.
7391 Check registry more rigidly. Change callers.
7392 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
7393 change of :font-entity property of the font.
7394
7395 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
7396 property of the font.
7397
73982008-05-18 Juanma Barranquero <lekktu@gmail.com>
7399
7400 * coding.c (Fcoding_system_p): Rename argument to match docstring.
7401 (Funencodable_char_position, Fcheck_coding_systems_region)
7402 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
7403 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
7404 (Ffind_operation_coding_system, Fset_coding_system_priority)
7405 (Fcoding_system_eol_type): Doc fixes.
7406
74072008-05-17 Glenn Morris <rgm@gnu.org>
7408
7409 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
7410
74112008-05-16 Eli Zaretskii <eliz@gnu.org>
7412
7413 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
7414 and st_gid.
7415
7416 * frame.c (Fdelete_frame): Don't call font_update_drivers if
7417 HAVE_WINDOW_SYSTEM is not defined.
7418
7419 * xfaces.c (merge_face_ref, merge_face_vectors)
7420 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
7421 HAVE_WINDOW_SYSTEM is defined.
7422 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
7423
74242008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
7425
7426 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
7427
74282008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7429
7430 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
7431
74322008-05-15 Kenichi Handa <handa@m17n.org>
7433
7434 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
7435 preference.
7436
74372008-05-15 Glenn Morris <rgm@gnu.org>
7438
7439 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
7440
74412008-05-15 Chong Yidong <cyd@stupidchicken.com>
7442
7443 * fns.c (init_fns): Don't initialize weak_hash_tables here.
7444 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
7445
7446 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
7447
74482008-05-15 Kenichi Handa <handa@m17n.org>
7449
7450 * ftfont.c (ftfont_list): Downcase family name to check generic
7451 families.
7452
7453 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
7454 font-spec for QCfont value.
7455
7456 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
7457 buffer. Check the return value of it.
7458
74592008-05-14 Jason Rumney <jasonr@gnu.org>
7460
7461 * w32term.c (w32_get_glyph_overhangs): Remove.
7462 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
7463
74642008-05-14 Kenichi Handa <handa@m17n.org>
7465
7466 * font.c (font_prop_validate): Make nil a valid value.
7467 (font_clear_cache): Check if the cached vector of entities is nil
7468 or not.
7469
74702008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7471
7472 * emacs.c (main_thread): Conditionalize on
7473 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7474 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
7475
7476 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
7477 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
7478 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7479
74802008-05-14 Kenichi Handa <handa@m17n.org>
7481
7482 * coding.c (detect_coding_iso_2022): Ignore a coding category that
7483 has no corresponding coding system.
7484
74852008-05-14 Jason Rumney <jasonr@gnu.org>
7486
7487 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
7488
7489 * w32font.h (w32font_open_internal): Update declaration.
7490
7491 * w32font.c (w32font_open_internal): Change last argument from
7492 w32font_info struct to font object. Fill in font object from
7493 font_entity. Get Outline metrics if possible. Use them to
7494 calculate underline position and thickness. Use xlfd name as name
7495 property. Don't set codepage.
7496 (w32font_open): Pass font_object to w32font_open_internal. Don't
7497 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
7498 (w32font_draw): Use s->font.
7499 (clear_cached_metrics): Don't clear non-existent blocks.
7500
7501 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
7502 font was not found.
7503 (x_draw_glyph_string): Use underline position and thickness from font.
7504
7505 * w32uniscribe.c (uniscribe_open): Pass font_object to
7506 w32font_open_internal.
7507
75082008-05-14 Kenichi Handa <handa@m17n.org>
7509
7510 These changes are to delete all legacy font-handling codes, and
7511 make Emacs use only font-backends.
7512
7513 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
7514 (frame.o, image.o, print.o): Depend on $(FONTSRC).
7515
7516 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
7517
7518 * charset.h (Vcharset_non_preferred_head)
7519 (Vcurrent_iso639_language): Extern them.
7520
7521 * charset.c (Vcharset_non_preferred_head): New variable.
7522 (Vcurrent_iso639_language): New variable.
7523 (syms_of_charset): Declare it as a Lisp variable.
7524 (char_charset): Don't check non preferred charsets. As a last
7525 resort, return charset_unicode.
7526 (Fset_charset_priority): Update Vcharset_non_preferred_head.
7527
7528 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
7529 conditionals. Don't check enable_font_backend. Delete all codes
7530 used only when USE_FONT_BACKEND is not defined.
7531
7532 * dispextern.h (struct glyph_string): Change type of `font' to
7533 `struct font *'.
7534 (struct glyph_string): New member underline_position and
7535 underline_thickness.
7536 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
7537 (struct face): Change type of `font' to `struct font *'. Remove
7538 members `font_name', `font_info_id'.
7539 (per_char_metric, encode_char): Delete externs.
7540 (calc_pixel_width_or_height): Adjust the prototype.
7541
7542 * emacs.c (enable_font_backend): Delete extern.
7543 (main): Don't set enable_font_backend. Don't check the command
7544 line argument "-disable-font-backend".
7545
7546 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
7547 (enum font_property_index): New members FONT_DPI_INDEX,
7548 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
7549 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
7550 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
7551 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
7552 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
7553 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
7554 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
7555 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
7556 (struct font_spec, struct font_entity): New structs.
7557 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
7558 (struct font): Many members from old "struct font_info" moved to
7559 here. Members font and entity deleted.
7560 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
7561 the new font-related objects.
7562 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
7563 (CHECK_FONT_GET_OBJECT): Likewise.
7564 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
7565 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
7566 (struct font_driver): New members case_sensitive anc check. Type
7567 of the member list and open changed.
7568 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
7569 (font_symbolic_width, font_find_object, font_get_spec)
7570 (font_set_lface_from_name): Delete extern.
7571 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
7572
7573 * font.c: Include <strings.h>.
7574 (enable_font_backend): Delete it.
7575 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
7576 (CHECK_VALIDATE_FONT_SPEC): Delete it.
7577 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
7578 (null_string): Delete it.
7579 (null_vector): Make it static.
7580 (font_family_alist): Delete it.
7581 (Qnormal): Extern it.
7582 (QCextra, QClanguage): Delete it.
7583 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
7584 (font_make_spec, font_make_entity, font_make_object)
7585 (font_intern_prop): Renamed from intern_downcase. Don't downcase
7586 the string. Callers changed.
7587 (font_pixel_size): Adjusted for the format change of font-related
7588 objects.
7589 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
7590 (font_style_to_value, font_style_symbolic): New function.
7591 (build_font_family_alist): Delete it.
7592 (font_registry_charsets): Use Fassoc_string instead of
7593 assq_no_quit.
7594 (font_prop_validate_symbol): Don't return null_string.
7595 (font_prop_validate_style): Adjusted for the change of
7596 style-related values in a font vector.
7597 (font_property_table): Delete entries for QClanguage and
7598 QCantialias, add entries for QCavgwidth.
7599 (get_font_prop_index): Delete the 2nd argument FROM.
7600 (font_prop_validate): Arguments changed.
7601 (font_put_extra): Adjusted for the change of font-related objects.
7602 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
7603 (font_parse_fcname, font_unparse_fcname)
7604 (font_prepare_composition): Likewise.
7605 (font_parse_family_registry): Renamed from font_merge_old_spec.
7606 (otf_open): Delete the 1st arg entity.
7607 (font_otf_capability): Adjusted for the above change.
7608 (font_score): New arg alternate_families. Adjusted for the change
7609 of font-related objects.
7610 (font_sort_entites): New arg best_only.
7611 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
7612 Delete them.
7613 (font_match_p): Check alternate families.
7614 (font_find_object): Delete it.
7615 (font_check_object): New function.
7616 (font_clear_cache): Adjusted for the change of font-related objects.
7617 (font_delete_unmatched): New arg.
7618 (font_list_entities): Call font_driver->list with a spec that
7619 doesn't specify style-related properties.
7620 (font_matching_entity): Arguments changed. Caller changed.
7621 (font_open_entity): Adjusted for the change of font-related objects.
7622 (font_close_object, font_has_char, font_encode_char)
7623 (font_get_name, font_get_spec): Likewise.
7624 (font_spec_from_name, font_clear_prop, font_update_lface):
7625 New functions.
7626 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
7627 (font_prepare_for_face, font_done_for_face, font_open_by_name)
7628 (font_at): Adjusted for the change of font-related objects.
7629 (font_range): New function.
7630 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
7631 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
7632 (Fcopy_font_spec, Fmerge_font_spec): New function.
7633 (Ffont_family_list): Renamed from list-families.
7634 (Finternal_set_font_style_table): Arguments changed.
7635 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
7636 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
7637 change of font-related objects.
7638 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
7639
7640 * fontset.h (struct font_info): Delete it. Most members go to
7641 struct font.
7642 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
7643 (enum FONT_SPEC_INDEX): Delete it.
7644 (font_info, list_fonts_func, load_font_func, query_font_func)
7645 (set_frame_fontset_func, find_ccl_program_func)
7646 (get_font_repertory_func, new_fontset_from_font_name): Delete
7647 externs.
7648 (fontset_from_font_name): Extern it.
7649 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
7650 (FONT_INFO_FROM_FACE): Deleted.
7651 (face_for_font): Adjust prototype.
7652
7653 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
7654 conditionals. Don't check enable_font_backend. Delete all codes
7655 used only when USE_FONT_BACKEND is not defined.
7656 (get_font_info_func, list_font_func, load_font_func)
7657 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
7658 (get_font_repertory_func): Delete them.
7659 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
7660 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
7661 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
7662 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
7663 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
7664 (fontset_compare_rfontdef): New function.
7665 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
7666 rfont-defs by qsort. Adjusted for the change of font-group vector.
7667 (load_font_get_repertory): Deleted.
7668 (fontset_find_font): Use new macros to ref/set elements of
7669 font-def and rfont-def.
7670 (fontset_font): Fix the timing of remembering that no font for C.
7671 (free_face_fontset): Do nothing if the face has no fontset.
7672 (face_suitable_for_char_p): Use new macros to ref/set elements of
7673 rfont-def.
7674 (face_for_char): Likewise. Call face_for_char with font_object.
7675 (fs_load_font): Delete. Delete #pragma surrounding it.
7676 (fs_query_fontset): Use strcasecmp instead of strcmp.
7677 (generate_ascii_font_name): Adjusted for the format change of
7678 font-spec.
7679 (Fset_fontset_font): Likewise. Use new macros to set elements of
7680 font-def.
7681 (Fnew_fontset): Use font_unparse_xlfd to generate
7682 FONTSET_ASCII (fontset).
7683 (new_fontset_from_font_name): Deleted.
7684 (fontset_from_font): Renamed from new_fontset_from_font. Check if
7685 a fontset is already created for the font. FIx updating of
7686 Vfontset_alias_alist.
7687 (fontset_ascii_font): Deleted.
7688 (Ffont_info): Adjusted for the format change of font-spec.
7689 (Finternal_char_font): Likewise.
7690 (Ffontset_info): Likewise.
7691 (syms_of_fontset): Don't check load_font_func.
7692
7693 * fns.c (internal_equal): Handle PREV_FONT.
7694
7695 * frame.h: Delete USE_FONT_BACKEND conditional.
7696
7697 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
7698 conditionals. Don't check enable_font_backend. Delete all codes
7699 used only when USE_FONT_BACKEND is not defined.
7700 (x_set_font): Call x_new_font, not x_new_fontset2.
7701 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
7702 already set for the frame.
7703
7704 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
7705 a font-entity by font_make_entity. Use font_intern_prop instead
7706 of intern_downcase. Use FONT_SET_STYLE to set a style-related
7707 font property. If a font is scalable, set avgwidth property to 0.
7708 Set font-entity property by font_put_extra.
7709 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
7710 (ffont_driver): Adjusted for the change of struct font_driver.
7711 (ftfont_spec_pattern): New function.
7712 (ftfont_list): Return a list, not vector.
7713 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
7714 (ftfont_list_family): Don't downcase names.
7715 (ftfont_free_entity): Deleted.
7716 (ftfont_open): Return a font-object. Adjusted for the change of
7717 struct font. Get underline_thickness and underline_position from
7718 font property. Don't update dpyinfo->smallest_font_height and
7719 dpyinfo->smallest_char_width.
7720 (ftfont_close): Don't free `struct font'.
7721 (ftfont_has_char): Adjusted for the format change of font-entity.
7722 (ftfont_encode_char, ftfont_text_extents): Likewise.
7723
7724 * ftxfont.c (ftxfont_list): Return a list, not vector.
7725 (ftxfont_open): Return a font-object. Adjusted for the change of
7726 struct font. Get underline_thickness and underline_position from
7727 font property. Don't update dpyinfo->smallest_font_height and
7728 dpyinfo->smallest_char_width.
7729 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7730 (ftxfont_draw): Adjusted for the change of struct font.
7731
7732 * image.c (image_ascent): Don't include "charset.h". Include
7733 "character.h" and "font.h".
7734
7735 * lisp.h (enum pvec_type): New member PREV_FONT.
7736 (Fassoc_string): EXFUN it.
7737
7738 * print.c: Include font.h.
7739 (print_object): Handle font-related objects.
7740
7741 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
7742 conditionals. Don't check enable_font_backend. Delete all codes
7743 used only when USE_FONT_BACKEND is not defined.
7744 (handle_auto_composed_prop): Do nothing if it->f is not on a
7745 window system. Check how many following characters can be
7746 displayed by the same font.
7747 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7748 'struct font *'.
7749 (get_char_face_and_encoding): Assign the whole encoding task to
7750 the `encode-char' method of a font driver.
7751 (fill_composite_glyph_string): Adjusted for the change of `struct
7752 face' and `struct glyph_string'.
7753 (fill_glyph_string): Likewise.
7754 (get_per_char_metric): Arguments changed.
7755 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7756 and `struct glyph_string'.
7757 (produce_stretch_glyph, calc_line_height_property)
7758 (x_produce_glyphs): Likewise.
7759
7760 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7761 conditionals. Don't check enable_font_backend. Delete all codes
7762 used only when USE_FONT_BACKEND is not defined. Use
7763 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7764 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7765 (Qp): Extern them.
7766 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7767 Deleted.
7768 (struct font_name): Deleted.
7769 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7770 (compare_fonts_by_sort_order): New function.
7771 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7772 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7773 Deleted.
7774 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7775 compare_fonts_by_sort_order.
7776 (Fx_font_family_list): Call Ffont_family_list.
7777 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7778 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7779 (face_symbolic_slant, face_symbolic_swidth)
7780 (split_font_name_into_vector, build_font_name_from_vector)
7781 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7782 (font_rescale_ratio, split_font_name, build_font_name)
7783 (free_font_names, sort_fonts, x_face_list_fonts)
7784 (face_font_available_p, sorted_font_list, cmp_font_names)
7785 (font_list_1, concat_font_list, font_list, remove_duplicates):
7786 Deleted.
7787 (Fx_list_fonts): Use Ffont_list.
7788 (LFACE_AVGWIDTH): Deleted.
7789 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7790 by FONTP.
7791 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7792 (set_lface_from_font_name): Delete it.
7793 (set_lface_from_font): Renamed from
7794 set_lface_from_font_and_fontset. Caller changed. Don't set
7795 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7796 for face.
7797 (merge_face_vectors): Copy font-spec if necessary.
7798 Clear properties of the font-spec if necessary.
7799 (merge_face_ref): Clear properties of the font-spec if necessary.
7800 (Finternal_set_lisp_face_attribute): Likewise.
7801 (set_font_frame_param): Use font_load_for_lface to load a
7802 font-object, and call Fmodify_frame_parameters with it.
7803 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7804 font name by Ffont_xlfd_name.
7805 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7806 QCslant, and QCwidth.
7807 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7808 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7809 Compare fonts by EQ.
7810 (lookup_non_ascii_face): Deleted.
7811 (face_for_font): The 2nd argument changed.
7812 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7813 Check atomic font properties by case insensitive.
7814 (realize_non_ascii_face): Set face->overstrike correctly.
7815 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7816 (dump_realized_face): Get font name from
7817 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7818
7819 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
7820 conditionals. Don't check enable_font_backend. Delete all codes
7821 used only when USE_FONT_BACKEND is not defined.
7822 (xic_create_xfontset): Original code deleted and renamed from
7823 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
7824 (x_make_gc): Don't set GCFont in GCs.
7825 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
7826 opened by "fixed".
7827 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
7828 find_ccl_program_func, query_font_func, set_frame_fontset_func,
7829 get_font_repertory_func.
7830
7831 * xfont.c: Include <stdlib.h> and "ccl.h".
7832 (struct xfont_info): New structure.
7833 (xfont_query_font): Deleted.
7834 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
7835 moved from xterm.c.
7836 (xfont_driver): Adjusted for the change of struct font_driver.
7837 (compare_font_names): New function.
7838 (xfont_list_pattern): Sort font names case insensitively. Make
7839 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
7840 (xfont_list): Return a list, not vector.
7841 (xfont_match): If the font doesn't have QCname property, generate
7842 a name from the other font properties.
7843 (xfont_open): Return a font-object. Adjusted for the change of
7844 struct font. Get underline_thickness and underline_position from
7845 font property. Don't update dpyinfo->smallest_font_height and
7846 dpyinfo->smallest_char_width.
7847 (xfont_close): Don't free struct font.
7848 (xfont_prepare_face): Adjusted for the change of struct font.
7849 (xfont_done_face): Deleted.
7850 (xfont_has_char): Adjusted for the change of struct font.
7851 (xfont_encode_char, xfont_draw): Likewise.
7852 (xfont_check): New function.
7853
7854 * xftfont.c (xftfont_list): Adjusted for the change of `list'
7855 callback function.
7856 (xftfont_match): Adjusted for the format change of font-entity.
7857 (xftfont_open): Adjusted for the format change of font-entity and
7858 font-object. Adjusted for the change of struct font. Return a
7859 font-object. Don't update dpyinfo->smallest_font_height and
7860 dpyinfo->smallest_char_width.
7861 (xftfont_close): Block input while calling XftFontClose.
7862 (xftfont_prepare_face): Don't block input while calling
7863 xftfont_get_colors. Adjusted for the change of struct font.
7864 (xftfont_shape): Return value of error case fixed.
7865
7866 * xrdb.c (x_load_resources): Don't setup a fontset resource.
7867
7868 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
7869 conditionals.
7870 (FONT_WIDTH): Return (f)->max_width.
7871 (struct x_display_info): Delete member `font'.
7872 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
7873 (x_find_ccl_program, x_get_font_repertory): Delete externs.
7874 (struct x_output): Change type of `font' to `struct font *'.
7875
7876 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
7877 conditionals. Don't check enable_font_backend. Delete all codes
7878 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
7879 (x_per_char_metric, x_encode_char): Deleted.
7880 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
7881 (x_compute_glyph_string_overhangs): Adjusted for the change of
7882 `struct face'.
7883 (x_draw_glyph_string_foreground)
7884 (x_draw_composite_glyph_string_foreground): Likewise.
7885 (x_draw_glyph_string): Likewise. Use font->underline_position and
7886 font->underline_thickness.
7887 (x_new_font): Renamed from x_new_fontset2.
7888 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
7889 (x_check_font): Call `check' method of a font driver.
7890 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
7891 (x_query_font, x_get_font_repertory): Deleted.
7892 (x_find_ccl_program): Renamed and moved to xfont.c.
7893 (x_redisplay_interface): Adjusted for the change of `struct
7894 redisplay_interface'.
7895
7896 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
7897 conditionals. Don't check enable_font_backend. Delete all codes
7898 used only when USE_FONT_BACKEND is not defined. Surround non-used
7899 code by "#ifdef OLD_FONT" and "endif".
7900 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
7901
7902 * w32font.h (struct w32font_info): New member.
7903 (FONT_COMPAT): New macro.
7904 (w32font_open_internal): Prototype adjusted.
7905
7906 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
7907 OLD_FONT" and "endif".
7908
7909 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
7910 conditionals. Don't check enable_font_backend. Delete all codes
7911 used only when USE_FONT_BACKEND is not defined.
7912 (w32font_open): Return a font-object. Make a font-object by
7913 font_make_object. Adjusted for the change of struct w32font_info.
7914 (w32font_close): Don't free struct font. Adjusted for the change
7915 of struct w32font_info.
7916 (w32font_encode_char, w32font_text_extents, w32font_draw):
7917 Adjusted for the change of struct w32font_info.
7918 (w32font_draw): Likewise.
7919 (w32font_list_internal): Return a list, not vector.
7920 (w32font_open_internal): Change the 4th arg to font-object.
7921 Adjusted for the change of struct w32font_info and font-object format.
7922 (add_font_name_to_list): Don't downcase names.
7923 (w32_enumfont_pattern_entity): Make a font-entity by
7924 font_make_entity. Adjusted for the format change of font-entity.
7925 Use FONT_SET_STYLE to set a style-related font property. If a
7926 font is scalable, set avgwidth property to 0. Set font-entity
7927 property by font_put_extra.
7928 (font_matches_spec): Adjusted for the format change of font-entity.
7929 (w32_weight_table, w32_decode_weight): New variables.
7930 (w32_encode_weight): New function.
7931 (fill_in_logfont): Adjusted for the format change of font-spec.
7932 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
7933 weight value.
7934 (w32font_driver): Adjusted for the change of struct font_driver.
7935
7936 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
7937 conditionals. Don't check enable_font_backend. Surround non-used
7938 code by "#ifdef OLD_FONT" and "endif".
7939 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
7940 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
7941
7942 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
7943 conditionals. Don't check enable_font_backend. Delete all codes
7944 used only when USE_FONT_BACKEND is not defined. Surround non-used
7945 code by "#ifdef OLD_FONT" and "endif".
7946
7947 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
7948 (uniscribe_open): Return value changed to font-object.
7949 Adjusted for the format change of font-object.
7950 (uniscribe_otf_capability): Adjusted for the change of struct font.
7951 (add_opentype_font_name_to_list): Don't downcase names.
7952 (uniscribe_font_driver): Adjusted for the change of struct
7953 font_driver.
7954
79552008-05-13 Chong Yidong <cyd@stupidchicken.com>
7956
7957 * dispnew.c (update_frame_1): Check if tty output is still valid
7958 before flushing it.
7959
79602008-05-13 Jan Djärv <jan.h.d@swipnet.se>
7961
7962 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
7963 to Gtk+ menus.
7964
79652008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
7966
7967 * dired.c (file_name_completion): Tweak the code so as to always do it
7968 in a single pass. Tighten the scope of some variables.
7969
7970 * dired.c (Qdefault_directory): New var.
7971 (file_name_completion): Use it instead of Fexpand_file_name.
7972 (syms_of_dired): Initialize it.
7973
79742008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7975
7976 * fileio.c (double_dollars): Remove dead code.
7977
79782008-05-10 Eli Zaretskii <eliz@gnu.org>
7979
7980 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
7981 Mention w32-get-true-file-attributes in doc string.
7982
7983 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
7984
79852008-05-09 Glenn Morris <rgm@gnu.org>
7986
7987 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
7988 2008-04-23.
7989
79902008-05-09 Eli Zaretskii <eliz@gnu.org>
7991
7992 Support for reporting owner and group of each file on MS-Windows:
7993 * dired.c (stat_uname, stat_gname): New functions, with special
7994 implementation for w32.
7995 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
7996
7997 * w32.c: Rename the_passwd_* to dflt_passwd_*.
7998 (dflt_group_name): New static variable.
7999 (dflt_group): Rename from the_group.
8000 (init_user_info): Init dflt_group fields. Get user's group name
8001 from LookupAccountSid.
8002 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
8003 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
8004 New initialization states.
8005 (globals_of_w32): Initialize them to zero. Initialize the default
8006 group name to "None".
8007 (GetFileSecurity_Name): New global var, the name of the function
8008 to call for GetFileSecurity.
8009 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
8010 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
8011 (get_file_security, get_security_descriptor_owner)
8012 (get_security_descriptor_group, is_valid_sid)
8013 (get_file_security_desc, get_rid, get_name_and_id)
8014 (get_file_owner_and_group): New functions.
8015 (stat): Use get_file_security_desc and get_file_owner_and_group to
8016 report the owner and primary group of each file. Don't ignore the
8017 high 32 bits of file's size, now that st_size is 64-bit wide.
8018 Fix test when to get true file attributes.
8019 (init_user_info): Use get_rid instead of equivalent inline code.
8020 (fstat): Don't ignore the high 32 bits of file's size.
8021
80222008-05-09 Chong Yidong <cyd@stupidchicken.com>
8023
8024 * image.c (png_load): Use correct bit-depth for setting background
8025 color.
8026
80272008-05-08 Eli Zaretskii <eliz@gnu.org>
8028
8029 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
8030 epa-hook.elc.
8031
80322008-05-08 Juanma Barranquero <lekktu@gmail.com>
8033
8034 * font.c (Ffont_match_p): Don't use `iff' in docstring.
8035
80362008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
8037
8038 * macfns.c (Fx_create_frame): Make a copy of frame parameters
8039 because the original parameters are in pure storage now.
8040 (mac_window): Remove unused params. Update callers.
8041
80422008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
8043
8044 * lread.c (substitute_object_recurse): Use lower-level primitives.
8045 Don't signal errors when traversing sub-char-tables.
8046 Don't loop over all the possible characters when traversing char-tables.
8047
8048 * print.c (print_preprocess): Add sub-char-tables to the print-table,
8049 just like we do in print.c.
8050
80512008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
8052
8053 * minibuf.c (Ftry_completion): Remove code left over from when we used
8054 scmp instead of Fcompare_strings.
8055
80562008-05-04 Juanma Barranquero <lekktu@gmail.com>
8057
8058 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
8059
80602008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8061
8062 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
8063 Create bitmap context in native byte order.
8064
8065 * macterm.c (XDrawLine)
8066 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
8067 context in native byte order.
8068
80692008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8070
8071 * config.in: Regenerate.
8072
8073 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
8074 New definitions for Image I/O support.
8075 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
8076 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
8077 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8078 (mac_data_provider_release_data, image_load_image_io)
8079 [USE_MAC_IMAGE_IO]: New functions.
8080 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
8081 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
8082 (init_image_func_pointer) [MAC_OSX]: Remove function.
8083 (image_load_quartz2d) [MAC_OSX]: Check availability of
8084 CGImageCreateWithPNGDataProvider at compile time.
8085 Use lowercase `false' for boolean constant.
8086 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
8087 Use image_load_image_io.
8088 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
8089 Don't check MyCGImageCreateWithPNGDataProvider.
8090 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
8091 Don't call init_image_func_pointer.
8092
8093 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
8094
8095 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
8096 Make variable non-static.
8097 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
8098 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8099
8100 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
8101 (RED_FROM_ULONG): Mask off higher bits.
8102 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
8103
8104 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
8105 Include AvailabilityMacros.h.
8106 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
8107 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
8108
81092008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
8110
8111 * chartab.c (Fset_char_table_range): If range is t, really set all
8112 chars to that value.
8113
81142008-05-03 Eli Zaretskii <eliz@gnu.org>
8115
8116 * dired.c (Ffile_attributes): Don't allow the device number become
8117 negative.
8118
81192008-05-02 Daiki Ueno <ueno@unixuser.org>
8120
8121 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
8122
81232008-05-02 Juri Linkov <juri@jurta.org>
8124
8125 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
8126 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
8127 DEFAULT argument as a list of default values in docstrings.
8128
81292008-05-01 Chong Yidong <cyd@stupidchicken.com>
8130
8131 * puresize.h (BASE_PURESIZE): Increase to 1210000.
8132
81332008-05-01 Martin Rudalics <rudalics@gmx.at>
8134
8135 * dispnew.c (change_frame_size_1): Preserve small windows when
8136 shrinking frames by calling set_window_height|width with third
8137 arg 2.
8138
8139 * window.h (struct window): Replace field too_small_ok by field
8140 resize_proportionally.
8141
8142 * window.c (make_window): Initialize resize_proportionally.
8143 (enlarge_window): Temporarily set resize_proportionally to make
8144 sure that shrink_windows does scale the window proportionally.
8145 (shrink_windows): When window has resize_proportionally set try
8146 to shrink it proportionally by stealing from other windows.
8147 (struct saved_window, Fset_window_configuration)
8148 (compare_window_configurations): Handle resize_proportionally.
8149 (WINDOW_TOTAL_SIZE): New macro.
8150 (window_min_size, shrink_windows, size_window): Use it.
8151 (check_min_window_sizes): Remove. Invalid values of
8152 window-min-height|width are handled by window_min_size_2 now.
8153 (size_window, Fsplit_window, enlarge_window)
8154 (adjust_window_trailing_edge, grow_mini_window): Don't call
8155 check_min_window_sizes.
8156 (window_min_size_2, window_min_size_1, window_min_size):
8157 New argument safe_p for retrieving "safe" minimum sizes.
8158 (Fdisplay_buffer, Fsplit_window, enlarge_window)
8159 (adjust_window_trailing_edge, grow_mini_window):
8160 Adjust arguments of window_min_size... functions.
8161 (shrink_windows): Argument min_size removed. New argument
8162 safe_p allows shrinking windows to their safe minimum sizes.
8163 Calculate minimum size and decide whether a window shall be
8164 deleted for each window individually.
8165 (size_window): When nodelete_p equals 2, tell shrink_windows to
8166 delete windows only if their new minimum size is no more safe.
8167 (shrink_window_lowest_first): Call window_min_size_1 to make
8168 sure to preserve modeline of bottom-most window when resizing
8169 the minibuffer.
8170 (Fset_window_configuration, Fcurrent_window_configuration)
8171 (compare_window_configurations): Do not handle
8172 window-min-height|width any more.
8173 (syms_of_window): Clarify window-min-height|width doc-strings.
8174
81752008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
8176
8177 * dired.c (file_name_completion): Fix up the encoding/decoding issue
8178 some more. Copy some of the code from Ftry_completions.
8179 Remove special case code that dates back to initial revision when the
8180 slash was only added when necessary and that can't trigger nowadays.
8181
81822008-04-27 Kenichi Handa <handa@m17n.org>
8183
8184 * font.c (font_prop_validate): Signal `error' instead of `font'.
8185
81862008-04-29 Jason Rumney <jasonr@gnu.org>
8187
8188 * w32fns.c (Fw32_battery_status): New defun.
8189 (syms_of_w32fns): Defsubr it.
8190
81912008-04-28 Andreas Schwab <schwab@suse.de>
8192
8193 * dired.c (file_name_completion): Fix another mixing of encoded
8194 and decoded names.
8195
81962008-04-28 Juanma Barranquero <lekktu@gmail.com>
8197
8198 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
8199
82002008-04-27 Juanma Barranquero <lekktu@gmail.com>
8201
8202 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
8203
82042008-04-27 Andreas Schwab <schwab@suse.de>
8205
8206 * dired.c (file_name_completion): Fix inappropriate mixing of
8207 encoded and decoded names.
8208
8209 * xterm.c (XTread_socket): Fix use of uninitialized variable.
8210
8211 * puresize.h (BASE_PURESIZE): Increase to 1200000.
8212
82132008-04-26 Eli Zaretskii <eliz@gnu.org>
8214
8215 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
8216 2008-03-31, it's not needed anymore with `struct stat' definition
8217 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
8218 for the same reasons.
8219
82202008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
8221
8222 * m/sparc.h: Additional redefinitions for GNU/Linux.
8223
82242008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8225
8226 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
8227 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
8228 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
8229 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
8230 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8231 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
8232 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8233 Likewise.
8234
8235 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
8236 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
8237 (mac_ax_number_of_characters): Add externs.
8238 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8239 [USE_MAC_TSM]: Likewise.
8240 (mac_handle_text_input_event) [MAC_OSX]:
8241 Handle kEventTextInputOffsetToPos for no active input area case.
8242 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8243 (mac_handle_document_access_event)
8244 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
8245 (install_application_handler) [MAC_OSX]: Register handlers for
8246 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8247 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8248 Register mac_handle_document_access_event.
8249
8250 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
8251 Make functions non-static.
8252
82532008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
8254
8255 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
8256 (read_file_name_completion_ignore_case, insert_default_directory)
8257 (Qdefault_directory): Move to minibuffer.el.
8258 (Fread_file_name): Call the new `read-file-name' instead.
8259
82602008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8261
8262 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
8263 Make function non-static.
8264 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
8265 Remove function.
8266 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8267 Move to mactoolbox.c.
8268 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
8269
8270 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
8271 (mac_rect_make): New macro.
8272
8273 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
8274 instead of float.
8275 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8276 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
8277 (XSetBackground) [USE_CG_DRAWING]: Likewise.
8278 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
8279 CGRectMake.
8280 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8281 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
8282 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
8283 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8284 instead of WindowRef in argument type.
8285 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
8286 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
8287 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
8288 instead of DISPLAY. All uses changed.
8289 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
8290 (x_calc_absolute_position): Simplify so as not to use
8291 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
8292
8293 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8294 instead of WindowRef in argument type.
8295 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
8296 [TARGET_API_MAC_CARBON]: Remove externs.
8297 (create_apple_event, mac_event_parameters_to_lisp)
8298 [TARGET_API_MAC_CARBON]: Add externs.
8299
8300 * mactoolbox.c (Vmac_ts_script_language_on_focus)
8301 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
8302 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
8303 is clicked.
8304 (x_activate_menubar): Remove extern for saved_menu_event_location.
8305 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8306 Move from mac.c.
8307
83082008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8309
8310 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
8311 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
8312
83132008-04-23 Jason Rumney <jasonr@gnu.org>
8314
8315 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
8316 attributes only for local files.
8317
8318 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
8319 default to Qlocal.
8320
83212008-04-22 Juri Linkov <juri@jurta.org>
8322
8323 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
8324 read-buffer-to-switch instead of using the letter "B".
8325
83262008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
8327
8328 * fileio.c (Qdefault_directory): New variable.
8329 (Fread_file_name): Use it to pass `dir' to the completion functions.
8330
83312008-04-20 Chong Yidong <cyd@stupidchicken.com>
8332
8333 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
8334
83352008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
8336
8337 * keyboard.c (Vpre_help_message): Remove.
8338 (show_help_echo): Remove default C code.
8339
8340 * dired.c (directory_files_internal, file_name_completion):
8341 Only call ENCODE_FILE if the string is indeed decoded.
8342
83432008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8344
8345 * Makefile.in (TOOLKIT_DEFINES): Remove.
8346 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
8347
83482008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8349
8350 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
8351 (mactoolbox.o): New target.
8352
8353 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
8354 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
8355
8356 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
8357 Use mac_set_frame_window_background instead of XSetWindowBackground.
8358 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
8359 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
8360 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
8361 instead of SetWindowTitleWithCFString.
8362 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
8363 Move function to mactoolbox.c.
8364 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
8365 Use mac_set_window_modified instead of SetWindowModified.
8366 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
8367 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
8368 (Fx_focus_frame): Use mac_front_non_floating_window instead of
8369 FrontNonFloatingWindow. Use mac_activate_window instead of
8370 ActivateWindow. Use mac_active_non_floating_window instead of
8371 ActiveNonFloatingWindow.
8372 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
8373 Use mac_show_hourglass and mac_hide_hourglass.
8374 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
8375 instead of GetGlobalMouse.
8376 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
8377 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
8378 Use mac_bring_window_to_front instead of BringToFront.
8379 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
8380 mactoolbox.c.
8381 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
8382 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
8383 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
8384 mactoolbox.c.
8385
8386 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
8387 (XtPointer): Move typedef from macmenu.c.
8388 (enum button_type): Move enum from macmenu.c.
8389 (widget_value): Move typedef from macmenu.c.
8390 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
8391 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8392 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8393 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8394 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8395 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8396 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8397 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
8398 (Selection): Move typedef from macselect.c.
8399 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
8400 macterm.c.
8401 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
8402 (mac_is_window_collapsed, mac_bring_window_to_front)
8403 (mac_send_window_behind, mac_hide_window, mac_show_window)
8404 (mac_collapse_window, mac_front_non_floating_window)
8405 (mac_active_non_floating_window, mac_activate_window)
8406 (mac_move_window_structure, mac_move_window, mac_size_window)
8407 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
8408
8409 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
8410 (enum mac_menu_kind): Move enum to mactoolbox.c.
8411 (min_menu_id): Move variable to mactoolbox.c.
8412 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
8413 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
8414 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8415 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8416 [TARGET_API_MAC_CARBON]: Likewise.
8417 (XtPointer): Move typedef to macgui.h.
8418 (enum button_type): Move enum to macgui.h.
8419 (widget_value): Move typedef to macgui.h.
8420 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8421 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8422 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8423 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8424 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8425 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8426 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
8427 (popup_activated_flag): Make variable non-static.
8428 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
8429 (add_menu_item, fill_menu, dispose_menus):
8430 Move functions to mactoolbox.c.
8431 (restore_show_help_function, menu_target_item_handler)
8432 (install_menu_target_item_handler, mac_handle_dialog_event)
8433 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
8434 [TARGET_API_MAC_CARBON]: Likewise.
8435 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
8436 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8437 (find_and_call_menu_selection, name_is_separator): Make function
8438 non-static.
8439 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
8440 to mactoolbox.c.
8441 (set_frame_menubar): Don't call install_menu_quit_handler.
8442 (menu_item_selection): New variable.
8443 (mac_menu_show): Use create_and_show_popup_menu.
8444 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
8445 selection but set variable menu_item_selection. All uses changed.
8446 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
8447 Call install_menu_quit_handler. Move to mactoolbox.c.
8448
8449 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
8450 (Selection): Move typedef to macgui.h.
8451 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
8452 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
8453 Make variables non-static.
8454 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8455 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
8456 Make functions non-static.
8457 (Vmac_service_selection) [MAC_OSX]: Likewise.
8458 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
8459 (mac_valid_selection_target_p, mac_clear_selection)
8460 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8461 (mac_put_selection_value, mac_selection_has_target_p)
8462 (mac_get_selection_value, mac_get_selection_target_list)
8463 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
8464 Move functions to mactoolbox.c.
8465 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
8466 Likewise.
8467 (copy_scrap_flavor_data, mac_handle_service_event)
8468 (install_service_handler) [MAC_OSX]: Likewise.
8469 (syms_of_macselect) <Vmac_dnd_known_types>:
8470 Use mac_dnd_default_known_types.
8471
8472 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
8473 Move to mactoolbox.c.
8474 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
8475 (Fx_selection_owner_p): Add EXFUN.
8476 (install_window_handler, remove_window_handler, XSetWindowBackground):
8477 Remove externs.
8478 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
8479 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
8480 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
8481 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
8482 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
8483 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
8484 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
8485 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
8486 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
8487 (create_and_show_popup_menu, mac_get_selection_from_symbol)
8488 (mac_valid_selection_target_p, mac_clear_selection)
8489 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8490 (mac_put_selection_value, mac_selection_has_target_p)
8491 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
8492 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
8493 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
8494 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8495 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
8496 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8497 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
8498 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8499 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8500
8501 * mactoolbox.c: New file.
8502
85032008-04-18 Jason Rumney <jasonr@gnu.org>
8504
8505 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
8506
85072008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8508
8509 * character.c (Fmultibyte_char_to_unibyte):
8510 Return latin1 chars unchanged.
8511
8512 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
8513 relocated if it points to `name'.
8514
85152008-04-17 Kenichi Handa <handa@m17n.org>
8516
8517 * data.c (Faset): Allow setting a multibyte character in an
8518 ASCII-only unibyte string.
8519
8520 * lisp.h (STRING_SET_MULTIBYTE): New macro.
8521
85222008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
8523
8524 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
8525 done in config.h.
8526
85272008-04-16 Juanma Barranquero <lekktu@gmail.com>
8528
8529 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
8530 (Fchar_direction): Add usage in the docstring.
8531
85322008-04-15 Chong Yidong <cyd@stupidchicken.com>
8533
8534 * keyboard.c (read_key_sequence): Remove always-true checks.
8535
85362008-04-14 Jason Rumney <jasonr@gnu.org>
8537
8538 * w32font.c (w32font_open_internal): Set max_bounds.descent in
8539 compatibility struct, for better underline positioning.
8540
85412008-04-13 David Hansen <david.hansen@gmx.net>
8542
8543 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
8544 string.
8545
85462008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
8547
8548 * m/hp800.h (XUINT, XSET): Remove.
8549
85502008-04-12 Juanma Barranquero <lekktu@gmail.com>
8551
8552 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
8553 previous change.
8554
85552008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
8556
8557 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
8558 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
8559
85602008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8561
8562 * keymap.h (map_keymap_canonical): Declare.
8563 * xmenu.c (single_keymap_panes): Use it.
8564
85652008-04-11 Glenn Morris <rgm@gnu.org>
8566
8567 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
8568 set the target's value to that of the alias.
8569
85702008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8571
8572 * term.c (set_tty_color_mode): Left over typo.
8573
85742008-04-10 Michael Albinus <michael.albinus@gmx.de>
8575
8576 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
8577 only after check for file name handler functions. Signal, when
8578 native functionality is not supported.
8579 (syms_of_fileio): Declare it unconditionally.
8580
85812008-04-10 Jason Rumney <jasonr@gnu.org>
8582
8583 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
8584 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
8585
8586 * w32.c (logon_network_drive): Also logon to remote drives that
8587 are mapped to drive letters.
8588
85892008-04-10 Glenn Morris <rgm@gnu.org>
8590
8591 * xdisp.c (truncate-partial-width-windows): Doc fix.
8592
85932008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
8594
8595 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
8596 Move functions to minibuffer.el.
8597 (syms_of_fileio): Don't declare them.
8598
85992008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8600
8601 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
8602 (syms_of_minibuf): Remove its initialization.
8603
8604 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
8605
86062008-04-09 Juanma Barranquero <lekktu@gmail.com>
8607
8608 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
8609
86102008-04-09 Jason Rumney <jasonr@gnu.org>
8611
8612 * makefile.w32-in (distclean): Delete makefile too.
8613 (maintainer-clean): New target.
8614
8615 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
8616
8617 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
8618 for new font backend and composite cases.
8619
86202008-04-09 Jan Djärv <jan.h.d@swipnet.se>
8621
8622 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
8623 Most of the code moved to run_timers.
8624 (do_pending_atimers): Call run_timers.
8625 (run_timers): New function.
8626
8627 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
8628 run atimers.
8629
8630 * process.c (wait_reading_process_output): The same as above.
8631
86322008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8633
8634 * minibuf.c (last_exact_completion): Remove variable.
8635 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
8636 (complete_and_exit_1, complete_and_exit_2)
8637 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
8638 (Fdisplay_completion_list, display_completion_list_1)
8639 (Fminibuffer_completion_help, Fself_insert_and_exit)
8640 (Fexit_minibuffer, Fminibuffer_message): Move functions to
8641 minibuffer.el.
8642 (syms_of_minibuf): Remove corresponding initializations.
8643
8644 * keyboard.c (Qdeactivate_mark): New var.
8645 (command_loop_1): Use it to call `deactivate-mark'.
8646 (syms_of_keyboard): Initialize it.
8647
8648 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
8649 to another frame.
8650 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
8651 Don't call set_tty_color_mode.
8652 (store_frame_param): Reset previous_frame rather than call
8653 set_tty_color_mode.
8654 * term.c (set_tty_color_mode): Rewrite.
8655 * dispextern.h (set_tty_color_mode): New type.
8656 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
8657
86582008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
8659
8660 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
8661 for generic chars, which do not exist any more in emacs-unicode.
8662
86632008-04-08 Michael Albinus <michael.albinus@gmx.de>
8664
8665 * coding.c (detect_coding_emacs_mule)
8666 (Ffind_operation_coding_system): Fix typo.
8667
86682008-04-08 Jason Rumney <jasonr@gnu.org>
8669
8670 * w32uniscribe.c (SNAME): Extract only symbol name.
8671
8672 * w32font.h (struct w32_metric_cache): New struct.
8673 (w32font_info): Use it.
8674 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
8675 (CACHE_BLOCKSIZE): New constants.
8676
8677 * w32font.c (Qja, Qko, Qzh): New symbols.
8678 (syms_of_w32font): Initialise them.
8679 (font_matches_spec): Use them to filter by language.
8680 (recompute_cached_metrics): Remove function.
8681 (compute_metrics, clear_cached_metrics): New functions.
8682 (w32font_encode_char): Use them to manage metric cache.
8683 (w32font_text_extents): Cache metrics for all glyphs on demand.
8684 Delay converting glyph indices to WORD until needed.
8685 (w32font_open_internal): Initialize metric cache to empty.
8686 (registry_to_w32_charset): Charset should always be a symbol.
8687 (fill_in_logfont, list_all_matching_fonts): Family should
8688 always be a symbol.
8689
86902008-04-06 Jason Rumney <jasonr@gnu.org>
8691
8692 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
8693 Give up if glyph indices not supported. Use uniscribe obtained
8694 ABC widths for individual metrics. Map glyph clusters back to
8695 characters using fClusterStart flag. Return number of glyphs
8696 produced, not chars processed.
8697 (uniscribe_shape): Map char at FROM to current glyph.
8698
86992008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8700
8701 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
8702 Use SetMenuItemHierarchicalMenu.
8703
87042008-04-05 Jason Rumney <jasonr@gnu.org>
8705
8706 * image.c (pbm_load): Allow color values up to 65535.
8707 Throw an error if max_color_idx is outside the supported range.
8708 Report an error when image size is invalid.
8709 Read two bytes at a time when raw images have max_color_idx above 255.
8710
87112008-04-05 Eli Zaretskii <eliz@gnu.org>
8712
8713 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8714 cFileName a file name that includes `?' characters, use the 8+3
8715 alias in cAlternateFileName instead.
8716
87172008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
8718
8719 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8720 append "CCL: Quitted" when the CCL program is quitted.
8721 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8722
8723 * ccl.h (struct ccl_program): New member quit_silently.
8724
87252008-04-05 Chong Yidong <cyd@stupidchicken.com>
8726
8727 * search.c (compile_pattern_1): Treat non-nil and non-string of
8728 search-spaces-regexp as nil.
8729
8730 * minibuf.c (Fassoc_string): Tweak docstring.
8731
87322008-04-05 Eli Zaretskii <eliz@gnu.org>
8733
8734 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8735 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8736 2008-03-14 to force inode be positive.
8737
8738 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8739 _S_* ones, since we now use our own sys/stat.h.
8740 (stat, fstat): Don't mangle the inode number.
8741 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8742
87432008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8744
8745 * frame.h (struct frame): Give one more bit to `visible' since we use
8746 values larger than 1 to indicate obscured frames on ttys.
8747
8748 * keymap.c (Qkeymap_canonicalize): New var.
8749 (Fmap_keymap_internal): New fun.
8750 (describe_map): Use keymap-canonicalize.
8751
8752 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8753 (Fundo_boundary): Set them.
8754 (syms_of_undo): Initialize them.
8755 (record_point): Use them instead of last_point_position*.
8756 (last_undo_buffer): Change type.
8757
87582008-04-04 Jason Rumney <jasonr@gnu.org>
8759
8760 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8761 (recompute_cached_metrics): Don't set ascent and descent per char.
8762
8763 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8764 (uniscribe_check_otf): Add GC protection before consing.
8765 Rearrange loop for counting features.
8766
87672008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8768
8769 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8770 buffer with byte-size of source buffer.
8771
87722008-04-03 Chong Yidong <cyd@stupidchicken.com>
8773
8774 * callint.c (Fcall_interactively): Handle temporary region even
8775 when shift-select-mode is off.
8776
87772008-04-03 Jason Rumney <jasonr@gnu.org>
8778
8779 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8780
87812008-04-03 Kenichi Handa <handa@m17n.org>
8782
8783 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8784 (CATEGORY_MASK_UTF_16): Likewise.
8785 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8786 binary file.
8787 (detect_coding): Add null-byte detection for a binary file.
8788 (detect_coding_system): Likewise.
8789
87902008-04-03 Jason Rumney <jasonr@gnu.org>
8791
8792 * w32uniscribe.c: New file.
8793
8794 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8795
8796 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8797
8798 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8799 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8800 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8801 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8802 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8803 (Qphonetic): New symbols.
8804 (syms_of_w32font): Initialize them.
8805 (font_supported_scripts): Use them.
8806 (w32font_list_family): List all charsets.
8807 (w32font_text_extents, recompute_cached_metrics): Fix metric
8808 calculations.
8809 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8810 Give opentype fonts their own format.
8811 (font_matches_spec): New arguments backend and logfont.
8812 Handle :otf spec for uniscribe backend.
8813 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8814 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8815
8816 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8817 font backend.
8818 (globals_of_w32fns): Initialize uniscribe font backend.
8819
8820 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
8821 dependencies.
8822 (w32uniscribe.$(O)): New file to build.
8823 (FONT_OBJ): Include w32uniscribe.$(O).
8824 (LIBS): Add uniscribe libraries.
8825
8826 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
8827
88282008-04-02 Chong Yidong <cyd@stupidchicken.com>
8829
8830 * callint.c (Vshift_select_mode): New var.
8831 (Finteractive): Document new ^ spec.
8832 (Fcall_interactively): Call handle-shift-selection if the ^ spec
8833 is present.
8834
8835 * keyboard.c (Vthis_command_keys_shift_translated): New var.
8836 (command_loop_1): Avoid running the direct display versions of
8837 forward-char and backward-char if shift-selection may occur.
8838 (read_key_sequence): Set Vthis_command_keys_shift_translated if
8839 shift-translation takes place.
8840
8841 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
8842 avoid clobbering by define-minor-mode.
8843
8844 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
8845 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
8846
8847 * syntax.c (Fforward_word): Add ^ interactive spec.
8848
8849 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
8850 (Fscroll_right): Add ^ interactive spec.
8851
88522008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
8853
8854 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
8855
8856 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
8857
8858 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
8859
88602008-03-31 Juri Linkov <juri@jurta.org>
8861
8862 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
8863
88642008-03-30 Jan Djärv <jan.h.d@swipnet.se>
8865
8866 * gtkutil.c (xg_set_geometry): Fix indentation.
8867 (xg_resize_outer_widget): Remove.
8868 (x_wm_size_hint_off): Fix indentation.
8869 (xg_frame_set_char_size): Call flush_and_sync after
8870 gtk_window_resize.
8871 (x_wm_set_size_hint): Pass NULL as geometry window to
8872 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
8873 Add menu bar and tool bar height to base height.
8874 (xg_update_frame_menubar, free_frame_menubar)
8875 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
8876 (update_frame_tool_bar, free_frame_tool_bar):
8877 Change xg_resize_outer_widget to xg_frame_set_char_size.
8878
88792008-03-30 Michael Albinus <michael.albinus@gmx.de>
8880
8881 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
8882 (Fdbus_call_method): New parameter TIMEOUT.
8883 (dbus-send-signal): Optimize UNGCPRO call.
8884
88852008-03-29 Juri Linkov <juri@jurta.org>
8886
8887 * window.c (Fdisplay_buffer): Move call to
8888 Vsplit_window_preferred_function out of conditions that check
8889 if window is eligible for vertical splitting.
8890 When Vsplit_window_preferred_function is non-nil, call it and use
8891 its non-nil return value as window. Otherwise, continue doing
8892 vertical splitting using Fsplit_window with arg horflag=nil.
8893 (syms_of_window) <Vsplit_window_preferred_function>: Change the
8894 default value from `split-window' to nil.
8895
88962008-03-29 Juri Linkov <juri@jurta.org>
8897
8898 * callint.c (Fcall_interactively): Revert 2008-03-16 change
8899 for interactive code letters 'b' and 'B'.
8900
89012008-03-29 Eli Zaretskii <eliz@gnu.org>
8902
8903 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
8904 multibyte string.
8905
89062008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
8907
8908 * keyboard.c (pending_funcalls): New var.
8909 (timer_check): Run it.
8910 (syms_of_keyboard): Initialize it.
8911 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
8912 (Vdelete_terminal_functions): New vars.
8913 (syms_of_terminal): Initialize them.
8914 (Fdelete_terminal): Run delete-terminal-functions.
8915 * xdisp.c (safe_eval): Rewrite.
8916 (safe_call2): New fun.
8917 * frame.c (Qdelete_frame_functions): New var.
8918 (syms_of_frame): Initialize it.
8919 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
8920 * lisp.h (safe_call2, pending_funcalls): Declare.
8921
89222008-03-28 Andreas Schwab <schwab@suse.de>
8923
8924 * indent.c (Fmove_to_column): Move declaration before statements.
8925
89262008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
8927
8928 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
8929 (struct frame): Use bit fields for boolean vars.
8930
8931 * process.c (server_accept_connection): Simplify naming.
8932 (emacs_get_tty_pgrp): Use SDATA.
8933
8934 * coding.c (decode_coding_object): Fix last change.
8935
89362008-03-27 Jason Rumney <jasonr@gnu.org>
8937
8938 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
8939
89402008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
8941
8942 * charset.c (Fdefine_charset_internal): Change the way of
8943 registering charsets in Vcharset_order_list.
8944 (syms_of_charset): Make the charset `eight-bit' supplementary.
8945
89462008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
8947
8948 * regex.c (EXTEND_BUFFER): Change order of pointer addition
8949 operations, to avoid having the difference between pointers
8950 overflow.
8951
89522008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
8953
8954 * indent.c (check_display_width): New fun.
8955 (scan_for_column): Use it.
8956
8957 * data.c (syms_of_data): Mark most-positive-fixnum and
8958 most-negative-fixnum as constants.
8959
8960 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
8961
8962 * indent.c (scan_for_column): Extract from current_column_1.
8963 Merge with the same code from Fmove_to_column.
8964 (current_column_1, Fmove_to_column): Use it.
8965
89662008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
8967
8968 * keymap.c (map_keymap_internal): New fun.
8969 (map_keymap): Use it.
8970 (Fmap_keymap_internal): New fun.
8971 (Fmap_keymap): Remove left-out test from before make_save_value.
8972
8973 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
8974
8975 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
8976 Use XCAR/XCDR.
8977
8978 * process.h (struct Lisp_Process): Remove filter_multibyte.
8979 * process.c (QCfilter_multibyte): Remove.
8980 (setup_process_coding_systems): Don't use filter_multibyte.
8981 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
8982 (read_process_output): Don't adjust multibyteness to filter_multibyte.
8983 (Fset_process_filter_multibyte): Change the coding-system to
8984 approximate the previous behavior.
8985 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
8986 coding-system.
8987
8988 * coding.c (decode_coding_object): When not decoding into a buffer,
8989 obey the coding system's preference of (uni|multi)byte.
8990
89912008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
8992
8993 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
8994 every char is changed and has a different byte-length.
8995 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
8996 Fix int -> EMACS_INT.
8997
89982008-03-23 David Hansen <david.hansen@gmx.net>
8999
9000 * dbusbind.c (xd_read_message): Remove extra copying of message
9001 strings. Check for NULL `interface' or `member'.
9002
90032008-03-22 Eli Zaretskii <eliz@gnu.org>
9004
9005 * w32.c (readdir): If FindFirstFile/FindNextFile return in
9006 cFileName a file name that includes `?' characters, use the 8+3
9007 alias in cAlternateFileName instead.
9008
90092008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
9010
9011 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
9012
90132008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
9014
9015 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
9016 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
9017 work on current_buffer only instead (that was already the case
9018 for some of the code anyway).
9019 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
9020 (temp_set_point, temp_set_point_both): Use EMACS_INT.
9021 (SET_PT, SET_PT_BOTH): Adjust.
9022 * intervals.h (set_point, temp_set_point, set_point_both)
9023 (temp_set_point_both): Remove redundant declarations.
9024
90252008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
9026
9027 * fileio.c (Finsert_file_contents):
9028 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
9029 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
9030 when buffer != current_buffer anyway.
9031
90322008-03-20 Andreas Schwab <schwab@suse.de>
9033
9034 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
9035 as default.
9036
90372008-03-19 Jason Rumney <jasonr@gnu.org>
9038
9039 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
9040 (syms_of_w32fns): Initialize them.
9041 (HOURGLASS_ID): New constant.
9042 (x_window_to_frame): Don't check hourglass_window.
9043 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
9044 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
9045 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
9046 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
9047 Only change the cursor if hourglass is not active.
9048 (Fx_create_frame): Initialize frame's current_cursor.
9049 (hourglass_atimer): Remove.
9050 (hourglass_started): New function.
9051 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
9052 (show_hourglass): Adapt to w32, changing argument to frame.
9053
9054 * w32term.h (struct w32_output): Remove hourglass_window.
9055 Add current_cursor.
9056
9057 * eval.c (call_debugger, Fsignal):
9058 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
9059 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
9060 (Fexecute_extended_command, cancel_hourglass_unwind):
9061 * minibuf.c (read_minibuf):
9062 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
9063
90642008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
9065
9066 * window.c (run_funs): New fun.
9067 (run_window_configuration_change_hook): Use it to run the buffer-local
9068 and the global part of the hook.
9069
9070 * xdisp.c (format_mode_line_unwind_data): Add window argument.
9071 (unwind_format_mode_line): Restore selected window.
9072 (x_consider_frame_title, Fformat_mode_line): Set selected window.
9073
90742008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
9075
9076 * editfns.c (Fchar_equal): Check they are valid characters.
9077
9078 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
9079
90802008-03-17 Andreas Schwab <schwab@suse.de>
9081
9082 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
9083 against a charset.
9084
9085 * lisp.h (Fbuffer_list): Declare.
9086
90872008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 9088
aac0c6e3
MR
9089 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
9090 handlebox_widget is != 0.
9091
90922008-03-16 Juri Linkov <juri@jurta.org>
9093
9094 * callint.c (Fcall_interactively): For interactive code letters
9095 'b' and 'B' put the buffer list into the list of default "future"
9096 values of the minibuffer.
9097
90982008-03-16 Andreas Schwab <schwab@suse.de>
9099
9100 * keyboard.c (read_key_sequence): Fix downcasing of letters with
9101 modifiers.
9102
9103 * regex.c (re_match_2_internal): Correct matching of a charset
9104 against latin-1 characters.
9105
91062008-03-16 Kenichi Handa <handa@m17n.org>
9107
9108 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
9109 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
9110 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
9111 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
9112 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
9113 CHAR_STRING_ADVANCE.
9114 (produce_chars): Fix for the case that the source and the
9115 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
9116 instead of CHAR_STRING_ADVANCE.
9117 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
9118 STRING_CHAR_ADVANCE.
9119
91202008-03-15 Andreas Schwab <schwab@suse.de>
9121
9122 * regex.c (re_match_2_internal): Correct matching of eight bit
9123 characters in unibyte strings.
9124
91252008-03-15 Martin Rudalics <rudalics@gmx.at>
9126
9127 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
9128 at end of range when it coincides with the end of the buffer.
9129
91302008-03-14 Eli Zaretskii <eliz@gnu.org>
9131
9132 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
9133
9134 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
9135
91362008-03-14 Jason Rumney <jasonr@gnu.org>
9137
9138 * editfns.c (initial_tz): New variable.
9139 (syms_of_editfns): Initialize it.
9140 (Fset_time_zone_rule): Set it when first called.
9141 Use it when TZSTRING is nil.
9142
9143 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
9144 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
9145 (monitor_from_point_fn, get_monitor_info_fn): New globals.
9146 (globals_of_w32fns): Initialize them.
9147 (compute_tip_xy): Use them to position tooltips.
9148
91492008-03-14 Glenn Morris <rgm@gnu.org>
9150
9151 * emacs.c (main): Revert previous change.
9152 (standard_args): Revert -internal-script back to -scriptload,
9153 and remove the long-option form.
9154
91552008-03-13 Glenn Morris <rgm@gnu.org>
9156
9157 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
9158 Remove option -enable-font-backend.
9159
91602008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
9161
9162 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
9163
91642008-03-11 Jan Djärv <jan.h.d@swipnet.se>
9165
9166 * xterm.c (x_connection_closed): For GTK: If this is the last
9167 terminal just exit without closing the display.
9168
91692008-03-11 Jason Rumney <jasonr@gnu.org>
9170
9171 * w32font.c (w32font_full_name): Use floor to round.
9172
f0131492 91732008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
9174
9175 * sound.c (alsa_configure): Declare vol at beginning of block.
9176
9177 * fontset.c (Ffontset_info): Remove extra semicolon.
9178
91792008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
9180
9181 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
9182 size of resulting string.
9183
91842008-03-10 Jason Rumney <jasonr@gnu.org>
9185
9186 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
9187
91882008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9189
9190 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
9191 Don't pretend as if characters with display property haven't been
9192 consumed for string-replacing-string case.
9193
91942008-03-08 Kim F. Storm <storm@cua.dk>
9195
9196 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
9197 (get_next_display_element, next_element_from_string)
9198 (next_element_from_ellipsis, next_element_from_buffer): Use it.
9199
92002008-03-08 Andreas Schwab <schwab@suse.de>
9201
9202 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
9203
92042008-03-06 Jason Rumney <jasonr@gnu.org>
9205
9206 * w32font.c (w32_registry): Take font_type argument. Use ANSI
9207 when charset not specified. Only translate ANSI to unicode when
9208 font_type is truetype.
9209 (w32font_coverage_ok): New function.
9210 (add_font_entity_to_list): Use it to filter unsuitable fonts.
9211
92122008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
9213
9214 * lread.c (Fread_char): Resolve modifiers.
9215 (Fread_char_exclusive): Likewise.
9216
9217 * character.c (char_resolve_modifier_mask): New function.
9218 (char_string): Use char_resolve_modifier_mask.
9219 (Fchar_resolve_modifiers): New function.
9220 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
9221 function.
9222
92232008-03-04 Jason Rumney <jasonr@gnu.org>
9224
9225 * makefile.w32-in: Always include w32font.c in the build.
9226 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
9227
92282008-03-04 Andreas Schwab <schwab@suse.de>
9229
9230 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
9231 (versionclean): Likewise.
9232
92332008-03-04 Juanma Barranquero <lekktu@gmail.com>
9234
9235 * .cvsignore: Add oo.
9236
92372008-03-03 Andreas Schwab <schwab@suse.de>
9238
9239 * coding.c (decode_coding_object): Inhibit gap shrinking while
9240 decoding in place.
9241
92422008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
9243
9244 * w32term.c: Remove unused include "gnu.h".
9245 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
9246
9247 * gnu.h: Rename to ...
9248 * emacs-icon.h: ... this.
9249 * xterm.c: Use emacs-icon.h instead of gnu.h.
9250 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
9251
92522008-03-03 Juanma Barranquero <lekktu@gmail.com>
9253
9254 * w32font.c: Include math.h.
9255
92562008-03-03 Jason Rumney <jasonr@gnu.org>
9257
9258 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
9259 Compute options separately.
9260 (w32font_open_internal): Set glyph_idx before caching metrics.
9261
9262 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
9263 Define if system headers don't.
9264 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
9265 (w32font_encode_char): Don't declare here.
9266
9267 * w32font.c (Quniscribe, QCformat): New symbols.
9268 (syms_of_w32font): Define them.
9269 (w32font_has_char): Indicate uncertainty.
9270 (w32font_encode_char): Encode as glyph point. Make static.
9271 (recompute_cached_metrics): New function.
9272 (w32font_open_internal): Use it. Set font to use glyph points
9273 initially. Set format based on type of font.
9274 (w32font_text_extents, w32font_draw): Optionally use glyph points.
9275 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
9276 on it. Set format based on information available here.
9277 (add_font_entity_to_list): Identify backend based on opentype_only.
9278
92792008-03-02 Andreas Schwab <schwab@suse.de>
9280
9281 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
9282
9283 * coding.c (decode_coding_big5, produce_chars):
9284 Fix typos in last change.
9285
92862008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
9287
9288 * gnu.h: New icon.
9289
92902008-03-02 Kenichi Handa <handa@m17n.org>
9291
9292 * coding.c (decode_coding_utf_8): When eol-type of CODING is
9293 `dos', don't decode '\r' if that is the last in the source.
9294 (decode_coding_utf_16, decode_coding_emacs_mule)
9295 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9296 (decode_coding_raw_text, decode_coding_charset): Likewise.
9297 (produce_chars): Don't decode EOL here. Use EMACS_INT.
9298
92992008-03-01 Jason Rumney <jasonr@gnu.org>
9300
9301 * w32font.c (w32font_full_name): Report point size for scalable fonts.
9302
93032008-03-01 Kim F. Storm <storm@cua.dk>
9304
9305 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
9306
93072008-03-01 Jason Rumney <jasonr@gnu.org>
9308
9309 * w32font.c (w32font_full_name): New function.
9310 (w32font_open_internal): Use it.
9311
93122008-03-01 Kim F. Storm <storm@cua.dk>
9313
9314 * dispnew.c (line_draw_cost): Fix invalid glyph check.
9315
93162008-03-01 Jason Rumney <jasonr@gnu.org>
9317
9318 * font.c (font_unparse_fcname): Increase len when style is a symbol.
9319
93202008-03-01 Jan Djärv <jan.h.d@swipnet.se>
9321
9322 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
9323 xg_frame_resized when the event is for the edit widget.
9324
9325 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
9326
9327 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
9328 set_char_size.
9329 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
9330 operations on widgets here. Just set frame size if needed.
9331 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
9332 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
9333 (x_wm_set_size_hint): Set size hints on the edit widget only, not
9334 the whole frame.
9335 (xg_create_tool_bar): Move attachment of the tool bar to
9336 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
9337 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
9338
93392008-03-01 Jason Rumney <jasonr@gnu.org>
9340
9341 * w32fns.c (w32_msg_pump): Disable debug code.
9342
93432008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9344
9345 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
9346
93472008-02-29 Chong Yidong <cyd@stupidchicken.com>
9348
9349 * xdisp.c (next_overlay_string): Don't set
9350 overlay_strings_at_end_processed_p if we're currently reading from
9351 a display string.
9352
93532008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
9354
9355 * xdisp.c (get_overlay_strings_1): Fix typo.
9356
93572008-02-29 Chong Yidong <cyd@stupidchicken.com>
9358
9359 * xdisp.c (get_overlay_strings_1): Add missing argument type.
9360
93612008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
9362
9363 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
9364
9365 * xdisp.c (display_mode_element): Cancel the previous change.
9366 (decode_mode_spec): Likewise.
9367 (handle_auto_composed_prop): Don't make composition if it->string
9368 is a string.
9369
93702008-02-27 Kim F. Storm <storm@cua.dk>
9371
9372 * lisp.h (GLYPH): Change type from int to struct with separate char
9373 and face_id members.
9374 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
9375 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
9376 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
9377 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
9378 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
9379 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
9380 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
9381 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
9382 handle new Lisp glyph code encoding, either an integer or a cons.
9383
9384 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
9385 (GLYPH_ALIAS): Delete.
9386 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
9387 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
9388 (GLYPH_FROM_CHAR): Replace macro by ...
9389 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
9390
9391 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
9392 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
9393 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
9394 (GLYPH_INVALID_P): New macro.
9395 (spec_glyph_lookup_face): Update prototype.
9396
9397 * dispnew.c (line_draw_cost): Adapt to new glyph type.
9398 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
9399 new glyph code encoding.
9400 (spec_glyph_lookup_face): No return value; update passed glyph instead.
9401 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
9402
9403 * xdisp.c (get_next_display_element, next_element_from_display_vector):
9404 Adapt to new glyph type and new glyph code encoding.
9405
9406 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
9407
9408 * indent.c (current_column, current_column_1, Fmove_to_column)
9409 (compute_motion): Adapt to new glyph code encoding.
9410
9411 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
9412
94132008-02-27 Chong Yidong <cyd@stupidchicken.com>
9414
9415 * process.c (wait_reading_process_output): Check for window
9416 changes caused by timers.
9417 Suggested by Johan Bockgård.
9418
94192008-02-27 Glenn Morris <rgm@gnu.org>
9420
9421 * emacs.c (USAGE1): Add `--disable-font-backend'.
9422
94232008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
9424
9425 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
9426 is made to the buffer.
9427
94282008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
9429
9430 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
9431 (face_at_string_position):
9432 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
9433 (face_at_string_position):
9434 * xdisp.c (display_string, next_overlay_change):
9435 * buffer.h (overlays_at):
9436 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
9437 Update callers.
9438
94392008-02-26 Chong Yidong <cyd@stupidchicken.com>
9440
9441 * editfns.c (Fformat): Doc fix.
9442
94432008-02-26 Juanma Barranquero <lekktu@gmail.com>
9444
9445 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
9446 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
9447 (Ffont_otf_alternates, Fquery_font): Doc fixes.
9448
94492008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9450
9451 * buffer.c (Fbuffer_swap_text): New function.
9452 (syms_of_buffer): Defsubr it.
9453
94542008-02-25 Chong Yidong <cyd@stupidchicken.com>
9455
9456 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
9457
94582008-02-25 Jason Rumney <jasonr@gnu.org>
9459
9460 * w32font.c (w32font_draw): Draw one character at a time when padding.
9461
94622008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9463
9464 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
9465 Handle a nil arg. Use run_window_configuration_change_hook.
9466 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
9467 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
9468 Use run_window_configuration_change_hook.
9469
94702008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9471
9472 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
9473 1-pixel width.
9474
94752008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9476
9477 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
9478 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
9479 if the glyph in the font is zero pixel with.
9480
9481 * dispextern.h (struct glyph_string): New member padding_p.
9482
9483 * w32font.c (w32font_draw): Pay attention to s->padding_p.
9484
9485 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
9486
9487 * xfont.c (xfont_draw): Pay attention to s->padding_p.
9488
9489 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
9490
9491 * font.c: If the font driver doesn't have `shape' function, return Qnil.
9492
94932008-02-25 Jason Rumney <jasonr@gnu.org>
9494
9495 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
9496
94972008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
9498
9499 Allow fine-grained image-cache flushing.
9500 * dispextern.h (struct image): Add `dependencies' field.
9501 (clear_image_caches): Change arg to Lisp_Object.
9502 * image.c (make_image): Initialize `dependencies' field.
9503 (clear_image_cache): Change arg to allow fine-grained flushing.
9504 Perform the flush even if image-cache-eviction-delay is nil.
9505 (clear_image_caches): Change arg to Lisp_Object.
9506 (Fclear_image_cache): Expand meaning of the argument.
9507 (mark_image): Mark `dependencies' field.
9508 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
9509 (lface_hash): Use XHASH rather than XFASTINT.
9510 (face_at_buffer_position): Fix int -> EMACS_INT position.
9511 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
9512 (select_frame_for_redisplay): Remove code duplication.
9513 (redisplay_internal): Adapt arg to call to clear_image_caches.
9514
95152008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
9516
9517 * s/vms4-0.h:
9518 * s/vms4-2.h:
9519 * s/vms4-4.h:
9520 * s/vms5-5.h: Remove, unused.
9521
9522 * s/irix5-2.h:
9523 * s/irix6-0.h:
9524 * s/riscos5.h:
9525 * s/mach-bsd4-3.h:
9526 * m/mips4.h: Remove files for obsolete systems.
9527
9528 * Makefile.in:
9529 * filelock.c:
9530 * unexmips.c:
9531 * m/hp9000s300.h:
9532 * m/iris4d.h:
9533 * s/aix3-1.h:
9534 * s/hpux.h:
9535 * s/msdos.h:
9536 * s/usg5-0.h:
9537 * s/usg5-2-2.h:
9538 * s/usg5-2.h:
9539 * s/usg5-3.h: Remove references to obsolete variables.
9540
9541 * s/irix5-0.h: Remove, move all the contents ...
9542 * s/irix6-5.h: ... here. Simplify.
9543 * config.in: Regenerate.
9544
95452008-02-24 Jason Rumney <jasonr@gnu.org>
9546
9547 * w32term.c (x_draw_glyph_string_background): Clear the background
9548 manually when cleartype is in use.
9549 (x_draw_glyph_string_foreground): Draw text transparently when
9550 cleartype is in use.
9551
9552 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
9553 a font into it unless we have to.
9554
95552008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9556
9557 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
9558 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 9559
aac0c6e3
MR
95602008-02-18 Jason Rumney <jasonr@gnu.org>
9561
9562 * w32fns.c (Fw32_shell_execute): Encode parameters.
9563
95642008-02-09 Eli Zaretskii <eliz@gnu.org>
9565
9566 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
9567
95682008-02-05 Juanma Barranquero <lekktu@gmail.com>
9569
9570 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
9571
95722008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
9573
9574 * xterm.c (x_set_offset): Don't change the gravity if
9575 CHANGE_GRAVITY is -1.
9576
95772008-02-23 Chong Yidong <cyd@stupidchicken.com>
9578
9579 * fileio.c (auto_save_error_occurred): New var.
9580 (auto_save_error): Set it.
9581 (Fdo_auto_save): Don't overwrite the error message if an auto-save
9582 error occurred.
9583
95842008-02-23 Eli Zaretskii <eliz@gnu.org>
9585
9586 * w32.c (globals_of_w32): Add initializations for
9587 g_b_init_get_sid_sub_authority and
9588 g_b_init_get_sid_sub_authority_count.
9589
95902008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
9591
9592 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
9593 (font_parse_xlfd): Use them for sanity check.
9594 (Finternal_set_font_style_table): Make sure the table is bijective.
9595
9596 Consolidate the image_cache to the terminal struct.
9597 * termhooks.h (P_): Remove redundant def.
9598 (struct terminal): New field `image_cache'.
9599 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
9600 of FRAME_X_IMAGE_CACHE.
9601 * xterm.h (struct x_display_info): Remove image_cache field.
9602 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9603 * w32term.h (struct w32_display_info): Remove image_cache field.
9604 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9605 * macterm.h (struct mac_display_info): Remove image_cache field.
9606 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9607 * xterm.c (x_term_init):
9608 * w32term.c (w32_term_init):
9609 * macterm.c (mac_term_init): Set the image_cache in the terminal.
9610 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
9611 Remove declarations.
9612 (clear_image_caches, mark_image_cache): New declarations.
9613 * xfaces.c (clear_face_cache):
9614 * xdisp.c (redisplay_internal): Use clear_image_caches.
9615 * image.c (clear_image_cache): Don't check that a frame is on
9616 a window-system before checking if it shares the same cache.
9617 (clear_image_caches): New function.
9618 (Fclear_image_cache): Use it.
9619 (mark_image): Move from allo.c.
9620 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
9621 * alloc.c (mark_image, mark_image_cache): Move to image.c.
9622 (mark_object): Don't call mark_image_cache for frames.
9623 (mark_terminals): Call mark_image_cache.
9624
9625 * lisp.h (Fdelete_terminal): Declare.
9626
9627 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
9628 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
9629 wrong_type_argument.
9630
96312008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
9632
9633 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
9634 malayalam.el, and tamil.el. Add sinhala.el.
9635
96362008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
9637
9638 * xterm.c (x_connection_closed): Consolidate identical tests.
9639 (x_delete_terminal): Don't crash if called via x_connection_closed.
9640
96412008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
9642
9643 * xdisp.c (decode_mode_spec): New arg string.
9644 (display_mode_element): Adjust for the above change.
9645
96462008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9647
9648 * callint.c (Fcall_interactively): Use AREF.
9649
96502008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
9651
9652 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
9653
96542008-02-18 Jan Djärv <jan.h.d@swipnet.se>
9655
9656 * xfns.c (Fx_show_tip): Set string to " " if empty.
9657
96582008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
9659
9660 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
9661 with Qt.
9662
96632008-02-17 Kenichi Handa <handa@m17n.org>
9664
9665 * ftfont.c (ftfont_shape): Return Lispy number.
9666
9667 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
9668 for GCs.
9669 (Finternal_set_font_selection_order): Call font_update_sort_order
9670 only when enable_font_backend is set.
9671 (realize_x_face): Set face->font_info to that of default face only
9672 when enable_font_backend is set.
9673
9674 * xdisp.c (handle_composition_prop): Set it->c to the fist
9675 character of the composed region.
9676 (fill_composite_glyph_string): Set base_face->font_info to
9677 s->font_info. Get a face for ascii from base_face->ascii_face.
9678 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
9679 with a face already decided.
9680 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
9681 non-negative.
9682 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
9683 call font_prepare_composition unconditionally.
9684
9685 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
9686
9687 * xterm.h (struct x_display_info): New member font.
9688
9689 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
9690 (x_set_mouse_face_gc, x_new_font): Likewise.
9691 (x_term_init): Setup display_info->font.
9692 (x_delete_terminal): Free display_info->font.
9693
9694 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
9695
9696 * ftxfont.c (ftxfont_default_fid): Delete it.
9697 (ftxfont_open): Set xfont->fid to 0.
9698 (ftxfont_end_for_frame): Clear data specific to the frame and the
9699 font-driver.
9700
9701 * xftfont.c (xftfont_default_fid): Delete it.
9702 (xftfont_open): Set xfont->fid to 0.
9703
9704 * fontset.c (FONTSET_OBJLIST): New macro.
9705 (fontset_find_font): Update font-object list of the fontset.
9706 (free_realized_fontset): New function.
9707 (free_face_fontset): Call free_realized_fontset.
9708 (Ffont_info): Call font_close_object only when enable_font_backend
9709 is set.
9710
9711 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
9712 [HAVE_NTGUI]: Include w32term.h.
9713 [MAC_OS]: Include macterm.ch.
9714 (font_otf_ValueRecord): Use make_number.
9715 (font_finish_cache): Fix handling of reference count.
9716 (font_clear_cache): Update num_fonts.
9717 (font_open_entity): Update smallest_char_width and
9718 smallest_font_height of the frame.
9719 (font_close_object): Update num_fonts.
9720 (Fclear_font_cache): Fix finding the target cache data.
9721
97222008-02-16 Glenn Morris <rgm@gnu.org>
9723
9724 * fontset.c (Finternal_char_font): Fix compilation warning.
9725
97262008-02-16 Eli Zaretskii <eliz@gnu.org>
9727
9728 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9729 instead of char arrays. Enlarge the size of array passed to
9730 get_token_information.
9731
9732 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9733 warnings.
9734
97352008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9736
9737 * .gdbinit: Don't set `args', it breaks gdb --args.
9738
97392008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9740
9741 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9742 within a narrowed buffer.
9743
97442008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9745
9746 * coding.c (decode_coding_object, encode_coding_object):
9747 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9748
97492008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9750
9751 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9752 hardcoding 1.
9753 (detect_coding_system):
9754 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9755 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9756 * insdel.c (insert_from_gap):
9757 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9758 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9759 (string_to_multibyte):
9760 * character.c (chars_in_text, multibyte_chars_in_text):
9761 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9762
9763 * character.h (FETCH_STRING_CHAR_ADVANCE)
9764 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9765 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9766 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9767
9768 * casefiddle.c (casify_region): Only call after-change and composition
9769 functions on the part of the region that was changed.
9770
9771 * keyboard.c (read_avail_input):
9772 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9773
97742008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9775
9776 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9777 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9778
97792008-02-11 Juanma Barranquero <lekktu@gmail.com>
9780
9781 * w32menu.c (push_submenu_start, push_submenu_end)
9782 (push_left_right_boundary, push_menu_pane, push_menu_item):
9783 * keyboard.c (read_key_sequence): Don't pass args with side effects
9784 to AREF, it fails when compiling with -DENABLE_CHECKING.
9785
97862008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9787
9788 * Makefile.in (${lispsource}international/charprop.el):
9789 Delete this target.
9790
9791 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9792 emacs-unicode-2.
9793
97942008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9795
9796 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9797
97982008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9799
9800 * frame.c (Qnoelisp): New symbol.
9801 (syms_of_frame): Initialize it.
9802 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9803 harmless Elisp code, from a strong `force' from x_connection_closed.
9804 * frame.h (Qnoelisp): Declare.
9805 * xterm.c (x_connection_closed): Pass `noelisp'.
9806
9807 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9808 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9809 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9810 rather than `int' for the type of `type'.
9811
98122008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9813
9814 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9815
9816 * Makefile.in (GNUC): Remove support for gcc-1.x.
9817
98182008-02-10 Richard Stallman <rms@gnu.org>
9819
9820 * lisp.h (ASET): Use AREF, not ASLOT.
9821
98222008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9823
9824 * lisp.h (ASET): Check bounds.
9825
98262008-02-10 Glenn Morris <rgm@gnu.org>
9827
9828 * buffer.c (mode-name): Doc fix.
9829
98302008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9831
9832 * Makefile.in:
9833 * emacs.c:
9834 * gmalloc.c:
9835 * keyboard.c:
9836 * lisp.h:
9837 * m/ibm370aix.h:
9838 * process.c:
9839 * regex.c:
9840 * s/hpux.h:
9841 * sysdep.c:
9842 * sysselect.h:
9843 * systty.h:
9844 * unexec.c:
9845 * w32term.c:
9846 * xsmfns.c:
9847 * xterm.c: Remove code that deals with obsolete variables.
9848
9849 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
9850
9851 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
9852 nothing else needs it anymore.
9853
98542008-02-09 Eli Zaretskii <eliz@gnu.org>
9855
9856 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
9857 instead of unibyte_char_to_multibyte.
9858
98592008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9860
9861 * s/gnu-linux.h: Remove commented out code.
9862
9863 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
9864
9865 * Makefile.in: Update what RMS says about using autoconf.
9866 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
9867 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
9868 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
9869 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
9870
98712008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
9872
9873 * keymap.c (Fkey_description): Move side effect outside of macro call.
9874
9875 * xfaces.c (Finternal_make_lisp_face):
9876 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
9877
9878 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
9879 (syms_of_fontset): Use ASET.
9880
9881 * fns.c (concat): Move side effect outside of macro call.
9882 (hash_clear): Use ASET.
9883
98842008-02-08 Richard Stallman <rms@gnu.org>
9885
9886 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
9887 If FORCE, and frame has a surrogate minibuffer for another frame,
9888 delete the other frame first.
9889
98902008-02-07 Timo Savola <timo.savola@iki.fi>
9891
9892 * xterm.c (x_detect_focus_change): Handle embed client message.
9893 (handle_one_xevent): Ditto.
9894 (handle_one_xevent): If embedded and we get a button press/release,
9895 request focus.
9896 (xembed_set_info, xembed_send_message): New functions.
9897 (x_make_frame_visible): Call xembed_set_info if embedded.
9898 (x_make_frame_invisible): Call xembed_set_info if embedded.
9899 (x_term_init): Initialize Xatom_XEMBED.
9900 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
9901 (x_iconify_frame): Ditto.
9902
9903 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
9904 (enum xembed_info, enum xembed_message, enum xembed_focus)
9905 (enum xembed_modifier, enum xembed_accelerator): New.
9906 (xembed_set_info, xembed_send_message): Declare.
9907 (FRAME_X_EMBEDDED_P): New.
9908
9909 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
9910 gtk_plug_new.
9911
9912 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
9913 window ID of a frame.
9914 (x_window): Reparent frame if embedded.
9915 (Fx_create_frame): Don't set border width if embedded.
9916
9917 * emacs.c (USAGE3): Add --parent-id.
9918 (standard_args): Ditto.
9919
99202008-02-07 Jan Djärv <jan.h.d@swipnet.se>
9921
9922 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
9923
99242008-02-07 Jim Meyering <meyering@redhat.com>
9925
9926 Use "do...while (0)", not "if (1)...else" in macro definitions.
9927 The latter provokes a warning from gcc about the empty else, when
9928 followed by ";". Also, without that trailing semicolon, it would
9929 silently swallow up any following statement.
9930 * syntax.h (SETUP_SYNTAX_TABLE)
9931 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
9932 * buffer.h (DECODE_POSITION): Likewise.
9933 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
9934 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
9935 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
9936 (FETCH_CHAR_ADVANCE): Likewise.
9937 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
9938
99392008-02-07 Jim Meyering <meyering@redhat.com>
9940
9941 * lread.c [lint]: Don't include <sys/inode.h>.
9942
99432008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
9944
9945 * xselect.c (x_handle_dnd_message):
9946 * xmenu.c (digest_single_submenu, xmenu_show):
9947 * xdisp.c (with_echo_area_buffer_unwind_data)
9948 (format_mode_line_unwind_data, unwind_format_mode_line)
9949 (display_menu_bar):
9950 * eval.c (Ffetch_bytecode):
9951 * doc.c (store_function_docstring):
9952 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
9953 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
9954 * buffer.c (add_overlay_mod_hooklist): Use ASET.
9955
99562008-02-07 Kenichi Handa <handa@m17n.org>
9957
9958 * ftxfont.c (ftxfont_open): Don't set
9959 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
9960
9961 * ftfont.c (ftfont_open): Fix previous change.
9962
99632008-02-06 Jason Rumney <jasonr@gnu.org>
9964
9965 * w32font.c (w32font_text_extents): Fill in lbearing metric.
9966 Use cached metrics for ASCII characters.
9967 (w32font_open_internal): Don't set font's owning_frame.
9968 Cache metrics for ASCII characters.
9969
9970 * w32font.h (struct w32font_info): Add ascii_metrics.
9971 Remove owning_frame.
9972
99732008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
9974
9975 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
9976 to negative value.
9977
9978 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
9979
9980 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
9981
9982 * charset.c (syms_of_charset): Set QCtest and Qeq.
9983
99842008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
9985
9986 * process.c (Fstart_process):
9987 * callproc.c (Fcall_process): Handle the case where
9988 Funhandled_file_name_directory returns nil.
9989
9990 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
9991 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
9992 * font.c (check_gstring): Use them and AREF to access the vector before
9993 we know it's really a gstring.
9994 (Ffont_shape_text): Fix typo.
46e722a9 9995 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
9996
9997 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
9998 Declare.
9999
10000 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
10001
100022008-02-05 Jason Rumney <jasonr@gnu.org>
10003
10004 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
10005 Set smallest_font_height and smallest_char_width in display info.
10006
100072008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
10008
10009 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
10010
100112008-02-05 Miles Bader <miles@gnu.org>
10012
10013 * xfaces.c (get_lface_attributes, merge_named_face)
10014 (lookup_named_face, lookup_derived_face, realize_named_face):
10015 Revert 2008-02-01 change by cyd@stupidchicken.com.
10016
100172008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
10018
10019 * fontset.c (Ffontset_info): Handle the case of inhibitting the
10020 fallback fonts.
10021 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
10022
100232008-02-04 Jason Rumney <jasonr@gnu.org>
10024
10025 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
10026 set full_name.
10027 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
10028
100292008-02-03 Jason Rumney <jasonr@gnu.org>
10030
10031 * makefile.w32-in (OBJ1): Include font.o here.
10032 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
10033
100342008-02-02 Jason Rumney <jasonr@gnu.org>
10035
10036 * makefile.w32-in (temacs): Bump EMHEAP to 21.
10037
100382008-02-01 Jason Rumney <jasonr@gnu.org>
10039
10040 * s/cygwin.h: Define VIRT_ADDR_VARIES.
10041
10042 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
10043
100442008-02-01 Andreas Schwab <schwab@suse.de>
10045
10046 * Makefile.in (shortlisp, lisp): Update for rename of
10047 ../lisp/language/myanmar.el.
10048
100492008-02-01 Chong Yidong <cyd@stupidchicken.com>
10050
10051 * xfaces.c (get_lface_attributes): Delete function.
10052 (merge_named_face, lookup_named_face, lookup_derived_face)
10053 (realize_named_face): Call lface_from_face_name directly, and use
10054 the fact that merge_face_vectors does not alter its FROM argument.
10055
100562008-02-01 Jason Rumney <jasonr@gnu.org>
10057
10058 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
10059 input in the default locale. Handle non-Unicode multibyte input.
10060
100612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10062
10063 * fontset.c (reorder_font_vector): Exclude nil elements from the
10064 font group. Don't try multiple fonts.
10065 (fontset_font): Adjust for the above change.
10066 (Finternal_char_font): Return nil if the found font doesn't
10067 contain the character ch.
10068
10069 * Makefile.in (lisp, shortlisp): Add cham.el.
10070
100712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10072
10073 * font.h (FONTP): Make it return 1 also for a font-object.
10074
10075 * .gdbinit (xfontset): New function.
10076
10077 * font.c (font_find_for_lface): Check if the character C is
10078 supported or not only for the first font.
10079
10080 * fontset.c (reorder_font_vector): Fix typo.
10081 (fontset_find_font): Don't add a font-spec specifying a script.
10082 Use 0 (not Qt) for the indication of empty font-group. Change the
10083 format of RFONT-DEF. Return Qt if no font in the font-group
10084 support the character.
10085 (fontset_font): Adjust for the above change. If no font was
10086 found the character, remember that.
10087 (face_for_char): Adjust for the change of RFONT-DEF.
10088 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
10089 no font for the target.
10090 (Finternal_char_font): Adjust for the change of RFONT-DEF.
10091
100922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10093
10094 * font.c (font_load_for_face): Handle the case that the font in
10095 face->lface is a string.
10096
100972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10098
10099 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
10100
101012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10102
10103 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
10104 Fix previous change. If the frame is not on a window system,
10105 signal an error.
10106
101072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10108
10109 * coding.c (decode_coding_object, encode_coding_object): Adjust
10110 marker positions after conversion.
10111
10112 * lisp.h (struct Lisp_Marker): New member need_adjustment.
10113
101142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10115
10116 * font.c (font_find_for_lface): Fix the handling of the return
10117 value of font_has_char.
10118 (Ffont_shape_text): Fix previous change.
10119
10120 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
10121 (fontset_ref_and_range): Delete it.
10122 (fontset_find_font): Call char_table_ref_and_range instead of
10123 FONTSET_REF_AND_RANGE.
10124 (make_fontset): Don't setup font groups of Latin here.
10125 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
10126 (new_fontset_from_font): Make the specified font the default for
10127 all Latin characters.
10128
101292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10130
10131 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
10132 is on a window system before accessing the fontset of the frame.
10133
101342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10135
10136 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
10137
10138 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
10139 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
10140
10141 * font.c (Ffont_shape_text): If the font driver doesn't have a
10142 shaper function, make zero-width glyphs to have at least one-pixel
10143 width. Fix setting of `to' field of glyphs.
10144
101452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10146
10147 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
10148 glyphs.
10149
10150 * font.h (struct font_driver): Improve docstring of member `shape'.
10151
101522008-02-01 Kenichi Handa <handa@m17n.org>
10153
10154 * composite.c (syms_of_composite): Fix docstring of
10155 auto-composition-function.
10156
10157 * font.h (LGLYPH_SIZE): New macro.
10158
10159 * font.c (Ffont_fill_gstring): Stop filling when a character not
10160 supported by the font is found.
10161 (Ffont_shape_text): When a shape callback function returns nil,
10162 try at most two more times with larger gstring.
10163 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
10164
10165 * xdisp.c (handle_auto_composed_prop): Change the argument to
10166 auto-composition-function.
10167
10168 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
10169 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
10170 Lispy glyph and store it in the lgstring.
10171
10172 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
10173
10174 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
10175
101762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10177
10178 * font.c (Ffont_shape_text): Avoid unnecessary composition.
10179
10180 * fontset.c (Vfont_encoding_charset_alist): New variable.
10181 (syms_of_fontset): DEFVAR it.
10182 (reorder_font_vector, fontset_find_font): Optimize for the case of
10183 no need of reordering.
10184 (face_for_char): Map the charset property by
10185 Vfont_encoding_charset_alist.
10186
101872008-02-01 Jason Rumney <jasonr@gnu.org>
10188
10189 * w32font.c (logfonts_match): Don't check adstyle here.
10190 (font_matches_spec): Check here against physical font instead.
10191 (add_font_entity_to_list): Avoid some substitutions.
10192
10193 * font.c (font_parse_fcname): Default weight and slant to normal.
10194 (font_score): Prefer normal fonts if weight or slant unspecified.
10195 (font_score) [WINDOWSNT]: Scale weight difference down to closer
10196 match freetype scores.
10197
101982008-02-01 Jason Rumney <jasonr@gnu.org>
10199
10200 * w32font.c (w32font_text_extents): Don't use the frame stored in the
10201 font, as it may have been deleted.
10202 (w32_enumfont_pattern_entity): Map generic family to adstyle using
10203 most common hyphenless variation.
10204 (logfonts_match): Check generic family.
10205 (font_matches_spec): Don't check generic family here.
10206 (fill_in_logfont): Set generic family based on adstyle.
10207
10208 * w32font.h (w32font_get_cache): Update declaration.
10209
102102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10211
10212 * ftfont.c (ftfont_get_cache): Adjust the argument type.
10213
10214 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
10215 If none of the new drivers are available, call font_update_drivers
10216 with the old drivers.
10217
10218 * w32font.c (w32font_get_cache): Adjust the argument type.
10219
10220 * xfont.c (xfont_get_cache): Adjust the argument type.
10221
10222 * font.h (struct font_driver): Change argument type of get_cache.
10223
10224 * xftfont.c (xftfont_start_for_frame): Delete prototype.
10225
10226 * font.c (Ffont_get): Fix arguments to Fassoc.
10227 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
10228 (font_clear_cache): New function.
10229 (font_list_entities, font_matching_entity): Use font_get_cache.
10230 (font_update_drivers): Call font_clear_cache when finishing a driver.
10231
10232 * fontset.c (fontset_find_font): Fix previous change.
10233
102342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10235
10236 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
10237 dpyinfo->font_table.
10238 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
10239 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
10240
10241 * font.c (font_at): Handle the case that the arg C is negative.
10242 Handle the unibyte case.
10243 (Ffont_at): Call font_at with the arg C -1.
10244
10245 * xdisp.c (handle_auto_composed_prop): Don't get a character at
10246 the position here, and call font_at with the arg C -1.
10247 Don't check the range of the existing composition at the point.
10248
102492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10250
10251 * fontset.c (fontset_add): New args charset_id and family.
10252 Change caller.
10253 (load_font_get_repertory, fontset_find_font): Assume that
10254 font_spec is always a font-spec object.
10255 (Fset_fontset_font): Always store a font-spec object in a fontset.
10256
10257 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
10258 instead of get_property_and_range.
10259
102602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10261
10262 * xftfont.c (struct xftfont_info): Delete the member ft_face.
10263 (xftfont_open): Don't keep locking face.
10264 (xftfont_close): Don't unlock face.
10265 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
10266
10267 * fontset.c (fontset_find_font): Don't prefer a font of
10268 supplementary charset.
10269
102702008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
10273 script, langsys_tag to langsys, new member script.
10274 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 10275 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
10276 listing to the script specified in that property. Fix arg to
10277 OTF_check_features.
10278
102792008-02-01 Jason Rumney <jasonr@gnu.org>
10280
10281 * w32font.h: New file.
10282
10283 * w32font.c: Include it.
10284 (struct w32font_info): Add owning_frame field. Move to w32font.h.
10285 (w32font_open): Set owning_frame.
10286 (w32font_text_extents): Use owning_frame.
10287 (struct font_callback_data): Add opentype_only field.
10288 (add_font_entity_to_list): Use it to filter fonts.
10289 Don't check against full name.
10290 (w32font_list_internal): New function.
10291 (w32font_list): Use it.
10292 (w32font_match_internal): New function.
10293 (w32font_match): Use it.
10294 (w32font_open_internal): New function.
10295 (w32font_open): Use it.
10296 (w32font_get_cache, w32font_close, w32font_has_char)
10297 (w32font_encode_char, w32font_text_extents, w32font_draw):
10298 Make non-static.
10299
10300 * makefile.w32-in (w32font.o): Depend on w32font.h.
10301
103022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10303
10304 * charset.c (Fdefine_charset_internal): Record a supplementary
10305 charset at the tail of Vcharset_order_list.
10306
10307 * font.c (Ffont_shape_text): Fix the return value.
10308
10309 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
10310
10311 * xdisp.c (handle_auto_composed_prop): Fix previous change.
10312
103132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10314
10315 * ftfont.c (struct OpenTypeSpec): New struct.
10316 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
10317 (ftfont_get_open_type_spec): New function.
10318 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
10319
10320 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
10321
103222008-02-01 Jason Rumney <jasonr@gnu.org>
10323
10324 * w32font.c (add_font_entity_to_list): Compare only the beginning
10325 of full name.
10326
103272008-02-01 Kenichi Handa <handa@m17n.org>
10328
10329 * xdisp.c (handle_auto_composed_prop): Simplify the code.
10330 Never return HANDLED_RECOMPUTE_PROPS.
10331
103322008-02-01 Kenichi Handa <handa@m17n.org>
10333
10334 * font.c (font_gstring_produce): Delete it.
10335
10336 * composite.h (COMPOSITION_METHOD):
10337 Handle COMPOSITION_WITH_GLYPH_STRING.
10338
103392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10340
10341 * xfont.c (Qx): Delete.
10342 (syms_of_xfont): Don't initialize Qx.
10343
10344 * composite.h (enum composition_method):
10345 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
10346
103472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10348
10349 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
10350 (choose_face_font): Accept new form of font-spec.
10351
10352 * frame.h (font_driver_list): Declare it unconditionally.
10353 (struct frame): Define members font_driver_list and font_data_list
10354 unconditionally.
10355
10356 * fontset.c: Include "font.h" unconditionally.
10357 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
10358 (Fset_fontset_font): Accept a font-spec object.
10359
10360 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
10361 PIXEL_SIZE part a wild card.
10362
10363 * dispextern.h (struct glyph_string): Define members clip and
10364 num_clips unconditionally.
10365 (struct face): Define members font_info and extra unconditionally.
10366
10367 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
10368 ftfont_info only when HAVE_LIBOTF is defined.
10369
103702008-02-01 Andreas Schwab <schwab@suse.de>
10371
10372 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
10373 and end.
10374
103752008-02-01 Jason Rumney <jasonr@gnu.org>
10376
10377 * w32font.c (w32font_driver): Add new fields.
10378
103792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10380
10381 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
10382 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
10383 (LIBES): Add @M17N_FLT_CFLAGS@.
10384
10385 * composite.c (compose_text): Don't treat the new style
10386 composition specially.
10387
10388 * emacs.c (main): Call syms_of_font unconditionally.
10389
10390 * font.h (FONT_ENTITY_NOT_LOADABLE)
10391 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
10392 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
10393 (struct font_driver): New member shape.
10394 (font_registry_charsets): Extern it.
10395 (font_find_for_lface, font_prepare_composition): Adjust prototype.
10396 (font_otf_capability, font_drive_otf): Delete their externs.
10397
10398 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
10399 (font_charset_alist, font_registry_charsets): Move from xfont.c
10400 and rename.
10401 (font_prop_validate_otf): New function.
10402 (font_property_table): Register it for QCotf.
10403 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
10404 (font_drive_otf): Delete.
10405 (font_prepare_composition): New arg F. Adjust for the change of
10406 lispy gstring.
10407 (font_find_for_lface): New arg C.
10408 (font_load_for_face): Adjust for the change of font_find_for_lface.
10409 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
10410 lispy gstring.
10411 (Ffont_shape_text): New function.
10412 (Fopen_font): If the font size is not given, use 12-pixel.
10413 (Ffont_at): New arg STRING.
10414 (syms_of_font): Initalize font_charset_alist.
10415 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
10416 conditionally.
10417
10418 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
10419 fonts of the same font-spec. Change the format of RFONT-DEF.
10420 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
10421 Adjust for the change of RFONT-DEF.
10422 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
10423
10424 * ftfont.h: New file.
10425
10426 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
10427 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10428 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10429 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
10430 font_otf_capability and font_drive_otf, set ftfont_shape.
10431 (ftfont_list): Adjust for the change of :otf property value.
10432 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
10433 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
10434 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
10435 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10436 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
10437 (otf_gstring, gstring, m17n_flt_initialized): New variables.
10438
10439 * w32term.c (x_draw_composite_glyph_string_foreground):
10440 Adjust for the change of lispy gstring.
10441
10442 * xdisp.c (handle_composition_prop): Adjust for the change of
10443 lispy gstring. Call a function for auto-composition with the
10444 third arg it->window.
10445 (fill_composite_glyph_string): Adjust for the change of lispy string.
10446 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
10447
10448 * xfaces.c (set_font_frame_param): Adjust for the change of
10449 font_find_for_lface.
10450
10451 * xfont.c (x_font_charset_alist): Move to font.c and rename.
10452 (xfont_registry_charsets): Likewise. Change caller.
10453 (syms_of_xfont): Don't handle x_font_charset_alist.
10454
10455 * xftfont.c: Include "ftfont.h".
10456 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10457 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10458 (xftfont_close) [HAVE_LIBOTF]: Close otf.
10459 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10460 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
10461 Set xftfont_driver.shape to xftfont_shape.
10462
10463 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10464 the change of lispy gstring.
10465
104662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10467
10468 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
10469
104702008-02-01 Jason Rumney <jasonr@gnu.org>
10471
10472 * w32font.c (w32font_draw): Fill background manually.
10473
104742008-02-01 Jason Rumney <jasonr@gnu.org>
10475
10476 * font.c (Qfontp): Remove unused symbol.
10477 (QCantialias): New symbol.
10478 (syms_of_font): Define it.
10479 (font_property_table): Set a validator for QCantialias.
10480
10481 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
10482 Define if not already.
10483 (QCfamily): Share with xfaces.c.
10484 (Qstandard, Qsubpixel, Qnatural): New symbols.
10485 (syms_of_w32font): Define them. Don't define QCfamily here.
10486 (w32_antialias_type, lispy_antialias_type): New functions.
10487 (w32_enumfont_pattern_entity): New arg requested_font.
10488 Set antialias parameter if non-default was requested.
10489 (fill_in_logfont): Fill in lfQuality if :antialias specified.
10490
104912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10492
10493 * lread.c (read1): Undo the previous change.
10494
104952008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
10496
10497 * frame.c (Fdelete_frame): Call font_update_drivers only when
10498 USE_FONT_BACKEND is defined.
10499
105002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10501
10502 * font.h (struct font_bitmap): New member bits_per_pixel.
10503 (struct font_driver): New members start_for_frame and end_for_frame.
10504 (struct font_data_list): New struct.
10505 (font_put_frame_data, font_get_frame_data): Extern them.
10506
10507 * frame.h (struct frame): New member font_data_list.
10508
10509 * font.c (font_update_drivers): Call driver->start_for_frame and
10510 driver->end_for_frame at proper timings.
10511 (font_put_frame_data, font_get_frame_data): New functions.
10512 (Ffont_spec): Add usage in the docstring.
10513
10514 * frame.c (make_frame): Initialize f->font_data_list to NULL.
10515 (Fdelete_frame): Call font_update_drivers.
10516
10517 * xftfont.c (struct xftface_info): Delete the member xft_draw.
10518 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
10519 (xftfont_get_xft_draw): New function.
10520 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
10521 (xftfont_end_for_frame): New function.
10522 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
10523
10524 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
10525 Change argument. Cache GCs in the per-frame data.
10526 (struct ftxfont_frame_data): New struct.
10527 (ftxfont_draw_bitmap): New arg gc_fore and flush.
10528 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
10529 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
10530 (ftxfont_end_for_frame): New function.
10531 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
10532
10533 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
10534
105352008-02-01 Kenichi Handa <handa@m17n.org>
10536
10537 * xselect.c (Vselection_coding_system)
10538 (Vnext_selection_coding_system): Delete them.
10539 (syms_of_xselect): Don't declare selection-coding-system and
10540 next-selection-coding-system. They are declared in select.el.
10541
105422008-02-01 Jason Rumney <jasonr@gnu.org>
10543
10544 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
10545
10546 * w32fns.c: Include imm.h.
10547 (get_composition_string_fn, get_ime_context_fn): New optional
10548 system functions.
10549 (globals_of_w32fns): Load them from imm32.dll.
10550 (ignore_ime_char): New flag.
10551 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
10552 WM_IME_ENDCOMPOSITION messages.
10553
10554 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
10555 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
10556
105572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10558
10559 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
10560 (READCHAR_REPORT_MULTIBYTE): New macro.
10561 (readchar): New 2nd arg MULTIBYTE.
10562 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
10563 Make symbol's name multibyte according to the multibyteness of the
10564 source.
10565
105662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10567
10568 * xfaces.c (face_for_overlay_string): Call lookup_face with
10569 correct arguments (fix of synching with the trunk).
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * font.c (font_prop_validate_symbol, font_prop_validate_style)
10574 (font_prop_validate_non_neg, font_prop_validate_spacing):
10575 Delete argument prop_index.
10576 (font_property_table): Change arguments to validater. Change Callers.
10577 (font_lispy_object): Delete.
10578 (font_at): Use font_find_object instead fo font_lispy_object.
10579
105802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10581
10582 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
10583 and file names.
10584
105852008-02-01 Jason Rumney <jasonr@gnu.org>
10586
10587 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
10588 (font_matches_spec): Remove debug output.
10589 (add_font_entity_to_list): Avoid using substituted fonts.
10590
105912008-02-01 Jason Rumney <jasonr@gnu.org>
10592
10593 * doc.c (Fsnarf_documentation):
10594 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
10595
105962008-02-01 Miles Bader <miles@gnu.org>
10597
10598 * dispextern.h (struct glyph_row): Only define "clip" field if
10599 HAVE_WINDOW_SYSTEM is defined.
10600
106012008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10602
10603 Fix up multi-tty merge.
10604
10605 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
10606 and indentation.
10607
10608 * xfaces.c (free_realized_face, clear_face_gcs):
10609 Include font_done_for_face in the input_blocked section, just in case.
10610
10611 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
10612 (get_char_face_and_encoding): Undo last change and remove the *other*
10613 duplicate definition (i.e. keep the one that's better scoped and that
10614 includes code for the font-backend).
10615
10616 * terminal.c (create_terminal): Default keyboard_coding to
10617 `no-conversion' and terminal_coding to `undecided'.
10618
10619 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
10620
10621 * fontset.c (free_realized_fontsets): Check that the table entry does
10622 contain a fontset before trying to compare it to `base'.
10623
10624 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
10625 syms_of_charset, and syms_of_coding earlier because init_window_once
10626 now needs Vcoding_system_hash_table to be setup.
10627
10628 * coding.h (default_buffer_file_coding): Remove.
10629
10630 * coding.c (default_buffer_file_coding): Remove.
10631 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
10632 than ->symbol, and use the terminal-local coding system.
10633 (syms_of_coding): Don't setup the coding-systems that are not
10634 terminal-local.
10635 (Fdefine_coding_system_internal): Use XCAR/XCDR.
10636
10637 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
10638 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
10639
10640 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
10641 in chartab.c and were re-added here by mistake.
10642 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
10643
10644 * doc.c (Fsnarf_documentation):
10645 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
10646 src to etc.
10647
10648 * ChangeLog.10: Add mistakenly removed entry.
10649
106502008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
10651
10652 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
10653
106542008-02-01 Miles Bader <miles@gnu.org>
10655
10656 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
10657 Add extra args to FACE_FOR_CHAR.
10658
106592008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 * keymap.c (where_is_internal_1): If key is a cons, store the copy
10662 in sequence.
10663
10664 * chartab.c (map_sub_char_table, map_char_table): If the range
10665 contains just one character, call the function with that character
10666 even if the depth is not 3.
10667
106682008-02-01 Jason Rumney <jasonr@gnu.org>
10669
10670 * w32font.c (w32font_text_extents): Calculate metrics for the
10671 whole string.
10672
106732008-02-01 Jason Rumney <jasonr@gnu.org>
10674
10675 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
10676
106772008-02-01 Jason Rumney <jasonr@gnu.org>
10678
10679 * w32term.c (x_set_glyph_string_clipping): Use
10680 get_glyph_string_clip_rects.
10681 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10682 Adjust for the change of struct glyph_string.
10683
10684 * w32font.c (w32font_draw): Do clipping here.
10685
106862008-02-01 Kenichi Handa <handa@m17n.org>
10687
10688 * xftfont.c (xftfont_draw): Adjust for the change of struct
10689 glyph_string.
10690
10691 * xterm.c (x_set_glyph_string_clipping): Use
10692 get_glyph_string_clip_rects.
10693 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10694 Adjust for the change of struct glyph_string.
10695
10696 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
10697 the resulting clip(s}.
10698 (expose_overlaps): Add arg r. Change callers. Set it to
10699 row->clip temporarily.
10700 (expose_window): Redraw rows overlapping the exposed area.
10701
10702 * dispextern.h (struct glyph_row): New member clip.
10703 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
10704 clip_height, new member clip, and num_clips.
10705
107062008-02-01 Kenichi Handa <handa@m17n.org>
10707
10708 * data.c (Fchar_or_string_p): Fix docstring.
10709
107102008-02-01 Kenichi Handa <handa@m17n.org>
10711
10712 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10713 create a temporary XftDraw object.
10714
107152008-02-01 Kenichi Handa <handa@m17n.org>
10716
10717 * font.c (Ffontp): Fix docstring.
10718
10719 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10720 strong evidence of ISO-2022.
10721
107222008-02-01 Kenichi Handa <handa@m17n.org>
10723
10724 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10725 SYNTAX_ENTRY_FOLLOW_PARENT.
10726
107272008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10728
10729 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10730 its type.
10731 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10732 Update to the new type of weak_hash_tables and next_weak.
10733
10734 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10735 a plain C pointer to Lisp_Hash_Table.
10736
10737 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10738 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10739 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10740 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10741 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10742 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10743 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10744 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10745 (GC_EQ): Remove since they've been identical to their non-GC_
10746 alter-egos ever since the markbit was eradicated.
10747
10748 * alloc.c:
10749 * buffer.c:
10750 * buffer.h:
10751 * data.c:
10752 * fileio.c:
10753 * filelock.c:
10754 * fns.c:
10755 * frame.h:
10756 * lisp.h:
10757 * macterm.c:
10758 * print.c:
10759 * process.c:
10760 * w32fns.c:
10761 * w32menu.c:
10762 * w32term.c:
10763 * xfns.c:
10764 * xmenu.c:
10765 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10766
107672008-02-01 Kenichi Handa <handa@m17n.org>
10768
10769 * chartab.c (map_sub_char_table): Make it work for the top-level
10770 char-table. Fix handling of parent char-table.
10771 (map_char_table): Adjust for the above change.
10772
107732008-02-01 Jason Rumney <jasonr@gnu.org>
10774
10775 * w32font.c (Qgdi): Rename from Qw32.
10776
107772008-02-01 Jason Rumney <jasonr@gnu.org>
10778
10779 * w32bdf.c (get_quoted_string): Make function static.
10780
107812008-02-01 Kenichi Handa <handa@m17n.org>
10782
10783 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10784 bigger ascent and descent than those of the font, use them as
10785 font's ascent and descent.
10786
107872008-02-01 Kenichi Handa <handa@m17n.org>
10788
10789 * Makefile.in (${lispsource}international/charprop.el): Move this
10790 target within "#ifdef HAVE_UNIDATA" and "#endif".
10791
107922008-02-01 Kenichi Handa <handa@m17n.org>
10793
10794 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10795 (shortlisp): Add ../lisp/language/tai-viet.el.
10796
107972008-02-01 Ulrich Mueller <ulm@gentoo.org>
10798
10799 * Makefile.in (${lispsource}international/charprop.el): Depend on
10800 temacs${EXEEXT}.
10801
108022008-02-01 Jason Rumney <jasonr@gnu.org>
10803
10804 * w32font.c (w32font_close): Delete the GDI font object.
10805
10806 * w32menu.c: Include character.h.
10807
10808 * w32proc.c: Likewise.
10809
10810 * w32select.c: Likewise.
10811
10812 * makefile.w32-in (w32proc.o): Depend on character.h.
10813
108142008-02-01 Jason Rumney <jasonr@gnu.org>
10815
10816 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10817
10818 * w32menu.c (syms_of_w32menu): Likewise.
10819
10820 * w32proc.c (syms_of_ntproc): Likewise.
10821
10822 * w32select.c (syms_of_w32select): Likewise.
10823
10824 * w32term.c (syms_of_w32term): Likewise.
10825
108262008-02-01 Jason Rumney <jasonr@gnu.org>
10827
10828 * w32font.c (w32font_draw): Delete brush after using it.
10829
108302008-02-01 Jason Rumney <jasonr@gnu.org>
10831
10832 * w32font.c (w32font_open): Don't set font_idx.
10833 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
10834 to font settings.
10835 (w32font_draw): Fill background explicitly.
10836
108372008-02-01 Jason Rumney <jasonr@gnu.org>
10838
10839 * w32term.c (w32_initialize): Don't call w32font_initialize.
10840
10841 * w32font.c (w32font_info): Remove subranges.
10842 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
10843 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
10844 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
10845 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
10846 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
10847 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
10848 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
10849 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
10850 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
10851 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
10852 New symbols.
10853 (font_callback_data): New struct.
10854 (w32font_list, w32font_match): Use it.
10855 (w32font_open): Don't populate subranges.
10856 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
10857 (w32font_encode_char): Always return unicode code-point as-is.
10858 (w32font_text_extents): Supply a transformation matrix to
10859 GetGlyphOutline. Never look up by glyph index. Avoid looping
10860 twice. Use unicode version of GetTexExtentPoint32 instead of
10861 glyph index version.
10862 (set_fonts_frame): Remove.
10863 (w32_enumfont_pattern_entity): Add frame parameter, use it to
10864 set frame parameter. Use backward compatible fake foundries.
10865 Save generic family in extra slot under QCfamily. Make width slot
10866 constant. Save QCspacing value. Save list of scripts instead of
10867 binary subranges.
10868 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
10869 (add_font_entity_to_list): Use font_callback_data struct. Filter
10870 unwanted fonts.
10871 (add_one_font_entity_to_list): Use font_callback_data struct.
10872 (w32_registry): Default to iso10646_1.
10873 (fill_in_logfont): Use dpi from extra slot. Don't bother with
10874 string font registries. Don't fill in font name if it is a generic
10875 family name, fill family instead. Use spacing, family and script
10876 extra info to fill pitch, family and charset fields.
10877 (list_all_matching_fonts): Use font_callback_data struct.
10878 (unicode_range_for_char): Remove.
10879 (font_supported_scripts): New function.
10880 (w32font_initialize): Remove.
10881 (syms_of_w32font): Update which symbols are defined.
10882
108832008-02-01 Jason Rumney <jasonr@gnu.org>
10884
10885 * font.c (font_pixel_size): Reverse assq_no_quit args.
10886
10887 * w32term.h (FONT_WIDTH): Report max width, not average.
10888 (FONT_MAX_WIDTH): Remove.
10889 (FONT_AVG_WIDTH): New macro.
10890
10891 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
10892 redefinition of FONT_WIDTH.
10893
10894 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
10895 (w32_cache_char_metrics): Use FONT_WIDTH.
10896
10897 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
10898
108992008-02-01 Jason Rumney <jasonr@gnu.org>
10900
10901 * w32font.c (w32font_open): Make lfHeight negative.
10902
10903 * w32fns.c (x_default_font_parameter): Use new style font name.
10904 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
10905
109062008-02-01 Jason Rumney <jasonr@gnu.org>
10907
10908 * w32font.c (QCsubranges): New symbol.
10909 (w32font_open, w32font_has_char): Get subranges from subproperty
10910 of extra.
10911 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
10912 (syms_of_w32font): Define :subranges symbol.
10913
10914 * font.c (font_put_extra): Expose externally.
10915
10916 * font.h (font_put_extra): Move declaration from font.c.
10917
10918 * font.c (Ffont_get): Use font driver to determine otf capability.
10919 (adjust_anchor): Check if driver defines anchor_point before using.
10920
10921 * w32font.c (w32font_open): Handle size, height and pixel_size better.
10922 (w32font_draw): Use options.
10923 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
10924 Fix detection of truetype fonts.
10925 (registry_to_w32_charset): Handle charsets other than iso8859-1
10926 expressed as lisp symbols.
10927 (w32_registry): Express charset as lisp symbol.
10928 (fill_in_logfont): Reverse pixel and point height logic.
10929 Don't set width here. Set quality to default.
10930
10931 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
10932 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
10933
10934 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10935 Remove redundant loop and allocation.
10936
10937 * makefile.w32-in (font.o, w32font.o): New objects.
10938 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
10939 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
10940
10941 * xdisp.c (fill_composite_glyph_string): Make the first arg to
10942 STORE_XCHARB a valid l-value.
10943
10944 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
10945 calculations for non-Truetype fonts.
10946 (x_draw_glyph_string): Sync with xterm.c.
10947 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10948 Remove redundant code.
10949 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
10950
10951 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
10952 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
10953
10954 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
10955 (x_to_w32_charset, w32_to_x_charset): Expose externally.
10956
10957 * w32font.c: New file for w32 font backend.
10958
109592008-02-01 Kenichi Handa <handa@m17n.org>
10960
10961 * term.c: Don't include "buffer.h" twice.
10962
109632008-02-01 Kenichi Handa <handa@m17n.org>
10964
10965 * character.c (Funibyte_string): New function.
10966 (syms_of_character): Defsubr it.
10967
109682008-02-01 Jason Rumney <jasonr@gnu.org>
10969
10970 * w32term.c [USE_FONT_BACKEND]:
10971 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
10972 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
10973 (x_draw_glyph_string, x_draw_glyph_string_foreground)
10974 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
10975 (x_free_frame_resources): Sync with xterm.c.
10976
109772008-02-01 Andreas Schwab <schwab@suse.de>
10978
10979 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
10980 char-table size.
10981
109822008-02-01 Kenichi Handa <handa@m17n.org>
10983
10984 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
10985
109862008-02-01 Kenichi Handa <handa@m17n.org>
10987
10988 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
10989 font_otf_gpos, add font_drive_otf.
10990
10991 * fontset.c (fontset_find_font): Pay attention to font size
10992 specified for a font.
10993 (reorder_font_vector): Check contents of font_def.
10994
10995 * font.c (struct otf_list): Delete it.
10996 (otf_list): Make it a lisp variable.
10997 (otf_open): Use lispy otf_list.
10998 (generate_otf_features): Rename from parse_gsub_gpos_spec.
10999 (check_otf_features): New function.
11000 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
11001 New functions.
11002 (font_drive_otf): New function merging font_otf_gsub and
11003 font_otf_gpos.
11004 (font_open_for_lface): New arg spec. Change argument order.
11005 (font_load_for_face): Adjust for the change of font_open_for_lface.
11006 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
11007 Ffont_otf_gpos.
11008 (syms_of_font): Staticpro otf_list. Delete defsubr of
11009 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
11010
11011 * xfaces.c (set_font_frame_param): Adjust for the change of
11012 font_open_for_lface.
11013
11014 * font.h (font_open_for_lface): Adjust prototype.
11015 (struct font_driver): Delete members otf_gsub and otf_gpos, add
11016 member otf_drive.
11017 (font_otf_gsub, font_otf_gpos): Delete externs.
11018 (font_drive_otf): Extern it.
11019
110202008-02-01 Kenichi Handa <handa@m17n.org>
11021
11022 * font.c (font_at): If the window W is not on a window system,
11023 return Qnil.
11024
11025 * coding.c (produce_chars, encode_coding): Don't call
11026 insert_from_gap if no characters to produce.
11027
110282008-02-01 Kenichi Handa <handa@m17n.org>
11029
11030 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
11031 Fclear_face_cache.
11032
11033 * xfaces.c (face_for_font): Check also face->font==font->font.font.
11034
110352008-02-01 Miles Bader <miles@gnu.org>
11036
11037 * emacs.c (main): Change default value of `enable_font_backend' to 1.
11038 Parse "--disable-font-backend" option.
11039 (standard_args): Add "--disable-font-backend" option.
11040
110412008-02-01 Kenichi Handa <handa@m17n.org>
11042
11043 * fontset.c (fontset_find_font): New function.
11044 (fontset_font): Use fontset_find_font.
11045 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
11046 Register the specified font for all Latin characters.
11047 (new_fontset_from_font): Register the specified font for all Latin
11048 characters.
11049 (dump_fontset): For a realized fontset, include the base fontset
11050 name in the returned vector.
11051
110522008-02-01 Kenichi Handa <handa@m17n.org>
11053
11054 * character.h (CHAR_STRING): Cast C to unsigned on calling
11055 char_string.
11056
11057 * character.c (char_string): Type of arg C changed to unsigned.
11058 Signal an error if C is an invalid character code.
11059
11060 * editfns.c (general_insert_function, Fchar_to_string):
11061 Use CHARACTERP, not INTEGERP.
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 * character.h (MIN_MULTIBYTE_LEADING_CODE)
11066 (MAX_MULTIBYTE_LEADING_CODE): New macros.
11067
11068 * regex.c (analyse_first): Fix for multibyte characters in "case
11069 charset:" and "case categoryspec:".
11070
110712008-02-01 Andreas Schwab <schwab@suse.de>
11072
11073 * Makefile.in (LIBES): Move standard libraries to the end.
11074
110752008-02-01 Kenichi Handa <handa@m17n.org>
11076
11077 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
11078 nonzero, don't shrink the buffer nextb.
11079
11080 * buffer.h (struct buffer_text): New member inhibit_shrinking.
11081
11082 * coding.c (coding_alloc_by_making_gap): New arg offset.
11083 (alloc_destination): Call coding_alloc_by_making_gap with the arg
11084 offset.
11085 (decode_coding_iso_2022): Update coding->safe_charsets.
11086 (decode_coding_gap): Temporarily set
11087 current_buffer->text->inhibit_shrinking to 1.
11088
110892008-02-01 Kenichi Handa <handa@m17n.org>
11090
11091 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
11092 indexing into elements of s->cmp and s->char2b.
11093
110942008-02-01 Juanma Barranquero <lekktu@gmail.com>
11095
11096 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
11097
110982008-02-01 Kenichi Handa <handa@m17n.org>
11099
11100 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
11101 target_multibyte instead of multibyte.
11102 (re_match_2_internal): Call bcmp_translate with target_multibyte.
11103 (bcmp_translate): Change the argument name from multibyte to
11104 target_multibyte.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 These changes are to compile a regexp into a pattern that can be
11109 used both for multibyte and unibyte targets.
11110
11111 * Makefile.in (search.o): Depend on charset.h.
11112
11113 * character.c (multibyte_char_to_unibyte_safe): New function.
11114
11115 * search.c: Include "charset.h".
11116 (compile_pattern_1): Delete argument multibyte. Don't set
11117 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
11118 (compile_pattern): Don't compare cp->buf.target_multibyte.
11119 Compare cp->buf.charset_unibyte.
11120 (compile_pattern): Set cp->buf.target_multibyte.
11121
11122 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
11123
11124 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
11125
11126 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
11127 multibyte. Change callers.
11128 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
11129 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
11130 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
11131 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
11132 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
11133 (regex_compile): Make the compiled pattern usable both for
11134 multibyte and unibyte targets.
11135 (analyse_first): Make the fastmap usable both for multibyte and
11136 unibyte targets.
11137 (TRANSLATE_VIA_MULTIBYTE): Delete.
11138 (re_match_2_internal): Pay attention to the case that the
11139 multibyteness of bufp and target may be different.
11140
111412008-02-01 Kenichi Handa <handa@m17n.org>
11142
11143 * xdisp.c (x_produce_glyphs): When a font is not found, make the
11144 empty box occupy at least one column width.
11145
111462008-02-01 Miles Bader <miles@gnu.org>
11147
11148 * Makefile.in: Remove redundant HAVE_XFT clause.
11149
111502008-02-01 Kenichi Handa <handa@m17n.org>
11151
11152 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
11153
111542008-02-01 Kenichi Handa <handa@m17n.org>
11155
11156 * fontset.c (Finternal_char_font): Fix for the case of POSITION
11157 being nil.
11158
111592008-02-01 Kenichi Handa <handa@m17n.org>
11160
11161 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
11162
111632008-02-01 Kenichi Handa <handa@m17n.org>
11164
11165 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
11166
111672008-02-01 Kenichi Handa <handa@m17n.org>
11168
11169 * search.c (simple_search): Fix previous change.
11170
111712008-02-01 Kenichi Handa <handa@m17n.org>
11172
11173 * xftfont.c (ftfont_font_format): Extern declaration.
11174
11175 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
11176
11177 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
11178 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
11179
11180 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
11181 (ftfont_font_format): Fix previous change.
11182
11183 * font.h (Ffont_xlfd_name): EXFUN it.
11184
11185 * font.c (font_parse_xlfd): Fix the array size of `f'.
11186 (register_font_driver): Use EQ to compare driver->type.
11187
11188 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
11189 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
11190 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
11191
111922008-02-01 Kenichi Handa <handa@m17n.org>
11193
11194 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
11195 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
11196
111972008-02-01 Kenichi Handa <handa@m17n.org>
11198
11199 * xfont.c (xfont_open): Set font->format.
11200
11201 * xftfont.c (xftfont_open): Set font->format.
11202
11203 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
11204 (ftfont_list): Include FC_FONTFORMAT in FcObject.
11205 (ftfont_open): Set font->format.
11206 (ftfont_font_format): New function.
11207
11208 * font.h (struct font): New member format.
11209
11210 * font.c (Qopentype): New variable.
11211 (syms_of_font): Defsym it.
11212 (Fquery_font): Change the format of the last element of the return
11213 value.
11214
112152008-02-01 Kenichi Handa <handa@m17n.org>
11216
11217 * xfns.c (xic_create_xfontset): Try the default fontset name as a
11218 last resort.
11219
112202008-02-01 Kenichi Handa <handa@m17n.org>
11221
11222 * coding.c (detect_coding_charset): Fix detection of multi-byte
11223 charset.
11224
112252008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
11226
11227 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
11228
112292008-02-01 Kenichi Handa <handa@m17n.org>
11230
11231 * xdisp.c (get_next_display_element): Set it->face_id for the
11232 first component of a composition.
11233 (x_produce_glyphs): Check if the font is changed or not for composition.
11234
112352008-02-01 Kenichi Handa <handa@m17n.org>
11236
11237 * fontset.c (Qlatin): New variable.
11238 (syms_of_fontset): Define it as a lisp symbol.
11239 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
11240
112412008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * font.c (font_unparse_fcname): Pay attention to the case that
11244 some of font property is a null string.
11245
112462008-02-01 Kenichi Handa <handa@m17n.org>
11247
11248 * term.c: Include "composite.h".
11249 (encode_terminal_code): Output all components of composition.
11250 Check the size of encode_terminal_src.
11251 (produce_glyphs): For composition, call produce_composite_glyph.
11252 (append_composite_glyph, produce_composite_glyph): New functions.
11253
11254 * xdisp.c (x_produce_glyphs): In handling composition, if a font
11255 is not found, get font_info from the current ascii face.
11256
112572008-02-01 Kenichi Handa <handa@m17n.org>
11258
11259 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
11260 buffer-file-name to Qnil before calling insert_from_buffer.
11261
11262 * font.c (font_unparse_fcname): Pay attention to the case that
11263 foundry is a null string.
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
11268
11269 * font.c (Qunicode_sip): New variable.
11270 (syms_of_font): Declare it as a Lisp symbol.
11271
11272 * font.h (Qunicode_sip): Extern it.
11273
112742008-02-01 Kenichi Handa <handa@m17n.org>
11275
11276 * composite.c (get_composition_id): Pay attention to TAB component.
11277
11278 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
11279 TAB. Adjust for the change of s->char2b which always points to
11280 the first element of allocated memory.
11281
11282 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
11283
11284 * xdisp.c (handle_composition_prop): Set it->c to the first
11285 non-TAB component.
11286 (fill_composite_glyph_string): Change argument.
11287 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
11288 (x_produce_glyphs): Fix handling of left/right padding.
11289
112902008-02-01 Kenichi Handa <handa@m17n.org>
11291
11292 * coding.c (detect_coding_system): Fix for handling off
11293 inhibit_iso_escape_detection. Fix for the case that no coding
11294 system is defined for a specific coding category.
11295
112962008-02-01 Kenichi Handa <handa@m17n.org>
11297
11298 * font.c (font_matching_entity): Delete unused local var.
11299
11300 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
11301 opening a font.
11302
11303 * fileio.c (Finsert_file_contents): On recovering a file, assume
11304 Unix-like eol.
11305 (choose_write_coding_system): On auto-saving a file, force
11306 Unix-like eol.
11307
11308 * coding.c (setup_coding_system): Fix setting of
11309 coding->common_flags based on eol_type.
11310 (coding_inherit_eol_type): If PARENT is not nil, be sure to
11311 inherit from it.
11312
113132008-02-01 Kenichi Handa <handa@m17n.org>
11314
11315 * alloc.c (NSTATICS): Increas to 0x600.
11316
113172008-02-01 Kenichi Handa <handa@m17n.org>
11318
11319 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
11320 (ftfont_list): Don't check :name property.
11321 (ftfont_match): New function.
11322 (ftfont_pattern_entity): If the pattern doesn't contain
11323 FC_SPACING, don't assume FC_MONO.
11324
11325 * font.h (struct font_driver): New member `match'.
11326 (font_update_drivers): Adjust prototype.
11327
11328 * font.c (font_parse_fcname, font_parse_name): Don't change :name
11329 property of FONT.
11330 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
11331 them unconditionally.
11332 (font_matching_entity): New function.
11333 (font_open_by_name): Try font_matching_entity if exact match is
11334 not found.
11335 (font_update_drivers): Delete the arg FONT. Return a list of
11336 actually used backends. Don't free faces, font caches here.
11337 Don't store data in frame parameters. Don't call x_set_font.
11338 (Ffont_spec): Store :name property as is.
11339 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
11340 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
11341 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
11342 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
11343 Call font->driver->otf_gsub instead of font_otf_gsub.
11344
11345 * frame.c (x_set_font_backend): Do more works that were done in
11346 font_update_drivers before.
11347
11348 * xfont.c (xfont_match): New function.
11349 (xfont_driver): Set xfont_driver.match to xfont_match.
11350 (xfont_draw): Set font in GC if necessary.
11351
11352 * ftxfont.c (ftxfont_match): New function.
11353 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
11354
11355 * xftfont.c (xftfont_match): New function.
11356 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
11357
113582008-02-01 Kenichi Handa <handa@m17n.org>
11359
11360 * font.h (struct font): New member scalable.
11361 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
11362 (font_otf_gsub): Adjust prototype.
11363
11364 * font.c (font_otf_capability): Fix handling of the default langsys.
11365 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
11366 Check the contents of SPEC.
11367 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
11368 (check_gstring): New function.
11369 (REPLACEMENT_CHARACTER): New macro.
11370 (font_otf_gsub): New arg alternate_subst. Be sure to set all
11371 glyph codes of GSTRING.
11372 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
11373 (font_prepare_composition): Set cmp->glyph_len.
11374 (font_open_entity): Set font->scalable.
11375 (Ffont_get): Handle :otf property.
11376 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
11377 functions.
11378 (Fquery_font): Use font->font.full_name.
11379 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
11380 Sfont_otf_alternates.
11381
11382 * ftfont.c (ftfont_open): Set font->font.full_name and
11383 font->font.name properly. Fix calculation of font->font.height
11384 and font->min_width.
11385
11386 * ftxfont.c (ftxfont_create_gcs): New function.
11387 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
11388 (ftxfont_draw_backgrond): Fix filling region.
11389 (ftxfont_default_fid): New function.
11390 (ftxfont_open): Set xfont->fid to the return value of
11391 ftxfont_default_fid.
11392 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
11393 (ftxfont_done_face): Free only GCs that are created by
11394 ftxfont_create_gcs.
11395 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
11396
11397 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
11398 Clip to src->width, etc (not src->clip_XXX).
11399
11400 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
11401 FontBackend frame parameter.
11402
114032008-02-01 Kenichi Handa <handa@m17n.org>
11404
11405 * font.h (struct font_driver_list): New member `on'.
11406 (Fclear_font_cache): EXFUN it.
11407 (font_update_drivers): Extern it.
11408
11409 * font.c (font_unparse_fcname): Fix typo (swidth->width).
11410 (font_list_entities): Check driver_list->on.
11411 (register_font_driver): Initalize `on' member to 0.
11412 (font_update_drivers): New function.
11413 (Fclear_font_cache): Check driver_list->on.
11414
11415 * frame.h (Qfont_backend): Extern it.
11416 (x_set_font_backend): Extern it.
11417
11418 * frame.c (Qfont_backend): New variable.
11419 (frame_parms): New element for font-backend.
11420 (x_set_font_backend): New function.
11421
11422 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
11423 FontBackend frame parameter.
11424 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
11425 x_set_font_backend.
11426
11427 * xfont.c (xfont_list): Don't try listing by :name property if the
11428 name is not for XLFD.
11429
114302008-02-01 Kenichi Handa <handa@m17n.org>
11431
11432 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
11433 (LGLYPH_SET_TO): New macros.
11434 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
11435 element of G is vector or not.
11436 (font_at): Extern it.
11437
11438 * font.c: Include window.h.
11439 (font_lispy_object): New function.
11440 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
11441 end of valid glyph.
11442 (font_close_object): Fix getting (struct font *).
11443 (font_at): New function.
11444 (Ffont_get): If FONT is a font-object, get entity from it.
11445 (Ffont_make_gstring): Initialize elements of glyphs with nil.
11446 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
11447 range check.
11448 (Ffont_at): New function.
11449 (syms_of_font): Defsubr Sfont_at.
11450
11451 * xdisp.c (it_props): Move the entry for Qauto_composed to just
11452 before the entry for Qcomposition.
11453 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
11454 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
11455 the font in gstring.
11456 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
11457 LGLYPH_FORM (g) to detect the end of valid glyph.
11458 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
11459 we are composing with gstring.
11460
11461 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
11462 Check if adjustment is vector or not.
11463
11464 * Makefile.in (font.o): Make it depends on window.h.
11465
114662008-02-01 Kenichi Handa <handa@m17n.org>
11467
11468 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
11469 adjustment is vector or not.
11470
114712008-02-01 Miles Bader <miles@gnu.org>
11472
11473 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
11474
114752008-02-01 Kenichi Handa <handa@m17n.org>
11476
11477 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
11478 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
11479 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
11480
11481 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
11482 (DEVICE_DELTA): Fix typo.
11483 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
11484 LGLYPH format.
11485
11486 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11487 the change of LGLYPH format.
11488
114892008-02-01 Kenichi Handa <handa@m17n.org>
11490
11491 * ftfont.c (ftfont_list): Fix typo.
11492 (ftfont_build_basic_charsets): Don't include letters with diacritics.
11493
114942008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11495
11496 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
11497
11498 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
11499 xftface_info is non-NULL.
11500
115012008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11502
11503 * ftfont.c (ftfont_list): Move misplaced #endif.
11504
115052008-02-01 Kenichi Handa <handa@m17n.org>
11506
11507 * ftfont.c (ftfont_list): Pay attention to the case that
11508 FC_CAPABILITY is not defined.
11509
115102008-02-01 Kenichi Handa <handa@m17n.org>
11511
11512 * xftfont.c (xftfont_open): Set charset related members to -1.
11513
11514 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
11515 QCname.
11516 (ftfont_open): Set charset related members to -1.
11517
11518 * fontset.c (Votf_script_alist): New variable.
11519 (syms_of_fontset): Initialize it.
11520 (fontset_font): Delete unused variable.
11521
11522 * fontset.h (Votf_script_alist): Extern it.
11523
11524 * font.c (font_find_for_lface): Optimize code.
11525
11526 * font.h (font_close_object, font_merge_old_spec): Extern them.
11527
115282008-02-01 Kenichi Handa <handa@m17n.org>
11529
11530 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
11531 (syms_of_font): Initialize them.
11532 (font_pixel_size): Allow float value in dpi.
11533 (font_prop_validate_type): Delete.
11534 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
11535 Change caller.
11536 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
11537 (font_prop_validate_extra): Delete.
11538 (font_prop_validate_spacing): New function.
11539 (font_property_table): Add elements for all known properties.
11540 (get_font_prop_index): Rename from check_font_prop_name. New
11541 argument FROM. Change caller.
11542 (font_prop_validate): Validate all known properties.
11543 (font_put_extra): Delete argument force. Change caller.
11544 (font_expand_wildcards): Make it static. Fix the way of shrinking
11545 the possible range.
11546 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
11547 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
11548 Change caller.
11549 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
11550 (font_parse_fcname): Delete argument merge. Fix parsing of point
11551 size. Don't validate properties values here. Change caller.
11552 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
11553 (font_open_by_name): Delete unused variable.
11554 (Ffont_spec): Likewise. Validate property values.
11555 (Ffont_match_p): New function.
11556
11557 * font.h (QCscalable): Extern it.
11558 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
11559
11560 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
11561
11562 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
11563 (xfont_list_pattern): New function.
11564 (xfont_list): Use xfont_list_pattern.
11565
115662008-02-01 Kenichi Handa <handa@m17n.org>
11567
11568 * font.h (Flist_fonts): EXFUN it.
11569
115702008-02-01 Jason Rumney <jasonr@gnu.org>
11571
11572 * w32term.c (w32_initialize): Add back smoothing_type and
11573 smoothing_enabled definitions.
11574
115752008-02-01 Kenichi Handa <handa@m17n.org>
11576
11577 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
11578 s->face->font on determining underline position.
11579
115802008-02-01 Kenichi Handa <handa@m17n.org>
11581
11582 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
11583 (font_has_char): Accept font-object too.
11584 (font_find_for_lface): Try at first with a size specified in face.
11585
115862008-02-01 Kenichi Handa <handa@m17n.org>
11587
11588 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
11589 font_open_by_name.
11590
115912008-02-01 Kenichi Handa <handa@m17n.org>
11592
11593 * font.h (QCspacing, QCdpi): Extern them.
11594 (enum font_spacing): New enum.
11595 (FONT_PIXEL_SIZE_QUANTUM): New macro.
11596
11597 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
11598 (QCspacing, QCdpi): New variables.
11599 (syms_of_font): Initialize them.
11600 (font_pixel_size): New function.
11601 (font_put_extra): New function.
11602 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
11603 in FONT_EXTRA.
11604 (font_parse_fcname): Handle enumerated values (e.g. bold).
11605 Fix handling font size. Add QCname property that contains only
11606 unknown properties.
11607 (font_score): Change argument. Change caller. Pay attention to
11608 FONT_PIXEL_SIZE_QUANTUM.
11609 (font_sort_entites, font_list_entities, font_find_for_lface)
11610 (font_open_for_lface, font_open_by_name): Fix handling of font size.
11611 (Ffont_spec): Add QCname property that contains only unknown properties.
11612
11613 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
11614 include weight in listing pattern, instead check weight of each
11615 listed font. Don't include scalable in pattern. Pay attention to
11616 FONT_PIXEL_SIZE_QUANTUM.
11617
116182008-02-01 Kenichi Handa <handa@m17n.org>
11619
11620 * font.c (font_parse_fcname): Fix parsing of point-size.
11621 (font_unparse_fcname): Produce symbolic names for style properties.
11622 (font_list_entities): Handle float size correctly.
11623 (font_open_by_name): Prefer `normal' property values if the name
11624 doesn't specify them.
11625
11626 * fontset.c (Finternal_char_font): Use font_get_name, not
11627 Ffont_xlfd_name.
11628
11629 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
11630 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
11631 pattern. Don't force scalable.
11632
11633 * xftfont.c (xftfont_open): For generating a name, start from
11634 96-byte buffer.
11635
116362008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11637
11638 * frame.h (x_new_fontset2): Fix prototype.
11639
116402008-02-01 Kenichi Handa <handa@m17n.org>
11641
11642 * font.h (struct font_driver): Delete member parse_name.
11643 (font_match_p, font_get_spec, font_parse_fcname)
11644 (font_unparse_fcname): Extern them.
11645 (font_get_name): Adjust prototype.
11646
11647 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
11648 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
11649 (font_expand_wildcards): Fix handling ENCODING field. Avoid
11650 unnecessary checks for weight, slant, and swidth.
11651 (font_parse_fcname): New function.
11652 (font_unparse_fcname): New function.
11653 (font_parse_name): New function.
11654 (font_match_p): New function.
11655 (font_get_name): Change return value to Lisp string.
11656 (font_get_spec): New function.
11657 (Qunspecified, Qignore_defface): Don't extern them.
11658 (font_find_for_lface): Assume that LFACE is fully specified.
11659 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
11660 object, use it for FACE.
11661 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
11662 driver->parse_name.
11663 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
11664
11665 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
11666 prototype.
11667
11668 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
11669 argument F. Don't call Fnew_fontset. Instead, directly call
11670 make_fontset.
11671
11672 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
11673
11674 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
11675 of x_new_fontset2.
11676
11677 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
11678 (Qsans__serif): New variables.
11679 (ftfont_generic_family_list): New variable.
11680 (syms_of_ftfont): Initialize the above variables.
11681 (ftfont_pattern_entity): Delete argument NAME.
11682 (ftfont_list_generic_family): New function.
11683 (ftfont_parse_name): Delete this function.
11684 (ftfont_list): Try generic family only when FcFontList found no font.
11685 (ftfont_list_family): Fix args to FcObjectSetBuild.
11686
11687 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
11688 object in attrs[LFACE_FONT_INDEX].
11689 (set_lface_from_font_name): Cancel all changes for font-backend.
11690 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
11691 function.
11692 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
11693 font object in QCfont attribute.
11694 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
11695 (realize_default_face) [USE_FONT_BACKEND]: Call
11696 set_lface_from_font_and_fontset.
11697
11698 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
11699 "fixed", and signal error here if no suitable font was found.
11700
11701 * xfont.c (xfont_parse_name): Delete this function.
11702
11703 * xftfont.c (xftfont_open): Change coding style of error
11704 handling. Generate fontconfig's fontname pattern.
11705
11706 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
11707 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
11708
11709 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
11710 Both args FONTSET and FONT_OBJECT must be existing ones.
11711
117122008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11713
11714 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
11715
117162008-02-01 Kenichi Handa <handa@m17n.org>
11717
11718 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11719
11720 * font.h (struct font): Fix typo.
11721
11722 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11723 XLFD_XXX_INDEX.
11724 (enum xlfd_field_mask): New enum.
11725 (intern_font_field): Changed argument. Change caller. If digits
11726 are followed by non-digits, return a symbol.
11727 (font_expand_wildcards): New function.
11728 (font_parse_xlfd): Fix wildcard handling.
11729 (Ffont_spec): If :name is specified, reflect the info in the other
11730 properties.
11731
11732 * ftfont.c (ftfont_pattern_entity): Fix typo.
11733 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11734 locale.
11735
117362008-02-01 Kenichi Handa <handa@m17n.org>
11737
11738 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11739
11740 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11741 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11742 registry doesn't specify encoding part.
11743 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11744 (font_open_by_name): At first try parsing the name.
11745 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11746 as Lisp symbols.
11747
11748 * fontset.c (reorder_font_vector): Pay attention to the case that
11749 the 3rd element of font_def is nil.
11750 (fontset_font): For the default fontset, append one more fontset
11751 elements for a script-based font specification. Don't add script
11752 attribute on finding a font.
11753 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11754 font name.
11755 (fontset_ascii_font): If a font can't be opened, return nil.
11756
11757 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11758 (ftfont_pattern_entity): New function.
11759 (ftfont_get_cache): Assume that freetype_font_cache is already
11760 initialized.
11761 (ftfont_list): Handle the case that a file is specified in font
11762 name. Use ftfont_pattern_entity to generate entities.
11763 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11764 (syms_of_ftfont): Initialize freetype_font_cache.
11765
11766 * xftfont.c (xftfont_open): Make the font name fontconfig's
11767 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11768 (xftfont_close): Free font->font.name if not NULL.
11769
11770 * xfont.c (xfont_list): If script is specified for a font, return
11771 null_vector.
11772 (xfont_list_family): Declare argument type.
11773
11774 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11775 name, set LFACE_FONT (lface) to nil.
11776
11777 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11778 return Qnil.
11779
117802008-02-01 Kenichi Handa <handa@m17n.org>
11781
11782 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11783 (standard_args): Add "-enable-font-backend".
11784
117852008-02-01 Kenichi Handa <handa@m17n.org>
11786
11787 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11788 (struct xftdraw_list, xftdraw_list): Delete them.
11789 (register_xftdraw, check_xftdraw): Delete them.
11790 (xftfont_prepare_face): Don't call register_xftdraw.
11791 (xftfont_done_face): Don't call check_xftdraw.
11792 (xftfont_draw): Get background color only when with_background is
11793 nonzero.
11794
11795 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11796
117972008-02-01 Kenichi Handa <handa@m17n.org>
11798
11799 These changes are for the new font handling codes.
11800
11801 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11802 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11803 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11804 (FONTSRC, FONTOBJ): New variables.
11805 (obj): Add $(FONTOBJ).
11806 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11807 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11808 @LIBOTF_LIBS@.
11809 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11810 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11811
11812 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11813
11814 * character.h (Vscript_representative_chars): Extern it.
11815
11816 * character.c (Vscript_representative_chars): New variable.
11817 (syms_of_character): Declare it as a Lisp variable.
11818
11819 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
11820 enable_font_backend is nonzero, accept the composition method
11821 COMPOSITION_WITH_GLYPH_STRING.
11822
11823 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
11824 enumeration COMPOSITION_WITH_GLYPH_STRING.
11825
11826 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
11827 members clip_x, clip_y, clip_width, and clip_height.
11828 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
11829
11830 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
11831 --enable-font-backend. Call syms_of_font.
11832
11833 * fns.c (assoc_no_quit): New function.
11834
11835 * fontset.h (FONT_INFO_FROM_FACE): New macro.
11836 (face_for_font, new_fontset_from_font)
11837 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
11838
11839 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
11840 (fontset_font, fontset_ascii, face_for_char)
11841 (make_fontset_for_ascii_face, Ffont_info)
11842 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
11843 is nonzero, use font-backend mechanism.
11844 (find_font_encoding): Make it non-static.
11845 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
11846 New functions.
11847
11848 * frame.h (struct frame): New members resx and resy.
11849 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
11850 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
11851
11852 * frame.c [USE_FONT_BACKEND]: Include "font.h".
11853 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
11854
11855 * lisp.h (assoc_no_quit): Extern it.
11856
11857 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
11858 Through out the file, use FONT_INFO_FROM_FACE instead of
11859 FONT_INFO_FROM_ID, use get_per_char_metric instead of
11860 rif->per_char_metric.
11861 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
11862 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
11863 (get_glyph_face_and_encoding, fill_composite_glyph_string)
11864 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11865 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
11866 nonzero, use font-backend mechanism.
11867 (get_per_char_metric): New function.
11868
11869 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
11870 (set_lface_from_font_name)
11871 (set_font_frame_param, free_realized_face)
11872 (prepare_face_for_display, clear_face_gcs)
11873 (Finternal_set_font_selection_order, realize_x_face)
11874 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
11875 font-backend mechanism.
11876 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
11877 (load_face_font) [USE_FONT_BACKEND]: Abort.
11878 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
11879 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
11880
11881 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
11882 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
11883 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
11884 nonzero, register all available font drivers. Call
11885 x_default_font_parameter for deciding a font.
11886 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
11887
11888 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
11889 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
11890 (x_set_glyph_string_clipping_exactly)
11891 (x_compute_glyph_string_overhangs)
11892 (x_draw_glyph_string_foreground)
11893 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
11894 (x_free_frame_resources) [USE_FONT_BACKEND]: If
11895 enable_font_backend is nonzero, use font-backend mechanism.
11896 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
11897
118982008-02-01 Kenichi Handa <handa@m17n.org>
11899
11900 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
11901 system_eol_type.
11902 (syms_of_coding): Initialize system_eol_type.
11903
11904 * process.c (Fset_process_coding_system): Inherit system's eol
11905 format if necessary.
11906
119072008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11908
11909 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
11910
119112008-02-01 Kenichi Handa <handa@m17n.org>
11912
11913 * coding.c (decode_eol): Pay attention to buffer relocation in
11914 del_range_2.
11915 (decode_coding): Call decode_eol before restoring undo_list.
11916
119172008-02-01 Kenichi Handa <handa@m17n.org>
11918
11919 * charset.c (Fdefine_charset_internal): Fix setting of
11920 emacs_mule_bytes.
11921
119222008-02-01 Kenichi Handa <handa@m17n.org>
11923
11924 * keyboard.c (read_char): Check if C is a character or not before
11925 looking up Vkeyboard_translate_table.
11926
119272008-02-01 Kenichi Handa <handa@m17n.org>
11928
11929 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
11930 condition to terminate the loop.
11931
119322008-02-01 Kenichi Handa <handa@m17n.org>
11933
11934 * coding.c (produce_composition): Compare charbuf[i] instead of
11935 args[i] against 0.
11936 (Fterminal_coding_system): Use EQ to compare Lisp objects.
11937
119382008-02-01 Kenichi Handa <handa@m17n.org>
11939
11940 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
11941 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
11942 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
11943 detect_coding.
11944 (emacs_mule_char): Handle old style (Emacs 20) component character
11945 of a composition.
11946 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
11947 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
11948 composition rule.
11949 (decode_coding_emacs_mule): Handle invalid bytes correctly.
11950
119512008-02-01 Kenichi Handa <handa@m17n.org>
11952
11953 * coding.c (encode_coding_ccl): Allocate destination dynamically
11954 when necessary.
11955
119562008-02-01 Kenichi Handa <handa@m17n.org>
11957
11958 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
11959 the loop. When quitted, show a proper error message.
11960
119612008-02-01 Kenichi Handa <handa@m17n.org>
11962
11963 * xterm.c (x_set_glyph_string_clipping_exactly): Set
11964 src->clip_head and src->clip_tail temporarily instead of src->hl.
11965
11966 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
11967 character sequence.
11968 (Fccl_execute_on_string): Use ASET, not XSET.
11969
119702008-02-01 Kenichi Handa <handa@m17n.org>
11971
11972 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
11973
119742008-02-01 Kenichi Handa <handa@m17n.org>
11975
11976 * coding.c (decode_coding): Fix the condition of terminating the
11977 decoding loop.
11978
119792008-02-01 Kenichi Handa <handa@m17n.org>
11980
11981 * data.c (Faset): On setting a character bigger than 255 in a
11982 unibyte string, signal an error instead of make the string multibyte.
11983
119842008-02-01 Kenichi Handa <handa@m17n.org>
11985
11986 * charset.c (map_charset_chars): Fix for ascii-compatible charset
11987 made by a mapping table.
11988
119892008-02-01 Kenichi Handa <handa@m17n.org>
11990
11991 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
11992 not.
11993 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
11994 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
11995
11996 * xterm.c (x_draw_composite_glyph_string_foreground): Check
11997 s->face is NULL or not.
11998
119992008-02-01 Kenichi Handa <handa@m17n.org>
12000
12001 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
12002 (x_draw_glyph_string): Fix drawing of right_overhang and
12003 left_overhang around/on cursor.
12004
12005 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
12006
120072008-02-01 Kenichi Handa <handa@m17n.org>
12008
12009 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
12010
120112008-02-01 Kenichi Handa <handa@m17n.org>
12012
12013 * coding.c (Fdefine_coding_system_internal)
12014 (Fdefine_coding_system_alias): Avoid a duplicated element in
12015 Vcoding_system_alist.
12016
120172008-02-01 Kenichi Handa <handa@m17n.org>
12018
12019 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
12020
12021 * coding.c (Qcoding_system_define_form): New variable.
12022 (syms_of_coding): Intern and staticpro it.
12023 (Fcoding_system_p): Check Qcoding_system_define_form.
12024 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
12025
12026 * coding.h (CODING_SYSTEM_P): If ID is not available, call
12027 Fcoding_system_p.
12028 (CHECK_CODING_SYSTEM): If ID is not available, call
12029 Fcheck_coding_system.
12030 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
12031 Try also Fcheck_coding_system.
12032
120332008-02-01 Kenichi Handa <handa@m17n.org>
12034
12035 * coding.c (code_conversion_restore): GCPRO arg.
12036
120372008-02-01 Kenichi Handa <handa@m17n.org>
12038
12039 * character.c (lisp_string_width): Check multibyteness of STRING.
12040
120412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12042
12043 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
12044 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
12045 (decode_mac_font_name): Use decode_coding_c_string instead of
12046 decode_coding.
12047 (x_load_font): Initialize fontp->fontset to -1. Set
12048 fontp->encoding_type.
12049
120502008-02-01 Kenichi Handa <handa@m17n.org>
12051
12052 * search.c (search_buffer): Give up BM search on case-fold-search
12053 if one of a target character has a case-equivalence of different
12054 byte length even if that target charcter is an ASCII.
12055 (simple_search): Fix calculation of byte length of matched text.
12056 (boyer_moore): Fix handling of case-equivalent multibyte characters.
12057
120582008-02-01 Kenichi Handa <handa@m17n.org>
12059
12060 * coding.c (decode_coding): Fix handling of invalid bytes.
12061
120622008-02-01 Kenichi Handa <handa@m17n.org>
12063
12064 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
12065 Unicode characters.
12066
120672008-02-01 Kenichi Handa <handa@m17n.org>
12068
12069 * coding.c (encode_coding_object): If a pre-write-conversion
12070 function makes a new buffer, kill it.
12071
120722008-02-01 Kenichi Handa <handa@m17n.org>
12073
12074 * coding.c (QCascii_compatible_p): New variable.
12075 (syms_of_coding): Initialize it.
12076 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
12077 calling string_char.
12078 (record_conversion_result): Add `default:' case.
12079 (coding_charset_list): Delete unused variable `coding_type'.
12080 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
12081 property in the plist of the coding system.
12082 (Fcoding_system_put): Check QCascii_compatible_p.
12083
120842008-02-01 Miles Bader <miles@gnu.org>
12085
12086 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
12087 removed calculation of frame `f', as it's now used.
12088
120892008-02-01 Kenichi Handa <handa@m17n.org>
12090
12091 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
12092 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
12093 (UNIDATA): New variable.
12094 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
12095 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
12096 $(RUN_TEMACS) unconditionally.
12097
120982008-02-01 Kenichi Handa <handa@m17n.org>
12099
12100 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
12101 (admindir): New variable.
12102 ($(lispsource)international/charprop.el): New target.
12103
121042008-02-01 Miles Bader <miles@gnu.org>
12105
12106 * character.c (chars-in-region): Remove obsolete function.
12107 (syms_of_character): Remove its initialization.
12108
121092008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
12110
12111 * w32select.c (validate_coding_system)
12112 (setup_windows_coding_system): New functions.
12113 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
12114 setup_windows_coding_system.
12115 (setup_config, Fw32_get_clipboard_data): Use
12116 validate_coding_system.
12117 (Fx_selection_exists): Move call to setup_config to a place
12118 where signals are allowed.
12119
12120 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
12121 (Fcheck_coding_system): Add declarations.
12122
121232008-02-01 Kenichi Handa <handa@m17n.org>
12124
12125 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
12126
121272008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12128
12129 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
12130 string as the second argument for x_new_fontset.
12131
121322008-02-01 Kenichi Handa <handa@m17n.org>
12133
12134 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
12135 (encode_coding_object): Use safe_call instead of call2.
12136
121372008-02-01 Kenichi Handa <handa@m17n.org>
12138
12139 * fontset.c (Fset_fontset_font): Check family element of a given vector.
12140
12141 * Makefile.in (lisp): Include charprop.el.
12142
121432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12144
12145 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
12146 Not sure if it's unnecessary.
12147
121482008-02-01 Steven Tamm <steventamm@mac.com>
12149
12150 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
12151 some possibly unnecessary fontset checking code that crashed
12152 when creating a new frame.
12153
121542008-02-01 Kenichi Handa <handa@m17n.org>
12155
12156 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
12157 lookup_face.
12158
12159 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
12160
12161 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
12162
121632008-02-01 Kenichi Handa <handa@m17n.org>
12164
12165 * coding.c: Cancel the change done in HEAD on 2008-02-01.
12166 (coding_charset_list): New function.
12167
12168 * coding.h (coding_charset_list): Extern it.
12169
121702008-02-01 Kenichi Handa <handa@m17n.org>
12171
12172 * fontset.c (Fset_fontset_font): Call find_font_encoding with
12173 concatenation of family and registry.
12174
121752008-02-01 Kenichi Handa <handa@m17n.org>
12176
12177 * character.h (BYTE8_STRING): Fix typo.
12178
12179 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
12180 string to multibyte (sync to HEAD).
12181
12182 * casefiddle.c (casify_region): Handle changes in byte-length
12183 using replace_range_2 (sync to HEAD).
12184
121852008-02-01 Andreas Schwab <schwab@suse.de>
12186
12187 * chartab.c (map_char_table): GCPRO table and arg.
12188
121892008-02-01 Kenichi Handa <handa@m17n.org>
12190
12191 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
12192 already at limit.
12193
121942008-02-01 Kenichi Handa <handa@m17n.org>
12195
12196 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
12197 instead of fast_c_string_match_ignore_case.
12198 (find_font_encoding): Change argument to Lisp_Object. Use
12199 fast_string_match_ignore_case instead of
12200 fast_c_string_match_ignore_case. Change caller.
12201
122022008-02-01 Kenichi Handa <handa@m17n.org>
12203
12204 * xdisp.c (get_next_display_element): In unibyte case, decide to
12205 display in octal form by checking a character by
12206 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
12207
12208 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
12209
12210 * character.c (unibyte_has_multibyte_table): New variable.
12211
12212 * character.h (unibyte_has_multibyte_table): Extern it.
12213 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
12214
122152008-02-01 Kenichi Handa <handa@m17n.org>
12216
12217 * coding.c (encode_coding_iso_2022): Fix handling of charset
12218 annotation.
12219
122202008-02-01 Kenichi Handa <handa@m17n.org>
12221
12222 * coding.c (setup_coding_system): If coding_system is nil, use
12223 Qundecided.
12224 (Fterminal_coding_system): Return nil if terminal coding system is
12225 `undecided'.
12226 (syms_of_coding): Define coding-system `undecided' here. Setup
12227 terminal_coding as `undecided'.
12228
122292008-02-01 Kenichi Handa <handa@m17n.org>
12230
12231 * xdisp.c (message_dolog, set_message_1): Call
12232 unibyte_char_to_multibyte with arg type int.
12233
12234 * lread.c (read1): Fix reading of a char-table.
12235
12236 * print.c (print_object): Include sub char-table in circularities
12237 detection.
12238
122392008-02-01 Kenichi Handa <handa@m17n.org>
12240
12241 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
12242 Append the found sequences in car of ARGS instead of prepending.
12243
122442008-02-01 Kenichi Handa <handa@m17n.org>
12245
12246 * fileio.c (report_file_error): Make a unibyte string from
12247 strerror (errorno).
12248 (Fsubstitute_in_file_name): Fix the arg to
12249 unibyte_char_to_multibyte. It is evaluated twice.
12250
122512008-02-01 Kenichi Handa <handa@m17n.org>
12252
12253 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
12254
122552008-02-01 Kenichi Handa <handa@m17n.org>
12256
12257 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
12258 BOM is not found.
12259 (detect_coding, detect_coding_system): Optimization for ISO-2022
12260 when no 8-bit data is found.
12261
122622008-02-01 Jason Rumney <jasonr@gnu.org>
12263
12264 * w32fns.c (x_to_w32_font): Update to use new coding struct.
12265
122662008-02-01 Kenichi Handa <handa@m17n.org>
12267
12268 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
12269 CHARS.
12270
122712008-02-01 Steven Tamm <steventamm@mac.com>
12272
12273 * macterm.c (mac_encode_char): Add charset argument and update
12274 to use encoding_type.
12275 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
12276 switch to pure fontset.
12277 (decode_mac_font_name): Temporarily remove decoding.
12278 (x_font_name_to_mac_font_name): Temporarily remove encoding.
12279 (x_load_font): Temporarily remove encoding.
12280
122812008-02-01 Kenichi Handa <handa@m17n.org>
12282
12283 * xfaces.c (Fface_font): If frame is not on a window system,
12284 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
12285 refer to face->font.
12286 (split_font_name_into_vector, build_font_name_from_vector)
12287 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
12288 when HAVE_WINDOW_SYSTEM is defined.
12289
122902008-02-01 Kenichi Handa <handa@m17n.org>
12291
12292 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
12293 (x_produce_glyphs): Fix setting of members of cmp in case
12294 cmp->glyph_len is zero.
12295
12296 * fontset.c (Fset_fontset_font): Fix docstring.
12297 (Ffontset_info): Make it backward compatible. New arg ALL.
12298
122992008-02-01 Kim F. Storm <storm@cua.dk>
12300
12301 * process.c (read_process_output): Grow decoding_buf when needed;
12302 this could cause a crash in allocate_string and compact_small_strings.
12303
123042008-02-01 Kenichi Handa <handa@m17n.org>
12305
12306 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
12307
123082008-02-01 Kenichi Handa <handa@m17n.org>
12309
12310 * coding.c (setup_coding_system): Set coding->common_flags
12311 correctly for raw-text.
12312 (consume_chars): On encoding unibyte text by raw-text, don't check
12313 multibyte form.
12314 (encode_coding): On encoding by raw-text, never use translation tables.
12315
12316 * fileio.c (e_write): Short cut for the case of no encoding.
12317
123182008-02-01 Kenichi Handa <handa@m17n.org>
12319
12320 * coding.c (detect_coding, detect_coding_system): Delete unused
12321 variables.
12322
123232008-02-01 Kenichi Handa <handa@m17n.org>
12324
12325 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
12326 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
12327
123282008-02-01 Kenichi Handa <handa@m17n.org>
12329
12330 * coding.c (Ffind_coding_systems_region_internal): Include
12331 raw-text and no-conversion in the result.
12332
123332008-02-01 Kenichi Handa <handa@m17n.org>
12334
12335 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
12336 (load_font_get_repertory): Delete unnecessary check of ENCODING of
12337 FONT_DEF.
12338 (font_def_arg, add_arg, from_arg, to_arg): New args.
12339 (set_fontset_font): Change argument.
12340 (Fset_fontset_font): Fix for the case that TARGET is a script
12341 name and charset name.
12342 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
12343
123442008-02-01 Kenichi Handa <handa@m17n.org>
12345
12346 * fontset.c (fontset_font): Rename from fontset_face. Change return
12347 value.
12348 (face_suitable_for_char_p, face_for_char): Adjust for the change
12349 of fontset_font.
12350 (make_fontset_for_ascii_face): Fix setting of the fontset element
12351 for ASCII.
12352 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
12353 to get a font name.
12354 (Ffontset_info): Adjust for the change of fontset_font.
12355
12356 * coding.c (emacs_mule_char): Check invalid code more rigidly.
12357
12358 * character.h (LEADING_CODE_LATIN_1_MIN)
12359 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
12360
123612008-02-01 Kenichi Handa <handa@m17n.org>
12362
12363 * editfns.c (check_translation): New function.
12364 (Ftranslate_region_internal): Handle M:N mapping.
12365
123662008-02-01 Kenichi Handa <handa@m17n.org>
12367
12368 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
12369
123702008-02-01 Kenichi Handa <handa@m17n.org>
12371
12372 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
12373 goto invalid_code.
12374 (decode_coding_iso_2022): Fix handling of invalid designation.
12375
12376 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
12377 after calling code_conversion_save.
12378
123792008-02-01 Kenichi Handa <handa@m17n.org>
12380
12381 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
12382
12383 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
12384
12385 * fontset.c: Include "intervals.h".
12386 (fontset_face): Fix comparing of Lisp_Objects.
12387 (free_face_fontset, new_fontset_from_font_name): Fix
12388 Lisp_Object/int mixup.
12389
12390 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
12391
12392 * coding.c: Add many prototypes for static functions.
12393 (get_translation_table): Allow max_lookup to be NULL.
12394 (decode_coding, Ffind_coding_systems_region_internal)
12395 (Funencodable_char_position, Fcheck_coding_systems_region): Call
12396 get_translation_table with max_lookup NULL.
12397
123982008-02-01 Kenichi Handa <handa@m17n.org>
12399
12400 * coding.c (get_translation_table): Declare it as Lisp_Object.
12401 (LOOKUP_TRANSLATION_TABLE): New macro.
12402 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
12403 instead of CHAR_TABLE_REF.
12404
124052008-02-01 Kenichi Handa <handa@m17n.org>
12406
12407 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
12408 annotation data format.
12409 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
12410 Change arguments FROM and TO to single argument NCHARS. Change caller.
12411 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
12412 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12413 (decode_coding_ccl, decode_coding_charset): Pay attention to
12414 coding->charbuf_used.
12415 (get_translation): New function.
12416 (produce_chars): New arguments translation_table and last_block.
12417 Translate characters here. Return number of carryover chars.
12418 Change caller.
12419 (produce_composition): New argument pos. Change caller.
12420 Adjust for the change of annotation data format.
12421 (produce_charset, produce_annotation): Likewise.
12422 (decode_coding, encode_coding): Don't call translate_chars.
12423 (consume_chars): New arg translation_table. Change caller.
12424 (translate_chars): Delete.
12425 (syms_of_coding): Make translation-table's number of extra slots 2.
12426
124272008-02-01 Kenichi Handa <handa@m17n.org>
12428
12429 * search.c (simple_search): Fix setting this_pos_byte in backward
12430 search.
12431
12432 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
12433 byte sequence.
12434 (detect_coding_ccl): Fix setting of the variable valids.
12435
124362008-02-01 Kenichi Handa <handa@m17n.org>
12437
12438 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
12439
12440 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
12441
12442 * editfns.c (Ftranslate_region_internal): Rename from
12443 Ftranslate_region. Accept a char-table in TABLE.
12444 (syms_of_editfns): Defsubr Stranslate_region_internal.
12445
12446 * xfaces.c (set_lface_from_font_name): If a font is specified for
12447 a frame, generate a fontset from the font.
12448 (build_scalable_font_name): If the scalable font is requested for
12449 a specific size, don't change that size.
12450 (try_font_list): Try a scalable font also in the case that a
12451 pattern string is specified.
12452
124532008-02-01 Kenichi Handa <handa@m17n.org>
12454
12455 * xfaces.c (Fface_font): New optional arg CHARACTER.
12456
124572008-02-01 Kenichi Handa <handa@m17n.org>
12458
12459 * charset.h (CHARSET_OFFSET): New macro.
12460
124612008-02-01 Kenichi Handa <handa@m17n.org>
12462
12463 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
12464
12465 * fontset.c (fontset_face): Handle the case that repertory is a
12466 char-table.
12467 (find_font_encoding): Return nil for unknown encoding.
12468 (Fset_fontset_font): Ignore a font of unknown encoding.
12469
124702008-02-01 Kenichi Handa <handa@m17n.org>
12471
12472 * keymap.c (describe_vector): Handle default value of a char table.
12473
12474 * fontset.c (fontset_face): Handle fallback fonts correctly.
12475 (Ffontset_info): Return infomation about fallback fonts.
12476
124772008-02-01 Kenichi Handa <handa@m17n.org>
12478
12479 * fontset.c (FONTSET_DEFAULT): New macro.
12480 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
12481 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
12482 the case that it is nil.
12483 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
12484 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
12485
12486 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
12487 subset or superset.
12488
124892008-02-01 Kenichi Handa <handa@m17n.org>
12490
12491 * emacs.c (main): Call init_charset after syms_of_XXX.
12492
12493 * charset.c (Vcharset_map_directory): Delete.
12494 (Vcharset_map_path): New variable.
12495 (load_charset_map_from_file): Use Vcharset_map_path instead.
12496 (init_charset): Initialize Vcharset_map_path.
12497 (syms_of_charset): Delete declaration of "charset-map-directory",
12498 add declaration of "charset-map-path".
12499
125002008-02-01 Kenichi Handa <handa@m17n.org>
12501
12502 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
12503 ASCII only string.
12504
12505 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
12506
12507 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
12508 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
12509
125102008-02-01 Kenichi Handa <handa@m17n.org>
12511
12512 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
12513
12514 * coding.c (QCmnemonic, QCdefalut_char)
12515 (QCdecode_translation_table, QCencode_translation_table)
12516 (QCpost_read_conversion, QCpre_write_conversion): New variables.
12517 (get_translation_table): Return a list of translation tables if
12518 necessary.
12519 (decode_coding): Call get_translation_table with ENCODEP 0.
12520 (char_encodable_p): If translation_table is non-nil, always call
12521 translate_char.
12522 (Fdefine_coding_system_internal): Accept list of translation
12523 tables as :encode-translation-table and :decode-translation-table.
12524 (Fcoding_system_put): New function.
12525 (syms_of_coding): Declare new symbols. Defsubr
12526 Scoding_system_put.
12527 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
12528 typically JISX0212.
12529
12530 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
12531 when the charset is superset type.
12532
12533 * character.c (translate_char): Accept list of translation tables.
12534
125352008-02-01 Kenichi Handa <handa@m17n.org>
12536
12537 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
12538 (CODING_ATTR_TRANS_TBL): New macro.
12539
12540 * coding.c (get_translation_table): New function.
12541 (translate_chars): Fix the bug of skipping annotation data.
12542 (decode_coding, encode_coding): Utilize get_translation_table.
12543 (char_encodable_p, Funencodable_char_position): Translate char if
12544 necessary.
12545 (Ffind_coding_systems_region_internal)
12546 (Fcheck_coding_systems_region): Setup translation table for encode
12547 in a coding system attribute vector in advance.
12548 (Fdefine_coding_system_internal): Allow a symbol as translation
12549 table. For shift-jis type coding system, allow 4th charset.
12550
125512008-02-01 Kenichi Handa <handa@m17n.org>
12552
12553 * coding.c (decode_coding_sjis): Check the first byte rigidly.
12554
12555 * xdisp.c (get_next_display_element): Pass -1 as POS to
12556 FACE_FOR_CHAR if displaying a C-string.
12557
125582008-02-01 Kenichi Handa <handa@m17n.org>
12559
12560 * composite.c (get_composition_id): Handle xoff and yoff in a
12561 composition rule.
12562
12563 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
12564 (struct composition): New member lbearing and rbearing.
12565
12566 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
12567 (x_get_glyph_overhangs): Handle a composition glyph.
12568 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
12569
12570 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
12571 composition glyph.
12572
125732008-02-01 Kenichi Handa <handa@m17n.org>
12574
12575 * print.c: Include charset.h.
12576 (Vprint_charset_text_property): New variable.
12577 (Qdefault): Extern it.
12578 (PRINT_STRING_NON_CHARSET_FOUND)
12579 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
12580 (print_check_string_result): New variable.
12581 (print_check_string_charset_prop): New function.
12582 (print_prune_charset_plist): New variable.
12583 (print_prune_string_charset): New function.
12584 (print_object): Call print_prune_string_charset if
12585 Vprint_charset_text_property is not t.
12586 (print_interval): Print nothing if interval->plist is nil.
12587 (syms_of_print): Declare Vprint_charset_text_property as a lisp
12588 variable. Init and staticpro print_prune_charset_plist.
12589
125902008-02-01 Kenichi Handa <handa@m17n.org>
12591
12592 * fontset.c (new_fontset_from_font_name): Use the specified font
12593 for all characters in the new fontset.
12594
12595 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12596 OBJECT args.
12597
12598 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
12599 OBJECT args for composition too.
12600
12601 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12602 OBJECT args.
12603
126042008-02-01 Kenichi Handa <handa@m17n.org>
12605
12606 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
12607
12608 * fontset.c (reorder_font_vector): Adjust for the change of
12609 FONT_DEF format.
12610 (fontset_face): New arg id. Change caller.
12611 (face_for_char): New args pos and object.
12612 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
12613 (fs_query_fontset): Check NAME by Fassoc too.
12614 (Fset_fontset_font): Allow non-XLFD font name.
12615 (Ffontset_info): Adjust for the change of FONT_DEF format.
12616
12617 * fontset.h (face_for_char): Adjust prototype.
12618
12619 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
12620 (append_space, extend_face_to_end_of_line)
12621 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12622 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
12623
12624 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
12625 POS and OBJECT args.
12626
12627 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
12628 POS and OBJECT args.
12629
126302008-02-01 Jason Rumney <jasonr@gnu.org>
12631
12632 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
12633 of GlobalAlloc'ed memory.
12634
126352008-02-01 Kenichi Handa <handa@m17n.org>
12636
12637 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
12638
12639 * charset.h (charset_table_used): Delete extern.
12640
12641 * charset.c (charset_table_used): Make it static.
12642 (map_charset_chars): Fix args to c_function with.
12643
12644 * chartab.c (map_sub_char_table_for_charset): Fix args to
12645 c_function with.
12646
12647 * coding.h (enum coding_result_code): Delete
12648 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
12649
12650 * coding.c (Qinsufficient_source, Qinconsistent_eol)
12651 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
12652 (Vlast_code_conversion_error): New variables.
12653 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
12654 (ONE_MORE_BYTE): Record error if any instead of signaling an
12655 error. If non-ASCII multibyte char is found, return the negative
12656 value of the code. All callers changed to check it.
12657 (ONE_MORE_BYTE_NO_CHECK): Likewise.
12658 (record_conversion_result): New function. Change all codes setting
12659 coding->result to call this function.
12660 (detect_coding_utf_8, decode_coding_utf_8)
12661 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
12662 Don't use the local variable incomplete.
12663 (emacs_mule_char): Change the second arg to `const'.
12664 (decode_coding): Fix of flushing out unprocessed data.
12665 (make_conversion_work_buffer): Fix making of a work buffer.
12666 (decode_coding_object): Return coding->dst_object.
12667
12668 * fontset.c (set_fontset_font): Fix args.
12669
12670 * lisp.h (CHARACTERBITS): Define as 22.
12671
12672 * process.c (send_process): Be sure to set coding->src_multibyte.
12673
12674 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
12675
126762008-02-01 Kenichi Handa <handa@m17n.org>
12677
12678 * xdisp.c (handle_auto_composed_prop): Give limit to
12679 Fnext_single_char_property_change.
12680
126812008-02-01 Kenichi Handa <handa@m17n.org>
12682
12683 * composite.c (syms_of_composite): Don't make the composition hash
12684 table weak.
12685
12686 * fontset.c (Fset_fontset_font): Fix docstring.
12687
12688 * lisp.h (detect_coding_system): Adjust prototype.
12689
12690 * fileio.c (kill_workbuf_unwind): Delete this function.
12691 (Finsert_file_contents): Adjust the call of detect_coding_system.
12692 Get conversion_buffer by code_conversion_save. Use the macro
12693 CODING_MAY_REQUIRE_DECODING. After decoding, update
12694 coding_system.
12695
12696 * coding.h (make_conversion_work_buffer): Delete extern.
12697 (code_conversion_save): Extern it.
12698
12699 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
12700 (CODING_GET_INFO): Delete argument eol_type. Change callers.
12701 (decode_coding_utf_8): Don't do eol converion.
12702 (detect_coding_utf_16): Check coding->src_chars, not
12703 coding->src_bytes. Add heuristics for those that have no signature.
12704 (decode_coding_emacs_mule, decode_coding_iso_2022)
12705 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12706 Don't do eol converion.
12707 (adjust_coding_eol_type): Return a new coding system.
12708 (detect_coding): Don't detect eol. Fix for utf-16 detection.
12709 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
12710 each change.
12711 (decode_coding): Pay attention to undo_list. Do eol conversion for
12712 all types of coding-systems (if necessary).
12713 (Vcode_conversion_work_buf_list): Delete it.
12714 (Vcode_conversion_reused_workbuf): Rename from
12715 Vcode_conversion_reused_work_buf.
12716 (Vcode_conversion_workbuf_name): New variable.
12717 (reused_workbuf_in_use): New variable.
12718 (make_conversion_work_buffer): Delete the arg DEPTH.
12719 (code_conversion_restore): Change argument to cons.
12720 (code_conversion_save): Delete the argument BUFFER. Change callers.
12721 (detect_coding_system): New argument src_chars. Change callers.
12722 Fix for utf-16 detection.
12723 (init_coding_once): Don't use ISO_carriage_return.
12724 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12725 reused_workbuf_in_use.
12726
127272008-02-01 Kenichi Handa <handa@m17n.org>
12728
12729 * keymap.c (store_in_keymap): Pay attention to the case that idx
12730 is a cons specifying a character range.
12731
127322008-02-01 Kenichi Handa <handa@m17n.org>
12733
12734 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12735 HANDLED_RECOMPUTE_PROPS.
12736
12737 * coding.c (Fdefine_coding_system_internal): Fix checking of
12738 ascii compatibility.
12739
127402008-02-01 Kenichi Handa <handa@m17n.org>
12741
12742 * charset.c (find_charsets_in_text): Delete unused locale variable.
12743 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12744
12745 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12746 Resync charset_list to Vemacs_mule_charset_list.
12747
12748 * keymap.c (store_in_keymap): Pay attention to the case that idx
12749 is a cons specifying a character range.
12750
127512008-02-01 Kenichi Handa <handa@m17n.org>
12752
12753 * composite.c (update_compositions): Bind inhibit-read-only, etc
12754 to t before calling remove-list-of-text-properties.
12755
12756 * print.c (print_object): Always print ASCII chars as is.
12757
127582008-02-01 Kenichi Handa <handa@m17n.org>
12759
12760 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12761
12762 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12763 is a char table.
12764
127652008-02-01 Kenichi Handa <handa@m17n.org>
12766
12767 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12768
127692008-02-01 Kenichi Handa <handa@m17n.org>
12770
12771 * xfaces.c (set_lface_from_font_name): Fix for the case that
12772 FONTNAME is not fontset name.
12773
127742008-02-01 Kenichi Handa <handa@m17n.org>
12775
12776 * fns.c (base64_encode_1): Fix previous change.
12777
127782008-02-01 Kenichi Handa <handa@m17n.org>
12779
12780 * fontset.c (set_fontset_font): New function.
12781 (Fset_fontset_font): If a font is specified for a charset, use
12782 map_charset_chars to store the font spec in a fontset.
12783
127842008-02-01 Kenichi Handa <handa@m17n.org>
12785
12786 * fontset.c (fontset_face): Create a fallback fontset on demand.
12787 (make_fontset): Don't create a fallback fontset here.
12788 (free_face_fontset): Free a fallback fontset (if any) too.
12789 (n_auto_fontsets): Delete this variable.
12790 (auto_fontset_alist): New variable.
12791 (new_fontset_from_font_name): Check auto_fontset_alist.
12792 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12793 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12794 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12795 Defsubr Sfontset_list_all.
12796
127972008-02-01 Kenichi Handa <handa@m17n.org>
12798
12799 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12800
128012008-02-01 Kenichi Handa <handa@m17n.org>
12802
12803 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12804
128052008-02-01 Kenichi Handa <handa@m17n.org>
12806
12807 * editfns.c (Fgoto_char): Fix docstring.
12808
128092008-02-01 Kenichi Handa <handa@m17n.org>
12810
12811 * insdel.c (insert_from_gap): Adjust intervals correctly.
12812
128132008-02-01 Jason Rumney <jasonr@gnu.org>
12814
12815 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12816 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12817 (w32_initialize): Try to load it.
12818 (x_get_font_repertory): Use it if available.
12819 (w32_encode_char): Add shortcut for unicode output.
12820
12821 * w32fns.c (w32_load_system_font): Default charset to -1.
12822 (x_to_w32_charset): Match all fonts for unicode.
12823 (w32_to_x_charset): New parameter matching. Don't return partial
12824 or wildcard charsets.
12825 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
12826 (w32_codepage_for_font): Return CP_UNICODE for unicode.
12827 (w32_to_x_font): Match charset to real charset.
12828 (enum_font_cb2): Always list unicode versions.
12829
12830 * makefile.w32-in (temacs): Increase EMHEAP.
12831
128322008-02-01 Jason Rumney <jasonr@gnu.org>
12833
12834 * w32term.c (w32_encode_char): New charset parameter.
12835 font_info.encoding becomes encoding_type.
12836 (x_get_font_repertory): New function. Warning: stub only!
12837 (x_new_font): Return quickly if font already set.
12838 (x_new_fontset): fontsetname parameter is Lisp_Object.
12839 Use new fs_query_fontset. Try new_fontset_from_font_name.
12840 Use fontset_name for return value.
12841
12842 * w32term.h: Declare x_get_font_repertory.
12843
12844 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
12845 place of find_charset_in_text. Use encode_coding_object in place
12846 of encode_coding.
12847 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
12848 decode_coding.
12849
12850 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
12851 of x_new_fontset.
12852 (w32_load_system_font): Initialize charset as unicode.
12853 font_info.encoding becomes encoding_type.
12854 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
12855 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
12856 (syms_of_w32fns): Set get_font_repertory_func.
12857
12858 * w32console.c: Include character.h. Use terminal_encode_buffer
12859 from term.c.
12860 (write_glyphs): Use new version of encode_terminal_code. Use
12861 encode_coding_object in place of encode_coding.
12862
12863 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
12864 encoding becomes encoding_type.
12865
12866 * term.c (terminal_encode_buffer): Make externally visible.
12867
12868 * makefile.w32-in: Add character.h dependancies.
12869 (character.o, chartab.o): New targets.
12870
128712008-02-01 Kenichi Handa <handa@m17n.org>
12872
12873 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
12874 CODING_ID_EOL_TYPE.
12875
128762008-02-01 Andreas Schwab <schwab@suse.de>
12877
12878 * coding.c (produce_chars): Revert last change.
12879
128802008-02-01 Kenichi Handa <handa@m17n.org>
12881
12882 * charset.h (charset_unicode): Extern it.
12883
12884 * charset.c (string_xstring_p): Check by (C >= 0x100).
12885 (find_charsets_in_text): Change format of the arc CHARSETS. New
12886 arg MULTIBYTE.
12887 (Ffind_charset_region, Ffind_charset_string): Adjust for the
12888 change of find_charsets_in_text.
12889 (Fsplit_char): Fix doc. Never return unknown.
12890
12891 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
12892
12893 * coding.c (Fdefine_coding_system_alias): Update
12894 Vcoding_system_list.
12895
12896 * fontset.c (load_font_get_repertory): Pay attention to the case
12897 that ENCODING of a font is specified by a char-table.
12898
12899 * xterm.c (x_get_font_repertory): Handle the case that the
12900 encoding of font is other than Unicode.
12901
129022008-02-01 Kenichi Handa <handa@m17n.org>
12903
12904 * term.c (encode_terminal_code): Don't handle glyph-table. Check
12905 if a character is encodable by the terminal coding system. If
12906 not, produces proper number of `?'s. Update
12907 terminal_encode_buffer and terminal_encode_buf_size if necessary.
12908 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
12909
129102008-02-01 Kenichi Handa <handa@m17n.org>
12911
12912 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
12913 variables.
12914 (encode_terminal_code): Change argument. Encode multiple
12915 characters at once. Store the result of encoding in
12916 terminal_encode_buffer.
12917 (write_glyphs, insert_glyphs): Adjust for the change of
12918 encode_terminal_code.
12919 (term_init): Initialize terminal_encode_buffer and
12920 terminal_encode_buf_size.
12921
12922 * coding.c (consume_chars): If coding->src_object is nil, don't
12923 check annotation.
12924
129252008-02-01 Kenichi Handa <handa@m17n.org>
12926
12927 * character.c (char_string): Use ASCII_CHAR_P instead of
12928 SINGLE_BYTE_CHAR_P.
12929
129302008-02-01 Kenichi Handa <handa@m17n.org>
12931
12932 * xdisp.c (handle_auto_composed_prop): Check if the last
12933 characters of auto-composed region is newly composed with the
12934 following characters.
12935 (handle_composition_prop): Fix checking of point being inside
12936 composition.
12937
129382008-02-01 Kenichi Handa <handa@m17n.org>
12939
12940 * fns.c (concat): Don't change multibyteness of the result by
12941 concatenating an 8-bit character.
12942
12943 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
12944 multibyteness of the result when newelt is an 8-bit character.
12945
129462008-02-01 Dave Love <fx@gnu.org>
12947
12948 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
12949 EMACS_INT.
12950
12951 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
12952
12953 * xfaces.c (face_numeric_value): Declare dim size_t.
12954 (Finternal_lisp_face_equal_p): Remove unused f.
12955
12956 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
12957 (MATRIX_ROW): Remove unused vars.
12958 (draw_glyphs, x_insert_glyphs, fast_find_position)
12959 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
12960 byte/char counts.
12961
12962 * regex.c (regex_compile): Remove unused var.
12963
12964 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12965
12966 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
12967 (Faccessible_keymaps, where_is_internal): Remove unused vars.
12968
12969 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
12970
12971 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
12972
12973 * fileio.c (Fwrite_region): Remove unused var.
12974
12975 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
12976 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
12977
12978 * composite.c (Fremove_list_of_text_properties): Declare.
12979
12980 * coding.c (inhibit_pre_post_conversion): Remove (unused).
12981 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
12982 (coding_inherit_eol_type): Remove unused attrs.
12983 (detect_coding): Cast arg of detect_eol.
12984
12985 * charset.c (syms_of_charset): Remove unused var p.
12986 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
12987 byte/char counts.
12988
12989 * casetab.c (set_case_table): Remove unused var.
12990
12991 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
12992 unused vars.
12993
129942008-02-01 Dave Love <fx@gnu.org>
12995
12996 * xterm.c (x_bitmap_mask): Declare.
12997
129982008-02-01 Dave Love <fx@gnu.org>
12999
13000 * xterm.c (x_term_init): Fix type error.
13001
13002 * lisp.h: Add Funibyte_char_to_multibyte.
13003
13004 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
13005 (Fset_coding_system_priority): Doc fix.
13006
13007 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
13008
13009 * indent.c (check_composition): Make start and end EMACS_INT.
13010
13011 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
13012
13013 * xdisp.c (handle_composition_prop, check_point_in_composition):
13014 Make buffer positions EMACS_INT.
13015
13016 * composite.c (find_composition, run_composition_function)
13017 (update_compositions, Ffind_composition_internal): Make buffer
13018 positions EMACS_INT.
13019
13020 * composite.h (find_composition, update_compositions): Make
13021 position args EMACS_INT.
13022
13023 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
13024
13025 * intervals.c (get_property_and_range):
13026 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
13027
13028 * unexalpha.c: Don't include varargs.h.
13029
130302008-02-01 Dave Love <fx@gnu.org>
13031
13032 * coding.h (ENCODE_UTF_8): New.
13033
13034 * Makefile.in (gtkutil.o): Depend on coding.h.
13035
13036 * coding.c (Fset_coding_system_priority): Doc fix.
13037
130382008-02-01 Kenichi Handa <handa@m17n.org>
13039
13040 * fileio.c (Finsert_file_contents): Call setup_coding_system in
13041 the case of auto saving.
13042
130432008-02-01 Andreas Schwab <schwab@suse.de>
13044
13045 * chartab.c (map_char_table, map_char_table_for_charset): Protect
13046 `range' from GC.
13047
130482008-02-01 Kenichi Handa <handa@m17n.org>
13049
13050 * coding.c (decode_coding_sjis): Check bytes more rigidly.
13051
130522008-02-01 Kenichi Handa <handa@m17n.org>
13053
13054 * fileio.c (choose_write_coding_system): Return a decided coding system.
13055 (Fwrite_region): Set Vlast_coding_system_used to the return value
13056 of choose_write_coding_system.
13057
130582008-02-01 Kenichi Handa <handa@m17n.org>
13059
13060 * charset.c (Fset_charset_priority): Pay attention to duplicated
13061 arguments.
13062
13063 * coding.c (QCcategory): New variable.
13064 (syms_of_coding): Defsym it. Set all elements of
13065 Vcoding_category_table and their symbol values.
13066 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
13067 coding-category-XXX, and coding-category-list.
13068 (Fdefine_coding_system_internal): Add category in the plist.
13069
130702008-02-01 Kenichi Handa <handa@m17n.org>
13071
13072 * callproc.c (Fcall_process): Handle carryover correctly.
13073
13074 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
13075 (raw_text_coding_system): Check NILP (coding_system).
13076 (coding_inherit_eol_type): Check NILP (coding_system) and
13077 NILP (parent).
13078 (consume_chars): Fix for the case of raw-text.
13079
13080 * process.c (read_process_output): Handle carryover correctly.
13081
130822008-02-01 Dave Love <fx@gnu.org>
13083
13084 * regex.c (re_search_2): Fix last change.
13085
130862008-02-01 Kenichi Handa <handa@m17n.org>
13087
13088 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
13089 target_multibyte. Even in a unibyte case, return a converted
13090 multibyte char.
13091 (GET_CHAR_AFTER): New macro.
13092 (PATFETCH): Translate via multibyte char.
13093 (HANDLE_UNIBYTE_RANGE): Delete this macro.
13094 (SETUP_MULTIBYTE_RANGE): New macro.
13095 (regex_compile): Setup compiled code so that its multibyteness
13096 matches that of a target. Fix the handling of "[X-YZ]" using
13097 SETUP_MULTIBYTE_RANGE.
13098 (analyse_first) <charset>: For filling fastmap for all multibyte
13099 characters, don't check by BASE_LEADING_CODE_P.
13100 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
13101 the same as RE_MULTIBYTE_P (bufp) now.
13102 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
13103 (TARGET_CHAR_AND_LENGTH): Delete this macro.
13104 (TRANSLATE_VIA_MULTIBYTE): New macro.
13105 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
13106 It is the same as RE_MULTIBYTE_P (bufp) now.
13107 <exactn>: Translate via multibyte.
13108 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
13109 translate it.
13110 <charset, charset_not>: Fetch a character by
13111 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
13112 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
13113 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
13114 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
13115 by GET_CHAR_AFTER.
13116 (bcmp_translate): Likewise.
13117
13118 * search.c (compile_pattern): Check the member target_multibyte,
13119 not the member multibyte of buf.
13120
13121 * lread.c (read1): While reading a string, set force_singlebyte
13122 and force_multibyte correctly.
13123
13124 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
13125 up of unibyte_to_multibyte_table.
13126
131272008-02-01 Kenichi Handa <handa@m17n.org>
13128
13129 * coding.c (setup_coding_system): If coding has
13130 post-read-conversion or pre-write-conversion, set
13131 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
13132 respectively.
13133 (decode_coding_gap): Run post-read-conversion if any.
13134
13135 * fileio.c (Finsert_file_contents): Even if we read into a
13136 unibyte buffer, check if we must decode the result or not.
13137
131382008-02-01 Kenichi Handa <handa@m17n.org>
13139
13140 * coding.c (make_conversion_work_buffer): Change the work buffer
13141 name to the same one as that of Emacs 21.
13142
131432008-02-01 Kenichi Handa <handa@m17n.org>
13144
13145 * coding.h (make_conversion_work_buffer): Adjust prototype.
13146 (code_conversion_restore): Don't extern it.
13147
13148 * coding.c (detected_mask): Delete unused variable.
13149 (decode_coding_iso_2022): Pay attention to the byte sequence of
13150 CTEXT extended segment, and retain those bytes as is.
13151 (decode_coding_ccl): Delete unused variable `valids'.
13152 (setup_coding_system): Delete unused variable `category'.
13153 (consume_chars): Delete unused variable `category'. Make it work
13154 for non-multibyte case.
13155 (make_conversion_work_buffer): Change argument.
13156 (saved_coding): Delete unused variable.
13157 (code_conversion_restore): Don't check saved_coding->destination.
13158 (code_conversion_save): New function.
13159 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
13160 instead of record_unwind_protect.
13161 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
13162 (detect_coding_system): Delete unused variable `mask'.
13163 (Fdefine_coding_system_internal): Delete unused variable id.
13164
13165 * fileio.c (kill_workbuf_unwind): New function.
13166 (Finsert_file_contents): On replacing, call
13167 make_conversion_work_buffer with correct args, and call
13168 record_unwind_protect with the first arg kill_workbuf_unwind.
13169
13170 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
13171
131722008-02-01 Kenichi Handa <handa@m17n.org>
13173
13174 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
13175 (fontset_add): Fix for the case that TO is less than TO1.
13176 (Ffontset_info): Don't use fallback fontset on checking the
13177 default fontset.
13178 (dump_fontset): New function for debugging.
13179
13180 * coding.c (Fdefine_coding_system_internal): Fix for the case that
13181 coding_type is Qcharset.
13182
131832008-02-01 Kenichi Handa <handa@m17n.org>
13184
13185 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
13186 (map_char_table): Don't inherit the value from the parent on
13187 initializing VAL. Adjust for the above change.
13188
131892008-02-01 Kenichi Handa <handa@m17n.org>
13190
13191 * coding.c (Qsignature, Qendian): Delete these variables.
13192 (syms_of_coding): Don't initialize them.
13193 (CATEGORY_MASK_UTF_16_AUTO): New macro.
13194 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
13195 detect_info->found.
13196 (decode_coding_utf_16): Don't detect BOM here.
13197 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
13198 is NOT utf_16_without_bom.
13199 (setup_coding_system): For a coding system of type utf-16, check
13200 if the attribute :endian is Qbig or not (not nil or not), and set
13201 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
13202 (detect_coding): If coding type is utf-16 and BOM detection is
13203 required, detect it.
13204 (Fdefine_coding_system_internal): For a coding system of type
13205 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
13206
132072008-02-01 Kenichi Handa <handa@m17n.org>
13208
13209 * coding.c (coding_set_source): Fix for the case that the current
13210 buffer is different from coding->src_object.
13211 (decode_coding_object): Don't use the conversion work buffer if
13212 DST_OBJECT is a buffer.
13213
132142008-02-01 Dave Love <fx@gnu.org>
13215
13216 * lread.c (read_emacs_mule_char) [len==2]: Index
13217 emacs_mule_charset correctly.
13218
132192008-02-01 Dave Love <fx@gnu.org>
13220
13221 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
13222 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
13223 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
13224 treated specially.)
13225 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
13226 (detected_mask): Remove Big5 bits.
13227
132282008-02-01 Kenichi Handa <handa@m17n.org>
13229
13230 The following changes are to make the font rescaling facility
13231 compatible with Emacs 21.
13232
13233 * xfaces.c (Vface_font_rescale_alist): Rename from
13234 Vface_resizing_fonts.
13235 (struct font_name): Rename member resizing_ratio to rescale_ratio.
13236 (font_rescale_ratio): Rename from font_resizing_ratio.
13237 (split_font_name): Set font->rescale_ratio.
13238 (better_font_p): Pay attention to font->rescale_ratio.
13239 (build_scalable_font_name): Likewise. Change RESX, and RESY
13240 fields.
13241 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
13242
132432008-02-01 Kenichi Handa <handa@m17n.org>
13244
13245 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
13246 (Qutf_16_le): Remove these variables.
13247 (syms_of_coding): Don't DEFSYM them.
13248 (decode_coding_utf_16): Fix handling of BOM.
13249 (encode_coding_utf_16): Fix handling of BOM.
13250
132512008-02-01 Kenichi Handa <handa@m17n.org>
13252
13253 * fileio.c (Finsert_file_contents): On replacing, before decoding
13254 the file into the work buffer, set point of the work buffer to the end.
13255
132562008-02-01 Dave Love <fx@gnu.org>
13257
13258 * coding.c (Fcheck_coding_systems_region): Fix type errors.
13259
132602008-02-01 Dave Love <fx@gnu.org>
13261
13262 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13263 and fix C types.
13264
132652008-02-01 Kenichi Handa <handa@m17n.org>
13266
13267 * xdisp.c (SKIP_GLYPHS): New macro.
13268 (set_cursor_from_row): Pay attention to string display properties.
13269
13270 * category.c (copy_category_entry): Fix for the case that RANGE
13271 is an integer.
13272
13273 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
13274
13275 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
13276
132772008-02-01 Kenichi Handa <handa@m17n.org>
13278
13279 * charset.c (Fcharset_id_internal): New function.
13280 (syms_of_charset): Defsubr it.
13281
13282 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
13283 with the last arg charset_list acquired from coding.
13284 (Fdefine_coding_system_internal): For ccl-based coding system, fix
13285 the attribute coding_attr_ccl_valids.
13286
13287 * coding.h (enum define_coding_ccl_arg_index): Set the first
13288 member coding_arg_ccl_decoder to coding_arg_max.
13289
13290 * ccl.h (ccl_driver): Adjust prototype.
13291
13292 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
13293 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 13294 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
13295 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
13296 last arg Qnil.
13297
132982008-02-01 Kenichi Handa <handa@m17n.org>
13299
13300 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
13301 call encode_char.
13302
13303 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
13304
133052008-02-01 Dave Love <fx@gnu.org>
13306
13307 * composite.c (syms_of_composite): Make composition_hash_table weak.
13308
133092008-02-01 Kenichi Handa <handa@m17n.org>
13310
13311 * dispextern.h (check_face_attributes, generate_ascii_font_name)
13312 (font_name_registry): Don't extern them.
13313 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
13314
13315 * fontset.h (Qfontset): Don't extern it.
13316 (new_fontset_from_font_name): Extern it.
13317
13318 * fontset.c: Give 8 extra slots to fontset objects.
13319 (Qfontset_info): New variable.
13320 (syms_of_fontset): Defsym it.
13321 (FONTSET_FALLBACK): New macro.
13322 (fontset_face): Try also the default fontset.
13323 (make_fontset): Realize a fallback fontset from the default fontset.
13324 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
13325 using split_font_name_into_vector and build_font_name_from_vector.
13326 (Fset_fontset_font): Access the elements of font_spec by enum
13327 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
13328 name by using split_font_name_into_vector.
13329 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
13330 generate a proper font name from the fontset name. Update
13331 Vfontset_alias_alist.
13332 (n_auto_fontsets): New variable.
13333 (new_fontset_from_font_name): New function.
13334 (Ffont_info): Store the information about fonts generated from the
13335 default fontset in the first extra slot of the returned char-table.
13336
13337 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
13338 (font_name_registry): Delete function.
13339 (split_font_name_into_vector): New function.
13340 (build_font_name_from_vector): New function.
13341 (font_list): The argument REGISTRY is now a list of registry names.
13342 (choose_face_font): If we are choosing an ASCII font, and ATTRS
13343 specifies an explicit font name, return the name as is. Make a
13344 list of registy names.
13345
13346 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
13347 of x_new_fontset.
13348 (Fx_create_frame): Don't call x_new_fontset here. Just use
13349 x_list_fonts to check the existence of fonts.
13350
13351 * xterm.h (x_new_fontset): Adjust prototype.
13352
13353 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
13354 string. Use new_fontset_from_font_name to create a fontset from a
13355 font name.
13356
133572008-02-01 Kenichi Handa <handa@m17n.org>
13358
13359 * syntax.c (Vfind_word_boundary_function_table): New name for
13360 Vnext_word_boundary_function_table.
13361 (find-word-boundary-function-table): New name for
13362 next-word-boundary-function-table.
13363
133642008-02-01 Dave Love <fx@gnu.org>
13365
13366 * Makefile.in: Fix some dependencies.
13367
13368 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
13369 set it to nil before returning.
13370
13371 * composite.c (update_compositions): Fix type error.
13372
13373 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
13374
133752008-02-01 Kenichi Handa <handa@m17n.org>
13376
13377 * xterm.c (x_new_font): Optimize for the case that the font is
13378 already set for the frame.
13379
133802008-02-01 Kenichi Handa <handa@m17n.org>
13381
13382 * chartab.c (char_table_ascii): Check if the char table contents
13383 is sub-char-table or not.
13384 (char_table_set, char_table_set_range): Fix argument to
13385 char_table_ascii.
13386
13387 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
13388 (detect_coding_utf_8, detect_coding_utf_16)
13389 (detect_coding_emacs_mule, detect_coding_iso_2022)
13390 (detect_coding_sjis, detect_coding_big5)
13391 (detect_coding_ccl, detect_coding_charset): Change argument MASK
13392 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
13393 sequence is valid in this coding system. Change callers.
13394 (MAX_ANNOTATION_LENGTH): New macro.
13395 (ADD_ANNOTATION_DATA): New macro.
13396 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
13397 ADD_ANNOTATION_DATA. Change the format of annotation data.
13398 (ADD_CHARSET_DATA): New macro.
13399 (emacs_mule_char): New argument ID. Change callers.
13400 (decode_coding_emacs_mule, decode_coding_iso_2022)
13401 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13402 Produce charset annotation data in coding->charbuf.
13403 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
13404 to charset annotation data in coding->charbuf.
13405 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
13406 coding->common_flags if the coding system is iso-2022 based and
13407 uses designation.
13408 (produce_composition): Adjust for the new annotation data format.
13409 (produce_charset): New function.
13410 (produce_annotation): Handle charset annotation.
13411 (handle_composition_annotation, handle_charset_annotation): New
13412 functions.
13413 (consume_chars): Handle charset annotation. Utilize the above two
13414 functions.
13415 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
13416 buffer, get the deleted text as a string and set
13417 coding->src_object to that string.
13418 (detect_coding, detect_coding_system): Use the new struct
13419 coding_detection_info.
13420
13421 * coding.h (struct coding_detection_info): New structure.
13422 (struct coding_system): Adjust prototype of the member `detector'.
13423 (CODING_ANNOTATE_CHARSET_MASK): New macro.
13424
134252008-02-01 Kenichi Handa <handa@m17n.org>
13426
13427 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
13428
134292008-02-01 Dave Love <fx@gnu.org>
13430
13431 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
13432 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
13433 to new local and nullify apropos_accumulate before returning.
13434 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
13435
134362008-02-01 Kenichi Handa <handa@m17n.org>
13437
13438 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
13439 correctly.
e3eea1fc 13440
aac0c6e3
MR
134412008-02-01 Dave Love <fx@gnu.org>
13442
13443 * fns.c (Flanginfo): Call synchronize_system_time_locale.
13444
134452008-02-01 Kenichi Handa <handa@m17n.org>
13446
13447 The following changes are to make character composition happen
13448 automatically on displaying.
13449
13450 * Makefile.in (lisp, shortlisp): Add composite.elc.
13451
13452 * composite.h (Qauto_composed, Vauto_composition_function)
13453 (Qauto_composition_function): Extern them.
13454
13455 * composite.c (Vcomposition_function_table)
13456 (Qcomposition_function_table): Delete variables.
13457 (Qauto_composed, Vauto_composition_function)
13458 (Qauto_composition_function): New variables.
13459 (run_composition_function): Don't call
13460 compose-chars-after-function.
13461 (update_compositions): Clear `auto-composed' text property.
13462 (compose_chars_in_text): Delete this function.
13463 (syms_of_composite): Staticpro Qauto_composed and
13464 Qauto_composition_function. Declare Vauto_composition_function as
13465 a Lisp variable.
13466
13467 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
13468
13469 * xdisp.c (it_props): Add an entry for Qauto_composed.
13470 (handle_auto_composed_prop): New function.
13471
13472 * xselect.c (selection_data_to_lisp_data): Don't call
13473 compose_chars_in_text.
13474
134752008-02-01 Dave Love <fx@gnu.org>
13476
13477 * keyboard.c (read_char): Modify checking around use of
13478 Vkeyboard_translate_table.
13479
13480 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13481 and fix C types.
13482
134832008-02-01 Kenichi Handa <handa@m17n.org>
13484
13485 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
13486 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13487 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
13488 the case that the last byte is '\r' correctly.
13489 (decode_coding): Flush out the unprocessed data correctly.
13490 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
13491
134922008-02-01 Dave Love <fx@gnu.org>
13493
13494 * xterm.c (XTread_socket): Fix changes for defined keysyms.
13495 Add XK_ISO... case.
13496 (xaw_scroll_callback): Revert last change.
13497
134982008-02-01 Kenichi Handa <handa@m17n.org>
13499
13500 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
13501
135022008-02-01 Kenichi Handa <handa@m17n.org>
13503
13504 * xfaces.c (Vface_resizing_fonts): New variable.
13505 (struct font_name): New member `resizing_ratio'.
13506 (font_resizing_ratio): New function.
13507 (split_font_name): Set font->resizing_ratio.
13508 (better_font_p): Pay attention to font->resizing_ratio.
13509 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
13510 RESX, and RESY fields.
13511 (try_alternative_families): Try scalable fonts if
13512 Vscalable_fonts_allowed is not Qt.
13513 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
13514
135152008-02-01 Dave Love <fx@gnu.org>
13516
13517 * xterm.c (xaw_scroll_callback): Cast correctly.
13518
135192008-02-01 Dave Love <fx@gnu.org>
13520
13521 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
13522 (lispy_kana_keys): Comment out.
13523 (make_lispy_event) [XK_kana_A]: Comment out.
13524
13525 * xterm.c (xaw_scroll_callback): Cast call_data.
13526 (XTread_socket): Deal with ASCII keysyms.
13527 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
13528
135292008-02-01 Dave Love <fx@gnu.org>
13530
13531 * xterm.c (Vx_keysym_table): New.
13532 (syms_of_xterm): Initialize it.
13533 (XTread_socket): Use it.
13534 From head: Eliminate incorrect optimization that tried to avoid
13535 decoding the output of X*LookupString.
13536 (x_get_font_repertory): Delete charset declaration.
13537
135382008-02-01 Kenichi Handa <handa@m17n.org>
13539
13540 * coding.c (detect_coding_charset): If only ASCII bytes are found,
13541 return 0.
13542 (Fdefine_coding_system_internal): Setup
13543 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
13544
135452008-02-01 Dave Love <fx@gnu.org>
13546
13547 * coding.c (Fcheck_coding_system): Doc fix.
13548
13549 * editfns.c (Finsert_byte): Return a proper value.
13550
135512008-02-01 Kenichi Handa <handa@m17n.org>
13552
13553 * coding.c (decode_coding): Fix args to translate_chars. Pay
13554 attention to Vstandard_translation_table_for_decode.
13555 (encode_coding): Fix args to translate_chars. Pay attention to
13556 Vstandard_translation_table_for_encode.
13557
13558 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
13559 SINGLE_BYTE_CHAR_P.
13560
13561 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
13562 not by SINGLE_BYTE_CHAR_P.
13563
13564 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
13565 SINGLE_BYTE_CHAR_P.
13566
13567 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
13568 SINGLE_BYTE_CHAR_P.
13569
13570 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
13571 by SINGLE_BYTE_CHAR_P.
13572
13573 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
13574 SINGLE_BYTE_CHAR_P.
13575
135762008-02-01 Dave Love <fx@gnu.org>
13577
13578 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
13579
135802008-02-01 Dave Love <fx@gnu.org>
13581
13582 * fns.c (Flanginfo): Fix typo.
13583
13584 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
13585
135862008-02-01 Kenichi Handa <handa@m17n.org>
13587
13588 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
13589 (detect_coding_emacs_mule, detect_coding_iso_2022)
13590 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
13591 incomplete byte sequence. Don't update *mask when correctly detected.
13592 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
13593 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
13594 (detect_coding, detect_coding_system): Adjust for the changes above.
13595
135962008-02-01 Kenichi Handa <handa@m17n.org>
13597
13598 * character.c (char_string): Rename from
13599 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
13600 (string_char): Rename from string_char.
13601
13602 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
13603 if C is greater than MAX_3_BYTE_CHAR.
13604 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
13605 string_char instead of string_char_with_unification.
13606
136072008-02-01 Dave Love <fx@gnu.org>
13608
13609 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
13610
136112008-02-01 Kenichi Handa <handa@m17n.org>
13612
13613 * keymap.c (push_key_description): Pay attention to force_multibyte.
13614
13615 * regex.c (re_search_2): Fix for the case of unibyte buffer.
13616
136172008-02-01 Dave Love <fx@gnu.org>
13618
13619 * charset.c (define_charset_internal): Rename `supprementary'.
13620
13621 * Makefile.in (lisp, shortlisp): Remove latin-N.
13622
136232008-02-01 Dave Love <fx@gnu.org>
13624
13625 * xfns.c (x_window, x_window): Use use_xim.
13626
13627 * xterm.c (use_xim): Initialize.
13628 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
13629 (x_term_init): Maybe set use_xim.
13630
13631 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
13632
136332008-02-01 Kenichi Handa <handa@m17n.org>
13634
13635 * search.c (search_buffer): Fix case-fold-search of multibyte
13636 characters.
13637 (boyer_moore): Rename the last argument to char_high_bits.
13638
136392008-02-01 Kenichi Handa <handa@m17n.org>
13640
13641 * xdisp.c (display_string): Fix for the case of zero width glyph.
13642
13643 * xfns.c (x_set_font): Change the error message of the case that
13644 x_new_fontset returns Qt.
13645
13646 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
13647 (Finternal_set_lisp_face_attribute): Use signal_error for the
13648 error of invalid fontset.
13649
13650 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
13651 fontset, return Qt.
13652
136532008-02-01 Dave Love <fx@gnu.org>
13654
13655 * unexelf.c (unexec): Make .got handling not SGI-specific.
13656
13657 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
13658
13659 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
13660
13661 * keyboard.c (read_key_sequence): Fix type error.
13662
13663 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
13664 type error.
13665
13666 * fontset.c (fontset_add): Return Lisp_Object.
13667
136682008-02-01 Dave Love <fx@gnu.org>
13669
13670 * charset.h (charset_ordered_list_tick): Declare extern.
13671
136722008-02-01 Kenichi Handa <handa@m17n.org>
13673
13674 The following changes (and some of 2008-02-01 changes of mine) are
13675 for handling syntax, category, and case conversion for unibyte
13676 characters by converting them to multibyte on the fly. With these
13677 changes, we don't have to setup syntax and case tables for unibyte
13678 characters in each language environment.
13679
13680 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
13681 multibyte if necessary.
13682
13683 * bytecode.c (Fbyte_code): Likewise.
13684
13685 * character.h (LEADING_CODE_LATIN_1_MIN)
13686 (LEADING_CODE_LATIN_1_MAX): New macros.
13687 (unibyte_to_multibyte_table): Extern it.
13688 (unibyte_char_to_multibyte): New macro.
13689 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
13690 (CHAR_LEADING_CODE): New macro.
13691 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
13692
13693 * character.c (unibyte_to_multibyte_table): New variable.
13694 (unibyte_char_to_multibyte): Move to character.h and define as macro.
13695 (multibyte_char_to_unibyte): If C is an eight-bit character,
13696 convert it to the corresponding byte value.
13697
13698 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
13699 not 1, signals an error. Update the elements of
13700 unibyte_to_multibyte_table.
13701 (init_charset_once): Initialize unibyte_to_multibyte_table.
13702 (syms_of_charset): Define the charset `iso-8859-1'.
13703
13704 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
13705 as is without converting it to unibyte. In a unibyte buffer,
13706 convert C to multibyte before checking the syntax.
13707
13708 * lisp.h (unibyte_char_to_multibyte): Delete extern.
13709
13710 * minibuf.c (Fminibuffer_complete_word): Use the macro
13711 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
13712
13713 * regex.h (struct re_pattern_buffer): New member target_multibyte.
13714
13715 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
13716 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
13717 that is zero, convert an eight-bit char to multibyte.
13718 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13719 non-emacs case.
13720 (PATFETCH): Convert an eight-bit char to multibyte.
13721 (HANDLE_UNIBYTE_RANGE): New macro.
13722 (regex_compile): Setup the compiled pattern for multibyte chars
13723 even if the given regex string is unibyte. Use PATFETCH_RAW
13724 instead of PATFETCH in many places. To handle `charset'
13725 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13726 only for ASCII chars.
13727 (analyse_first) <exactn>: Simplify because the compiled pattern
13728 is multibyte.
13729 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13730 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13731 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13732 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13733 multibyte always 1.
13734 (re_search_2): In emacs, set the locale variable multibyte to 1,
13735 otherwise to 0. New local variable target_multibyte. Check it
13736 to decide the multibyteness of STR1 and STR2. If
13737 target_multibyte is zero, convert unibyte chars to multibyte
13738 before translating and checking fastmap.
13739 (TARGET_CHAR_AND_LENGTH): New macro.
13740 (re_match_2_internal): In emacs, set the locale variable multibyte
13741 to 1, otherwise to 0. New local variable target_multibyte. Check
13742 it to decide the multibyteness of STR1 and STR2. Use
13743 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13744 <charset, charset_not>: If multibyte is nonzero, check fastmap
13745 only for ASCII chars. Call bcmp_translate with
13746 target_multibyte, not with multibyte.
13747 <begline>: Declare the local variable C as `unsigned'.
13748 (bcmp_translate): Change the last arg name to target_multibyte.
13749
13750 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13751 the regexp pattern and the matching target. Set cp->buf.multibyte
13752 to the multibyteness of the regexp pattern. Set
13753 cp->but.target_multibyte to the multibyteness of the matching target.
13754 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13755 FETCH_STRING_CHAR_ADVANCE.
13756 (Freplace_match): Convert unibyte chars to multibyte.
13757
13758 * syntax.c (char_quoted, back_comment, scan_words)
13759 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13760 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13761 unibyte chars to multibyte.
13762 (skip_chars): Delete the arg syntaxp, and move the code for
13763 handling syntaxes to skip_syntaxes. Change callers.
13764 Fix the case that the multibyteness of STRING and the current
13765 buffer doesn't match.
13766 (skip_syntaxes): New function.
13767 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13768 SINGLE_BYTE_CHAR_P.
13769
137702008-02-01 Kenichi Handa <handa@m17n.org>
13771
13772 * xfaces.c (QCfontset): New variable.
13773 (LFACE_FONTSET): New macro.
13774 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13775 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13776 (Finternal_set_lisp_face_attribute)
13777 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13778 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13779 check also LFACE_FONTSET_INDEX.
13780 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13781 attrs[LFACE_FONT_INDEX].
13782 (syms_of_xfaces): Intern and staticpro QCfontset.
13783
13784 * dispextern.h (enum lface_attribute_index): New member
13785 LFACE_FONTSET_INDEX.
13786
13787 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13788
137892008-02-01 Kenichi Handa <handa@m17n.org>
13790
13791 * coding.c (coding_set_destination): Fix coding->destination for
13792 the case converting a region.
13793 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13794 (encode_coding_object): Fix coding->dst_pos and
13795 coding->dst_pos_byte for the case converting a region.
13796
13797 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13798
13799 * character.h (BYTE8_STRING): New macro.
13800
13801 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13802
138032008-02-01 Kenichi Handa <handa@m17n.org>
13804
13805 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13806 characters by octal form.
13807
13808 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13809
13810 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13811 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13812 _fetch_multibyte_char_len.
13813 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13814
13815 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13816
13817 * casefiddle.c (casify_object): Simplify. Handle the case that
13818 the case conversion change the byte length.
13819 (casify_region): Likewise.
13820
13821 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
13822
13823 * character.c (_fetch_multibyte_char_len): Delete this variable.
13824 (syms_of_character): Setup Vprintable_chars.
13825
13826 * editfns.c (Fchar_equal): Fix for the unibyte case.
13827 (Finsert_byte): New function.
13828 (syms_of_editfns): Defsubr it.
13829
13830 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
13831 of direct code 0x3ffff.
13832
13833 * search.c (Freplace_match): Fix for the unibyte case.
13834
138352008-02-01 Kenichi Handa <handa@m17n.org>
13836
13837 * lread.c (safe_to_load_p): Fix the logic.
13838
13839 * syntax.c (scan_words): Don't treat characters belonging to
13840 different scripts as constituting a word.
13841
13842 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13843
13844 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
13845
13846 * emacs.c (main): In the case of --unibyte, instead of aborting on
13847 finding non-empty buffer, make it unibyte.
13848
138492008-02-01 Kenichi Handa <handa@m17n.org>
13850
13851 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
13852 to create a fontset.
13853
138542008-02-01 Dave Love <fx@gnu.org>
13855
13856 * character.c (Funibyte_char_to_multibyte): Doc fix.
13857
13858 * xfns.c [HAVE_STDLIB_H]: Fix last change.
13859
138602008-02-01 Kenichi Handa <handa@m17n.org>
13861
13862 * fontset.c (fontset_add): Make the type `int'.
13863 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
13864
13865 * character.c (unibyte_char_to_multibyte)
13866 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
13867 charset_unibyte, not charset_primary.
13868
13869 * charset.h (charset_unibyte): Extern it instead of charset_primary.
13870
13871 * charset.c (charset_unibyte): Rename from charset_primary.
13872 (Funibyte_charset): Rename from Fprimary_charset.
13873 (Fset_unibyte_charset): Rename from Fset_primary_charset.
13874 (syms_of_charset): Adjust for the above changes.
13875
13876 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13877 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13878 it->multibyte_p is zero.
13879
13880 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
13881 Delete extern.
13882
138832008-02-01 Kenichi Handa <handa@m17n.org>
13884
13885 * coding.c (Fdefine_coding_system_internal): Fix category setting
13886 for a coding system of type iso-2022.
13887
138882008-02-01 Kenichi Handa <handa@m17n.org>
13889
13890 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
13891
138922008-02-01 Kenichi Handa <handa@m17n.org>
13893
13894 * syntax.c (Vnext_word_boundary_function_table): New variable.
13895 (next-word-boundary-function-table): Declare it as a Lisp variable
13896 in syms_of_syntax.
13897 (scan_words): Call functions in Vnext_word_boundary_function_table
13898 if any.
13899
13900 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
13901
13902 * fontset.c (fs_load_font): If fontp->charset is not negative,
13903 return fontp without setting its members.
13904
139052008-02-01 Dave Love <fx@gnu.org>
13906
13907 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
13908
13909 * m/sparc.h (HAVE_ALLOCA): Delete.
13910
13911 * s/irix6-5.h: Don't include strings.h.
13912 (bcopy, bzero, bcmp): Don't undef.
13913
13914 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
13915
13916 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
13917 (TIOCSIGSEND): Don't test IRIX6.
13918 (bcopy, bzero, bcmp): Define conditionally.
13919
139202008-02-01 Kenichi Handa <handa@m17n.org>
13921
13922 * buffer.c (Qas, Qmake, Qto): New variables.
13923 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
13924 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
13925
13926 * callproc.c (Fcall_process): Don't call insert_1_both directly if
13927 we are inserting a process output into a multibyte buffer.
13928
13929 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
13930 multibyte_char_to_unibyte.
13931
13932 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
13933 by the primary charset, make it eight-bit char.
13934 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
13935
13936 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
13937 (charset_8_bit__control, charset_8_bit_graphic)
13938 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
13939 (define_charset_internal): New function.
13940 (syms_of_charset): Call define_charset_internal for pre-defined
13941 charsets.
13942
13943 * charset.h (charset_8_bit): Extern it.
13944
13945 * coding.c (make_conversion_work_buffer): Adjust for the change
13946 of Fset_buffer_multibyte.
13947 (encode_coding_raw_text): Increment p0 in the loop.
13948
13949 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
13950
13951 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
13952 for the change of Fset_buffer_multibyte.
13953
13954 * fns.c (Fstring_to_multibyte): New function.
13955 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
13956
139572008-02-01 Dave Love <fx@gnu.org>
13958
13959 * xfns.c (x_put_x_image): Declare args.
13960
13961 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
13962 (try_font_list): Declare an arg.
13963
13964 * xdisp.c (message2_nolog, set_message): Declare an arg.
13965
13966 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
13967
13968 * syntax.c (scan_sexps_forward): Declare an arg.
13969
13970 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
13971 Declare an arg.
13972
13973 * lisp.h (Fnew_fontset): Declare.
13974
13975 * keymap.c (push_key_description): Call CHARACTERP correctly.
13976
13977 * fontset.c (fontset_add): Declare args. Call make_number correctly.
13978 (face_for_char): Delete unused vars.
13979 (Fset_fontset_font): Doc fix. Delete unused vars.
13980
13981 * doc.c (Fsubstitute_command_keys): Delete unused vars.
13982
13983 * composite.c (update_compositions): Declare arg.
13984
13985 * cm.c (calccost, cmgoto): Declare args.
13986
13987 * charset.c: Remove `emacs' conditional. Doc fixes.
13988 (map_char_table_for_charset): Declare.
13989
13990 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
13991
13992 * ccl.c: Remove `emacs' conditional.
13993
139942008-02-01 Kenichi Handa <handa@m17n.org>
13995
13996 The following changes are to allow specifying multiple font
13997 patterns for a character range (specified by script or charset).
13998
13999 * Makefile.in (abbrev.o): Depend on syntax.h.
14000 (xfaces.o): Depend on charset.h.
14001
14002 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
14003 SINGLE_BYTE_CHAR_P.
14004
14005 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
14006
14007 * character.h (Vchar_script_table): Extern it.
14008
14009 * character.c (Vscript_alist): Delete.
14010 (Vchar_script_table, Qchar_script_table): New variable.
14011 (syms_of_character): Declare Vchar_script_table as a lisp variable
14012 and initialize it.
14013
14014 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
14015 have property char-table-extra-slots, make no extra slot.
14016
14017 * dispextern.h (struct face): Delete member `charset'.
14018 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
14019 SINGLE_BYTE_CHAR_P.
14020 (choose_face_font, lookup_non_ascii_face, font_name_registry):
14021 Add prototypes.
14022 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
14023 (generate_ascii_font_name): Rename from generate_ascii_font.
14024
14025 * fontset.h (get_font_repertory_func): New prototype.
14026 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
14027 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
14028
14029 * fontset.c (Qprepend, Qappend): New variables.
14030 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
14031 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
14032 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
14033 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
14034 (fontset_ref_and_range, fontset_add, reorder_font_vector)
14035 (load_font_get_repertory): New functions.
14036 (fontset_set): Delete.
14037 (fontset_face): New arg FACE. Return face ID, not face.
14038 Complete re-write to handle new fontset structure. Change caller.
14039 (free_face_fontset): Use ASET istead of AREF (X) = Y.
14040 (face_for_char): Don't call lookup_face.
14041 (make_fontset_for_ascii_face): New arg FACE.
14042 (fs_load_font): New arg CHARSET_ID. Don't check
14043 Vfont_encoding_alist here.
14044 (find_font_encoding): New function.
14045 (list_fontsets): Use STRINGP, not ! NILP.
14046 (accumulate_script_ranges): New function.
14047 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
14048 re-written to handle new fontset structure.
14049 (Ffontset_font): Return a copy of element.
14050 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
14051 docstring of font-encoding-alist.
14052
14053 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
14054 (Fset_fotset_font): Fix arguments to 5.
14055
14056 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
14057
14058 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
14059 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14060 (highlight_trailing_whitespace): Adjust for the change of
14061 lookup_named_face.
14062
14063 * xfaces.c: Include charset.h.
14064 (load_face_font): Delete argument C. Change caller.
14065 (generate_ascii_font_name): Rename from generate_ascii_font.
14066 (font_name_registry): New function.
14067 (cache_face): Store ascii faces before non-ascii faces in buckets.
14068 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
14069 Lookup only ascii faces.
14070 (lookup_non_ascii_face): New function.
14071 (lookup_named_face): Delete argument C. Change caller.
14072 (lookup_derived_face): Delete argument C. Change caller.
14073 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
14074 a string, just call font_list with it.
14075 (choose_face_font): Delete arguments FACE and C. New arg
14076 FONT_SPEC. Change caller.
14077 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
14078 Change caller.
14079 (realize_non_ascii_face): New function.
14080 (realize_x_face): Call load_face_font here.
14081 (realize_tty_face): Delete argument C. Change caller.
14082 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
14083 get a face ID.
14084 (dump_realized_face): Don't print charset of FACE.
14085
14086 * xfns.c (x_set_font): Always call x_new_fontset and
14087 store_frame_parameter.
14088 (Fx_create_frame): Call x_new_fontset, not x_new_font.
14089 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
14090
14091 * xterm.h (x_get_font_repertory): Extern it.
14092
14093 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14094 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14095 it->multibyte_p is zero.
14096 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14097 (x_new_fontset): If FONTSETNAME doesn't match any existing
14098 fontsets, create a new one.
14099 (x_get_font_repertory): New function.
14100
141012008-02-01 Kenichi Handa <handa@m17n.org>
14102
14103 * coding.c (Ffind_coding_systems_region_internal): Detect an
14104 ASCII only string correctly.
14105
14106 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
14107 version is 0.
14108
141092008-02-01 Kenichi Handa <handa@m17n.org>
14110
14111 * lread.c: Include "coding.h".
14112 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
14113 (load_each_byte, unread_char): New variables.
14114 (readchar_backlog): Delete.
14115 (readchar): Return a character unless load_each_byte is nonzero.
14116 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
14117 cons. If unread_char is not -1, simply return it.
14118 (unreadchar): Handle the case that readcharfun is
14119 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
14120 (read_multibyte): Delete.
14121 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
14122 (read_emacs_mule_char): New functions.
14123 (Fload): Even if the file doesn't have the extension ".elc", if
14124 safe_to_load_p returns a positive version number, assume that the
14125 file contains bytecompiled code. If the version is less than 22,
14126 load the file while decoding multibyte sequences by emacs-mule.
14127 (readevalloop): Don't use readchar_backlog.
14128 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
14129 (Fread_from_string): Pay attention to the case that STREAM is a cons.
14130 (read_escape): Delete the arg BYTEREP.
14131 (read1): Set load_each_byte to 1 temporarily while handling
14132 #@NUMBER. Don't call read_multibyte.
14133 (read_vector): Call Fread with a cons. If readcharfun is
14134 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
14135 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
14136 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
14137 and Qload_force_doc_strings.
14138
141392008-02-01 Kenichi Handa <handa@m17n.org>
14140
14141 * xdisp.c (face_before_or_after_it_pos): Call
14142 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
14143
141442008-02-01 Kenichi Handa <handa@m17n.org>
14145
14146 * character.h (TRAILING_CODE_P): New macro.
14147 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
14148 (string_char_with_unification): Fix prototype.
14149 (Vscript_alist): Extern it.
14150
14151 * character.c (Vscript_alist): New variable.
14152 (string_char_with_unification, str_as_unibyte)
14153 (string_escape_byte8): Add `const' to local variables.
14154 (syms_of_character): Declare script-alist as a Lisp variable.
14155
14156 * charset.h (Vcharset_ordered_list): Extern it.
14157 (charset_ordered_list_tick): Extern it.
14158 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
14159 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
14160 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
14161 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
14162 (Funify_charset): Adjust for the change of Funify_charset.
14163
14164 * charset.c (charset_ordered_list_tick): New variable.
14165 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
14166 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
14167 deunify intead of unify a charset.
14168 (string_xstring_p): Add `const' to local variables.
14169 (find_charsets_in_text): Add `const' to arguments and local variables.
14170 (encode_char): Adjust for the change of Funify_charset. Fix
14171 detecting of invalid code.
14172 (Fset_charset_priority): Increment charset_ordered_list_tick.
14173 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
14174 and TO_CODE.
14175
14176 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
14177 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
14178 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
14179 (decode_coding_ccl, consume_chars)
14180 (Ffind_coding_systems_region_internal)
14181 (Fcheck_coding_systems_region): Add `const' to local variables.
14182
14183 * print.c (print_object): Use octal form for printing the
14184 contents of a bool vector.
14185
141862008-02-01 Dave Love <fx@gnu.org>
14187
14188 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
14189 <version == 20>: Refuse to load.
14190
141912008-02-01 Dave Love <fx@gnu.org>
14192
14193 * fns.c: Move coding.h.
14194 (Qcodeset, Qdays, Qmonths): New.
14195 (concat): Use CHARACTERP instead of INTEGERP.
14196 (Flocale_codeset): Delete.
14197 (Flanginfo): New function.
14198 (syms_of_fns): Change accordingly.
14199
14200 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
14201
142022008-02-01 Dave Love <fx@gnu.org>
14203
14204 * casetab.c (init_casetab_once, init_casetab_once): Fix
14205 CHAR_TABLE_SET call.
14206
14207 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
14208
14209 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
14210
14211 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
14212 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
14213 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
14214
14215 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
14216
14217 * coding.c (ENCODE_DESIGNATION, decode_eol)
14218 (make_conversion_work_buffer, code_conversion_restore)
14219 (Fdefine_coding_system_internal): Convert Lisp types.
14220 (code_conversion_restore): Use EQ, not ==.
14221 (Fencode_coding_string): Fix code_convert_string call.
14222
14223 * coding.h (code_convert_region): Fix prototype.
14224
14225 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
14226
14227 * fontset.c (fontset_ref, fontset_set, fs_load_font)
14228 (Ffontset_info): Convert Lisp types.
14229
14230 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
14231
14232 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
14233
14234 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
14235
14236 * chartab.c: Include "...h", not <...h> in some cases.
14237
14238 * callproc.c (Fcall_process): Remove unused variables.
14239
142402008-02-01 Dave Love <fx@gnu.org>
14241
14242 * coding.c (Fset_coding_system_priority): Allow null arg list.
14243
142442008-02-01 Dave Love <fx@gnu.org>
14245
14246 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
14247 (Fself_insert_and_exit): Use CHARACTERP.
14248
14249 * callproc.c (Fcall_process): Remove unused vars.
14250
14251 * xterm.c (XTread_socket): Add extra dead keysyms.
14252
14253 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
14254
14255 * dispextern.h: Remove prototypes for redraw_frame,
14256 redraw_garbaged_frames.
14257
14258 * cmds.c (Fself_insert_command): Use CHARACTERP.
14259
14260 * chartab.c (make_sub_char_table): Remove unused var.
14261 (Fset_char_table_default, Fmap_char_table): Doc fix.
14262
14263 * keymap.c (access_keymap): Remove generic char code.
14264 (push_key_description): Use CHARACTERP.
14265
142662008-02-01 Dave Love <fx@gnu.org>
14267
14268 * charset.c: Doc fixes.
14269 (Funify_charset): Extra checking.
14270
142712008-02-01 Dave Love <fx@gnu.org>
14272
14273 * lread.c: Remove some unused variables.
14274 (safe_to_load_p): If safe, return the magic number version byte.
14275 (Fload): Maybe use load-with-code-conversion.
14276
142772008-02-01 Kenichi Handa <handa@m17n.org>
14278
14279 * category.c (Fmodify_category_entry): Don't modify the contents
14280 of category_set for characters out of the range. Avoid
14281 unnecessary modification.
14282
14283 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
14284 Vchar_unify_table. The default value of the table is now nil.
14285
14286 * character.c (syms_of_character): Setup Vchar_width_table for
14287 eight-bit-control and raw-byte chars.
14288
14289 * charset.h (enum define_charset_arg_index): Delete
14290 charset_arg_parents and add charset_arg_subset and
14291 charset_arg_superset.
14292 (enum charset_attr_index): Delete charset_parents and add
14293 charset_subset and charset_superset.
14294 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
14295 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
14296 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
14297 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
14298 (CHARSET_SUPERSET): New macros.
14299 (charset_work): Extern it.
14300 (ENCODE_CHAR): Use charset_work.
14301 (CHAR_CHARSET_P): Adjust for the change of encoder format.
14302 (map_charset_chars): Extern it.
14303
14304 * charset.c (load_charset_map): Set the default value of encoder
14305 and deunifier char-tables to nil.
14306 (map_charset_chars): Change argument. Change callers. Use
14307 map_char_table_for_charset instead of map_char_table.
14308 (Fmap_charset_chars): New optional args from_code and to_code.
14309 (Fdefine_charset_internal): Adjust for the change of
14310 `define-charset' (:parents -> :subset or :superset).
14311 (charset_work): New variable.
14312 (encode_char, syms_of_charset): Adjust for the change of
14313 Fdefine_charset_internal.
14314 (Ffind_charset_string): Setup the vector `charsets' correctly.
14315
14316 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
14317 the previous change.
14318 (char_table_ref_and_range): Adjust for the above change.
14319 (map_sub_char_table_for_charset): New function.
14320 (map_char_table_for_charset): New function.
14321
14322 * keymap.c (describe_vector): Handle a char-table directly here.
14323 (describe_char_table): Delete.
14324
14325 * lisp.h (map_charset_chars): Delete.
14326
143272008-02-01 Dave Love <fx@gnu.org>
14328
14329 * fns.c (count_combining): Comment out (unused).
14330 (Flocale_codeset): New.
14331 (syms_of_fns): Defsubr it.
14332
14333 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
14334 (size_t): Remove.
14335
143362008-02-01 Dave Love <fx@gnu.org>
14337
14338 * Makefile.in (chartab.o): Depend on charset.h.
14339
143402008-02-01 Kenichi Handa <handa@m17n.org>
14341
14342 * character.c (syms_of_character): Set the default value of
14343 Vprintable_chars to Qnil.
14344
143452008-02-01 Dave Love <fx@gnu.org>
14346
14347 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
14348
143492008-02-01 Kenichi Handa <handa@m17n.org>
14350
14351 * charset.c (load_charset_map): Handle the case that from < to
14352 correctly.
14353
14354 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
14355 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
14356 Pay attention to raw-8-bit chars.
14357
143582008-02-01 Kenichi Handa <handa@m17n.org>
14359
14360 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
14361 It is not bytecompiled now.
14362
14363 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
14364 (charset_jisx0208): New variables.
14365 (Fdefine_charset_internal): Setup them if appropriate.
14366 (init_charset_once): Initialize them to -1.
14367
14368 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
14369 (charset_jisx0208): Extern them.
14370
14371 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
14372 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
14373 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
14374 (setup_iso_safe_charsets): Fix arguments to Fassq.
14375 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
14376 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
14377 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
14378 (encode_coding_iso_2022): Change the 1st arg to
14379 ENCODE_ISO_CHARACTER to a variable.
14380
143812008-02-01 Kenichi Handa <handa@m17n.org>
14382
14383 * charset.h (enum define_charset_arg_index): New enums
14384 charset_arg_min_code and charset_arg_max_code.
14385 (struct charset): New member char_index_offset.
14386
14387 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
14388 Take charset->char_index_offset into account.
14389 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
14390 args[charset_arg_max_code]. Setup charset.char_index_offset.
14391 (syms_of_charset): Fix args to Fdefine_charset_internal.
14392
143932008-02-01 Dave Love <fx@gnu.org>
14394
14395 * coding.c (decode_coding_utf_8): Reject overlong sequences.
14396
143972008-02-01 Dave Love <fx@gnu.org>
14398
14399 * coding.c: Doc fixes.
14400 (Fcoding_system_aliases): Fix return value.
14401 (Qmac): Remove (duplicated) definition.
14402
144032008-02-01 Dave Love <fx@gnu.org>
14404
14405 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
14406 functions.
14407
14408 * character.c (Fstring): Doc fix.
14409
14410 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
14411
14412 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
14413 ids.
14414 (font-encoding-alist): Doc fix.
14415
144162008-02-01 Dave Love <fx@gnu.org>
14417
14418 * term.c (costs_set): Declare static, non-initialized for pcc.
14419 (encode_terminal_code): Remove unused var.
14420
14421 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
14422 for K&R.
14423
14424 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
14425
14426 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
14427 (suffixes): Move out of make_subsidiaries for K&R.
14428
14429 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
14430
14431 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
14432
144332008-02-01 Dave Love <fx@gnu.org>
14434
14435 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
14436
14437 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
14438
144392008-02-01 Yong Lu <lyongu@asia-infonet.com>
14440
14441 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
14442
14443 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
14444
144452008-02-01 Kenichi Handa <handa@m17n.org>
14446
14447 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
14448 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
14449
144502008-02-01 Kenichi Handa <handa@m17n.org>
14451
14452 * coding.c (decode_coding_charset): Adjust for the change of
14453 Fdefine_coding_system_internal.
14454 (Fdefine_coding_system_internal): For a coding system of
14455 `charset' type, store a list of charset IDs in
14456 `charset_attr_charset_valids' element of coding attributes.
14457
144582008-02-01 Kenichi Handa <handa@m17n.org>
14459
14460 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
14461 (emacs_mule_char): New arg src. Delete arg `composition'. Change
14462 caller. Handle 2-byte and 3-byte charsets correctly.
14463 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
14464 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
14465 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
14466 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14467 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
14468 sequence.
14469 (decode_coding_emacs_mule): Handle composition correctly. Rewind
14470 `src' and `consumed_chars' correctly before calling emacs_mule_char.
14471 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
14472 and alt&rule composition.
14473 (decode_coding_iso_2022): Handle composition correctly.
14474 (init_coding_once): Setup emacs_mule_bytes for private charsets.
14475
14476 * charset.c (Fdefine_charset_internal): Fix bug for the case of
14477 re-defining a charset. If the charset has :emacs-mule-id, setup
14478 emacs_mule_bytes.
14479 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
14480
144812008-02-01 Kenichi Handa <handa@m17n.org>
14482
14483 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
14484 (encode_coding_big5, encode_coding_charset): If coding requires safe
14485 encoding, produce a character specified by
14486 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
14487
144882008-02-01 Dave Love <fx@gnu.org>
14489
14490 * xterm.c (XSetIMValues): Declare.
14491
14492 * process.c: Conditionally include sys/wait.h, pty.h.
14493
14494 * print.c (print_object): Fix print format for 64-bit systems.
14495
14496 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
14497
14498 * buffer.c (emacs_strerror): Declare.
14499
14500 * fontset.c (Fclear_face_cache): Declare.
14501 (accumulate_font_info): Comment-out (unused).
14502 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
14503 variables.
14504
14505 * character.h (string_escape_byte8): Declare.
14506
14507 * charset.c (load_charset_map, load_charset_map_from_file): Remove
14508 unused vars.
14509 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
14510 (Fmap_charset_chars): Doc fix.
14511
14512 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
14513 (Fset_coding_system_priority, Fset_coding_system_priority)
14514 (Fdefine_coding_system_internal): Doc fix.
14515
145162008-02-01 Dave Love <fx@gnu.org>
14517
14518 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
14519
145202008-02-01 Kenichi Handa <handa@m17n.org>
14521
14522 * character.c (string_escape_byte8): Make multibyte string with
14523 correct size.
14524
14525 * charset.c (Fmake_char): Delete unnecessary code.
14526
145272008-02-01 Kenichi Handa <handa@m17n.org>
14528
14529 * xfns.c (x_encode_text): Allocate coding.destination here, and
14530 call encode_coding_object with dst_object Qnil.
14531
14532 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
14533 multibyte form correctly.
14534
14535 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
14536 against Vfont_encoding_alist.
14537
14538 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
14539 handling of charset list.
14540 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
14541 (decode_coding_object): Move point to coding->dst_pos before
14542 calling post-read-conversion function.
14543 (encode_coding_object): Give correct arguments to
14544 pre-write-conversion. Ignore the return value of
14545 pre-write-conversion function. Pay attention to the case that
14546 pre-write-conversion changes the current buffer. If dst_object is
14547 Qt, even if coding->src_bytes is zero, allocate at least one byte
14548 to coding->destination.
14549
14550 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
14551
14552 * charset.c (Fmake_char): Make it more backward compatible.
14553 (Fmap_charset_chars): Fix docstring.
14554
145552008-02-01 Dave Love <fx@gnu.org>
14556
14557 * coding.c: Doc fixes.
14558 (Fdefine_coding_system_alias): Use names, not symbols, in
14559 coding-system-alist.
14560
145612008-02-01 Kenichi Handa <handa@m17n.org>
14562
14563 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
14564 of calling free_realized_face.
14565
145662008-02-01 Yong Lu <lyongu@asia-infonet.com>
14567
14568 * charset.c (read_hex): Don't treat SPC as a comment starter.
14569 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
14570 (Fdecode_char): Fix typo.
14571
145722008-02-01 Kenichi Handa <handa@m17n.org>
14573
14574 * charset.h (struct charset): New member `code_space_mask'.
14575
14576 * coding.c (coding_set_source): Delete the local variable beg_byte.
14577 (encode_coding_charset, Fdefine_coding_system_internal):
14578 Delete the local variable charset.
14579 (Fdefine_coding_system_internal): Setup
14580 attrs[coding_attr_charset_valids] correctly.
14581
14582 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
14583 member to check if CODE is valid or not.
14584 (Fdefine_charset_internal): Initialize `code_space_mask' member.
14585 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
14586 is within the range of charset->min_code and carset->max_code.
14587
145882008-02-01 Dave Love <fx@gnu.org>
14589
14590 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
14591
14592 * dispextern.h (generate_ascii_font): Fix return type.
14593
14594 * xfaces.c (generate_ascii_font): Fix arg declaration.
14595
14596 * coding.c (coding_inherit_eol_type)
14597 (Fset_terminal_coding_system_internal)
14598 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
14599
146002008-02-01 Kenichi Handa <handa@m17n.org>
14601
14602 * coding.c (decode_coding_charset, encode_coding_charset): Handle
14603 multiple charsets correctly.
14604
146052008-02-01 Kenichi Handa <handa@m17n.org>
14606
14607 * search.c (boyer_moore): Fix handling of multibyte character
14608 translation.
14609
14610 * xdisp.c (display_mode_element): When the variable `elt' is
14611 changed, update `this' and `lisp_string'.
14612
146132008-02-01 Kenichi Handa <handa@m17n.org>
14614
14615 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
14616
14617 * callproc.c (Fcall_process): Be sure to give the current buffer
14618 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
14619
14620 * charset.c (struct charset_map_entries): New struct.
14621 (load_charset_map): Rename from parse_charset_map. New args
14622 entries and n_entries. Change caller.
14623 (load_charset_map_from_file): Rename from load_charset_map.
14624 Change caller. New arg control_flag. Call load_charset_map at
14625 the tail.
14626 (load_charset_map_from_vector): New function.
14627 (Fdefine_charset_internal): Setup charset.compact_codes_p.
14628 (encode_char): If the charset is compact, change a character index
14629 to a code point.
14630
14631 * coding.c (coding_alloc_by_making_gap): Check the case that the
14632 source and destination are the same correctly.
14633 (decode_coding_raw_text): Set coding->consumed_char and
14634 coding->consumed to 0.
14635 (produce_chars): If coding->chars_at_source is nonzero, update
14636 coding->consumed_char and coding->consumed before calling
14637 alloc_destination.
14638 (Fdefine_coding_system_alias): Register ALIAS in
14639 Vcoding_system_alist.
14640 (syms_of_coding): Define `no-conversion' coding system at the tail.
14641
14642 * fileio.c (Finsert_file_contents): Set coding_system instead of
14643 val. If the current buffer is multibyte, always call
14644 decode_coding_gap.
14645
14646 * xfaces.c (try_font_list): Give higher priority to fontset's
14647 family than face's family.
14648
146492008-02-01 Kenichi Handa <handa@m17n.org>
14650
14651 * callproc.c (Fcall_process): Be sure to give the current buffer
14652 to decode_coding_c_string.
14653
14654 * xfaces.c (try_font_list): Give a family specified in a fontset
14655 higher priority than a family specified in a face.
14656
146572008-02-01 Kenichi Handa <handa@m17n.org>
14658
14659 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
14660 Fix arguments to insert_from_buffer.
14661
14662 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
14663
146642008-02-01 Kenichi Handa <handa@m17n.org>
14665
14666 * coding.c (produce_chars): Set the variable `multibytep' correctly.
14667 (decode_coding_gap): Set coding->dst_multibyte correctly.
14668
146692008-02-01 Kenichi Handa <handa@m17n.org>
14670
14671 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
14672 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
14673 (encode_coding_utf_16): Substitute coding->default_char for
14674 non-Unicode characters.
14675 (decode_coding): Don't call record_insert here.
14676 (setup_coding_system): Initialize `surrogate' of
14677 coding->spec.utf_16 to 0.
14678 (EMIT_ONE_BYTE): Fix for multibyte case.
14679
14680 * insdel.c (insert_from_gap): Call record_insert.
14681
146822008-02-01 Kenichi Handa <handa@m17n.org>
14683
14684 * casefiddle.c (casify_region): Fix multibyte case.
14685
14686 * character.c (c_string_width): Add return type `int'.
14687 (char_string_with_unification): Delete arg ADVANCED.
14688
14689 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
14690 (CHAR_STRING): Adjust for the change of char_string_with_unification.
14691 (CHAR_STRING_ADVANCE): Make it do-while statement.
14692
14693 * chartab.c (sub_char_table_set_range): Optimize for the case
14694 DEPTH == 3. Add workaround code for a GCC optimization bug.
14695
14696 * charset.c (parse_charset_map): Remove an unused variable.
14697
14698 * coding.c: Delete unused variables.
14699
14700 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
14701 earlier. If inserted is zero and the coding system doesn't
14702 require flushing, don't call decode_coding_gap.
14703
14704 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
14705
147062008-02-01 Kenichi Handa <handa@m17n.org>
14707
14708 The following changes are for using Unicode as an internal
14709 character model, and use UTF-8 format for buffer/string
14710 representation.
14711
14712 * .gdbinit (xchartable): Adjust for the change of char table structure.
14713 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
14714
14715 * Makefile.in (obj): Add character.o and chartab.o.
14716 (lisp, shortlisp): Remove utf-8.elc.
14717 (*.o): For many files, change dependency on charset.h to
14718 character.h, and add dependency on character.h.
14719 (character.o, chartab.o): New targets.
14720
14721 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14722 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14723 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14724 of "charset.h".
14725
14726 * dired.c, filelock.c: Include "character.h".
14727
14728 * alloc.c: Include "character.h" instead of "charset.h".
14729 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14730 (syms_of_alloc): Remove defsubr for Smake_char_table.
14731
14732 * buffer.c: Include "character.h" instead of "charset.h", don't
14733 include "coding.h".
14734 (Fset_buffer_multibyte): Adjust for UTF-8.
14735
14736 * buffer.h: EXFUN Fbuffer_live_p.
14737
14738 * callproc.c: Include "character.h" instead of "charset.h".
14739 (Fcall_process): Big change for the new code-conversion APIs.
14740
14741 * casetab.c: Include "character.h" instead of "charset.h".
14742 (set_canon, set_identity, shuffle): Adjust for the new
14743 map_char_table spec.
14744 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14745 accessing the char table structure.
14746
14747 * chartab.c: New file that implements char table.
14748
14749 * category.c: Include "character.h".
14750 (copy_category_entry): New function.
14751 (copy_category_table): Call map_char_table and copy_category_entry.
14752 (Fmake_category_table): Initialize all top-level slots.
14753 (char_category_set): New function.
14754 (modify_lower_category_set): Delete.
14755 (Fmodify_category_entry): Call char_table_ref_and_range.
14756
14757 * category.h (CATEGORY_SET): Just call char_category_set.
14758
14759 * ccl.c: Include "character.h".
14760 (Qccl, Qcclp): New variables.
14761 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14762 it's less than 256.
14763 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14764 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14765 and DST type.
14766 (ccl_driver): Change types of argument, adjust code accordingly.
14767 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14768 ccl_driver.
14769 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14770
14771 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14772 New members src_multibyte, dst_multibyte, consumed, and produced.
14773 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14774 (CODING_SPEC_CCL_PROGRAM): New macro.
14775 (ccl_driver): Update prototype.
14776 (Qccl, Qcclp, Fccl_program_p): Extern them.
14777 (CHECK_CCL_PROGRAM): New macro.
14778
14779 * character.c, character.h, chartab.c: New files.
14780
14781 * charset.c: Mostly re-written. Move character and multibyte sequence
14782 handling codes to character.c.
14783
14784 * charset.h: Mostly re-written. Move character and multibyte sequence
14785 handling codes to character.h.
14786
14787 * coding.c, coding.h: Mostly re-written.
14788
14789 * composite.c: Include "character.h" instead of "charset.h".
14790 (CHAR_WIDTH): Move to character.h.
14791 (HASH_KEY, HASH_VALUE): Delete.
14792
14793 * composite.h (enum composition_method): Change order of enumeration
14794 symbols.
14795
14796 * data.c: Include "character.h" instead of "charset.h".
14797 (Faref): Call CHAR_TABLE_REF for a char table.
14798 (Faset): Call CHAR_TABLE_SET for a char table.
14799
14800 * dispextern.h (free_realized_face, check_face_attribytes)
14801 (generate_ascii_font): Extern them.
14802 (free_realized_multibyte_face): Delete extern.
14803
14804 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14805 table structure.
14806
14807 * editfns.c: Include "character.h" instead of "charset.h".
14808 (Fchar_to_string): Always call CHAR_STRING.
14809
14810 * emacs.c (main): Call init_charset_once, init_charset,
14811 syms_of_chartab, and syms_of_character.
14812
14813 * fileio.c: Include "character.h" instead of "charset.h".
14814 (Finsert_file_contents): Big change for the new code-conversion API.
14815 (choose_write_coding_system, Fwrite_region): Likewise.
14816 (build_annotations_2): Delete.
14817 (e_write): Big change for the new code-conversion API.
14818
14819 * fns.c: Include "character.h" instead of "charset.h".
14820 (copy_sub_char_table): Move to chartab.c.
14821 (Fcopy_sequence): Call copy_char_table for a char table.
14822 (concat): Delete codes calling count_multibyte.
14823 (string_char_to_byte, string_byte_to_char): Adjust for the new
14824 multibyte form.
14825 (internal_equal): Adjust for the change of char table structure.
14826 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
14827 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
14828 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
14829 (char_table_translate, optimize_sub_char_table)
14830 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
14831 chartab.c.
14832 (char_table_ref_and_index): Delete.
14833 (HASH_KEY, HASH_VALUE): Move to lisp.h.
14834 (Fmd5): Call preferred_coding_system instead of accessing
14835 Vcoding_category_list. Adjust for the new code-conversion API.
14836 (syms_of_fns): Move defsubr for char table related functions to
14837 chartab.c.
14838
14839 * fontset.c: Mostly re-written.
14840
14841 * fontset.h (struct font_info): Change type of the member encoding_type.
14842 (enum FONT_SPEC_INDEX): New enum.
14843 (fontset_font_pattern, fs_load_font): Update prototype.
14844 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
14845
14846 * indent.c: Include "character.h" instead of "charset.h".
14847 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
14848
14849 * insdel.c: Include "character.h" instead of "charset.h".
14850 (copy_text): Don't refer to Vnonascii_translation_table.
14851 (insert_from_gap): New function.
14852
14853 * keyboard.c: Include "character.h" instead of "charset.h".
14854 (command_loop_1): Never call direct_output_forward_char before
14855 a non-ASCII character.
14856 (read_char): If Vkeyboard_translate_table is a char table, always
14857 translate a character.
14858
14859 * keymap.c: Include "character.h".
14860 (store_in_keymap): Handle the case that IDX is a cons.
14861 (Fdefine_key): Handle the case that KEY is a cons and the car part
14862 is also a cons (range).
14863 (push_key_description): Adjust for the new character code.
14864 (describe_vector): Call describe_char_table for a char table.
14865 (describe_char_table): New function.
14866
14867 * keymap.h (describe_char_table): Extern it.
14868
14869 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
14870 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
14871 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
14872 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
14873 Delete.
14874 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
14875 structure.
14876 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
14877 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
14878 (CHARTAB_SIZE_BITS_3): New macros.
14879 (chartab_size): Extern it.
14880 (struct Lisp_Char_Table): Re-design.
14881 (struct Lisp_Sub_Char_Table): New structure.
14882 (HASH_KEY, HASH_VALUE): Move from fns.c.
14883 (CHARACTERBITS): Define as 22.
14884 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
14885 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
14886 (GC_SUB_CHAR_TABLE_P): New macro.
14887 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
14888 (code_convert_string_norecord): Deleted extern.
14889 (init_character_once, syms_of_character, init_charset)
14890 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
14891
14892 * lread.c: Include "character.h".
14893 (read_multibyte): New arg NBYTES.
14894 (read_escape): Change the meaning of returned *BYTEREP.
14895 (to_multibyte): Delete.
14896 (read1): Adjust the handling of char table and string.
14897
14898 * print.c: Include "character.h" instead of "charset.h".
14899 (print_string): Convert 8-bit raw bytes to octal form by
14900 string_escape_byte8.
14901 (print_object): Adjust for the new multibyte form. Print 8-bit
14902 raw bytes always in octal form. Handle sub char table correctly.
14903
14904 * process.c: Include "character.h" instead of "charset.h".
14905 (read_process_output, send_process): Adjust for the new
14906 code-conversion API.
14907
14908 * puresize.h (BASE_PURESIZE): Increase.
14909
14910 * regex.c: Include "character.h" instead of "charset.h".
14911 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
14912 (regex_compile): Accept a range whose starting and ending
14913 character have different leading bytes.
14914 (analyse_first): Adjust for the above change.
14915
14916 * search.c: Include "character.h" instead of "charset.h".
14917 (search_buffer, boyer_moore): Adjust for the new multibyte form.
14918 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
14919
14920 * syntax.c: Include "character.h" instead of "charset.h".
14921 (syntax_parent_lookup): Delete.
14922 (Fmodify_syntax_entry): Accept a cons as CHAR.
14923 (skip_chars): Adjust for the new multibyte form.
14924 (init_syntax_once): Call char_table_set_range instead of directly
14925 accessing the structure of a char table.
14926
14927 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
14928 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
14929 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
14930 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
14931
14932 * term.c: Include "buffer.h" and "character.h".
14933 (encode_terminal_code, write_glyphs): Adjust for the new
14934 code-conversion API.
14935 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
14936
14937 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
14938
14939 * xdisp.c: Include "character.h".
14940 (get_next_display_element): Adjust for the new multibyte form.
14941 (disp_char_vector): Adjust for the new char table structure.
14942 (decode_mode_spec_coding): Adjust for the new structure of
14943 coding system.
14944 (decode_mode_spec): Adjust for the new code-conversion API.
14945
14946 * xfaces.c: Include "character.h" instead of "charset.h".
14947 (load_face_font): Adjust for the change of choose_face_font and
14948 FS_LOAD_FONT.
14949 (generate_ascii_font): New function.
14950 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
14951 (set_font_frame_param): Adjust for the change of choose_face_font.
14952 (free_realized_face): Make it public.
14953 (free_realized_faces_for_fontset): Rename from
14954 free_realized_multibyte_face. Free also faces realized for ASCII.
14955 (choose_face_font): Change arguments. Adjust for the change of
14956 fontset_font_pattern and FS_LOAD_FONT.
14957
14958 * xfns.c: Include "character.h".
14959 (x_encode_text): Adjust for the new code-conversion API.
14960
14961 * xselect.c: Don't include "charset.h".
14962 (selection_data_to_lisp_data): Adjust for the new code conversion API.
14963
14964 * xterm.c: Include "character.h".
14965 (x_encode_char): New argument CHARSET. Change caller.
14966 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
14967 Call ENCODE_CHAR instead of SPLIT_CHAR.
14968 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
14969 CHAR_WIDTH instead of CHARSET_WIDTH.
14970 (XTread_socket): Adjust for the new code-conversion API.
14971 (x_new_font): Adjust for the change of FS_LOAD_FONT.
14972 (x_load_font): Adjust for the change of struct font.
14973
149742008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
14975
14976 * xfaces.c (face_at_buffer_position): Remove unused vars.
14977
149782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14979
14980 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
14981 Fix overflow checking.
14982
149832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14984
14985 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
14986 Cancel previous change.
14987
149882008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14989
14990 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
14991 ccl->eight_bit_control. Fix check for buffer overflow.
14992 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
14993 (ccl_driver): Initialize extra_bytes to 0.
14994
149952008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14996
14997 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
14998 return it ORed with ctrl_modifier.
14999
150002008-01-29 Miles Bader <miles@gnu.org>
15001
15002 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
15003
150042008-01-28 Jason Rumney <jasonr@gnu.org>
15005
15006 * w32.c (stat): Don't double check for networked drive.
15007
150082008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
15009
15010 * window.c (run_window_configuration_change_hook): New function.
15011 Code extracted from set_window_buffer. Set the selected frame.
15012 (set_window_buffer): Use it.
15013 * window.h (run_window_configuration_change_hook): Declare.
15014 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
15015
15016 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
15017
150182008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
15019
15020 * Makefile.in: Remove references to unused macros.
15021
150222008-01-26 Eli Zaretskii <eliz@gnu.org>
15023
15024 * w32.c (g_b_init_get_sid_sub_authority)
15025 (g_b_init_get_sid_sub_authority_count): New static variables.
15026 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
15027 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
15028 (init_user_info): Use them to retrieve uid and gid.
15029 Use 500/513, the Windows defaults, as Administrator's uid/gid.
15030 (fstat): Use pw_uid and pw_gid from the_passwd structure for
15031 st_uid and st_gid of the file.
15032
150332008-01-26 Jason Rumney <jasonr@gnu.org>
15034
15035 * w32.c (logon_network_drive): New function.
15036 (stat): Use it.
15037
150382008-01-26 Chong Yidong <cyd@stupidchicken.com>
15039
15040 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
15041 invisible text covered with an ellipsis.
15042
150432008-01-25 Richard Stallman <rms@gnu.org>
15044
15045 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
15046 jump back to beginning. Move some other initializations after that.
15047 (Qwindow_text_change_functions, Vwindow_text_change_functions):
15048 New variables.
15049 (syms_of_xdisp): Init them.
15050
15051 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
15052
15053 * buffer.c (reset_buffer_local_variables):
15054 Implement `permanent-local-hook'.
15055 (Qpermanent_local_hook): New variable.
15056 (syms_of_buffer): Init and staticpro it.
15057
150582008-01-25 Michael Albinus <michael.albinus@gmx.de>
15059
15060 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
15061
150622008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
15063
15064 * fns.c (Fclrhash): Return TABLE.
15065
150662008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15067
15068 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
15069 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
15070 is set even without positional changes.
15071 (x_scroll_bar_clear): Set bar->redraw_needed_p.
15072
15073 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
15074
150752008-01-23 Jason Rumney <jasonr@gnu.org>
15076
15077 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
15078
15079 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
15080 the unicode range available in MULE by locale-coding-system.
15081 Improve dbcs lead byte detection. Set event timestamp and modifiers
15082 earlier.
15083
150842008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15085
15086 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
15087 [MAC_OSX] (init_mac_osx_environment): Initialize it.
15088 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
15089 when used on child processes.
15090
150912008-01-21 Michael Albinus <michael.albinus@gmx.de>
15092
15093 * dbusbind.c (Fdbus_method_return_internal): Rename from
15094 Fdbus_method_return.
15095 (Fdbus_unregister_object): Move to dbus.el.
15096 (Fdbus_call_method, Fdbus_method_return_internal)
15097 (Fdbus_send_signal): Improve debug messages.
15098
150992008-01-20 Martin Rudalics <rudalics@gmx.at>
15100
15101 * undo.c (undo_inhibit_record_point): New variable.
15102 (syms_of_undo): Initialize it.
15103 (record_point): Don't record point when undo_inhibit_record_point
15104 is set.
15105
151062008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
15107
15108 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
15109
15110 * xdisp.c (Qauto_hscroll_mode): New var.
15111 (syms_of_xdisp): Initialize it.
15112 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
15113 window's buffer.
15114 (hscroll_windows): Don't check automatic_hscrolling_p here.
15115
15116 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
15117 vscroll if we're setting window-buffer to the value it already has.
15118
151192008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
15120
15121 * m/intel386.h: Remove references to XENIX.
15122
151232008-01-17 Andreas Schwab <schwab@suse.de>
15124
15125 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
15126 instead of HAVE_X86_64_LIB64_DIR.
15127 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
15128
151292008-01-17 Glenn Morris <rgm@gnu.org>
15130
15131 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
15132 to HAVE_X86_64_LIB64_DIR.
15133
151342008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
15135
15136 * s/irix3-3.h:
15137 * s/irix4-0.h:
15138 * s/386-ix.h:
15139 * s/domain.h:
15140 * s/hpux9-x11r4.h:
15141 * s/hpux9shxr4.h: Remove files for systems no longer supported.
15142
15143 * sysdep.c: Remove code containing references to symbols defined
15144 by unsupported systems.
15145
151462008-01-16 Glenn Morris <rgm@gnu.org>
15147
15148 * coding.c (select-safe-coding-system-function): Doc fix.
15149
151502008-01-15 Glenn Morris <rgm@gnu.org>
15151
15152 * config.in: Revert 2008-01-13 change: this is a generated file.
15153
151542008-01-13 Tom Tromey <tromey@redhat.com>
15155
15156 * lisp.h: Fix typo.
15157
151582008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15159
15160 * m/sequent-ptx.h:
15161 * m/sequent.h:
15162 * s/ptx.h:
15163 * s/ptx4-2.h:
15164 * s/ptx4.h: Remove files for systems no longer supported.
15165
15166 * callproc.c (Fcall_process): Fix previous change.
15167
151682008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15169
15170 * unexsunos4.c: Remove file, system not supported anymore.
15171
15172 * m/mips.h:
15173 * m/intel386.h:
15174 * callproc.c:
15175 * config.in:
15176 * ecrt0.c:
15177 * emacs.c:
15178 * fileio.c:
15179 * frame.c:
15180 * getpagesize.h:
15181 * keyboard.c:
15182 * lread.c:
15183 * process.c:
15184 * puresize.h:
15185 * sysdep.c:
15186 * systty.h:
15187 * syswait.h:
15188 * unexec.c:
15189 * xdisp.c:
15190 * alloc.c: Remove code containing references to symbols defined by
15191 unsupported systems.
15192
151932008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
15194
15195 * coding.c (detect_coding_mask): Fix previous change.
15196
151972008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
15198
15199 * coding.c (detect_coding_iso2022): New arg
15200 latin_extra_code_state. Allow Latin extra codes only
15201 when *latin_extra_code_state is nonzero.
15202 (detect_coding_mask): If there is a NULL byte, detect the encoding
15203 as UTF-16 or binary. If Latin extra codes exist, detect the
15204 encoding as ISO-2022 only when there's no other proper encoding is
15205 found.
15206
152072008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15208
15209 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
15210 #ifdef MAC_OS.
15211
152122008-01-08 Richard Stallman <rms@gnu.org>
15213
15214 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
15215
152162008-01-06 Nick Roberts <nickrob@snap.net.nz>
15217
15218 * keyboard.c (parse_menu_item): Don't enclose key bindings on
15219 menu bar in parentheses.
15220
152212008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
15222
15223 * m/7300.h:
15224 * m/acorn.h:
15225 * m/alliant-2800.h:
15226 * m/alliant.h:
15227 * m/alliant1.h:
15228 * m/alliant4.h:
15229 * m/altos.h:
15230 * m/amdahl.h:
15231 * m/apollo.h:
15232 * m/att3b.h:
15233 * m/aviion-intel.h:
15234 * m/aviion.h:
15235 * m/celerity.h:
15236 * m/clipper.h:
15237 * m/cnvrgnt.h:
15238 * m/convex.h:
15239 * m/cydra5.h:
15240 * m/delta88k.h:
15241 * m/dpx2.h:
15242 * m/dual.h:
15243 * m/elxsi.h:
15244 * m/f301.h:
15245 * m/gould-np1.h:
15246 * m/gould.h:
15247 * m/i860.h:
15248 * m/ibmps2-aix.h:
15249 * m/ibmrt-aix.h:
15250 * m/ibmrt.h:
15251 * m/irist.h:
15252 * m/is386.h:
15253 * m/isi-ov.h:
15254 * m/mega68.h:
15255 * m/mg1.h:
15256 * m/news-r6.h:
15257 * m/news-risc.h:
15258 * m/news.h:
15259 * m/nh3000.h:
15260 * m/nh4000.h:
15261 * m/ns16000.h:
15262 * m/ns32000.h:
15263 * m/nu.h:
15264 * m/orion.h:
15265 * m/orion105.h:
15266 * m/paragon.h:
15267 * m/pfa50.h:
15268 * m/plexus.h:
15269 * m/pyramid.h:
15270 * m/pyrmips.h:
15271 * m/sh3el.h:
15272 * m/sps7.h:
15273 * m/sr2k.h:
15274 * m/stride.h:
15275 * m/sun1.h:
15276 * m/sun2.h:
15277 * m/sun3-68881.h:
15278 * m/sun3-fpa.h:
15279 * m/sun3-soft.h:
15280 * m/sun3.h:
15281 * m/sun386.h:
15282 * m/symmetry.h:
15283 * m/tad68k.h:
15284 * m/tahoe.h:
15285 * m/targon31.h:
15286 * m/tek4300.h:
15287 * m/tekxd88.h:
15288 * m/tower32.h:
15289 * m/tower32v3.h:
15290 * m/ustation.h:
15291 * m/wicat.h:
15292 * m/xps100.h:
15293 * s/cxux.h:
15294 * s/cxux7.h:
15295 * s/dgux.h:
15296 * s/dgux4.h:
15297 * s/dgux5-4-3.h:
15298 * s/dgux5-4r2.h:
15299 * s/esix.h:
15300 * s/esix5r4.h:
15301 * s/hiuxmpp.h:
15302 * s/hiuxwe2.h:
15303 * s/iris3-5.h:
15304 * s/iris3-6.h:
15305 * s/isc2-2.h:
15306 * s/isc3-0.h:
15307 * s/isc4-0.h:
15308 * s/isc4-1.h:
15309 * s/newsos5.h:
15310 * s/newsos6.h:
15311 * s/osf1.h:
15312 * s/osf5-0.h:
15313 * s/riscix1-1.h:
15314 * s/riscix12.h:
15315 * s/sco4.h:
15316 * s/sco5.h:
15317 * s/sunos4-0.h:
15318 * s/sunos4-1.h:
15319 * s/sunos413.h:
15320 * s/sunos4shr.h:
15321 * s/umax.h:
15322 * s/unipl5-2.h:
15323 * s/xenix.h:
15324 * cxux-crt0.s:
15325 * unexapollo.c:
15326 * unexconvex.c:
15327 * unexenix.c:
15328 * unexsni.c: Remove files for systems no longer supported.
15329
15330 * m/intel386.h: Remove references to unsupported systems.
15331
15332 * w32.c (get_emacs_configuration): Remove reference to i860.
15333
15334 * sysdep.c: Remove dead code.
15335
153362008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
15337
15338 * s/rtu.h:
15339 * m/masscomp.h: Remove files. Platform is obsolete.
15340
153412008-01-04 Michael Albinus <michael.albinus@gmx.de>
15342
15343 * dbusbind.c (Fdbus_method_return): New function.
15344 (xd_read_message): Add the serial number to the event.
15345 (Fdbus_register_method): Activate the function.
15346
153472008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
15348
15349 * keyboard.c (read_key_sequence): Fix typo.
15350
153512008-01-03 Michael Albinus <michael.albinus@gmx.de>
15352
15353 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
15354 (xd_signature, xd_append_arg): Handle element type detection for
15355 empty arrays.
15356 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
15357 SDATA () calls; this must be solved more general.
15358 (Fdbus_register_signal): Use SBYTES instead of strlen.
15359
153602008-01-03 Magnus Henoch <magnus@zemdatav>
15361
15362 * dbusbind.c (xd_append_arg): Use unsigned char instead of
15363 unsigned int for byte values (necessary for big-endian platform).
15364 (Fdbus_call_method): Handle the case of no returned arguments.
15365
153662007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15367
15368 * dbusbind.c (xd_read_message): Use non-static input_event struct.
15369
153702007-12-31 Magnus Henoch <mange@freemail.hu>
15371
15372 * dbusbind.c (xd_signature): Signature of variant is just "v".
15373
153742007-12-30 Michael Albinus <michael.albinus@gmx.de>
15375
15376 * dbusbind.c: Fix several errors and compiler warnings.
15377 Reported by Tom Tromey <tromey@redhat.com>.
15378 (XD_ERROR, XD_DEBUG_MESSAGE)
15379 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
15380 (xd_append_arg): Part for basic D-Bus types rewritten.
15381 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
15382 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
15383 appropriate.
15384 (xd_read_message): Return Qnil. Don't signal an error; it is not
15385 useful during event reading.
15386 (Fdbus_register_signal): Signal an error if the check for
15387 FUNCTIONP fails.
15388 (Fdbus_register_method): New function. The implementation is not
15389 complete, the call of the function signals an error therefore.
15390 (Fdbus_unregister_object): New function, renamed from
15391 Fdbus_unregister_signal. The initial check signals an error, if
15392 the object is not well formed.
15393
153942007-12-30 Richard Stallman <rms@gnu.org>
15395
15396 * textprop.c (get_char_property_and_overlay):
15397 Signal error if POSITION is out of range in a buffer.
15398
153992007-12-29 Martin Rudalics <rudalics@gmx.at>
15400
15401 * w32fns.c (Fx_create_frame): Make copy of frame parameters
15402 because the original parameters are in pure storage now.
15403
154042007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15405
15406 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
15407
154082007-12-22 Eli Zaretskii <eliz@gnu.org>
15409
15410 * callint.c (syms_of_callint) <command-history>: Add reference to
15411 history-length in the doc string.
15412
154132007-12-17 Jason Rumney <jasonr@gnu.org>
15414
15415 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
15416 before passing as wParam.
15417
154182007-12-22 Michael Albinus <michael.albinus@gmx.de>
15419
15420 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
15421 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
15422 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
15423 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
15424 as number.
15425 (Fdbus_call_method): Fix docstring.
15426
154272007-12-21 Michael Albinus <michael.albinus@gmx.de>
15428
15429 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
15430 New macros.
15431 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
15432 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
15433 Simplify.
15434 (xd_signature): New function.
15435 (xd_append_arg): Compute also signatures. Major rewrite.
15436 (xd_retrieve_arg): Make debug messages friendly.
15437 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
15438 Check for signatures of arguments.
15439
154402007-12-19 Michael Albinus <michael.albinus@gmx.de>
15441
15442 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
15443 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
15444 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
15445 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
15446 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
15447 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
15448 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
15449 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
15450 (xd_retrieve_value): Remove. Functionality included in ...
15451 (xd_append_arg): New function.
15452 (Fdbus_call_method, Fdbus_send_signal): Apply it.
15453
154542007-12-16 Michael Albinus <michael.albinus@gmx.de>
15455
15456 * dbusbind.c (top): Include <stdio.h>.
15457 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
15458 dbus_message_new_method_call and dbus_message_new_signal.
15459 (Fdbus_register_signal): Rename unique_name to uname.
15460 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
15461 non-existing unique name. Fix typos in matching rule. Return an
15462 object which is useful in Fdbus_unregister_signal.
15463 (Fdbus_unregister_signal): Reimplementation, in order to remove
15464 only the corresponding entry.
15465 (Vdbus_registered_functions_table): Change the order of entries.
15466 Apply these changes in xd_read_message and Fdbus_register_signal.
15467
154682007-12-16 Andreas Schwab <schwab@suse.de>
15469
15470 * fileio.c (Finsert_file_contents): Fix overflow check to not
15471 depend on undefined integer overflow.
15472
154732007-12-14 Jason Rumney <jasonr@gnu.org>
15474
15475 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
15476 for characters above 127.
15477
154782007-12-13 Jason Rumney <jasonr@gnu.org>
15479
15480 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
15481 before dereferencing array.
15482 (lookup_vk_code): Remove zero comparison.
15483
154842007-12-14 Michael Albinus <michael.albinus@gmx.de>
15485
15486 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
15487 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
15488 Use `unsigned int' instead of `uint'.
15489 (xd_read_message, Fdbus_register_signal): Split expressions into
15490 multiple lines before operators "&&" and "||", according to the
15491 GNU Coding Standards.
15492
154932007-12-14 Eli Zaretskii <eliz@gnu.org>
15494
15495 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
15496
154972007-12-12 Juri Linkov <juri@jurta.org>
15498
15499 * buffer.c (Frename_buffer): In interactive spec replace
15500 `read-buffer' with `read-string' that uses `buffer-name-history'
15501 as history, and the current buffer's name as default.
15502
155032007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
15504
15505 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
15506 manipulating the backtrace manually.
15507 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
15508 (struct backtrace, backtrace_list): Remove.
15509 (command_loop_1): Remove dead var `no_direct'.
15510
15511 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
15512 preserve non-built-in buffer-local variables.
15513 (Fkill_all_local_variables): Don't re-create&re-set permanent
15514 buffer-local variables.
15515
155162007-12-09 Juri Linkov <juri@jurta.org>
15517
15518 * buffer.c (Frename_buffer): Change interactive spec from "s" to
15519 Lisp code that uses `read-buffer' with current buffer as default.
15520
155212007-12-08 Michael Albinus <michael.albinus@gmx.de>
15522
15523 * dbusbind.c (xd_read_message): Generate an event for every
15524 registered handler. There might be several handlers registered
15525 for the same signal.
15526 (Fdbus_register_signal): Don't overwrite a registration for the
15527 same signal. Add a new registration if handlers are different.
15528 (Vdbus_registered_functions_table): Rework doc string.
15529
155302007-12-07 Michael Albinus <michael.albinus@gmx.de>
15531
15532 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
15533 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
15534 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
15535 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
15536 Unify argument lists.
15537 (xd_read_message, Fdbus_register_signal): Reorder and extend event
15538 arguments and hash table keys. Use unique name for service.
15539 (Fdbus_unregister_signal): Remove checks.
15540 (Vdbus_registered_functions_table): Fix doc string.
15541
155422007-12-05 Magnus Henoch <mange@freemail.hu>
15543
15544 * process.c (make_process): Initialize pty_flag to 0.
15545
155462007-12-05 Jason Rumney <jasonr@gnu.org>
15547
15548 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
15549 specified XBMs.
15550
155512007-12-05 Richard Stallman <rms@gnu.org>
15552
15553 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
15554
155552007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15556
15557 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
15558 New variable.
15559 (mac_try_close_socket) [MAC_OSX]: New function.
15560 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
15561 Update cfsockets_for_select. Replace invalid CFRunLoop source.
15562
15563 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
15564 Use mac_try_close_socket.
15565
155662007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15567
15568 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
15569 reloc_base.
15570 (copy_dysymtab): Compute relocation base here.
15571 (rebase_reloc_address) [__ppc64__]: New function.
15572 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
15573 changed.
15574
155752007-12-05 Jason Rumney <jasonr@gnu.org>
15576
15577 * w32proc.c (sys_spawnve): Quote args with wildcards.
15578
155792007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15580
15581 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
15582 __objc_* sections.
15583 (unrelocate) [_LP64]: Set relocation base to address of data segment.
15584
155852007-12-05 Michael Albinus <michael.albinus@gmx.de>
15586
15587 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
15588 Move check for Vdbus_registered_functions_table to
15589 xd_read_queued_messages.
15590 (xd_read_queued_messages): Protect xd_read_message calls by
15591 internal_condition_case_1.
15592
155932007-12-04 Michael Albinus <michael.albinus@gmx.de>
15594
15595 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
15596 Qdbus_system_bus and Qdbus_session_bus, respectively.
15597 (Vdbus_intern_symbols): Remove.
15598 (Vdbus_registered_functions_table): New hash table.
15599 (XD_SYMBOL_INTERN_SYMBOL): Remove.
15600 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
15601 Rewrite in order to manage registered functions by hash table
15602 Vdbus_registered_functions_table.
15603
156042007-12-03 Jan Djärv <jan.h.d@swipnet.se>
15605
15606 * xterm.c: Update URL to Window Manager Specification in comment.
15607
156082007-12-02 Michael Albinus <michael.albinus@gmx.de>
15609
15610 * config.in (HAVE_DBUS): Add.
15611
15612 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
15613 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
15614 (obj): Add $(DBUS_OBJ).
15615 (LIBES): Add $(DBUS_LIBS).
15616 (dbusbind.o): New target.
15617
15618 * dbusbind.c: New file.
15619
15620 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
15621
15622 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
15623 (Qdbus_event): New Lisp symbol.
15624 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
15625 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 15626 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
15627
15628 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
15629
156302007-12-01 Richard Stallman <rms@gnu.org>
15631
15632 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
15633
156342007-11-30 Jason Rumney <jasonr@gnu.org>
15635
15636 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
15637 (w32con_reset_terminal_modes): Clear screen buffer.
15638 (w32_face_attributes): Don't use color indexes that are out of range.
15639 Only reverse the default colors.
15640
15641 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
15642 WINDOWSNT.
15643
15644 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
15645
156462007-11-29 Jason Rumney <jasonr@gnu.org>
15647
15648 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
15649 (w32_face_attributes): Use Vtty_defined_color_alist to determine
15650 if the terminal colors are initialized.
15651 (unspecified_fg, unspecified_bg): Remove unused declarations.
15652
156532007-11-29 Andreas Schwab <schwab@suse.de>
15654
15655 * keyboard.c (apply_modifiers): Fix typo.
15656
156572007-11-29 Richard Stallman <rms@gnu.org>
15658
15659 * keymap.c (Fcurrent_local_map): Doc fix.
15660
156612007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
15662
15663 * s/gnu-kfreebsd.h: New file.
15664
156652007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
15666
15667 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
15668 Don't cast redundantly.
15669
15670 * keyboard.c (KEY_TO_CHAR): New macro.
15671 (parse_modifiers, apply_modifiers): Accept integer arguments.
15672 (read_key_sequence): Use them to unify the "shift->unshift" mapping
15673 for chars and symbol keys.
15674 After doing such remapping, apply function-key-map again.
15675
156762007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
15677
15678 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
15679 compiled anymore.
15680
156812007-11-26 Andreas Schwab <schwab@suse.de>
15682
15683 * process.c (list_processes_1): Fix indentation level of the
15684 command column.
15685
156862007-11-23 Andreas Schwab <schwab@suse.de>
15687
15688 * editfns.c (Fformat): Handle %c specially since it requires the
15689 argument to be of type int.
15690
156912007-11-23 Markus Triska <markus.triska@gmx.at>
15692
15693 * emacs.c (main): Call init_editfns before init_process, since
15694 init_process sets Vprocess_connection_type depending on OS release.
15695
156962007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
15697
15698 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
15699 (find_symbol_value): Use do_symval_forwarding.
15700
15701 * data.c (set_internal): Set the value in the `cons-cell' (for
15702 Buffer_Local_values) not only for frame-local variables.
15703
157042007-11-22 Andreas Schwab <schwab@suse.de>
15705
15706 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
15707 values to sprintf.
15708 * keymap.c (Fsingle_key_description): Likewise.
15709 * print.c (print_object): Likewise.
15710
157112007-11-22 Jan Djärv <jan.h.d@swipnet.se>
15712
15713 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
15714 file for image is nil.
15715
157162007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
15717
15718 * term.c: Include stdarg.h.
15719 (fatal): Implement using varargs.
15720 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15721
157222007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15723
15724 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15725 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15726 Update call to buffer_slot_type_mismatch.
15727 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15728 (buffer_slot_type_mismatch): Update.
15729 * buffer.c (buffer_local_types): Remove.
15730 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15731 (defvar_per_buffer): Set the type in the buffer_objfwd.
15732
157332007-11-21 Jason Rumney <jasonr@gnu.org>
15734
15735 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15736 CreateFileMapping returns NULL on failure.
15737
157382007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15739
15740 * search.c (Fset_match_data): Remove the `evaporate' feature.
15741 (unwind_set_match_data): Don't use the `evaporate' feature.
15742
157432007-11-21 Jason Rumney <jasonr@gnu.org>
15744
15745 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15746
15747 * w32console.c (w32con_write_glyphs): Remove unused variables.
15748
157492007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15750
15751 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15752
15753 * s/darwin.h (MULTI_KBOARD): Remove.
15754
15755 * macfns.c (x_create_tip_frame, Fx_create_frame)
15756 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15757
157582007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15759
15760 * buffer.c (Fbuffer_local_value): Remove redundant test.
15761 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15762 than in `current-buffer' to match the comment.
15763 Do the swap using swap_in_global_binding.
15764
15765 * data.c (store_symval_forwarding, set_internal):
15766 * eval.c (specbind): Remove dead code.
15767
15768 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15769 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15770 Since we do not want to see internal Lisp_*fwd objects here.
15771
157722007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15773
15774 * sysdep.c (init_system_name): Use getaddrinfo if available.
15775
15776 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15777 (x_scroll_bar_note_movement): start, end, with, height in struct
15778 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15779
157802007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15781
15782 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15783
157842007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15785
15786 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15787 This undoes Richard's change of 14-Oct-2002.
15788
15789 * alloc.c (allocate_other_vector):
15790 * lisp.h (allocate_other_vector): Remove.
15791
15792 * window.c (struct save_window_data): Move non-lisp data to the end
15793 and make it `int' rather than Lisp_Object.
15794 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15795 Done wrap/unwrap integer values.
15796 (Fset_window_configuration, compare_window_configurations):
15797 Update use of fields to their new types.
15798
15799 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15800 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15801 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15802 (SET_SCROLL_BAR_X_WINDOW): Remove.
15803 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15804 Access the new x_window field directly.
15805 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15806 Don't wrap/unwrap integers into Lisp_Objects.
15807 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15808 (x_scroll_bar_report_motion):
15809 Don't wrap/unwrap integers into Lisp_Objects.
15810 (x_term_init): Use SDATA.
15811 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15812 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15813 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15814 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15815 * xfns.c (x_set_background_color):
15816 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15817 Access the new x_window field directly.
15818
15819 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
15820 (allocate_pseudovector): Make non-static.
15821
15822 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
15823 (allocate_pseudovector): Declare.
15824 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
15825
158262007-11-15 Andreas Schwab <schwab@suse.de>
15827
15828 * editfns.c (Fformat): Correctly format EMACS_INT values.
15829 Also take precision into account when formatting an integer.
15830
15831 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
15832
158332007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
15834
15835 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
15836 (syms_of_keyboard): Defsubr it.
15837
15838 * data.c (swap_in_global_binding): Fix longstanding bug where
15839 store_symval_forwarding was not called with the right second argument,
15840 thus causing objfwd-ing from being dropped.
15841
158422007-11-14 Juanma Barranquero <lekktu@gmail.com>
15843
15844 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
15845 (Fx_display_pixel_height, Fx_display_planes)
15846 (Fx_display_color_cells, Fx_server_max_request_size)
15847 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15848 (Fx_display_visual_class, Fx_display_save_under):
15849 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
15850 (Fx_display_pixel_height, Fx_display_planes)
15851 (Fx_display_color_cells, Fx_server_max_request_size)
15852 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
15853 (Fx_display_mm_height, Fx_display_mm_width)
15854 (Fx_display_backing_store, Fx_display_visual_class)
15855 (Fw32_select_font, Fx_display_save_under):
15856 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
15857 (Fx_display_pixel_height, Fx_display_planes)
15858 (Fx_display_color_cells, Fx_server_max_request_size)
15859 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15860 (Fx_display_save_under): Fix typos in docstrings.
15861
158622007-11-14 Juanma Barranquero <lekktu@gmail.com>
15863
15864 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
15865 corresponding to deleted entries; they are an implementation detail.
15866 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
15867 Remove variables.
15868 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
15869 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
15870 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
15871 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
15872 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
15873 (Fw32_define_rgb_color, Fw32_load_color_file)
15874 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
15875 Fix typos in docstrings.
15876 (Fx_server_version): Reflow docstring.
15877 (Fw32_shell_execute): Doc fixes.
15878
158792007-11-13 Juanma Barranquero <lekktu@gmail.com>
15880
15881 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
15882 if w32_parse_hot_key returned nil.
15883
158842007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
15885
15886 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
15887
158882007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 15889
aac0c6e3
MR
15890 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
15891
15892 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
15893
15894 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
15895 Remove W32_SCROLL_BAR_CLICK_EVENT.
15896
15897 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
15898 Add MULTIMEDIA_KEY_EVENT.
15899
15900 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
15901 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15902 (make_lispy_event) [WINDOWSNT]: Use it to translate
15903 MULTIMEDIA_KEY_EVENT.
15904
15905 * w32term.h (WM_APPCOMMAND): Define if not already.
15906 (GET_APPCOMMAND_LPARAM): Likewise.
15907
15908 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
15909 WM_APPCOMMAND.
15910
15911 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
15912 (syms_of_w32fns): Export and initialize it.
15913 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
15914
159152007-11-09 Chong Yidong <cyd@stupidchicken.com>
15916
15917 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
15918 twice.
15919
15920 * xdisp.c (handle_face_prop): Fix last change.
15921
159222007-11-09 Richard Stallman <rms@gnu.org>
15923
15924 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
15925 not just for after-strings and before-strings.
15926 Call face_for_overlay_string and pass the overlay to it.
15927 (handle_display_prop): Determine whether property came from an overlay.
15928 Pass OVERLAY arg to handle_single_display_spec.
15929 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
15930 (load_overlay_strings): Fill in it->string_overlays.
15931 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
15932
15933 * xfaces.c (face_for_overlay_string): Function renamed from
15934 face_at_buffer_position_no_overlays, and add arg OVERLAY.
15935
15936 * dispextern.h (struct it): New elt string_overlays.
15937 New elt from_overlay, also in stack.
15938 Rearrange a few elements.
15939 (face_for_overlay_string): Decl renamed from
15940 face_at_buffer_position_no_overlays, and add argument.
15941
159422007-11-09 Richard Stallman <rms@gnu.org>
15943
15944 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
15945 to get the base face for an overlay string.
15946
15947 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15948
15949 * xfaces.c (face_at_buffer_position_no_overlays): New function.
15950
15951 * xdisp.c (handle_stop): Move some code out of loop.
15952
159532007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15954
15955 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
15956 Fix conversion from Lisp object to ATSUFontID.
15957
159582007-11-09 Jason Rumney <jasonr@gnu.org>
15959
15960 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
15961
159622007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15963
15964 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
15965 Don't assume regions are aligned to page boundary.
15966 (print_load_command_name): Add LC_UUID if defined.
15967
159682007-11-09 Richard Stallman <rms@gnu.org>
15969
15970 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
15971
159722007-11-07 Jason Rumney <jasonr@gnu.org>
15973
15974 * s/windows95.h: Remove.
15975
159762007-11-06 Jan Djärv <jan.h.d@swipnet.se>
15977
15978 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
15979 abort with a message on unhandled store_type values.
15980
159812007-11-01 Jan Djärv <jan.h.d@swipnet.se>
15982
15983 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
15984 Remove HAVE_X11R5 and HAVE_X11R4.
15985
159862007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15987
15988 * Makefile.in: Remove references to sunfns.c and sunfns.o.
15989
159902007-11-01 Johan Bockgård <bojohan@gnu.org>
15991
15992 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
15993 Don't set s->stippled_p here, since it has already been set by
15994 x_set_glyph_string_gc from x_draw_glyph_string.
15995
159962007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15997
15998 * sunfns.c: Remove file.
15999
16000 * m/sun386.h:
16001 * m/sun2.h:
16002 * m/sparc.h: Remove Sun windows code.
16003
160042007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
16005
16006 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
16007 (init_keyboard): Set current_kboard's window-system to nil.
16008 (tty_read_avail_input): Typo.
16009 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
16010
160112007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
16012
16013 * s/usg5-4.h:
16014 * s/usg5-3.h:
16015 * s/ptx.h:
16016 * m/is386.h:
16017 * m/ibmps2-aix.h:
16018 * Makefile.in: Remove all mentions of X10.
16019
16020 * dispnew.c (syms_of_display): Don't mention version 10.
16021
160222007-10-28 Juanma Barranquero <lekktu@gmail.com>
16023
16024 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
16025 ($(BLD)/abbrev.$(O)): Remove.
16026
160272007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
16028
16029 Rewrite abbrev.c in Elisp.
16030 * image.c (Qcount): Don't declare as extern.
16031 (syms_of_image): Initialize and staticpro `Qcount'.
16032 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
16033 * emacs.c (main): Don't call syms_of_abbrev.
16034 * Makefile.in (obj): Remove abbrev.o.
16035 (abbrev.o): Remove.
16036 * abbrev.c: Remove.
16037
160382007-10-26 Martin Rudalics <rudalics@gmx.at>
16039
16040 * window.c (window_min_size_2): Don't count header-line.
16041
160422007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
16043
16044 * frame.h (struct frame): Move all bit fields after the first bit
16045 field to take advantage of the available space. Group all the
16046 chars together to reduce wasted space due to padding.
16047
160482007-10-26 Juanma Barranquero <lekktu@gmail.com>
16049
16050 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
16051
16052 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
16053 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
16054 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
16055 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
16056 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
16057 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
16058 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
16059 (last_marked, mark_object_loop_halt): Make static.
16060
16061 * frame.c (syms_of_frame) <delete-frame-functions>:
16062 Fix typo in docstring.
16063
160642007-10-25 Juanma Barranquero <lekktu@gmail.com>
16065
16066 * w32.c (init_environment): Fix tiny memory leak.
16067 (w32_get_resource): Remove unused variable `ok'.
16068
160692007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
16070
16071 Make `window-system' into a keyboard-local variable (rather than
16072 frame-local as done originally by multi-tty).
16073
16074 * keyboard.h (struct kboard): Add Vwindow_system.
16075 * keyboard.c (init_kboard): Set a default for Vwindow_system.
16076 (mark_kboards): Mark Vwindow_system.
16077
16078 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
16079 (init_display): Don't set the obsolete `window-system' frame-param.
16080
16081 * xterm.c (x_term_init):
16082 * w32term.c (w32_create_terminal):
16083 * term.c (init_tty): Set Vwindow_system.
16084 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
16085 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
16086
16087 * xfns.c (Fx_create_frame, x_create_tip_frame):
16088 * w32fns.c (Fx_create_frame, x_create_tip_frame):
16089 * macfns.c (Fx_create_frame):
16090 Don't set the obsolete `window-system' frame-param.
16091
16092 * frame.h (Qwindow_system): Remove.
16093 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
16094 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
16095
160962007-10-24 Richard Stallman <rms@gnu.org>
16097
16098 * frame.c (x_figure_window_size): For fullscreen case,
16099 set USPosition | PPosition without clobbering rest of window_prompting.
16100
16101 * keyboard.c (Fcurrent_idle_time): Doc fix.
16102
16103 * print.c (Fwith_output_to_temp_buffer): Doc fix.
16104
161052007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
16106
16107 * process.c (unwind_request_sigio): Only define if __ultrix__.
16108
16109 * callproc.c (child_setup): Remove spurious *.
16110
16111 * lisp.h (Fget_text_property): Declare.
16112 (have_menus_p): Declare it here rather than in sys-dep header files.
16113 * macterm.h (have_menus_p):
16114 * msdos.h (have_menus_p):
16115 * xterm.h (have_menus_p): Remove.
16116
16117 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
16118 (Fmake_variable_frame_local): Just check the variable's const-ness
16119 rather than checking nil or t.
16120
161212007-10-22 Jason Rumney <jasonr@gnu.org>
16122
16123 * w32fns.c: Include math.h.
16124 (w32_abort): Declaration moved to nt/config.nt.
16125
16126 * s/ms-w32.h (HAVE_STDLIB_H): Define.
16127 (abort): Redefinition moved to nt/config.nt.
16128
16129 * m/windowsnt.h: Remove.
16130
161312007-10-22 Juanma Barranquero <lekktu@gmail.com>
16132
16133 * emacs.c (Fdump_emacs): Fix typo in message.
16134 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
16135 <installation-directory>: Reflow docstring.
16136
161372007-10-22 Juri Linkov <juri@jurta.org>
16138
16139 * minibuf.c: Allow minibuffer default to be a list of default values.
16140 With empty input use the first element of this list as returned default.
16141 (string_to_object)
16142 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
16143 (read_minibuf): If defalt is cons, set histstring to its car.
16144 (Fread_string): If default_value is cons, set val to its car.
16145 (Fread_buffer): If def is cons, use its car.
16146 (Fcompleting_read): If defalt is cons, set val to its car.
16147
161482007-10-21 Michael Albinus <michael.albinus@gmx.de>
16149
16150 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
16151
161522007-10-20 Juanma Barranquero <lekktu@gmail.com>
16153
16154 * doc.c (Fdocumentation): Check for advice in all cases.
16155
161562007-10-19 Chong Yidong <cyd@stupidchicken.com>
16157
16158 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
16159
161602007-10-19 Richard Stallman <rms@gnu.org>
16161
16162 * doc.c (Fdocumentation): Check for and handle an advised function.
16163
161642007-10-19 Juanma Barranquero <lekktu@gmail.com>
16165
16166 * process.c (Fset_process_filter): Doc fix.
16167
161682007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
16169
16170 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
16171 which caused key-translation-map to applied repeatedly (thus breaking
16172 double-mode).
16173
161742007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16175
16176 * xselect.c (x_own_selection, x_handle_selection_clear)
16177 (x_clear_frame_selections):
16178 * w32menu.c (list_of_panes, list_of_items):
16179 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
16180 * textprop.c (validate_plist, interval_has_all_properties)
16181 (interval_has_some_properties, interval_has_some_properties_list)
16182 (add_properties, text_property_list):
16183 * process.c (Fget_buffer_process, list_processes_1, status_notify):
16184 * minibuf.c (Fassoc_string):
16185 * macselect.c (x_own_selection, x_clear_frame_selections)
16186 (Fx_disown_selection_internal):
16187 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
16188 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
16189
161902007-10-17 Chong Yidong <cyd@stupidchicken.com>
16191
16192 * process.c: Link to libs for calling res_init() if available.
16193 (Fmake_network_process): Call res_init() before getaddrinfo or
16194 gethostbyname, if possible.
16195
161962007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16197
16198 * lread.c (read1): Set pvectype for char_tables.
16199
16200 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
16201 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
16202 Add type checks.
16203 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
16204
16205 * alloc.c (free_misc): Use XMISCTYPE.
16206 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
16207
162082007-10-17 Glenn Morris <rgm@gnu.org>
16209
16210 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
16211 (syms_of_minibuf): Add Qcompletion_ignore_case.
16212 * dired.c (Qcompletion_ignore_case): Change to external.
16213 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
16214 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
16215 (Fread_file_name): Use it rather than intern'ing.
16216
16217 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
16218 (Fread_coding_system): Ignore case of user input.
16219
162202007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16221
16222 * xdisp.c (handle_display_prop): Ignore display specs after
16223 replacing one when string text is being replaced.
16224 (handle_single_display_spec): Pretend as if characters with display
16225 property haven't been consumed only when buffer text is being replaced.
16226
162272007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
16228
16229 * xfns.c (Fx_create_frame, Fx_display_list):
16230 * window.c (window_fixed_size_p, enlarge_window)
16231 (shrink_window_lowest_first):
16232 * macterm.c (init_font_name_table):
16233 * macfns.c (Fx_create_frame, Fx_display_list):
16234 * lread.c (close_load_descs):
16235 * keyboard.c (read_char_x_menu_prompt):
16236 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
16237 * coding.c (code_convert_region_unwind): Test the type of an object
16238 rather than just !NILP before extracting data from it.
16239
16240 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
16241
16242 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
16243 (XMISCANY): New macro.
16244 (XMISCTYPE): Use it.
16245 (struct Lisp_Misc_Any): New type.
16246 (union Lisp_Misc): Use it.
16247 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
16248 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
16249 (find_symbol_value, set_internal, default_value, Fset_default)
16250 (Fmake_variable_buffer_local, Fmake_local_variable)
16251 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
16252 (Flocal_variable_if_set_p, Fvariable_binding_locus):
16253 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
16254 * alloc.c (allocate_buffer): Set the size and tag.
16255 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
16256 Use XMISCANY.
16257 (die): Follow the GNU convention for error messages.
16258 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
16259 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
16260 tag any more.
16261 (set_buffer_internal_1):
16262 * frame.c (store_frame_param):
16263 * eval.c (specbind):
16264 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
16265
16266 * doc.c (Fsnarf_documentation): Simplify.
16267
162682007-10-14 Juanma Barranquero <lekktu@gmail.com>
16269
16270 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
16271 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
16272
162732007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
16274
16275 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
16276
162772007-10-14 Juanma Barranquero <lekktu@gmail.com>
16278
16279 * eval.c (do_autoload): Don't save autoloads.
16280
16281 * data.c (Ffset): Save autoload of the function being set.
16282
162832007-10-07 John Paul Wallington <jpw@pobox.com>
16284
16285 * xfns.c (x_create_tip_frame): Set the `display-type' frame
16286 parameter before setting up faces.
16287
162882007-10-13 Eli Zaretskii <eliz@gnu.org>
16289
16290 * ccl.c (Fregister_code_conversion_map):
16291 * keyboard.c (append_tool_bar_item): Reformat last change.
16292
16293 * lisp.h (eabs): Rename from `abs'. All callers changed.
16294
162952007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
16296
16297 * buffer.c (add_overlay_mod_hooklist):
16298 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
16299 * fontset.c (make_fontset):
16300 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
16301 (append_tool_bar_item):
16302 * macmenu.c (grow_menu_items):
16303 * w32menu.c (grow_menu_items):
16304 * xmenu.c (grow_menu_items): Use larger_vector.
16305
163062007-10-13 Eli Zaretskii <eliz@gnu.org>
16307
16308 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
16309 selected frame'' on MSDOS).
16310
163112007-10-12 Martin Rudalics <rudalics@gmx.at>
16312
16313 * frame.c (Qexplicit_name): New variable.
16314 (x_report_frame_params): Report it in parameter alist.
16315 (syms_of_frame): Intern and staticpro it.
16316
163172007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
16318
16319 * macfns.c (x_create_tip_frame): Set terminal for frame.
16320
163212007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
16322
16323 * frame.c (Qenvironment): Remove.
16324 (syms_of_frame) <Qenvironment>: Don't initialize.
16325 (Fdelete_frame): Don't treat the `environment' param specially.
16326 * frame.h (Qenvironment): Don't declare.
16327 * callproc.c (set_initial_environment): Don't set unused frame param.
16328
16329 * frame.c (Fframe_with_environment): Remove.
16330 (syms_of_frame) <Sframe_with_environment>: Don't declare.
16331
16332 * lisp.h (Fframe_with_environment): Don't declare.
16333
163342007-10-10 Juanma Barranquero <lekktu@gmail.com>
16335
16336 * indent.c (indent_tabs_mode, last_known_column)
16337 (last_known_column_modified): Make static.
16338 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
16339
163402007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
16341
16342 * puresize.h (BASE_PURESIZE): Increase to 1170000.
16343
163442007-10-09 Jason Rumney <jasonr@gnu.org>
16345
16346 * w32term.c (x_set_window_size): Disable code that attempts to tell
16347 Lisp code about a size change before it actually happens.
16348
163492007-10-09 Richard Stallman <rms@gnu.org>
16350
16351 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
16352 return HANDLED_RETURN.
16353
163542007-10-08 Martin Rudalics <rudalics@gmx.at>
16355
16356 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
16357 when there's an unread command event.
16358
16359 * frame.c (focus_follows_mouse): Move here from frame.el to allow
16360 window autoselection act appropriately when leaving selected frame.
16361 (syms_of_frame): Initialize focus_follows_mouse.
16362 * frame.h (focus_follows_mouse): Extern it.
16363 * macterm.c (XTread_socket): When focus_follows_mouse is nil
16364 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
16365 * msdos.c (dos_rawgetc): Likewise.
16366 * w32term.c (w32_read_socket): Likewise.
16367 * xterm.c (handle_one_xevent): Likewise.
16368 * xdisp.c (syms_of_xdisp): In doc-string of
16369 mouse-autoselect-window mention focus-follows-mouse.
16370
163712007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16372
16373 * macterm.c (mac_load_query_font): Fix missing return value.
16374 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
16375 Add BLOCK_INPUT.
16376
163772007-10-08 Richard Stallman <rms@gnu.org>
16378
16379 * xdisp.c (get_window_cursor_type): Implement documented behavior
16380 for cursor-in-non-selected-windows = t.
16381
163822007-10-08 Jason Rumney <jasonr@gnu.org>
16383
16384 * w32.c (w32_get_resource): Always close registry keys.
16385
163862007-10-08 Jason Rumney <jasonr@gnu.org>
16387
16388 * makefile.w32-in (LIBS): Add COMCTL32.
16389
16390 * w32fns.c (globals_of_w32fns): Init common controls.
16391
163922007-10-08 Richard Stallman <rms@gnu.org>
16393
16394 * image.c (our_memory_buffer): Rename from omfib_buffer.
16395
163962007-10-08 Richard Stallman <rms@gnu.org>
16397
16398 * buffer.c (Foverlays_at): Doc fix.
16399
164002007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
16401
16402 * fns.c (Fplist_put): Preserve uneven tail data.
16403
164042007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
16405
16406 * termhooks.h (enum event_kind): Remove trailing comma.
16407
16408 * frame.h (enum): Remove trailing comma.
16409
164102007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
16411
16412 * w32proc.c (delete_child): Don't terminate threads of zombies.
16413
164142007-10-08 Martin Rudalics <rudalics@gmx.at>
16415
16416 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
16417
16418 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
16419 last-repeatable-command.
16420 (init_kboard): Initialize Vlast_repeatable_command.
16421 (command_loop_1): Set it to real_this_command unless that was
16422 bound to an input event.
16423 (mark_kboards): Mark it.
16424
164252007-10-08 Richard Stallman <rms@gnu.org>
16426
16427 * eval.c (condition-case): Doc fix.
16428
164292007-10-08 Masatake YAMATO <jet@gyve.org>
16430
16431 * xfaces.c (tty_supports_face_attributes_p): Fix code
16432 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
16433 was copied and not edited.
16434
164352007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
16436
16437 Add new `input-decode-map' keymap and use it for terminal
16438 escape sequences.
16439 * keyboard.h (struct kboard): Add Vinput_decode_map.
16440 Remove Vlocal_key_translation_map.
16441 * keyboard.c (read_key_sequence): Add support for input-decode-map.
16442 (init_kboard): Init input-decode-map.
16443 Replace local-key-translation-map back with key-translation-map.
16444 (syms_of_keyboard): Declare input-decode-map.
16445 Remove local-key-translation-map. Update docstrings.
16446 (mark_kboards): Mark Vinput_decode_map.
16447 Don't mark Vlocal_key_translation_map.
16448 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
16449 Replace local-key-translation-map back with key-translation-map.
16450 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
16451 Bind in input-decode-map rather than function-key-map.
16452
16453 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
16454 This was made redundant by the previous introduction of XSETPVECTYPE.
16455
164562007-10-09 Richard Stallman <rms@gnu.org>
16457
16458 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
16459
164602007-09-29 Richard Stallman <rms@gnu.org>
16461
16462 * eval.c (internal_condition_case_2, internal_condition_case_1)
16463 (internal_condition_case): Reenable abort if x_catching_errors ()
16464 to see if that really happens and why.
16465
164662007-10-06 Andreas Schwab <schwab@suse.de>
16467
16468 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
16469
164702007-10-04 Juanma Barranquero <lekktu@gmail.com>
16471
16472 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
16473
164742007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
16475
16476 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
16477
164782007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
16479
16480 * window.h (struct window):
16481 * window.c (struct save_window_data, struct saved_window):
16482 * termhooks.h (struct terminal):
16483 * process.h (struct Lisp_Process):
16484 * frame.h (struct frame):
16485 * buffer.h (struct buffer):
16486 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
16487 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
16488 The size field of (pseudo)vectors is now unsigned.
16489 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
16490
16491 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
16492 Turn `count' into an integer.
16493
16494 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
16495 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
16496 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
16497 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
16498 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
16499
16500 * alloc.c (allocate_pseudovector): New fun.
16501 (ALLOCATE_PSEUDOVECTOR): New macro.
16502 (allocate_window, allocate_terminal, allocate_frame)
16503 (allocate_process): Use it.
16504 (mark_vectorlike): New function.
16505 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
16506 (mark_terminals): Use it.
16507 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
16508 (Fmake_byte_code): Use XSETPVECTYPE.
16509
16510 * frame.c (Fframe_parameters): Minor simplification.
16511
16512 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
16513
16514 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
16515
16516 * buffer.c (Fget_buffer_create, init_buffer_once):
16517 * lread.c (defsubr):
16518 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
16519
16520 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
16521 defined differently in the m/*.h files.
16522 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
16523 (XSETPVECTYPE): New macro.
16524 (XSETPSEUDOVECTOR): Use it.
16525
16526 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
16527 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
16528
16529 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
16530 * lread.c (defvar_per_buffer):
16531 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
16532
16533 * window.c (candidate_window_p): Only consider as visible frames that
16534 are on the same terminal.
16535
16536 * m/ibms390x.h (MARKBIT): Remove unused macro.
16537
165382007-10-01 Juanma Barranquero <lekktu@gmail.com>
16539
16540 * lread.c (Fload): Fix typo in docstring.
16541
165422007-10-01 Michaël Cadilhac <michael@cadilhac.name>
16543
16544 * floatfns.c (Fexpt): Manually check for overflows, so that a power
16545 of a non-zero value can't yield zero.
16546
165472007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
16548
16549 * term.c (term_clear_mouse_face, term_mouse_highlight)
16550 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
16551
16552 * print.c (safe_debug_print): Use XHASH.
16553
16554 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
16555 Lisp elements such as tags.
16556 (XHASH): New macro.
16557 (EQ): Use it.
16558 (SREF, SSET, STRING_COPYIN): Use SDATA.
16559 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
16560
16561 * alloc.c (mark_terminal): Remove left-over declaration.
16562 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
16563 (allocate_vectorlike): Remove type argument. Adjust callers.
16564 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
16565 Only handle the one remaining MEM_TYPE_VECTORLIKE.
16566
16567 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
16568 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
16569 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
16570 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
16571 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
16572 Use them.
16573
16574 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
16575 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
16576 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
16577
165782007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
16579
16580 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
16581 loaded by default.
16582
165832007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
16584
16585 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
16586 on this tty.
16587 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
16588
16589 * term.c (mouse_face_window): Rename from Qmouse_face_window.
16590 Update all users.
16591 (handle_one_term_event): Use Gpm_DrawPointer.
16592 (Fgpm_mouse_start): Rename from Fterm_open_connection.
16593 Signal errors instead of returning nil. Always return nil.
16594 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
16595 Make it a noop if gpm-mouse was not activated.
16596 (syms_of_term): Update names.
16597
165982007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
16599
16600 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
16601 (init_sys_modes): Check that gpm_tty is the current tty.
16602
16603 * alloc.c (allocate_terminal): Set the vector size to only count the
16604 lisp fields. Initialize those to nil.
16605 (mark_object): Don't treat terminals specially.
16606 (mark_terminal): Remove.
16607 (mark_terminals): Use mark_object instead.
16608
16609 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
16610 the GC to the beginning.
16611
16612 * indent.h:
16613 * indent.c: Use EMACS_INT for ints coming from Elisp data.
16614
16615 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
16616
166172007-09-25 Jason Rumney <jasonr@gnu.org>
16618
16619 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
16620
16621 * w32console.c (create_w32cons_output): Remove.
16622
16623 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
16624
16625 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
16626 (reset_sys_modes): Use reset_terminal_modes_hook.
16627
166282007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
16629
16630 * eval.c (do_autoload): Don't output any message.
16631
166322007-09-24 Juri Linkov <juri@jurta.org>
16633
16634 * emacs.c (standard_args): Change priority of "--no-splash"
16635 from 40 to 3. Add "--no-desktop" with the same priority.
16636
166372007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
16638
16639 * alloc.c (gc_sweep): Check cons cell mark bits word by word
16640 and optimize the case where they are all 1.
16641
166422007-09-23 Johannes Weiner <hannes@saeurebad.de>
16643
16644 * lisp.h (abs): Define if not defined.
16645 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
16646 Don't define `abs', since it's defined in lisp.h.
16647
166482007-09-22 Eli Zaretskii <eliz@gnu.org>
16649
16650 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
16651 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
16652 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
16653 (init_tty): Use DEV_TTY instead of "/dev/tty".
16654 [WINDOWSNT]: No need to protect from NAME arg being null.
16655
166562007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
16657
16658 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
16659 up the tty state.
16660
166612007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16662
16663 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
16664 (gpm_tty): Change its type.
16665 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
16666 (gpm_tty): Change its type and initialize it.
16667 (Fterm_open_connection): Check the frame is indeed a tty.
16668 Use the new gpm_tty.
16669 (Fterm_close_connection): Use the new gpm_tty.
16670 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
16671 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
16672
166732007-09-21 Juanma Barranquero <lekktu@gmail.com>
16674
16675 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16676 underline_color, to draw strike-through.
16677
166782007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16679
16680 * lisp.h (allocate_terminal): Declare.
16681
16682 * window.c (candidate_window_p): Consider frames that are being placed
16683 by the user as somewhere between visible and iconified.
16684 (window_loop): Prefer windows on the current frame.
16685 (Fselect_window): Move the use of select-frame to the beginning so we
16686 can just delegate all the work (it'll call us back anyway).
16687
16688 * frame.c (Qdisplay_environment_variable):
16689 * frame.h (Qdisplay_environment_variable): Delete.
16690
16691 * .gdbinit (xbacktrace): Print the arg's address rather than the value
16692 of the first arg, since that value may be a union.
16693
16694 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
16695 parameter rather than Qdisplay_environment_variable. If all else
16696 fails, look for DISPLAY in initial-environment.
16697
166982007-09-21 Glenn Morris <rgm@gnu.org>
16699
16700 * Makefile.in (emacstool): Remove target.
16701 (lisp, shortlisp): Remove termdev.elc.
16702
167032007-09-21 Markus Triska <markus.triska@gmx.at>
16704
16705 * xterm.c (x_delete_display): Compile session management conditionally.
16706
167072007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
16708
16709 * callproc.c (getenv_internal_1): New function.
16710 (getenv_internal): Use it.
16711 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
16712
16713 * terminal.c (get_terminal): Don't accept ints to represent terminals.
16714 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
16715 (Fset_terminal_parameter): Work with dead terminals as well.
16716 (Fmodify_terminal_parameters): Remove.
16717
16718 * terminal.c (get_terminal): Handle terminals.
16719 Make sure the terminal returned is live.
16720 (create_terminal): Use allocate_terminal.
16721 (mark_terminals): Move to alloc.c.
16722 (delete_terminal): Use terminal->name as liveness status.
16723 NULL out fields after freeing their contents.
16724 Don't deallocate the object.
16725 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16726 rather than an int.
16727 (Fterminal_live_p): Accept non-integer arguments.
16728 (Fterminal_list): Return terminal objects rather than an ints.
16729
16730 * alloc.c (enum mem_type): New member for `terminal' objects.
16731 (allocate_terminal): New function.
16732 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16733 Handle terminals.
16734 (mark_terminal): New fun.
16735 (mark_terminals): Move from terminal.c.
16736
16737 * term.c (get_tty_terminal): Don't treat output_initial specially.
16738 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16739 (delete_tty): Use terminal->name as liveness status.
16740
16741 * termhooks.h (struct terminal): Make it into a pseudovector.
16742 Remove `deleted' replaced by checking `name's nullness.
16743
16744 * print.c (print_object): Handle terminals.
16745
16746 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16747 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16748
16749 * frame.c (make_terminal_frame):
16750 * keyboard.c (tty_read_avail_input):
16751 * w32term.c (x_delete_terminal):
16752 * xfns.c (Fx_create_frame, x_create_tip_frame):
16753 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16754
167552007-09-20 Glenn Morris <rgm@gnu.org>
16756
16757 * process.c (Fmake_network_process): Doc fix.
16758
167592007-09-19 Jason Rumney <jasonr@gnu.org>
16760
16761 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16762
167632007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16764
16765 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16766 Fix a C warning regarding variable constness.
16767
16768 * xterm.c (handle_one_xevent): Fix a C warning.
16769
167702007-09-18 Jason Rumney <jasonr@gnu.org>
16771
16772 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16773
167742007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16775
16776 * gtkutil.c (gdpy_def): New variable.
16777 (xg_initialize): Initialize gdpy_def.
16778 (xg_display_close): If no other display exists, set gdpy_def to a
16779 new connection.
16780
167812007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16782
16783 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16784 when we have no file name for the icon.
16785 (xg_tool_bar_expose_callback): Remove.
16786 (xg_create_tool_bar): Don't connect expose signal to
16787 xg_tool_bar_expose_callback.
16788 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16789
167902007-09-16 Andreas Schwab <schwab@suse.de>
16791
16792 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16793 values instead of zapping them.
16794
167952007-09-14 Glenn Morris <rgm@gnu.org>
16796
16797 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16798 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16799 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16800 scope and rename to omfib_buffer for clarity.
16801 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16802
168032007-09-14 Kenichi Handa <handa@m17n.org>
16804
16805 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16806
168072007-09-13 Jason Rumney <jasonr@gnu.org>
16808
16809 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16810
16811 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16812
16813 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16814 (mac_term_init): Call here instead, passing rif.
16815
168162007-09-13 Glenn Morris <rgm@gnu.org>
16817
16818 * s/hpux.h: No longer define `static' as nothing.
16819
168202007-09-13 Johan Bockgård <bojohan@gnu.org>
16821
16822 * callint.c (Fcall_interactively): Remove unused var `fun'.
16823
168242007-09-12 Romain Francoise <romain@orebokech.com>
16825
16826 * window.c (prefer_window_split_horizontally, display_buffer):
16827 Revert 2007-09-08 change.
16828
168292007-09-12 Glenn Morris <rgm@gnu.org>
16830
16831 * alloca.c: Remove file.
16832 * Makefile.in (alloca): Do not undef.
16833 (allocaobj, alloca.o): Remove.
16834 (otherobj): Remove allocaobj.
16835 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
16836 * regex.c (C_ALLOCA): Remove all references and code that was only
16837 used when this was defined.
16838 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
16839 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
16840 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
16841
16842 * Makefile.in (SOURCES, unlock, relock): Delete.
16843
16844 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
16845 (menu_grab_callback): All uses changed.
16846
16847 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
16848 (x_reply_selection_request): All uses changed.
16849
168502007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
16851
16852 * lread.c (load_warn_old_style_backquotes): Change message to look
16853 better when it appears in the middle of byte-compiler messages.
16854
168552007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
16856
16857 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
16858
16859 * xterm.c (x_create_terminal): Add comment.
16860
16861 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
16862
168632007-09-10 Richard Stallman <rms@gnu.org>
16864
16865 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
16866
168672007-09-10 Michaël Cadilhac <michael@cadilhac.name>
16868
16869 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
16870 (DEFUN): Document `intspec', use it instead of `prompt'.
16871
16872 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
16873
16874 * data.c (Finteractive_form): If the interactive specification starts
16875 with a `(', use it as a Lisp form.
16876
16877 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
16878 name and file modes.
16879
16880 * callint.c (Fcall_interactively): Comment fixes.
16881
168822007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
16883
16884 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
16885 and compiled functions.
16886
168872007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
16888
16889 * window.c (prefer_window_split_horizontally): New variable.
16890 (display_buffer): Consider splitting window horizontally depending
16891 on prefer_window_split_horizontally.
16892
168932007-09-08 Eli Zaretskii <eliz@gnu.org>
16894
16895 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
16896
168972007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16898
16899 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
16900
16901 * frame.c (x_set_frame_parameters): Check number is positive before
16902 using XFASTINT.
16903
16904 * window.c (freeze_window_start): Don't presume selected_window holds
16905 a window object.
16906 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
16907
169082007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
16909
16910 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
16911
169122007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16913
16914 * window.c (Vsplit_window_preferred_function): New var.
16915 (Fdisplay_buffer): Use it.
16916 (syms_of_window): Export, and initialize it.
16917
169182007-09-06 Pixel <pixel@mandriva.com> (tiny change)
16919
16920 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
16921
169222007-09-06 Glenn Morris <rgm@gnu.org>
16923
16924 * gtkutil.c (menu_grab_callback) <cnt>:
16925 * xselect.c (x_reply_selection_request) <cnt>: Move static
16926 variable to file scope.
16927
169282007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
16929
16930 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
16931 consistent values of selected_frame and selected_window.
16932
169332007-09-04 Jason Rumney <jasonr@gnu.org>
16934
16935 * w32console.c (initialize_w32_display): Zero unused hooks.
16936
169372007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16938
16939 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
16940 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
16941
169422007-09-04 Jason Rumney <jasonr@gnu.org>
16943
16944 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
16945 in w32console.c. Set up input. Remove XXX comments that have been
16946 confirmed as correct.
16947
16948 * s/ms-w32.h (MULTI_KBOARD): Define.
16949
16950 * w32console.c (one_and_only_w32cons): Remove.
16951 (initialize_w32_display): Take terminal argument.
16952
16953 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
16954 initialize_w32_display.
16955 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
16956
16957 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
16958
16959 * keyboard.c (discard_mouse_events): Discard it.
16960 (make_lispy_event): Translate it to a lisp event.
16961 (lispy_wheel_names): Add wheel-left and right events.
16962 (syms_of_keyboard): Enlarge wheel_syms.
16963
16964 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
16965 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
16966
16967 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
16968
16969 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
16970 from WM_MOUSEHWHEEL.
16971 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
16972
16973 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
16974 terminal.
16975
16976 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
16977 keyboard for the terminal.
16978
169792007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16980
16981 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
16982 (Vresume_tty_hook): Rename from Vresume_tty_functions.
16983 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
16984 and resume-tty-function to resume-tty-hook.
16985 (Fsuspend_tty, Fresume_tty): Use new names.
16986
169872007-09-02 Jan Djärv <jan.h.d@swipnet.se>
16988
16989 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
16990 if it starts with "n:".
16991
169922007-08-31 Jan Djärv <jan.h.d@swipnet.se>
16993
16994 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
16995
169962007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
16997
16998 * frame.h:
16999 * frame.c (Qterm_environment_variable): Remove.
17000 (syms_of_frame): Don't init and staticpro it.
17001
17002 * callproc.c (getenv_internal): Remove special case for $TERM.
17003
17004 * callproc.c (Vinitial_environment): New variable.
17005 (set_initial_environment): Initialize it.
17006 (syms_of_callproc): Declare it.
17007 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
17008 TERM under which a process runs is never related to the TERM in which
17009 Emacs is running.
17010
170112007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
17012
17013 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
17014 * s/darwin.h: ... do it here.
17015
170162007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
17017
17018 * lisp.h (set_initial_environment): Rename from set_global_environment.
17019
17020 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
17021 removed by mistake on the multi-tty branch.
17022
17023 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
17024 (Fmodify_frame_parameters): Return a value.
17025
17026 * image.c (png_load): Comment-out var only used in commented-out code.
17027
17028 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
17029 before passing it to mark_object.
17030
17031 * xfaces.c (internal_resolve_face_name): Return a value.
17032 (internal_resolve_face_name, resolve_face_name_error): Comment out.
17033
17034 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
17035 (x_icon): Comment-out var only used in commented-out code.
17036
170372007-08-29 Romain Francoise <romain@orebokech.com>
17038
17039 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
17040 QUIT hasn't been provided.
17041
170422007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
17043
17044 * callproc.c (child_setup, getenv_internal): Use the
17045 display-environment-variable and term-environment-variable frame params.
17046 (set_initial_environment): Initialise Vprocess_environment.
17047
17048 * config.in: Disable multi-keyboard support on a mac.
17049
17050 * frame.c (Qterm_environment_variable)
17051 (Qdisplay_environment_variable): New variables.
17052 (syms_of_frame): Intern and staticpro them.
17053 (Fmake_terminal_frame): Disable output method test.
17054
17055 * frame.h: Declare them here.
17056
17057 * macfns.c (x_set_mouse_color): Get rif from the frame.
17058 (x_set_tool_bar_lines): Don't use updating_frame.
17059 (mac_window): Add 2 new parameters for consistency with other systems.
17060 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
17061 frame parameters following what is done in X11 and w32. Don't use
17062 FRAME_MAC_DISPLAY_INFO.
17063 (Fx_open_connection, start_hourglass): Remove window-system check.
17064 (x_create_tip_frame): Get the keyboard from the terminal.
17065
17066 * macmenu.c: Reorder includes.
17067 (Fx_popup_menu): Use terminal specific mouse_position_hook.
17068
17069 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
17070 terminal parameter.
17071 (x_clear_frame): Add a frame parameter.
17072 (note_mouse_movement): Get rif from the frame.
17073 (mac_term_init): Initialize the terminal.
17074 (mac_initialize): Make static and move terminal initialization ...
17075 (mac_create_terminal): ... to this new function.
17076
17077 * macterm.h (struct mac_display_info): Add terminal.
17078 (mac_initialize): Delete declaration.
17079
17080 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
17081
17082 * sysdep.c: Comment out text after #endif.
17083
17084 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
17085 is defined. Better initialize ttys in windows. Use terminal
17086 specific mouse_position_hook.
17087
17088 * termhooks.h (union display_info): Add mac_display_info.
17089
17090 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
17091 Set the default minibuffer frame, window_system and the rest of the
17092 frame parameters following what is done in X11.
17093
17094 * w32term.c (w32_initialize): Make static.
17095
17096 * xselect.c (x_handle_selection_clear): Only access
17097 terminal->kboard when MULTI_KBOARD is defined.
17098
17099 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
17100 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
17101
171022007-08-29 Jason Rumney <jasonr@gnu.org>
17103
17104 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
17105 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
17106
17107 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
17108 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
17109
17110 * keyboard.c (restore_kboard_configuration): Only define when
17111 MULTI_KBOARD defined.
17112
17113 * makefile.w32-in: Update dependancies from Makefile.in.
17114 (OBJ1): Add terminal.$(O)
17115
17116 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
17117 Don't define function body.
17118 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
17119
17120 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
17121
17122 * w32.c (request_sigio, unrequest_sigio): Remove.
17123
17124 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
17125 (w32con_clear_frame, w32con_clear_end_of_line)
17126 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
17127 (w32con_delete_glyphs, w32con_set_terminal_window)
17128 (scroll_line, w32_sys_ring_bell): Add frame arg.
17129 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
17130 Add terminal arg.
17131 (PICK_FRAME): Remove.
17132 (w32con_write_glyphs): Use frame specific terminal coding.
17133 (one_and_only_w32cons): New global variable.
17134 (initialize_w32_display): Use it for storing hooks.
17135 (create_w32cons_output): New function.
17136
17137 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
17138 arg a frame.
17139
17140 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
17141 Set window_system.
17142 (x_set_tool_bar_lines): Don't use updating_frame.
17143 (Fx_create_frame): Set terminal and ref count.
17144 (Fx_open_connection): Remove window-system check.
17145
17146 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
17147
17148 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
17149 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
17150 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
17151 Add frame arg.
17152 (x_delete_terminal, w32_create_terminal): New functions.
17153 (w32_term_init): Create a terminal.
17154 (w32_initialize): Move terminal specific initialization to
17155 w32_create_terminal.
17156
17157 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
17158 (w32_clear_rect, w32_clear_area): Use background from frame.
17159 (w32_display_info): Add terminal.
17160 (w32_sys_ring_bell, x_delete_display): Declare here.
17161
17162 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
17163
17164 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
17165
171662007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
17167
17168 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
17169 Fix get_named_tty calls for the controlling tty.
17170
171712007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
17172
17173 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
17174
171752007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
17176
17177 * term.c (tty_insert_glyphs): Add missing first parameter.
17178
171792007-08-29 Károly Lőrentey <karoly@lorentey.hu>
17180
17181 * buffer.c (Fbuffer_list, Fbury_buffer):
17182 Take frame->buried_buffer_list into account.
17183
17184 * cm.c (current_tty): New variable, for cmputc().
17185 (cmputc): Use it.
17186 (cmcheckmagic): Add tty parameter, look up terminal streams there.
17187 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
17188 (cmgoto): Add tty parameter. Pass it on to calccost().
17189 Use emacs_tputs() instead of tputs().
17190
17191 * cm.h (emacs_tputs): New macro to set current_tty, and then call
17192 tputs().
17193 (current_tty): New variable, for cmputc().
17194 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
17195
17196 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
17197 (internal_condition_case, internal_condition_case_1)
17198 (internal_condition_case_2): Don't abort when x_catching_errors.
17199
17200 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
17201 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
17202 prevent crashes caused by bogus longjmps in read_char.
17203
17204 * keymap.h (Fset_keymap_parent): Add EXFUN.
17205
17206 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
17207 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17208 Remove redundant definition.
17209
17210 * macfns.c (x_set_mouse_color, x_make_gc):
17211 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17212
17213 * w32term.c (x_free_frame_resources):
17214 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17215 (w32_initialize): Use the accessor macros for terminal characteristics.
17216
17217 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
17218 Use the accessor macros for terminal characteristics.
17219 * msdos.c (internal_terminal_init): Use the accessor macros for
17220 terminal characteristics.
17221 (ScreenVisualBell, internal_terminal_init):
17222 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17223
17224 * termopts.h (no_redraw_on_reenter): Declare.
17225
17226 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
17227 (mark_terminals, mark_ttys): Declare.
17228 (Fgarbage_collect): Call them.
17229 (mark_object): Mark buried_buffer_list.
17230
17231 * prefix-args.c: Include stdlib.h for exit.
17232
17233 * syssignal.h: Add comment.
17234
17235 * indent.c: Include stdio.h.
17236
17237 * window.h (Vinitial_window_system): Declare.
17238 (Vwindow_system): Delete declaration.
17239
17240 * fontset.c (Finternal_char_font): Use FRAME_RIF.
17241
17242 * image.c (lookup_image): Don't initialize `c' until the xasserts
17243 have been run.
17244
17245 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
17246 FRAME_FOREGROUND_PIXEL.
17247
17248 * print.c (print_preprocess): Don't lose print_depth levels while
17249 iterating.
17250
17251 * widget.c (update_from_various_frame_slots):
17252 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17253
17254 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
17255 frames.
17256 (window_internal_height): Remove bogus make_number call.
17257 (init_window_once): Call make_terminal_frame with two zero parameters.
17258
17259 * fileio.c (Fread_file_name): Update comment.
17260
17261 * callint.c (Fcall_interactively):
17262 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
17263 Make sure it is correctly unwound.
17264
17265 * xsmfns.c (x_session_close): New function.
17266
17267 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
17268 Delete declarations.
17269
17270 * xterm.h: Remove declaration for x_fully_uncatch_errors.
17271 (x_output): Remove background_pixel and foreground_pixel fields.
17272 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
17273 (x_delete_device, x_session_close): Declare.
17274
17275 * lread.c: Include setjmp.h. Update declaration of `read_char'.
17276 (read_filtered_event): Call `read_char' with a local
17277 `wrong_kboard_jmpbuf'.
17278
17279 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
17280 Don't call single_kboard_state. Use FRAME_RIF.
17281
17282 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
17283 systems.
17284
17285 * lisp.h (set_process_environment): Rename to `set_global_environment'.
17286 (Fframe_with_environment, Fset_input_meta_mode)
17287 (Fset_quit_char): EXFUN.
17288 (x_create_device, tty_output, terminal, tty_display_info): Declare.
17289 (init_sys_modes, reset_sys_modes): Update prototypes.
17290 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
17291
17292 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
17293 Vlocal_key_translation_map, and Vkeyboard_translate_table.
17294 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
17295 Delete declarations.
17296 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
17297 (temporarily_switch_to_single_kboard, tty_read_avail_input):
17298 New declarations.
17299
17300 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
17301 already does that during init_display(). Call syms_of_keymap
17302 before syms_of_keyboard. Call `syms_of_terminal'.
17303 Call set_initial_environment, not set_process_environment.
17304 (shut_down_emacs): Call reset_all_sys_modes() instead of
17305 reset_sys_modes().
17306
17307 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
17308 (internal_resolve_face_name, resolve_face_name_error): New functions.
17309 (resolve_face_name): Protect against loops and errors thrown by Fget.
17310 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
17311 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
17312
17313 * scroll.c: Replace CURTTY() with local variables throughout the
17314 file (where applicable).
17315 (calculate_scrolling, calculate_direct_scrolling)
17316 (scrolling_1, scroll_cost): Use the accessor macros for terminal
17317 characteristics.
17318
17319 * keymap.c (Vfunction_key_map): Remove.
17320 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
17321 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
17322 (Vkey_translation_map): Remove.
17323 (syms_of_keymap): Remove DEFVAR for key-translation-map.
17324 (Fdescribe_buffer_bindings)
17325 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
17326 Update for terminal-local key-translation-map.
17327
17328 * Makefile.in (callproc.o): Update dependencies.
17329 (lisp, shortlisp): Add termdev.elc.
17330 (obj): Add terminal.o.
17331 (terminal.o): Add dependencies.
17332 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
17333 (data.o, fns.o): Add termhooks.h dependency.
17334 (SOME_MACHINE_LISP): Add dnd.elc.
17335 (minibuf.o): Fix typo.
17336 Update dependencies.
17337
17338 * data.c (do_symval_forwarding, store_symval_forwarding)
17339 (find_symbol_value): Use the selected frame's keyboard, not
17340 current_kboard.
17341
17342 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
17343 Vwindow_system.
17344
17345 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
17346 Fmenu_bar_open.
17347 (syms_of_xmenu): Update defsubr.
17348 (mouse_position_for_popup, Fx_popup_menu)
17349 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
17350 (set_frame_menubar, free_frame_menubar)
b97439ce 17351 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
17352 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
17353 an X frame.
17354
17355 * xselect.c (x_own_selection): Abort if not an X frame.
17356 (some_frame_on_display): Check if it is an X frame.
17357 (x_handle_selection_clear): Deal with MULTI_KBOARD.
17358
17359 * coding.c: Include frame.h and termhooks.h.
17360 (terminal_coding, keyboard_coding): Delete.
17361 (Fset_terminal_coding_system_internal)
17362 (Fset_keyboard_coding_system_internal)
17363 (Fkeyboard_coding_system)
17364 (Fterminal_coding_system): Add a terminal parameter.
17365 Get terminal_coding from the terminal.
17366 (init_coding_once): Don't call setup_coding_system here.
17367
17368 * dispextern.h (set_scroll_region, turn_off_insert)
17369 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
17370 (tty_clear_end_of_line, tty_setup_colors)
17371 (delete_tty, updating_frame)
17372 (produce_special_glyphs, produce_glyphs, write_glyphs)
17373 (insert_glyphs): Remove.
17374 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
17375 (tty_turn_off_highlight, get_tty_size): Add declaration.
17376 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
17377
17378 * frame.h (enum output_method): Add output_initial.
17379 (struct x_output): Delete.
17380 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17381 Access foreground_pixel and background_pixel directly from the frame.
17382 (tty_display): Delete.
17383 (struct frame): Add buried_buffer_list, foreground_pixel,
17384 background_pixel and terminal. Delete kboard.
17385 (union output_data): Add tty.
17386 (FRAME_KBOARD): Get the kboard from the terminal.
17387 (FRAME_INITIAL_P): New macro.
17388 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
17389 (Qterm_environment_variable, Qdisplay_environment_variable)
17390 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
17391 New declarations.
17392
17393 * termchar.h (tty_output, tty_display_info): New structures.
17394 (tty_list): Declare.
17395 (FRAME_TTY, CURTTY): New macros.
17396 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
17397 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
17398 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
17399 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
17400
17401 * callproc.c: Include frame.h and termhooks.h, for terminal
17402 parameters.
17403 (add_env): New function.
17404 (child_setup): Use it.
17405 (child_setup, getenv_internal): Handle the new Vprocess_environment.
17406 (getenv_internal): Fix get_terminal_param call.
17407 (Fgetenv_internal, egetenv): Update doc.
17408 (syms_of_callproc): Initialize Vprocess_environment to nil.
17409 Register and initialize them. Remove obsolete defvars. Update doc
17410 strings.
17411 (child_setup): Handle Vlocal_environment_variables.
17412 (getenv_internal): Add terminal parameter.
17413 Handle Vlocal_environment_variables.
17414 (Fgetenv_internal): Add terminal parameter.
17415 (child_setup, getenv_internal, Fgetenv_internal): Store the local
17416 environment in a frame (not terminal) parameter. Update doc strings.
17417 (set_initial_environment): Rename from set_global_environment.
17418 Store Emacs environment in initial frame parameter.
17419
17420 * xdisp.c (redisplay_internal): Update references to
17421 `previous_terminal_frame'.
17422 (display_mode_line, Fformat_mode_line): Replace calls to
17423 `push_frame_kboard' with `push_kboard'.
17424 (get_glyph_string_clip_rects): Add extra parentheses and
17425 braces to prevent compiler warnings.
17426 (calc_pixel_width_or_height): Add xassert to check that the
17427 frame is alive. Don't call `lookup_image' on a termcap frame.
17428 (message2_nolog, message3_nolog, redisplay_internal)
17429 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
17430 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
17431 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
17432 (Fx_display_pixel_width, Fx_display_pixel_height)
17433 (Fx_display_planes, Fx_display_color_cells)
17434 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
17435 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
17436 (Fx_display_backing_store, Fx_display_visual_class)
17437 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
17438 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
17439
17440 * xfns.c (x_set_foreground_color x_set_background_color)
17441 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
17442 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17443 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
17444 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
17445 terminal that is being deleted.
17446 (Fx_create_frame): Use `store_frame_param' to set `window-system'
17447 frame parameter, and make sure it overrides any user-supplied setting.
17448 (Fx_close_connection, Fx_synchronize): Unify argument names with
17449 the rest of the DEFUNs.
17450
17451 * dispnew.c (Fsend_string_to_terminal): Update call to
17452 `get_tty_terminal'.
17453 (Fredraw_frame, Fsend_string_to_terminal)
17454 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
17455 FRAME_TERMCAP_P and FRAME_TTY.
17456 (window_change_signal): Don't believe width/height values that are
17457 impossibly small.
17458 (Vinitial_window_system): Rename from Vwindow_system.
17459 (termscript, Wcm, rif): Delete.
17460
17461 * termhooks.h (struct terminal): New struct containing the
17462 previously global text display hooks and new members NAME,
17463 DELETED and PARAM_ALIST.
17464 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
17465 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
17466 (FRAME_RIF): New macros.
17467 (get_terminal_param, get_device): New declarations.
17468 (termscript): Delete declaration.
17469
17470 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
17471 (XTflash, x_free_frame_resources, x_scroll_bar_create)
17472 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
17473 FRAME_FOREGROUND_PIXEL.
17474 (x_fully_uncatch_errors): Disable definition.
17475 (x_scroll_bar_expose): Fix reference to foreground pixel.
17476 (XTread_socket): Disable loop on all X displays.
17477 (x_delete_terminal): Don't set terminal->deleted and let
17478 delete_terminal delete the frames on the terminal.
17479 (x_delete_display): Doc update to reflect changes in
17480 delete_terminal.
17481 (x_display_info) <terminal>: Move member earlier in the struct.
17482 (deleting_tty): Remove old variable.
17483 (Fsuspend_tty): Call clear_tty_hooks.
17484 (Fresume_tty, init_tty): Call set_tty_hooks.
17485 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
17486 errors on X frames.
17487 (x_catch_errors_unwind): Abort if x_error_message is NULL.
17488 (handle_one_xevent): Initialize `f' to NULL.
17489 (x_delete_terminal, x_create_terminal): New functions.
17490 (XTset_terminal_modes, XTreset_terminal_modes)
17491 (XTread_socket, x_connection_closed, x_term_init)
17492 (x_term_init, x_delete_display): Add terminal parameter.
17493 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
17494 X connections.
17495
17496 * frame.c: Include termchar.h.
17497 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
17498 (Qwindow_system, Qenvironment, Qterm_environment_variable)
17499 (Qdisplay_environment_variable): New vars.
17500 (Fframep): Deal with output_initial.
17501 (Fframe-live-p): Doc fix.
17502 (Fwindow-system): New function.
17503 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
17504 (make_terminal_frame): Don't create frames on a terminal that is
17505 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17506 (store_frame_param): Check for found_for_frame before calling XFRAME.
17507 (Fmake_terminal_frame): Handle NULL tty names correctly.
17508 (syms_of_frame): Enhance doc string of `default-frame-alist'.
17509 (Fdelete_frame): Remove unused variable `count'. Don't allow other
17510 frames to refer to a deleted frame in their 'environment parameter.
17511 (Fframe_with_environment): New function.
17512 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
17513 (get_future_frame_param): New function.
17514 (Fmake_terminal_frame): Use it.
17515 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
17516
17517 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
17518 * sysdep.c (reset_sys_modes): Update for renames.
17519
17520 * keyboard.c (tty_read_avail_input): New function.
17521 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
17522 (syms_of_keyboard): Defsubr them.
17523 (Fset_input_meta_mode, Fset_quit_char): New functions.
17524 (Fset_input_mode): Split to above functions.
17525 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
17526 parameter. Use it in call to `read_char'.
17527 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
17528 Set wrong_kboard_jmpbuf correctly in recursive calls.
17529 Use current_kboard to access Vkeyboard_translate_table.
17530 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
17531 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
17532 Update longjmp invocations. Remember the original current_kboard,
17533 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
17534 changes it. Comment out unnecessary calls to
17535 `record_single_kboard_state' and `any_kboard_state'.
17536 Update recursive calls.
17537 (wrong_kboard_jmpbuf): Remove global variable.
17538 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
17539 Handle deleted interrupted_kboards correctly; that is a legal
17540 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
17541 and read_char calls. Abort if interrupted_kboard died in read_char.
17542 (any_kboard_state, single_kboard_state)
17543 (push_frame_kboard): Remove function.
17544 (pop_kboard): Switch out of single_kboard mode if the kboard has
17545 been deleted. Remove unused variable. Help debugging by not
17546 changing current_kboard unnecessarily. Set current_kboard to the
17547 kboard of the selected frame when the stored kboard object has
17548 been deleted before pop_kboard.
17549 (temporarily_switch_to_single_kboard): Change first parameter to a
17550 frame pointer. Throw an error when caller wants to change kboards
17551 while in single_kboard mode. Don't push_kboard if we weren't in
17552 single kboard state. Don't pop_kboard if we popped into any
17553 kboard state.
17554 (restore_kboard_configuration): Abort if pop_kboard changed the
17555 kboard in single_kboard mode. Call pop_kboard only after setting
17556 up single_kboard mode.
17557 (Frecursive_edit): Switch to single_kboard mode only in nested
17558 command loops.
17559 (cmd_error, command_loop, command_loop_1, timer_check):
17560 Comment out unnecessary call to `any_kboard_state' and
17561 `record_single_kboard_state'.
17562 (delete_kboard): Exit single_kboard mode if we have just deleted
17563 that kboard. Use FRAME_KBOARD.
17564 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
17565 `fatal_error_signal'.
17566 (record_single_kboard_state): Don't push_kboard if we weren't in
17567 single kboard state. Don't pop_kboard if we popped into any
17568 kboard state.
17569 (push_frame_kboard): Rename to push_kboard.
17570 (kbd_buffer_get_event): Use FRAME_TERMINAL.
17571 (read_avail_input): Read input from all terminals.
17572 (mark_kboards): Also mark Vkeyboard_translate_table.
17573 (kbd_buffer_store_event_hold): Simplify condition.
17574 (read_key_sequence): Reinitialize fkey and keytran at each replay.
17575 (Vkeyboard_translate_table): Move to struct kboard.
17576 (init_kboard): Initialize Vkeyboard_translate_table.
17577 (syms_of_keyboard): Use DEFVAR_KBOARD to define
17578 Vkeyboard_translate_table. Update doc strings. Update docs of
17579 local-function-key-map and function-key-map.
17580
17581 * terminal.c: New file.
17582
17583 * term.c: Include errno.h.
17584 (Vring_bell_function, device_list, initial_device)
17585 (next_device_id, ring_bell, update_begin, update_end)
17586 (set_terminal_window, cursor_to, raw_cursor_to)
17587 (clear_to_end, clear_frame, clear_end_of_line)
17588 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
17589 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
17590 (syms_of_term): Move their initialization to terminal.c.
17591 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
17592 (Ftty_display_color_cells)
17593 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
17594 (clear_tty_hooks, set_tty_hooks)
17595 (init_tty, maybe_fatal): New functions.
17596 (Ftty_type): Return nil if terminal is not on a tty instead of
17597 throwing an error. Doc update.
17598 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
17599 Doc update. Initialize new subrs and variables.
17600 (delete_tty): Use terminal->deleted.
17601 (tty_set_terminal_modes): Rename from set_terminal_modes.
17602 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
17603 (set_scroll_region): Rename to `tty_set_scroll_region'.
17604 (turn_on_insert): Rename to `tty_turn_on_insert'.
17605 (turn_off_insert): Rename to `tty_turn_off_insert'.
17606 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
17607 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
17608 (toggle_highligh): Rename to `tty_toggle_highlight'.
17609 (background_highlight): Rename to `tty_background_highlight'.
17610 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
17611 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
17612 (tty_set_scroll_region, tty_background_highlight)
17613 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
17614 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
17615 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
17616 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
17617 Add static modifier.
17618 (tty_reset_terminal_modes, tty_set_terminal_window)
17619 (tty_set_scroll_region, tty_background_highlight)
17620 (tty_highlight_if_desired, tty_cursor_to)
17621 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
17622 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
17623 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
17624 renames.
17625
176262007-08-28 Jan Djärv <jan.h.d@swipnet.se>
17627
17628 * keyboard.c: Qrtl is new.
17629 (parse_tool_bar_item): Handle :rtl keyword.
17630 (syms_of_keyboard): Intern :rtl keyword.
17631
17632 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
17633
17634 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
17635 so no Lisp code is executed.
17636 (file_for_image, find_rtl_image): New functions.
17637 (xg_get_image_for_pixmap): Use file_for_image.
17638 (update_frame_tool_bar): If direction is RTL, use RTL image if
17639 defined. Use Gtk stock images if defined.
17640
176412007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17642
17643 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
17644 for nonexistent or zero-width glyph in composition glyph.
17645
176462007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
17647
17648 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
17649
17650 * xdisp.c (Finvisible_p): New function.
17651 (syms_of_xdisp): defsubr it.
17652
176532007-08-24 Juanma Barranquero <lekktu@gmail.com>
17654
17655 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
17656 Doc fixes.
17657
176582007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17659
17660 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
17661
176622007-08-24 Martin Rudalics <rudalics@gmx.at>
17663
17664 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
17665 whether decoding has modified buffer contents.
17666
176672007-08-24 Jason Rumney <jasonr@gnu.org>
17668
17669 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
17670 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
17671 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
17672 (init_svg_functions) [HAVE_NTGUI]: New function.
17673 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
17674 (svg_load_image): Use them.
17675 (svg_load_image) [HAVE_NTGUI]: Implement background.
17676
176772007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17678
17679 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
17680 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
17681 (LIBX): Remove @RSVG_LIBS@.
17682 (LIBES): Add $(RSVG_LIBS).
17683
17684 * image.c (svg_load_image): Blend with specified background if exists.
17685 Use IMAGE_BACKGROUND. Add Mac OS Support.
17686
17687 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
17688 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
17689 Remove macros.
17690 [MAC_OSX] (socket_callback): Do nothing.
17691 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
17692 ReceiveNextEvent.
17693 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
17694 socket_callback.
17695 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
17696
176972007-08-22 Glenn Morris <rgm@gnu.org>
17698
17699 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
17700
177012007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
17702
17703 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
17704
17705 * image.c: Add support for SVG images. Some additional comments
17706 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
17707 (svg_image_p): New function to test for SVG image.
17708 (svg_load): New function to load SVG image.
17709 (svg_load_image): New function, helper for svg_load.
17710 (Qsvg): New Lisp_object.
17711 (svg_keyword_index): New enum.
17712 (svg_format): New static `image_keyword' struct.
17713 (svg_type): New static `image_type' struct.
17714 (librsvg/rsvg.h): Include it.
17715
177162007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
17717
17718 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17719
177202007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17721
17722 * lread.c (Qold_style_backquotes): New var.
17723 (syms_of_lread): Init and staticpro it.
17724 (load_warn_old_style_backquotes): New fun.
17725 (Fload): Use them to warn about old style backquotes.
17726 (end_of_file_error, Fload): Remove unused vars.
17727
17728 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17729
17730 * lread.c (Vold_style_backquotes): New var.
17731 (syms_of_lread): Init and export it to Elisp.
17732 (read1): Set it when we find an old-style (back)quote.
17733
177342007-08-22 Jason Rumney <jasonr@gnu.org>
17735
17736 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17737
177382007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17739
17740 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17741
177422007-08-19 Richard Stallman <rms@gnu.org>
17743
17744 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17745
177462007-08-19 Andreas Schwab <schwab@suse.de>
17747
17748 * alloc.c (pure): Round PURESIZE up.
17749
177502007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17751
17752 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17753 active frame.
17754
177552007-08-16 Richard Stallman <rms@gnu.org>
17756
17757 * eval.c (Fcommandp): Add parens to clarify.
17758
17759 * minibuf.c (Fall_completions): Use enum for type of table.
17760
17761 * emacs.c (USAGE2): Improve text.
17762
177632007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17764
17765 * term.c (tty_default_color_capabilities): Declare static
17766 variables in file scope, to avoid HPUX compiler problem.
17767
177682007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17769
17770 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17771 to gtk_toolbar_insert.
17772
177732007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17774
17775 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17776
17777 * insdel.c (reset_var_on_error): New fun.
17778 (signal_before_change, signal_after_change):
17779 Use it to reset (after|before)-change-functions to nil in case of error.
17780 Bind inhibit-modification-hooks to t.
17781 Don't bind (after|before)-change-functions to nil while they run.
17782
177832007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17784
17785 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17786 filling pixmap with stippled background.
17787
177882007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17789
17790 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17791 Don't use invisible frame as parent window for repositioning.
17792
177932007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17794
17795 * print.c (new_backquote_output): Rename from old_backquote_output.
17796 (print): Inverse its logic (according to its name) so as to match the
17797 behavior of new_backquote_flag in lread.c.
17798
177992007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17800
17801 * gmalloc.c (posix_memalign): New function.
17802
17803 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17804 ActivateControl/DeactivateControl here.
17805 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17806 frame-notice-user-settings is non-nil.
17807 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17808 for kEventParamFMFontStyle.
17809 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17810 mac_pass_command_to_system and mac_pass_control_to_system here.
17811 (XTread_socket): Call ActivateControl/DeactivateControl here.
17812 (XTread_socket) [TARGET_API_MAC_CARBON]:
17813 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17814 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17815 for window repositioning.
17816
178172007-08-08 Glenn Morris <rgm@gnu.org>
17818
17819 * Replace `iff' in doc-strings and comments.
17820
178212007-08-07 Chong Yidong <cyd@stupidchicken.com>
17822
17823 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
17824
178252007-08-07 Martin Rudalics <rudalics@gmx.at>
17826
17827 * fileio.c (Finsert_file_contents): Run format-decode and
17828 after_insert_file_functions on entire buffer when REPLACE is
17829 non-nil and inhibit modification_hooks and point_motion_hooks.
17830 For consistency, run after_insert_file_functions iff something
17831 got inserted. Move signal_after_change and update_compositions
17832 after code running after_insert_file_functions. Make sure that
17833 undo_list doesn't record intermediate steps of the decoding process.
17834
178352007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17836
17837 * emacs.c (main)
17838 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
17839 Call malloc_enable_thread on interactive startup.
17840
17841 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
17842 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
17843 [USE_PTHREAD]: Conditionalize with it.
17844 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
17845 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
17846 New functions.
17847
178482007-08-06 Chong Yidong <cyd@stupidchicken.com>
17849
17850 * xdisp.c (redisplay_window): When restoring original buffer
17851 position, make sure it is still valid.
17852
17853 * image.c (png_load): Ignore png-supplied background color.
17854
178552007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17856
17857 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
17858 Use kCFAbsoluteTimeIntervalSince1970.
17859
17860 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
17861 New variable.
17862 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
17863 event loop should be quit.
17864 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
17865 Quit dialog event loop if quit_dialog_event_loop is set.
17866
17867 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
17868 (Selection): New typedef. Use instead of ScrapRef.
17869 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
17870 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
17871 (mac_clear_selection): Rename from clear_scrap.
17872 (get_flavor_type_from_symbol): New argument SEL and subsume function of
17873 scrap_has_target_type. All uses changed.
17874 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
17875 (mac_selection_has_target_p): New functions.
17876 (mac_put_selection_value): Rename from put_scrap_string.
17877 (mac_get_selection_value): Rename from get_scrap_string.
17878 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
17879 (put_scrap_private_timestamp, scrap_has_target_type)
17880 (get_scrap_private_timestamp): Remove functions.
17881 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
17882 (x_own_selection, x_get_local_selection):
17883 Use mac_valid_selection_value_p.
17884 (x_own_selection): Don't use put_scrap_private_timestamp.
17885 Record OWNERSHIP-INFO into Vselection_alist instead.
17886 (x_get_local_selection): Don't check type if request is local.
17887 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
17888 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
17889
178902007-08-04 Jan Djärv <jan.h.d@swipnet.se>
17891
17892 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
17893 add comment explaining why.
17894
178952007-08-03 Richard Stallman <rms@gnu.org>
17896
17897 * fileio.c (Fvisited_file_modtime): Use make_time.
17898
178992007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
17900
17901 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
17902 build.
17903
179042007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
17905
17906 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
17907
179082007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
17909
17910 * puresize.h (BASE_PURESIZE): Increase to 1130000.
17911
179122007-07-30 Richard Stallman <rms@gnu.org>
17913
17914 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
17915
179162007-07-29 Jan Djärv <jan.h.d@swipnet.se>
17917
17918 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
17919
179202007-07-28 Nick Roberts <nickrob@snap.net.nz>
17921
17922 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
17923 remote default-directory.
17924
17925 * buffer.c (mode-line-format): Update doc string.
17926
179272007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17928
17929 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
17930 scroll bar gap.
17931 (x_scroll_bar_create): Set bar->fringe_extended_p.
17932 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
17933 on frame edge. Check fringe background extension. Don't clear
17934 extended fringe background area.
17935
17936 * w32term.h (struct scroll_bar): New member fringe_extended_p.
17937 (w32_fill_area): Enclose multiple statements with do ... while (0).
17938
17939 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
17940 Extend fringe background to scroll bar gap.
17941 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
17942 Set bar->fringe_extended_p.
17943 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17944 Put leftmost/rightmost scroll bars on frame edge. Check fringe
17945 background extension. Don't clear extended fringe background area.
17946
17947 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17948 New member fringe_extended_p.
17949
179502007-07-25 Glenn Morris <rgm@gnu.org>
17951
17952 * Relicense all FSF files to GPLv3 or later.
17953
17954 * COPYING: Switch to GPLv3.
17955
179562007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
17957
17958 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
17959
17960 * data.c (Finteractive_form): Check for the presence of an
17961 `interactive-form' symbol property more thoroughly.
17962
17963 * data.c (Finteractive_form): Use an `interactive-form' property if
17964 present, analogous to the function-documentation property.
17965
179662007-07-24 Jason Rumney <jasonr@gnu.org>
17967
17968 * w32fns.c (x_real_positions): Get real position from OS instead of
17969 calculating it.
17970
179712007-07-23 Jason Rumney <jasonr@gnu.org>
17972
17973 * filelock.c (current_lock_owner): Allow for @ sign in username.
17974
179752007-07-22 Nick Roberts <nickrob@snap.net.nz>
17976
17977 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
17978 remote default-directory.
17979
17980 * buffer.c (mode-line-format): Describe above case in doc string.
17981
179822007-07-20 Eli Zaretskii <eliz@gnu.org>
17983
17984 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
17985 Define if not defined.
17986
179872007-07-18 Jason Rumney <jasonr@gnu.org>
17988
17989 * w32proc.c (w32_executable_type): Handle 64 bit executables.
17990
179912007-07-18 Richard Stallman <rms@gnu.org>
17992
17993 * data.c (Fsetq_default): Doc fix.
17994
17995 * eval.c (Fsetq): Doc fix.
17996
179972007-07-18 Juanma Barranquero <lekktu@gmail.com>
17998
17999 * coding.c (Ffind_operation_coding_system):
18000 * eval.c (For, Fand): Doc fixes.
18001 Reported by Johan Bockgård.
18002
180032007-07-18 Jan Djärv <jan.h.d@swipnet.se>
18004
18005 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
18006
18007 * xterm.h: Declare x_ewmh_activate_frame.
18008
18009 * xterm.c (x_ewmh_activate_frame): New function.
18010 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
18011
180122007-07-17 Martin Rudalics <rudalics@gmx.at>
18013
18014 * window.c (Fdisplay_buffer): If largest or LRU window is the
18015 only window, split it even if it is not eligible for splitting.
18016 This restores the original behavior broken by the 2007-07-15
18017 change.
18018
180192007-07-17 Glenn Morris <rgm@gnu.org>
18020
18021 * abbrev.c (abbrev_check_chars): New function.
18022 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
18023 Call abbrev_check_chars to check abbrev characters are word
18024 constituents. Doc fix.
18025
180262007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
18027
18028 * process.c (Fstart_process, Fmake_network_process)
18029 (read_process_output): Fix up last changes.
18030
180312007-07-16 Eli Zaretskii <eliz@gnu.org>
18032
18033 * makefile.w32-in (clean): Don't delete *~.
18034
180352007-07-16 Andreas Schwab <schwab@suse.de>
18036
18037 * window.c (Fdisplay_buffer): Use NILP.
18038 (Fset_window_scroll_bars): Likewise.
18039
180402007-07-15 Martin Rudalics <rudalics@gmx.at>
18041
18042 * window.c (window_min_size_2): New function.
18043 (window_min_size_1, size_window, Fdisplay_buffer)
18044 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
18045 windows without mode- or header-lines when window-min-height is
18046 too small.
18047 (size_window): Reset nodelete_p after testing it, following an
18048 earlier note by Kim F. Storm.
18049 (display_buffer): Do not set split_height_threshold to twice the
18050 value of window_min_height to avoid changing the value of a
18051 customizable variable. Rather explicitly check whether the
18052 height of the window that shall be splitted is at least as large
18053 as split_height_threshold.
18054 (Fwindow_full_width_p): New defun.
18055 (syms_of_window): Defsubr it.
18056
18057 * window.h: Add EXFUN for Fwindow_full_width_p.
18058
180592007-07-14 Jason Rumney <jasonr@gnu.org>
18060
18061 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
18062
180632007-07-14 Richard Stallman <rms@gnu.org>
18064
18065 * eval.c (maybe_call_debugger): New function.
18066 (find_handler_clause): Use maybe_call_debugger.
18067 Call it when the handler says `debug'.
18068 Eliminate DEBUGGER_VALUE_PTR.
18069 (Fsignal): Eliminate debugger_value.
18070 (Qdebug): New variable.
18071 (syms_of_eval): Initialize it.
18072
180732007-07-14 Juanma Barranquero <lekktu@gmail.com>
18074
18075 * eval.c (Fprogn):
18076 * keyboard.c (Ftrack_mouse):
18077 * print.c (Fwith_output_to_temp_buffer):
18078 * window.c (Fsave_window_excursion): Doc fix.
18079
180802007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
18081
18082 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
18083
180842007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
18085
18086 * process.h (struct Lisp_Process): Turn slots infd, outfd,
18087 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
18088 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
18089 read_output_delay, and read_output_skip from Lisp_Objects to ints.
18090 Remove unused encoding_carryover.
18091 * process.c: Adjust all functions accordingly.
18092
180932007-07-12 Richard Stallman <rms@gnu.org>
18094
18095 * term.c: Include unistd.h only if HAVE_UNISTD_H.
18096
180972007-07-11 Jason Rumney <jasonr@gnu.org>
18098
18099 * makefile.w32-in (LIBS): Include OLE32.
18100
18101 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
18102 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
18103
181042007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
18105
18106 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
18107 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
18108 from a Lisp_Object into a bare pointer.
18109 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
18110 Adjust the code correspondingly.
18111
18112 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
18113
18114 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
18115 (term_show_mouse_face): Remove unused var `j'.
18116 (handle_one_term_event): Remove unused vars `i' and `j'.
18117 Don't cast return value of ttyname since it's not necessary.
18118
181192007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
18120
18121 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
18122 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
18123
18124 * fns.c (map_char_table): Use an array of int for `indices' rather than
18125 an array of Lisp_Objects (which are only ever integers anyway).
18126 (Fmap_char_table): Update caller.
18127 * lisp.h: Update prototype.
18128 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
18129 * fontset.c (Ffontset_info):
18130 * casetab.c (set_case_table): Update callers.
18131
18132 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
18133
18134 * keymap.c (struct accessible_keymaps_data)
18135 (struct where_is_internal_data): New structures.
18136 (accessible_keymaps_1, where_is_internal_1): Use them to change
18137 interface to adhere to the one used by map_keymap.
18138 (Faccessible_keymaps, where_is_internal): Use map_keymap.
18139 (accessible_keymaps_char_table, where_is_internal_2): Remove.
18140
18141 * keymap.h (map_keymap_function_t): More informative prototype.
18142
181432007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
18144
18145 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
18146 (looking_at_1): Don't change search_regs and last_thing_searched
18147 if `inhibit-changing-match-data' is non-nil.
18148 (string_match_1, search_buffer, set_search_regs): Likewise.
18149 (syms_of_search): Add Lisp level definition for
18150 `inhibit-changing-match-data' and set it to nil.
18151 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
18152 start and end of the match, instead of using values in search_regs.
18153
181542007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
18155
18156 * minibuf.c (Fcompleting_read): New value `confirm-only'
18157 for `require-match'.
18158
181592007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
18160
18161 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
18162 part of the 2007-06-27 change to syms_of_fileio.
18163
181642007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18165
18166 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
18167 Check WINDOWP before using XWINDOW. Consolidate return statements.
18168
181692007-06-27 Richard Stallman <rms@gnu.org>
18170
18171 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
18172
181732007-06-27 Juanma Barranquero <lekktu@gmail.com>
18174
18175 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
18176
181772007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18178
18179 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
18180 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
18181 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
18182 (_free_internal, memalign): Use them.
18183 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
18184 Initialize to PTHREAD_MUTEX_INITIALIZER.
18185 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
18186 (morecore_nolock): Rename from morecore. All uses changed.
18187 Use only nolock versions of internal allocation functions.
18188 (_malloc_internal_nolock, _realloc_internal_nolock)
18189 (_free_internal_nolock): New functions created from
18190 _malloc_internal, _realloc_internal, and _free_internal.
18191 (_malloc_internal, _realloc_internal, _free_internal): Use them.
18192 Copy hook value to automatic variable before its use.
18193 (memalign): Copy hook value to automatic variable before its use.
18194
181952007-06-26 Kenichi Handa <handa@m17n.org>
18196
18197 * coding.c (Ffind_operation_coding_system): Docstring improved.
18198 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
18199
182002007-06-25 David Kastrup <dak@gnu.org>
18201
18202 * keymap.c (Fcurrent_active_maps): Add `position' argument.
18203 (Fwhere_is_internal): Adjust call to `current-active-maps' to
18204 cater for additional parameter.
18205
18206 * keymap.h: Adjust number of parameters to `current-active-maps'.
18207
18208 * doc.c (Fsubstitute_command_keys): Adjust call of
18209 `current-active-maps'.
18210
182112007-06-25 David Kastrup <dak@gnu.org>
18212
18213 * callint.c (Fcall_interactively): Make the parsing of interactive
18214 specs somewhat more readable.
18215
182162007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18217
18218 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
18219 to scroll bar gap also when bitmap fills fringe. Draw only foreground
18220 if extended background has already been filled.
18221
182222007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18223
18224 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
18225 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
18226
18227 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
18228 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
18229 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
18230 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
18231 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
18232 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
18233 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
18234 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
18235 Run timers during dialog popup.
18236 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
18237
182382007-06-21 Jason Rumney <jasonr@gnu.org>
18239
18240 * image.c (convert_mono_to_color_image): Swap fore and background.
18241
182422007-06-20 Jason Rumney <jasonr@gnu.org>
18243
18244 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
18245 (w32_free_bdf_font): Unmap memory not handle.
18246
182472007-06-20 Sam Steingold <sds@gnu.org>
18248
18249 * gmalloc.c (__morecore): Fix the declaration to comply with the
18250 definition.
18251
182522007-06-20 Juanma Barranquero <lekktu@gmail.com>
18253
18254 * w32term.c (w32_delete_display): Remove leftover declaration.
18255 (w32_define_cursor, w32_initialize): Make static.
18256
18257 * w32.c (_wsa_errlist): Fix typo in error message.
18258 (init_environment): Ignore any environment variable from the
18259 registry having a null value.
18260
182612007-06-20 Glenn Morris <rgm@gnu.org>
18262
18263 * Makefile.in (LIBGIF): Default to -lgif.
18264
182652007-06-17 Jason Rumney <jasonr@gnu.org>
18266
18267 * w32menu.c (add_menu_item): Don't use multibyte string functions on
18268 unicode strings.
18269
182702007-06-16 Juanma Barranquero <lekktu@gmail.com>
18271
18272 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
18273 Fix typo in docstring.
18274
182752007-06-16 Eli Zaretskii <eliz@gnu.org>
18276
18277 * w32menu.c (add_menu_item): Escape `&' characters in menu items
18278 and their keybindings.
18279
182802007-06-15 Chong Yidong <cyd@stupidchicken.com>
18281
18282 * composite.c (update_compositions): Fix last fix.
18283
182842007-06-14 Jason Rumney <jasonr@gnu.org>
18285
18286 * w32.c (get_process_times_fn): New function pointer.
18287 (globals_of_w32): Intialize it if present in kernel32.dll.
18288 (w32_get_internal_run_time): New function.
18289
18290 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
18291
182922007-06-14 Kenichi Handa <handa@etlken.m17n.org>
18293
18294 * composite.c (update_compositions): Check the validness of
18295 compositions.
18296
182972007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18298
18299 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
18300 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
18301
18302 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
18303 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
18304
18305 * macgui.h (USE_MAC_TOOLBAR): New define.
18306
18307 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18308 Return immediately unless popup is activated.
18309
18310 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
18311 background to scroll bar gap.
18312 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
18313 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
18314 scroll bars on frame edge. Check fringe background extension.
18315 Don't clear extended fringe background area.
18316 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
18317 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
18318 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
18319 [USE_MAC_TOOLBAR]: New macros.
18320 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
18321 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
18322 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
18323 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
18324 [USE_MAC_TOOLBAR]: New functions.
18325 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
18326 manually if previous repositioning has failed.
18327 (mac_handle_keyboard_event): Use precomputed event kind.
18328 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
18329 as tool bar item click. Handle mouse movement over tool bar items.
18330
18331 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
18332 toolbar_win_gravity.
18333 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
18334 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
18335 Add externs.
18336
18337 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
18338 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
18339
183402007-06-14 Chong Yidong <cyd@stupidchicken.com>
18341
18342 * image.c (search_image_cache): Remove unused variable.
18343
183442007-06-13 Chong Yidong <cyd@stupidchicken.com>
18345
18346 * xfns.c, xmenu.c: Link to xaw3d if available.
18347
183482007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18349
18350 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
18351 frame_foreground and frame_background.
18352
18353 * image.c (lookup_image): Save frame foreground and background colors.
18354 (search_image_cache): Check if saved and current frame colors match.
18355
183562007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
18357
18358 * regex.c (regex_compile): Remove the `regnum' counter.
18359 Use bufp->re_nsub instead. Add support for \(?N:RE\).
18360
183612007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
18362
18363 * term.c: Include intervals.h to declare Fget_text_property.
18364
183652007-06-10 Jason Rumney <jasonr@gnu.org>
18366
18367 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
18368
183692007-06-08 Juanma Barranquero <lekktu@gmail.com>
18370
18371 * callint.c (Fcall_interactively):
18372 * editfns.c (Fdelete_and_extract_region):
18373 * fileio.c (Fread_file_name):
18374 * fns.c (Fmapconcat):
18375 * keyboard.c (cmd_error_internal):
18376 * keymap.c (Fkey_description):
18377 * lread.c (openp):
18378 * minibuf.c (read_minibuf):
18379 * search.c (wordify):
18380 * sunfns.c (sel_read):
18381 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
18382 * xfns.c (x_default_scroll_bar_color_parameter):
18383 * xmenu.c (menu_help_callback):
18384 * xselect.c (Fx_get_atom_name):
18385 * xterm.c (x_term_init): Use empty_unibyte_string.
18386
183872007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
18388
18389 * alloc.c (init_strings): Initialize canonical empty strings.
18390 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
18391 canonical empty string when the requested size is 0.
18392
18393 * emacs.c (empty_unibyte_string): Rename from empty_string.
18394 (empty_multibyte_string): New canonical empty string.
18395 (syms_of_emacs): Don't initialize empty_string.
18396
18397 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
18398 string, if appropriate.
18399 (empty_unibyte_string, empty_multibyte_string): New externs.
18400 (empty_string): Remove extern.
18401
18402 * lread.c (syms_of_lread): Use empty_unibyte_string.
18403
184042007-06-07 Jason Rumney <jasonr@gnu.org>
18405
18406 * s/ms-w32.h: Don't define HAVE_TZNAME.
18407
18408 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
18409
184102007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18411
18412 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
18413
18414 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
18415 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
18416
18417 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18418 Don't call next handler.
18419 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
18420 Remove argument. Install handler to application.
18421 (set_frame_menubar): Don't change deep_p.
18422 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
18423 FRAME_OUTER_TO_INNER_DIFF_Y.
18424 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
18425 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
18426 [HAVE_DIALOGS]: New macros.
18427 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
18428 Use them.
18429 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
18430
18431 * macselect.c [MAC_OSX] (install_service_handler): Rename from
18432 init_service_handler. All callers changed. Return OSStatus value.
18433
18434 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
18435 All callers changed so as not to call SetPortWindowPort.
18436 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
18437 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
18438 mac_draw_string_common.
18439 (mac_draw_image_string_qd): Likewise.
18440 (mac_draw_string_common): Use them. Add INLINE.
18441 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
18442 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
18443 GetGlobalMouse.
18444 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
18445 and FRAME_OUTER_TO_INNER_DIFF_Y.
18446 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
18447 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
18448 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
18449 repositioning window to mac_handle_window_event.
18450 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
18451 saving window location to mac_handle_window_event
18452 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
18453 (install_menu_target_item_handler): Remove argument in extern.
18454 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
18455 Also accept command events.
18456 (do_keystroke): New function created from XTread_socket.
18457 (init_command_handler): Remove functions.
18458 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
18459 and save window location by kEventWindowShowing and kEventWindowHiding
18460 handlers here. Don't call next handler for window state change and
18461 focus events.
18462 (mac_handle_application_event, mac_handle_keyboard_event)
18463 [TARGET_API_MAC_CARBON]: New functions.
18464 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
18465 kEventWindowShowing and kEventWindowHiding events. Move installation
18466 of mouse, font, text input and menu target item handlers to
18467 install_application_handler.
18468 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
18469 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18470 New function.
18471 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18472 Register it.
18473 (XTread_socket) [TARGET_API_MAC_CARBON]:
18474 Consolidate SendEventToEventTarget calls.
18475 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
18476 Move application activation handler to mac_handle_application_event.
18477 Move keyboard handler to mac_handle_keyboard_event.
18478 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
18479 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
18480 init_command_handler. Call install_application_handler.
18481
18482 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
18483 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
18484
184852007-06-07 Glenn Morris <rgm@gnu.org>
18486
18487 * emacs.c (main): Use `emacs-copyright' in --version output.
18488
184892007-06-06 Chong Yidong <cyd@stupidchicken.com>
18490
18491 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
18492
184932007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18494
18495 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
18496
18497 * macgui.h: Replace WindowPtr with WindowRef.
18498
18499 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18500 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18501 Replace ControlHandle with ControlRef.
18502 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
18503
18504 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18505 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18506 Replace ControlHandle with ControlRef.
18507 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
18508 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
18509
18510 * macterm.h (struct scroll_bar): Rename member control_handle_low
18511 and control_handle_high to control_ref_low and control_ref_high.
18512 All uses changed.
18513 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
18514 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
18515 respectively. All uses changed.
18516 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
18517 (install_window_handler, remove_window_handler): Replace WindowPtr
18518 with WindowRef in externs.
18519
185202007-06-05 Juanma Barranquero <lekktu@gmail.com>
18521
18522 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
18523
185242007-06-03 Nick Roberts <nickrob@snap.net.nz>
18525
18526 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
18527
18528 * frame.c (Fmouse_position, Fmouse_pixel_position):
18529 Condition on HAVE_GPM too.
18530
18531 * term.c (term_mouse_highlight): Remove unused variables.
18532 (Fterm_open_connection): Set gpm_zerobased to 1.
18533 (term_mouse_movement, term_mouse_click, handle_one_term_event):
18534 Use zero based co-ordinates.
18535 (handle_one_term_event): Report a drag as mouse movement too.
18536
18537 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
18538
185392007-06-03 Chong Yidong <cyd@stupidchicken.com>
18540
18541 * image.c (search_image_cache): New function. Require background
18542 color match if background color is unspecified in the image spec.
18543 (uncache_image, lookup_image): Use it.
18544
185452007-06-01 Juanma Barranquero <lekktu@gmail.com>
18546
18547 * window.c (Fshrink_window): Reflow docstring.
18548
185492007-06-02 Chong Yidong <cyd@stupidchicken.com>
18550
18551 * Version 22.1 released.
18552
185532007-06-01 Richard Stallman <rms@gnu.org>
18554
18555 * xfns.c (x_encode_text): Add GCPRO.
18556
185572007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18558
18559 * xfns.c (x_set_name_internal): Save encoded name before
18560 x_encode_text in case string data is relocated.
18561
185622007-05-31 Richard Stallman <rms@gnu.org>
18563
18564 * buffer.c (syms_of_buffer): Doc fix.
18565
185662007-05-30 Nick Roberts <nickrob@snap.net.nz>
18567
18568 * sysdep.c (init_sys_modes): Add rather than replace with
18569 O_NONBLOCK.
18570
18571 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
18572 term_mouse_moveto.
18573
18574 * termhooks.h (term_mouse_moveto): New extern.
18575
18576 * term.c (mouse_face_window): Rename...
18577 (Qmouse_face_window): ...to this.
18578 (term_show_mouse_face, term_clear_mouse_face)
18579 (term_mouse_highlight): Use Qmouse_face_window.
18580 (term_mouse_moveto): New function.
18581 (term_mouse_position): Make it work.
18582 (syms_of_term): Uncomment assignment to mouse_position_hook.
18583 Staticpro Qmouse_face_window.
18584
185852007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18586
18587 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
18588 around current_column call.
18589
185902007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
18591
18592 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
18593 * xdisp.c (next_element_from_buffer):
18594 * window.c (delete_window):
18595 * term.c (term_mouse_highlight):
18596 * msdos.c (getdefdir):
18597 * macterm.c (mac_create_bitmap_from_bitmap_data)
18598 (init_font_name_table):
18599 * fns.c (Fsxhash):
18600 * data.c (Fmake_local_variable):
18601 * ccl.c (ccl_driver): Likewise.
18602
186032007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18604
18605 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
18606 Call mac_wakeup_from_rne on window size change.
18607
186082007-05-25 Chong Yidong <cyd@stupidchicken.com>
18609
18610 * image.c (uncache_image): Fix typo.
18611
186122007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
18613
18614 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
18615
186162007-05-22 Richard Stallman <rms@gnu.org>
18617
18618 * xterm.c (x_connection_closed): Remove NO_RETURN.
18619
186202007-05-22 Martin Rudalics <rudalics@gmx.at>
18621
18622 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
18623
186242007-05-21 Chong Yidong <cyd@stupidchicken.com>
18625
18626 * image.c (uncache_image): New function.
18627 (Fimage_refresh): New function.
18628
186292007-05-20 Jan Djärv <jan.h.d@swipnet.se>
18630
18631 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
18632
186332007-05-20 Nick Roberts <nickrob@snap.net.nz>
18634
18635 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
18636 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
18637
186382007-05-20 Nick Roberts <nickrob@snap.net.nz>
18639
18640 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
18641 conditional on [HAVE_GPM_H].
18642
186432007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
18644
18645 * syntax.c (skip_chars): Update syntax-table only after we checked that
18646 the new location is valid.
18647
186482007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18649
18650 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
18651 mac_get_window_bounds.
18652
186532007-05-20 Nick Roberts <nickrob@snap.net.nz>
18654
18655 * Makefile.in (LIBGPM): Allow it to be set from configure.
18656 If set then link Emacs with it.
18657
18658 * config.in: Regenerate.
18659
18660 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
18661 New externs.
18662
18663 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
18664 Include gpm.h.
18665 (handle_one_term_event, term_gpm): New externs.
18666
18667 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
18668 and allow it to be interrupted by SIGIO.
18669
18670 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
18671 (wait_reading_process_output): Wait on gpm_fd too.
18672 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
18673 (add_gpm_wait_descriptor_called_flag): New variable.
18674 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
18675
18676 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
18677 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
18678 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
18679 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
18680 (make_lispy_event): Add case GPM_CLICK_EVENT.
18681 (read_avail_input): Handle mouse input.
18682
18683 * term.c (write_glyphs_with_face): New function.
18684 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
18685 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
18686 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
18687 (mouse_face_face_id, term_gpm, pos_x, pos_y)
18688 (last_mouse_x, last_mouse_y): New variables.
18689 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
18690 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
18691 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
18692 (Fterm_close_connection): New functions.
18693 (term_init): Initialise mouse_face_window.
18694
186952007-05-19 Chong Yidong <cyd@stupidchicken.com>
18696
18697 * xdisp.c (redisplay_window): If first window line is a
18698 continuation line, recompute the new window start instead of
18699 recentering.
18700
187012007-05-18 Glenn Morris <rgm@gnu.org>
18702
18703 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
18704 Suggested by Alfred M. Szmidt <ams@gnu.org>.
18705
187062007-05-17 Glenn Morris <rgm@gnu.org>
18707
18708 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
18709
187102007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18711
18712 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
18713 dead key repeat and up events.
18714
187152007-05-14 Chong Yidong <cyd@stupidchicken.com>
18716
18717 * image.c (pbm_load): Check image size for monochrome pbm.
18718
187192007-05-13 Chong Yidong <cyd@stupidchicken.com>
18720
18721 * xterm.c (XTread_socket): Revert last change.
18722
187232007-05-12 Chong Yidong <cyd@stupidchicken.com>
18724
18725 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18726
18727 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18728
187292007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18730
18731 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18732 mixup (YAILOM).
18733
187342007-05-07 Andreas Schwab <schwab@suse.de>
18735
18736 * keymap.c (Flookup_key): Fix typo in last change.
18737
187382007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18739
18740 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18741 mapping for unibyte strings.
18742
187432007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18744
18745 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18746 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18747
187482007-04-29 Richard Stallman <rms@gnu.org>
18749
18750 * insdel.c (replace_range): For undo, record insertion first.
18751
187522007-04-29 Andreas Schwab <schwab@suse.de>
18753
18754 * lisp.h (VECSIZE): Use OFFSETOF.
18755
187562007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18757
18758 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18759 disabled lines.
18760
187612007-04-28 Richard Stallman <rms@gnu.org>
18762
18763 * lread.c (read_escape): In a string, \s is always space.
18764
187652007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18766
18767 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18768
18769 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18770 submenu for menu bar items.
18771
18772See ChangeLog.10 for earlier changes.
18773
18774;; Local Variables:
18775;; coding: utf-8
18776;; add-log-time-zone-rule: t
aac0c6e3
MR
18777;; End:
18778
76b6f707 18779 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
18780
18781 This file is part of GNU Emacs.
18782
18783 GNU Emacs is free software: you can redistribute it and/or modify
18784 it under the terms of the GNU General Public License as published by
18785 the Free Software Foundation, either version 3 of the License, or
18786 (at your option) any later version.
18787
18788 GNU Emacs is distributed in the hope that it will be useful,
18789 but WITHOUT ANY WARRANTY; without even the implied warranty of
18790 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18791 GNU General Public License for more details.
18792
18793 You should have received a copy of the GNU General Public License
18794 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18795
18796;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40