(w32_initialize): Add necessary casts to last change.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
13087e59
JR
12009-06-21 Jason Rumney <jasonr@gnu.org>
2
3 * w32term.c (keyboard_codepage): New static variable.
4 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
5 (w32_read_socket) [WM_CHAR]: Use it to decode character
6 input (bug#3237).
7 (w32_initialize): Initialize it.
8 (codepage_for_locale): New function.
9
4735b74e
KR
102009-06-20 Ken Raeburn <raeburn@raeburn.org>
11
12 * process.c (status_message): Pass Faset index argument as a lisp
13 object, so as to work with USE_LISP_UNION_TYPE.
14
0e727afa
YM
152009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16
17 * coding.c (Ffind_coding_systems_region_internal):
18 Cache checked characters.
19
cf299835
KH
202009-06-18 Kenichi Handa <handa@m17n.org>
21
22 * coding.c (decode_coding_iso_2022): Check MSB of bytes more
23 rigidly.
24
90f20d94
AS
252009-06-18 Andreas Schwab <aschwab@redhat.com>
26
27 * xdisp.c (redisplay_internal): Check that the frame is still
28 live after redisplay of its windows.
29 (redisplay_windows): Check that the window is still live.
30
7f1faf1c
KH
312009-06-17 Andreas Schwab <schwab@linux-m68k.org>
32
33 * coding.c (detect_coding_utf_16): Fix previous change.
34
cc13543e
KH
352009-06-16 Kenichi Handa <handa@m17n.org>
36
37 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
38 UTF-16 by checking the dispersion of Eth and Oth bytes.
39
977b85f4
AS
402009-06-15 Andreas Schwab <schwab@linux-m68k.org>
41
42 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
43
66bd43d1
KH
442009-06-15 Kenichi Handa <handa@m17n.org>
45
46 * process.c (status_message): Fix previous change. Be sure to
47 decode a localized string.
48
cb5ca9c5
YM
492009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50
51 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
52 add comment explaining why.
53
ec7709ba 542009-06-14 Sidney Markowitz <sidney@sidney.com>
5ee6f629 55
ec7709ba 56 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
5ee6f629 57
4b7f335c
AR
582009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
59
60 * nsfont.m (ns_attribute_value): Remove.
61 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
62 (ns_has_attribute): Shrink the normal range.
63 (ns_findfonts): Don't worry about requested spec in determining
64 need for synthItal.
e41820ee 65 (ns_get_covering_families): Retain scriptToFamilies.
4b7f335c 66
73b26103
SZ
672009-06-14 Seiji Zenitani <zenitani@mac.com>
68
69 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
70
5753e4da
KH
712009-06-11 Kenichi Handa <handa@m17n.org>
72
73 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
74 overhang for the static composition case.
75
3561b671
KH
762009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
77
5753e4da
KH
78 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
79 overhang for the automatic composition case.
80
3561b671
KH
81 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
82 composition case.
83
852bbd41
CY
842009-06-10 Chong Yidong <cyd@stupidchicken.com>
85
86 * xdisp.c (get_next_display_element): When handling wrap-prefix
87 and line-prefix, treat \n as a control character (bug#3502).
88
9903d1e6
KH
892009-06-10 Kenichi Handa <handa@m17n.org>
90
91 * font.c (font_parse_family_registry): Fix for one-char foundry.
92 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
93
0bcbaaaa
CY
942009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
95
96 * process.c (status_message): Fix handling of multibyte signal
97 string (Bug#3499).
98
40aa3f13
JM
992009-06-09 Jim Meyering <meyering@redhat.com>
100
1f80c7e2
CY
101 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
102 color name is missing.
40aa3f13 103
72d51285
KH
1042009-06-09 Kenichi Handa <handa@m17n.org>
105
106 * charset.c (Fmap_charset_chars): In docstring, state clearly that
107 FROM-CODE and TO-CODE are codepoints of CHARSET.
108
c1d04d84
AR
1092009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
110
111 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
112
1132009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
114
115 Changes to support :script/:lang/:otf in NS font driver.
116 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
117 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
118 indicate not part of font driver interface, and change callers.
119 (ns_get_family): Remove pointless null check.
120 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
121 ns_spec_to_descriptor, ns_descriptor_to_entity.
122 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
123 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
124 (ns_spec_to_descriptor, ns_descriptor_to_entity)
125 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
126 (ns_get_req_script, ns_accumulate_script_ranges)
127 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
128 New functions.
129 (nsfont_list, nsfont_match): Use ns_findfonts.
130 (nsfont_open): Use font descriptor instead of traits.
131 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
132 (dump_glyphstring): Rename to ns_dump_glyphstring.
133
c7eb9816
AR
134 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
135
c1d04d84
AR
136 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
137
138 * fontset.c (fontset_from_font): Remove NS-specific code.
139
ec7709ba 1402009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
c1d04d84
AR
141
142 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
143 nonactive windows.
144
1452009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
146
147 * nsterm.m (ns_init_paths): Append path separator to INFOPATH
148 variable.
149
68852c13 1502009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
e7777236
AR
151
152 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
153
6756cd1d
CY
1542009-06-07 Chong Yidong <cyd@stupidchicken.com>
155
156 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
157 account for the overflowing of newlines into the last glyph on the
158 display line (Bug#3482).
159
28bf482a
DR
1602009-06-05 David Reitter <david.reitter@gmail.com>
161
ec7709ba
JB
162 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
163 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
28bf482a
DR
164 Fns_selection_exists_p, Fns_selection_owner_p.
165
fdb55376
JR
1662009-06-03 Jason Rumney <jasonr@gnu.org>
167
168 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
169 available. (Bug#3379)
170
05129fbe
KH
1712009-05-29 Kenichi Handa <handa@m17n.org>
172
173 * coding.c (get_translation_table): Check
174 Venable_character_translation.
175
ec7709ba 1762009-05-26 David Reitter <david.reitter@gmail.com>
15891144 177
ec7709ba
JB
178 * nsterm.m (ns_raise_frame): Only raise frame if visible.
179 (x_make_frame_visible): Move frame to front rather than calling
15891144 180 ns_raise_frame().
ec7709ba 181 (keyDown:): Do not swallow events that aren't re-sent if frame
15891144 182 isn't key window.
ec7709ba 183 (drawRect:): Do not set visibility/iconified flags because
15891144
DR
184 drawRect may be called by NSView even if the frame is hidden.
185
ec7709ba
JB
186 * nsfns.m (Fx_create_frame): Follow other ports in
187 determining visibility; default to t. Ensure async_visible is set.
15891144 188
21f73755
EZ
1892009-05-23 Eli Zaretskii <eliz@gnu.org>
190
191 * dired.c (Ffile_attributes): Doc fix.
192
34001e41
CY
1932009-05-22 Chong Yidong <cyd@stupidchicken.com>
194
195 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
196
46306a17
SM
1972009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
198
199 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
200 and xfont_scratch_props.
201 (syms_of_xfont): Do it here instead.
202 (xfont_find_ccl_program): Delete, unused.
203 (xfont_open): Delete unused var `i'.
204
ef6e0694
KH
2052009-05-21 Kenichi Handa <handa@m17n.org>
206
207 * fontset.c (Qlatin): Don't make it static.
208
46306a17
SM
209 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
210 New functions.
ef6e0694
KH
211 (xfont_scripts_cache, xfont_scratch_props): New variables.
212 (Qlatin, Vscalable_fonts_allowed): Extern it.
46306a17
SM
213 (xfont_list_pattern): Argument changed. Callers changed.
214 Check Vscalable_fonts_allowed. Check the support of a script.
ef6e0694
KH
215 (xfont_list): Don't reject a font spec with :script property.
216 (xfont_has_char): Fix setting of encoding.
217 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
218 xfont_scratch_props.
219
2202009-05-19 Kenichi Handa <handa@m17n.org>
221
46306a17 222 * font.c (font_sort_entities): Rename from font_sort_entites.
ef6e0694
KH
223 Callers changed.
224
2252009-05-18 Kenichi Handa <handa@m17n.org>
226
227 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
228
ac71ced7
SM
2292009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
230
231 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
232 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
233
1c6d1051
YM
2342009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
235
236 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
237 (x_delete_terminal): Dissociate resource database from display and
238 then call XrmDestroyDatabase before closing display.
239
9b9b779c
AR
2402009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
241
242 * nsterm.m (ns_read_socket): Remove unused variable.
1564e649
AR
243 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
244 whether selected frame is viable before raising it (based on patch
245 by David Reitter), and improve commentary.
246 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
9b9b779c 247
cccd42d5
KH
2482009-05-15 Kenichi Handa <handa@m17n.org>
249
250 * font.c (Ffont_spec): Check arguments.
251
337fbd17
CY
2522009-05-14 Chong Yidong <cyd@stupidchicken.com>
253
254 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
255 weight when testing attributes (Bug#3282).
256
47a6002f
JD
2572009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
258
259 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
260 what we expect to get in the next ConfigureNotify event.
261
9cb363db
YM
262 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
263 before Xft one (Bug#1696).
264
b9126609
CY
2652009-05-07 David Reitter <david.reitter@gmail.com>
266
267 * nsfns.m (Fx_display_planes): Compute bitplanes using
268 NSBitsPerPixelFromDepth (Bug#3207).
269
27a69fd9
CY
2702009-05-10 Chong Yidong <cyd@stupidchicken.com>
271
272 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
273
00f37552
TTN
2742009-05-10 Ulrich Mueller <ulm@gentoo.org>
275
276 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
277
2d82a920
DR
2782009-05-07 David Reitter <david.reitter@gmail.com>
279
ec7709ba
JB
280 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
281 Respect mouse face background.
2d82a920 282
46b0d52d
DR
2832009-05-07 David Reitter <david.reitter@gmail.com>
284
ec7709ba
JB
285 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
286 Mouse movement/highlight: bracket drawing operations
46b0d52d
DR
287 in ns_update_begin and ns_update_end.
288
ce1b23bb
SM
2892009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
290
5996e1b7
SM
291 * nsfns.m (ns_get_screen): Rewrite.
292 Don't presume selected-frame is of type `ns'.
293
ba98e3a0
SM
294 * font.c (font_update_drivers): Sanity fallback to avoid disabling
295 all drivers.
296
ce1b23bb
SM
297 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
298
bcda200f
YM
2992009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
300
301 * keyboard.h (add_user_signal): Fix typo in extern.
302
303 * lisp.h (add_user_signal): Remove extern.
304
305 * unexelf.c (unexec): Consider a section to precede the .bss section
306 if its addresses overlap that of .bss.
307 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
308 instead of dumping process.
309
864660a2
SM
3102009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
311
312 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
313
50da4e56
SM
3142009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
315
316 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
317
51520a1a
DN
3182009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
319
320 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
321 any statements.
322
409ea3a1
AS
3232009-05-02 Andreas Schwab <schwab@linux-m68k.org>
324
59c4c60f
AS
325 * process.c (read_process_output): Make sure the current buffer is
326 always restored.
327
409ea3a1
AS
328 * coding.c (record_conversion_result): Don't modify
329 Vlast_code_conversion_error for successful result.
330 (alloc_destination): Don't clobber conversion result. (Bug#1650)
331
56f00ed2
KH
3322009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
333
334 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 335 (load_charset_map): Remove unnecessary code.
56f00ed2 336
4491c9d2
DR
3372009-04-30 David Reitter <david.reitter@gmail.com>
338
35f5b128 339 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
340 through f24.
341
6970f632
CY
3422009-04-30 Chong Yidong <cyd@stupidchicken.com>
343
344 * xfaces.c (face_at_buffer_position): New arg base_face_id.
345
346 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
347 face_at_buffer_position.
348 (face_before_or_after_it_pos, get_next_display_element)
349 (note_mouse_highlight): Update face_at_buffer_position call.
350
351 * term.c (term_mouse_highlight):
352 * msdos.c (IT_note_mouse_highlight):
353 * fontset.c (Finternal_char_font):
35f5b128 354 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
355
356 * dispextern.h (face_at_buffer_position): Update prototype.
357
0c616f63
KH
3582009-04-30 Kenichi Handa <handa@m17n.org>
359
35f5b128 360 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 361
ad3aaf33
AS
3622009-04-29 Andreas Schwab <schwab@linux-m68k.org>
363
364 * callproc.c (Fcall_process): Fix GC protection. Make sure
365 current buffer is always restored.
366
c3c963a0
YM
3672009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
368
369 * atimer.c (init_atimer): Also clear stopped_atimers.
370
371 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
372
7e3386cb
YM
373 * process.c (create_process): Clean up merger residues of
374 2008-07-17 change.
375
91f68422
CY
3762009-04-29 Ulrich Mueller <ulm@gentoo.org>
377
378 * lread.c (Vread_circle): New variable.
379 (read1): Disable recursive read if Vread_circle is nil.
380
24b34550
KH
3812009-04-29 Kenichi Handa <handa@m17n.org>
382
383 * fontset.h (set_default_ascii_font): Delete extern.
384
385 * fontset.c (set_default_ascii_font): Delete this unused function.
386
387 * frame.c (x_set_font): When ARG is a font-object, check if the
388 font-object matches with the ASCII font-spec of the frame's
9c358bda 389 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 390
77bf07e1
AS
3912009-04-28 Andreas Schwab <schwab@linux-m68k.org>
392
393 * fns.c (Flocale_info): Protect vector from GC during decoding.
394
395 * process.c (Fstart_process): Protect argv strings from GC during
396 encoding.
397
2c55aacf
AS
3982009-04-27 Andreas Schwab <schwab@linux-m68k.org>
399
400 * sysdep.c: Include <ctype.h>.
401
b892d3c9
DR
4022009-04-27 David Reitter <david.reitter@gmail.com>
403
35f5b128 404 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
405 Remove commented-out code.
406
9d0644c4
JB
4072009-04-26 Johan Bockgård <bojohan@gnu.org>
408
409 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
410
b7053016
JR
4112009-04-25 Jason Rumney <jasonr@gnu.org>
412
413 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
414
4e8231f3
YM
4152009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
416
417 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
418 Swap bytes in short integer if fringe bitmap width > 8.
419
493dcf2c
KH
4202009-04-23 Kenichi Handa <handa@m17n.org>
421
422 * xfaces.c (Fx_list_fonts): If a font size is specified in
423 PATTERN, set it in returned scalable fonts.
424
401e9e57
CY
4252009-04-22 Chong Yidong <cyd@stupidchicken.com>
426
708e05dc
CY
427 * keyboard.c (Fset_input_meta_mode): Doc fix.
428
429 * dispnew.c (Fsend_string_to_terminal): Doc fix.
430
431 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc
432 fixes.
433
434 * coding.c (Fterminal_coding_system): Doc fix.
435
436 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
437 (Fx_display_pixel_height, Fx_display_planes)
438 (Fx_display_color_cells, Fx_server_max_request_size)
439 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
440 (Fx_display_mm_height, Fx_display_mm_width)
441 (Fx_display_backing_store, Fx_display_visual_class)
442 (Fx_display_save_under, Fx_close_connection, Fx_synchronize): Doc
443 fixes, replacing "terminal id" with "terminal object".
444 (check_x_display_info): Handle terminal objects instead of
445 terminal ids.
446
401e9e57
CY
447 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
448 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
fdc496e7
CY
449 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): Doc
450 fixes, replacing "terminal id" with "terminal object".
401e9e57 451
df80c7f0
KH
4522009-04-21 Kenichi Handa <handa@m17n.org>
453
5a8f12af 454 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 455 (font_score): Check AVGWIDTH too.
908567ef 456
df80c7f0
KH
457 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
458 worst case.
459 (decode_coding_emacs_mule, decode_coding_iso_2022)
460 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
461 Likewise.
462
705af33f
JR
4632009-04-19 Jason Rumney <jasonr@gnu.org>
464
465 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 466 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
467
468 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
469 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
470 get_phys_cursor_geometry.
471
b71ac3dd 472 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
473 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
474 using get_phys_cursor_geometry.
475
476 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
477 correctly calculated.
478
dc2933eb
JD
4792009-04-19 Jan Djärv <jan.h.d@swipnet.se>
480
481 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): Use
482 G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
483 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
484 is deprecated.
485
973e7849
AS
4862009-04-18 Andreas Schwab <schwab@linux-m68k.org>
487
488 * font.c (font_put_frame_data): Use xfree instead of free.
489
314d66f4
JB
4902009-04-17 Juanma Barranquero <lekktu@gmail.com>
491
492 * w32font.c (Qja, Qko): Remove declarations.
493 (syms_of_w32font): Don't DEFSYM them.
494
cf702558
CY
4952009-04-17 Chong Yidong <cyd@stupidchicken.com>
496
497 * font.c (Qja, Qko): Move definitions here from ftfont.c.
498
499 * font.h (Qja, Qko): Extern them.
500
501 * ftfont.c (Qja, Qko): Remove declarations.
502
503 * xfont.c (Qja, Qko): Remove declarations.
504
b50504f5
KH
5052009-04-17 Kenichi Handa <handa@m17n.org>
506
bde25748
KH
507 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
508 string from a vector to handle Latin-1 characters correctly.
509
b50504f5
KH
510 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
511 entity even if the cache hits.
512
f4646fff
AS
5132009-04-16 Andreas Schwab <schwab@linux-m68k.org>
514
515 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 516 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 517
e7deaab0
AS
518 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
519 * lisp.h: Adjust prototypes.
520
0a0e7d49
CY
5212009-04-16 Chong Yidong <cyd@stupidchicken.com>
522
523 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
524 change (Bug#3003).
525
3c908a57
KH
5262009-04-16 Kenichi Handa <handa@m17n.org>
527
bd0af90d
KH
528 * xfont.c (xfont_has_char): Special handling of `ja' and `ko'
529 adstyle.
530
531 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
532 adstyle.
533
534 * ftfont.c (Qja, Qko): Don't make them static.
535 (enum ftfont_cache_for): New enum.
536 (fc_charset_table): Undo the previous change.
537 (ftfont_get_latin1_charset): Delete it.
538 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. Set
539 FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
540 non-scarable font, try to get AVERAGE_WIDTH.
541 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
542 Change ft_face_cache from a list of a hash-table. Don't check
543 `ja' and `ko' adstyle here.
544 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
545 FTFONT_CACHE_FOR_CHARET.
546 (ftfont_get_charset): Undo the previous change.
547 (ftfont_open): Call ftfont_lookup_cache with
548 FTFONT_CACHE_FOR_FACE.
549 (ftfont_close): Likewise.
550 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
551
552 * font.c (font_sort_entites): Change the meaning of the arg
553 BEST-ONLY. Don't optimize for VEC of lenght 1.
554 (font_select_entity): Just return the value of font_sort_entites.
555
556 * xfaces.c (merge_face_vectors): Reflect font properties in
557 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
558 font_clear_prop if a face attribute doesn't change.
559
3c908a57
KH
560 * charset.h (charset_ksc5601): Extern it.
561
562 * charset.c (charset_ksc5601): New variable.
563 (Fdefine_charset_internal): Set charset_ksc5601.
564 (init_charset_once): Initialize charset_ksc5601 to -1.
565
d65859c3
DN
5662009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
567
568 * fileio.c (history_delete_duplicates): Remove unused declaration.
569
570 * callint.c (history_delete_duplicates): New declaration.
571 (Fcall_interactively): Remove command history duplicates when
572 history_delete_duplicates is true.
573
3ba010e5
EZ
5742009-04-14 Eli Zaretskii <eliz@gnu.org>
575
576 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
577
06f19b91
KH
5782009-04-14 Kenichi Handa <handa@m17n.org>
579
580 * font.c (Ffont_info): Fix docstring. Fix the second element of
581 the returned value (bug#2949).
582
2cce8bfc
CY
5832009-04-14 Chong Yidong <cyd@stupidchicken.com>
584
585 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
586
d156542d
KH
5872009-04-14 Kenichi Handa <handa@m17n.org>
588
589 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
590 encoding charset is ascii_compatible.
591
592 * charset.c (Fdefine_charset_internal): Make charset
593 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
594 code_offset is 0, and covers all ASCII characters.
595
86fa089e
SM
5962009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
597
598 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
599 (ns_string_to_pasteboard_internal):
600 * nsmenu.m (process_dialog):
601 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
602 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
603 * lisp.h (Fx_load_color_file): Declare.
604
a8a3728b
KH
6052009-04-13 Kenichi Handa <handa@m17n.org>
606
607 * font.c (font_delete_unmatched): Preserve the order of list
608 elements.
609 (font_select_entity): Suppress the code to optimize for the same
610 kind of fonts.
611 (font_load_for_lface): Get a font that supports at least ASCII
612 characters.
613
614 * ftfont.c (Qja, Qko): New variables.
615 (fc_charset_table): Delete uniquifier data for iso8859-1.
616 (ftfont_get_latin1_charset): New function.
617 (get_adstyle_property): New function.
618 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
619 bitmap fonts.
620 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
621 Delete iso-8859-1 range from the charset of fonts whose adstyle is
622 `ko' or `ja'.
623 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
624 (ftfont_get_charset): For iso8859-1, call
625 ftfont_get_latin1_charset.
626 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
627 property.
628 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
629 (syms_of_ftfont): DEFSYM Qja and Qko.
630
483670b5
KH
6312009-04-09 Kenichi Handa <handa@m17n.org>
632
12b55765
KH
633 * charset.c (map_charset_chars): For a charset of `superset'
634 method, fix calculation of code range.
635
483670b5
KH
636 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
637 from the list of extra properties.
638 (font_clear_prop): Be sure to delete `:name' font property.
639
57d3b93b
KH
6402009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
641
b4b2c2ca
YM
642 * dispnew.c (redraw_overlapping_rows): Fix detection of
643 overlapping for topmost and bottommost rows.
644
57d3b93b
KH
645 * ftfont.c (ftfont_text_extents): Fix calculation of
646 metrics->descent.
647
472c3609
JR
6482009-04-06 Jason Rumney <jasonr@gnu.org>
649
650 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
651
ab193662
KH
6522009-04-06 Kenichi Handa <handa@m17n.org>
653
654 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
655
656 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
657
0c26f026
KH
6582009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
659
660 * ftfont.c (ftfont_open): Fix checking of the return value of
661 FT_Load_Char. Fix setting font->underline_thickness.
662
e173bbce
CY
6632009-04-04 Chong Yidong <cyd@stupidchicken.com>
664
665 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
666 (Fterminal_parameters, Fterminal_parameter)
667 (Fset_terminal_parameter): In doc string, refer to terminal
668 objects rather than terminal ids.
669
693a2698
EZ
6702009-04-04 Eli Zaretskii <eliz@gnu.org>
671
672 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
673 ret_lim_data. (Bug#2867)
674
d5221487
CY
6752009-04-03 Chong Yidong <cyd@stupidchicken.com>
676
677 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
678 so they don't get wider than the window, matching 2006-01-23
679 change to the partner function in xdisp.c (Bug#2800).
680
223509a3
KH
6812009-04-03 Kenichi Handa <handa@m17n.org>
682
683 * print.c (print_object): Make each lowest sub_char_table start a
684 new line (Bug#2866).
685
74fcd0b1
KH
6862009-04-02 Kenichi Handa <handa@m17n.org>
687
688 * fontset.c (fontset_font): Record no-font when a fontset
689 explicitly tells not to try another font-specs.
690
c542407d
SM
6912009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
692
693 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
694
e3869731
KH
6952009-03-30 Kenichi Handa <handa@m17n.org>
696
d8d2f142
KH
697 * fontset.c (fontset_from_font): Specify only registry in a
698 font-spec for all characters supported by that registry.
699
e3869731
KH
700 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
701 even if HAVE_M17N_FLT is not defined.
702
5da5f805
CY
7032009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
704
705 * ftfont.c: Conditionalize prototyping and use of
706 ftfont_variation_glyphs.
707
ab226c50
SM
7082009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
709
9628fed7
SM
710 * frame.c (delete_frame): Work around compiler bug.
711
712 * editfns.c (general_insert_function): Adjust to insdel.c changes.
713 * insdel.c (prepare_to_modify_buffer, signal_before_change):
714 Some more EMACS_INT.
715 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
716
717 * xdisp.c (dump_glyph): Fix typo.
718
ae19ba7c
SM
719 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
720 (adjust_markers_gap_motion, adjust_markers_for_delete)
721 (adjust_markers_for_insert, adjust_point)
722 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
723 (make_gap, copy_text, count_size_as_multibyte, insert)
724 (insert_and_inherit, insert_before_markers)
725 (insert_before_markers_and_inherit, insert_1)
726 (count_combining_before, count_combining_after, insert_1_both)
727 (insert_from_string, insert_from_string_before_markers)
728 (insert_from_string_1, insert_from_gap, insert_from_buffer)
729 (insert_from_buffer_1, adjust_after_replace)
730 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
731 (replace_range_2, del_range, del_range_1, del_range_byte)
732 (del_range_both, del_range_2, modify_region)
733 (prepare_to_modify_buffer, signal_before_change)
734 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
735 for buffer positions and sizes.
736 * lisp.h: Adjust prototypes accordingly.
737
738 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
739 (non_regular_inserted, non_regular_nbytes, read_non_regular)
740 (Finsert_file_contents): Use EMACS_INT for buffer positions.
741
ab226c50
SM
742 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
743
46dfb8fb
JD
7442009-03-27 Jan Djärv <jan.h.d@swipnet.se>
745
746 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
747 lines and columns so we keep the same pixel height and width.
748
749 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
750 the property _NET_WM_STATE has changed.
46dfb8fb
JD
751 (x_handle_net_wm_state): New function to update frame parameter
752 fullscreen.
753 (x_term_init): Initialize atoms for _NET_WM_STATE.
754
755 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
756
d347e494
SM
7572009-03-27 Kevin Ryde <user42@zip.com.au>
758
759 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
760 Gpm_GetEvent as an error that justifies closing the filedescriptor.
761 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
762 (Fgpm_mouse_stop): Pass that new parameter.
763 * termhooks.h (close_gpm): Adjust prototype.
764
84db11d6
SM
7652009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
766
c95a5008
SM
767 * lisp.h (Fx_focus_frame): Declare.
768
84db11d6
SM
769 * callint.c (Fcall_interactively): For '^' just delegate the work to
770 handle-shift-selection.
771 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
772
0a1958d6
CY
7732009-03-24 Chong Yidong <cyd@stupidchicken.com>
774
0bfdff23
CY
775 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
776
0a1958d6
CY
777 * data.c (Qinteractive_form): New variable.
778 (Finteractive_form): Use it.
779
780 * eval.c (Fcommandp): Use Qinteractive_form.
781
58aec0d6
JR
7822009-03-24 Jason Rumney <jasonr@gnu.org>
783
784 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
785 Calculate total size precisely. Decode environment variables
786 before substituting. (Bug#38)
787
553dd618
KH
7882009-03-24 Kenichi Handa <handa@m17n.org>
789
790 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 791 encoding (Bug#2722).
553dd618 792
c39ea606
JD
7932009-03-23 Jan Djärv <jan.h.d@swipnet.se>
794
795 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
796 that gdpy is set.
797
bc9b2b5e
AM
7982009-03-22 Alan Mackenzie <acm@muc.de>
799
800 * callint.c (Finteractive): Clarify the doc string - even
801 promptless elements need \n separators.
802
9f995a76
JR
8032009-03-22 Jason Rumney <jasonr@gnu.org>
804
805 * w32term.c (syms_of_w32term): Doc fix for
806 x-use-underline-position-properties.
807
22749e9a
EZ
8082009-03-21 Eli Zaretskii <eliz@gnu.org>
809
810 * w32.c (getpwuid): Change argument type to unsigned.
811 (struct w32_id): Change type of `rid' member to unsigned.
812 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
813 argument ID to unsigned. All callers changed.
814 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
815
e00553bf
EZ
8162009-03-20 Eli Zaretskii <eliz@gnu.org>
817
818 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
819 negative, produce a float value.
820
821 * dired.c (make_uid, make_gid): New functions.
822 (Ffile_attributes): Use them to avoid negative UID and GID.
823
f761d6b6
JB
8242009-03-20 Juanma Barranquero <lekktu@gmail.com>
825
826 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
827 (syms_of_keyboard) <command-hook-internal, input-method-function>:
828 Fix typos in docstrings.
829
d507f8d7
KH
8302009-03-19 Kenichi Handa <handa@m17n.org>
831
832 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
833 changed, use font_load_for_lface to get a new font object.
834 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
835
836 * frame.c (x_set_font): Handle the case that ARG is a cons.
837
c68845e0
GM
8382009-03-19 Glenn Morris <rgm@gnu.org>
839
840 * fileio.c (Fsubstitute_in_file_name): Doc fix.
841
bfa49dd1
CY
8422009-03-19 Chong Yidong <cyd@stupidchicken.com>
843
844 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
845
8458d4c1
KH
8462009-03-19 Kenichi Handa <handa@m17n.org>
847
848 * charset.c (load_charset_map_from_file): When a mapfile can't be
849 loaded, signal an error.
850
78e7d1fe
EZ
8512009-03-18 Eli Zaretskii <eliz@gnu.org>
852
853 * dired.c (Ffile_attributes): Make sure UID and GID are always
854 positive, even if the value is too large for a positive EMACS_INT.
855 Doc fix.
856
857 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
858
5da9fdfa
YM
8592009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
860
861 * xmenu.c (xdialog_show): Move Fredisplay call ...
862 (Fx_popup_dialog): ... here.
863
7519c40d
SM
8642009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
865
866 * dired.c (file_name_completion): Disable the first optimization just
867 installed, since it is not implemented correctly.
868
2cd298e2
SM
8692009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
870
871 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 872 only if the entry can affect bestmatch.
2cd298e2
SM
873 Stop the search early, as Ftry_completion already does.
874
48d37adf
CY
8752009-03-17 Chong Yidong <cyd@stupidchicken.com>
876
e10c9c93 877 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 878
9286b16a
CY
8792009-03-15 Chong Yidong <cyd@stupidchicken.com>
880
881 * keyboard.c (parse_menu_item): Don't display remappings as menu
882 equivalent bindings (Bug#788).
883
f7b146dc
JR
8842009-03-15 Jason Rumney <jasonr@gnu.org>
885
886 * w32term.h (WM_EMACS_PAINT): New message.
887 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
888 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
889 before passing to lisp thread. (Bug#950)
890
f761d6b6 8912009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 892
d93f9575
CY
893 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
894 variable as it was never reset.
895 (ns_term_init): Remove initialization of Lisp-settable defaults
896 and ns_expand_space.
897 (-setPanelFromDefaultValues): Remove ns_expand_space.
898 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
899 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
900 i.e. no additional spacing, similar to Carbon port.
901
d93f9575
CY
902 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
903 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 904
305018ec
JD
9052009-03-14 Jan Djärv <jan.h.d@swipnet.se>
906
907 * sound.c (alsa_configure): Remove call to deprecated
908 snd_pcm_sw_params_set_xfer_align.
909
f761d6b6 9102009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
911
912 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
913 after clicking in a detached tool bar.
914 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
915
46e722a9
SM
9162009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
917
348db3dd
SM
918 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
919 int/Lisp_Object mixup).
46e722a9 920
a3d16f39
KH
9212009-03-13 Kenichi Handa <handa@m17n.org>
922
923 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 924 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
925 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
926 (set_fontset_font): Change ARG to a vector. Handle range_list in
927 ARG correctly.
928 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 929 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
930 the above change.
931 (fontset_from_font): Fix previous change.
fe24f56a 932 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
933 entry. If FONTSET is the default fontset, don't set the extra
934 slot of the returning char-table.
935
b066e6b6
JB
9362009-03-12 Juanma Barranquero <lekktu@gmail.com>
937
938 * nsfns.m (Fx_close_connection): Doc fix.
939 (Fns_do_applescript): Reflow docstring.
940 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
941 (Fx_display_pixel_width, Fx_display_pixel_height)
942 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
943 Fix typos in docstrings.
944 (Fns_set_alpha): Fix typos in error messages.
945
d472514e 9462009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 947
d472514e 948 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
949 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
950 were used for such events.
951
d472514e
JB
952 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
953 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 954
d472514e 955 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
956 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
957
fb930676
KH
9582009-03-11 Kenichi Handa <handa@m17n.org>
959
ff85581a
KH
960 * font.h (font_open_by_spec): Extern it.
961
c50b7e98
KH
962 * font.c (font_open_by_spec): New function.
963 (font_open_by_name): Use font_open_by_spec.
964
fb930676
KH
965 * frame.c (x_set_font): When ARG is a font-object, don't alter the
966 fontset of the frame.
967
968 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
969 modify the default font of frames that use this fontset.
970 (num_auto_fontsets): New variable.
971 (fontset_from_font): Use num_auto_fontsets to decide a fontset
972 name. Be sure to set FONTSET_ASCII to the correct font name.
973 (update_auto_fontset_alist): New function.
974
df4e8455
JB
9752009-03-11 Juanma Barranquero <lekktu@gmail.com>
976
977 * makefile.w32-in: Update dependencies.
978
0a375797
AR
9792009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
980
981 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
982
61313fa3
SM
9832009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
984
985 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
986
b55103fb
CY
9872009-03-10 Chong Yidong <cyd@stupidchicken.com>
988
989 * lread.c (Feval_buffer): Doc fix.
990
dde2559c
KH
9912009-03-09 Kenichi Handa <handa@m17n.org>
992
993 * charset.c (Qfile_name_handler_alist): Extern it.
994 (load_charset_map_from_file): Temporarily bind
995 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
996
df4e8455 9972009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 998
47f588bb
GM
999 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
1000 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 1001
4ddf94bd
AR
10022009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1003
4c9bdfc2
AR
1004 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
1005 (x_set_window_size): Change back to calculated method of setting
1006 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
1007 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
1008 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
1009
fe41ae9e
AR
1010 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
1011
4c9bdfc2
AR
1012 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
1013 accelerator in parens under GNUstep.
1014
825d0875
KH
10152009-03-06 Kenichi Handa <handa@m17n.org>
1016
1017 These changes are to detect incorrect composition sequence without
f3b3be74 1018 looking ahead the source. (Bug#2370)
825d0875
KH
1019
1020 * coding.h: Include "composite.h".
1021 (enum compisition_state): New enum.
1022 (struct compisition_status): New struct.
1023 (struct iso_2022_spec): New member cmp_status.
1024 (struct emacs_mule_spec): New struct.
1025 (struct coding_system): New members ctext_extended_segment_len and
1026 embedded_utf_8. Change the union member
1027 spec.emacs_mule_full_support to spec.emacs_mule.
1028
1029 * coding.c (CODING_ISO_CMP_STATUS): New macro.
1030 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 1031 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
1032 (ADD_COMPOSITION_DATA): New arg nbytes.
1033 (emacs_mule_char): New arg cmp_status.
1034 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
1035 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
1036 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
1037 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
1038 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
1039 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
1040 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
1041 (EMACS_MULE_COMPOSITION_END): New macro.
1042 (emacs_mule_finish_composition): New function.
1043 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
1044 (decode_coding_emacs_mule): Avoid long looking ahead while
1045 handling composition.
1046 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
1047 (ENCODE_COMPOSITION_RULE): New macro.
1048 (finish_composition): New function.
1049 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
1050 (DECODE_COMPOSITION_START): New implementation.
1051 (DECODE_COMPOSITION_END): Likewise.
1052 (STORE_COMPOSITION_RULE): New macro.
1053 (decode_coding_iso_2022): Avoid long looking ahead while handling
1054 composition, CTEXT extended segment, and embedded UTF-8.
1055 (setup_coding_system): For a coding of type iso-2022, reset
1056 CODING_ISO_EXTSEGMENT_LEN (coding) and
1057 CODING_ISO_EMBEDDED_UTF_8 (coding).
1058 (get_translation): Delete arguments last_block, from_nchars,
1059 to_nchars. Callers changed.
1060 (produce_chars): Don't modify charbuf. Adjusted for the change of
1061 get_translation.
98a326f7 1062 (produce_composition): Adjust for the new annotation sequence.
825d0875 1063 (handle_composition_annotation): Likewise.
98a326f7 1064 (consume_chars): Adjust for the change of get_translation.
825d0875 1065
ccbc4452
AR
10662009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
1067
4ddf94bd 1068 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 1069
988a7ddb
KH
10702009-03-05 Kenichi Handa <handa@m17n.org>
1071
1072 * font.c (font_select_entity): New function.
1073 (font_find_for_lface): Use font_select_entity to select a font.
1074
1075 * fontset.c (fontset_find_font): If a font found without
a8a3728b 1076 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
1077 font with C restriction.
1078
98a326f7 10792009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 1080
be1bce46 1081 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 1082
10ea2b82
JR
10832009-03-04 Jason Rumney <jasonr@gnu.org>
1084
2c93b248 1085 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 1086 characters that have already been read. (Bug#2569)
2c93b248 1087
10ea2b82
JR
1088 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
1089 Log an error message if check_image_size failed.
1090 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 1091 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 1092
71a0c011
EZ
10932009-03-02 Eli Zaretskii <eliz@gnu.org>
1094
1095 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
1096 when decoding process output.
1097
2f63bba8
RS
10982009-03-01 Richard M Stallman <rms@gnu.org>
1099
1100 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
1101
1102 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
1103
0a9564cb
EZ
11042009-02-28 Eli Zaretskii <eliz@gnu.org>
1105
1106 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
1107 (decode_coding_emacs_mule, decode_coding_iso_2022)
1108 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1109 (decode_coding_raw_text, decode_coding_charset)
1110 (setup_coding_system, decode_eol, decode_coding, consume_chars):
1111 Honor inhibit-eol-conversion. (Bug #2186)
1112
449148b3
JR
11132009-02-28 Jason Rumney <jasonr@gnu.org>
1114
1115 * coding.c (detect_coding_charset): If not checking latin extra,
1116 fail on characters between 0x80 and 0xA0. (Bug#2354)
1117
a4aee864
EZ
11182009-02-28 Eli Zaretskii <eliz@gnu.org>
1119
1120 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 1121 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 1122
d88bee5a
GM
11232009-02-27 Glenn Morris <rgm@gnu.org>
1124
1125 * callint.c (Finteractive): Doc fix.
1126
a808f22d
KH
11272009-02-27 Kenichi Handa <handa@m17n.org>
1128
1129 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
1130
caf8d60c
CY
11312009-02-27 Chong Yidong <cyd@stupidchicken.com>
1132
1133 * font.c (font_style_to_value): Set value for unknown symbols to
1134 100 instead of 255.
b61137ea
CY
1135 (weight_table, slant_table, width_table): Treat "unspecified" as
1136 the default value.
caf8d60c 1137
1a0de25c
JB
11382009-02-26 Juanma Barranquero <lekktu@gmail.com>
1139
1140 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
1141
8fc45744
JB
11422009-02-25 Juanma Barranquero <lekktu@gmail.com>
1143
107bd7d1
JB
1144 * lread.c (Fload): Stop checking Vloads_in_progress and signal
1145 error as soon as a recursive load is detected.
8fc45744 1146
f097e223
AR
11472009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1148
1149 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
1150 before caching.
1151
8810a12f
KH
11522009-02-24 Kenichi Handa <handa@m17n.org>
1153
1154 * fontset.c (fontset_find_font): Fix the condition for checking
1155 unavailable font.
1156
2c7d1565
GM
11572009-02-24 Glenn Morris <rgm@gnu.org>
1158
1159 * xfaces.c (Finternal_set_font_selection_order): Remove leading
1160 whitespace that confuses documentation.
1161
a20878b6
MB
11622009-02-23 Miles Bader <miles@gnu.org>
1163
1164 * process.c (Flist_system_processes, Fprocess_attributes)
1165 (syms_of_process): Rename `system-process-attributes' to
1166 `process-attributes'.
1167
b3b58c01
AS
11682009-02-22 Andreas Schwab <schwab@linux-m68k.org>
1169
1b3b981b
AS
1170 * coding.h (struct coding_system): Make safe_charsets a pointer to
1171 unsigned char.
1172 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
1173 being 255.
1174 (SAFE_CHARSET_P): Likewise.
1175 (setup_iso_safe_charsets): Properly setup safe_charsets.
1176 (Fdefine_coding_system_internal): Likewise.
1177 (setup_coding_system): Likewise. Remove unneeded casts.
1178 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
1179 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
1180 unneeded casts.
1181
b3b58c01
AS
1182 * insdel.c (del_range_2): Don't modify gap contents when called
1183 from decode_coding_object. (Bug#1809)
1184
0b6f228c
CY
11852009-02-21 Chong Yidong <cyd@stupidchicken.com>
1186
1187 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
1188 Qfont_object.
1189 (Ftype_of): Recognize font objects.
1190
1191 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
1192
1193 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
1194 moved to data.c.
1195
52f8870b
AR
11962009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1197
1198 * nsterm.m (x_make_frame_invisible): Unset async_visible,
1199 async_iconified. Based on a patch by Christian Lynbech
1200 <christian.lynbech@tieto.com>.
1201 (EmacsView-windowDidMiniaturize:): Unset async_visible.
1202
7087d5e9
GM
12032009-02-20 Glenn Morris <rgm@gnu.org>
1204
1205 * syntax.c (Fskip_chars_forward): Fix doc typo.
1206
41d2ceef
CY
12072009-02-20 Chong Yidong <cyd@stupidchicken.com>
1208
1209 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
1210
1a3b7ca6
CY
12112009-02-19 Chong Yidong <cyd@stupidchicken.com>
1212
1213 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
1214
73cce38d
KH
12152009-02-19 Kenichi Handa <handa@m17n.org>
1216
1217 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 1218 Don't overflow coding->carryover. (Bug#2370)
73cce38d 1219
a51092ee
DN
12202009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
1221
1222 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
1223
c423ecca
KH
12242009-02-18 Kenichi Handa <handa@m17n.org>
1225
1226 * font.c (font_check_otf_features): Fix handling of `nil' element.
1227 (Ffont_spec): Describe :lang and :otf in the docstring.
1228
4c1958f4
AS
12292009-02-16 Andreas Schwab <schwab@suse.de>
1230
1231 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
1232 string.
1233
5704f39a
KH
12342009-02-16 Kenichi Handa <handa@m17n.org>
1235
1236 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 1237 (Bug#1723)
5704f39a 1238
8f0085aa
CY
12392009-02-14 Chong Yidong <cyd@stupidchicken.com>
1240
a057d86a 1241 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
1242
1243 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
1244 (handle_line_prefix): Suppress wrapping of wrap prefixes.
1245
aff01dd9
EZ
12462009-02-14 Eli Zaretskii <eliz@gnu.org>
1247
1248 * msdos.c (MAX_SCREEN_BUF): New macro.
1249 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
1250 Encode the entire run of glyphs sharing the same face, instead of
1251 doing that one glyph at a time (fixes a bug with displaying
1252 double-size characters).
1253
ba301db3
AR
12542009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
1255
1256 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
1257
1258 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
1259 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 1260 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
1261
1262 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 1263 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 1264
51d861de
SM
12652009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
1266
1267 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
1268 invisible areas.
1269
7fed8996
JR
12702009-02-12 Jason Rumney <jasonr@gnu.org>
1271
631ea4fb
JR
1272 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
1273 (add_font_entity_to_list): Call check_face_name even when family
1274 is unspecified.
1275
cb4a3e42
JR
1276 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1277 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 1278 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 1279
7fed8996 1280 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 1281 raster fonts. (Bug#2219)
7fed8996 1282
895416e3
KH
12832009-02-12 Kenichi Handa <handa@m17n.org>
1284
1285 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
1286 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
1287 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 1288 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
1289 (find_automatic_composition): While looking forward and backward,
1290 check static composition. Fix where to stop looking forward.
1291 (composition_adjust_point): Fix checking of static composition.
1292 (Fcomposition_get_gstring): Pay attention to
1dacf998 1293 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
1294
1295 * lisp.h (fast_looking_at): Extern it.
1296
1297 * search.c (fast_looking_at): New function.
1298
51d861de 1299 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
1300 <struct glyph>.u.cmp.to.
1301 (append_composite_glyph): Likewise.
1302
51d861de 1303 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
1304 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
1305 composition.
51d861de 1306 (append_composite_glyph): Adjust for the change of
895416e3
KH
1307 <strcut glyph>.u.cmp.to.
1308
8510724d
JB
13092009-02-11 Juanma Barranquero <lekktu@gmail.com>
1310
1311 * casetab.c (init_casetab_once):
1312 * coding.c (ALLOC_CONVERSION_WORK_AREA):
1313 * font.c (font_update_lface):
1314 * fontset.c (Fnew_fontset):
1315 * ftfont.c (ftfont_drive_otf):
1316 * xfont.c (xfont_open):
1317 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
1318
294fa707
SM
13192009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1320
1321 * fileio.c (Fwrite_region): !NILP -> CONSP.
1322
b5bfebec
AS
13232009-02-10 Andreas Schwab <schwab@suse.de>
1324
1325 * process.c (send_process): Properly relocate pointer into data
adab88bd 1326 when using encoded data. (Bug#2272)
b5bfebec 1327
cb84a2be
KH
13282009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
1329
1330 * coding.c (detect_coding_charset): Fix previous change.
1331
89e09428
JR
13322009-02-08 Jason Rumney <jasonr@gnu.org>
1333
1334 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 1335 disappeared while hourglass was displayed. (Bug #2193)
89e09428 1336
4470a277
AS
13372009-02-07 Andreas Schwab <schwab@suse.de>
1338
1339 * unexelf.c (unexec): Fix error message.
1340
3175b12a
AR
13412009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
1342
1343 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 1344 when modal window is active. (Bug #2152)
3175b12a
AR
1345 (applicationShouldTerminate:): Remove now-unneeded while loop
1346 around NSRunAlertPanel.
1347
1348 * nsmenu.m (popupSession): New file-global variable.
1349 (pop_down_menu): End the popupSession before closing dialog.
1350 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
1351 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
1352 don't query NSApp for events (just sleep instead).
1353
8434d0b8
EZ
13542009-02-07 Eli Zaretskii <eliz@gnu.org>
1355
51d861de
SM
1356 * coding.c (syms_of_coding) <translation-table-for-input>:
1357 Modify doc string to discourage use for character code unification.
8434d0b8 1358
aa82edfd
CY
13592009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1360
1361 * atimer.c (run_timers): Update pending_atimers.
1362
2d283c7c
CY
13632009-02-06 Chong Yidong <cyd@stupidchicken.com>
1364
eb306cab
CY
1365 * image.c (svg_load_image): Fix last change.
1366
2d283c7c
CY
1367 * xfns.c (Fx_create_frame): Signal an error if no font is
1368 found (Bug#2147).
1369
4d8e170e
JB
13702009-02-05 Juanma Barranquero <lekktu@gmail.com>
1371
1372 * character.c (syms_of_character) <script-representative-chars>:
1373 Fix typo in docstring.
1374
c96169a0
AR
13752009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1376
1377 * nsmenu.m (pop_down_menu): New function.
1378 (ns_popup_dialog): Call it on unwind.
1379 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
1380 call timer_check() (Bug#2154).
1381 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
1382 handling_signal is set.
1383 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
1384
1385 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
1386
1387 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
1388
1389 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
1390
51d861de
SM
1391 * keyboard.c (poll_for_input_1, handle_async_input):
1392 Set handling_signal under HAVE_NS.
c96169a0 1393
aacd8ba1
GM
13942009-02-04 Glenn Morris <rgm@gnu.org>
1395
1396 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
1397
4cb75c4b
KH
13982009-02-04 Kenichi Handa <handa@m17n.org>
1399
1400 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
1401
1402 * charset.c (Fchar_charset): New optional arg restriction.
1403
1404 * coding.h (coding_system_charset_list): Extern it.
1405
1406 * coding.c (coding_system_charset_list): New function.
1407
1408 * composite.c: Include coding.h and termhooks.h.
1409 (composition_gstring_p): Fix for the terminal case.
1410 (composition_gstring_width): Likewise.
1411 (fill_gstring_body): Likewise.
1412 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
1413 the frame.
1414 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
1415 is within a composition.
867d4bb3 1416 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
1417
1418 * term.c (encode_terminal_code): Fix handling of composition.
1419 (produce_composite_glyph): For static composition, get pixel_width
1420 from struct composition.
1421
826ba17e
AS
14222009-02-02 Andreas Schwab <schwab@suse.de>
1423
1424 * unexelf.c (unexec): Handle unaligned bss offset.
1425
8ad093db
AR
14262009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1427
1428 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
1429 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 1430
8ad093db
AR
1431 * keyboard.c (handle_interrupt): Don't call
1432 quit_throw_to_read_char() under NS.
d0a76a6e 1433
8ad093db
AR
1434 * blockinput.h: Remove NS-specific code.
1435
4d18a7a2
DN
14362009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
1437
db878925
DN
1438 * dispnew.c (window_change_signal): Don't try to get the size of a
1439 suspended tty frame.
1440 * term.c (Fresume_tty): Resize if the size has changed while the
1441 tty was suspended.
1442
4d18a7a2
DN
1443 * alloc.c (mark_stack): Properly conditionalize previous change.
1444
8984df7c
JB
14452009-01-30 Juanma Barranquero <lekktu@gmail.com>
1446
1447 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
1448 * w32term.c (w32_read_socket) [SYNC_INPUT]:
1449 Remove; this code is not used on Windows.
1450
75f4f1ac
EZ
14512009-01-30 Eli Zaretskii <eliz@gnu.org>
1452
1453 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
1454 EOLs that also has stray ^M characters.
1455
07a1e794
JB
14562009-01-30 Juanma Barranquero <lekktu@gmail.com>
1457
1458 * atimer.c (run_timers, alarm_signal_handler):
1459 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
1460 * w32inevt.c (w32_console_read_socket):
1461 * w32term.c (w32_read_socket):
1462 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
1463
a8b11cc9
CY
14642009-01-30 Chong Yidong <cyd@stupidchicken.com>
1465
1466 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
1467 Initialize it as a relative filename pattern.
1468 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
1469 (Fcall_process_region): Simplify temp file creation using
1470 temporary-file-directory.
1471
c279587b
EZ
14722009-01-29 Eli Zaretskii <eliz@gnu.org>
1473
1474 * msdos.c: Rename pending_signals to msdos_pending_signals.
1475 (sig_suspender, sigprocmask): Adjust.
1476
a8fe3242
CY
14772009-01-29 Chong Yidong <cyd@stupidchicken.com>
1478
1479 * keyboard.c (pending_signals): New var.
1480 (poll_for_input, input_available_signal, init_keyboard): Set it.
1481 (process_pending_signals): New function.
1482
1483 * lisp.h (QUIT): Check pending_signals instead of
1484 interrupt_input_pending. Use process_pending_signals.
1485
51d861de 1486 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 1487
51d861de 1488 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
1489
1490 * sysdep.c (emacs_write): Use process_pending_signals.
1491
1492 * xterm.c (XTread_socket): Update pending_signals.
1493
1494 * w32term.c (w32_read_socket): Update pending_signals.
1495
1496 * w32inevt.c (w32_console_read_socket): Update pending_signals.
1497
6570a1c4
KH
14982009-01-29 Kenichi Handa <handa@m17n.org>
1499
1500 * xftfont.c (xftfont_has_char): New function.
1501 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
1502
d72a4afa
AR
15032009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1504
1505 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
1506 under GNUstep.
1507 (ns_query_color): New declaration.
1508
1509 * nsterm.m (ns_confirm_quit): New variable.
1510 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
1511 (EmacsApp-applicationShouldTerminate:): Use it.
1512 (EmacsPrefsController): Let user set it.
1513 (ns_query_color): New function.
1514 (ns_defined_color): Use it.
1515 (ns_initialize): Drop.
1516 (ns_term_init): Add two lines from ns_initialize(), and set
1517 input_interrupt_mode to nil.
1518
1519 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 1520 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 1521
9fe78804
KH
15222009-01-28 Kenichi Handa <handa@m17n.org>
1523
1524 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
1525 (fontset_get_font_group): Remember that no font-group is specified
1526 for C.
9fe78804 1527
fa57de36
CY
15282009-01-27 Chong Yidong <cyd@stupidchicken.com>
1529
930600e9
CY
1530 * fns.c (concat): Check for string overflow (bug#1787).
1531
fa57de36
CY
1532 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
1533 Quadruple undo limits (bug#1501).
1534
7179ce7b
KH
15352009-01-27 Kenichi Handa <handa@m17n.org>
1536
1537 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
1538 directly use GT_Get_Char_index.
1539
1540 * xftfont.c (struct xftfont_info): New member `index'.
1541
1542 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 1543 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 1544
5be8fcc0
CY
15452009-01-26 Kenichi Handa <handa@m17n.org>
1546
1547 * fontset.c (fontset_find_font): Fix handling of non-cons return
1548 value of fontset_get_font_group.
1549 (fontset_font): Revert last change.
1550
19ae3e61
JR
15512009-01-26 Jason Rumney <jasonr@gnu.org>
1552
1553 * w32font.c (w32font_list_internal): Return quickly if registry is
1554 unknown. Simplify final return.
1555 (add_font_entity_to_list): Break complex logic down into more
1556 manageable chunks. Move unknown registry check to
1557 w32font_list_internal.
1558
8612b71a
AR
15592009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
1560
1561 Changes to remove Feval calls from GUI under NS.
1562
d8038940
JB
1563 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
1564 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
1565 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
1566
1567 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
1568 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
1569 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
1570 instead of NON_ASCII_KEYSTROKE_EVENT.
1571 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
1572 (EmacsApp-applicationShouldTerminate:): Query user.
1573 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
1574 instead of Feval.
1575
1576 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
1577
1578 * keyboard.c (kbd_buffer_get_event): Check for it.
1579 (keys_of_keyboard): Define lispy keys for
1580 ns-put/unput-working-text.
1581
1582 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
1583 versions.
1584 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
1585
6288ae55
CY
15862009-01-25 Chong Yidong <cyd@stupidchicken.com>
1587
1588 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 1589 setting current_buffer directly. (Bug#2044)
6288ae55 1590
289e7f8f
CY
15912009-01-24 Chong Yidong <cyd@stupidchicken.com>
1592
5ce87308 1593 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 1594 any work. (Bug#1952, bug#1990).
5ce87308 1595
64cc3cf6 1596 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 1597
b3243e6f
AR
15982009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1599
1600 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
1601 (ns_no_defaults): New declaration.
1602 (main): Use it.
e0d2e69a 1603
d900b2af 1604 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 1605
d900b2af 1606 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 1607
d900b2af
AR
1608 * nsterm.m (ns_no_defaults): New variable.
1609 (ns_initialize): Don't read defaults when ns_no_defaults.
1610 (EmacsView-readSelectionFromPasteboard:)
1611 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 1612 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
1613 (ns_dumpglyphs_stretch): New function.
1614 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 1615 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 1616
e0d2e69a
AR
1617 * nsimage.m (setPixmapData:): Set to ignore image DPI.
1618
3ac71f5d
CY
16192009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
1620
1621 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
1622 call for Sparc64.
1623
3fe53a83
AR
16242009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1625
1626 * nsfns.m:
1627 * nsgui.h:
1628 * nsmenu.m:
1629 * nsselect.m:
1630 * nsterm.h:
1631 * nsterm.m: Remove '23' comments that indicated code added during
1632 update from emacs-20 -> emacs-23.
1633
10f87c6f 16342009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
1635
1636 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 1637 ns_alternate_modifier. (Bug#1217)
a3b53a85 1638
c7cef62d
AR
1639 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
1640 Display all shortcuts, including those w/o super modifier.
1641
575fb8bd
AR
1642 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
1643
918b848b
CY
16442009-01-22 Chong Yidong <cyd@stupidchicken.com>
1645
1646 * fileio.c (Vwrite_region_post_annotation_function)
1647 (Vwrite_region_annotation_buffers): New vars.
1648 (build_annotations_unwind): Just reset
1649 Vwrite_region_annotation_buffers.
1650 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
1651 Call write-region-post-annotation-function.
1652 (build_annotations): Add to Vwrite_region_annotation_buffers if
1653 buffer changes.
1654
a39e2539
AR
16552009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1656
1657 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
1658 Tiger.
51d861de
SM
1659 * nsfns.m (ns_do_applescript):
1660 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 1661
35ed44db
AR
16622009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1663
1664 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
1665
cbe0b5bf
AR
16662009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1667
1668 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 1669
6049d3a0
AR
1670 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
1671
1672 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
1673 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
1674 handle Ctrl-tab. (Bug#1841)
1675 (ns_get_color): Use unsigned long long for scanned hex string value.
1676 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 1677 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 1678 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 1679 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 1680 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 1681 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 1682 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 1683
d3810c21 1684 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 1685 DPI. (Bug#1316)
d3810c21
AR
1686 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
1687 values in onTiger section.
4c7077c3 1688
e301e634
CY
16892009-01-19 Chong Yidong <cyd@stupidchicken.com>
1690
7f82490b
CY
1691 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
1692 Check return value of font_spec_from_name.
64cc3cf6 1693 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
1694
1695 * font.c (font_spec_from_name): Return Qnil if font name could not
1696 be parsed.
1697 (font_parse_name): Treat a `?' character as part of an XLFD.
1698
e301e634
CY
1699 * fns.c (Fsubstring): Doc fix.
1700
1c0db158
KH
17012009-01-19 Kenichi Handa <handa@m17n.org>
1702
51d861de 1703 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
1704 (ftfont_list): Likewise.
1705
acf20901
JB
17062009-01-18 Juanma Barranquero <lekktu@gmail.com>
1707
fff4e459
JB
1708 * dbusbind.c (Fdbus_register_signal):
1709 * process.c (conv_sockaddr_to_lisp):
1710 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
1711
acf20901
JB
1712 * callproc.c (Fgetenv_internal): Doc fix.
1713
e7abcdfb
CY
17142009-01-16 Chong Yidong <cyd@stupidchicken.com>
1715
1716 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
1717 it is not even used.
1718
b60861e6
GM
17192009-01-16 Glenn Morris <rgm@gnu.org>
1720
1721 * font.c (Ffont_variation_glyphs): Silence compiler.
1722
8db52afe
JB
17232009-01-15 Juanma Barranquero <lekktu@gmail.com>
1724
1725 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
1726 Reported by David Robinow <drobinow@gmail.com>.
1727
4cddb209
KH
17282009-01-15 Kenichi Handa <handa@m17n.org>
1729
51d861de 1730 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 1731
f247f67b
JR
17322009-01-14 Jason Rumney <jasonr@gnu.org>
1733
1734 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 1735 never a fontset. (Bug#1562)
f247f67b 1736
f56a4450
KH
17372009-01-14 Kenichi Handa <handa@m17n.org>
1738
1739 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 1740 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 1741
4e99855e
CY
17422009-01-13 Chong Yidong <cyd@stupidchicken.com>
1743
1744 * font.c (font_clear_prop): If clearing the family, clear the font
1745 width index too.
1746
fff4e459 1747 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 1748
24f01470
JB
17492009-01-12 Juanma Barranquero <lekktu@gmail.com>
1750
1751 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1752 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1753 functions, use sizeof.
1754
a41240a3
MR
17552009-01-12 Martin Rudalics <rudalics@gmx.at>
1756
1757 * keyboard.c (read_char): Fix case where last_nonmenu_event
1758 returned a bad value with submenus. (Bug#447)
1759
944636b8
CY
17602009-01-12 Chong Yidong <cyd@stupidchicken.com>
1761
1762 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1763 family, clear the font width index too.
1764
0dad7c6f
JR
17652009-01-11 Jason Rumney <jasonr@gnu.org>
1766
1767 * keyboard.c (cmd_error_internal): Exit when errors occur before
1768 frame creation and not in daemon mode. (Bug#1836)
1769
7c2363af
CY
17702009-01-10 Chong Yidong <cyd@stupidchicken.com>
1771
1772 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1773 of a display vector, backtrack.
1774 (try_window_reusing_current_matrix): Check glyph type before
1775 referencing charpos member.
1776
97b1b294
EZ
17772009-01-10 Eli Zaretskii <eliz@gnu.org>
1778
1779 Fix Bug #876:
1780
1781 * coding.c (inhibit_null_byte_detection): New variable.
1782 (detect_coding, detect_coding_system): Don't pay attention to null
1783 bytes if inhibit_null_byte_detection is non-zero.
51d861de 1784 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
1785 <inhibit-iso-escape-detection>: Doc fix.
1786
4624b6e3
JR
17872009-01-09 Jason Rumney <jasonr@gnu.org>
1788
1789 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 1790 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
1791 Only report Unicode Plane 2 fonts as unicode-sip.
1792
323b840c
CY
17932009-01-09 Chong Yidong <cyd@stupidchicken.com>
1794
51d861de
SM
1795 * xfaces.c (Fx_font_family_list): Delete function.
1796 Move compatibility version to faces.el.
323b840c 1797
51d861de 1798 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 1799
eba7400d
MR
18002009-01-09 Martin Rudalics <rudalics@gmx.at>
1801
1802 * frame.c (x_set_frame_parameters): Remember requested value for
1803 fullscreen before it's reset by the parameter handler.
1804
4b09796d
GM
18052009-01-09 Glenn Morris <rgm@gnu.org>
1806
1807 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 1808 (last_command_event): ... and update all users.
4b09796d
GM
1809 (last_input_char): For clarity, rename to...
1810 (last_input_event): ... and update all users.
1811 (last-command-char, last-input-char): Move to subr.el as aliases.
1812 * cmds.c, commands.h: Update for last_command_char rename.
1813
14ccea62
CY
18142009-01-08 Chong Yidong <cyd@stupidchicken.com>
1815
51d861de 1816 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 1817
5f004711
JR
18182009-01-08 Jason Rumney <jasonr@gnu.org>
1819
1820 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1821 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1822 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1823 Don't declare.
fff4e459 1824 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
1825 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1826
b71f6f73
KH
18272009-01-07 Kenichi Handa <handa@m17n.org>
1828
50b06221 1829 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 1830 remember the coding system used for decoding in
50b06221
KH
1831 coding_system (Bug#1039).
1832
b71f6f73 1833 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 1834 breaking the loop. (Bug#870)
b71f6f73
KH
1835 (decode_coding_utf_16, decode_coding_emacs_mule)
1836 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1837 (decode_coding_charset): Likewise.
1838
56f668f7
MR
18392009-01-05 Martin Rudalics <rudalics@gmx.at>
1840
1841 * frame.c (x_set_frame_parameters): Make sure height (width) get
1842 applied when fullwidth (fullheight) is set. (Bug#1522)
1843
5da9424d
JB
18442009-01-04 Juanma Barranquero <lekktu@gmail.com>
1845
1846 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
1847 (utc_base): Declare as ULONGLONG, not long double.
1848 (convert_time_raw): Delete.
1849 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
1850 (initialize_utc_base): New function.
1851 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
1852 (convert_from_time_t): Use initialize_utc_base; compute result with
1853 64-bit arithmetic.
1854 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
1855
c4605e09
EZ
18562009-01-03 Eli Zaretskii <eliz@gnu.org>
1857
9acef61c 1858 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
1859 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
1860 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
1861 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
1862 [!subprocesses]: Define.
1863 (syms_of_process) [!subprocesses]: Intern and staticpro them.
1864 (Flist_system_processes, Fsystem_process_attributes)
1865 [!subprocesses]: Call list_system_processes and
1866 system_process_attributes instead of returning Qnil.
1867
9acef61c
JB
1868 * dosfns.c (system_process_attributes, list_system_processes):
1869 New functions.
c4605e09
EZ
1870
1871 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
1872
1873 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
1874 Don't use the default (no-op) implementation.
1875
8b7d0a16
JR
18762009-01-03 Jason Rumney <jasonr@gnu.org>
1877
a6d46bc1
JR
1878 * keyboard.c (parse_modifiers_uncached): Wheel events are
1879 clicks (bug#687).
1880
8b7d0a16
JR
1881 * w32term.c (x_query_colors, x_query_color): New functions.
1882
1883 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
1884 (svg_load_image): Cast returned pointers from dynamically loaded
1885 functions. Eliminate W32 specific code.
1886
bfe11752
DN
18872009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
1888
89e2438a
DN
1889 * nsfns.m (x_set_foreground_color, x_set_background_color)
1890 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
1891 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
1892 x_ prefix instead of ns_. Update references.
1893 (syms_of_nsfns): Add a FIXME comment.
1894
1895 * nsterm.m (x_set_cursor_type): New prototype.
1896 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
1897
bfe11752
DN
1898 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
1899 for Solaris instead of incorrectly providing Qutime and Qcutime.
1900
031da700
EZ
19012009-01-02 Eli Zaretskii <eliz@gnu.org>
1902
1903 * w32.c (process_times): Compute sum of utime and stime.
1904 (system_process_attributes): Add Qtime to the alist.
1905
1906 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
1907 and add them to the alist.
1908
1909 * process.c (top level) <Qtime, Qctime>: New variables.
1910 (syms_of_process): staticpro them.
1911 (Fsystem_process_attributes): Add their documentation to the doc
1912 string.
1913
1914 * process.h: Declare Qtime and Qctime.
1915
df23bf08
JR
19162009-01-02 Jason Rumney <jasonr@gnu.org>
1917
9acef61c 1918 * image.c (Qgobject): New symbol.
df23bf08
JR
1919 (syms_of_image): Initialize it.
1920 (init_svg_functions): Load some functions from gobject library.
1921
5bbdf7aa
DN
19222009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
1923
1924 * frame.c (make_terminal_frame): Remove redundant code and useless
1925 block.
1926
63136da6
AS
19272009-01-01 Andreas Schwab <schwab@suse.de>
1928
1929 * process.c (conv_sockaddr_to_lisp): Add workaround for
1930 getsockname bug on BSD.
1931
9ef69046
CY
19322009-01-01 Chong Yidong <cyd@stupidchicken.com>
1933
d6fafbe0
CY
1934 * xfns.c (x_create_tip_frame): Set border width of the X window.
1935
51d861de 1936 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 1937
f9c34147
JR
19382009-01-01 Jason Rumney <jasonr@gnu.org>
1939
9acef61c 1940 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
1941 Don't block input, as per earlier xterm.c changes.
1942
f5497e45
AR
19432008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
1944
1945 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
1946 (ns_appkit_version_int): New function.
1947 (x-server-version): Use ns_appkit_version_int and follow 21+
1948 convention of returning 3 integers.
1949
c19cab20
KH
19502008-12-30 Kenichi Handa <handa@m17n.org>
1951
1952 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
1953 (CHAR_SURROGATE_PAIR_P): New macro.
1954
1955 * font.h (struct font_driver): New member get_variation_glyphs.
1956
9acef61c 1957 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
1958 (Ffont_variation_glyphs): New function.
1959 (syms_of_font): Defsubr it.
1960
1961 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
1962 ftfont_variation_glyphs.
1963 (setup_otf_gstring): New function.
1964 (ftfont_drive_otf): Use it.
1965 (ftfont_shape_by_flt): Handle variation selector.
1966 (ftfont_variation_glyphs): New function.
1967
28cd591f
MR
19682008-12-30 Martin Rudalics <rudalics@gmx.at>
1969
1970 * frame.c (Vemacs_iconified): Remove.
1971
7f714baf
JR
19722008-12-30 Jason Rumney <jasonr@gnu.org>
1973
1974 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 1975 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 1976
9d2d22ab
CY
19772008-12-30 Chong Yidong <cyd@stupidchicken.com>
1978
1979 * indent.c (Fvertical_motion): Don't advance iterator if we have
1980 reseated to the desired position.
1981
1982 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
1983 checking for pos match.
1984
545312c2
KH
19852008-12-30 Kenichi Handa <handa@m17n.org>
1986
1ede3eb6
KH
1987 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
1988 just get the low 8-bit of the code.
1989
545312c2
KH
1990 * font.c (font_intern_prop): Validate str as multibyte.
1991
bd7bbf29
DN
19922008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1993
31e0750e
DN
1994 * dispextern.h (struct face): Move lface and hash from the middle
1995 of bitfields.
1996
bd7bbf29
DN
1997 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
1998
b5672e7c
DN
19992008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
2000
2001 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
2002 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
2003 instead of intervals.h.
2004
d704470f
AS
20052008-12-26 Andreas Schwab <schwab@suse.de>
2006
2007 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
2008 cons.
2009
54b33868
MR
20102008-12-26 Martin Rudalics <rudalics@gmx.at>
2011
2012 * textprop.c (Qminibuffer_prompt): New variable.
2013 (syms_of_textprop): Initialize it.
2014 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
2015 in minibuffer-prompt face. (Bug#1662)
2016
40b615d6
JR
20172008-12-25 Jason Rumney <jasonr@gnu.org>
2018
2019 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
2020
baae5c2d
JR
20212008-12-24 Jason Rumney <jasonr@gnu.org>
2022
2023 * ralloc.c (r_alloc_reset_variable): New function.
2024
2025 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 2026 record of what points where. (Bug#716)
baae5c2d 2027
a9051c88
DN
20282008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
2029
2030 * minibuf.c (read_minibuf): Follow the non-interactive case when
2031 running as a daemon, before detaching.
2032
8b146312
AS
20332008-12-22 Andreas Schwab <schwab@suse.de>
2034
2035 * buffer.c (init_buffer): Use realloc instead of xrealloc.
2036 * gtkutil.c (free_widget_value): Use xfree instead of free.
2037
56f2de10
MR
20382008-12-22 Martin Rudalics <rudalics@gmx.at>
2039
2040 * frame.c (delete_frame): New function derived from
2041 Fdelete_frame to handle Qnoelisp value for FORCE argument.
2042 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
2043 (Fdelete_frame): Call delete_frame. Remove line from doc-string
2044 saying that FORCE non-nil doesn't run `delete-frame-functions'.
2045 * frame.h: Extern delete_frame.
2046 * window.c (window_loop):
2047 * terminal.c (delete_terminal):
2048 * xterm.c (x_connection_closed):
2049 * xfns.c (Fx_hide_tip):
9acef61c 2050 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 2051
1fc200d6
JR
20522008-12-21 Jason Rumney <jasonr@gnu.org>
2053
2054 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
2055 when character maps to .notdef character.
2056
5e252df2
SM
20572008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
2058
2059 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
2060
99b72cc4
JR
20612008-12-20 Jason Rumney <jasonr@gnu.org>
2062
2063 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 2064 a graphical frame on Windows. (Bug#1325)
99b72cc4 2065
acc49a52
JD
20662008-12-20 Jan Djärv <jan.h.d@swipnet.se>
2067
2068 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
2069
6ea15123
CY
20702008-12-20 Chong Yidong <cyd@stupidchicken.com>
2071
2072 * minibuf.c (Fread_buffer): Doc fix.
2073
b2dab6c8
JR
20742008-12-20 Jason Rumney <jasonr@gnu.org>
2075
54ea0c87 2076 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 2077 server name in UNC paths. (Bug#719)
54ea0c87 2078
b2dab6c8 2079 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 2080 charbuf. (Bug#1035)
b2dab6c8 2081
6d1921be
DN
20822008-12-19 Daniel Engeler <engeler@gmail.com>
2083
2084 * sysdep.c (serial_configure): Fix typo.
2085
53934c98
DN
20862008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2087
2088 * sysdep.c: Include alloca.h.
f4f634e8
DN
2089 (system_process_attributes): Add implementation for Solaris.
2090
2091 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 2092
06e111a6
DN
20932008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2094
2095 Reorganize implementation of Flist_system_processes and
2096 Fsystem_process_attributes. No functional changes.
2097 * process.c: Don't #include pwd.h, grp.h and limits.h.
2098 (Flist_system_processes): Just call list_system_processes.
2099 (Fsystem_process_attributes): Just call system_process_attributes.
2100 (procfs_list_system_processes, time_from_jiffies)
2101 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
2102 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
2103
2104 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
2105 (list_system_processes): Rename from
2106 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
2107 Provide a do nothing implementation.
2108 (system_process_attributes): Rename from
2109 procfs_list_system_processes.
2110 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 2111 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
2112
2113 * w32.c (list_system_processes): Rename from
2114 w32_list_system_processes.
2115 (system_process_attributes): Rename from
2116 w32_system_process_attributes.
2117
2118 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
2119
2120 * process.h (w32_list_system_processes)
2121 (w32_system_process_attributes): Remove.
2122 (list_system_processes, system_process_attributes): New
2123 prototypes.
2124
6a705b23
KH
21252008-12-19 Kenichi Handa <handa@m17n.org>
2126
2127 * xfont.c (xfont_decode_coding_xlfd): New function.
2128 (xfont_encode_coding_xlfd): New function.
2129 (xfont_list_pattern): Decode XLFD by iso-8859-1.
2130 (xfont_list): Decode and encode XLFD by iso-8859-1.
2131 (xfont_match): Likewise.
2132 (xfont_list_family): Likewise.
2133 (xfont_open): Likewise.
2134
d66c0241 2135 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
2136 names are utf-8.
2137
d66c0241 2138 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
2139 names are utf-8.
2140
5a130941
JD
21412008-12-18 Jan Djärv <jan.h.d@swipnet.se>
2142
2143 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
2144 changed.
bfd20325
JD
2145 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
2146 clicked on a detached tool bar button.
5a130941 2147
fd95644b
DN
21482008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
2149
2150 * emacs.c (main): Print and error and exit when no data is read
2151 from the pipe.
2152
e6eee6ae
JR
21532008-12-17 Jason Rumney <jasonr@gnu.org>
2154
2155 * w32font.c (w32font_has_char): Always return -1.
2156
a35dd56b
KH
21572008-12-16 Kenichi Handa <handa@m17n.org>
2158
2159 * font.c (font_open_entity): Fix previous change.
2160
0e3635c2
DN
21612008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
2162
2163 * process.c: Include <limits.h>.
2164
d4835507 21652008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
2166
2167 * font.c (font_update_drivers): Fix mistake in reconstructing the
2168 driver list.
2169
21702008-12-16 Chong Yidong <cyd@stupidchicken.com>
2171
2172 * font.c (font_clear_cache): Fix format of font cache data.
2173
e2cbc401
CY
21742008-12-15 Chong Yidong <cyd@stupidchicken.com>
2175
2176 * xftfont.c (xftfont_open): Free Xft font pattern if
2177 XftFontOpenPattern fails.
2178
2179 * xterm.c (x_free_frame_resources): Remove extraneous call to
2180 free_frame_faces.
2181
b131d535
CY
21822008-12-13 Chong Yidong <cyd@stupidchicken.com>
2183
2184 * xterm.c (x_delete_display): Move xim_close_dpy call to
2185 x_delete_terminal.
2186 (x_delete_terminal): Call xim_close_dpy.
2187
e6df5336
JR
21882008-12-13 Jason Rumney <jasonr@gnu.org>
2189
2190 * w32font.c (intern_font_name): New function.
2191 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
2192 (w32font_open_internal, Fx_select_font): Decode font name.
2193 (fill_in_logfont, list_all_matching_fonts): Encode font name.
2194
2195 * w32font.h (intern_font_name): Declare new function.
2196
2197 * w32uniscribe.c (add_opentype_font_name_to_list):
2198 Use intern_font_name.
2199
20d68145
CY
22002008-12-13 Chong Yidong <cyd@stupidchicken.com>
2201
9f2554de
CY
2202 * frame.c (Fdelete_frame): Call free_font_driver_list.
2203
3d9bec9a
CY
2204 * font.c (free_font_driver_list): Implement missing function.
2205
20d68145
CY
2206 * w32term.c (w32_term_init): Don't initialize the image cache
2207 here; it will be done in init_frame_faces.
2208
2209 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
2210 (struct x_display_info): Remove unused member null_pixel. New
2211 member xim_callback_data.
2212
2213 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
2214 (xim_initialize): Save pointer to callback function data.
2215 (xim_close_dpy): Free callback function data. Call XCloseIM,
2216 reverting 2008-11-04 change by David Smith.
2217 (x_term_init): Don't initialize the image cache here; it will be
2218 done in init_frame_faces. Remove ancient "null_pixel" cruft.
2219 (x_delete_display): Free x_dnd_atoms member.
2220
96f9306b
KH
22212008-12-13 Kenichi Handa <handa@m17n.org>
2222
6dec9044
JB
2223 * font.c (font_rescale_ratio): Moved from xfaces.c.
2224 Argument type changed. Handle a font-spec too.
96f9306b 2225 (font_score): Check Vface_font_rescale_alist.
6dec9044 2226 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
2227
2228 * xfaces.c (font_rescale_ratio): Moved to font.c.
2229
8d5b4964
CY
22302008-12-13 Chong Yidong <cyd@stupidchicken.com>
2231
2232 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
2233
e6df5336
JR
22342008-12-12 Jason Rumney <jasonr@gnu.org>
2235
2236 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
2237 Vwindow_system_version to the real w32 major version.
2238
97c6058a
DN
22392008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
2240
2241 * term.c (init_tty): Move setting the terminal name before the
2242 potential user: maybe_fatal.
2243
ec4e88d7
CY
22442008-12-11 Chong Yidong <cyd@stupidchicken.com>
2245
d4835507
JB
2246 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
2247 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 2248
b4233ec9
JR
22492008-12-11 Jason Rumney <jasonr@gnu.org>
2250
8ec71e23 2251 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 2252 SYMBOL_CHARSET. (Bug#547)
8ec71e23 2253
b4233ec9 2254 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 2255 size for surrogates. (Bug#1096, bug#872)
b4233ec9 2256
011a0143
JB
22572008-12-11 Juanma Barranquero <lekktu@gmail.com>
2258
2259 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
2260
3c309f34
JB
22612008-12-11 Juanma Barranquero <lekktu@gmail.com>
2262
2263 * process.c (Fsystem_process_attributes, syms_of_process):
2264 Fix typo in name of Ssystem_process_attributes.
2265 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
2266
fedc6ab5
JB
22672008-12-11 Juanma Barranquero <lekktu@gmail.com>
2268
2269 * syntax.c (Fmodify_syntax_entry): Doc fix.
2270
ba3de0e8
JB
22712008-12-10 Juanma Barranquero <lekktu@gmail.com>
2272
2273 * font.c (Ffont_spec): Move usage to end of docstring.
2274
174f1c74
JR
22752008-12-10 Jason Rumney <jasonr@gnu.org>
2276
2277 * w32font.c (Qcham): New symbol.
2278 (font_supported_scripts): Add cham, and comments for other new
2279 scripts in bitfield from OpenType spec.
9d32f818
JR
2280 (add_font_entity_to_list): Limit unicode-sip fonts to those that
2281 contain characters beyond the bmp.
174f1c74 2282
7b649478
KH
22832008-12-10 Kenichi Handa <handa@m17n.org>
2284
2285 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 2286 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
2287 Qunicode_sip.
2288
2133e2d1
JB
22892008-12-10 Juanma Barranquero <lekktu@gmail.com>
2290
2291 * coding.c (QCdefault_char): Rename from QCdefalut_char.
2292 (Fcoding_system_put): Use QCdefault_char.
2293 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
2294
9af886ee
CY
22952008-12-09 Chong Yidong <cyd@stupidchicken.com>
2296
74d819eb
CY
2297 * xftfont.c (syms_of_xftfont): Fix typo.
2298
4ccfa1c0 2299 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 2300
7c19d3ae
DN
23012008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
2302
2303 * emacs.c (main): Close daemon_pipe on exec.
2304
567826bb
CY
23052008-12-08 Chong Yidong <cyd@stupidchicken.com>
2306
2307 * termchar.h (struct tty): New members termcap_term_buffer and
2308 termcap_strings_buffer.
2309
2310 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 2311 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
2312 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
2313 All callers changed.
2314 (init_tty): Store termcap data and string buffers in new struct
2315 tty members termcap_term_buffer and termcap_strings_buffer.
2316 (delete_tty): Free them.
4ccfa1c0 2317 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 2318
aa96c42b
SZ
23192008-12-07 Seiji Zenitani <zenitani@mac.com>
2320
2321 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 2322 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 2323
b7e1d896
CY
23242008-12-06 Chong Yidong <cyd@stupidchicken.com>
2325
2326 * coding.c (make_conversion_work_buffer): Disable buffer
2327 modification hooks in the work buffer.
2328
b5ec91a5
EZ
23292008-12-05 Eli Zaretskii <eliz@gnu.org>
2330
2331 * process.c (procfs_system_process_attributes): If `nread' has a
2332 negative value, assign zero to it.
2333
a5d2a52b
CY
23342008-12-05 Chong Yidong <cyd@stupidchicken.com>
2335
68c5540b 2336 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 2337
7bf1bb21
KH
23382008-12-05 Kenichi Handa <handa@m17n.org>
2339
2340 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
2341 second character is a combining character.
2342
2fdc7d00
EZ
23432008-12-05 Eli Zaretskii <eliz@gnu.org>
2344
2345 * process.c (procfs_system_process_attributes): Don't use cmd,
2346 cmdsize, and q without initializing them first.
2347
bf6bfba8
JR
23482008-12-04 Jason Rumney <jasonr@gnu.org>
2349
2350 * w32font.c (w32font_draw): Initialize orig_clip before getting
2351 it, and delete it when finished.
2352
a3b1a468
DN
23532008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
2354
2355 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
2356 case when running as a daemon before detaching.
2357
8b8be8eb
JB
23582008-12-03 Juanma Barranquero <lekktu@gmail.com>
2359
805f2638 2360 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 2361
b1bde622
KH
23622008-12-03 Kenichi Handa <handa@m17n.org>
2363
e500c47d
KH
2364 * font.c (font_at): Set `multibyte' at first.
2365
ca516334
KH
2366 * coding.c (decode_coding_charset): Check type of an element of
2367 vector VALIDS.
7bf1bb21 2368 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 2369
4ccfa1c0 2370 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
2371 (font_for_char): Likewise.
2372
1e5ecd37
CY
23732008-12-03 Chong Yidong <cyd@stupidchicken.com>
2374
d5b01609 2375 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
2376 (font_update_lface): Handle fonts with corrupted size specs,
2377 i.e. non-int and non-float.
d5b01609 2378
11e3a6e4 2379 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 2380 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 2381 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 2382
ab06788b
CY
2383 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
2384
1e5ecd37 2385 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 2386 underline_minimum_offset for underline position.
1e5ecd37 2387
63c125ab
DN
23882008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
2389
2390 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
2391
2392 * character.c (c_string_width): Specify the type for LEN.
2393
3a8406e1
KH
23942008-12-03 Kenichi Handa <handa@m17n.org>
2395
4ccfa1c0 2396 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 2397 (decode_coding_utf_8): Likewise.
4ccfa1c0 2398 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 2399 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 2400
651df7d9
CY
24012008-12-02 Chong Yidong <cyd@stupidchicken.com>
2402
2403 * keyboard.c (make_lispy_position): Only use PT if the selected
2404 window is current.
2405
1f625c6c
AS
24062008-12-02 Andreas Schwab <schwab@suse.de>
2407
f7741ce9
AS
2408 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
2409
1f625c6c
AS
2410 * doprnt.c (doprnt1): Fix size of charbuf.
2411
92bc2678
CY
24122008-12-02 Chong Yidong <cyd@stupidchicken.com>
2413
2414 * keyboard.c (timer_check): Revert last change.
2415
93b9e8cc
JB
24162008-12-02 Juanma Barranquero <lekktu@gmail.com>
2417
2418 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
2419
fd7a37d5
JB
24202008-12-01 Juanma Barranquero <lekktu@gmail.com>
2421
2422 * makefile.w32-in: Update dependencies.
2423 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
2424
c115043b
AS
24252008-12-01 Andreas Schwab <schwab@suse.de>
2426
2427 * font.c (register_font_driver): Use xmalloc.
2428 (font_put_frame_data): Likewise.
2429
f5668d2a
CY
24302008-12-01 Chong Yidong <cyd@stupidchicken.com>
2431
860d96be
CY
2432 * xfaces.c (realize_x_face): Make abort condition clearer.
2433
f5668d2a
CY
2434 * gtkutil.c (update_frame_tool_bar): Initialize variable.
2435
379c17e7
CY
24362008-11-30 Chong Yidong <cyd@stupidchicken.com>
2437
2438 * keyboard.c (timer_check): After a timer runs, ensure that the
2439 selected window's buffer is current.
2440
35f36d65
JB
24412008-11-30 Juanma Barranquero <lekktu@gmail.com>
2442
f952c61c
JB
2443 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
2444 It was accidentally restored by the Unicode merge.
2445
35f36d65
JB
2446 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
2447
b23077df
JB
24482008-11-29 Juanma Barranquero <lekktu@gmail.com>
2449
2450 * w32proc.c: Include "coding.h".
2451 (Fw32_short_file_name): Encode filename passed to Windows API.
2452 (Fw32_long_file_name): Encode filename passed to Windows API and
2453 decode back the result. (Bug#1433)
2454
b8ebe9dd
KH
24552008-11-29 Kenichi Handa <handa@m17n.org>
2456
8cc53f96
KH
2457 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
2458 not before accessing it.
2459
b8ebe9dd
KH
2460 * charset.c (Fdefine_charset_internal): After calculating
2461 min_char, max_char, and fastmap, copy the charset structure again.
2462 (encode_char): Fix the previous change.
2463
59bc82c0
SZ
24642008-11-28 Seiji Zenitani <zenitani@mac.com>
2465
2466 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
2467
2468 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
2469
2470 * nsterm.m (x_set_frame_alpha): New function.
2471
32247e3d
EZ
24722008-11-27 Eli Zaretskii <eliz@gnu.org>
2473
2474 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
2475
b003e5ff
JB
24762008-11-27 Juanma Barranquero <lekktu@gmail.com>
2477
2478 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
2479 pointer to check_face_name.
2480
708550f5
KH
24812008-11-27 Kenichi Handa <handa@m17n.org>
2482
2483 * category.h (SET_CATEGORY_SET): Call set_category_set.
2484 (set_category_set): Extern it.
2485
2486 * category.c (hash_get_category_set): New function.
2487 (Fmodify_category_entry): Adjusted for the change of
2488 char_table_ref_and_range. Call hash_get_category_set to get a
2489 category set to store in the table.
2490
2491 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
2492 Funify_charset.
2493
2ae37cf0 2494 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
2495 (DECODE_CHAR): Check if the decoder vector is ready.
2496 (ENCODE_CHAR): Check if the encoder char-table is ready.
2497 (maybe_unify_char): Extern it.
2498
2499 * charset.c (Vchar_unified_charset_table): Delete it.
2500 (inhibit_load_charset_map): New variable.
2501 (temp_charset_work): New variable.
2502 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
2503 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
2504 New macros.
2505 (load_charset_map): Meaning of control_flag changed. If
2506 inhibit_load_charset_map is nonzero, setup a table in
2507 temp_charset_work.
2508 (load_charset): New argument control_flag.
2509 (map_charset_for_dump): New function.
2510 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
2511 map_charset_for_dump.
2512 (Fdefine_charset_internal): If the charset method is MAP, load
2513 mapping tables by calling load_charset.
2514 (Funify_charset): Don't load a mapping table but directly set
2515 Vchar_unify_table.
2516 (maybe_unify_char): New function.
2517 (decode_char): Don't handle the deleted method MAP_DEFERRED.
2518 Handle the case of inhibit_load_charset_map being nonzero.
2519 (encode_char): Don't handle the deleted method MAP_DEFERRED.
2520 Handle the case of inhibit_load_charset_map being nonzero.
2521 (Fclear_charset_maps): Just free temp_charset_work.
2522 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
2523 variable.
2524
2525 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
2526 change of char_table_ref_and_range.
2527 (char_table_ref_and_range): Change the meaning of argument FROM
2528 and TO. Now the caller must provide initial values for *FROM
2529 and *TO.
2530
2531 * fontset.c (fontset_add): Adjusted for the change of
2532 char_table_ref_and_range.
2533 (fontset_get_font_group): Likewise.
2534 (Ffontset_info): Likewise.
2535
2536 * keymap.c (describe_vector): Adjusted for the change of
2537 char_table_ref_and_range. For char-table, put boundary between
2538 non-ASCII and 8-bit characters.
2539
2540 * print.c (print_object): For bool-vector, delete unnecessary
2541 check of ASCII_BYTE_P.
2542
9196133b
JR
25432008-11-26 Jason Rumney <jasonr@gnu.org>
2544
2545 * w32font.c (w32font_open_internal): Don't include external
9acef61c 2546 leading in font height. (Bug#879)
9196133b 2547
9f688acf
GM
25482008-11-26 Glenn Morris <rgm@gnu.org>
2549
2550 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
2551 redefinition with ifdef. (Bug#1383)
2552
90d19aff
AR
25532008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2554
2555 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
2556
4ccfa1c0 25572008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
2558
2559 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
2560 New EmacsView methods.
2561 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
2562 Fixes bug #1048,1357,1414.
2563
25642008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2565
2566 Fix bug #1362.
2567 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
2568 is not an indexed color.
2569 * nsterm.m (free_indexed_color): Add argument checking.
2570 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
2571
e7d5ecb3
CY
25722008-11-24 Chong Yidong <cyd@stupidchicken.com>
2573
2574 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
2575 Document confirm-after-completion value for
2576 minibuffer-completion-confirm.
2577
c285743c
JR
25782008-11-24 Jason Rumney <jasonr@gnu.org>
2579
2580 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
2581 warning.
2582
b0857706
JR
25832008-11-23 Jason Rumney <jasonr@gnu.org>
2584
2585 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
2586 restored before returning.
2587
2588 * w32font.c (check_face_name): New function.
2589 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 2590 fonts. (Bug#642)
b0857706 2591
ee50ff07
MR
25922008-11-22 Martin Rudalics <rudalics@gmx.at>
2593
2594 * buffer.c (Fswitch_to_buffer): Reword and mention new option
2595 confirm-nonexistent-file-or-buffer in doc-string.
2596
b8ff72fa
SM
25972008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2598
2599 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
2600 Fix copy/paste typo. Add checks.
2601
cee53ed4
KH
26022008-11-21 Kenichi Handa <handa@m17n.org>
2603
2604 * coding.c (detect_coding_iso_2022): Reject invalid composition
2605 sequence.
2606 (DECODE_COMPOSITION_START): If the current source is the last
2607 block, and the current composition doesn't end, regard this
2608 sequence as invalid.
2609 (decode_coding_iso_2022): Handle invalid composition sequence.
2610
f6ef1e65
MR
26112008-11-20 Martin Rudalics <rudalics@gmx.at>
2612
2613 * window.c (coordinates_in_window): Don't return
2614 ON_VERTICAL_BORDER for the rightmost position of a mode/header
2615 line when the window is not the rightmost one. (Bug#1372)
2616
e08b1705
MR
26172008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2618
2619 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
2620
ad98e89f
EZ
26212008-11-15 Eli Zaretskii <eliz@gnu.org>
2622
2623 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
2624 and bright_bg if noninteractive is non-zero.
2625
fb098a4b
CY
26262008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2627
2628 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
2629 x_draw_glyph_string_background.
2630
2631 * w32term.c (x_draw_glyph_string): Likewise.
2632
ce952b6e
CY
26332008-11-15 Chong Yidong <cyd@stupidchicken.com>
2634
2635 * xterm.c (x_draw_glyph_string): Stop drawing the background of
2636 the next glyph string once past the overhang width.
2637
2638 * nsterm.m (ns_draw_glyph_string): Likewise.
2639
2640 * w32term.c (x_draw_glyph_string): Likewise.
2641
26ea7079
CY
26422008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
2643
2644 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
2645 double file close.
2646
1c33c906
MR
26472008-11-14 Martin Rudalics <rudalics@gmx.at>
2648
2649 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
2650 dedicated status of window before attempting to display another
2651 buffer in it.
2652
8fc29035
JB
26532008-11-14 Juanma Barranquero <lekktu@gmail.com>
2654
2655 * msdos.c (Fmsdos_long_file_names):
2656 (syms_of_msdos) <dos-unsupported-char-glyph>:
2657 * dosfns.c (Fint86): Fix typos in docstrings.
2658
55fb4286
EZ
26592008-11-14 Eli Zaretskii <eliz@gnu.org>
2660
2661 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
2662
3fda0315
KY
26632008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
2664
2665 * puresize.h (BASE_PURESIZE): Increase to 1260000.
2666
7e849c17
CY
26672008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
2668
2669 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
2670
2671 * frame.h: Negative alpha means "don't touch".
2672
2673 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
2674
2675 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
2676
b9fd67bd
DN
26772008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
2678
2679 * hftctl.c:
2680 * chpdef.h:
2681 * acldef.h: Remove files used only for systems no longer supported.
2682
2683 * Makefile.in: Fix .o alphabetical ordering.
2684 (hftctl.o): Remove dependency, file removed.
2685 (keymap.o, print.o): Depend on charset.h.
2686
d5998e03
KH
26872008-11-10 Kenichi Handa <handa@m17n.org>
2688
2ae37cf0 2689 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 2690
be70e183
CY
26912008-11-08 Chong Yidong <cyd@stupidchicken.com>
2692
2693 * dired.c (file_name_completion): If completion_ignore_case is
2694 enabled, ignore case when checking completion-regexp-list.
2695
7cf94eac
EZ
26962008-11-08 Eli Zaretskii <eliz@gnu.org>
2697
2698 * vm-limit.c (get_lim_data): Fix last change.
2699
ee107a89
KH
27002008-11-08 Kenichi Handa <handa@m17n.org>
2701
2702 * character.c (Fget_byte): New function.
2703 (syms_of_character): Defsubr Fget_byte.
2704
5fd15622
CY
27052008-11-07 Chong Yidong <cyd@stupidchicken.com>
2706
2707 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
2708 cursor position is valid after scrolling.
2709
13d62fad
JB
27102008-11-06 Juanma Barranquero <lekktu@gmail.com>
2711
2712 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
2713
a1dd2936
GM
27142008-11-06 Glenn Morris <rgm@gnu.org>
2715
2716 * xterm.c (handle_one_xevent): Don't let popup menus cause
2717 mouse-autoselect-window related window switching. (Bug#1261)
2718
860cd236
CY
27192008-11-04 David Smith <davidsmith@acm.org> (tiny change)
2720
2721 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
2722
653a3150
AS
27232008-11-04 Andreas Schwab <schwab@suse.de>
2724
2725 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
2726
870f5cac
CY
27272008-11-03 Chong Yidong <cyd@stupidchicken.com>
2728
2729 * xfns.c (Fx_wm_set_size_hint): New function.
2730
1e02f3cb
MR
27312008-11-03 Martin Rudalics <rudalics@gmx.at>
2732
2733 * textprop.c (Fprevious_single_char_property_change): Return 0
2734 when there's no change in a string. (Bug#1301)
2735
e630dfc6
MR
27362008-11-02 Martin Rudalics <rudalics@gmx.at>
2737
2738 * frame.c (do_switch_frame): New argument NORECORD passed to
2739 Fselect_window.
2740 (Fselect_frame): New argument NORECORD passed to
2741 do_switch_frame.
2742 (Fset_frame_selected_window): New argument NORECORD passed to
2743 Fselect_frame.
2744 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2745 in call of do_switch_frame.
2746 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2747 Handle NORECORD argument in call of Fselect_frame.
2748 * lisp.h (do_switch_frame, Fselect_frame)
2749 (Fset_frame_selected_window): Adjust declarations.
2750 * window.c (select_frame_norecord): New function.
2751 (run_window_configuration_change_hook): Use it and call
2752 Fselect_frame with NORECORD set.
2753 (Fselect_window): Pass NORECORD to Fselect_frame.
2754 (Fset_window_configuration): Handle NORECORD argument in call of
2755 do_switch_frame.
2756 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2757 Fset_frame_selected_window.
2758 * keyboard.c (command_loop_1): Handle NORECORD in call of
2759 Fselect_frame (currently ifdefd).
2760
9020b223
GM
27612008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2762
2763 * emacs.c (USAGE2): Untabify.
2764
793ffee8
SM
27652008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2766
2767 * composite.c (fill_gstring_header): Fix copy/paste typo.
2768
ab6d1131
MR
27692008-10-31 Martin Rudalics <rudalics@gmx.at>
2770
2771 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2772 (Fother_window): Rename argument and rewrite doc-string.
2773 (select_window_norecord): Fix return value. (Bug#1276)
2774
601a9cf1
JB
27752008-10-30 Juanma Barranquero <lekktu@gmail.com>
2776
2777 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2778 new frames overriding foreground for tooltips. Based on similar patch
2779 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2780
813b0652
CY
27812008-10-29 Chong Yidong <cyd@stupidchicken.com>
2782
2783 * emacs.c (Fdaemon_initialized): Initialize nfd.
2784
4414f58f
MR
27852008-10-29 Martin Rudalics <rudalics@gmx.at>
2786
2787 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2788 (Fwindow_text_height): Clarify doc-strings.
2789 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2790 doc-string of window-scroll-functions.
2791
ecdcaa09
RS
27922008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2793
2794 * category.c (syms_of_category): Fix typo in docstring.
2795
23fe745a
JB
27962008-10-28 Juanma Barranquero <lekktu@gmail.com>
2797
2798 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2799 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2800 Fix typos in docstrings.
2801
ff808935
DN
28022008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2803
2804 * emacs.c (daemon_pipe): Make non-static.
2805 (IS_DAEMON): Move definition ...
2806 * lisp.h (IS_DAEMON): ... here.
2807 (daemon_pipe): Declare.
2808 (is_daemon): Remove.
2809 * dispnew.c (init_display): Use IS_DAEMON.
2810
fc012771
SM
28112008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2812
2813 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2814 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2815
2816 * emacs.c (is_daemon): Remove.
2817 (main): Don't set is_daemon.
2818 (IS_DAEMON): New macro.
2819 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 2820 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
2821 parent exits.
2822 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2823
d8bdbe6f
CY
28242008-10-27 Chong Yidong <cyd@stupidchicken.com>
2825
d1a072bf
CY
2826 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2827 over-sized glyph, draw it with the default glyph width.
2828
e2e325aa
CY
2829 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2830 glyph, draw it with the default glyph width.
2831
2832 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2833 glyph, draw it with the default glyph width.
2834
d8bdbe6f
CY
2835 * xdisp.c (try_scrolling): When computing the distance from the
2836 scroll margin to PT, try moving some distance past the window
2837 bottom before giving up.
2838
7bfac547
MR
28392008-10-27 Martin Rudalics <rudalics@gmx.at>
2840
2841 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
2842 (Fset_window_buffer): Explain in doc-string that a window can be
2843 "strongly" dedicated to its buffer.
2844
4ff029f6
DN
28452008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
2846
2847 * emacs.c (daemon_name): New variable.
2848 (main): Deal with --daemon=SERVER_NAME.
2849 (Fdaemonp): Return a name if one was passed to --daemon.
2850
5790ef40
DN
28512008-10-26 Romain Francoise <romain@orebokech.com>
2852
f9bd0df9 2853 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
2854 (main): Create a pipe before forking, make the parent exit only after
2855 the child has closed its end of the pipe. Move closing the
2856 descriptors ...
2857 (Fdaemon_initialized): ... here. New function.
2858
f5385255
SM
28592008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2860
4d632321
SM
2861 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
2862 the previous unoptimized table.
2863
f5385255
SM
2864 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
2865 the distinction between non-nil and non-t value of `dedicated'.
2866
6c56a0f3
CY
28672008-10-25 Chong Yidong <cyd@stupidchicken.com>
2868
2869 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 2870 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 2871
fec89261
MR
28722008-10-25 Martin Rudalics <rudalics@gmx.at>
2873
2874 * window.c (Fget_buffer_window, Fdelete_windows_on)
2875 (Freplace_buffer_in_windows): Make buffer argument optional and
2876 rename to buffer_or_name.
2877
34fcddd0
CY
28782008-10-24 Chong Yidong <cyd@stupidchicken.com>
2879
f5385255
SM
2880 * xdisp.c (handle_single_display_spec, handle_display_prop):
2881 Undo 2005-05-16 change.
34fcddd0
CY
2882 (handle_stop): Pop iterator if it's loaded with an empty string.
2883 (get_overlay_strings_1): Don't save iterator if it's loaded with
2884 an empty string (bug#1201).
2885
064766f2
KH
28862008-10-24 Kenichi Handa <handa@m17n.org>
2887
2888 * ftfont.c (ftfont_otf_features): Fix previous change.
2889 (ftfont_otf_capability): Check FeatureList.FeatureCount before
2890 calling ftfont_otf_features.
2891
f9bd0df9 28922008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
2893
2894 * font.c (font_match_p): Fix for the case that a vector of
2895 characters is in script-representative-chars.
2896
1dae9197
MA
28972008-10-24 Michael Albinus <michael.albinus@gmx.de>
2898
2899 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 2900 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
2901 (xd_read_queued_messages): Catch Qdbus_error from the macros.
2902 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
2903 macro. (Bug#1186).
2904
f9bd0df9 29052008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
2906
2907 * s/sol2-10.h: New file.
2908
878a4584
JB
29092008-10-23 Juanma Barranquero <lekktu@gmail.com>
2910
2911 * xdisp.c (fill_glyph_string): Fix typo in source (though the
2912 poor beast has survived 9+ years and the jump from xterm.c!).
2913
cd265ca6
MR
29142008-10-23 Martin Rudalics <rudalics@gmx.at>
2915
2916 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
2917 Reword doc-string.
f5385255 2918 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 2919
472a4dc9
JB
29202008-10-23 Juanma Barranquero <lekktu@gmail.com>
2921
2922 * character.c (syms_of_character) <script-representative-chars>:
2923 <unicode-category-table>: Doc fixes.
2924
159bd5a2
NF
29252008-10-23 Noah Friedman <friedman@splode.com>
2926
2927 * coding.c (make_conversion_work_buffer): Check that
2928 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
2929 Fget_buffer_create.
2930
49f9c344
KH
29312008-10-23 Kenichi Handa <handa@m17n.org>
2932
2933 * font.c (font_add_log): Check the values of extra properties.
2934
12bb3111
MR
29352008-10-22 Martin Rudalics <rudalics@gmx.at>
2936
2937 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2938 Reword doc-string.
2939 (Fset_window_parameter): Use NILP.
2940 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 2941 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 2942
bbeb4e99
JB
29432008-10-22 Juanma Barranquero <lekktu@gmail.com>
2944
2945 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
2946
29472008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
2948
2949 * nsfns.m (ns_appkit_version): New function.
2950 (x-server-version): Use it.
2951 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
2952 (x-server-vendor): Don't check_ns().
2953
2954 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
2955
a9b555d3
JB
29562008-10-22 Juanma Barranquero <lekktu@gmail.com>
2957
2958 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
2959 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
2960
4626499f
KH
29612008-10-22 Kenichi Handa <handa@m17n.org>
2962
e3681952
KH
2963 * syntax.c (scan_words): Call word_boundary_p instead of comparing
2964 scripts.
2965
4626499f
KH
2966 * category.c (word_boundary_p): Check scripts instead of charset.
2967 Handle nil value in word-separating-categories and
2968 word-combining-categories.
2969 (syms_of_category): Fix docstrings of word-separating-categories
2970 and word-combining-categories.
2971
1560f91a
EZ
29722008-10-21 Eli Zaretskii <eliz@gnu.org>
2973
2974 * coding.c (Fencode_coding_region, Fdecode_coding_region)
2975 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
2976
f4668441
MR
29772008-10-21 Martin Rudalics <rudalics@gmx.at>
2978
2979 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
2980 Rename arg "buffer" to "buffer_or_name".
2981 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
2982 it optional.
2983 (no_switch_window): Remove since the return value is not used.
a9b555d3 2984 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
2985 Consider window as dedicated when Fwindow_dedicated_p returns a
2986 non-nil value.
2987 * lisp.h: Remove prototype for no_switch_window.
2988
fd75ddb2
JD
29892008-10-21 Jan Djärv <jan.h.d@swipnet.se>
2990
2991 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 2992 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 2993
07295713
KH
29942008-10-21 Kenichi Handa <handa@m17n.org>
2995
2996 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
2997 check Vlatin_extra_code_table.
2998
712adc82
EZ
29992008-10-20 Eli Zaretskii <eliz@gnu.org>
3000
3001 * fileio.c (Fset_file_modes): Doc fix.
3002
f549eb0b
MA
30032008-10-19 Michael Albinus <michael.albinus@gmx.de>
3004
3005 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
3006 in arrays.
3007
aac0c6e3
MR
30082008-10-19 Martin Rudalics <rudalics@gmx.at>
3009
3010 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
3011 Mention kill-buffer in doc-string.
3012 (Fset_window_buffer): Reinsert tem check removed in last commit.
3013 (Fenlarge_window, Fshrink_window): Have argument names and
3014 doc-string follow Elisp manual more closely.
3015
30162008-10-18 Eli Zaretskii <eliz@gnu.org>
3017
3018 * fileio.c (Fset_file_modes): Doc fix.
3019
30202008-10-18 Martin Rudalics <rudalics@gmx.at>
3021
3022 * window.c (Fwindow_width, Fset_window_start)
3023 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
3024 (Fdelete_windows_on, Freplace_buffer_in_windows):
3025 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
3026 (Fwindow_dedicated_p): Make window argument optional.
3027 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
3028 (Fset_window_buffer): Respect any non-nil dedicated value for
3029 window. Rename "buffer" argument to "buffer_or_name".
3030
30312008-10-18 Ulrich Mueller <ulm@gentoo.org>
3032
3033 * m/sh3.h: New file, machine description for SuperH.
3034
30352008-10-17 Martin Rudalics <rudalics@gmx.at>
3036
3037 * window.c (Fsplit_window): Rename arg horflag to horizontal.
3038
30392008-10-17 Kenichi Handa <handa@m17n.org>
3040
3041 * ftfont.c (ftfont_otf_features): Fix indexing
3042 gsub_gpos->FeatureList.Feature. Check the validity of indices.
3043
30442008-10-16 Magnus Henoch <mange@freemail.hu>
3045
3046 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
3047 (Fdbus_call_method_asynchronously): Ditto.
3048 This change makes C-h f display the argument list.
3049
30502008-10-16 Chong Yidong <cyd@stupidchicken.com>
3051
3052 * fileio.c (Fexpand_file_name): Doc fix.
3053
3054 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
3055 of :foreground and :background equivalent to unspecified (20.x
3056 compatibility).
3057
30582008-10-15 Eli Zaretskii <eliz@gnu.org>
3059
3060 * buffer.c (syms_of_buffer): Doc fix.
3061
30622008-10-14 Kenichi Handa <handa@m17n.org>
3063
3064 * font.c (font_clear_prop): When clearing font width, clear the
3065 average width field too.
3066
30672008-10-12 Andreas Schwab <schwab@suse.de>
3068
3069 * ftfont.c (ftfont_shape_by_flt): Make static.
3070 * ftfont.h (ftfont_shape_by_flt): Don't declare.
3071
3072 * font.c: Don't include <m17n-flt.h>.
3073
30742008-10-10 Eli Zaretskii <eliz@gnu.org>
3075
3076 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
3077
30782008-10-09 Eli Zaretskii <eliz@gnu.org>
3079
3080 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
3081 away code.
3082
30832008-10-09 Chong Yidong <cyd@stupidchicken.com>
3084
3085 * dispnew.c (update_text_area): Avoid looping due to large glyph
3086 overhangs (bug#1070).
3087
30882008-10-09 Kenichi Handa <handa@m17n.org>
3089
3090 * fontset.c (face_for_char): If face->fontset is negative, just
3091 return ascii_face.
3092
f5385255
SM
3093 * font.c (font_delete_unmatched): Fix previous change.
3094 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
3095
30962008-10-09 Martin Rudalics <rudalics@gmx.at>
3097
3098 * frame.c (Fraise_frame): On text-only terminals select frame in
3099 order to make it visible. (Bug#1061)
3100
31012008-10-08 Chong Yidong <cyd@stupidchicken.com>
3102
3103 * fontset.c (fontset_find_font): Check frame validity.
3104
31052008-10-07 Chong Yidong <cyd@stupidchicken.com>
3106
a9b555d3 3107 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
3108 (xg_display_close): Allow Emacs to close all displays (bug#985).
3109
31102008-10-06 Andreas Schwab <schwab@suse.de>
3111
f5385255 3112 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
3113
31142008-10-06 Chong Yidong <cyd@stupidchicken.com>
3115
f5385255 3116 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 3117
a9b555d3 3118 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
3119
3120 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
3121 during initialization.
3122
31232008-10-04 Eli Zaretskii <eliz@gnu.org>
3124
3125 * xdisp.c (redisplay_internal): If frame switched, redisplay the
3126 whole thing on MSDOS frames as well as on a TTY.
3127
3128 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
3129 well as for TTY.
3130 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
3131 well as on a TTY.
3132
3133 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
3134 as well as for TTY.
3135
3136 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
3137
3138 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
3139 MSDOS frames as well.
3140
31412008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3142
3143 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
3144 correct arguments.
b71ac3dd 3145 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
3146
31472008-10-03 Glenn Morris <rgm@gnu.org>
3148
3149 * emacs.c (USAGE1): Add --daemon.
3150
31512008-10-02 Eli Zaretskii <eliz@gnu.org>
3152
3153 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
3154 100, so it's in percents as advertised.
3155
31562008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3157
3158 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
3159 (ns_output.current_cursor, ns_output.desired_cursor)
3160 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
3161 (FRAME_NEW_CURSOR_COLOR): Remove.
3162
3163 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 3164 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
3165 enumeration (HOLLOW_BOX_CURSOR, etc.).
3166
3167 * nsterm.m (ns_frame_rehighlight): Remove commented code.
3168 (draw_window_cursor): Simplify code.
f5385255
SM
3169 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
3170 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 3171 updates manually.
a9b555d3
JB
3172 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
3173 Use core Emacs cursor types.
aac0c6e3 3174
b8ff72fa 3175 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
3176
31772008-10-02 Martin Rudalics <rudalics@gmx.at>
3178
3179 * process.c (Faccept_process_output): Fix doc-string.
3180
31812008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
3182
3183 * gmalloc.c (__sbrk): Also define for uClibc.
3184
3185 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
3186 for uClibc.
3187
31882008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3189
3190 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
3191 styles.
3192 (nsfont_open): Reenable the cache.
3193
31942008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3195
3196 * font.c (font_matching_entity): Reflect ATTRS in font selection.
3197 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
3198
31992008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
3200
3201 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
3202 a suspended terminal.
3203
32042008-09-30 Michael Albinus <michael.albinus@gmx.de>
3205
3206 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
3207
32082008-09-30 Eli Zaretskii <eliz@gnu.org>
3209
3210 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
3211
32122008-09-30 Chong Yidong <cyd@stupidchicken.com>
3213
3214 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
3215 in a continued line coincides with a line beginning.
3216
32172008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
3218
3219 * nsfont.m (nsfont_trait_distance): Fix bug.
3220 (nsfont_list): Return a list rather than a vector (syncs with Handa
3221 changes of 2008-05-14).
3222 (nsfont_open): Improve logging.
3223
32242008-09-29 Andreas Schwab <schwab@suse.de>
3225
3226 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
3227
32282008-09-28 Martin Rudalics <rudalics@gmx.at>
3229
3230 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
3231 name as char-resolve-modifiers.
3232 Reported by: Markus Triska <markus.triska@gmx.at>
3233
32342008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
3235
3236 * dispnew.c (init_display): Return earlier when running as a daemon.
3237
32382008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3239
3240 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
3241
32422008-09-27 Eli Zaretskii <eliz@gnu.org>
3243
3244 * composite.c (Fcomposition_get_gstring)
3245 (Fcompose_region_internal, Fcompose_string_internal)
3246 (Ffind_composition_internal): Doc fix.
3247 (syms_of_composite) <compose-chars-after-function>: Doc fix.
3248 (syms_of_composite) <auto-composition-function>: Doc fix.
3249 (syms_of_composite) <composition-function-table>: Doc fix.
3250
32512008-09-25 Chong Yidong <cyd@stupidchicken.com>
3252
3253 * search.c (wordify): New argument for lax word-ends.
3254 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
3255
32562008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
3257
3258 * lisp.h (is_daemon): Declare.
3259 * dispnew.c (init_display): Do not try to initialize the terminal
3260 when running as a daemon.
3261
32622008-09-22 Chong Yidong <cyd@stupidchicken.com>
3263
3264 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
3265 x_display_pixel_height.
3266
32672008-09-22 Martin Rudalics <rudalics@gmx.at>
3268
3269 * undo.c (record_point): Don't call Fundo_boundary for first
3270 change. (Bug#731)
3271
32722008-09-22 Juanma Barranquero <lekktu@gmail.com>
3273
3274 * emacs.c (Fdaemonp): Doc fix.
3275
32762008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
3277
3278 * emacs.c (main): Place #ifdef in the proper place.
3279
32802008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
3281
3282 * emacs.c (standard_args): Add --daemon.
3283 (main): Disconnect from the terminal when --daemon is passed.
3284 (is_daemon): New variable.
3285 (Fdaemonp): New function.
3286 (syms_of_emacs): Defsubr it.
3287
32882008-09-20 Chong Yidong <cyd@stupidchicken.com>
3289
3290 * xdisp.c (get_next_display_element): Handle string display
3291 correctly when checking for the end of a box run.
3292
32932008-09-20 Glenn Morris <rgm@gnu.org>
3294
3295 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
3296 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
3297 (Frename_file): Avoid copying to trash if a rename involves
3298 a delete. (Bug#964).
3299
33002008-09-20 Eli Zaretskii <eliz@gnu.org>
3301
3302 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
3303 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
3304 frames as well as termcap frames.
3305 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
3306 get_named_tty.
3307
33082008-09-19 Eli Zaretskii <eliz@gnu.org>
3309
3310 * process.c (procfs_system_process_attributes): Fix cmdline in
3311 case /proc/PID/cmdline is empty.
3312
3313 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
3314 x_display_pixel_height.
3315
33162008-09-19 Juanma Barranquero <lekktu@gmail.com>
3317
3318 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
3319
3320 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
3321 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
3322
33232008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
3324
3325 * dispextern.h (struct it): Move line_wrap away from the middle of
3326 bitfields. Move voffset in struct iterator_stack_entry after the
3327 bitfields. Move tab_width near after another short.
3328
33292008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
3330
3331 * frame.h (struct frame): Move alpha from the middle of bitfields.
3332
3333 * window.h (struct window): Move frozen_window_start_p after the
3334 rest of the bitfields to reduce padding.
3335
33362008-09-18 Chong Yidong <cyd@stupidchicken.com>
3337
3338 * xterm.h (x_display_info): Remove `height' and `width' members.
3339
3340 * nsterm.h (ns_display_info): Remove `height' and `width' members.
3341
3342 * w32term.h (w32_display_info): Remove `height', `width',
3343 `height_in', and `width_in' members.
3344
b8ff72fa
SM
3345 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3346 New functions.
aac0c6e3
MR
3347 (x_calc_absolute_position): Use them.
3348 (x_term_init): Omit removed `height' and `width' members.
3349
b8ff72fa
SM
3350 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3351 New functions.
aac0c6e3
MR
3352 (w32_read_socket, x_calc_absolute_position): Use them.
3353 (w32_initialize_display_info, w32_term_init): Omit removed members
3354 of w32_display_info.
3355
b8ff72fa
SM
3356 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
3357 New functions.
3358 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 3359
b8ff72fa
SM
3360 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3361 New functions.
aac0c6e3
MR
3362 (x_calc_absolute_position): Use them.
3363 (x_term_init): Omit removed `height' and `width' members.
3364
3365 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
3366 (compute_tip_xy):
3367 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
3368 * xmenu.c (menu_position_func): Use x_display_pixel_height and
3369 x_display_pixel_width.
3370
33712008-09-18 Kenichi Handa <handa@m17n.org>
3372
3373 * composite.c (fill_gstring_header): Don't check FROM and TO here.
3374 (composition_compute_stop_pos): Fix handling of static composition.
3375 (Fcomposition_get_gstring): Check FROM and TO at first.
3376
33772008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
3378
46e722a9 3379 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
3380 mixup (YAILOM).
3381
33822008-09-17 Chong Yidong <cyd@stupidchicken.com>
3383
3384 * indent.c (Fvertical_motion): Use position reported by iterator
3385 instead of PT for determining screen motion (bug#943).
3386
33872008-09-17 Romain Francoise <romain@orebokech.com>
3388
3389 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
3390
33912008-09-17 Kenichi Handa <handa@m17n.org>
3392
3393 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
3394
3395 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
3396 if necessary.
3397
33982008-09-16 Kenichi Handa <handa@m17n.org>
3399
3400 * coding.c (make_conversion_work_buffer): Avoid calling
3401 Fget_buffer_create if it is not necessary.
3402
34032008-09-15 Martin Rudalics <rudalics@gmx.at>
3404
3405 * window.c (Fselect_window): Don't update window_select_count and
3406 use_time when norecord is not nil.
3407
34082008-09-14 Kenichi Handa <handa@m17n.org>
3409
3410 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
3411 specpdl_ptr.
3412
34132008-09-12 Kenichi Handa <handa@m17n.org>
3414
3415 * indent.c (scan_for_column): Don't handle automatic composition
3416 if the current buffer is not associated with a window.
3417
3418 * composite.c (composition_reseat_it): If the current buffer is
3419 not associated with a window, ignore the automatic composition.
3420 (find_automatic_composition): Likewise.
3421
34222008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3423
3424 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
3425 (Fgpm_mouse_stop): Use it.
3426 * termhooks.h (close_gpm): Declare.
3427 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
3428 connection if Gpm_GetEvent fails.
3429
3430 * window.c (set_window_buffer): Always preserve current-buffer.
3431
34322008-09-12 Glenn Morris <rgm@gnu.org>
3433
3434 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
3435
34362008-09-11 Glenn Morris <rgm@gnu.org>
3437
3438 * charset.c (charset-map-path): Doc fix.
3439
34402008-09-10 Kenichi Handa <handa@m17n.org>
3441
3442 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
3443
3444 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
3445 compose a grapheme cluster with the preceding base glyph.
3446
3447 * composite.c (composition_compute_stop_pos): Fix previous change.
3448 Reset cmp_it->id to -1 at first.
3449
34502008-09-10 Glenn Morris <rgm@gnu.org>
3451
3452 * Makefile.in (character.o, chartab.o): Fix config.h typo.
3453
34542008-09-09 Chong Yidong <cyd@stupidchicken.com>
3455
3456 * keyboard.c (read_key_sequence): Reapply translation maps when
3457 switching keyboards.
3458
34592008-09-09 Kenichi Handa <handa@m17n.org>
3460
3461 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
3462 characters.
3463
3464 * composite.c (FORWARD_CHAR): Fix calculation
3465 of (POSITION).pos_byte.
3466 (composition_compute_stop_pos): Limit the search of composition to
3467 at most 500 characters ahead. If we reach the limit or find a
3468 newline, set cmp_it->ch to -2 and return 0.
3469 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
3470
34712008-09-08 Kenichi Handa <handa@m17n.org>
3472
3473 * indent.c (Fvertical_motion): Be sure to set
3474 it_overshoot_expected if it.cmp_it.id is non-negative.
3475
34762008-09-07 Andreas Schwab <schwab@suse.de>
3477
3478 * callproc.c (Fcall_process): Don't hold references to string data
3479 across garbage collection. Move initialisation of new_argv down
3480 to avoid compiler bug.
3481
34822008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3483
3484 * process.c (Fsystem_process_attributes): Doc fix.
3485
34862008-09-07 Chong Yidong <cyd@stupidchicken.com>
3487
3488 * callproc.c (Fcall_process): Canonicalize current directory name.
3489
3490 * xdisp.c (move_it_to): When moving by vpos, ensure that the
3491 iterator advances to the next line if the current line ends in a
3492 continued tab.
3493
34942008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
3495
3496 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
3497 member to point to cmp_from.
3498
3499 * xdisp.c: Doc fix for references to gidx data member.
3500
35012008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3502
3503 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
3504
35052008-09-07 Kenichi Handa <handa@m17n.org>
3506
3507 * composite.c (FORWARD_CHAR): Check STOP after
3508 incrementing (POSITION).pos.
3509
35102008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3511
3512 * process.c (Fsystem_process_attributes): Doc fix.
3513
35142008-09-06 Chong Yidong <cyd@stupidchicken.com>
3515
3516 * keyboard.c (Ftop_level): Doc fix.
3517
35182008-09-06 Eli Zaretskii <eliz@gnu.org>
3519
3520 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
3521 minibuffer, don't let lower part of menu invade the echo area.
3522
3523 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
3524 "char *q" to access menu text and advance through it. Revert the
3525 change that displayed ">" instead of ASCII character 0x10.
3526
35272008-09-05 Eli Zaretskii <eliz@gnu.org>
3528
3529 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
3530 toggle boxes and radio buttons on MS-DOS as well.
3531
35322008-09-05 Kenichi Handa <handa@m17n.org>
3533
3534 * composite.c (autocmp_chars): Check lookback count.
3535 (composition_compute_stop_pos): Set cmp_it->lookback.
3536 (composition_reseat_it): Check lookback count.
3537 (struct position_record): New struct.
3538 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
3539 (find_automatic_composition): New function.
3540 (composition_adjust_point): Use find_automatic_composition.
3541
3542 * dispextern.h (struct composition_it): New member lookback.
3543
35442008-09-02 Chong Yidong <cyd@stupidchicken.com>
3545
3546 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
3547 if moving by a single line.
3548
35492008-09-02 Andreas Schwab <schwab@suse.de>
3550
3551 * xterm.c (x_delete_display): Fix merge error.
3552
3553 * fileio.c (Fexpand_file_name): Remove unused variables.
3554
35552008-09-02 Eli Zaretskii <eliz@gnu.org>
3556
3557 * fileio.c (Fexpand_file_name): Copy argument `name' into local
3558 storage on all platforms, not just on DOS_NT.
3559
35602008-09-02 Jason Rumney <jasonr@gnu.org>
3561
b8ff72fa
SM
3562 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
3563 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
3564
35652008-09-01 Chong Yidong <cyd@stupidchicken.com>
3566
3567 * xfaces.c (Finternal_set_alternative_font_family_alist)
3568 (Finternal_set_alternative_font_registry_alist): Properly copy
3569 entire alist structure.
3570
35712008-09-01 Kenichi Handa <handa@m17n.org>
3572
d66c0241 3573 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 3574 representative chars of the script is a vector.
d66c0241
JB
3575 (ftfont_list): Handle the case where the representative chars of
3576 the script is a vector.
aac0c6e3
MR
3577
3578 * character.c (syms_of_character): Docstring of
3579 script-representative-chars fixed.
3580
35812008-08-31 Eli Zaretskii <eliz@gnu.org>
3582
3583 * msdos.c (BUILD_CHAR_GLYPH): New macro.
3584 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
3585 the menu. Allocate larger buffer for `text', to account for
3586 possible ^C characters.
3587
35882008-08-31 Martin Rudalics <rudalics@gmx.at>
3589
3590 * xdisp.c (prepare_menu_bars): Don't call
3591 Vwindow_size_change_functions with arg Qt.
3592
35932008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
3594
3595 * font.h (font_range):
3596 * fileio.c (report_file_error):
46e722a9
SM
3597 * composite.c (composition_update_it): Yet another int/Lisp_Object
3598 mixup (YAILOM).
aac0c6e3
MR
3599
36002008-08-30 Glenn Morris <rgm@gnu.org>
3601
3602 * data.c (Fmake_variable_frame_local): Doc fix.
3603
3604 * frame.c (Fmodify_frame_parameters): Doc fix.
3605
36062008-08-30 Eli Zaretskii <eliz@gnu.org>
3607
3608 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
3609 needed by GetTokenInformation.
3610 (w32_system_process_attributes): Check return values of all system
3611 APIs.
3612
3613 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
3614 only when the state changes.
3615 (IT_update_begin, IT_update_end): Add termscript trace.
3616
3617 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
3618 clipboard is unavailable. Set dst to NULL if it doesn't point to
3619 malloc'ed data.
3620 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
3621 passing random values to xfree.
3622
3623 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 3624 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
3625
36262008-08-29 Jason Rumney <jasonr@gnu.org>
3627
3628 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
3629
36302008-08-29 Eli Zaretskii <eliz@gnu.org>
3631
3632 * composite.c (fill_gstring_body): Avoid compiler warnings.
3633
3634 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
3635 LGLYPH_SET_CODE to avoid compiler warnings.
3636
2ae37cf0 3637 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
3638
3639 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
3640
3641 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
3642 LGLYPH_SET_CODE.
3643
36442008-08-29 Kenichi Handa <handa@m17n.org>
3645
3646 * fileio.c (report_file_error): Don't downcase the first character
3647 of errstring if it is still unibyte.
3648
36492008-08-29 Kenichi Handa <handa@m17n.org>
3650
3651 These changes are to re-implement the automatic composition so
3652 that it doesn't use text properties.
3653
3654 * Makefile.in (ftfont.o): Depend on composite.h.
3655 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
3656
3657 * character.h (Vunicode_category_table): Extern it.
3658
3659 * character.c (Vunicode_category_table): New variable.
3660 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
3661
3662 * chartab.c (optimize_sub_char_table): Perform more greedy
3663 optimization.
3664
b8ff72fa
SM
3665 * composite.h (enum composition_method):
3666 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
3667 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
3668 (Vcomposition_function_table): Extern it.
3669 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
3670 (composition_gstring_put_cache, composition_gstring_from_id)
3671 (composition_gstring_p, composition_gstring_width)
3672 (composition_compute_stop_pos, composition_reseat_it)
3673 (composition_update_it, composition_adjust_point): Extern them.
3674 (Fcomposition_get_gstring): EXFUN it.
3675
d66c0241 3676 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
3677 (Vcomposition_function_table)
3678 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
3679 (gstring_hash_table, gstring_work, gstring_work_headers):
3680 New variables.
aac0c6e3
MR
3681 (gstring_lookup_cache, composition_gstring_put_cache)
3682 (composition_gstring_from_id, composition_gstring_p)
3683 (composition_gstring_width, fill_gstring_header)
3684 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
3685 (composition_reseat_it, composition_update_it)
b8ff72fa 3686 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
3687 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
3688 and gstring_work_headers. DEFVAR_LISP composition-function-table.
3689 Defsubr compostion_get_gstring.
3690
3691 * dispextern.h (struct glyph): New union u.cmp. Delete the member
3692 cmp_id.
3693 (struct glyph_string): Delete the member gidx. New members
3694 cmp_id, cmp_from, and cmp_to.
3695 (enum it_method): Delete GET_FROM_COMPOSITION.
3696 (struct composition_it): New struct.
3697 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
3698 Delete c, len, cmp_id, cmp_len in u.comp.
3699
3700 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 3701 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 3702 (enum lglyph_indices): Likewise.
b8ff72fa 3703 (font_range): Adjust extern.
aac0c6e3
MR
3704 (font_fill_lglyph_metrics): Extern it.
3705
3706 * font.c (QCf): New variable.
3707 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3708 (font_prepare_composition): Delete this function.
3709 (font_range): Type and arguments changed.
3710 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
3711 (font_fill_lglyph_metrics): New function.
b8ff72fa 3712 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 3713 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
3714 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
3715 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
3716
3717 * fontset.h (font_for_char): Extern it.
3718
3719 * fontset.c (font_for_char): New function.
3720
3721 * ftfont.c: Include composite.h.
3722 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 3723 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
3724
3725 * indent.c: Include composite.h and dispextern.h.
3726 (check_composition): Delete this function.
3727 (scan_for_column): Handle composition by
3728 composition_compute_stop_pos, composition_reseat_it, and
3729 composition_update_it.
3730 (compute_motion): Likewise.
3731 (Fvertical_motion): Fix checking of composition.
3732
3733 * keyboard.c (adjust_point_for_property): Check composition by
3734 composition_adjust_point.
3735
b8ff72fa 3736 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
3737 struct glyph_string.
3738
b8ff72fa
SM
3739 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3740 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
3741 struct glyph.
3742 (produce_composite_glyph): Likewise.
3743
b8ff72fa
SM
3744 * w32term.c (x_draw_composite_glyph_string_foreground):
3745 Adjust for the change of struct glyph_string.
aac0c6e3
MR
3746 (x_draw_glyph_string): Likewise.
3747
3748 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3749 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3750
3751 * xdisp.c: Include font.h.
3752 (it_props): Delete the entry for Qauto_composed.
3753 (init_iterator): Initialize it->cmp_it.id to -1.
3754 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 3755 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
3756 (handle_auto_composed_prop): Delete it.
3757 (handle_composition_prop): Handle only static composition.
3758 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3759 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 3760 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
3761 (pop_it): Likewise.
3762 (get_next_element): Delete next_element_from_composition.
3763 (CHAR_COMPOSED_P): New macro.
3764 (get_next_display_element): For automatic composition, get a face
3765 from the font in the glyph-string.
3766 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 3767 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
3768 (next_element_from_string): Check if the character at the current
3769 position is composed by CHAR_COMPOSED_P.
3770 (next_element_from_buffer): Likewise.
d66c0241
JB
3771 (next_element_from_composition): Adjust for the change of struct it.
3772 Update it->cmp_it.
b8ff72fa
SM
3773 (dump_glyph): Adjust for the change of struct glyph.
3774 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
3775 it and struct glyph. Don't handle automatic composition here.
3776 (fill_gstring_glyph_string): New function.
3777 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 3778 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
3779 (BUILD_GSTRING_GLYPH_STRING): New macro.
3780 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3781 automatic composition.
b8ff72fa 3782 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 3783 struct glyph.
b8ff72fa 3784 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 3785
b8ff72fa 3786 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
3787 the change of struct glyph_string.
3788 (x_draw_glyph_string): Likewise.
3789
37902008-08-29 Glenn Morris <rgm@gnu.org>
3791
3792 * buffer.c (word-wrap): Doc fix.
3793 * xdisp.c (truncate-partial-width-windows): Doc fix.
3794 Increase default to 50.
3795
37962008-08-29 Chong Yidong <cyd@stupidchicken.com>
3797
3798 * xdisp.c (update_tool_bar_unwind): New function.
3799 (update_tool_bar): Temporarily set selected frame before building
3800 tool-bar items.
3801
38022008-08-28 Michael Albinus <michael.albinus@gmx.de>
3803
3804 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3805 snprintf, respectively.
3806 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3807
38082008-08-28 Chong Yidong <cyd@stupidchicken.com>
3809
3810 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3811 LDFLAGS to GNUstep CC invocation.
3812
38132008-08-27 Chong Yidong <cyd@stupidchicken.com>
3814
3815 * indent.c (Fvertical_motion): Revert last change. Handle the
3816 general case where we are moving forward, and PT spans multiple
3817 screen lines.
3818
3819 * eval.c (find_handler_clause): Temporarily increase
3820 max-lisp-eval-depth while printing the backtrace buffer, to
3821 guarantee that help-mode code can run.
3822
38232008-08-27 Eli Zaretskii <eliz@gnu.org>
3824
3825 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3826 colors under -rv.
3827 (IT_set_frame_parameters): Don't swap foreground and background
3828 colors if `(reverse . t)' is present in the frame properties.
3829 (internal_terminal_init): Call init_frame_faces only for the
3830 initial frame.
3831
38322008-08-27 Andreas Schwab <schwab@suse.de>
3833
3834 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3835
38362008-08-27 Andreas Schwab <schwab@suse.de>
3837
3838 * search.c (search_buffer): Set char_base to zero only at the end.
3839
38402008-08-27 Kenichi Handa <handa@m17n.org>
3841
b8ff72fa 3842 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
3843
38442008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
3845
3846 * xterm.c (x_term_init): Temporarily hide the partially
3847 initialized terminal while calling vendor-specific-keysyms.
3848
38492008-08-26 Eli Zaretskii <eliz@gnu.org>
3850
3851 * msdos.c (internal_terminal_init): Most initializations done only
3852 once, especially initial_screen_colors[] and termscript open.
3853
38542008-08-26 Chong Yidong <cyd@stupidchicken.com>
3855
3856 * eval.c (Fcondition_case): Doc fix.
3857
3858 * widgetprv.h (EmacsFramePart): Change font member to the new font
3859 struct.
3860
3861 * widget.c: Include character.h and font.h for XSETFONT.
3862 (setup_frame_gcs): Compute X font id from font struct, just once.
3863
38642008-08-26 Eli Zaretskii <eliz@gnu.org>
3865
3866 * term.c (get_named_tty): Fix last change.
3867
38682008-08-26 Chong Yidong <cyd@stupidchicken.com>
3869
3870 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 3871 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
3872
38732008-08-25 Eli Zaretskii <eliz@gnu.org>
3874
3875 * frame.c (do_switch_frame): Mark previously displayed frame as
3876 obscured for FRAME_MSDOS_P frames as well.
3877
38782008-08-24 Eli Zaretskii <eliz@gnu.org>
3879
3880 * frame.c (make_terminal_frame): Initialize f->terminal,
3881 f->terminal->reference_count, and scroll bars on MS-DOS as well.
3882 Set the top frame to newly created frame.
3883 (Fmake_terminal_frame): Reuse the_only_display_info.
3884
3885 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
3886 estimating available memory.
3887
b97439ce 38882008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
3889
3890 * nsterm.m (ns_draw_window_cursor): Don't call
3891 NSDisableScreenUpdates and NSEnableScreenUpdates on
3892 non-NS_IMPL_COCOA systems.
3893
38942008-08-23 Andreas Schwab <schwab@suse.de>
3895
3896 * process.c (procfs_system_process_attributes): Fix use of
3897 uninitialized variables.
3898
38992008-08-23 Eli Zaretskii <eliz@gnu.org>
3900
3901 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
3902
3903 * dispnew.c (init_display): Remove MS-DOS specific conditions for
3904 calling tty-set-up-initial-frame-faces.
3905
b8ff72fa
SM
3906 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
3907 Allow MSDOS frames along with X frames.
aac0c6e3
MR
3908
3909 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
3910 addition to output_termcap.
3911
3912 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
3913
3914 * termchar.h (FRAME_TTY): Support output_msdos_raw.
3915 (struct tty_display_info) [MSDOS]: Add fields related to mouse
3916 highlight.
3917
3918 * process.c [!subprocesses]: Define QCname.
3919 (syms_of_process): Intern and staticpro it.
3920
3921 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
3922 Adjust for changes in encoding/decoding routines.
3923 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
3924 encode_coding and decode_coding.
3925
b8ff72fa 3926 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
3927
3928 * dosfns.c: Include frame.h before termhooks.h.
3929 (dos_cleanup): Use CURTTY ()->termscript instead of a global
3930 variable termscript.
3931
3932 * s/msdos.h (USER_FULL_NAME): Define.
3933 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
3934
3935 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
3936 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
3937 pw->pw_gecos.
3938
3939 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
3940 SELECTED_FRAME as additional (1st) argument.
3941 (tty_read_avail_input): Handle output_msdos_raw in
3942 addition to output_termcap.
3943
3944 * msdos.c: Include frame.h before termhooks.h.
3945 (mouse_on, mouse_off, mouse_moveto, mouse_init)
3946 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
3947 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
3948 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
3949 (IT_set_terminal_modes, IT_reset_terminal_modes)
3950 (IT_set_frame_parameters): Use tty->termscript instead of a global
3951 variable termscript.
3952 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
3953 global variable terminal_coding. Don't refer to
3954 Vnonascii_translation_table.
3955 (internal_terminal_init): Set Vwindow_system in current_kboard.
3956 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
3957 Announce date and time of session start, if termscript is open.
3958 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
3959 term.c:init_tty). Open termscript only of not already open.
3960 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
3961 here instead of dos_ttraw. Don't initialize display if this is an
3962 initial tty. Don't set FRAME_FONT.
3963 (Vwindow_system_version): Bump to 23.
3964 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
3965 is available, set up mouse_position_hook.
3966 (dos_ttraw, IT_set_terminal_modes): If called with initial
3967 terminal, do nothing.
3968 (IT_set_frame_parameters): Handle the Qtty_type frame
3969 parameter by calling internal_terminal_init.
3970 (dos_set_window_size, show_mouse_face)
3971 (clear_mouse_face, IT_note_mode_line_highlight)
3972 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
3973 (dos_rawgetc): Use tty_display_info instead of x_display_info.
3974 (initialize_msdos_display): New function.
3975 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
3976 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
3977 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
3978 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 3979 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
3980 (request_sigio, unrequest_sigio): Don't define, now defined on
3981 sysdep.c.
3982 (IT_write_glyphs): Rewrite to use encode_terminal_code.
3983
3984 * term.c [MSDOS]: Include msdos.h.
3985 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
3986 conditional to DOS_NT. Allow only one call to this function in a
3987 session. Don't allocate a new struct tty_display_info; instead,
3988 reuse the_only_display_info. Call get_tty_size to get screen
3989 dimensions. Call init_baud_rate to set bad_rate.
3990 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
3991 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 3992 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
3993 (get_tty_terminal, get_named_tty, Ftty_type)
3994 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
3995 output_termcap.
b8ff72fa
SM
3996 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
3997 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 3998 only when subprocesses are supported.
aac0c6e3
MR
3999
4000 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
4001 f->output_data.x.
4002 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
4003 terminal devices.
4004
5582fbc7 4005 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
4006 x_output.
4007 (FRAME_FONT): Use output_data.tty.
4008 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
4009 (struct x_display_info): Rename from display_info. Update all users in
4010 msdos.c.
aac0c6e3 4011 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 4012 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
4013 (dos_ttraw): Update prototype.
4014
4015 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
4016 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
4017
40182008-08-23 Jason Rumney <jasonr@gnu.org>
4019
4020 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
4021 (fn_TIFFSetDirectory): New library function used.
4022 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
4023 (tiff_load): Use :index to select among multiple images. Set count
4024 property when multiple images exist.
4025 (gif_format): Use :index, not :image.
4026
40272008-08-23 Chong Yidong <cyd@stupidchicken.com>
4028
4029 * xdisp.c (try_scrolling): Check INT_MAX instead of
4030 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
4031 to obtain INT_MAX.
4032
40332008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
4034
4035 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
4036
40372008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
4038
4039 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
4040 GNUstep library location.
4041
40422008-08-21 Chong Yidong <cyd@stupidchicken.com>
4043
4044 * xfaces.c (x_update_menu_appearance): Check validity of menu font
4045 before using it.
4046
4047 * puresize.h (BASE_PURESIZE): Increase to 1250000.
4048
40492008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4050
4051 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
4052 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
4053 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
4054 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
4055 (EmacsApp-cursor_blink_handler): Remove declaration.
4056 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
4057 match 01 Feb 2008 changes in xterm.c.
4058 (ns_read_socket): Add cast to avoid warning.
4059 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
4060 GNUstep.
4061
40622008-08-20 Chong Yidong <cyd@stupidchicken.com>
4063
4064 * xselect.c (x_get_foreign_selection): Return nil if desired
4065 selection could not be obtained, instead of signalling an error.
4066
40672008-08-20 David Reitter <david.reitter@gmail.com>
4068
4069 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
4070 * nsterm.m: Remove ns-specific code for cursor blinking.
4071 (ns_draw_window_cursor): Clear cursor properly rather than
4072 redrawing the area. Respect width of bar cursors.
4073 These changes enable the use of generic blink-cursor-mode and
4074 generic cursor types in NS and support smooth cursor movements (do
4075 not blink off after command).
4076 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
4077 Nextstep, too.
4078
40792008-08-19 Kenichi Handa <handa@m17n.org>
4080
4081 * font.c (Vfont_log_deferred): New variable.
4082 (font_add_log): Check Vfont_log_deferred.
4083 (font_deferred_log): New function.
4084
4085 * font.h (font_deferred_log): Extern it.
4086
4087 * fontset.c (reorder_font_vector): Use encoding charset of fonts
4088 for sorting.
4089 (face_for_char): Use deferred log.
4090
40912008-08-18 Kenichi Handa <handa@m17n.org>
4092
4093 * fontset.c (face_for_char): Add font log.
4094
4095 * font.c (font_add_log): Add the font properties :script, :lang,
4096 and :otf in the log.
4097
40982008-08-17 Chong Yidong <cyd@stupidchicken.com>
4099
4100 * xdisp.c: Remove dead code.
4101 (handle_invisible_prop, next_overlay_string): Defer call to
4102 setup_for_ellipsis.
4103 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
4104
41052008-08-15 Chong Yidong <cyd@stupidchicken.com>
4106
4107 * xfaces.c (lookup_derived_face): Properly handle possible zero
4108 return value of get_lface_attributes.
4109 (merge_faces): Don't tell lookup_derived_face to signal an error
4110 if face is not found.
4111
4112 * dired.c (Fdirectory_files): Doc fix.
4113
4114 * process.c (make_process): Initialize kill_without_query struct
4115 member.
4116
41172008-08-15 Eli Zaretskii <eliz@gnu.org>
4118
4119 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
4120 Alternative calculation of totphys for Visual Studio 6.
4121
4122 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
4123
4124 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
4125 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
4126 All users changed.
4127 (stat): Only root directory passed to GetDriveType. Allow RAM
4128 disk as well as local fixed disk when w32-get-true-file-attributes
4129 is set to `local'.
4130 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
4131 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
4132 (w32_cached_id, w32_add_to_cache): New functions.
4133 (get_name_and_id): Look account names in the cache before calling
4134 lookup_account_sid.
4135 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
4136 New initialization flags.
4137 (globals_of_w32): Initialize them to zero.
4138 (w32_system_process_attributes): Use w32_cached_id and
4139 w32_add_to_cache.
4140
41412008-08-14 Lawrence Mitchell <wence@gmx.li>
4142
4143 * lread.c (Fread_char, Fread_char_exclusive): If no character
4144 event is read before timeout is reached, return nil, rather than
4145 converting to a number.
4146
41472008-08-14 Chong Yidong <cyd@stupidchicken.com>
4148
4149 * fns.c (use_dialog_box): Doc fix.
4150
4151 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
4152 on OS X.
4153
41542008-08-13 Chong Yidong <cyd@stupidchicken.com>
4155
4156 * frame.c (Qns_parse_geometry): New var.
4157 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
4158
41592008-08-11 Chong Yidong <cyd@stupidchicken.com>
4160
4161 * xdisp.c (x_produce_glyphs): Handle the case when font has no
4162 space character in calculating tabs.
4163
41642008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
4165
4166 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
4167
41682008-08-10 Glenn Morris <rgm@gnu.org>
4169
4170 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
4171 silence gcc "limited range of data type" warnings in some
4172 make_fixnum_or_float calls.
4173
41742008-08-09 Eli Zaretskii <eliz@gnu.org>
4175
4176 * w32.c (w32_system_process_attributes): If the process does not
4177 exist, return nil.
4178
4179 * w32.c: Include thelp32.h, psapi.h and coding.h.
4180 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
4181 declarations.
4182 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
4183 (Process32Next_Proc): New typedefs.
4184 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
4185 (g_b_init_process32_next, g_b_init_open_thread_token)
4186 (g_b_init_impersonate_self, g_b_init_revert_to_self)
4187 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
4188 (g_b_init_get_process_working_set_size)
4189 (g_b_init_global_memory_status_ex): New static variables.
4190 (globals_of_w32): Initialize them.
4191 (create_toolhelp32_snapshot, process32_first, process32_next)
4192 (open_thread_token, impersonate_self, revert_to_self)
4193 (get_process_memory_info, get_process_working_set_size)
4194 (global_memory_status, global_memory_status_ex): New wrapper
4195 functions.
4196 (w32_list_system_processes, w32_system_process_attributes)
4197 (enable_privilege, restore_privilege, ltime, process_times):
4198 New functions.
4199 (convert_time_raw): New function.
4200 (convert_time): Remove conversion of FILETIME into time in 100
4201 nsec units, call convert_time_raw instead.
4202
4203 * process.h (w32_list_system_processes, w32_system_process_attributes):
4204 Add prototypes.
4205 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
4206 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
4207 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
4208 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
4209
4210 * process.c (Fsystem_process_attributes): Doc fix.
4211
42122008-08-08 Chong Yidong <cyd@stupidchicken.com>
4213
4214 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
4215 a continued multi-char glyph; if so, advance to the actual glyph.
4216
42172008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
4218
4219 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
4220
4221 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
4222 (.m.o): Use it.
4223 * config.in: Regenerate.
4224
42252008-08-07 Chong Yidong <cyd@stupidchicken.com>
4226
4227 * xdisp.c (redisplay_window): Revert last change.
4228 (try_window): Check bottom scroll margin too.
4229
42302008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4231
4232 * config.in: Regenerate.
4233
4234 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
4235 -list-load-path-shadows'.
4236 (nsgui.h): Reduce number of things depending on it.
4237
42382008-08-06 Chong Yidong <cyd@stupidchicken.com>
4239
4240 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
4241 instead of window-end which does the wrong thing at eob.
4242 (try_cursor_movement): Minor optimization.
4243 (redisplay_window): If scroll margin is defined, don't assume
4244 window doesn't need scrolling.
4245
42462008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4247
4248 * config.in: Regenerate.
4249
4250 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
4251 (mostlyclean): Don't delete *.d under NS.
4252
4253 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
4254
42552008-08-06 Kenichi Handa <handa@m17n.org>
4256
4257 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
4258
42592008-08-06 Andreas Schwab <schwab@suse.de>
4260
4261 * config.in: Regenerate.
4262
42632008-08-05 Chong Yidong <cyd@stupidchicken.com>
4264
4265 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
4266 forcing a window start.
4267
4268 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
4269 (auto_save_1): Update modtime when auto-save-list-file-name is on.
4270
42712008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4272
4273 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
4274 argument.
4275
42762008-08-05 Juanma Barranquero <lekktu@gmail.com>
4277
4278 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
4279 <scroll-down-aggressively, before-change-functions>:
4280 <after-change-functions>: Reflow docstrings.
4281
42822008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4283 Ken Raeburn <raeburn@gnu.org>
4284
4285 Dock menu customization, based on a patch by Ken Raeburn, plus some
4286 other fixes.
4287 * nsmenu.m (dockMenu): New variable.
4288 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
4289
4290 * nsterm.h (dockMenu): Declare.
4291
4292 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
4293 (ns_term_init): Initialize dockMenu.
4294 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
4295 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
4296 left.
4297
4298 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
4299
43002008-08-04 Chong Yidong <cyd@stupidchicken.com>
4301
4302 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
4303
4304 * config.in: Regenerate.
4305
43062008-08-04 Seiji Zenitani <zenitani@mac.com>
4307
4308 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
4309
43102008-08-04 Chong Yidong <cyd@stupidchicken.com>
4311
4312 * nsterm.h (find_and_call_menu_selection): Fix prototype.
4313
43142008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4315
4316 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
4317
4318 * keyboard.h: Comment an #endif.
4319
4320 * lisp.h (have_menus_p): Adjust comment.
4321
4322 * menu.c (find_and_return_menu_selection): Fix comparison with
4323 client_data.
4324
4325 * nsmenu.m (popup_activated_flag): New variable.
4326 (popup_activated): New function.
4327 (menu-or-popup-active-p): New exported lisp definition.
4328 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
4329 when popup done.
4330 (ns_popup_dialog): Set popup_activated_flag.
4331
4332 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
4333 version for GNUstep (handled by conditional typedef in nsterm.m).
4334 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
4335 in rgb.txt).
4336
4337 * process.c (init_process): Use DARWIN_OS, not DARWIN.
4338
4339 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
4340
4341 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
4342
4343 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
4344 shortcircuit if popup_activated like GTK and X toolkit.
4345
4346 * m/inter386.h: Change DARWIN to DARWIN_OS.
4347
4348 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
4349 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
4350 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
4351 comment on NO_SOCK_SIGIO.
4352
43532008-08-03 Chong Yidong <cyd@stupidchicken.com>
4354
4355 * nsterm.m (windowDidResize): Remove stopModal call.
4356
43572008-08-03 Andreas Schwab <schwab@suse.de>
4358
4359 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
4360 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
4361
43622008-08-02 Chong Yidong <cyd@stupidchicken.com>
4363
4364 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
4365 Don't use uninitialized pointer variable when using getrlimit.
4366
43672008-08-02 Jason Rumney <jasonr@gnu.org>
4368
4369 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4370
43712008-08-02 Eli Zaretskii <eliz@gnu.org>
4372
4373 * alloc.c (NSTATICS): Bump to 0x640.
4374
4375 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
4376
4377 * lisp.h: Add prototype for directory_files_internal.
4378
4379 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
4380 New functions.
4381 (syms_of_process): Defsubr them. Add initializations for various
4382 Q* symbols used in procfs_system_process_attributes.
4383 (procfs_list_system_processes, procfs_system_process_attributes)
4384 [HAVE_PROCFS]: New functions.
4385 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
4386 (procfs_get_total_memory): New functions.
4387
43882008-08-01 Juanma Barranquero <lekktu@gmail.com>
4389
4390 * xfaces.c (Fx_load_color_file): Fix previous change;
4391 it is #ifdef WINDOWSNT, not WINDOWS_NT.
4392
43932008-08-01 Michael Albinus <michael.albinus@gmx.de>
4394
4395 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
4396
43972008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4398
4399 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
4400
44012008-08-01 Chong Yidong <cyd@stupidchicken.com>
4402
4403 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
4404
4405 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
4406 define NSApplicationDelegateReplySuccess.
4407 (EmacsView -converstationIdentifier): Use long instead of
4408 NSInteger for GNUstep, since it doesn't have NSInteger.
4409
4410 * xmenu.c: Revert last change.
4411
4412 * keyboard.h: Fix last change.
4413
44142008-08-01 Juanma Barranquero <lekktu@gmail.com>
4415
4416 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
4417 on Windows.
4418
44192008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4420
4421 Warning clearing and clean-up in NS port.
4422 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
4423 Add prototypes.
4424 * nsgui.h (FACE_DEFAULT): Remove, unused.
4425 (XGCValues): Change colors to unsigned long.
4426 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
4427 nsterm.m.
4428 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
4429 (ns_list_fonts): Remove, unused.
4430 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
4431 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
4432 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
4433 (nsfont_draw): Compare face colors to 0, not nil.
4434 * nsmenu.m (struct widget_value): Drop unneeded declaration.
4435 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
4436 (-addSubmenuWithTitle:): Use NSMenuItem class.
4437 (ns_popup_menu): Use NO, not NULL, for enabled setting.
4438 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
4439 (ns_clip_to_row): Make gc arg a BOOL.
4440 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
4441 ns_clip_to_row() call.
4442 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
4443 used). Cast FRAME_FONT assignments.
4444 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
4445 (ns_string_to_lispmod): Change arg to const char.
4446 (ns_term_init): Use NSMenuItem class.
4447 (EmacsApp -openFile:): Move to different section of file.
4448 (EmacsApp -application:openFiles:): Don't return a value, call
4449 -replyToOpenOrPrint:.
4450 (EmacsView -keyDown:): Fix up cast.
4451 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
4452 (EmacsView -menuDown:): Cast tag in call to
4453 find_and_call_menu_selection().
4454 (ns_list_fonts): Remove, unused.
4455 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
4456 (ns_fontname_to_xlfd): Make static.
4457 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
4458 Remove prototypes (now in keyboard.h).
4459 (next_menubar_widget_id): Remove, unused.
4460 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
4461 Remove prototypes (now in keyboard.h).
4462 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
4463
44642008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
4465
4466 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
4467 (floatfns.o): Depend on syssignal.h.
4468 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
4469
4470 * systty.h: Fix previous change that removed BSD_TERMIOS.
4471 Add comments to #ifdefs.
4472
44732008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4474
4475 * w32fns.c (w32-load-color-file): Remove.
4476 (x-open-connection): Use renamed Fx_load_color_file.
4477 * xfaces.c (x-load-color-file): Add.
4478 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
4479 Emacs.clr.
4480 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
4481
44822008-07-31 Michael Albinus <michael.albinus@gmx.de>
4483
4484 * dbusbind.c (Fdbus_call_method_asynchronously)
4485 (Fdbus_method_error_internal): New defuns.
4486 (xd_read_message): Handle also reply messages.
4487 (Vdbus_registered_functions_table): Extend docstring.
4488
44892008-07-31 Juanma Barranquero <lekktu@gmail.com>
4490
4491 * keyboard.c (gobble_input): Fix previous change.
4492
44932008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4494
4495 * bitmaps/README:
4496 * xfns.c:
4497 * termcap.c:
4498 * term.c:
4499 * syswait.h:
4500 * systty.h:
4501 * systime.h:
4502 * syssignal.h:
4503 * sysdep.c:
4504 * process.h:
4505 * process.c:
4506 * print.c:
4507 * ndir.h:
4508 * lread.c:
4509 * keyboard.c:
4510 * getpagesize.h:
4511 * floatfns.c:
4512 * fileio.c:
4513 * emacs.c:
4514 * doc.c:
4515 * dispnew.c:
4516 * dired.c:
4517 * data.c:
4518 * callproc.c:
4519 * buffer.c:
4520 * README:
4521 * Makefile.in:
4522 * s/template.h:
4523 * s/msdos.h:
4524 * m/vax.h: Remove VMS support.
4525 * s/vms.h:
4526 * vlimit.h:
4527 * uaf.h:
4528 * temacs.opt:
4529 * param.h:
4530 * ioctl.h: Remove file.
4531
45322008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4533
4534 * s/ms-w32.h (MULTI_KBOARD): Remove.
4535 * xterm.c:
4536 * xselect.c:
4537 * xfns.c:
4538 * window.c:
4539 * w32term.c:
4540 * w32fns.c:
4541 * terminal.c:
4542 * termhooks.h:
4543 * term.c:
4544 * sysdep.c:
4545 * keyboard.h:
4546 * keyboard.c:
4547 * frame.h:
4548 * frame.c:
4549 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
4550 * config.in: Regenerate.
4551
45522008-07-30 Jason Rumney <jasonr@gnu.org>
4553
4554 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
4555
4556 * w32font.c (w32font_encode_char): Leave as unicode if in range.
4557 (w32font_open_internal): Get unicode version of textmetrics.
4558 Don't enable or disable glyph indices here.
4559 (w32font_open): Disable use of glyph indices.
4560
4561 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
4562
45632008-07-30 Chong Yidong <cyd@stupidchicken.com>
4564
4565 * minibuf.c (Vread_buffer_function): Doc fix.
4566
45672008-07-30 John Paul Wallington <jpw@pobox.com>
4568
4569 * minibuf.c (read_buffer_completion_ignore_case): New var.
4570 (Fread_buffer): Use it.
4571
45722008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
4573
4574 * systty.h (sensemode): Remove empty #if. Remove reference to
4575 BSD_TERMIOS, unused.
4576
4577 * sysdep.c: Remove reference to DGUX.
4578 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
4579
4580 * config.in: Regenerate.
4581
45822008-07-30 Jason Rumney <jasonr@gnu.org>
4583
4584 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
4585
45862008-07-29 Jason Rumney <jasonr@gnu.org>
4587
4588 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
4589 is populated.
4590 (uniscribe_encode_char): Always use uniscribe.
4591 Avoid using context if cache is populated.
4592
45932008-07-29 Jan Djärv <jan.h.d@swipnet.se>
4594
4595 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
4596 open menu.
4597
4598 * gtkutil.c (menu_nav_ended): Remove.
4599 (create_menus): Remove signal connect for menu_nav_ended.
4600
46012008-07-28 Chong Yidong <cyd@stupidchicken.com>
4602
4603 * xdisp.c (redisplay_window): Check return value of
4604 compute_window_start_on_continuation_line before forcing a window
4605 start.
4606
46072008-07-28 Jason Rumney <jasonr@gnu.org>
4608
4609 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
4610
4611 * w32term.c (w32_enable_unicode_output, cleartype_active):
4612 Remove obsolete display options.
4613 (x_draw_glyph_string_background): Don't use old cleartype_active
4614 workaround.
4615 (w32_initialize): Remove cleartype_active initialization.
4616 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
4617
46182008-07-28 Andreas Schwab <schwab@suse.de>
4619
4620 * lisp.h (init_weak_hash_tables, syms_of_font)
4621 (xd_read_queued_messages, syms_of_dbusbind): Declare.
4622 (remove_hash_entry): Don't declare.
4623 * eval.c (maybe_call_debugger): Make static and move before use.
4624 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
4625 * xdisp.c: Include "gtkutil.h" if USE_GTK.
4626 * xterm.h (x_set_frame_alpha): Declare.
4627
46282008-07-28 Jan Djärv <jan.h.d@swipnet.se>
4629
4630 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
4631 (create_menus): Connect selection-done to menu_nav_ended.
4632
46332008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4634
4635 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
4636 Set Vx_resource_name to a fallback. Replace read of 'buffered'
4637 parameter with read of 'alpha' one.
4638 (Qns_frame_parameter): Remove.
5582fbc7 4639 * nsselect.m (selection-coding-system)
aac0c6e3
MR
4640 (next-selection-coding-system, Vselection_coding_system)
4641 (Vnext_selection_coding_system): Drop.
4642
46432008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4644
4645 * nsfns.m (do-applescript, do_applescript): Rename to
4646 ns-do-applescript, ns_do_applescript, and move within file.
4647
46482008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
4649
4650 Remove support for Mac Carbon.
4651 * mactoolbox.c:
4652 * macterm.h:
4653 * macterm.c:
4654 * macselect.c:
4655 * macmenu.c:
4656 * macgui.h:
4657 * macfns.c:
4658 * mac.c: Remove file.
4659 * s/darwin.h:
4660 * m/intel386.h:
4661 * xfaces.c:
4662 * xdisp.c:
4663 * window.c:
4664 * tparam.c:
4665 * termhooks.h:
4666 * termcap.c:
4667 * term.c:
4668 * syssignal.h:
4669 * sysselect.h:
4670 * sysdep.c:
4671 * process.c:
4672 * lread.c:
4673 * lisp.h:
4674 * keyboard.c:
4675 * image.c:
4676 * fringe.c:
4677 * frame.h:
4678 * frame.c:
4679 * fontset.c:
4680 * font.h:
4681 * font.c:
4682 * fns.c:
4683 * fileio.c:
4684 * emacs.c:
4685 * dispnew.c:
4686 * dispextern.h:
4687 * config.in:
4688 * atimer.c:
2ae37cf0 4689 * Makefile.in: Remove code for Carbon.
aac0c6e3 4690
f0131492 46912008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
4692
4693 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
4694
46952008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4696
4697 * macterm.h (kCGBitmapByteOrder32Host): New define for
4698 non-universal SDKs.
4699
4700 * image.c (mac_create_cg_image_from_image, image_load_image_io)
4701 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4702
4703 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
4704 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4705
47062008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
4707
4708 * w32inevt.c: Include dispextern.h.
4709
47102008-07-26 Andreas Schwab <schwab@suse.de>
4711
4712 * print.c (print_object): Fix off-by-one in last change.
4713
47142008-07-25 Juanma Barranquero <lekktu@gmail.com>
4715
4716 * term.c (syms_of_term): Don't initialize default_orig_pair,
4717 default_set_foreground and default_set_background on Windows.
4718
47192008-07-25 Jason Rumney <jasonr@gnu.org>
4720
4721 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
4722 ScriptItemize. Clean up return value checking. Remove unused
4723 variables.
4724 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
4725 shaping engine.
4726
4727 * w32font.c (w32font_has_char): Handle the case where we can't
4728 determine the script for a character.
4729
47302008-07-25 Chong Yidong <cyd@stupidchicken.com>
4731
4732 * term.c (syms_of_term): Initialize default_orig_pair,
4733 default_set_foreground, and default_set_background.
4734
4735 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4736 clash (bug#86).
4737 (getloadavg): Callers changed.
4738
4739 * image.c (svg_load_image): Fix last change.
4740 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4741 image size is valid. Use g_object_unref instead of deprecated
4742 rsvg_handle_free to free rsvg handle.
4743 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4744
47452008-07-25 Jason Rumney <jasonr@gnu.org>
4746
4747 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4748 surrogates before looking up glyph index.
4749 (w32font_text_extents): Encode as surrogates if falling back to
4750 functions that need UTF-16 wide chars.
4751
4752 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4753 BMP as surrogates before looking up glyph index.
4754
47552008-07-25 Chong Yidong <cyd@stupidchicken.com>
4756
4757 * image.c (svg_load_image): Check for failure in return value of
4758 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4759
47602008-07-25 Jason Rumney <jasonr@gnu.org>
4761
4762 * w32font.c (Fx_select_font): Reverse sense of second arg.
4763
47642008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4765
4766 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4767 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4768
4769 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4770 (PURESIZE): Use it.
4771
47722008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4773
4774 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4775 * m/alpha.h (TEXT_END):
4776 * m/ibmrs6000.h (TEXT_END):
4777 * m/macppc.h (TEXT_END):
4778 * s/darwin.h (TEXT_END):
4779 * s/msdos.h (TEXT_END): Remove, unused.
4780 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4781 * s/cygwin.h: Remove comment.
4782
4783 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4784 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4785 * m/intel386.h (DOT_GLOBAL_START):
4786 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4787 (USG): Remove, file not used on USG platforms.
4788
4789 * Makefile.in (HAVE_X11): Remove empty #else.
4790
47912008-07-24 Andreas Schwab <schwab@suse.de>
4792
4793 * fileio.c (Finsert_file_contents): Properly adjust undo list
4794 after format conversion.
4795
47962008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4797
4798 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4799 (menu_nav_ended): Remove.
4800 (create_menus): Remove signal connect for menu_nav_ended.
4801 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4802 create_menus.
4803 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4804
48052008-07-23 Jason Rumney <jasonr@gnu.org>
4806
4807 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4808 with opened font.
4809 (w32font_open): Set font type to gdi.
4810
4811 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4812
48132008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4814
4815 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4816 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4817 defines it.
4818 * unexec.c (ADDR_CORRECT): Define unconditionally.
4819
4820 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4821
4822 * unexec.c: Remove code depending on !COFF and USG, the file is
4823 not used for such systems.
4824
4825 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4826 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4827 (LD_SWITCH_SYSTEM_1): Remove, update users.
4828
4829 * s/darwin.h (DATA_END):
4830 * m/intel386.h (DATA_END):
4831 * m/ibmrs6000.h (DATA_END):
4832 * m/alpha.h (DATA_END): Remove, unused.
4833
4834 * config.in: Regenerate.
4835 * s/ms-w32.h (subprocesses): Define unconditionally.
4836 * s/template.h (subprocesses): Update comment.
4837 * s/vms.h (subprocesses):
4838 * s/usg5-4.h (subprocesses):
4839 * s/hpux10-20.h (subprocesses):
4840 * s/gnu-linux.h (subprocesses):
4841 * s/cygwin.h (subprocesses):
4842 * s/bsd-common.h (subprocesses):
4843 * s/aix4-2.h (subprocesses):
4844 * s/darwin.h (subprocesses): Do not define, defined by default now.
4845
4846 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
4847 Remove all references.
4848 (temacs): Add GNUstep specific ld flags.
4849
4850 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
4851 similarly to what X does.
4852
48532008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4854
4855 * nsfns.m (x-list-fonts): Remove.
4856 (syms_of_nsfns): Drop the x-list-fonts declaration.
4857 * nsterm.m: Get rid of remaining "//" comments.
4858
48592008-07-22 Chong Yidong <cyd@stupidchicken.com>
4860
4861 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4862
4863 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
4864 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
4865 (Fns_own_selection_internal, Fx_disown_selection_internal)
4866 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
4867
4868 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
4869 ... */' style of docstrings. Doc fixes.
4870
48712008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4872
4873 * terminfo.c (UP, BC, PC): Undo previous change.
4874
4875 * nsfns.m: Rename ns prefixed functions/variables to the
4876 corresponding x versions. Update references.
4877
48782008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
4879
4880 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
4881
48822008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4883
4884 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
4885 Remove forwarding functions.
4886 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
4887 non-static.
4888 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
4889 non-static.
4890 (ns_frame_parm_handlers): Use the new names.
4891 (syms_of_nsfns): Move to the end of file.
4892
4893 * nsterm.m (syms_of_nsterm): Move to the end of file.
4894
4895 * dispnew.c (init_display): Remove code for X10.
4896
48972008-07-22 Jason Rumney <jasonr@gnu.org>
4898
4899 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
4900 bare drive.
4901
49022008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4903
4904 * nsterm.m (syms_of_nsterm): Remove debugging println.
4905
49062008-07-22 David Reitter <david.reitter@gmail.com>
4907
4908 * nsfns.m (do_applescript, F_do_applescript): NS version of the
4909 Carbon implementation of the same functionality: execute arbitrary
4910 AppleScript code.
4911
49122008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
4913
4914 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
4915 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
4916 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
4917 (Fx_display_mm_height, Fx_display_mm_width)
4918 (Fx_display_backing_store, Fx_display_visual_class)
4919 (Fx_display_save_under, Fx_open_connection)
4920 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
4921 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
4922 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4923 (Fx_display_pixel_width, Fx_display_pixel_height)
4924 (Fx_display_usable_bounds, Fx_display_planes)
4925 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
4926 ... */' style of docstrings.
4927
49282008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
4929
4930 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
4931 on this platform.
4932 (mips):
4933 * m/iris4d.h (mips): Do not define.
4934 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
4935
4936 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
4937
4938 * image.c:
4939 * nsfns.m:
4940 * nsselect.m:
4941 * nsterm.h:
4942 * nsterm.m: Rename ns prefixed functions/variables to the
4943 corresponding x versions. Update references.
4944
4945 * m/ibms390x.h (NO_REMAP): Do not undefine.
4946
4947 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
4948
49492008-07-21 Chong Yidong <cyd@stupidchicken.com>
4950
4951 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
4952 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
4953 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
4954 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
4955 (Fns_display_mm_height, Fns_display_mm_width)
4956 (Fns_display_backing_store, Fns_display_visual_class)
4957 (Fns_display_save_under, Fns_open_connection)
4958 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
4959 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
4960 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4961 (Fns_display_pixel_width, Fns_display_pixel_height)
4962 (Fns_display_usable_bounds, Fx_display_planes)
4963 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
4964
49652008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
4966
4967 * print.c (print_object): Check print_depth before searching for
4968 circularities.
4969
49702008-07-21 Michael Albinus <michael.albinus@gmx.de>
4971
4972 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
4973 only sprintf.
4974
49752008-07-21 Kenichi Handa <handa@m17n.org>
4976
4977 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
4978
49792008-07-20 Andreas Schwab <schwab@suse.de>
4980
4981 * syntax.c (find_start_pos, find_start_value)
4982 (find_start_value_byte, find_start_begv, find_defun_start)
4983 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
4984
49852008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4986
4987 * s/sol2-3.h: Insert contents of s/sol2.h.
4988 (LD_SWITCH_SYSTEM): Remove redundant definition.
4989 * s/sol2.h: Remove, unused.
4990
49912008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4992
4993 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
4994
49952008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4996
4997 * Makefile.in (ns_appdir): Fix typo in find command.
4998
49992008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
5000
5001 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
5002
5003 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
5004 added not supported anymore.
5005
5006 * s/usg5-4-2.h (LIBS_SYSTEM):
5007 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
5008
5009 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
5010 * s/lynxos.h (GETPGRP_NO_ARG):
5011 * s/hpux10-20.h (NO_SIOCTL_H):
5012 * s/gnu.h (GETPGRP_NO_ARG):
5013 * s/gnu-linux.h (NO_SIOCTL_H):
5014 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
5015 * s/cygwin.h (GETPGRP_NO_ARG):
5016 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
5017 (C_DEBUG_SWITCH): Remove duplicate definition.
5018
5019 * m/ibms390.h: Remove boilerplate comments.
5020
5021 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
5022
5023 * process.c (HAVE_SERIAL): Consolidate ifdefs.
5024 (wait_reading_process_output): Remove code for SunOS, platform not
5025 supported anymore. Use SOLARIS2 instead of sun.
5026
50272008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5028
5029 * font.c (font_open_by_name): Under NS, default lface height to zero.
5030 (font_open_for_lface): Under NS, set size based on frame fontsize.
5031 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
5032 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
5033
50342008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5035
5036 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
5037 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
5038 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
5039 YES/NO.
5040 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
5041 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
5042 * Makefile.in (clean): Clear out build destination dir.
5043
50442008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5045
5046 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
5047 xterm, xselect.
5048 * lisp.h: Remove declaration of hash_remove.
5049 * nsgui.h: Remove redefinitions of hash_remove.
5050 * fns.c (hash_remove): Rename to hash_remove_from_table.
5051
50522008-07-19 Seiji Zenitani <zenitani@mac.com>
5053
5054 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
5055 strdup() the family UTF8String before modifying it.
5056
50572008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5058
5059 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
5060 NS_FACE_BACKGROUND with 0 instead of nil.
5061 * nsfont.m (nsfont_draw): Same.
5062
50632008-07-19 Chong Yidong <cyd@stupidchicken.com>
5064
5065 * nsfns.m (ns_set_background_color): Fix crash.
5066
50672008-07-18 Chong Yidong <cyd@stupidchicken.com>
5068
5069 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
5070
50712008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
5072
5073 * puresize.h (BASE_PURESIZE): Increase to 1240000.
5074
50752008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5076
5077 * gtkutil.c: Include <config.h> instead of "config.h".
5078
5079 * lisp.h (Foverlay_buffer): Add EXFUN.
5080
5081 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
5082 child process to complete child_setup. Undo 2005-09-21 change.
5083
5084 * s/darwin.h: Mention setsid after vfork.
5085
50862008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5087
5088 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
5089 Depend on macgui.h.
5090
5091 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
5092 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
5093
5094 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
5095 and f19.
5096 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
5097
5098 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
5099 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
5100 Remove enumerators.
5101
5102 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
5103 Check if FACE_FROM_ID returns NULL.
5104
51052008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
5106
5107 * w32inevt.c (change_frame_size): Remove extern declaration.
5108 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
5109 change_frame_size.
5110
51112008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5112
5113 * getloadavg.c: Revert last change (2008-07-15).
5114
51152008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5116
5117 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
5118 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
5119 from configure.
5120
51212008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
5122
5123 * s/sol2.h:
5124 * s/sol2-4.h: Reorganize conditionals.
5125
5126 * ecrt0.c: Remove code depending on m68000, not used anymore.
5127
5128 * fns.c (hash_remove): Make static.
5129 * lisp.h (hash_remove): Don't prototype.
5130
5131 * m/ibmrs6000.h:
5132 * m/ibms390x.h:
5133 * m/macppc.h: Remove boilerplate comments.
5134
5135 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
5136 Solaris, which does not need them.
5137
5138 * m/vax.h: Remove comments about unsupported systems.
5139
5140 * s/darwin.h: Reorganize ifdefs.
5141
51422008-07-17 Andreas Schwab <schwab@suse.de>
5143
5144 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
5145
51462008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
5147
5148 Use SDATA. Follow coding convention of placing operators at
5149 beginning of next line rather than end of previous line, and placing
5150 spaces around infix operators.
5151
5152 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
5153 in case it was defined already.
5154 USE @GNUSTEP_MAKEFILES@ rather than envvars.
5155 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
5156 ns_default.
5157 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
5158 Lisp_Objects.
5159 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
5160 (ns_defined_color, ns_color_to_lisp): Declare.
5161 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
5162 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
5163 it's accepted even with USE_LISP_UNION_TYPE.
5164 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
5165 (update_frame_tool_bar): Remove apparently obsolete tests for
5166 non-integerness of f->tool_bar_lines.
5167 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
5168 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
5169 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
5170 (nsfont_open): Don't confuse NULL for Qnil.
5171 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
5172 * menu.h (find_and_call_menu_selection):
5173 * menu.c (find_and_call_menu_selection): Use just int for vector size.
5174 (find_and_return_menu_selection): Always return something.
5175 * frame.h: Include dispextern.h for Display_Info.
5176 (display_x_get_resource): Declare.
5177
51782008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
5179
5180 * syntax.c: Remove stdio.h include accidentally introduced in
5181 Emacs.app commit.
5182 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
5183 NS_IMPL_COCOA.
5184 * keyboard.c (handle_async_input, input_available_signal): Remove
5185 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
5186
51872008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5188
5189 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
5190 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
5191 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
5192 Use SDATA.
5193
5194 * keymap.c: Remove all NS-specific code.
5195 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
5196 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
5197 where_is_preferred_modifier, return a different value depending on how
5198 preferred is the binding.
5199 (where_is_internal): Adjust accordingly.
5200 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
5201 Adjust to new preferred_sequence_p.
5202 (syms_of_keymap): Declare `where-is-preferred-modifier'.
5203 * keyboard.c (parse_solitary_modifier): Not static any more.
5204 * keyboard.h (parse_solitary_modifier): Declare.
5205
52062008-07-16 Andreas Schwab <schwab@suse.de>
5207
5208 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
5209 of easymenu.
5210
52112008-07-16 Chong Yidong <cyd@stupidchicken.com>
5212
5213 * xdisp.c (move_it_in_display_line): Account for word wrap, so
5214 that we don't move off the line.
5215
52162008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5217
5218 * keyboard.c (Qsuper): Remove.
5219 (parse_menu_item): Don't call where_is_internal specially for NS.
5220
52212008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5222
5223 * s/gnu-linux.h: Remove boilerplate comments.
5224
5225 * m/alpha.h (__ELF__): Consolidate conditions.
5226
5227 * m/m68k.h (linux): Use GNU_LINUX instead.
5228 Remove boilerplate comments.
5229
5230 * m/intel386.h: Undo refactoring from previous change.
5231 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
5232 too, remove dead code.
5233 (linux): Use GNU_LINUX instead.
5234
52352008-07-16 Jason Rumney <jasonr@gnu.org>
5236
5237 * w32gui.h: Repeat 26 June changes lost by last change.
5238
52392008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5240
5241 * systty.h: Remove code for Aix on 386, unsupported platform.
5242
5243 * s/ms-w32.h: Remove boilerplate comments.
5244 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
5245
5246 * s/gnu-linux.h (TERM): Remove support.
5247 (HAVE_SYSVIPC): Remove, unused.
5248 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
5249 for this system.
5250
5251 * process.c: Remove support for IRIS, unused.
5252 Remove support for TERM, not relevant anymore.
5253
5254 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
5255 used with the definition.
5256
5257 * s/aix4-2.h (static): Do not undef.
5258
5259 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
5260 only used on Aix.
5261 (HAVE_SYSVIPC): Remove, unused.
5262
5263 * m/hp800.h (CANNOT_DUMP): Do not undef.
5264
5265 * m/alpha.h: Fix comment.
5266
5267 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
5268 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
5269 used by this configuration.
5270 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
5271 * unexec.c: Remove code depending on HPUX and
5272 USG_SHARED_LIBRARIES, not used with this file. Remove code
5273 depending on IRIS, unused. Remove if 0-ed code.
5274
5275 * s/template.h: Remove comments about static.
5276
5277 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
5278 Remove if 0-ed code.
5279 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
5280 were the same as the default.
5281 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
5282 Remove boilerplate comments.
5283 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
5284 (HAVE_SYSVIPC): Remove, unused.
5285 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
5286
5287 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5288 Remove boilerplate comments.
5289 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5290 Remove boilerplate comments.
5291 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5292 Remove boilerplate comments.
5293 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
5294
5295 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
5296 USG systems which do not use DATA_SEG_BITS.
5297 Refactor code. Remove boilerplate comments.
5298
5299 * m/ibms390.h:
5300 * m/m68k.h:
5301 * s/bsd-common.h:
5302 * s/cygwin.h:
5303 * s/darwin.h:
5304 * s/freebsd.h:
5305 * s/gnu.h:
5306 * s/msdos.h: Remove boilerplate comments.
5307
5308 * m/iris4d.h: Remove boilerplate comments and code for systems that
5309 do not use this file.
5310 (IRIS_4D): Remove, unused.
5311
5312 * m/mips.h: Remove boilerplate comments and code for systems that
5313 do not use this file.
5314 (SIGN_EXTEND_CHAR):
5315 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
5316 * unexmips.c: Remove file, unused.
5317
5318 * editfns.c (Fuser_full_name): Replace the only use of
5319 USER_FULL_NAME with its value.
5320 * config.in: Regenerate.
5321
53222008-07-16 David Reitter <david.reitter@gmail.com>
5323
5324 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
5325 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
5326
53272008-07-16 Glenn Morris <rgm@gnu.org>
5328
5329 * emacs.c (system-type): Doc fix.
5330
53312008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
5332
5333 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
5334 If the cache doesn't work, let's fix it, rather than work around it.
5335
53362008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5337
5338 * Makefile.in: Correct additions for nsfont.o in last commit.
5339 * nsfont.m: New file (forgot last commit).
5340
53412008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5342
5343 * callproc.c (set_initial_environment): Initialize
5344 Vprocess_environment under CANNOT_DUMP (fixes crash when
5345 batch-compiling for bootstrap).
5346
53472008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5348 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5349
5350 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
5351 fix crash due to different init order.
5352
53532008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5354
5355 Changes and additions for NeXTstep windowing system (Cocoa and
5356 GNUstep) support.
5357
5358 * Makefile.in:
5359 * config.in: Support defines and build commands for NS port.
5360 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
5361 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
5362 * dispextern.h: Include nsgui.h and add needed typedefs under NS
5363 windowing.
5364 (struct face): Add synth_ital field.
5365 * dispnew.c: Include nsterm.h when compiling under NS windowing.
5366 (init_display): Initialize Vinitial_window_system to "ns" when so
5367 compiled.
5368 * emacs.c: Include GSConfig.h when compiling under GNUstep.
5369 (display_arg): Use under NS.
5370 (main): Under NS, allocate autorelease pool and handle command line
5371 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
5372 (standard_args): Add NS-specific args.
5373 (shut_down_emacs): Shut down NS terminal if compiled under NS.
5374 * font.c (DEFAULT_ENCODING): New variable.
5375 (font_find_for_lface): Use it.
5376 (syms_of_font): Load syms_of_nsfont under NS.
5377 * font.h: Declare nsfont_driver when compiled under NS.
5378 * fontset.c: When compiling under NS, include nsterm.h.
5379 (fontset_from_font): Autoconstruct fontset under NS.
5380 * frame.c (various): Under NS, include nsterm.h, add Qns window system
5381 symbol, document and use it.
5382 (do_switch_frame): When for_deletion under Cocoa, add
5383 Fraise_frame(Qnil).
5384 (x_set_frame_parameters): Ensure font attribute changes are picked up.
5385 (x_get_arg): Allow "yes" and "no" as boolean values.
5386 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
5387 Qright under Cocoa.
5388 (focus-follows-mouse): Default to 0 under NS.
5389 * frame.h (enum output_method): Add output_ns.
5390 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
5391 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
5392 (FRAME_WINDOW_P): NS-specific definition.
5393 * fringe.c (max_used_fringe_bitmap): Make public.
5394 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
5395 (getloadavg): Use NeXT code under descendant OS's.
5396 * image.c (includes and header section, x_create_bitmap_from_data)
5397 (x_create_bitmap_from_file, free_bitmap_record, image_background)
5398 (image_background_transparent, x_clear_image_1)
5399 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5400 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
5401 (x_to_xcolors, x_from_xcolors, x_disable_image)
5402 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
5403 other GUIs, including XPM support using code originally written for
5404 Carbon GUI.
5405 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
5406 using NS API.
5407 (image_ascent): Use font metrics macros instead of direct struct field
5408 access.
5409 * keyboard.c (includes): Add nsterm.h when compiling under NS.
5410 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
5411 Also, handle NS as GTK for menu bar purposes.
5412 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
5413 toolkit where they differ.
5414 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
5415 use cachelist, still needed under NS.
5416 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
5417 (struct widget_value): Define it here for menu.c.
5418 * keymap.c (includes): Include modifier internals.
5419 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
5420 NS.
5421 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
5422 support for preferring sequences using certain modifiers, specified by
5423 the FIRSTONLY argument.
5424 * lisp.h (hash_remove): Rename to avoid name clash when compiling
5425 under NS GNUstep implementation.
5426 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
5427 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
5428 * menu.c: Include nsterm.h under NS.
5429 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
5430 (free_menubar_widget_tree_value, update_submenu_strings)
5431 (find_and_call_menu_selection): Treat NS as X and NT.
5432 (find_and_return_menu_selection): New function, used for popup menus.
5433 * nsgui.h:
5434 * nsterm.h:
5435 * nsfns.m:
5436 * nsimage.m:
5437 * nsmenu.m:
5438 * nsselect.m:
5439 * nsterm.m: New files.
5440 * process.c (wait_reading_process_output): Under NS, call ns_select()
5441 instead of plain select().
5442 * syntax.c (char_quoted): Under NS, avoid a crash when called near
5443 beginning of buffer.
5444 * sysselect.h (init_process): Rename when compiling under Cocoa to
5445 avoid name conflict.
5446 * termhooks.h (display_info): Add ns_display_info to union.
5447 * terminal.c (Fterminal_live_p): Add ns to terminal types.
5448 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
5449 COCOA environment.
5450 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
5451 unexec() signature. (Note, this will dump, but the resulting file
5452 crashes; unexosx is used instead; keeping around for reference and
5453 possible aid in getting dump working under GNUstep.)
5454 * w32gui.h (button_type, widget_value): Remove definitions (now in
5455 keyboard.h).
5456 * window.c: Include nsterm.h when compiling under NS.
5457 * xdisp.c (includes): Include nsterm.h when compiling under NS.
5458 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
5459 other GUI windowing systems.
5460 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
5461 GTK.
5462 (x_consider_frame_title): Under NS, set icon type and frame
5463 modified-state indicator; use ns_set_name_as_filename() when using
5464 formatted title.
5465 (update_window_cursor): Make public when compiling under NS.
5466 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
5467 (hourglass_atimer, Vhourglass_delay
5468 * xfaces.c (header section, init_frame_faces, clear_font_table)
5469 (defined_color, unload_color, x_face_list_fonts)
5470 (prepare_face_for_display): Add NS support parallel to other GUIs.
5471 Emulate GCs like other non-X GUIs.
5472 (split_font_name): Don't lowercase font name under NS.
5473 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
5474 under NS.
5475 * s/darwin.h: Add support for compilation under NS.
5476
54772008-07-15 Jason Rumney <jasonr@gnu.org>
5478
5479 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
5480 (w32_show_hourglass): Rename from show_hourglass.
5481 (w32_hide_hourglass): Rename from hide_hourglass.
5482 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
5483 (Vhourglass_delay): Declare extern.
5484 (hourglass_started): Remove.
5485
5486 * xdisp.c (Vhourglass_delay): Remove static.
5487 (hourglass_started, start_hourglass, cancel_hourglass):
5488 Don't include these versions on WINDOWSNT.
5489
54902008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5491
5492 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
5493 variables (formerly in xfns.c).
5494 (show_hourglass, hide_hourglass): New prototypes (same).
5495 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
5496 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
5497 in xfns.c).
5498 (syms_of_xdisp): Declare/initialize display-hourglass,
5499 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
5500 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
5501 formerly in xfns.c.
5502 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5503 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5504 (start_hourglass, cancel_hourglass): Remove.
5505 (show_hourglass, hide_hourglass): Remove prototypes and static
5506 modifiers.
5507 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
5508 hourglass_atimer, hourglass_shown_p declaration/initialization.
5509 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5510 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5511 (start_hourglass, cancel_hourglass): Remove.
5512 (show_hourglass, hide_hourglass): Remove prototypes and static
5513 modifiers.
5514 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
5515 hourglass_atimer, hourglass_shown_p declaration/initialization.
5516 * w32fns.c (display_hourglass_p, Vhourglass_delay)
5517 (DEFAULT_HOURGLASS_DELAY): Remove.
5518 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
5519 hourglass_shown_p declaration/initialization.
5520
55212008-07-14 Jason Rumney <jasonr@gnu.org>
5522
5523 * w32fns.c (w32_get_arg): Remove wrapper function.
5524 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
5525 directly.
5526 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
5527
55282008-07-14 Kenichi Handa <handa@m17n.org>
5529
5530 * xfont.c (xfont_open): Add workaround for X's bug.
5531
55322008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5533
5534 * fontset.c: Include <stdio.h> unconditionally.
5535
55362008-07-13 Michael Albinus <michael.albinus@gmx.de>
5537
5538 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
5539 for filtering.
5540
55412008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
5542
5543 * s/vms.h: Use __GNUC__ instead of _GNUC_.
5544
5545 * m/macppc.h:
5546 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
5547
5548 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
5549 (SPECIAL_EMACS_INT):
5550 * m/ia64.h (SPECIAL_EMACS_INT):
5551 * m/amdx86-64.h (SPECIAL_EMACS_INT):
5552 * s/gnu.h (NLIST_STRUCT):
5553 * s/aix4-2.h (X11R5_INHIBIT_I18N):
5554 * s/gnu-linux.h (LINUX):
5555 * s/msdos.h (HAVE_FACES):
5556 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
5557
5558 * systty.h:
5559 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
5560 anymore.
5561
55622008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
5563
5564 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
5565 always defined as int.
5566
5567 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
5568 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
5569 * s/gnu-linux.h (HAVE_WAIT_HEADER):
5570 * s/freebsd.h (HAVE_WAIT_HEADER):
5571 * s/bsd-common.h (HAVE_UNION_WAIT):
5572 * s/aix4-2.h (HAVE_WAIT_HEADER):
5573 * m/mips.h (HAVE_UNION_WAIT):
5574 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
5575 (COFF, static): Do not define, they are undefined later in the file.
5576
5577 * process.c (update_status): Don't use a union.
5578 (status_convert):
5579 (sigchld_handler): Use int instead of WAITTYPE.
5580
55812008-07-12 Chong Yidong <cyd@stupidchicken.com>
5582
5583 * indent.c (Fvertical_motion): Restore hscroll before moving to
5584 goal column.
5585
55862008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5587
5588 * lisp.h: Remove left over code.
5589
55902008-07-11 Andreas Schwab <schwab@suse.de>
5591
5592 * lisp.h: Fix logic in last change.
5593
5594 * menu.h: New file.
5595 * menu.c: Include it.
5596 * xmenu.c: Likewise.
5597 * Makefile.in: Update dependencies.
5598
55992008-07-11 Kenichi Handa <handa@m17n.org>
5600
5601 * fontset.c (fontset_from_font): Cancel the previous change.
5602
56032008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5604
5605 * lisp.h:
5606 * w32heap.c:
5607 * emacs.c:
5608 * alloc.c: Replace all references of NO_UNION_TYPE with
5609 USE_LISP_UNION_TYPE.
5610
5611 * m/xtensa.h (NO_UNION_TYPE):
5612 * m/vax.h (NO_UNION_TYPE):
5613 * m/template.h (NO_UNION_TYPE):
5614 * m/sparc.h (NO_UNION_TYPE):
5615 * m/mips.h (NO_UNION_TYPE):
5616 * m/macppc.h (NO_UNION_TYPE):
5617 * m/m68k.h (NO_UNION_TYPE):
5618 * m/iris4d.h (NO_UNION_TYPE):
5619 * m/intel386.h (NO_UNION_TYPE):
5620 * m/ibms390x.h (NO_UNION_TYPE):
5621 * m/ibms390.h (NO_UNION_TYPE):
5622 * m/ibmrs6000.h (NO_UNION_TYPE):
5623 * m/ia64.h (NO_UNION_TYPE):
5624 * m/hp800.h (NO_UNION_TYPE):
5625 * m/arm.h (NO_UNION_TYPE):
5626 * m/amdx86-64.h (NO_UNION_TYPE):
5627 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
5628 defining it the same.
5629
56302008-07-10 Chong Yidong <cyd@stupidchicken.com>
5631
5632 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
5633
56342008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5635
5636 * fileio.c:
5637 * sysdep.c
5638 * systty.h:
5639 * m/ibmrs6000.h:
5640 * m/iris4d.h:
5641 * s/aix4-2.h:
5642 * s/freebsd.h:
5643 * s/gnu-linux.h:
5644 * s/hpux10-20.h:
5645 * s/hpux11.h:
5646 * s/netbsd.h:
5647 * s/sol2-3.h:
5648 * s/sol2-4.h:
5649 * s/sol2.h:
5650 * s/usg5-4.h:
5651 * s/vms.h: Remove references to unused variables.
5652
56532008-07-10 Andreas Schwab <schwab@suse.de>
5654
5655 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
5656 pattern before matching the generic family.
5657
56582008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5659
5660 * unexec.c:
5661 * s/vms.h:
5662 * s/usg5-4-2.h:
5663 * s/sol2-5.h:
5664 * s/freebsd.h:
5665 * s/darwin.h: Remove dead code.
5666
5667 * m/template.h:
5668 * m/sparc.h:
5669 * m/mips.h:
5670 * m/m68k.h:
5671 * m/iris4d.h:
5672 * m/intel386.h:
5673 * m/ibms390x.h:
5674 * m/ibms390.h:
5675 * m/ia64.h:
5676 * m/hp800.h:
5677 * m/arm.h:
5678 * m/amdx86-64.h: Remove dead code and references to unused
5679 and compiler defined symbols.
5680
5681 * unexmips.c:
5682 * unexelf.c: Remove references to desupported systems.
5683
5684 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
5685
5686 * m/powermac.h: Remove boilerplate comments.
5687 (NO_REMAP): Remove unused definition.
5688
5689 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
5690 define them.
5691
56922008-07-10 Kenichi Handa <handa@m17n.org>
5693
5694 * xfont.c (xfont_open): Log the reason of failure.
5695
56962008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
5697
5698 * fontset.c (fontset_get_font_group):
5699 * font.c (font_check_otf): Specify argument types.
5700
57012008-07-09 Kenichi Handa <handa@m17n.org>
5702
5703 * coding.c (detect_coding_utf_8): Set detect_info->found only when
5704 non-ASCII char is found.
5705
5706 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
5707 (reorder_font_vector): Change the arg preferred_family to font.
5708 Prefer the spec matching with font.
5709 (fontset_get_font_group): New function.
5710 (fontset_find_font): Change the format of an element of a realized
5711 fontset. Use fontset_get_font_group.
5712 (fontset_font): Try the current fontset, the default fontset, the
5713 fallbacks of the current fontset, and the fallbacks of the default
5714 fontset in this order.
5715 (face_for_char): Delete the shortcut to use the current font.
5716 (fontset_from_font): Don't set fonts for Latin in the fontset.
5717
5718 * font.h (font_make_object, font_match_p): Adjust prototypes.
5719
5720 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
5721
5722 * font.c (font_make_object): New arg entity and pixelsize.
5723 (font_check_otf_features, font_check_otf): New functions.
5724 (font_match_p): Check :lang, :script, and :otf properties.
5725
5726 * xfont.c (xfont_open): Adjust it for the change of
5727 font_make_object.
5728 (xfont_text_extents): Fix initial setting of metrics.
5729
5730 * ftfont.c (struct ftfont_info): New member index, delete member
5731 fc_charset_idx. Make the member order compatible with struct
5732 xftfont_info.
5733 (fc_charset_table): Change charset names to registry names.
5734 (ftfont_pattern_entity): Delete the args registry and
5735 fc_charset_idx. Change the value of :font-entity property
5736 to (FONTNAME . INDEX). Always set :registry property to
5737 `iso10646-1'.
5738 (struct ftfont_cache_data): New struct.
5739 (ftfont_lookup_cache): New arg for_face.
5740 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5741 (ftfont_driver): Set the member otf_capability.
5742 (ftfont_get_charset): Adjust it for the change of
5743 fc_charset_table.
5744 (OTF_TAG_SYM): New macro.
5745 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5746 for the change of fc_charset_table.
5747 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5748 ftfont_pattern_entity. Add FC_INDEX to objset.
5749 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5750 and ftfont_pattern_entity.
5751 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5752 font_make_object, struct ftfont_info.
5753 (ftfont_has_char): Use ftfont_get_fc_charset.
5754 (ftfont_otf_features, ftfont_otf_capability): New functions.
5755 (ftfont_shape): Use ftfont_get_otf.
5756 (ftfont_text_extents): Fix initial setting of metrics.
5757
5758 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5759 member order compatible with struct ftfont_info.
5760 (xftfont_open): Add FC_CHARSET to the pattern. Set
5761 xftfont_info->ft_size. Don't unlock the face. Check BDF
5762 properties if appropriate.
5763 (xftfont_close): Unlock the face.
5764 (xftfont_anchor_point, xftfont_shape): Deleted.
5765 (syms_of_xftfont): Don't set members anchor_point and shape of
5766 xftfont_driver.
5767
5768 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5769 font_make_object.
5770
5771 * w32font.c (w32font_open): Adjust it for the change of
5772 font_make_object.
5773 (w32font_open_internal): Don't set properties of font_object here.
5774
57752008-07-08 Chong Yidong <cyd@stupidchicken.com>
5776
5777 * macfns.c (x_create_tip_frame):
5778 * w32fns.c (x_create_tip_frame):
5779 * xfns.c (x_create_tip_frame): Pass parameter argument to
5780 face-set-after-frame-default.
5781
5782 * xfaces.c (Finternal_merge_in_global_face): Save merged
5783 attributes for the default face back into the face vector.
5784
57852008-07-08 Andreas Schwab <schwab@suse.de>
5786
5787 * fontset.h: Declare fontset_from_font. Don't declare
5788 new_fontset_from_font and fontset_from_font_name.
5789 * xterm.c: Include "fontset.h".
5790 * Makefile.in (xterm.o): Update dependencies.
5791
57922008-07-08 Glenn Morris <rgm@gnu.org>
5793
5794 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5795 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5796
57972008-07-07 Chong Yidong <cyd@stupidchicken.com>
5798
5799 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5800 (x_set_frame_parameters): Don't bind it.
5801
58022008-07-07 Juanma Barranquero <lekktu@gmail.com>
5803
5804 * w32fns.c (map_w32_filename): Declare extern.
5805
58062008-07-07 Jason Rumney <jasonr@gnu.org>
5807
5808 * w32term.c (WS_EX_LAYERED): Define if not already.
5809
58102008-07-06 Chong Yidong <cyd@stupidchicken.com>
5811
5812 * xfaces.c (set_font_frame_param): Don't try to set the font
5813 parameter if it is still unspecified in the lface.
5814
58152008-07-05 Chong Yidong <cyd@stupidchicken.com>
5816
5817 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5818 face if it didn't already exist.
5819
5820 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5821
58222008-07-05 Andreas Schwab <schwab@suse.de>
5823
5824 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5825
58262008-07-05 Chong Yidong <cyd@stupidchicken.com>
5827
5828 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5829 word-wrapping.
5830 (IT_DISPLAYING_WHITESPACE): New macro.
5831 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5832 when word-wrapping. Simplify word-wrapping logic. Use correct
5833 pixel positions when saving copies of the iterator.
5834 (display_line): Use proper wrap point if the last character on a
5835 line was preceded by whitespace.
5836
58372008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5838
5839 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
5840
58412008-07-04 Kenichi Handa <handa@m17n.org>
5842
5843 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
5844
5845 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
5846
58472008-07-02 Jason Rumney <jasonr@gnu.org>
5848
5849 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 5850 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
5851
5852 * xdisp.c (next_element_from_display_vector): Move assignment out
5853 of if statement.
5854
58552008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
5856
5857 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
5858
5859 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
5860 (syms_of_fileio): Initialize and export them.
5861 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
5862
5863 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
5864 (Fsystem_move_file_to_trash): New function.
5865 (syms_of_w32fns): Export it to lisp.
5866
58672008-07-01 Jason Rumney <jasonr@gnu.org>
5868
5869 * w32font.c (w32font_text_extents): Don't count overhang as part
5870 of width.
5871
58722008-06-30 Miles Bader <miles@gnu.org>
5873
5874 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
5875 Add `avoid_cursor_p' field.
5876
5877 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
5878 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
5879 (append_glyph, append_composite_glyph, produce_image_glyph)
5880 (append_stretch_glyph): Initialize avoid_cursor_p.
5881 (get_it_property): Rename from `get_line_height_property'.
5882 (x_produce_glyphs): Use get_it_property.
5883 (handle_line_prefix, push_display_prop): New functions.
5884 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
5885 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
5886 New variables.
5887 (syms_of_xdisp): Initialize them.
5888
58892008-06-30 Kenichi Handa <handa@m17n.org>
5890
5891 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
5892 XftDefaultSubstitute (they are called in XftFontMatch).
5893 (xftfont_open): Fix args to ftfont_font_format.
5894
5895 * ftfont.c (fc_charset_table): New member lang.
5896 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 5897 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
5898 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
5899 (ftfont_open): Fix args to ftfont_font_format.
5900 (ftfont_font_format): New arg filename.
5901
59022008-06-30 Chong Yidong <cyd@stupidchicken.com>
5903
5904 * xfaces.c (Finternal_merge_in_global_face): If default face was
5905 modified, realize it again. Update the font face attribute.
5906
59072008-06-29 Jason Rumney <jasonr@gnu.org>
5908
5909 * w32term.c (x_set_frame_alpha): Fix logic.
5910
59112008-06-29 Kenichi Handa <handa@m17n.org>
5912
5913 * fontset.c (Finternal_char_font): Return font-object instead of
5914 font-name.
5915
5916 * composite.c (get_composition_id): Fix the width calculation for TAB.
5917
59182008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
5919
5920 * indent.c (Fvertical_motion): Properly handle float column arg.
5921
59222008-06-28 Jason Rumney <jasonr@gnu.org>
5923
5924 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
5925 (pfnSetLayeredWindowAttributes): New function pointer.
5926 (w32_initialize): Initialize it when supported.
5927 (x_set_frame_alpha): New function.
5928
5929 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
5930 (w32_frame_parm_handlers): Set alpha handler.
5931
5932 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
5933
59342008-06-27 Jason Rumney <jasonr@gnu.org>
5935
5936 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
5937 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
5938 (w32_to_x_charset, x_to_w32_charset)
5939 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5940 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5941 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5942 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5943 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5944 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5945 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
5946 (Qw32_charset_unicode): Remove.
5947 (syms_of_w32fns): Update for above changes.
5948
5949 * w32font.c (w32_to_x_charset, x_to_w32_charset)
5950 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5951 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5952 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5953 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5954 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5955 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5956 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
5957 (syms_of_w32font): Update for above changes.
5958
59592008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
5960
5961 * s/usg5-4.h: Fix previous change: keep the correct branch of a
5962 removed #if.
5963 (USG_SHARED_LIBRARIES): Remove duplicate definition.
5964
59652008-06-26 Juanma Barranquero <lekktu@gmail.com>
5966 Eli Zaretskii <eliz@gnu.org>
5967
5968 * makefile.w32-in (LOCAL_FLAGS):
5969 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
5970
5971 * sysdep.c (_spawnlp, _getpid):
5972 Declare with explicit _cdecl instead of _CRTAPI1.
5973
5974 * editfns.c (Fget_internal_run_time):
5975 Check for WINDOWSNT with #ifdef, not #if.
5976
59772008-06-26 Jason Rumney <jasonr@gnu.org>
5978
5979 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
5980
5981 * w32term.c (x_draw_glyph_string_foreground)
5982 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
5983 Use FONT_HANDLE macro.
5984 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
5985
5986 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5987 (uniscribe_encode_char): Use FONT_HANDLE macro.
5988
5989 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
5990 (w32font_text_extents): Use precast w32_font.
5991 (w32font_close): Free cached metrics.
5992 (w32font_open_internal): Allocate space for name on stack.
5993
59942008-06-26 Chong Yidong <cyd@stupidchicken.com>
5995
5996 * xdisp.c (extend_face_to_end_of_line): Fix last change.
5997
59982008-06-26 Jason Rumney <jasonr@gnu.org>
5999
6000 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
6001 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
6002
60032008-06-26 Juanma Barranquero <lekktu@gmail.com>
6004
6005 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
6006
60072008-06-26 Jason Rumney <jasonr@gnu.org>
6008
6009 * w32bdf.c, w32bdf.h: Remove obsolete files.
6010
6011 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
6012
6013 * w32gui.h: Don't include w32bdf.h.
6014 (XCharStruct, enum w32_char_font_type, W32FontStruct):
6015 Remove obsolete font support.
6016
6017 * w32font.h (struct w32font_info): Remove compat_w32_font.
6018 Add hfont member.
6019 (FONT_COMPAT): Remove obsolete macro.
6020
6021 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
6022 (w32font_encode_char, w32font_text_extents): Use new hfont member.
6023 (w32font_open_internal): Remove compat code. Set new hfont member.
6024 (Fx_select_font): Use new hfont member.
6025
6026 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
6027 (uniscribe_encode_char): Use new hfont member.
6028
6029 * w32term.c (x_draw_glyph_string_foreground)
6030 (x_draw_composite_glyph_string_foreground): Use new hfont member.
6031 (x_draw_glyph_string): Use metrics in w32font_info.
6032
60332008-06-26 Kenichi Handa <handa@m17n.org>
6034
6035 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
6036
60372008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
6038
6039 * unexnext.c:
6040 * m/ews4800.h:
6041 * m/hp9000s300.h:
6042 * m/ibm370aix.h:
6043 * m/mips-siemens.h:
6044 * m/ncr386.h:
6045 * m/next.h:
6046 * m/pmax.h:
6047 * m/powerpcle.h:
6048 * m/tandem-s2.h:
6049 * s/386bsd.h:
6050 * s/bsd386.h:
6051 * s/bsd4-1.h:
6052 * s/bsd4-2.h:
6053 * s/bsdos2-1.h:
6054 * s/bsdos2.h:
6055 * s/bsdos3.h:
6056 * s/bsdos4.h:
6057 * s/nextstep.h:
6058 * s/ultrix4-3.h:
6059 * s/usg5-0.h:
6060 * s/usg5-2-2.h:
6061 * s/usg5-2.h:
6062 * s/usg5-4-3.h:
6063 * s/ux4800.h:
6064 * s/uxpds.h:
6065 * s/uxpv.h: Remove support for obsolete systems.
6066 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 6067 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
6068 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
6069 Remove, insert contents in s/aix4-2.h.
6070 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
6071 * s/bsd4-3.h: Rename to ...
6072 * s/bsd-common.h: ... this.
6073 * data.c:
6074 * doc.c:
6075 * ecrt0.c:
6076 * emacs.c:
6077 * fileio.c:
6078 * floatfns.c:
6079 * keyboard.c:
6080 * mem-limits.h:
6081 * print.c:
6082 * process.c:
6083 * sysdep.c:
6084 * syssignal.h:
6085 * systty.h:
6086 * syswait.h:
6087 * term.c:
6088 * unexec.c:
6089 * unexelf.c:
6090 * unexhp9k800.c:
6091 * m/hp800.h:
6092 * m/ibmrs6000.h:
6093 * m/mips.h:
6094 * m/vax.h:
6095 * s/darwin.h:
6096 * s/freebsd.h:
6097 * s/gnu.h:
6098 * s/ms-w32.h:
6099 * s/msdos.h:
6100 * s/netbsd.h:
6101 * s/template.h: Remove references to obsolete variables.
6102
6103 * Makefile.in: Add dependencies for all unexec files.
6104 (admindir): Remove unused variable.
6105 (UNEXEC_SRC): Remove references.
6106
61072008-06-25 Chong Yidong <cyd@stupidchicken.com>
6108
6109 * xfns.c (x_default_font_parameter): If Xft is available, first
6110 try Monospace-12 for the default font.
6111
61122008-06-25 Jason Rumney <jasonr@gnu.org>
6113
6114 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
6115
61162008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
6117
6118 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
6119
6120 * buffer.c (syms_of_buffer): Remove default-word-wrap.
6121
61222008-06-25 Juanma Barranquero <lekktu@gmail.com>
6123
6124 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
6125 <scroll-conservatively>: Fix typo in docstring.
6126
6127 * xselect.c (Fx_send_client_event): Doc fix.
6128
61292008-06-25 Kenichi Handa <handa@m17n.org>
6130
6131 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
6132
6133 * font.c (font_parse_fcname): Remove unused variables.
6134 (font_sort_entites): Delete the arg SPEC. Caller changed.
6135 Fix for the case of ! best_only.
6136 (font_delete_unmatched): Check DPI and AVGWIDTH too.
6137
6138 * lisp.h (Fstring_to_unibyte): EXFUN it.
6139
6140 * character.h (str_to_unibyte): Extern it.
6141
6142 * character.c (str_to_unibyte): New function.
6143
6144 * fns.c (Fstring_to_unibyte): New function.
6145 (syms_of_fns): Defsubr it.
6146
61472008-06-24 Kenichi Handa <handa@m17n.org>
6148
6149 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
6150 DPI too.
6151 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
6152
61532008-06-24 Andreas Schwab <schwab@suse.de>
6154
6155 * Makefile.in (${lispsource}loaddefs.el): Rename from
6156 ../lisp/loaddefs.el.
6157 (bootstrap-clean): Do what distclean does but don't remove
6158 Makefile.
6159 (distclean): Depend on bootstrap-clean and remove Makefile.
6160
61612008-06-24 Chong Yidong <cyd@stupidchicken.com>
6162
6163 * buffer.h (struct buffer): New member word_wrap.
6164
6165 * buffer.c (syms_of_buffer): New variables default-word-wrap and
6166 word-wrap.
6167 (init_buffer_once): Initialize them.
6168
6169 * dispextern.h (struct it): Replace bool truncate_lines_p with a
6170 line_wrap enum possessing three possible values.
6171
6172 * termopts.h: Replace truncate_partial_width_windows with
6173 Vtruncate_partial_width_windows.
6174
6175 * dispnew.c (direct_output_for_insert): Avoid direct output when
6176 inserting a space with word wrap on.
6177
6178 * indent.c (compute_motion): Obey integer values of
6179 truncate-partial-width-windows.
6180
6181 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
6182 replacing truncate_partial_width_windows.
6183 (init_iterator): If Vtruncate_partial_width_windows is an integer,
6184 truncate only if the window width is below that integer.
6185 (start_display, resize_mini_window, produce_stretch_glyph)
6186 (display_string, move_it_in_display_line_to): Use line_wrap.
6187 (back_to_previous_visible_line_start, reseat_1): Reset
6188 string_from_display_prop_p.
6189 (display_line): Extend default face to end of line when wrapping.
6190
61912008-06-24 Kim F. Storm <storm@cua.dk>
6192
6193 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
6194 to wrap continued lines at word boundaries.
6195
61962008-06-24 Jason Rumney <jasonr@gnu.org>
6197
6198 * font.c (Ffont_face_attributes): Multiply pixel size before point
6199 conversion to avoid multiplying rounding error.
6200
62012008-06-23 Jason Rumney <jasonr@gnu.org>
6202
6203 * w32term.c (x_draw_glyph_string_background)
6204 (x_draw_glyph_string): Remove old bdf font code.
6205
6206 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
6207
62082008-06-22 Kenichi Handa <handa@m17n.org>
6209
6210 * font.c (font_find_for_lface): Try the adstyle specified in
6211 the property of LFACE_FONT of LFACE (if any).
6212
62132008-06-21 Seiji Zenitani <zenitani@mac.com>
6214 Ryo Yoshitake <ryo@shiftmode.net>
6215
6216 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
6217
62182008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
6219
6220 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
6221 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
6222 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
6223 (witness-emacs): Remove.
6224 (lisp, shortlisp): Move loaddefs.el earlier.
6225 (mostlyclean): Forget about witness-emacs.
6226
62272008-06-22 Glenn Morris <rgm@gnu.org>
6228
6229 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
6230 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
6231
62322008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6233
6234 * Makefile.in (PRECOMP): Remove.
6235 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
6236 (witness-emacs): Run `compile-first'.
6237 (.el.elc): Use the new compile-onefile target.
6238
62392008-06-21 Kenichi Handa <handa@m17n.org>
6240
6241 * xftfont.c (xftfont_open): Handle QCembolden only when
6242 FC_EMBOLDEN is defined.
6243
62442008-06-21 Andreas Schwab <schwab@suse.de>
6245
6246 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
6247 (.el.elc): Likewise.
6248
62492008-06-21 Miles Bader <miles@gnu.org>
6250
6251 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
6252 build dir, not the lisp source dir.
6253
62542008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6255
6256 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
6257 (bootstrapclean): Remove.
6258 (.el.elc): New rule.
6259 (PRECOMP): New var.
6260 (../lisp/subdirs.el): Remove.
6261 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
6262 (witness-emacs): New target.
6263 (mostlyclean): Remove witness-emacs as well.
6264 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
6265 Add witness-emacs dependency.
6266
62672008-06-20 Chong Yidong <cyd@stupidchicken.com>
6268
6269 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
6270 defined by the font.
6271
62722008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6273
6274 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
6275 (bootstrap-clean): New target that keeps TAGS around.
6276 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
6277 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
6278
62792008-06-20 Jason Rumney <jasonr@gnu.org>
6280
6281 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
6282 Remove obsolete font code.
6283
6284 * w32font.c (font_matches_spec): Use csb bitfield from font signature
6285 to determine language support.
6286
62872008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6288
6289 * sysdep.c (cfsetspeed): New fun extracted from the code.
6290 (cfmakeraw): Move before first use.
6291
62922008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
6293
6294 * sysdep.c (cfmakeraw): Provide fallback implementation.
6295 (serial_configure): Provide fallback implementation of cfsetspeed.
6296
62972008-06-20 Kenichi Handa <handa@m17n.org>
6298
6299 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
6300 the pattern.
6301
6302 * fontset.c (fontset_from_font): Copy font_spec before changing
6303 the elements.
6304
6305 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
6306
63072008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6308
6309 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
6310 for explicit `font' parameters.
6311
6312 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
6313
63142008-06-19 Kenichi Handa <handa@m17n.org>
6315
6316 * frame.c: Include <ctype.h>.
6317 (x_set_font_backend): Allow spacing characters in the X resource
6318 for FontBackend.
6319
63202008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
6321
6322 * w32fns.c, xfns.c (Qfont_param): New var.
6323 (syms_of_w32fns): Initialize it.
6324 (x_default_font_parameter): Record explicit `font' into
6325 `font-parameter'.
6326
63272008-06-18 Kenichi Handa <handa@m17n.org>
6328
6329 * font.c (font_parse_xlfd): Fix previous change.
6330 (font_parse_fcname): Don't use :fc-unknown-spec.
6331 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
6332 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
6333 (font_add_log): Prepend the driver name to the resulting fonts.
6334
6335 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
6336 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
6337 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
6338
6339 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
6340 (QCembolden): New variables.
6341 (syms_of_xftfont): DEFSYM them.
6342 (xftfont_open): Call XftFontMatch. Don't trust the result of
6343 XftTextExtents8 if the pixel_size is less than 5.
6344
63452008-06-18 Andreas Schwab <schwab@suse.de>
6346
6347 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
6348 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
6349
63502008-06-18 Jason Rumney <jasonr@gnu.org>
6351
6352 * w32font.c (w32font_list, w32font_match): Add logging.
6353
6354 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
6355
63562008-06-17 Chong Yidong <cyd@stupidchicken.com>
6357
6358 * font.c (font_parse_fcname): Store divider characters for
6359 unknown-spec list. For known key symbols, intern using correct
6360 symbol name.
6361
63622008-06-17 Kenichi Handa <handa@m17n.org>
6363
6364 * xfaces.c (realize_default_face): If the frame is not on window
6365 system, set the fontset of face to nil.
6366
63672008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6368
6369 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
6370
63712008-06-16 Juanma Barranquero <lekktu@gmail.com>
6372
6373 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
6374 (build_font_name_from_vector): Delete externs.
6375
6376 * xfaces.c (struct font_name): Don't declare.
6377
63782008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
6379
6380 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
6381
63822008-06-16 Chong Yidong <cyd@stupidchicken.com>
6383
6384 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
6385
63862008-06-16 Juanma Barranquero <lekktu@gmail.com>
6387
6388 * font.c (Ffont_spec): Fix usage in docstring.
6389 (Ffont_face_attributes): Doc fix.
6390
63912008-06-16 Andreas Schwab <schwab@suse.de>
6392
6393 * font.c (Ffont_face_attributes): Fix definition.
6394
63952008-06-16 Jason Rumney <jasonr@gnu.org>
6396
6397 * font.h (font_style_symbolic_from_value): Remove.
6398
6399 * font.c (font_style_symbolic_from_value): Remove.
6400 (font_style_symbolic): Revert to pre 2008-06-13 version.
6401
6402 * w32font.c (w32_to_fc_weight): New function.
6403 (w32font_full_name, logfont_to_fcname): Use it.
6404
64052008-06-16 Kenichi Handa <handa@m17n.org>
6406
6407 * font.c (font_check_object): Delete it.
6408 (font_clear_cache): Check if a font-object is alive.
6409 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
6410 font-object to nil.
6411 (font_close_object): Don't check FONT_CLOSE_OBJECT.
6412 (font_at): Don't call font_check_object.
6413 (Ffont_get): Return a symbol for :weight, :slant, and :width.
6414
64152008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
6416
6417 * puresize.h (BASE_PURESIZE): Increase to 1230000.
6418
64192008-06-16 Chong Yidong <cyd@stupidchicken.com>
6420
6421 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
6422
64232008-06-15 Chong Yidong <cyd@stupidchicken.com>
6424
6425 * font.c (font_parse_fcname): Only one decimal point.
6426 (font_unparse_fcname): Handle data in family and foundry indices
6427 as symbols, not strings.
6428 (font_unparse_gtkname, Ffont_face_attributes): New functions.
6429
6430 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
6431
6432 * font.h (font_unparse_gtkname): Add prototype.
6433
64342008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6435
6436 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
6437
64382008-06-15 Andreas Schwab <schwab@suse.de>
6439
6440 * font.c (font_update_drivers): Fix crash when no drivers match.
6441
64422008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
6443
6444 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
6445 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
6446
64472008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
6448
6449 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
6450
64512008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
6452
6453 * process.c (Fserial_process_configure, Fprocess_send_eof):
6454 Use EQ to compare Lisp_Objects.
6455
64562008-06-13 Jason Rumney <jasonr@gnu.org>
6457
6458 * w32fns.c (Fw32_select_font): Remove old font API function.
6459
6460 * w32font.c (logfont_to_fcname): New function.
6461 (Fx_select_font): New font dialog function compatible with
6462 GTK/fontconfig version.
6463
6464 * font.c (font_style_symbolic_from_value): New function.
6465 (font_style_symbolic): Use it.
6466
6467 * font.h (font_style_symbolic_from_value): Declare new function.
6468
64692008-06-13 Juanma Barranquero <lekktu@gmail.com>
6470
6471 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
6472 <font-width-table>: Fix typos in docstrings.
6473
64742008-06-13 Daniel Engeler <engeler@gmail.com>
6475
6476 These changes add serial port access.
6477 * process.c: Add HAVE_SERIAL.
6478 (Fdelete_process, Fprocess_status, Fset_process_buffer)
6479 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
6480 (list_processes_1, select_wrapper, Fstop_process)
6481 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
6482 (status_notify): Modify to handle serial processes.
6483 [HAVE_SERIAL] (Fserial_process_configure)
6484 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
6485 New functions.
6486 * process.h (struct Lisp_Process): Add `type'.
6487 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
6488 New functions.
6489 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
6490 serial ports.
b71ac3dd 6491 (serial_open, serial_configure): New functions.
aac0c6e3
MR
6492 * w32.h: Add FILE_SERIAL.
6493 (struct _child_process): Add ovl_read, ovl_write.
6494
64952008-06-13 Kenichi Handa <handa@m17n.org>
6496
6497 * dispextern.h (enum lface_attribute_index): New member
6498 LFACE_FOUNDRY_INDEX.
6499
6500 * font.c (font_score): Delete arg alternate_families. Check only
6501 weight, slant, width, and size. Ignore the difference of alias
6502 style symbols.
6503 (font_sort_entites): Adjust for the above change. Reflect the
6504 order of font-driver to scores.
6505 (font_list_entities): Don't check alternate_familes here.
6506 (font_clear_prop): Handle foundry.
6507 (font_update_lface): Don't parse "foundry-family" form here.
6508 Handle FONT_FOUNDRY_INDEX.
6509 (font_find_for_lface): Likewise. Handle alternate families here.
6510 If registry is nil, try iso8859-1 and ascii-0.
6511 (font_open_for_lface): Pay attention to size in ENTITY.
6512 (font_open_by_name): Simplify by calling font_load_for_lface.
6513 (free_font_driver_list): Delete it.
6514 (font_update_drivers): Preserve the order of backends.
6515 (syms_of_font): Setting of sort_shift_bits adjusted for the change
6516 of font_score and font_sort_entites.
6517 (font_update_sort_order): Likewise.
6518
6519 * xfaces.c (LFACE_FOUNDRY): New macro.
6520 (check_lface_attrs): Check foundry.
6521 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
6522 (merge_face_vectors): Check foundry.
6523 (merge_face_ref): Likewise.
6524 (Finternal_set_lisp_face_attribute): Likewise.
6525 (x_update_menu_appearance): Likewise.
6526 (Finternal_get_lisp_face_attribute): Likewise.
6527 (lface_hash): Likewise.
6528 (lface_same_font_attributes_p): Likewise.
6529 (x_supports_face_attributes_p): Likewise.
6530 (tty_supports_face_attributes_p): Likewise.
6531 (Finternal_set_alternative_font_family_alist): Intern strings.
6532 (Finternal_set_alternative_font_registry_alist): Downcase strings.
6533 (realize_default_face): Set LFACE_FOUNDRY (lface).
6534
6535 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
6536 font-driver at first.
6537
6538 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
6539
65402008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6541
6542 * lread.c (Fload): Use xfree, not free on saved_doc_string.
6543
65442008-06-12 Jim Meyering <meyering@redhat.com>
6545
6546 Make unexec_free handle NULL the same way free does.
6547 * unexmacosx.c (unexec_free): Ignore a NULL argument.
6548
65492008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
6550
6551 * character.h (CHAR_TO_BYTE_SAFE): New macro.
6552 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
6553 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
6554 (WEAK_ALIAS): Simplify.
6555 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
6556 when searching a unibyte buffer.
6557
65582008-06-12 Chong Yidong <cyd@stupidchicken.com>
6559
6560 * xfns.c (Fx_select_font): Rename from x-font-dialog.
6561
65622008-06-12 Juanma Barranquero <lekktu@gmail.com>
6563
6564 * w32font.c: Include ctype.h.
6565
65662008-06-11 Jason Rumney <jasonr@gnu.org>
6567
6568 * w32font.c (w32font_encode_char): Detect missing glyphs that are
6569 misreported as space.
6570 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
6571 as aliases for registry iso10646-1.
6572
65732008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
6574
6575 * buffer.c (clone_per_buffer_values): Skip `name'.
6576
65772008-06-11 Chong Yidong <cyd@stupidchicken.com>
6578
6579 * font.c (font_parse_fcname): Fix last change; accept decimal
6580 points in font size.
6581
65822008-06-10 Jason Rumney <jasonr@gnu.org>
6583
6584 * w32uniscribe.c (add_opentype_font_name_to_list):
6585 Skip non unicode fonts.
6586
65872008-06-10 Chong Yidong <cyd@stupidchicken.com>
6588
6589 * xfns.c (Fx_font_dialog): New function.
6590
6591 * gtkutil.c (xg_dialog_response_cb): Rename from
6592 xg_file_response_callback.
6593 (pop_down_dialog): Rename from pop_down_file_dialog.
6594 (xg_get_file_name): Callers changed.
6595 (xg_get_font_name): New function.
6596
6597 * gtkutil.h (xg_get_font_name): Insert prototype.
6598
65992008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6600
6601 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
6602 x_underline_minimum_display_offset.
6603 (syms_of_xdisp): Declare it here rather than in xterm.c.
6604 * dispextern.h (underline_minimum_offset): Declare it.
6605 * w32term.c (x_draw_glyph_string): Use it.
6606 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
6607 (syms_of_xterm): Don't declare it any more.
6608 (x_draw_glyph_string): Adjust to the new name.
6609
66102008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
6611
6612 * xterm.c (x_underline_minimum_display_offset): New var.
6613 (x_draw_glyph_string): Use it.
6614 (syms_of_xterm): Declare it.
6615
66162008-06-10 Chong Yidong <cyd@stupidchicken.com>
6617
6618 * font.c (font_parse_fcname): Accept GTK-style font names too.
6619
66202008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6621
6622 * dired.c (file_name_completion): Don't return t if the match is exact
6623 but with different capitalization.
6624 * minibuf.c (Ftry_completion): Simplify.
6625
6626 * window.c (Vwindow_point_insertion_type): New var.
6627 (set_window_buffer): Use it.
6628 (syms_of_window): Init and export it to Lisp.
6629
66302008-06-10 Kenichi Handa <handa@m17n.org>
6631
6632 * font.h (font_intern_prop): Prototype adjusted.
6633
6634 * font.c (font_intern_prop): New arg force_symbol.
6635 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
6636 Adjust for the change of font_intern_prop.
6637
6638 * ftfont.c (ftfont_pattern_entity):
6639 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
6640 (w32_registry):
6641 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
6642 the change of font_intern_prop.
6643
66442008-06-09 Juanma Barranquero <lekktu@gmail.com>
6645
6646 * w32menu.c (digest_single_submenu): Declare extern.
6647
66482008-06-09 Jason Rumney <jasonr@gnu.org>
6649
6650 * w32term.c (x_make_frame_visible): Use alternate restore flags.
6651
6652 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
6653 (parse_single_submenu): Remove.
6654 (digest_single_submenu): Remove.
6655 (syms_of_w32menu): Don't initialise variables that have moved
6656 to menu.c.
6657 (set_frame_menubar): Sync with version in xmenu.c.
6658 (w32_menu_show): Sync with xmenu_show in xmenu.c.
6659
6660 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
6661 Make static again.
6662
66632008-06-09 Jason Rumney <jasonr@gnu.org>
6664
6665 Changes to w32 files related to the move of common menu code
6666 to menu.c on 2008-06-08 by Chong Yidong.
6667
6668 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
6669 defs to w32gui.h.
6670 (single_keymap_panes, push_menu_item, push_menu_pane):
6671 Make globally visible.
6672
6673 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
6674 (local_free, malloc_widget_value, free_widget_value)
6675 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
6676 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
6677 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
6678 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
6679 (menu_items, menu_items_allocated, menu_items_used)
6680 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
6681 (init_menu_items, finish_menu_items, discard_menu_items)
6682 (grow_menu_items, push_submenu_start, push_submenu_end)
6683 (push_left_right_boundary, push_menu_pane, push_menu_item)
6684 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
6685 (free_menubar_widget_tree_value, parse_single_submenu)
6686 (update_submenu_strings): Remove functions.
6687 (xmalloc_widget_value): Remove and declare extern.
6688
6689 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
6690 (OBJ1): Build it.
6691
6692 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
6693 (local_heap, local_alloc, local_free, malloc_widget_value)
6694 (free_widget_value): Define here.
6695
66962008-06-09 Kenichi Handa <handa@m17n.org>
6697
6698 * font.h (Qascii_0): Extern it.
6699
6700 * font.c (Qascii_0): New variable.
6701 (syms_of_font): DEFSYM it.
6702 (font_open_by_name): If the registry "iso8859-1" fails, try also
6703 "ascii-0".
6704
6705 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
6706
67072008-06-08 Kenichi Handa <handa@m17n.org>
6708
6709 * .gdbinit (xfont): New command.
6710
67112008-06-08 Andreas Schwab <schwab@suse.de>
6712
6713 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
6714 * Makefile.in (menu.o): Update dependencies.
6715
6716 * Makefile.in (obj): Always add menu.o.
6717 * emacs.c (main): Always call syms_of_menu.
6718 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
6719
67202008-06-08 Chong Yidong <cyd@stupidchicken.com>
6721
6722 * Makefile.in: Compile menu.c.
6723
6724 * lisp.h: Declare syms_of_menu.
6725
6726 * emacs.c (main): Call syms_of_menu.
6727
6728 * keyboard.h: Relocate platform-independent menu definitions from
6729 xmenu.c.
6730
6731 * menu.c: New file. Relocate platform-independent menu
6732 definitions from xmenu.c. Suggested by Adrian Robert.
6733
6734 * xmenu.c: Remove platform-independent menu definitions.
6735 (menu_items menu_items_inuse, menu_items_allocated)
6736 (menu_items_used, menu_items_n_panes)
6737 (menu_items_submenu_depth): Move to keyboard.h.
6738 (init_menu_items, finish_menu_items, unuse_menu_items)
6739 (discard_menu_items, restore_menu_items, save_menu_items)
6740 (grow_menu_items, push_submenu_start, push_submenu_end)
6741 (push_left_right_boundary, push_menu_pane, push_menu_item)
6742 (keymap_panes, single_keymap_panes, single_menu_item)
6743 (list_of_panes, list_of_items, find_and_call_menu_selection)
6744 (xmalloc_widget_value, free_menubar_widget_value_tree)
6745 (parse_single_submenu, digest_single_submenu)
6746 (update_submenu_strings): Move to menu.c.
6747
67482008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6749
6750 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6751
67522008-06-06 Miles Bader <miles@gnu.org>
6753
6754 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6755 face, not frame default.
6756
67572008-06-05 Martin Rudalics <rudalics@gmx.at>
6758
6759 * window.c (pop_up_windows, pop_up_frames)
6760 (display_buffer_reuse_frames, Vpop_up_frame_function)
6761 (Vdisplay_buffer_function, Veven_window_heights)
6762 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6763 (Vspecial_display_function, Vsame_window_buffer_names)
6764 (Vsame_window_regexps, split_height_threshold)
6765 (Vsplit_window_preferred_function): Move those vars to window.el.
6766 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6767 (Fdisplay_buffer): Move those functions to window.el.
6768 (syms_of_window): Remove corresponding declarations.
6769 (display_buffer): New function.
6770 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6771 * dispnew.c (Flast_nonminibuf_frame): New function.
6772 * buffer.c (Fpop_to_buffer): Move to window.el.
6773
67742008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6775
6776 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6777
67782008-06-05 Kenichi Handa <handa@m17n.org>
6779
6780 * coding.c (detect_coding): Fix previous change.
6781 (detect_coding_system): Likewise.
6782
67832008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6784
6785 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6786
6787 * keymap.c (Vminibuffer_local_filename_must_match_map):
6788 Rename from Vminibuffer_local_must_match_filename_map.
6789 (syms_of_keymap):
6790 * minibuf.c (Fcompleting_read): Adjust accordingly.
6791 * commands.h: Rename declaration as well.
6792
67932008-06-05 Kenichi Handa <handa@m17n.org>
6794
6795 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6796 family name.
6797 (Ffont_put): Likewise.
6798
6799 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6800 current font-spec.
6801
6802 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6803 is unspecified.
6804
6805 * xfaces.c (realize_x_face): If the font-related face attributes
6806 are the same as those of default face, realize a new fontset from
6807 default->fontset.
6808 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6809
68102008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6811
6812 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6813 (move_it_in_display_line): New wrapper.
6814
6815 * window.c (window_scroll_pixel_based_preserve_x)
6816 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6817 (window_scroll_pixel_based, window_scroll_line_based):
6818 Use them to preserve column positions.
6819 (syms_of_window): Initialize them.
6820
6821 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6822 (HPOS . VPOS) pair.
6823
6824 * dispextern.h (move_it_in_display_line): Declare.
6825
68262008-06-05 Juanma Barranquero <lekktu@gmail.com>
6827
6828 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6829 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6830 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6831
68322008-06-04 Juanma Barranquero <lekktu@gmail.com>
6833
6834 * window.c (Fset_window_parameter): Doc fix.
6835 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6836
68372008-06-04 Joakim Verona <joakim@verona.se>
6838
6839 * window.h (struct window): Add new member window_parameters.
6840
6841 * window.c (Fwindow_parameters, Fwindow_parameter)
6842 (Fset_window_parameter): New defuns.
6843 (syms_of_window): Defsubr the new defuns.
6844 (make_window): Initialize window_parameters to nil.
6845
68462008-06-04 John Paul Wallington <jpw@pobox.com>
6847
6848 * eval.c (Fdefmacro): Doc fix.
6849
68502008-06-04 Kenichi Handa <handa@m17n.org>
6851
6852 * coding.c (detect_coding): Fix handling of coding->head_ascii.
6853 Be sure to call setup_coding_system when we find a proper coding system.
6854 (detect_coding_system): Fix handling of coding->head_ascii.
6855
68562008-06-03 Andreas Schwab <schwab@suse.de>
6857
6858 * font.c (font_prop_validate_spacing): Fix last change.
6859
68602008-06-03 Kenichi Handa <handa@m17n.org>
6861
6862 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
6863 (font_parse_fcname): Fix handling of unknown key.
6864
6865 * xfont.c (xfont_list): Try an alias.
6866
6867 * charset.c (char_charset): Return NULL if the arg charset_list is
6868 specified and C doesn't belong to any of them.
6869
68702008-06-02 Chip Coldwell <coldwell@redhat.com>
6871
6872 * font.c (font_pixel_size): Don't take cdr of an integer.
6873
68742008-06-02 Jim Meyering <meyering@redhat.com>
6875
6876 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
6877 * alloc.c (xfree): Return right away for a NULL arg.
6878 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
6879 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
6880 * mac.c (create_apple_event_from_event_ref): Likewise.
6881 (create_apple_event_from_drag_ref, cfstring_create_normalized):
6882 Likewise.
6883 * doprnt.c (doprnt1): Likewise.
6884 * frame.c (frame): Likewise.
6885 * keyboard.c (wipe_kboard): Likewise.
6886 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
6887 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
6888 * term.c (tty_default_color_capabilities, maybe_fatal)
6889 (delete_tty): Likewise.
6890 * w16select.c (string): Likewise.
6891 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
6892 * w32bdf.c (w32_free_bdf_font): Likewise.
6893 * w32fns.c (w32_unload_font): Likewise.
6894 * w32font.c (w32font_close): Likewise.
6895 * window.c (size_window): Likewise.
6896 * xselect.c (receive_incremental_selection): Likewise.
6897 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
6898 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
6899 * w32.c (stat): Likewise.
6900
6901 Remove useless if-before-free tests.
6902 * editfns.c (Fset_time_zone_rule): Likewise.
6903 * lread.c (nosuffix): Likewise.
6904 * ralloc.c (get_bloc): Likewise.
6905 * regex.c (reg_free): Likewise.
6906 * xftfont.c (xftfont_open, xftfont_close): Likewise.
6907 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
6908 * xsmfns.c (smc_save_yourself_CB): Likewise.
6909
69102008-06-02 Kenichi Handa <handa@m17n.org>
6911
6912 * font.c (font_find_for_lface): Handle float font size.
6913 (font_open_for_lface): Likewise.
6914
6915 * xfaces.c (x_supports_face_attributes_p): Check face->font before
6916 comparing the properties.
6917
69182008-06-01 Jason Rumney <jasonr@gnu.org>
6919
6920 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
6921 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
6922 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
6923 Don't add empty script list.
6924 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
6925
69262008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
6927
6928 * Makefile.in (dot, dotdot): Remove, update users.
6929 ".." has been used elsewhere in the file for a long time.
6930 (LIBXT_STATIC): Remove conditional based on unused variable.
6931
69322008-06-01 Miles Bader <miles@gnu.org>
6933
6934 * xfaces.c (Vface_remapping_alist): New variable.
6935 (syms_of_xfaces): Initialize it.
6936 (enum named_merge_point_kind): New type.
6937 (struct named_merge_point): Add `named_merge_point_kind' field.
6938 (push_named_merge_point): Make cycle detection respect different
6939 named-merge-point kinds.
6940 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
6941 Remove face-name alias resolution.
6942 (lface_from_face_name): New definition using
6943 `lface_from_face_name_no_resolve'.
6944 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
6945 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
6946 (get_lface_attributes): New definition that layers face-remapping on
6947 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
6948 (lookup_basic_face): New function.
6949 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
6950 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
6951 `get_lface_attributes'.
6952 (face_at_buffer_position): Use `lookup_basic_face' to lookup
6953 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
6954 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
6955
6956 * xdisp.c (init_iterator): Pass base_face_id through
6957 `lookup_basic_face' when we actually use it as a face-id.
6958 (handle_single_display_prop): Use `lookup_basic_face' to lookup
6959 DEFAULT_FACE_ID.
6960
6961 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
6962 lookup the initial face-id.
6963
6964 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
6965
69662008-06-01 Juanma Barranquero <lekktu@gmail.com>
6967
6968 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
6969 (Fremove_text_properties): Fix typos in docstrings.
6970
69712008-05-31 Kenichi Handa <handa@m17n.org>
6972
6973 * font.c (font_list_entities): Fix the car part of data to be
6974 stored in the cache.
6975
6976 * ftfont.c (ftfont_font_format): Don't use strcasestr.
6977
69782008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6979
6980 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
6981 Add a `test' argument so another predicate than `equal' can be used.
6982 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
6983 (map_char_table): Remove unused vars `c' and `i'.
6984 * lisp.h (Foptimize_char_table): Adjust declaration.
6985 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
6986
69872008-05-30 Kenichi Handa <handa@m17n.org>
6988
6989 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
6990 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
6991 defined.
6992
69932008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6994
6995 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6996 (Fmake_variable_frame_local): Disallow mixing buffer-local and
6997 frame-local settings for the same variable.
6998
69992008-05-30 Kenichi Handa <handa@m17n.org>
7000
7001 * fontset.c (Ffont_info): Move to font.c.
7002 (syms_of_fontset): Delete defsubr of Sfont_info.
7003
7004 * font.c (font_style_to_value, font_score): Delete casting of the
7005 args to xstcasecmp.
7006 (register_font_driver): Increment num_font_drivers only when
7007 registering the driver globally.
7008 (Ffont_info): Move from fontset.c. Handle a font object too.
7009 (syms_of_font): Defsubr Sfont_info.
7010
70112008-05-29 Kenichi Handa <handa@m17n.org>
7012
7013 * coding.h (enum define_coding_utf8_arg_index): New enum.
7014 (enum coding_attr_index): Change coding_attr_utf_16_bom to
7015 coding_attr_utf_bom.
7016 (enum utf_bom_type): Rename from utf_16_bom_type.
7017 (struct utf_16_spec): Adjust for the above change.
7018 (struct coding_system): Add utf_8_bom in `spec' union.
7019
7020 * coding.c (CODING_UTF_8_BOM): New macro.
7021 (enum coding_category): Delete coding_category_utf_8, add
7022 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
7023 coding_category_utf_8_sig.
7024 (CATEGORY_MASK_UTF_8): Delete it.
7025 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
7026 (CATEGORY_MASK_UTF_8_SIG): New macros.
7027 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
7028 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
7029 CATEGORY_MASK_UTF_8_SIG.
7030 (CATEGORY_MASK_UTF_8): New macro.
7031 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
7032 (detect_coding_utf_8): Check BOM.
7033 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
7034 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
7035 (encode_coding_utf_16): Likewise.
7036 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
7037 (detect_coding, detect_coding_system): Handle utf-8-auto.
7038 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
7039 (syms_of_coding): Fix setting up of Vcoding_category_table.
7040
70412008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
7042
7043 * process.c (Faccept_process_output): If `millisec' is non-nil,
7044 `seconds' default to 0.
7045 (wait_reading_process_output): Also return non-nil if we read output
7046 from a non-running process.
7047
70482008-05-29 Jason Rumney <jasonr@gnu.org>
7049
7050 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
7051 `raster' specified.
7052 (add_font_entity_to_list): Allow non-opentype truetype fonts back
7053 in the uniscribe backend, but disallow any font that has no
7054 unicode subrange support.
7055
70562008-05-29 Juanma Barranquero <lekktu@gmail.com>
7057
7058 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
7059 Fix typos in docstrings.
7060
70612008-05-29 Kenichi Handa <handa@m17n.org>
7062
7063 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
7064 (Fx_family_fonts): Set frame correctly.
7065
70662008-05-28 Jason Rumney <jasonr@gnu.org>
7067
7068 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
7069
70702008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
7071
7072 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
7073 calling build_annotations.
7074
70752008-05-28 Juanma Barranquero <lekktu@gmail.com>
7076
7077 * coding.c (Fdecode_coding_region, Fencode_coding_region)
7078 (Fencode_coding_string):
7079 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
7080 <latin-extra-code-table>: Fix typos in docstrings.
7081 (syms_of_coding) <coding-system-alist>: Doc fix.
7082 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
7083
70842008-05-28 Kenichi Handa <handa@m17n.org>
7085
7086 * fontset.c (Ffont_info): Don't call font_close_object.
7087
7088 * font.c (font_parse_family_registry): Use Ffont_put to validate
7089 foundry and family.
7090 (font_delete_unmatched): Don't check spacing.
7091 (font_list_entities): Add spacing to the spec to list fonts.
7092
7093 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
7094 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
7095
7096 * coding.c (encode_coding_raw_text): Fix previous change.
7097 (encode_coding_object): When the dst_object is a buffer and is
7098 different from src_object, move gap to PT.
7099
71002008-05-27 Chong Yidong <cyd@stupidchicken.com>
7101
7102 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
7103
71042008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7105
7106 * coding.c (encode_coding_raw_text): Set coding->produced_char for
7107 all branches. Compute it differently.
7108
7109 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
7110
71112008-05-27 Juanma Barranquero <lekktu@gmail.com>
7112
7113 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
7114 into "else if () ... else ...".
7115
71162008-05-27 Jason Rumney <jasonr@gnu.org>
7117
7118 * w32font.c (w32font_open_internal): Determine if glyph indices
7119 are likely to work here.
7120
71212008-05-27 Chong Yidong <cyd@stupidchicken.com>
7122
7123 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
7124 draw overlap glyphs with appropriate highlighting.
7125
71262008-05-27 Kenichi Handa <handa@m17n.org>
7127
7128 * xfont.c (xfont_open): Fix calculation of font->average_width.
7129
71302008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7131
7132 * casefiddle.c (casify_object): Try to guess better whether the
7133 argument is a byte or a char.
7134
71352008-05-26 Andreas Schwab <schwab@suse.de>
7136
7137 * xselect.c (x_reply_selection_request): Properly handle format == 32.
7138 Always send multiples of format size.
7139
7140 * xterm.c (x_set_frame_alpha): Fix type mismatch.
7141
71422008-05-26 Jason Rumney <jasonr@gnu.org>
7143
7144 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
7145 (compute_metrics): Don't set failure if we just cleared the cache.
7146 (w32_weight_table): Remove unused variable.
7147 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
7148 backwards compatibility.
7149
71502008-05-25 Kenichi Handa <handa@m17n.org>
7151
7152 * w32term.c (x_draw_glyph_string):
7153 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
7154
7155 * xfaces.c: Delete unused function prototypes.
7156 (xstrlwr, font_frame): Delete them.
7157 (clear_face_cache): Delete unused variable.
7158
7159 * xftfont.c (xftfont_open): Delete unused variable.
7160 If underline_thickness is not 1, adjust underline_position.
7161
7162 * ftxfont.c (ftxfont_open): Delete unused variable.
7163
7164 * fontset.c (face_for_char): Optimize for the case of no charset
7165 property.
7166
7167 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
7168 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
7169 (otf_open, font_otf_capability, generate_otf_features)
7170 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7171 Comment out by surrounding "#if 0" and "#endif" for the moment.
7172 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
7173 (syms_of_font): Codes for accessing above commented out.
7174
71752008-05-24 Eli Zaretskii <eliz@gnu.org>
7176
7177 * w32proc.c: Include dispextern.h.
7178
7179 * w32.c: Include dispextern.h.
7180
71812008-05-23 Juanma Barranquero <lekktu@gmail.com>
7182
7183 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
7184 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
7185 Fix typos in docstrings.
7186
71872008-05-23 Jason Rumney <jasonr@gnu.org>
7188
7189 * xsmfns.c: Remove includes that are already included by config.h.
7190
71912008-05-23 Kenichi Handa <handa@m17n.org>
7192
7193 * charset.c (Qemacs, charset_emacs): New variables.
7194 (char_charset): Fix for non-Unicode characters.
7195 (syms_of_charset): Define charset_emacs.
7196
7197 * w32term.c (x_draw_glyph_string): Be sure to update
7198 s->underline_thickness and s->underline_position. Be sure to draw
7199 underline within the current line area.
7200
7201 * xterm.c (x_draw_glyph_string): Be sure to update
7202 s->underline_thickness and s->underline_position. Be sure to draw
7203 underline within the current line area.
7204
7205 * fontset.c: Delete unused variables and add casting for char *
7206 throughout the file.
7207 (fontset_font): Try the fallback fonts of the current fontset
7208 before consulting the default fontset.
7209
7210 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
7211
7212 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
7213
72142008-05-22 Jason Rumney <jasonr@gnu.org>
7215
7216 * font.c: Don't include strings.h.
7217
7218 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
7219
7220 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
7221 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
7222 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
7223 to call xstrcasecmp.
7224
7225 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
7226
7227 * fontset.c (fs_query_fontset): Use xstrcasecmp.
7228
7229 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
7230
7231 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
7232
72332008-05-22 Kenichi Handa <handa@m17n.org>
7234
7235 * puresize.h (BASE_PURESIZE): Increase to 1220000.
7236
7237 * font.c (font_prop_validate_style): Adjust for the format
7238 change of font_style_table.
7239
7240 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
7241 two args.
7242
7243 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
7244 two args.
7245
72462008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
7247
7248 * minibuf.c (keys_of_minibuf): Delete.
7249 * lisp.h (keys_of_minibuf): Delete.
7250 * emacs.c (main): Don't call keys_of_minibuf.
7251
72522008-05-22 Kenichi Handa <handa@m17n.org>
7253
7254 * ftfont.c (ftfont_resolve_generic_family): Rename from
7255 ftfont_list_generic_family. Return a single family for each
7256 generic family.
7257 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
7258 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
7259 Call font_add_log.
7260 (ftfont_match): Call font_add_log.
7261
7262 * font.h (Ffont_xlfd_name): EXFUN adjusted.
7263 (FONT_DEBUG): Define it.
7264 (font_add_log): Extern it.
7265 (font_assert): Rename from xassert.
7266
7267 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
7268 (xfont_list_family): Call font_add_log.
7269 (xfont_match): Likewise.
7270 (memq_no_quit): Delete.
7271
7272 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
7273 call of Ffont_xlfd_name.
7274
7275 * xfaces.c (struct table_entry, slant_table, weight_table)
7276 (swidth_table): Move to font.c.
7277
7278 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
7279 xassert are changed to font_assert. Delete many unused variables.
7280 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
7281 New variables.
7282 (struct table_entry): Move from xfaces.c and modified.
7283 (weight_table, slant_table, width_table): Move from xfaces.c and
7284 contents adjusted for the change of struct table_entry.
7285 (font_style_to_value, font_style_symbolic): Adjust for the
7286 format change of font_style_table.
7287 (font_parse_family_registry): Don't overwrite existing foundry and
7288 family of font_spec.
7289 (font_score): Fix calculation of diff for sizes.
7290 (font_sort_entites): Call font_add_log.
7291 (font_delete_unmatched): Return a newly created list.
7292 (font_list_entities): Fix previous change. Call font_add_log.
7293 (font_matching_entity, font_open_entity, font_close_entity):
7294 Call font_add_log.
7295 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
7296 (Finternal_set_font_style_table): Delete.
7297 (BUILD_STYLE_TABLE): New macro.
7298 (build_style_table): New function.
7299 (Vfont_log, font_log_env_checked): New variables.
7300 (font_add_log): New function.
7301 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
7302 Declare Lisp variables "font-weight-table", "font-slant-table",
7303 "font-width-table", and "font-log". Initialize font_style_table.
7304
73052008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
7306
7307 * xterm.c (x_set_frame_alpha): Move declarations before statements.
7308
73092008-05-21 Seiji Zenitani <zenitani@mac.com>
7310 Ryo Yoshitake <ryo@shiftmode.net>
7311
7312 * frame.c (Qalpha): Add a new frame parameter `alpha'.
7313 (Vframe_alpha_lower_limit): New variable.
7314 (x_set_alpha): New function.
7315
7316 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
7317
7318 * xfns.c (x-create-frame, Qalpha):
7319 Initialize the frame parameter `alpha'.
7320 * xterm.c (OPAQUE, OPACITY): New.
7321 (x_set_frame_alpha): New function.
7322 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
7323
7324 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
7325 * w32fns.c (w32_frame_parm_handlers): Likewise.
7326
73272008-05-20 Jason Rumney <jasonr@gnu.org>
7328
7329 * w32font.c (add_font_entity_to_list): Don't add non-opentype
7330 truetype fonts to opentype list.
7331
73322008-05-20 Juanma Barranquero <lekktu@gmail.com>
7333
7334 * fontset.c (Ffontset_info): Doc fix.
7335 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
7336 <ignore-relative-composition>: Fix typos in docstrings.
7337
7338 * font.c (syms-of-font) <font-encoding-alist>:
7339 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
7340 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
7341 (Ffont_otf_alternates): Doc fixes.
7342
73432008-05-20 Kenichi Handa <handa@m17n.org>
7344
7345 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
7346 font.h through out the file.
7347 (FONT_DRIVERS): Rename from FONTOBJ.
7348 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
7349 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
7350
7351 * emacs.c (main): Call syms_of_font unconditionally.
7352
7353 * font.h (find_font_encoding): Extern it.
7354
7355 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
7356 fontset.c.
7357 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
7358 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
7359 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
7360 only when HAVE_WINDOW_SYSTEM is defined.
7361 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
7362 when HAVE_WINDOW_SYSTEM is defined.
7363
7364 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
7365 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
7366
7367 * xfaces.c: Include font.h unconditionally.
7368 (merge_face_ref, merge_face_vectors)
7369 (Finternal_set_lisp_face_attribute): Cancel the previous change.
7370
73712008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
7372
7373 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
7374 indirect_variable.
7375 * eval.c (lisp_indirect_variable): New fun.
7376 (Fuser_variable_p): Use it.
7377
73782008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
7379
7380 * lisp.h (indirect_variable):
7381 * data.c (indirect_variable, let_shadows_buffer_binding_p):
7382 Use Lisp_Symbol pointers rather than Lisp_Object.
7383 Adjust callers.
7384 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
7385 To this end, change calling-convention.
7386
7387 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
7388 if some non-hidden buffers are selected by string&pred.
7389
73902008-05-19 Chong Yidong <cyd@stupidchicken.com>
7391
7392 * process.c (wait_reading_process_output): Always check status
7393 when in batch mode.
7394
73952008-05-19 Kenichi Handa <handa@m17n.org>
7396
7397 * font.c (font_list_entities): Fix handling of cache.
7398 (font_matching_entity): Likewise.
7399
7400 * ftfont.c (cs_iso8859_1): Delete.
7401 (ft_face_cache): New variable.
7402 (struct ftfont_info): New member fc_charset_idx.
7403 (ftfont_build_basic_charsets): Delete.
7404 (fc_charset_table): New variable.
7405 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
7406 . FC_CHARSET_IDX) as :font-entity property in the font entity.
7407 Callers changed.
7408 (ftfont_lookup_cache, ftfont_get_charset): New functions.
7409 (ftfont_spec_pattern): New argument fc_charset_idx.
7410 Check registry more rigidly. Change callers.
7411 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
7412 change of :font-entity property of the font.
7413
7414 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
7415 property of the font.
7416
74172008-05-18 Juanma Barranquero <lekktu@gmail.com>
7418
7419 * coding.c (Fcoding_system_p): Rename argument to match docstring.
7420 (Funencodable_char_position, Fcheck_coding_systems_region)
7421 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
7422 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
7423 (Ffind_operation_coding_system, Fset_coding_system_priority)
7424 (Fcoding_system_eol_type): Doc fixes.
7425
74262008-05-17 Glenn Morris <rgm@gnu.org>
7427
7428 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
7429
74302008-05-16 Eli Zaretskii <eliz@gnu.org>
7431
7432 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
7433 and st_gid.
7434
7435 * frame.c (Fdelete_frame): Don't call font_update_drivers if
7436 HAVE_WINDOW_SYSTEM is not defined.
7437
7438 * xfaces.c (merge_face_ref, merge_face_vectors)
7439 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
7440 HAVE_WINDOW_SYSTEM is defined.
7441 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
7442
74432008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
7444
7445 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
7446
74472008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7448
7449 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
7450
74512008-05-15 Kenichi Handa <handa@m17n.org>
7452
7453 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
7454 preference.
7455
74562008-05-15 Glenn Morris <rgm@gnu.org>
7457
7458 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
7459
74602008-05-15 Chong Yidong <cyd@stupidchicken.com>
7461
7462 * fns.c (init_fns): Don't initialize weak_hash_tables here.
7463 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
7464
7465 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
7466
74672008-05-15 Kenichi Handa <handa@m17n.org>
7468
7469 * ftfont.c (ftfont_list): Downcase family name to check generic
7470 families.
7471
7472 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
7473 font-spec for QCfont value.
7474
7475 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
7476 buffer. Check the return value of it.
7477
74782008-05-14 Jason Rumney <jasonr@gnu.org>
7479
7480 * w32term.c (w32_get_glyph_overhangs): Remove.
7481 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
7482
74832008-05-14 Kenichi Handa <handa@m17n.org>
7484
7485 * font.c (font_prop_validate): Make nil a valid value.
7486 (font_clear_cache): Check if the cached vector of entities is nil
7487 or not.
7488
74892008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7490
7491 * emacs.c (main_thread): Conditionalize on
7492 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7493 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
7494
7495 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
7496 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
7497 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7498
74992008-05-14 Kenichi Handa <handa@m17n.org>
7500
7501 * coding.c (detect_coding_iso_2022): Ignore a coding category that
7502 has no corresponding coding system.
7503
75042008-05-14 Jason Rumney <jasonr@gnu.org>
7505
7506 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
7507
7508 * w32font.h (w32font_open_internal): Update declaration.
7509
7510 * w32font.c (w32font_open_internal): Change last argument from
7511 w32font_info struct to font object. Fill in font object from
7512 font_entity. Get Outline metrics if possible. Use them to
7513 calculate underline position and thickness. Use xlfd name as name
7514 property. Don't set codepage.
7515 (w32font_open): Pass font_object to w32font_open_internal. Don't
7516 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
7517 (w32font_draw): Use s->font.
7518 (clear_cached_metrics): Don't clear non-existent blocks.
7519
7520 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
7521 font was not found.
7522 (x_draw_glyph_string): Use underline position and thickness from font.
7523
7524 * w32uniscribe.c (uniscribe_open): Pass font_object to
7525 w32font_open_internal.
7526
75272008-05-14 Kenichi Handa <handa@m17n.org>
7528
7529 These changes are to delete all legacy font-handling codes, and
7530 make Emacs use only font-backends.
7531
7532 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
7533 (frame.o, image.o, print.o): Depend on $(FONTSRC).
7534
7535 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
7536
7537 * charset.h (Vcharset_non_preferred_head)
7538 (Vcurrent_iso639_language): Extern them.
7539
7540 * charset.c (Vcharset_non_preferred_head): New variable.
7541 (Vcurrent_iso639_language): New variable.
7542 (syms_of_charset): Declare it as a Lisp variable.
7543 (char_charset): Don't check non preferred charsets. As a last
7544 resort, return charset_unicode.
7545 (Fset_charset_priority): Update Vcharset_non_preferred_head.
7546
7547 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
7548 conditionals. Don't check enable_font_backend. Delete all codes
7549 used only when USE_FONT_BACKEND is not defined.
7550
7551 * dispextern.h (struct glyph_string): Change type of `font' to
7552 `struct font *'.
7553 (struct glyph_string): New member underline_position and
7554 underline_thickness.
7555 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
7556 (struct face): Change type of `font' to `struct font *'. Remove
7557 members `font_name', `font_info_id'.
7558 (per_char_metric, encode_char): Delete externs.
7559 (calc_pixel_width_or_height): Adjust the prototype.
7560
7561 * emacs.c (enable_font_backend): Delete extern.
7562 (main): Don't set enable_font_backend. Don't check the command
7563 line argument "-disable-font-backend".
7564
7565 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
7566 (enum font_property_index): New members FONT_DPI_INDEX,
7567 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
7568 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
7569 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
7570 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
7571 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
7572 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
7573 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
7574 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
7575 (struct font_spec, struct font_entity): New structs.
7576 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
7577 (struct font): Many members from old "struct font_info" moved to
7578 here. Members font and entity deleted.
7579 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
7580 the new font-related objects.
7581 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
7582 (CHECK_FONT_GET_OBJECT): Likewise.
7583 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
7584 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
7585 (struct font_driver): New members case_sensitive anc check. Type
7586 of the member list and open changed.
7587 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
7588 (font_symbolic_width, font_find_object, font_get_spec)
7589 (font_set_lface_from_name): Delete extern.
7590 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
7591
7592 * font.c: Include <strings.h>.
7593 (enable_font_backend): Delete it.
7594 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
7595 (CHECK_VALIDATE_FONT_SPEC): Delete it.
7596 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
7597 (null_string): Delete it.
7598 (null_vector): Make it static.
7599 (font_family_alist): Delete it.
7600 (Qnormal): Extern it.
7601 (QCextra, QClanguage): Delete it.
7602 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
7603 (font_make_spec, font_make_entity, font_make_object)
7604 (font_intern_prop): Renamed from intern_downcase. Don't downcase
7605 the string. Callers changed.
7606 (font_pixel_size): Adjusted for the format change of font-related
7607 objects.
7608 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
7609 (font_style_to_value, font_style_symbolic): New function.
7610 (build_font_family_alist): Delete it.
7611 (font_registry_charsets): Use Fassoc_string instead of
7612 assq_no_quit.
7613 (font_prop_validate_symbol): Don't return null_string.
7614 (font_prop_validate_style): Adjusted for the change of
7615 style-related values in a font vector.
7616 (font_property_table): Delete entries for QClanguage and
7617 QCantialias, add entries for QCavgwidth.
7618 (get_font_prop_index): Delete the 2nd argument FROM.
7619 (font_prop_validate): Arguments changed.
7620 (font_put_extra): Adjusted for the change of font-related objects.
7621 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
7622 (font_parse_fcname, font_unparse_fcname)
7623 (font_prepare_composition): Likewise.
7624 (font_parse_family_registry): Renamed from font_merge_old_spec.
7625 (otf_open): Delete the 1st arg entity.
7626 (font_otf_capability): Adjusted for the above change.
7627 (font_score): New arg alternate_families. Adjusted for the change
7628 of font-related objects.
7629 (font_sort_entites): New arg best_only.
7630 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
7631 Delete them.
7632 (font_match_p): Check alternate families.
7633 (font_find_object): Delete it.
7634 (font_check_object): New function.
7635 (font_clear_cache): Adjusted for the change of font-related objects.
7636 (font_delete_unmatched): New arg.
7637 (font_list_entities): Call font_driver->list with a spec that
7638 doesn't specify style-related properties.
7639 (font_matching_entity): Arguments changed. Caller changed.
7640 (font_open_entity): Adjusted for the change of font-related objects.
7641 (font_close_object, font_has_char, font_encode_char)
7642 (font_get_name, font_get_spec): Likewise.
7643 (font_spec_from_name, font_clear_prop, font_update_lface):
7644 New functions.
7645 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
7646 (font_prepare_for_face, font_done_for_face, font_open_by_name)
7647 (font_at): Adjusted for the change of font-related objects.
7648 (font_range): New function.
7649 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
7650 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
7651 (Fcopy_font_spec, Fmerge_font_spec): New function.
7652 (Ffont_family_list): Renamed from list-families.
7653 (Finternal_set_font_style_table): Arguments changed.
7654 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
7655 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
7656 change of font-related objects.
7657 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
7658
7659 * fontset.h (struct font_info): Delete it. Most members go to
7660 struct font.
7661 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
7662 (enum FONT_SPEC_INDEX): Delete it.
7663 (font_info, list_fonts_func, load_font_func, query_font_func)
7664 (set_frame_fontset_func, find_ccl_program_func)
7665 (get_font_repertory_func, new_fontset_from_font_name): Delete
7666 externs.
7667 (fontset_from_font_name): Extern it.
7668 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
7669 (FONT_INFO_FROM_FACE): Deleted.
7670 (face_for_font): Adjust prototype.
7671
7672 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
7673 conditionals. Don't check enable_font_backend. Delete all codes
7674 used only when USE_FONT_BACKEND is not defined.
7675 (get_font_info_func, list_font_func, load_font_func)
7676 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
7677 (get_font_repertory_func): Delete them.
7678 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
7679 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
7680 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
7681 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
7682 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
7683 (fontset_compare_rfontdef): New function.
7684 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
7685 rfont-defs by qsort. Adjusted for the change of font-group vector.
7686 (load_font_get_repertory): Deleted.
7687 (fontset_find_font): Use new macros to ref/set elements of
7688 font-def and rfont-def.
7689 (fontset_font): Fix the timing of remembering that no font for C.
7690 (free_face_fontset): Do nothing if the face has no fontset.
7691 (face_suitable_for_char_p): Use new macros to ref/set elements of
7692 rfont-def.
7693 (face_for_char): Likewise. Call face_for_char with font_object.
7694 (fs_load_font): Delete. Delete #pragma surrounding it.
7695 (fs_query_fontset): Use strcasecmp instead of strcmp.
7696 (generate_ascii_font_name): Adjusted for the format change of
7697 font-spec.
7698 (Fset_fontset_font): Likewise. Use new macros to set elements of
7699 font-def.
7700 (Fnew_fontset): Use font_unparse_xlfd to generate
7701 FONTSET_ASCII (fontset).
7702 (new_fontset_from_font_name): Deleted.
7703 (fontset_from_font): Renamed from new_fontset_from_font. Check if
7704 a fontset is already created for the font. FIx updating of
7705 Vfontset_alias_alist.
7706 (fontset_ascii_font): Deleted.
7707 (Ffont_info): Adjusted for the format change of font-spec.
7708 (Finternal_char_font): Likewise.
7709 (Ffontset_info): Likewise.
7710 (syms_of_fontset): Don't check load_font_func.
7711
7712 * fns.c (internal_equal): Handle PREV_FONT.
7713
7714 * frame.h: Delete USE_FONT_BACKEND conditional.
7715
7716 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
7717 conditionals. Don't check enable_font_backend. Delete all codes
7718 used only when USE_FONT_BACKEND is not defined.
7719 (x_set_font): Call x_new_font, not x_new_fontset2.
7720 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
7721 already set for the frame.
7722
7723 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
7724 a font-entity by font_make_entity. Use font_intern_prop instead
7725 of intern_downcase. Use FONT_SET_STYLE to set a style-related
7726 font property. If a font is scalable, set avgwidth property to 0.
7727 Set font-entity property by font_put_extra.
7728 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
7729 (ffont_driver): Adjusted for the change of struct font_driver.
7730 (ftfont_spec_pattern): New function.
7731 (ftfont_list): Return a list, not vector.
7732 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
7733 (ftfont_list_family): Don't downcase names.
7734 (ftfont_free_entity): Deleted.
7735 (ftfont_open): Return a font-object. Adjusted for the change of
7736 struct font. Get underline_thickness and underline_position from
7737 font property. Don't update dpyinfo->smallest_font_height and
7738 dpyinfo->smallest_char_width.
7739 (ftfont_close): Don't free `struct font'.
7740 (ftfont_has_char): Adjusted for the format change of font-entity.
7741 (ftfont_encode_char, ftfont_text_extents): Likewise.
7742
7743 * ftxfont.c (ftxfont_list): Return a list, not vector.
7744 (ftxfont_open): Return a font-object. Adjusted for the change of
7745 struct font. Get underline_thickness and underline_position from
7746 font property. Don't update dpyinfo->smallest_font_height and
7747 dpyinfo->smallest_char_width.
7748 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7749 (ftxfont_draw): Adjusted for the change of struct font.
7750
7751 * image.c (image_ascent): Don't include "charset.h". Include
7752 "character.h" and "font.h".
7753
7754 * lisp.h (enum pvec_type): New member PREV_FONT.
7755 (Fassoc_string): EXFUN it.
7756
7757 * print.c: Include font.h.
7758 (print_object): Handle font-related objects.
7759
7760 * xdisp.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.
7763 (handle_auto_composed_prop): Do nothing if it->f is not on a
7764 window system. Check how many following characters can be
7765 displayed by the same font.
7766 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7767 'struct font *'.
7768 (get_char_face_and_encoding): Assign the whole encoding task to
7769 the `encode-char' method of a font driver.
7770 (fill_composite_glyph_string): Adjusted for the change of `struct
7771 face' and `struct glyph_string'.
7772 (fill_glyph_string): Likewise.
7773 (get_per_char_metric): Arguments changed.
7774 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7775 and `struct glyph_string'.
7776 (produce_stretch_glyph, calc_line_height_property)
7777 (x_produce_glyphs): Likewise.
7778
7779 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7780 conditionals. Don't check enable_font_backend. Delete all codes
7781 used only when USE_FONT_BACKEND is not defined. Use
7782 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7783 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7784 (Qp): Extern them.
7785 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7786 Deleted.
7787 (struct font_name): Deleted.
7788 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7789 (compare_fonts_by_sort_order): New function.
7790 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7791 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7792 Deleted.
7793 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7794 compare_fonts_by_sort_order.
7795 (Fx_font_family_list): Call Ffont_family_list.
7796 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7797 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7798 (face_symbolic_slant, face_symbolic_swidth)
7799 (split_font_name_into_vector, build_font_name_from_vector)
7800 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7801 (font_rescale_ratio, split_font_name, build_font_name)
7802 (free_font_names, sort_fonts, x_face_list_fonts)
7803 (face_font_available_p, sorted_font_list, cmp_font_names)
7804 (font_list_1, concat_font_list, font_list, remove_duplicates):
7805 Deleted.
7806 (Fx_list_fonts): Use Ffont_list.
7807 (LFACE_AVGWIDTH): Deleted.
7808 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7809 by FONTP.
7810 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7811 (set_lface_from_font_name): Delete it.
7812 (set_lface_from_font): Renamed from
7813 set_lface_from_font_and_fontset. Caller changed. Don't set
7814 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7815 for face.
7816 (merge_face_vectors): Copy font-spec if necessary.
7817 Clear properties of the font-spec if necessary.
7818 (merge_face_ref): Clear properties of the font-spec if necessary.
7819 (Finternal_set_lisp_face_attribute): Likewise.
7820 (set_font_frame_param): Use font_load_for_lface to load a
7821 font-object, and call Fmodify_frame_parameters with it.
7822 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7823 font name by Ffont_xlfd_name.
7824 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7825 QCslant, and QCwidth.
7826 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7827 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7828 Compare fonts by EQ.
7829 (lookup_non_ascii_face): Deleted.
7830 (face_for_font): The 2nd argument changed.
7831 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7832 Check atomic font properties by case insensitive.
7833 (realize_non_ascii_face): Set face->overstrike correctly.
7834 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7835 (dump_realized_face): Get font name from
7836 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7837
7838 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
7839 conditionals. Don't check enable_font_backend. Delete all codes
7840 used only when USE_FONT_BACKEND is not defined.
7841 (xic_create_xfontset): Original code deleted and renamed from
7842 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
7843 (x_make_gc): Don't set GCFont in GCs.
7844 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
7845 opened by "fixed".
7846 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
7847 find_ccl_program_func, query_font_func, set_frame_fontset_func,
7848 get_font_repertory_func.
7849
7850 * xfont.c: Include <stdlib.h> and "ccl.h".
7851 (struct xfont_info): New structure.
7852 (xfont_query_font): Deleted.
7853 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
7854 moved from xterm.c.
7855 (xfont_driver): Adjusted for the change of struct font_driver.
7856 (compare_font_names): New function.
7857 (xfont_list_pattern): Sort font names case insensitively. Make
7858 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
7859 (xfont_list): Return a list, not vector.
7860 (xfont_match): If the font doesn't have QCname property, generate
7861 a name from the other font properties.
7862 (xfont_open): Return a font-object. Adjusted for the change of
7863 struct font. Get underline_thickness and underline_position from
7864 font property. Don't update dpyinfo->smallest_font_height and
7865 dpyinfo->smallest_char_width.
7866 (xfont_close): Don't free struct font.
7867 (xfont_prepare_face): Adjusted for the change of struct font.
7868 (xfont_done_face): Deleted.
7869 (xfont_has_char): Adjusted for the change of struct font.
7870 (xfont_encode_char, xfont_draw): Likewise.
7871 (xfont_check): New function.
7872
7873 * xftfont.c (xftfont_list): Adjusted for the change of `list'
7874 callback function.
7875 (xftfont_match): Adjusted for the format change of font-entity.
7876 (xftfont_open): Adjusted for the format change of font-entity and
7877 font-object. Adjusted for the change of struct font. Return a
7878 font-object. Don't update dpyinfo->smallest_font_height and
7879 dpyinfo->smallest_char_width.
7880 (xftfont_close): Block input while calling XftFontClose.
7881 (xftfont_prepare_face): Don't block input while calling
7882 xftfont_get_colors. Adjusted for the change of struct font.
7883 (xftfont_shape): Return value of error case fixed.
7884
7885 * xrdb.c (x_load_resources): Don't setup a fontset resource.
7886
7887 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
7888 conditionals.
7889 (FONT_WIDTH): Return (f)->max_width.
7890 (struct x_display_info): Delete member `font'.
7891 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
7892 (x_find_ccl_program, x_get_font_repertory): Delete externs.
7893 (struct x_output): Change type of `font' to `struct font *'.
7894
7895 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
7896 conditionals. Don't check enable_font_backend. Delete all codes
7897 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
7898 (x_per_char_metric, x_encode_char): Deleted.
7899 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
7900 (x_compute_glyph_string_overhangs): Adjusted for the change of
7901 `struct face'.
7902 (x_draw_glyph_string_foreground)
7903 (x_draw_composite_glyph_string_foreground): Likewise.
7904 (x_draw_glyph_string): Likewise. Use font->underline_position and
7905 font->underline_thickness.
7906 (x_new_font): Renamed from x_new_fontset2.
7907 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
7908 (x_check_font): Call `check' method of a font driver.
7909 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
7910 (x_query_font, x_get_font_repertory): Deleted.
7911 (x_find_ccl_program): Renamed and moved to xfont.c.
7912 (x_redisplay_interface): Adjusted for the change of `struct
7913 redisplay_interface'.
7914
7915 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
7916 conditionals. Don't check enable_font_backend. Delete all codes
7917 used only when USE_FONT_BACKEND is not defined. Surround non-used
7918 code by "#ifdef OLD_FONT" and "endif".
7919 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
7920
7921 * w32font.h (struct w32font_info): New member.
7922 (FONT_COMPAT): New macro.
7923 (w32font_open_internal): Prototype adjusted.
7924
7925 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
7926 OLD_FONT" and "endif".
7927
7928 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
7929 conditionals. Don't check enable_font_backend. Delete all codes
7930 used only when USE_FONT_BACKEND is not defined.
7931 (w32font_open): Return a font-object. Make a font-object by
7932 font_make_object. Adjusted for the change of struct w32font_info.
7933 (w32font_close): Don't free struct font. Adjusted for the change
7934 of struct w32font_info.
7935 (w32font_encode_char, w32font_text_extents, w32font_draw):
7936 Adjusted for the change of struct w32font_info.
7937 (w32font_draw): Likewise.
7938 (w32font_list_internal): Return a list, not vector.
7939 (w32font_open_internal): Change the 4th arg to font-object.
7940 Adjusted for the change of struct w32font_info and font-object format.
7941 (add_font_name_to_list): Don't downcase names.
7942 (w32_enumfont_pattern_entity): Make a font-entity by
7943 font_make_entity. Adjusted for the format change of font-entity.
7944 Use FONT_SET_STYLE to set a style-related font property. If a
7945 font is scalable, set avgwidth property to 0. Set font-entity
7946 property by font_put_extra.
7947 (font_matches_spec): Adjusted for the format change of font-entity.
7948 (w32_weight_table, w32_decode_weight): New variables.
7949 (w32_encode_weight): New function.
7950 (fill_in_logfont): Adjusted for the format change of font-spec.
7951 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
7952 weight value.
7953 (w32font_driver): Adjusted for the change of struct font_driver.
7954
7955 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
7956 conditionals. Don't check enable_font_backend. Surround non-used
7957 code by "#ifdef OLD_FONT" and "endif".
7958 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
7959 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
7960
7961 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
7962 conditionals. Don't check enable_font_backend. Delete all codes
7963 used only when USE_FONT_BACKEND is not defined. Surround non-used
7964 code by "#ifdef OLD_FONT" and "endif".
7965
7966 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
7967 (uniscribe_open): Return value changed to font-object.
7968 Adjusted for the format change of font-object.
7969 (uniscribe_otf_capability): Adjusted for the change of struct font.
7970 (add_opentype_font_name_to_list): Don't downcase names.
7971 (uniscribe_font_driver): Adjusted for the change of struct
7972 font_driver.
7973
79742008-05-13 Chong Yidong <cyd@stupidchicken.com>
7975
7976 * dispnew.c (update_frame_1): Check if tty output is still valid
7977 before flushing it.
7978
79792008-05-13 Jan Djärv <jan.h.d@swipnet.se>
7980
7981 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
7982 to Gtk+ menus.
7983
79842008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
7985
7986 * dired.c (file_name_completion): Tweak the code so as to always do it
7987 in a single pass. Tighten the scope of some variables.
7988
7989 * dired.c (Qdefault_directory): New var.
7990 (file_name_completion): Use it instead of Fexpand_file_name.
7991 (syms_of_dired): Initialize it.
7992
79932008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7994
7995 * fileio.c (double_dollars): Remove dead code.
7996
79972008-05-10 Eli Zaretskii <eliz@gnu.org>
7998
7999 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
8000 Mention w32-get-true-file-attributes in doc string.
8001
8002 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
8003
80042008-05-09 Glenn Morris <rgm@gnu.org>
8005
8006 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
8007 2008-04-23.
8008
80092008-05-09 Eli Zaretskii <eliz@gnu.org>
8010
8011 Support for reporting owner and group of each file on MS-Windows:
8012 * dired.c (stat_uname, stat_gname): New functions, with special
8013 implementation for w32.
8014 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
8015
8016 * w32.c: Rename the_passwd_* to dflt_passwd_*.
8017 (dflt_group_name): New static variable.
8018 (dflt_group): Rename from the_group.
8019 (init_user_info): Init dflt_group fields. Get user's group name
8020 from LookupAccountSid.
8021 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
8022 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
8023 New initialization states.
8024 (globals_of_w32): Initialize them to zero. Initialize the default
8025 group name to "None".
8026 (GetFileSecurity_Name): New global var, the name of the function
8027 to call for GetFileSecurity.
8028 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
8029 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
8030 (get_file_security, get_security_descriptor_owner)
8031 (get_security_descriptor_group, is_valid_sid)
8032 (get_file_security_desc, get_rid, get_name_and_id)
8033 (get_file_owner_and_group): New functions.
8034 (stat): Use get_file_security_desc and get_file_owner_and_group to
8035 report the owner and primary group of each file. Don't ignore the
8036 high 32 bits of file's size, now that st_size is 64-bit wide.
8037 Fix test when to get true file attributes.
8038 (init_user_info): Use get_rid instead of equivalent inline code.
8039 (fstat): Don't ignore the high 32 bits of file's size.
8040
80412008-05-09 Chong Yidong <cyd@stupidchicken.com>
8042
8043 * image.c (png_load): Use correct bit-depth for setting background
8044 color.
8045
80462008-05-08 Eli Zaretskii <eliz@gnu.org>
8047
8048 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
8049 epa-hook.elc.
8050
80512008-05-08 Juanma Barranquero <lekktu@gmail.com>
8052
8053 * font.c (Ffont_match_p): Don't use `iff' in docstring.
8054
80552008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
8056
8057 * macfns.c (Fx_create_frame): Make a copy of frame parameters
8058 because the original parameters are in pure storage now.
8059 (mac_window): Remove unused params. Update callers.
8060
80612008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
8062
8063 * lread.c (substitute_object_recurse): Use lower-level primitives.
8064 Don't signal errors when traversing sub-char-tables.
8065 Don't loop over all the possible characters when traversing char-tables.
8066
8067 * print.c (print_preprocess): Add sub-char-tables to the print-table,
8068 just like we do in print.c.
8069
80702008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
8071
8072 * minibuf.c (Ftry_completion): Remove code left over from when we used
8073 scmp instead of Fcompare_strings.
8074
80752008-05-04 Juanma Barranquero <lekktu@gmail.com>
8076
8077 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
8078
80792008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8080
8081 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
8082 Create bitmap context in native byte order.
8083
8084 * macterm.c (XDrawLine)
8085 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
8086 context in native byte order.
8087
80882008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8089
8090 * config.in: Regenerate.
8091
8092 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
8093 New definitions for Image I/O support.
8094 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
8095 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
8096 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8097 (mac_data_provider_release_data, image_load_image_io)
8098 [USE_MAC_IMAGE_IO]: New functions.
8099 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
8100 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
8101 (init_image_func_pointer) [MAC_OSX]: Remove function.
8102 (image_load_quartz2d) [MAC_OSX]: Check availability of
8103 CGImageCreateWithPNGDataProvider at compile time.
8104 Use lowercase `false' for boolean constant.
8105 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
8106 Use image_load_image_io.
8107 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
8108 Don't check MyCGImageCreateWithPNGDataProvider.
8109 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
8110 Don't call init_image_func_pointer.
8111
8112 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
8113
8114 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
8115 Make variable non-static.
8116 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
8117 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8118
8119 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
8120 (RED_FROM_ULONG): Mask off higher bits.
8121 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
8122
8123 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
8124 Include AvailabilityMacros.h.
8125 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
8126 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
8127
81282008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
8129
8130 * chartab.c (Fset_char_table_range): If range is t, really set all
8131 chars to that value.
8132
81332008-05-03 Eli Zaretskii <eliz@gnu.org>
8134
8135 * dired.c (Ffile_attributes): Don't allow the device number become
8136 negative.
8137
81382008-05-02 Daiki Ueno <ueno@unixuser.org>
8139
8140 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
8141
81422008-05-02 Juri Linkov <juri@jurta.org>
8143
8144 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
8145 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
8146 DEFAULT argument as a list of default values in docstrings.
8147
81482008-05-01 Chong Yidong <cyd@stupidchicken.com>
8149
8150 * puresize.h (BASE_PURESIZE): Increase to 1210000.
8151
81522008-05-01 Martin Rudalics <rudalics@gmx.at>
8153
8154 * dispnew.c (change_frame_size_1): Preserve small windows when
8155 shrinking frames by calling set_window_height|width with third
8156 arg 2.
8157
8158 * window.h (struct window): Replace field too_small_ok by field
8159 resize_proportionally.
8160
8161 * window.c (make_window): Initialize resize_proportionally.
8162 (enlarge_window): Temporarily set resize_proportionally to make
8163 sure that shrink_windows does scale the window proportionally.
8164 (shrink_windows): When window has resize_proportionally set try
8165 to shrink it proportionally by stealing from other windows.
8166 (struct saved_window, Fset_window_configuration)
8167 (compare_window_configurations): Handle resize_proportionally.
8168 (WINDOW_TOTAL_SIZE): New macro.
8169 (window_min_size, shrink_windows, size_window): Use it.
8170 (check_min_window_sizes): Remove. Invalid values of
8171 window-min-height|width are handled by window_min_size_2 now.
8172 (size_window, Fsplit_window, enlarge_window)
8173 (adjust_window_trailing_edge, grow_mini_window): Don't call
8174 check_min_window_sizes.
8175 (window_min_size_2, window_min_size_1, window_min_size):
8176 New argument safe_p for retrieving "safe" minimum sizes.
8177 (Fdisplay_buffer, Fsplit_window, enlarge_window)
8178 (adjust_window_trailing_edge, grow_mini_window):
8179 Adjust arguments of window_min_size... functions.
8180 (shrink_windows): Argument min_size removed. New argument
8181 safe_p allows shrinking windows to their safe minimum sizes.
8182 Calculate minimum size and decide whether a window shall be
8183 deleted for each window individually.
8184 (size_window): When nodelete_p equals 2, tell shrink_windows to
8185 delete windows only if their new minimum size is no more safe.
8186 (shrink_window_lowest_first): Call window_min_size_1 to make
8187 sure to preserve modeline of bottom-most window when resizing
8188 the minibuffer.
8189 (Fset_window_configuration, Fcurrent_window_configuration)
8190 (compare_window_configurations): Do not handle
8191 window-min-height|width any more.
8192 (syms_of_window): Clarify window-min-height|width doc-strings.
8193
81942008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
8195
8196 * dired.c (file_name_completion): Fix up the encoding/decoding issue
8197 some more. Copy some of the code from Ftry_completions.
8198 Remove special case code that dates back to initial revision when the
8199 slash was only added when necessary and that can't trigger nowadays.
8200
82012008-04-27 Kenichi Handa <handa@m17n.org>
8202
8203 * font.c (font_prop_validate): Signal `error' instead of `font'.
8204
82052008-04-29 Jason Rumney <jasonr@gnu.org>
8206
8207 * w32fns.c (Fw32_battery_status): New defun.
8208 (syms_of_w32fns): Defsubr it.
8209
82102008-04-28 Andreas Schwab <schwab@suse.de>
8211
8212 * dired.c (file_name_completion): Fix another mixing of encoded
8213 and decoded names.
8214
82152008-04-28 Juanma Barranquero <lekktu@gmail.com>
8216
8217 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
8218
82192008-04-27 Juanma Barranquero <lekktu@gmail.com>
8220
8221 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
8222
82232008-04-27 Andreas Schwab <schwab@suse.de>
8224
8225 * dired.c (file_name_completion): Fix inappropriate mixing of
8226 encoded and decoded names.
8227
8228 * xterm.c (XTread_socket): Fix use of uninitialized variable.
8229
8230 * puresize.h (BASE_PURESIZE): Increase to 1200000.
8231
82322008-04-26 Eli Zaretskii <eliz@gnu.org>
8233
8234 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
8235 2008-03-31, it's not needed anymore with `struct stat' definition
8236 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
8237 for the same reasons.
8238
82392008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
8240
8241 * m/sparc.h: Additional redefinitions for GNU/Linux.
8242
82432008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8244
8245 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
8246 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
8247 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
8248 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
8249 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8250 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
8251 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8252 Likewise.
8253
8254 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
8255 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
8256 (mac_ax_number_of_characters): Add externs.
8257 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8258 [USE_MAC_TSM]: Likewise.
8259 (mac_handle_text_input_event) [MAC_OSX]:
8260 Handle kEventTextInputOffsetToPos for no active input area case.
8261 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8262 (mac_handle_document_access_event)
8263 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
8264 (install_application_handler) [MAC_OSX]: Register handlers for
8265 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8266 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8267 Register mac_handle_document_access_event.
8268
8269 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
8270 Make functions non-static.
8271
82722008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
8273
8274 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
8275 (read_file_name_completion_ignore_case, insert_default_directory)
8276 (Qdefault_directory): Move to minibuffer.el.
8277 (Fread_file_name): Call the new `read-file-name' instead.
8278
82792008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8280
8281 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
8282 Make function non-static.
8283 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
8284 Remove function.
8285 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8286 Move to mactoolbox.c.
8287 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
8288
8289 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
8290 (mac_rect_make): New macro.
8291
8292 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
8293 instead of float.
8294 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8295 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
8296 (XSetBackground) [USE_CG_DRAWING]: Likewise.
8297 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
8298 CGRectMake.
8299 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8300 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
8301 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
8302 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8303 instead of WindowRef in argument type.
8304 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
8305 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
8306 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
8307 instead of DISPLAY. All uses changed.
8308 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
8309 (x_calc_absolute_position): Simplify so as not to use
8310 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
8311
8312 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8313 instead of WindowRef in argument type.
8314 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
8315 [TARGET_API_MAC_CARBON]: Remove externs.
8316 (create_apple_event, mac_event_parameters_to_lisp)
8317 [TARGET_API_MAC_CARBON]: Add externs.
8318
8319 * mactoolbox.c (Vmac_ts_script_language_on_focus)
8320 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
8321 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
8322 is clicked.
8323 (x_activate_menubar): Remove extern for saved_menu_event_location.
8324 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8325 Move from mac.c.
8326
83272008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8328
8329 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
8330 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
8331
83322008-04-23 Jason Rumney <jasonr@gnu.org>
8333
8334 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
8335 attributes only for local files.
8336
8337 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
8338 default to Qlocal.
8339
83402008-04-22 Juri Linkov <juri@jurta.org>
8341
8342 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
8343 read-buffer-to-switch instead of using the letter "B".
8344
83452008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
8346
8347 * fileio.c (Qdefault_directory): New variable.
8348 (Fread_file_name): Use it to pass `dir' to the completion functions.
8349
83502008-04-20 Chong Yidong <cyd@stupidchicken.com>
8351
8352 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
8353
83542008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
8355
8356 * keyboard.c (Vpre_help_message): Remove.
8357 (show_help_echo): Remove default C code.
8358
8359 * dired.c (directory_files_internal, file_name_completion):
8360 Only call ENCODE_FILE if the string is indeed decoded.
8361
83622008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8363
8364 * Makefile.in (TOOLKIT_DEFINES): Remove.
8365 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
8366
83672008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8368
8369 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
8370 (mactoolbox.o): New target.
8371
8372 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
8373 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
8374
8375 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
8376 Use mac_set_frame_window_background instead of XSetWindowBackground.
8377 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
8378 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
8379 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
8380 instead of SetWindowTitleWithCFString.
8381 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
8382 Move function to mactoolbox.c.
8383 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
8384 Use mac_set_window_modified instead of SetWindowModified.
8385 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
8386 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
8387 (Fx_focus_frame): Use mac_front_non_floating_window instead of
8388 FrontNonFloatingWindow. Use mac_activate_window instead of
8389 ActivateWindow. Use mac_active_non_floating_window instead of
8390 ActiveNonFloatingWindow.
8391 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
8392 Use mac_show_hourglass and mac_hide_hourglass.
8393 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
8394 instead of GetGlobalMouse.
8395 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
8396 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
8397 Use mac_bring_window_to_front instead of BringToFront.
8398 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
8399 mactoolbox.c.
8400 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
8401 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
8402 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
8403 mactoolbox.c.
8404
8405 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
8406 (XtPointer): Move typedef from macmenu.c.
8407 (enum button_type): Move enum from macmenu.c.
8408 (widget_value): Move typedef from macmenu.c.
8409 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
8410 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8411 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8412 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8413 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8414 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8415 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8416 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
8417 (Selection): Move typedef from macselect.c.
8418 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
8419 macterm.c.
8420 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
8421 (mac_is_window_collapsed, mac_bring_window_to_front)
8422 (mac_send_window_behind, mac_hide_window, mac_show_window)
8423 (mac_collapse_window, mac_front_non_floating_window)
8424 (mac_active_non_floating_window, mac_activate_window)
8425 (mac_move_window_structure, mac_move_window, mac_size_window)
8426 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
8427
8428 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
8429 (enum mac_menu_kind): Move enum to mactoolbox.c.
8430 (min_menu_id): Move variable to mactoolbox.c.
8431 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
8432 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
8433 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8434 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8435 [TARGET_API_MAC_CARBON]: Likewise.
8436 (XtPointer): Move typedef to macgui.h.
8437 (enum button_type): Move enum to macgui.h.
8438 (widget_value): Move typedef to macgui.h.
8439 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8440 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8441 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8442 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8443 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8444 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8445 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
8446 (popup_activated_flag): Make variable non-static.
8447 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
8448 (add_menu_item, fill_menu, dispose_menus):
8449 Move functions to mactoolbox.c.
8450 (restore_show_help_function, menu_target_item_handler)
8451 (install_menu_target_item_handler, mac_handle_dialog_event)
8452 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
8453 [TARGET_API_MAC_CARBON]: Likewise.
8454 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
8455 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8456 (find_and_call_menu_selection, name_is_separator): Make function
8457 non-static.
8458 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
8459 to mactoolbox.c.
8460 (set_frame_menubar): Don't call install_menu_quit_handler.
8461 (menu_item_selection): New variable.
8462 (mac_menu_show): Use create_and_show_popup_menu.
8463 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
8464 selection but set variable menu_item_selection. All uses changed.
8465 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
8466 Call install_menu_quit_handler. Move to mactoolbox.c.
8467
8468 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
8469 (Selection): Move typedef to macgui.h.
8470 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
8471 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
8472 Make variables non-static.
8473 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8474 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
8475 Make functions non-static.
8476 (Vmac_service_selection) [MAC_OSX]: Likewise.
8477 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
8478 (mac_valid_selection_target_p, mac_clear_selection)
8479 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8480 (mac_put_selection_value, mac_selection_has_target_p)
8481 (mac_get_selection_value, mac_get_selection_target_list)
8482 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
8483 Move functions to mactoolbox.c.
8484 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
8485 Likewise.
8486 (copy_scrap_flavor_data, mac_handle_service_event)
8487 (install_service_handler) [MAC_OSX]: Likewise.
8488 (syms_of_macselect) <Vmac_dnd_known_types>:
8489 Use mac_dnd_default_known_types.
8490
8491 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
8492 Move to mactoolbox.c.
8493 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
8494 (Fx_selection_owner_p): Add EXFUN.
8495 (install_window_handler, remove_window_handler, XSetWindowBackground):
8496 Remove externs.
8497 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
8498 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
8499 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
8500 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
8501 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
8502 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
8503 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
8504 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
8505 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
8506 (create_and_show_popup_menu, mac_get_selection_from_symbol)
8507 (mac_valid_selection_target_p, mac_clear_selection)
8508 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8509 (mac_put_selection_value, mac_selection_has_target_p)
8510 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
8511 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
8512 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
8513 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8514 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
8515 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8516 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
8517 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8518 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8519
8520 * mactoolbox.c: New file.
8521
85222008-04-18 Jason Rumney <jasonr@gnu.org>
8523
8524 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
8525
85262008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8527
8528 * character.c (Fmultibyte_char_to_unibyte):
8529 Return latin1 chars unchanged.
8530
8531 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
8532 relocated if it points to `name'.
8533
85342008-04-17 Kenichi Handa <handa@m17n.org>
8535
8536 * data.c (Faset): Allow setting a multibyte character in an
8537 ASCII-only unibyte string.
8538
8539 * lisp.h (STRING_SET_MULTIBYTE): New macro.
8540
85412008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
8542
8543 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
8544 done in config.h.
8545
85462008-04-16 Juanma Barranquero <lekktu@gmail.com>
8547
8548 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
8549 (Fchar_direction): Add usage in the docstring.
8550
85512008-04-15 Chong Yidong <cyd@stupidchicken.com>
8552
8553 * keyboard.c (read_key_sequence): Remove always-true checks.
8554
85552008-04-14 Jason Rumney <jasonr@gnu.org>
8556
8557 * w32font.c (w32font_open_internal): Set max_bounds.descent in
8558 compatibility struct, for better underline positioning.
8559
85602008-04-13 David Hansen <david.hansen@gmx.net>
8561
8562 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
8563 string.
8564
85652008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
8566
8567 * m/hp800.h (XUINT, XSET): Remove.
8568
85692008-04-12 Juanma Barranquero <lekktu@gmail.com>
8570
8571 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
8572 previous change.
8573
85742008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
8575
8576 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
8577 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
8578
85792008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8580
8581 * keymap.h (map_keymap_canonical): Declare.
8582 * xmenu.c (single_keymap_panes): Use it.
8583
85842008-04-11 Glenn Morris <rgm@gnu.org>
8585
8586 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
8587 set the target's value to that of the alias.
8588
85892008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8590
8591 * term.c (set_tty_color_mode): Left over typo.
8592
85932008-04-10 Michael Albinus <michael.albinus@gmx.de>
8594
8595 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
8596 only after check for file name handler functions. Signal, when
8597 native functionality is not supported.
8598 (syms_of_fileio): Declare it unconditionally.
8599
86002008-04-10 Jason Rumney <jasonr@gnu.org>
8601
8602 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
8603 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
8604
8605 * w32.c (logon_network_drive): Also logon to remote drives that
8606 are mapped to drive letters.
8607
86082008-04-10 Glenn Morris <rgm@gnu.org>
8609
8610 * xdisp.c (truncate-partial-width-windows): Doc fix.
8611
86122008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
8613
8614 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
8615 Move functions to minibuffer.el.
8616 (syms_of_fileio): Don't declare them.
8617
86182008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8619
8620 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
8621 (syms_of_minibuf): Remove its initialization.
8622
8623 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
8624
86252008-04-09 Juanma Barranquero <lekktu@gmail.com>
8626
8627 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
8628
86292008-04-09 Jason Rumney <jasonr@gnu.org>
8630
8631 * makefile.w32-in (distclean): Delete makefile too.
8632 (maintainer-clean): New target.
8633
8634 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
8635
8636 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
8637 for new font backend and composite cases.
8638
86392008-04-09 Jan Djärv <jan.h.d@swipnet.se>
8640
8641 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
8642 Most of the code moved to run_timers.
8643 (do_pending_atimers): Call run_timers.
8644 (run_timers): New function.
8645
8646 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
8647 run atimers.
8648
8649 * process.c (wait_reading_process_output): The same as above.
8650
86512008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8652
8653 * minibuf.c (last_exact_completion): Remove variable.
8654 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
8655 (complete_and_exit_1, complete_and_exit_2)
8656 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
8657 (Fdisplay_completion_list, display_completion_list_1)
8658 (Fminibuffer_completion_help, Fself_insert_and_exit)
8659 (Fexit_minibuffer, Fminibuffer_message): Move functions to
8660 minibuffer.el.
8661 (syms_of_minibuf): Remove corresponding initializations.
8662
8663 * keyboard.c (Qdeactivate_mark): New var.
8664 (command_loop_1): Use it to call `deactivate-mark'.
8665 (syms_of_keyboard): Initialize it.
8666
8667 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
8668 to another frame.
8669 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
8670 Don't call set_tty_color_mode.
8671 (store_frame_param): Reset previous_frame rather than call
8672 set_tty_color_mode.
8673 * term.c (set_tty_color_mode): Rewrite.
8674 * dispextern.h (set_tty_color_mode): New type.
8675 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
8676
86772008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
8678
8679 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
8680 for generic chars, which do not exist any more in emacs-unicode.
8681
86822008-04-08 Michael Albinus <michael.albinus@gmx.de>
8683
8684 * coding.c (detect_coding_emacs_mule)
8685 (Ffind_operation_coding_system): Fix typo.
8686
86872008-04-08 Jason Rumney <jasonr@gnu.org>
8688
8689 * w32uniscribe.c (SNAME): Extract only symbol name.
8690
8691 * w32font.h (struct w32_metric_cache): New struct.
8692 (w32font_info): Use it.
8693 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
8694 (CACHE_BLOCKSIZE): New constants.
8695
8696 * w32font.c (Qja, Qko, Qzh): New symbols.
8697 (syms_of_w32font): Initialise them.
8698 (font_matches_spec): Use them to filter by language.
8699 (recompute_cached_metrics): Remove function.
8700 (compute_metrics, clear_cached_metrics): New functions.
8701 (w32font_encode_char): Use them to manage metric cache.
8702 (w32font_text_extents): Cache metrics for all glyphs on demand.
8703 Delay converting glyph indices to WORD until needed.
8704 (w32font_open_internal): Initialize metric cache to empty.
8705 (registry_to_w32_charset): Charset should always be a symbol.
8706 (fill_in_logfont, list_all_matching_fonts): Family should
8707 always be a symbol.
8708
87092008-04-06 Jason Rumney <jasonr@gnu.org>
8710
8711 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
8712 Give up if glyph indices not supported. Use uniscribe obtained
8713 ABC widths for individual metrics. Map glyph clusters back to
8714 characters using fClusterStart flag. Return number of glyphs
8715 produced, not chars processed.
8716 (uniscribe_shape): Map char at FROM to current glyph.
8717
87182008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8719
8720 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
8721 Use SetMenuItemHierarchicalMenu.
8722
87232008-04-05 Jason Rumney <jasonr@gnu.org>
8724
8725 * image.c (pbm_load): Allow color values up to 65535.
8726 Throw an error if max_color_idx is outside the supported range.
8727 Report an error when image size is invalid.
8728 Read two bytes at a time when raw images have max_color_idx above 255.
8729
87302008-04-05 Eli Zaretskii <eliz@gnu.org>
8731
8732 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8733 cFileName a file name that includes `?' characters, use the 8+3
8734 alias in cAlternateFileName instead.
8735
87362008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
8737
8738 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8739 append "CCL: Quitted" when the CCL program is quitted.
8740 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8741
8742 * ccl.h (struct ccl_program): New member quit_silently.
8743
87442008-04-05 Chong Yidong <cyd@stupidchicken.com>
8745
8746 * search.c (compile_pattern_1): Treat non-nil and non-string of
8747 search-spaces-regexp as nil.
8748
8749 * minibuf.c (Fassoc_string): Tweak docstring.
8750
87512008-04-05 Eli Zaretskii <eliz@gnu.org>
8752
8753 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8754 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8755 2008-03-14 to force inode be positive.
8756
8757 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8758 _S_* ones, since we now use our own sys/stat.h.
8759 (stat, fstat): Don't mangle the inode number.
8760 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8761
87622008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8763
8764 * frame.h (struct frame): Give one more bit to `visible' since we use
8765 values larger than 1 to indicate obscured frames on ttys.
8766
8767 * keymap.c (Qkeymap_canonicalize): New var.
8768 (Fmap_keymap_internal): New fun.
8769 (describe_map): Use keymap-canonicalize.
8770
8771 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8772 (Fundo_boundary): Set them.
8773 (syms_of_undo): Initialize them.
8774 (record_point): Use them instead of last_point_position*.
8775 (last_undo_buffer): Change type.
8776
87772008-04-04 Jason Rumney <jasonr@gnu.org>
8778
8779 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8780 (recompute_cached_metrics): Don't set ascent and descent per char.
8781
8782 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8783 (uniscribe_check_otf): Add GC protection before consing.
8784 Rearrange loop for counting features.
8785
87862008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8787
8788 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8789 buffer with byte-size of source buffer.
8790
87912008-04-03 Chong Yidong <cyd@stupidchicken.com>
8792
8793 * callint.c (Fcall_interactively): Handle temporary region even
8794 when shift-select-mode is off.
8795
87962008-04-03 Jason Rumney <jasonr@gnu.org>
8797
8798 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8799
88002008-04-03 Kenichi Handa <handa@m17n.org>
8801
8802 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8803 (CATEGORY_MASK_UTF_16): Likewise.
8804 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8805 binary file.
8806 (detect_coding): Add null-byte detection for a binary file.
8807 (detect_coding_system): Likewise.
8808
88092008-04-03 Jason Rumney <jasonr@gnu.org>
8810
8811 * w32uniscribe.c: New file.
8812
8813 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8814
8815 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8816
8817 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8818 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8819 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8820 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8821 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8822 (Qphonetic): New symbols.
8823 (syms_of_w32font): Initialize them.
8824 (font_supported_scripts): Use them.
8825 (w32font_list_family): List all charsets.
8826 (w32font_text_extents, recompute_cached_metrics): Fix metric
8827 calculations.
8828 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8829 Give opentype fonts their own format.
8830 (font_matches_spec): New arguments backend and logfont.
8831 Handle :otf spec for uniscribe backend.
8832 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8833 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8834
8835 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8836 font backend.
8837 (globals_of_w32fns): Initialize uniscribe font backend.
8838
8839 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
8840 dependencies.
8841 (w32uniscribe.$(O)): New file to build.
8842 (FONT_OBJ): Include w32uniscribe.$(O).
8843 (LIBS): Add uniscribe libraries.
8844
8845 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
8846
88472008-04-02 Chong Yidong <cyd@stupidchicken.com>
8848
8849 * callint.c (Vshift_select_mode): New var.
8850 (Finteractive): Document new ^ spec.
8851 (Fcall_interactively): Call handle-shift-selection if the ^ spec
8852 is present.
8853
8854 * keyboard.c (Vthis_command_keys_shift_translated): New var.
8855 (command_loop_1): Avoid running the direct display versions of
8856 forward-char and backward-char if shift-selection may occur.
8857 (read_key_sequence): Set Vthis_command_keys_shift_translated if
8858 shift-translation takes place.
8859
8860 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
8861 avoid clobbering by define-minor-mode.
8862
8863 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
8864 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
8865
8866 * syntax.c (Fforward_word): Add ^ interactive spec.
8867
8868 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
8869 (Fscroll_right): Add ^ interactive spec.
8870
88712008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
8872
8873 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
8874
8875 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
8876
8877 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
8878
88792008-03-31 Juri Linkov <juri@jurta.org>
8880
8881 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
8882
88832008-03-30 Jan Djärv <jan.h.d@swipnet.se>
8884
8885 * gtkutil.c (xg_set_geometry): Fix indentation.
8886 (xg_resize_outer_widget): Remove.
8887 (x_wm_size_hint_off): Fix indentation.
8888 (xg_frame_set_char_size): Call flush_and_sync after
8889 gtk_window_resize.
8890 (x_wm_set_size_hint): Pass NULL as geometry window to
8891 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
8892 Add menu bar and tool bar height to base height.
8893 (xg_update_frame_menubar, free_frame_menubar)
8894 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
8895 (update_frame_tool_bar, free_frame_tool_bar):
8896 Change xg_resize_outer_widget to xg_frame_set_char_size.
8897
88982008-03-30 Michael Albinus <michael.albinus@gmx.de>
8899
8900 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
8901 (Fdbus_call_method): New parameter TIMEOUT.
8902 (dbus-send-signal): Optimize UNGCPRO call.
8903
89042008-03-29 Juri Linkov <juri@jurta.org>
8905
8906 * window.c (Fdisplay_buffer): Move call to
8907 Vsplit_window_preferred_function out of conditions that check
8908 if window is eligible for vertical splitting.
8909 When Vsplit_window_preferred_function is non-nil, call it and use
8910 its non-nil return value as window. Otherwise, continue doing
8911 vertical splitting using Fsplit_window with arg horflag=nil.
8912 (syms_of_window) <Vsplit_window_preferred_function>: Change the
8913 default value from `split-window' to nil.
8914
89152008-03-29 Juri Linkov <juri@jurta.org>
8916
8917 * callint.c (Fcall_interactively): Revert 2008-03-16 change
8918 for interactive code letters 'b' and 'B'.
8919
89202008-03-29 Eli Zaretskii <eliz@gnu.org>
8921
8922 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
8923 multibyte string.
8924
89252008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
8926
8927 * keyboard.c (pending_funcalls): New var.
8928 (timer_check): Run it.
8929 (syms_of_keyboard): Initialize it.
8930 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
8931 (Vdelete_terminal_functions): New vars.
8932 (syms_of_terminal): Initialize them.
8933 (Fdelete_terminal): Run delete-terminal-functions.
8934 * xdisp.c (safe_eval): Rewrite.
8935 (safe_call2): New fun.
8936 * frame.c (Qdelete_frame_functions): New var.
8937 (syms_of_frame): Initialize it.
8938 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
8939 * lisp.h (safe_call2, pending_funcalls): Declare.
8940
89412008-03-28 Andreas Schwab <schwab@suse.de>
8942
8943 * indent.c (Fmove_to_column): Move declaration before statements.
8944
89452008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
8946
8947 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
8948 (struct frame): Use bit fields for boolean vars.
8949
8950 * process.c (server_accept_connection): Simplify naming.
8951 (emacs_get_tty_pgrp): Use SDATA.
8952
8953 * coding.c (decode_coding_object): Fix last change.
8954
89552008-03-27 Jason Rumney <jasonr@gnu.org>
8956
8957 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
8958
89592008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
8960
8961 * charset.c (Fdefine_charset_internal): Change the way of
8962 registering charsets in Vcharset_order_list.
8963 (syms_of_charset): Make the charset `eight-bit' supplementary.
8964
89652008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
8966
8967 * regex.c (EXTEND_BUFFER): Change order of pointer addition
8968 operations, to avoid having the difference between pointers
8969 overflow.
8970
89712008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
8972
8973 * indent.c (check_display_width): New fun.
8974 (scan_for_column): Use it.
8975
8976 * data.c (syms_of_data): Mark most-positive-fixnum and
8977 most-negative-fixnum as constants.
8978
8979 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
8980
8981 * indent.c (scan_for_column): Extract from current_column_1.
8982 Merge with the same code from Fmove_to_column.
8983 (current_column_1, Fmove_to_column): Use it.
8984
89852008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
8986
8987 * keymap.c (map_keymap_internal): New fun.
8988 (map_keymap): Use it.
8989 (Fmap_keymap_internal): New fun.
8990 (Fmap_keymap): Remove left-out test from before make_save_value.
8991
8992 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
8993
8994 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
8995 Use XCAR/XCDR.
8996
8997 * process.h (struct Lisp_Process): Remove filter_multibyte.
8998 * process.c (QCfilter_multibyte): Remove.
8999 (setup_process_coding_systems): Don't use filter_multibyte.
9000 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
9001 (read_process_output): Don't adjust multibyteness to filter_multibyte.
9002 (Fset_process_filter_multibyte): Change the coding-system to
9003 approximate the previous behavior.
9004 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
9005 coding-system.
9006
9007 * coding.c (decode_coding_object): When not decoding into a buffer,
9008 obey the coding system's preference of (uni|multi)byte.
9009
90102008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
9011
9012 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
9013 every char is changed and has a different byte-length.
9014 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
9015 Fix int -> EMACS_INT.
9016
90172008-03-23 David Hansen <david.hansen@gmx.net>
9018
9019 * dbusbind.c (xd_read_message): Remove extra copying of message
9020 strings. Check for NULL `interface' or `member'.
9021
90222008-03-22 Eli Zaretskii <eliz@gnu.org>
9023
9024 * w32.c (readdir): If FindFirstFile/FindNextFile return in
9025 cFileName a file name that includes `?' characters, use the 8+3
9026 alias in cAlternateFileName instead.
9027
90282008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
9029
9030 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
9031
90322008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
9033
9034 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
9035 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
9036 work on current_buffer only instead (that was already the case
9037 for some of the code anyway).
9038 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
9039 (temp_set_point, temp_set_point_both): Use EMACS_INT.
9040 (SET_PT, SET_PT_BOTH): Adjust.
9041 * intervals.h (set_point, temp_set_point, set_point_both)
9042 (temp_set_point_both): Remove redundant declarations.
9043
90442008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
9045
9046 * fileio.c (Finsert_file_contents):
9047 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
9048 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
9049 when buffer != current_buffer anyway.
9050
90512008-03-20 Andreas Schwab <schwab@suse.de>
9052
9053 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
9054 as default.
9055
90562008-03-19 Jason Rumney <jasonr@gnu.org>
9057
9058 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
9059 (syms_of_w32fns): Initialize them.
9060 (HOURGLASS_ID): New constant.
9061 (x_window_to_frame): Don't check hourglass_window.
9062 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
9063 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
9064 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
9065 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
9066 Only change the cursor if hourglass is not active.
9067 (Fx_create_frame): Initialize frame's current_cursor.
9068 (hourglass_atimer): Remove.
9069 (hourglass_started): New function.
9070 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
9071 (show_hourglass): Adapt to w32, changing argument to frame.
9072
9073 * w32term.h (struct w32_output): Remove hourglass_window.
9074 Add current_cursor.
9075
9076 * eval.c (call_debugger, Fsignal):
9077 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
9078 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
9079 (Fexecute_extended_command, cancel_hourglass_unwind):
9080 * minibuf.c (read_minibuf):
9081 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
9082
90832008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
9084
9085 * window.c (run_funs): New fun.
9086 (run_window_configuration_change_hook): Use it to run the buffer-local
9087 and the global part of the hook.
9088
9089 * xdisp.c (format_mode_line_unwind_data): Add window argument.
9090 (unwind_format_mode_line): Restore selected window.
9091 (x_consider_frame_title, Fformat_mode_line): Set selected window.
9092
90932008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
9094
9095 * editfns.c (Fchar_equal): Check they are valid characters.
9096
9097 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
9098
90992008-03-17 Andreas Schwab <schwab@suse.de>
9100
9101 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
9102 against a charset.
9103
9104 * lisp.h (Fbuffer_list): Declare.
9105
91062008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 9107
aac0c6e3
MR
9108 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
9109 handlebox_widget is != 0.
9110
91112008-03-16 Juri Linkov <juri@jurta.org>
9112
9113 * callint.c (Fcall_interactively): For interactive code letters
9114 'b' and 'B' put the buffer list into the list of default "future"
9115 values of the minibuffer.
9116
91172008-03-16 Andreas Schwab <schwab@suse.de>
9118
9119 * keyboard.c (read_key_sequence): Fix downcasing of letters with
9120 modifiers.
9121
9122 * regex.c (re_match_2_internal): Correct matching of a charset
9123 against latin-1 characters.
9124
91252008-03-16 Kenichi Handa <handa@m17n.org>
9126
9127 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
9128 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
9129 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
9130 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
9131 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
9132 CHAR_STRING_ADVANCE.
9133 (produce_chars): Fix for the case that the source and the
9134 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
9135 instead of CHAR_STRING_ADVANCE.
9136 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
9137 STRING_CHAR_ADVANCE.
9138
91392008-03-15 Andreas Schwab <schwab@suse.de>
9140
9141 * regex.c (re_match_2_internal): Correct matching of eight bit
9142 characters in unibyte strings.
9143
91442008-03-15 Martin Rudalics <rudalics@gmx.at>
9145
9146 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
9147 at end of range when it coincides with the end of the buffer.
9148
91492008-03-14 Eli Zaretskii <eliz@gnu.org>
9150
9151 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
9152
9153 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
9154
91552008-03-14 Jason Rumney <jasonr@gnu.org>
9156
9157 * editfns.c (initial_tz): New variable.
9158 (syms_of_editfns): Initialize it.
9159 (Fset_time_zone_rule): Set it when first called.
9160 Use it when TZSTRING is nil.
9161
9162 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
9163 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
9164 (monitor_from_point_fn, get_monitor_info_fn): New globals.
9165 (globals_of_w32fns): Initialize them.
9166 (compute_tip_xy): Use them to position tooltips.
9167
91682008-03-14 Glenn Morris <rgm@gnu.org>
9169
9170 * emacs.c (main): Revert previous change.
9171 (standard_args): Revert -internal-script back to -scriptload,
9172 and remove the long-option form.
9173
91742008-03-13 Glenn Morris <rgm@gnu.org>
9175
9176 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
9177 Remove option -enable-font-backend.
9178
91792008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
9180
9181 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
9182
91832008-03-11 Jan Djärv <jan.h.d@swipnet.se>
9184
9185 * xterm.c (x_connection_closed): For GTK: If this is the last
9186 terminal just exit without closing the display.
9187
91882008-03-11 Jason Rumney <jasonr@gnu.org>
9189
9190 * w32font.c (w32font_full_name): Use floor to round.
9191
f0131492 91922008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
9193
9194 * sound.c (alsa_configure): Declare vol at beginning of block.
9195
9196 * fontset.c (Ffontset_info): Remove extra semicolon.
9197
91982008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
9199
9200 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
9201 size of resulting string.
9202
92032008-03-10 Jason Rumney <jasonr@gnu.org>
9204
9205 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
9206
92072008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9208
9209 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
9210 Don't pretend as if characters with display property haven't been
9211 consumed for string-replacing-string case.
9212
92132008-03-08 Kim F. Storm <storm@cua.dk>
9214
9215 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
9216 (get_next_display_element, next_element_from_string)
9217 (next_element_from_ellipsis, next_element_from_buffer): Use it.
9218
92192008-03-08 Andreas Schwab <schwab@suse.de>
9220
9221 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
9222
92232008-03-06 Jason Rumney <jasonr@gnu.org>
9224
9225 * w32font.c (w32_registry): Take font_type argument. Use ANSI
9226 when charset not specified. Only translate ANSI to unicode when
9227 font_type is truetype.
9228 (w32font_coverage_ok): New function.
9229 (add_font_entity_to_list): Use it to filter unsuitable fonts.
9230
92312008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
9232
9233 * lread.c (Fread_char): Resolve modifiers.
9234 (Fread_char_exclusive): Likewise.
9235
9236 * character.c (char_resolve_modifier_mask): New function.
9237 (char_string): Use char_resolve_modifier_mask.
9238 (Fchar_resolve_modifiers): New function.
9239 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
9240 function.
9241
92422008-03-04 Jason Rumney <jasonr@gnu.org>
9243
9244 * makefile.w32-in: Always include w32font.c in the build.
9245 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
9246
92472008-03-04 Andreas Schwab <schwab@suse.de>
9248
9249 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
9250 (versionclean): Likewise.
9251
92522008-03-04 Juanma Barranquero <lekktu@gmail.com>
9253
9254 * .cvsignore: Add oo.
9255
92562008-03-03 Andreas Schwab <schwab@suse.de>
9257
9258 * coding.c (decode_coding_object): Inhibit gap shrinking while
9259 decoding in place.
9260
92612008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
9262
9263 * w32term.c: Remove unused include "gnu.h".
9264 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
9265
9266 * gnu.h: Rename to ...
9267 * emacs-icon.h: ... this.
9268 * xterm.c: Use emacs-icon.h instead of gnu.h.
9269 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
9270
92712008-03-03 Juanma Barranquero <lekktu@gmail.com>
9272
9273 * w32font.c: Include math.h.
9274
92752008-03-03 Jason Rumney <jasonr@gnu.org>
9276
9277 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
9278 Compute options separately.
9279 (w32font_open_internal): Set glyph_idx before caching metrics.
9280
9281 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
9282 Define if system headers don't.
9283 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
9284 (w32font_encode_char): Don't declare here.
9285
9286 * w32font.c (Quniscribe, QCformat): New symbols.
9287 (syms_of_w32font): Define them.
9288 (w32font_has_char): Indicate uncertainty.
9289 (w32font_encode_char): Encode as glyph point. Make static.
9290 (recompute_cached_metrics): New function.
9291 (w32font_open_internal): Use it. Set font to use glyph points
9292 initially. Set format based on type of font.
9293 (w32font_text_extents, w32font_draw): Optionally use glyph points.
9294 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
9295 on it. Set format based on information available here.
9296 (add_font_entity_to_list): Identify backend based on opentype_only.
9297
92982008-03-02 Andreas Schwab <schwab@suse.de>
9299
9300 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
9301
9302 * coding.c (decode_coding_big5, produce_chars):
9303 Fix typos in last change.
9304
93052008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
9306
9307 * gnu.h: New icon.
9308
93092008-03-02 Kenichi Handa <handa@m17n.org>
9310
9311 * coding.c (decode_coding_utf_8): When eol-type of CODING is
9312 `dos', don't decode '\r' if that is the last in the source.
9313 (decode_coding_utf_16, decode_coding_emacs_mule)
9314 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9315 (decode_coding_raw_text, decode_coding_charset): Likewise.
9316 (produce_chars): Don't decode EOL here. Use EMACS_INT.
9317
93182008-03-01 Jason Rumney <jasonr@gnu.org>
9319
9320 * w32font.c (w32font_full_name): Report point size for scalable fonts.
9321
93222008-03-01 Kim F. Storm <storm@cua.dk>
9323
9324 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
9325
93262008-03-01 Jason Rumney <jasonr@gnu.org>
9327
9328 * w32font.c (w32font_full_name): New function.
9329 (w32font_open_internal): Use it.
9330
93312008-03-01 Kim F. Storm <storm@cua.dk>
9332
9333 * dispnew.c (line_draw_cost): Fix invalid glyph check.
9334
93352008-03-01 Jason Rumney <jasonr@gnu.org>
9336
9337 * font.c (font_unparse_fcname): Increase len when style is a symbol.
9338
93392008-03-01 Jan Djärv <jan.h.d@swipnet.se>
9340
9341 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
9342 xg_frame_resized when the event is for the edit widget.
9343
9344 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
9345
9346 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
9347 set_char_size.
9348 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
9349 operations on widgets here. Just set frame size if needed.
9350 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
9351 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
9352 (x_wm_set_size_hint): Set size hints on the edit widget only, not
9353 the whole frame.
9354 (xg_create_tool_bar): Move attachment of the tool bar to
9355 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
9356 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
9357
93582008-03-01 Jason Rumney <jasonr@gnu.org>
9359
9360 * w32fns.c (w32_msg_pump): Disable debug code.
9361
93622008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9363
9364 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
9365
93662008-02-29 Chong Yidong <cyd@stupidchicken.com>
9367
9368 * xdisp.c (next_overlay_string): Don't set
9369 overlay_strings_at_end_processed_p if we're currently reading from
9370 a display string.
9371
93722008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
9373
9374 * xdisp.c (get_overlay_strings_1): Fix typo.
9375
93762008-02-29 Chong Yidong <cyd@stupidchicken.com>
9377
9378 * xdisp.c (get_overlay_strings_1): Add missing argument type.
9379
93802008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
9381
9382 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
9383
9384 * xdisp.c (display_mode_element): Cancel the previous change.
9385 (decode_mode_spec): Likewise.
9386 (handle_auto_composed_prop): Don't make composition if it->string
9387 is a string.
9388
93892008-02-27 Kim F. Storm <storm@cua.dk>
9390
9391 * lisp.h (GLYPH): Change type from int to struct with separate char
9392 and face_id members.
9393 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
9394 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
9395 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
9396 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
9397 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
9398 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
9399 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
9400 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
9401 handle new Lisp glyph code encoding, either an integer or a cons.
9402
9403 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
9404 (GLYPH_ALIAS): Delete.
9405 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
9406 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
9407 (GLYPH_FROM_CHAR): Replace macro by ...
9408 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
9409
9410 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
9411 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
9412 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
9413 (GLYPH_INVALID_P): New macro.
9414 (spec_glyph_lookup_face): Update prototype.
9415
9416 * dispnew.c (line_draw_cost): Adapt to new glyph type.
9417 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
9418 new glyph code encoding.
9419 (spec_glyph_lookup_face): No return value; update passed glyph instead.
9420 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
9421
9422 * xdisp.c (get_next_display_element, next_element_from_display_vector):
9423 Adapt to new glyph type and new glyph code encoding.
9424
9425 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
9426
9427 * indent.c (current_column, current_column_1, Fmove_to_column)
9428 (compute_motion): Adapt to new glyph code encoding.
9429
9430 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
9431
94322008-02-27 Chong Yidong <cyd@stupidchicken.com>
9433
9434 * process.c (wait_reading_process_output): Check for window
9435 changes caused by timers.
9436 Suggested by Johan Bockgård.
9437
94382008-02-27 Glenn Morris <rgm@gnu.org>
9439
9440 * emacs.c (USAGE1): Add `--disable-font-backend'.
9441
94422008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
9443
9444 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
9445 is made to the buffer.
9446
94472008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
9448
9449 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
9450 (face_at_string_position):
9451 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
9452 (face_at_string_position):
9453 * xdisp.c (display_string, next_overlay_change):
9454 * buffer.h (overlays_at):
9455 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
9456 Update callers.
9457
94582008-02-26 Chong Yidong <cyd@stupidchicken.com>
9459
9460 * editfns.c (Fformat): Doc fix.
9461
94622008-02-26 Juanma Barranquero <lekktu@gmail.com>
9463
9464 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
9465 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
9466 (Ffont_otf_alternates, Fquery_font): Doc fixes.
9467
94682008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9469
9470 * buffer.c (Fbuffer_swap_text): New function.
9471 (syms_of_buffer): Defsubr it.
9472
94732008-02-25 Chong Yidong <cyd@stupidchicken.com>
9474
9475 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
9476
94772008-02-25 Jason Rumney <jasonr@gnu.org>
9478
9479 * w32font.c (w32font_draw): Draw one character at a time when padding.
9480
94812008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9482
9483 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
9484 Handle a nil arg. Use run_window_configuration_change_hook.
9485 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
9486 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
9487 Use run_window_configuration_change_hook.
9488
94892008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9490
9491 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
9492 1-pixel width.
9493
94942008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9495
9496 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
9497 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
9498 if the glyph in the font is zero pixel with.
9499
9500 * dispextern.h (struct glyph_string): New member padding_p.
9501
9502 * w32font.c (w32font_draw): Pay attention to s->padding_p.
9503
9504 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
9505
9506 * xfont.c (xfont_draw): Pay attention to s->padding_p.
9507
9508 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
9509
9510 * font.c: If the font driver doesn't have `shape' function, return Qnil.
9511
95122008-02-25 Jason Rumney <jasonr@gnu.org>
9513
9514 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
9515
95162008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
9517
9518 Allow fine-grained image-cache flushing.
9519 * dispextern.h (struct image): Add `dependencies' field.
9520 (clear_image_caches): Change arg to Lisp_Object.
9521 * image.c (make_image): Initialize `dependencies' field.
9522 (clear_image_cache): Change arg to allow fine-grained flushing.
9523 Perform the flush even if image-cache-eviction-delay is nil.
9524 (clear_image_caches): Change arg to Lisp_Object.
9525 (Fclear_image_cache): Expand meaning of the argument.
9526 (mark_image): Mark `dependencies' field.
9527 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
9528 (lface_hash): Use XHASH rather than XFASTINT.
9529 (face_at_buffer_position): Fix int -> EMACS_INT position.
9530 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
9531 (select_frame_for_redisplay): Remove code duplication.
9532 (redisplay_internal): Adapt arg to call to clear_image_caches.
9533
95342008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
9535
9536 * s/vms4-0.h:
9537 * s/vms4-2.h:
9538 * s/vms4-4.h:
9539 * s/vms5-5.h: Remove, unused.
9540
9541 * s/irix5-2.h:
9542 * s/irix6-0.h:
9543 * s/riscos5.h:
9544 * s/mach-bsd4-3.h:
9545 * m/mips4.h: Remove files for obsolete systems.
9546
9547 * Makefile.in:
9548 * filelock.c:
9549 * unexmips.c:
9550 * m/hp9000s300.h:
9551 * m/iris4d.h:
9552 * s/aix3-1.h:
9553 * s/hpux.h:
9554 * s/msdos.h:
9555 * s/usg5-0.h:
9556 * s/usg5-2-2.h:
9557 * s/usg5-2.h:
9558 * s/usg5-3.h: Remove references to obsolete variables.
9559
9560 * s/irix5-0.h: Remove, move all the contents ...
9561 * s/irix6-5.h: ... here. Simplify.
9562 * config.in: Regenerate.
9563
95642008-02-24 Jason Rumney <jasonr@gnu.org>
9565
9566 * w32term.c (x_draw_glyph_string_background): Clear the background
9567 manually when cleartype is in use.
9568 (x_draw_glyph_string_foreground): Draw text transparently when
9569 cleartype is in use.
9570
9571 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
9572 a font into it unless we have to.
9573
95742008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9575
9576 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
9577 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 9578
aac0c6e3
MR
95792008-02-18 Jason Rumney <jasonr@gnu.org>
9580
9581 * w32fns.c (Fw32_shell_execute): Encode parameters.
9582
95832008-02-09 Eli Zaretskii <eliz@gnu.org>
9584
9585 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
9586
95872008-02-05 Juanma Barranquero <lekktu@gmail.com>
9588
9589 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
9590
95912008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
9592
9593 * xterm.c (x_set_offset): Don't change the gravity if
9594 CHANGE_GRAVITY is -1.
9595
95962008-02-23 Chong Yidong <cyd@stupidchicken.com>
9597
9598 * fileio.c (auto_save_error_occurred): New var.
9599 (auto_save_error): Set it.
9600 (Fdo_auto_save): Don't overwrite the error message if an auto-save
9601 error occurred.
9602
96032008-02-23 Eli Zaretskii <eliz@gnu.org>
9604
9605 * w32.c (globals_of_w32): Add initializations for
9606 g_b_init_get_sid_sub_authority and
9607 g_b_init_get_sid_sub_authority_count.
9608
96092008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
9610
9611 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
9612 (font_parse_xlfd): Use them for sanity check.
9613 (Finternal_set_font_style_table): Make sure the table is bijective.
9614
9615 Consolidate the image_cache to the terminal struct.
9616 * termhooks.h (P_): Remove redundant def.
9617 (struct terminal): New field `image_cache'.
9618 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
9619 of FRAME_X_IMAGE_CACHE.
9620 * xterm.h (struct x_display_info): Remove image_cache field.
9621 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9622 * w32term.h (struct w32_display_info): Remove image_cache field.
9623 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9624 * macterm.h (struct mac_display_info): Remove image_cache field.
9625 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9626 * xterm.c (x_term_init):
9627 * w32term.c (w32_term_init):
9628 * macterm.c (mac_term_init): Set the image_cache in the terminal.
9629 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
9630 Remove declarations.
9631 (clear_image_caches, mark_image_cache): New declarations.
9632 * xfaces.c (clear_face_cache):
9633 * xdisp.c (redisplay_internal): Use clear_image_caches.
9634 * image.c (clear_image_cache): Don't check that a frame is on
9635 a window-system before checking if it shares the same cache.
9636 (clear_image_caches): New function.
9637 (Fclear_image_cache): Use it.
9638 (mark_image): Move from allo.c.
9639 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
9640 * alloc.c (mark_image, mark_image_cache): Move to image.c.
9641 (mark_object): Don't call mark_image_cache for frames.
9642 (mark_terminals): Call mark_image_cache.
9643
9644 * lisp.h (Fdelete_terminal): Declare.
9645
9646 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
9647 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
9648 wrong_type_argument.
9649
96502008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
9651
9652 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
9653 malayalam.el, and tamil.el. Add sinhala.el.
9654
96552008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
9656
9657 * xterm.c (x_connection_closed): Consolidate identical tests.
9658 (x_delete_terminal): Don't crash if called via x_connection_closed.
9659
96602008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
9661
9662 * xdisp.c (decode_mode_spec): New arg string.
9663 (display_mode_element): Adjust for the above change.
9664
96652008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9666
9667 * callint.c (Fcall_interactively): Use AREF.
9668
96692008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
9670
9671 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
9672
96732008-02-18 Jan Djärv <jan.h.d@swipnet.se>
9674
9675 * xfns.c (Fx_show_tip): Set string to " " if empty.
9676
96772008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
9678
9679 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
9680 with Qt.
9681
96822008-02-17 Kenichi Handa <handa@m17n.org>
9683
9684 * ftfont.c (ftfont_shape): Return Lispy number.
9685
9686 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
9687 for GCs.
9688 (Finternal_set_font_selection_order): Call font_update_sort_order
9689 only when enable_font_backend is set.
9690 (realize_x_face): Set face->font_info to that of default face only
9691 when enable_font_backend is set.
9692
9693 * xdisp.c (handle_composition_prop): Set it->c to the fist
9694 character of the composed region.
9695 (fill_composite_glyph_string): Set base_face->font_info to
9696 s->font_info. Get a face for ascii from base_face->ascii_face.
9697 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
9698 with a face already decided.
9699 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
9700 non-negative.
9701 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
9702 call font_prepare_composition unconditionally.
9703
9704 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
9705
9706 * xterm.h (struct x_display_info): New member font.
9707
9708 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
9709 (x_set_mouse_face_gc, x_new_font): Likewise.
9710 (x_term_init): Setup display_info->font.
9711 (x_delete_terminal): Free display_info->font.
9712
9713 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
9714
9715 * ftxfont.c (ftxfont_default_fid): Delete it.
9716 (ftxfont_open): Set xfont->fid to 0.
9717 (ftxfont_end_for_frame): Clear data specific to the frame and the
9718 font-driver.
9719
9720 * xftfont.c (xftfont_default_fid): Delete it.
9721 (xftfont_open): Set xfont->fid to 0.
9722
9723 * fontset.c (FONTSET_OBJLIST): New macro.
9724 (fontset_find_font): Update font-object list of the fontset.
9725 (free_realized_fontset): New function.
9726 (free_face_fontset): Call free_realized_fontset.
9727 (Ffont_info): Call font_close_object only when enable_font_backend
9728 is set.
9729
9730 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
9731 [HAVE_NTGUI]: Include w32term.h.
9732 [MAC_OS]: Include macterm.ch.
9733 (font_otf_ValueRecord): Use make_number.
9734 (font_finish_cache): Fix handling of reference count.
9735 (font_clear_cache): Update num_fonts.
9736 (font_open_entity): Update smallest_char_width and
9737 smallest_font_height of the frame.
9738 (font_close_object): Update num_fonts.
9739 (Fclear_font_cache): Fix finding the target cache data.
9740
97412008-02-16 Glenn Morris <rgm@gnu.org>
9742
9743 * fontset.c (Finternal_char_font): Fix compilation warning.
9744
97452008-02-16 Eli Zaretskii <eliz@gnu.org>
9746
9747 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9748 instead of char arrays. Enlarge the size of array passed to
9749 get_token_information.
9750
9751 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9752 warnings.
9753
97542008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9755
9756 * .gdbinit: Don't set `args', it breaks gdb --args.
9757
97582008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9759
9760 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9761 within a narrowed buffer.
9762
97632008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9764
9765 * coding.c (decode_coding_object, encode_coding_object):
9766 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9767
97682008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9769
9770 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9771 hardcoding 1.
9772 (detect_coding_system):
9773 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9774 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9775 * insdel.c (insert_from_gap):
9776 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9777 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9778 (string_to_multibyte):
9779 * character.c (chars_in_text, multibyte_chars_in_text):
9780 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9781
9782 * character.h (FETCH_STRING_CHAR_ADVANCE)
9783 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9784 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9785 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9786
9787 * casefiddle.c (casify_region): Only call after-change and composition
9788 functions on the part of the region that was changed.
9789
9790 * keyboard.c (read_avail_input):
9791 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9792
97932008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9794
9795 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9796 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9797
97982008-02-11 Juanma Barranquero <lekktu@gmail.com>
9799
9800 * w32menu.c (push_submenu_start, push_submenu_end)
9801 (push_left_right_boundary, push_menu_pane, push_menu_item):
9802 * keyboard.c (read_key_sequence): Don't pass args with side effects
9803 to AREF, it fails when compiling with -DENABLE_CHECKING.
9804
98052008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9806
9807 * Makefile.in (${lispsource}international/charprop.el):
9808 Delete this target.
9809
9810 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9811 emacs-unicode-2.
9812
98132008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9814
9815 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9816
98172008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9818
9819 * frame.c (Qnoelisp): New symbol.
9820 (syms_of_frame): Initialize it.
9821 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9822 harmless Elisp code, from a strong `force' from x_connection_closed.
9823 * frame.h (Qnoelisp): Declare.
9824 * xterm.c (x_connection_closed): Pass `noelisp'.
9825
9826 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9827 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9828 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9829 rather than `int' for the type of `type'.
9830
98312008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9832
9833 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9834
9835 * Makefile.in (GNUC): Remove support for gcc-1.x.
9836
98372008-02-10 Richard Stallman <rms@gnu.org>
9838
9839 * lisp.h (ASET): Use AREF, not ASLOT.
9840
98412008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9842
9843 * lisp.h (ASET): Check bounds.
9844
98452008-02-10 Glenn Morris <rgm@gnu.org>
9846
9847 * buffer.c (mode-name): Doc fix.
9848
98492008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9850
9851 * Makefile.in:
9852 * emacs.c:
9853 * gmalloc.c:
9854 * keyboard.c:
9855 * lisp.h:
9856 * m/ibm370aix.h:
9857 * process.c:
9858 * regex.c:
9859 * s/hpux.h:
9860 * sysdep.c:
9861 * sysselect.h:
9862 * systty.h:
9863 * unexec.c:
9864 * w32term.c:
9865 * xsmfns.c:
9866 * xterm.c: Remove code that deals with obsolete variables.
9867
9868 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
9869
9870 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
9871 nothing else needs it anymore.
9872
98732008-02-09 Eli Zaretskii <eliz@gnu.org>
9874
9875 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
9876 instead of unibyte_char_to_multibyte.
9877
98782008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9879
9880 * s/gnu-linux.h: Remove commented out code.
9881
9882 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
9883
9884 * Makefile.in: Update what RMS says about using autoconf.
9885 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
9886 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
9887 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
9888 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
9889
98902008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
9891
9892 * keymap.c (Fkey_description): Move side effect outside of macro call.
9893
9894 * xfaces.c (Finternal_make_lisp_face):
9895 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
9896
9897 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
9898 (syms_of_fontset): Use ASET.
9899
9900 * fns.c (concat): Move side effect outside of macro call.
9901 (hash_clear): Use ASET.
9902
99032008-02-08 Richard Stallman <rms@gnu.org>
9904
9905 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
9906 If FORCE, and frame has a surrogate minibuffer for another frame,
9907 delete the other frame first.
9908
99092008-02-07 Timo Savola <timo.savola@iki.fi>
9910
9911 * xterm.c (x_detect_focus_change): Handle embed client message.
9912 (handle_one_xevent): Ditto.
9913 (handle_one_xevent): If embedded and we get a button press/release,
9914 request focus.
9915 (xembed_set_info, xembed_send_message): New functions.
9916 (x_make_frame_visible): Call xembed_set_info if embedded.
9917 (x_make_frame_invisible): Call xembed_set_info if embedded.
9918 (x_term_init): Initialize Xatom_XEMBED.
9919 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
9920 (x_iconify_frame): Ditto.
9921
9922 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
9923 (enum xembed_info, enum xembed_message, enum xembed_focus)
9924 (enum xembed_modifier, enum xembed_accelerator): New.
9925 (xembed_set_info, xembed_send_message): Declare.
9926 (FRAME_X_EMBEDDED_P): New.
9927
9928 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
9929 gtk_plug_new.
9930
9931 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
9932 window ID of a frame.
9933 (x_window): Reparent frame if embedded.
9934 (Fx_create_frame): Don't set border width if embedded.
9935
9936 * emacs.c (USAGE3): Add --parent-id.
9937 (standard_args): Ditto.
9938
99392008-02-07 Jan Djärv <jan.h.d@swipnet.se>
9940
9941 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
9942
99432008-02-07 Jim Meyering <meyering@redhat.com>
9944
9945 Use "do...while (0)", not "if (1)...else" in macro definitions.
9946 The latter provokes a warning from gcc about the empty else, when
9947 followed by ";". Also, without that trailing semicolon, it would
9948 silently swallow up any following statement.
9949 * syntax.h (SETUP_SYNTAX_TABLE)
9950 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
9951 * buffer.h (DECODE_POSITION): Likewise.
9952 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
9953 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
9954 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
9955 (FETCH_CHAR_ADVANCE): Likewise.
9956 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
9957
99582008-02-07 Jim Meyering <meyering@redhat.com>
9959
9960 * lread.c [lint]: Don't include <sys/inode.h>.
9961
99622008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
9963
9964 * xselect.c (x_handle_dnd_message):
9965 * xmenu.c (digest_single_submenu, xmenu_show):
9966 * xdisp.c (with_echo_area_buffer_unwind_data)
9967 (format_mode_line_unwind_data, unwind_format_mode_line)
9968 (display_menu_bar):
9969 * eval.c (Ffetch_bytecode):
9970 * doc.c (store_function_docstring):
9971 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
9972 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
9973 * buffer.c (add_overlay_mod_hooklist): Use ASET.
9974
99752008-02-07 Kenichi Handa <handa@m17n.org>
9976
9977 * ftxfont.c (ftxfont_open): Don't set
9978 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
9979
9980 * ftfont.c (ftfont_open): Fix previous change.
9981
99822008-02-06 Jason Rumney <jasonr@gnu.org>
9983
9984 * w32font.c (w32font_text_extents): Fill in lbearing metric.
9985 Use cached metrics for ASCII characters.
9986 (w32font_open_internal): Don't set font's owning_frame.
9987 Cache metrics for ASCII characters.
9988
9989 * w32font.h (struct w32font_info): Add ascii_metrics.
9990 Remove owning_frame.
9991
99922008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
9993
9994 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
9995 to negative value.
9996
9997 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
9998
9999 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
10000
10001 * charset.c (syms_of_charset): Set QCtest and Qeq.
10002
100032008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
10004
10005 * process.c (Fstart_process):
10006 * callproc.c (Fcall_process): Handle the case where
10007 Funhandled_file_name_directory returns nil.
10008
10009 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
10010 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
10011 * font.c (check_gstring): Use them and AREF to access the vector before
10012 we know it's really a gstring.
10013 (Ffont_shape_text): Fix typo.
46e722a9 10014 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
10015
10016 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
10017 Declare.
10018
10019 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
10020
100212008-02-05 Jason Rumney <jasonr@gnu.org>
10022
10023 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
10024 Set smallest_font_height and smallest_char_width in display info.
10025
100262008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
10027
10028 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
10029
100302008-02-05 Miles Bader <miles@gnu.org>
10031
10032 * xfaces.c (get_lface_attributes, merge_named_face)
10033 (lookup_named_face, lookup_derived_face, realize_named_face):
10034 Revert 2008-02-01 change by cyd@stupidchicken.com.
10035
100362008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
10037
10038 * fontset.c (Ffontset_info): Handle the case of inhibitting the
10039 fallback fonts.
10040 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
10041
100422008-02-04 Jason Rumney <jasonr@gnu.org>
10043
10044 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
10045 set full_name.
10046 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
10047
100482008-02-03 Jason Rumney <jasonr@gnu.org>
10049
10050 * makefile.w32-in (OBJ1): Include font.o here.
10051 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
10052
100532008-02-02 Jason Rumney <jasonr@gnu.org>
10054
10055 * makefile.w32-in (temacs): Bump EMHEAP to 21.
10056
100572008-02-01 Jason Rumney <jasonr@gnu.org>
10058
10059 * s/cygwin.h: Define VIRT_ADDR_VARIES.
10060
10061 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
10062
100632008-02-01 Andreas Schwab <schwab@suse.de>
10064
10065 * Makefile.in (shortlisp, lisp): Update for rename of
10066 ../lisp/language/myanmar.el.
10067
100682008-02-01 Chong Yidong <cyd@stupidchicken.com>
10069
10070 * xfaces.c (get_lface_attributes): Delete function.
10071 (merge_named_face, lookup_named_face, lookup_derived_face)
10072 (realize_named_face): Call lface_from_face_name directly, and use
10073 the fact that merge_face_vectors does not alter its FROM argument.
10074
100752008-02-01 Jason Rumney <jasonr@gnu.org>
10076
10077 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
10078 input in the default locale. Handle non-Unicode multibyte input.
10079
100802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10081
10082 * fontset.c (reorder_font_vector): Exclude nil elements from the
10083 font group. Don't try multiple fonts.
10084 (fontset_font): Adjust for the above change.
10085 (Finternal_char_font): Return nil if the found font doesn't
10086 contain the character ch.
10087
10088 * Makefile.in (lisp, shortlisp): Add cham.el.
10089
100902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10091
10092 * font.h (FONTP): Make it return 1 also for a font-object.
10093
10094 * .gdbinit (xfontset): New function.
10095
10096 * font.c (font_find_for_lface): Check if the character C is
10097 supported or not only for the first font.
10098
10099 * fontset.c (reorder_font_vector): Fix typo.
10100 (fontset_find_font): Don't add a font-spec specifying a script.
10101 Use 0 (not Qt) for the indication of empty font-group. Change the
10102 format of RFONT-DEF. Return Qt if no font in the font-group
10103 support the character.
10104 (fontset_font): Adjust for the above change. If no font was
10105 found the character, remember that.
10106 (face_for_char): Adjust for the change of RFONT-DEF.
10107 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
10108 no font for the target.
10109 (Finternal_char_font): Adjust for the change of RFONT-DEF.
10110
101112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10112
10113 * font.c (font_load_for_face): Handle the case that the font in
10114 face->lface is a string.
10115
101162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10117
10118 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
10119
101202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10121
10122 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
10123 Fix previous change. If the frame is not on a window system,
10124 signal an error.
10125
101262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10127
10128 * coding.c (decode_coding_object, encode_coding_object): Adjust
10129 marker positions after conversion.
10130
10131 * lisp.h (struct Lisp_Marker): New member need_adjustment.
10132
101332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10134
10135 * font.c (font_find_for_lface): Fix the handling of the return
10136 value of font_has_char.
10137 (Ffont_shape_text): Fix previous change.
10138
10139 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
10140 (fontset_ref_and_range): Delete it.
10141 (fontset_find_font): Call char_table_ref_and_range instead of
10142 FONTSET_REF_AND_RANGE.
10143 (make_fontset): Don't setup font groups of Latin here.
10144 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
10145 (new_fontset_from_font): Make the specified font the default for
10146 all Latin characters.
10147
101482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10149
10150 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
10151 is on a window system before accessing the fontset of the frame.
10152
101532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10154
10155 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
10156
10157 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
10158 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
10159
10160 * font.c (Ffont_shape_text): If the font driver doesn't have a
10161 shaper function, make zero-width glyphs to have at least one-pixel
10162 width. Fix setting of `to' field of glyphs.
10163
101642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10165
10166 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
10167 glyphs.
10168
10169 * font.h (struct font_driver): Improve docstring of member `shape'.
10170
101712008-02-01 Kenichi Handa <handa@m17n.org>
10172
10173 * composite.c (syms_of_composite): Fix docstring of
10174 auto-composition-function.
10175
10176 * font.h (LGLYPH_SIZE): New macro.
10177
10178 * font.c (Ffont_fill_gstring): Stop filling when a character not
10179 supported by the font is found.
10180 (Ffont_shape_text): When a shape callback function returns nil,
10181 try at most two more times with larger gstring.
10182 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
10183
10184 * xdisp.c (handle_auto_composed_prop): Change the argument to
10185 auto-composition-function.
10186
10187 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
10188 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
10189 Lispy glyph and store it in the lgstring.
10190
10191 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
10192
10193 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
10194
101952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10196
10197 * font.c (Ffont_shape_text): Avoid unnecessary composition.
10198
10199 * fontset.c (Vfont_encoding_charset_alist): New variable.
10200 (syms_of_fontset): DEFVAR it.
10201 (reorder_font_vector, fontset_find_font): Optimize for the case of
10202 no need of reordering.
10203 (face_for_char): Map the charset property by
10204 Vfont_encoding_charset_alist.
10205
102062008-02-01 Jason Rumney <jasonr@gnu.org>
10207
10208 * w32font.c (logfonts_match): Don't check adstyle here.
10209 (font_matches_spec): Check here against physical font instead.
10210 (add_font_entity_to_list): Avoid some substitutions.
10211
10212 * font.c (font_parse_fcname): Default weight and slant to normal.
10213 (font_score): Prefer normal fonts if weight or slant unspecified.
10214 (font_score) [WINDOWSNT]: Scale weight difference down to closer
10215 match freetype scores.
10216
102172008-02-01 Jason Rumney <jasonr@gnu.org>
10218
10219 * w32font.c (w32font_text_extents): Don't use the frame stored in the
10220 font, as it may have been deleted.
10221 (w32_enumfont_pattern_entity): Map generic family to adstyle using
10222 most common hyphenless variation.
10223 (logfonts_match): Check generic family.
10224 (font_matches_spec): Don't check generic family here.
10225 (fill_in_logfont): Set generic family based on adstyle.
10226
10227 * w32font.h (w32font_get_cache): Update declaration.
10228
102292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10230
10231 * ftfont.c (ftfont_get_cache): Adjust the argument type.
10232
10233 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
10234 If none of the new drivers are available, call font_update_drivers
10235 with the old drivers.
10236
10237 * w32font.c (w32font_get_cache): Adjust the argument type.
10238
10239 * xfont.c (xfont_get_cache): Adjust the argument type.
10240
10241 * font.h (struct font_driver): Change argument type of get_cache.
10242
10243 * xftfont.c (xftfont_start_for_frame): Delete prototype.
10244
10245 * font.c (Ffont_get): Fix arguments to Fassoc.
10246 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
10247 (font_clear_cache): New function.
10248 (font_list_entities, font_matching_entity): Use font_get_cache.
10249 (font_update_drivers): Call font_clear_cache when finishing a driver.
10250
10251 * fontset.c (fontset_find_font): Fix previous change.
10252
102532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10254
10255 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
10256 dpyinfo->font_table.
10257 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
10258 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
10259
10260 * font.c (font_at): Handle the case that the arg C is negative.
10261 Handle the unibyte case.
10262 (Ffont_at): Call font_at with the arg C -1.
10263
10264 * xdisp.c (handle_auto_composed_prop): Don't get a character at
10265 the position here, and call font_at with the arg C -1.
10266 Don't check the range of the existing composition at the point.
10267
102682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10269
10270 * fontset.c (fontset_add): New args charset_id and family.
10271 Change caller.
10272 (load_font_get_repertory, fontset_find_font): Assume that
10273 font_spec is always a font-spec object.
10274 (Fset_fontset_font): Always store a font-spec object in a fontset.
10275
10276 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
10277 instead of get_property_and_range.
10278
102792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10280
10281 * xftfont.c (struct xftfont_info): Delete the member ft_face.
10282 (xftfont_open): Don't keep locking face.
10283 (xftfont_close): Don't unlock face.
10284 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
10285
10286 * fontset.c (fontset_find_font): Don't prefer a font of
10287 supplementary charset.
10288
102892008-02-01 Kenichi Handa <handa@m17n.org>
10290
10291 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
10292 script, langsys_tag to langsys, new member script.
10293 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 10294 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
10295 listing to the script specified in that property. Fix arg to
10296 OTF_check_features.
10297
102982008-02-01 Jason Rumney <jasonr@gnu.org>
10299
10300 * w32font.h: New file.
10301
10302 * w32font.c: Include it.
10303 (struct w32font_info): Add owning_frame field. Move to w32font.h.
10304 (w32font_open): Set owning_frame.
10305 (w32font_text_extents): Use owning_frame.
10306 (struct font_callback_data): Add opentype_only field.
10307 (add_font_entity_to_list): Use it to filter fonts.
10308 Don't check against full name.
10309 (w32font_list_internal): New function.
10310 (w32font_list): Use it.
10311 (w32font_match_internal): New function.
10312 (w32font_match): Use it.
10313 (w32font_open_internal): New function.
10314 (w32font_open): Use it.
10315 (w32font_get_cache, w32font_close, w32font_has_char)
10316 (w32font_encode_char, w32font_text_extents, w32font_draw):
10317 Make non-static.
10318
10319 * makefile.w32-in (w32font.o): Depend on w32font.h.
10320
103212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10322
10323 * charset.c (Fdefine_charset_internal): Record a supplementary
10324 charset at the tail of Vcharset_order_list.
10325
10326 * font.c (Ffont_shape_text): Fix the return value.
10327
10328 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
10329
10330 * xdisp.c (handle_auto_composed_prop): Fix previous change.
10331
103322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10333
10334 * ftfont.c (struct OpenTypeSpec): New struct.
10335 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
10336 (ftfont_get_open_type_spec): New function.
10337 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
10338
10339 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
10340
103412008-02-01 Jason Rumney <jasonr@gnu.org>
10342
10343 * w32font.c (add_font_entity_to_list): Compare only the beginning
10344 of full name.
10345
103462008-02-01 Kenichi Handa <handa@m17n.org>
10347
10348 * xdisp.c (handle_auto_composed_prop): Simplify the code.
10349 Never return HANDLED_RECOMPUTE_PROPS.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * font.c (font_gstring_produce): Delete it.
10354
10355 * composite.h (COMPOSITION_METHOD):
10356 Handle COMPOSITION_WITH_GLYPH_STRING.
10357
103582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10359
10360 * xfont.c (Qx): Delete.
10361 (syms_of_xfont): Don't initialize Qx.
10362
10363 * composite.h (enum composition_method):
10364 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
10365
103662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10367
10368 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
10369 (choose_face_font): Accept new form of font-spec.
10370
10371 * frame.h (font_driver_list): Declare it unconditionally.
10372 (struct frame): Define members font_driver_list and font_data_list
10373 unconditionally.
10374
10375 * fontset.c: Include "font.h" unconditionally.
10376 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
10377 (Fset_fontset_font): Accept a font-spec object.
10378
10379 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
10380 PIXEL_SIZE part a wild card.
10381
10382 * dispextern.h (struct glyph_string): Define members clip and
10383 num_clips unconditionally.
10384 (struct face): Define members font_info and extra unconditionally.
10385
10386 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
10387 ftfont_info only when HAVE_LIBOTF is defined.
10388
103892008-02-01 Andreas Schwab <schwab@suse.de>
10390
10391 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
10392 and end.
10393
103942008-02-01 Jason Rumney <jasonr@gnu.org>
10395
10396 * w32font.c (w32font_driver): Add new fields.
10397
103982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10399
10400 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
10401 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
10402 (LIBES): Add @M17N_FLT_CFLAGS@.
10403
10404 * composite.c (compose_text): Don't treat the new style
10405 composition specially.
10406
10407 * emacs.c (main): Call syms_of_font unconditionally.
10408
10409 * font.h (FONT_ENTITY_NOT_LOADABLE)
10410 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
10411 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
10412 (struct font_driver): New member shape.
10413 (font_registry_charsets): Extern it.
10414 (font_find_for_lface, font_prepare_composition): Adjust prototype.
10415 (font_otf_capability, font_drive_otf): Delete their externs.
10416
10417 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
10418 (font_charset_alist, font_registry_charsets): Move from xfont.c
10419 and rename.
10420 (font_prop_validate_otf): New function.
10421 (font_property_table): Register it for QCotf.
10422 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
10423 (font_drive_otf): Delete.
10424 (font_prepare_composition): New arg F. Adjust for the change of
10425 lispy gstring.
10426 (font_find_for_lface): New arg C.
10427 (font_load_for_face): Adjust for the change of font_find_for_lface.
10428 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
10429 lispy gstring.
10430 (Ffont_shape_text): New function.
10431 (Fopen_font): If the font size is not given, use 12-pixel.
10432 (Ffont_at): New arg STRING.
10433 (syms_of_font): Initalize font_charset_alist.
10434 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
10435 conditionally.
10436
10437 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
10438 fonts of the same font-spec. Change the format of RFONT-DEF.
10439 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
10440 Adjust for the change of RFONT-DEF.
10441 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
10442
10443 * ftfont.h: New file.
10444
10445 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
10446 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10447 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10448 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
10449 font_otf_capability and font_drive_otf, set ftfont_shape.
10450 (ftfont_list): Adjust for the change of :otf property value.
10451 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
10452 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
10453 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
10454 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10455 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
10456 (otf_gstring, gstring, m17n_flt_initialized): New variables.
10457
10458 * w32term.c (x_draw_composite_glyph_string_foreground):
10459 Adjust for the change of lispy gstring.
10460
10461 * xdisp.c (handle_composition_prop): Adjust for the change of
10462 lispy gstring. Call a function for auto-composition with the
10463 third arg it->window.
10464 (fill_composite_glyph_string): Adjust for the change of lispy string.
10465 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
10466
10467 * xfaces.c (set_font_frame_param): Adjust for the change of
10468 font_find_for_lface.
10469
10470 * xfont.c (x_font_charset_alist): Move to font.c and rename.
10471 (xfont_registry_charsets): Likewise. Change caller.
10472 (syms_of_xfont): Don't handle x_font_charset_alist.
10473
10474 * xftfont.c: Include "ftfont.h".
10475 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10476 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10477 (xftfont_close) [HAVE_LIBOTF]: Close otf.
10478 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10479 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
10480 Set xftfont_driver.shape to xftfont_shape.
10481
10482 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10483 the change of lispy gstring.
10484
104852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10486
10487 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
10488
104892008-02-01 Jason Rumney <jasonr@gnu.org>
10490
10491 * w32font.c (w32font_draw): Fill background manually.
10492
104932008-02-01 Jason Rumney <jasonr@gnu.org>
10494
10495 * font.c (Qfontp): Remove unused symbol.
10496 (QCantialias): New symbol.
10497 (syms_of_font): Define it.
10498 (font_property_table): Set a validator for QCantialias.
10499
10500 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
10501 Define if not already.
10502 (QCfamily): Share with xfaces.c.
10503 (Qstandard, Qsubpixel, Qnatural): New symbols.
10504 (syms_of_w32font): Define them. Don't define QCfamily here.
10505 (w32_antialias_type, lispy_antialias_type): New functions.
10506 (w32_enumfont_pattern_entity): New arg requested_font.
10507 Set antialias parameter if non-default was requested.
10508 (fill_in_logfont): Fill in lfQuality if :antialias specified.
10509
105102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10511
10512 * lread.c (read1): Undo the previous change.
10513
105142008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
10515
10516 * frame.c (Fdelete_frame): Call font_update_drivers only when
10517 USE_FONT_BACKEND is defined.
10518
105192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10520
10521 * font.h (struct font_bitmap): New member bits_per_pixel.
10522 (struct font_driver): New members start_for_frame and end_for_frame.
10523 (struct font_data_list): New struct.
10524 (font_put_frame_data, font_get_frame_data): Extern them.
10525
10526 * frame.h (struct frame): New member font_data_list.
10527
10528 * font.c (font_update_drivers): Call driver->start_for_frame and
10529 driver->end_for_frame at proper timings.
10530 (font_put_frame_data, font_get_frame_data): New functions.
10531 (Ffont_spec): Add usage in the docstring.
10532
10533 * frame.c (make_frame): Initialize f->font_data_list to NULL.
10534 (Fdelete_frame): Call font_update_drivers.
10535
10536 * xftfont.c (struct xftface_info): Delete the member xft_draw.
10537 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
10538 (xftfont_get_xft_draw): New function.
10539 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
10540 (xftfont_end_for_frame): New function.
10541 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
10542
10543 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
10544 Change argument. Cache GCs in the per-frame data.
10545 (struct ftxfont_frame_data): New struct.
10546 (ftxfont_draw_bitmap): New arg gc_fore and flush.
10547 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
10548 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
10549 (ftxfont_end_for_frame): New function.
10550 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
10551
10552 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
10553
105542008-02-01 Kenichi Handa <handa@m17n.org>
10555
10556 * xselect.c (Vselection_coding_system)
10557 (Vnext_selection_coding_system): Delete them.
10558 (syms_of_xselect): Don't declare selection-coding-system and
10559 next-selection-coding-system. They are declared in select.el.
10560
105612008-02-01 Jason Rumney <jasonr@gnu.org>
10562
10563 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
10564
10565 * w32fns.c: Include imm.h.
10566 (get_composition_string_fn, get_ime_context_fn): New optional
10567 system functions.
10568 (globals_of_w32fns): Load them from imm32.dll.
10569 (ignore_ime_char): New flag.
10570 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
10571 WM_IME_ENDCOMPOSITION messages.
10572
10573 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
10574 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
10575
105762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10577
10578 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
10579 (READCHAR_REPORT_MULTIBYTE): New macro.
10580 (readchar): New 2nd arg MULTIBYTE.
10581 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
10582 Make symbol's name multibyte according to the multibyteness of the
10583 source.
10584
105852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10586
10587 * xfaces.c (face_for_overlay_string): Call lookup_face with
10588 correct arguments (fix of synching with the trunk).
10589
105902008-02-01 Kenichi Handa <handa@m17n.org>
10591
10592 * font.c (font_prop_validate_symbol, font_prop_validate_style)
10593 (font_prop_validate_non_neg, font_prop_validate_spacing):
10594 Delete argument prop_index.
10595 (font_property_table): Change arguments to validater. Change Callers.
10596 (font_lispy_object): Delete.
10597 (font_at): Use font_find_object instead fo font_lispy_object.
10598
105992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10600
10601 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
10602 and file names.
10603
106042008-02-01 Jason Rumney <jasonr@gnu.org>
10605
10606 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
10607 (font_matches_spec): Remove debug output.
10608 (add_font_entity_to_list): Avoid using substituted fonts.
10609
106102008-02-01 Jason Rumney <jasonr@gnu.org>
10611
10612 * doc.c (Fsnarf_documentation):
10613 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
10614
106152008-02-01 Miles Bader <miles@gnu.org>
10616
10617 * dispextern.h (struct glyph_row): Only define "clip" field if
10618 HAVE_WINDOW_SYSTEM is defined.
10619
106202008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10621
10622 Fix up multi-tty merge.
10623
10624 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
10625 and indentation.
10626
10627 * xfaces.c (free_realized_face, clear_face_gcs):
10628 Include font_done_for_face in the input_blocked section, just in case.
10629
10630 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
10631 (get_char_face_and_encoding): Undo last change and remove the *other*
10632 duplicate definition (i.e. keep the one that's better scoped and that
10633 includes code for the font-backend).
10634
10635 * terminal.c (create_terminal): Default keyboard_coding to
10636 `no-conversion' and terminal_coding to `undecided'.
10637
10638 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
10639
10640 * fontset.c (free_realized_fontsets): Check that the table entry does
10641 contain a fontset before trying to compare it to `base'.
10642
10643 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
10644 syms_of_charset, and syms_of_coding earlier because init_window_once
10645 now needs Vcoding_system_hash_table to be setup.
10646
10647 * coding.h (default_buffer_file_coding): Remove.
10648
10649 * coding.c (default_buffer_file_coding): Remove.
10650 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
10651 than ->symbol, and use the terminal-local coding system.
10652 (syms_of_coding): Don't setup the coding-systems that are not
10653 terminal-local.
10654 (Fdefine_coding_system_internal): Use XCAR/XCDR.
10655
10656 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
10657 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
10658
10659 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
10660 in chartab.c and were re-added here by mistake.
10661 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
10662
10663 * doc.c (Fsnarf_documentation):
10664 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
10665 src to etc.
10666
10667 * ChangeLog.10: Add mistakenly removed entry.
10668
106692008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
10670
10671 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
10672
106732008-02-01 Miles Bader <miles@gnu.org>
10674
10675 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
10676 Add extra args to FACE_FOR_CHAR.
10677
106782008-02-01 Kenichi Handa <handa@m17n.org>
10679
10680 * keymap.c (where_is_internal_1): If key is a cons, store the copy
10681 in sequence.
10682
10683 * chartab.c (map_sub_char_table, map_char_table): If the range
10684 contains just one character, call the function with that character
10685 even if the depth is not 3.
10686
106872008-02-01 Jason Rumney <jasonr@gnu.org>
10688
10689 * w32font.c (w32font_text_extents): Calculate metrics for the
10690 whole string.
10691
106922008-02-01 Jason Rumney <jasonr@gnu.org>
10693
10694 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
10695
106962008-02-01 Jason Rumney <jasonr@gnu.org>
10697
10698 * w32term.c (x_set_glyph_string_clipping): Use
10699 get_glyph_string_clip_rects.
10700 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10701 Adjust for the change of struct glyph_string.
10702
10703 * w32font.c (w32font_draw): Do clipping here.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * xftfont.c (xftfont_draw): Adjust for the change of struct
10708 glyph_string.
10709
10710 * xterm.c (x_set_glyph_string_clipping): Use
10711 get_glyph_string_clip_rects.
10712 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10713 Adjust for the change of struct glyph_string.
10714
10715 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
10716 the resulting clip(s}.
10717 (expose_overlaps): Add arg r. Change callers. Set it to
10718 row->clip temporarily.
10719 (expose_window): Redraw rows overlapping the exposed area.
10720
10721 * dispextern.h (struct glyph_row): New member clip.
10722 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
10723 clip_height, new member clip, and num_clips.
10724
107252008-02-01 Kenichi Handa <handa@m17n.org>
10726
10727 * data.c (Fchar_or_string_p): Fix docstring.
10728
107292008-02-01 Kenichi Handa <handa@m17n.org>
10730
10731 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10732 create a temporary XftDraw object.
10733
107342008-02-01 Kenichi Handa <handa@m17n.org>
10735
10736 * font.c (Ffontp): Fix docstring.
10737
10738 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10739 strong evidence of ISO-2022.
10740
107412008-02-01 Kenichi Handa <handa@m17n.org>
10742
10743 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10744 SYNTAX_ENTRY_FOLLOW_PARENT.
10745
107462008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10747
10748 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10749 its type.
10750 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10751 Update to the new type of weak_hash_tables and next_weak.
10752
10753 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10754 a plain C pointer to Lisp_Hash_Table.
10755
10756 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10757 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10758 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10759 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10760 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10761 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10762 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10763 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10764 (GC_EQ): Remove since they've been identical to their non-GC_
10765 alter-egos ever since the markbit was eradicated.
10766
10767 * alloc.c:
10768 * buffer.c:
10769 * buffer.h:
10770 * data.c:
10771 * fileio.c:
10772 * filelock.c:
10773 * fns.c:
10774 * frame.h:
10775 * lisp.h:
10776 * macterm.c:
10777 * print.c:
10778 * process.c:
10779 * w32fns.c:
10780 * w32menu.c:
10781 * w32term.c:
10782 * xfns.c:
10783 * xmenu.c:
10784 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10785
107862008-02-01 Kenichi Handa <handa@m17n.org>
10787
10788 * chartab.c (map_sub_char_table): Make it work for the top-level
10789 char-table. Fix handling of parent char-table.
10790 (map_char_table): Adjust for the above change.
10791
107922008-02-01 Jason Rumney <jasonr@gnu.org>
10793
10794 * w32font.c (Qgdi): Rename from Qw32.
10795
107962008-02-01 Jason Rumney <jasonr@gnu.org>
10797
10798 * w32bdf.c (get_quoted_string): Make function static.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10803 bigger ascent and descent than those of the font, use them as
10804 font's ascent and descent.
10805
108062008-02-01 Kenichi Handa <handa@m17n.org>
10807
10808 * Makefile.in (${lispsource}international/charprop.el): Move this
10809 target within "#ifdef HAVE_UNIDATA" and "#endif".
10810
108112008-02-01 Kenichi Handa <handa@m17n.org>
10812
10813 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10814 (shortlisp): Add ../lisp/language/tai-viet.el.
10815
108162008-02-01 Ulrich Mueller <ulm@gentoo.org>
10817
10818 * Makefile.in (${lispsource}international/charprop.el): Depend on
10819 temacs${EXEEXT}.
10820
108212008-02-01 Jason Rumney <jasonr@gnu.org>
10822
10823 * w32font.c (w32font_close): Delete the GDI font object.
10824
10825 * w32menu.c: Include character.h.
10826
10827 * w32proc.c: Likewise.
10828
10829 * w32select.c: Likewise.
10830
10831 * makefile.w32-in (w32proc.o): Depend on character.h.
10832
108332008-02-01 Jason Rumney <jasonr@gnu.org>
10834
10835 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10836
10837 * w32menu.c (syms_of_w32menu): Likewise.
10838
10839 * w32proc.c (syms_of_ntproc): Likewise.
10840
10841 * w32select.c (syms_of_w32select): Likewise.
10842
10843 * w32term.c (syms_of_w32term): Likewise.
10844
108452008-02-01 Jason Rumney <jasonr@gnu.org>
10846
10847 * w32font.c (w32font_draw): Delete brush after using it.
10848
108492008-02-01 Jason Rumney <jasonr@gnu.org>
10850
10851 * w32font.c (w32font_open): Don't set font_idx.
10852 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
10853 to font settings.
10854 (w32font_draw): Fill background explicitly.
10855
108562008-02-01 Jason Rumney <jasonr@gnu.org>
10857
10858 * w32term.c (w32_initialize): Don't call w32font_initialize.
10859
10860 * w32font.c (w32font_info): Remove subranges.
10861 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
10862 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
10863 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
10864 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
10865 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
10866 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
10867 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
10868 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
10869 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
10870 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
10871 New symbols.
10872 (font_callback_data): New struct.
10873 (w32font_list, w32font_match): Use it.
10874 (w32font_open): Don't populate subranges.
10875 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
10876 (w32font_encode_char): Always return unicode code-point as-is.
10877 (w32font_text_extents): Supply a transformation matrix to
10878 GetGlyphOutline. Never look up by glyph index. Avoid looping
10879 twice. Use unicode version of GetTexExtentPoint32 instead of
10880 glyph index version.
10881 (set_fonts_frame): Remove.
10882 (w32_enumfont_pattern_entity): Add frame parameter, use it to
10883 set frame parameter. Use backward compatible fake foundries.
10884 Save generic family in extra slot under QCfamily. Make width slot
10885 constant. Save QCspacing value. Save list of scripts instead of
10886 binary subranges.
10887 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
10888 (add_font_entity_to_list): Use font_callback_data struct. Filter
10889 unwanted fonts.
10890 (add_one_font_entity_to_list): Use font_callback_data struct.
10891 (w32_registry): Default to iso10646_1.
10892 (fill_in_logfont): Use dpi from extra slot. Don't bother with
10893 string font registries. Don't fill in font name if it is a generic
10894 family name, fill family instead. Use spacing, family and script
10895 extra info to fill pitch, family and charset fields.
10896 (list_all_matching_fonts): Use font_callback_data struct.
10897 (unicode_range_for_char): Remove.
10898 (font_supported_scripts): New function.
10899 (w32font_initialize): Remove.
10900 (syms_of_w32font): Update which symbols are defined.
10901
109022008-02-01 Jason Rumney <jasonr@gnu.org>
10903
10904 * font.c (font_pixel_size): Reverse assq_no_quit args.
10905
10906 * w32term.h (FONT_WIDTH): Report max width, not average.
10907 (FONT_MAX_WIDTH): Remove.
10908 (FONT_AVG_WIDTH): New macro.
10909
10910 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
10911 redefinition of FONT_WIDTH.
10912
10913 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
10914 (w32_cache_char_metrics): Use FONT_WIDTH.
10915
10916 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
10917
109182008-02-01 Jason Rumney <jasonr@gnu.org>
10919
10920 * w32font.c (w32font_open): Make lfHeight negative.
10921
10922 * w32fns.c (x_default_font_parameter): Use new style font name.
10923 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
10924
109252008-02-01 Jason Rumney <jasonr@gnu.org>
10926
10927 * w32font.c (QCsubranges): New symbol.
10928 (w32font_open, w32font_has_char): Get subranges from subproperty
10929 of extra.
10930 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
10931 (syms_of_w32font): Define :subranges symbol.
10932
10933 * font.c (font_put_extra): Expose externally.
10934
10935 * font.h (font_put_extra): Move declaration from font.c.
10936
10937 * font.c (Ffont_get): Use font driver to determine otf capability.
10938 (adjust_anchor): Check if driver defines anchor_point before using.
10939
10940 * w32font.c (w32font_open): Handle size, height and pixel_size better.
10941 (w32font_draw): Use options.
10942 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
10943 Fix detection of truetype fonts.
10944 (registry_to_w32_charset): Handle charsets other than iso8859-1
10945 expressed as lisp symbols.
10946 (w32_registry): Express charset as lisp symbol.
10947 (fill_in_logfont): Reverse pixel and point height logic.
10948 Don't set width here. Set quality to default.
10949
10950 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
10951 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
10952
10953 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10954 Remove redundant loop and allocation.
10955
10956 * makefile.w32-in (font.o, w32font.o): New objects.
10957 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
10958 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
10959
10960 * xdisp.c (fill_composite_glyph_string): Make the first arg to
10961 STORE_XCHARB a valid l-value.
10962
10963 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
10964 calculations for non-Truetype fonts.
10965 (x_draw_glyph_string): Sync with xterm.c.
10966 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10967 Remove redundant code.
10968 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
10969
10970 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
10971 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
10972
10973 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
10974 (x_to_w32_charset, w32_to_x_charset): Expose externally.
10975
10976 * w32font.c: New file for w32 font backend.
10977
109782008-02-01 Kenichi Handa <handa@m17n.org>
10979
10980 * term.c: Don't include "buffer.h" twice.
10981
109822008-02-01 Kenichi Handa <handa@m17n.org>
10983
10984 * character.c (Funibyte_string): New function.
10985 (syms_of_character): Defsubr it.
10986
109872008-02-01 Jason Rumney <jasonr@gnu.org>
10988
10989 * w32term.c [USE_FONT_BACKEND]:
10990 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
10991 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
10992 (x_draw_glyph_string, x_draw_glyph_string_foreground)
10993 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
10994 (x_free_frame_resources): Sync with xterm.c.
10995
109962008-02-01 Andreas Schwab <schwab@suse.de>
10997
10998 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
10999 char-table size.
11000
110012008-02-01 Kenichi Handa <handa@m17n.org>
11002
11003 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
11004
110052008-02-01 Kenichi Handa <handa@m17n.org>
11006
11007 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
11008 font_otf_gpos, add font_drive_otf.
11009
11010 * fontset.c (fontset_find_font): Pay attention to font size
11011 specified for a font.
11012 (reorder_font_vector): Check contents of font_def.
11013
11014 * font.c (struct otf_list): Delete it.
11015 (otf_list): Make it a lisp variable.
11016 (otf_open): Use lispy otf_list.
11017 (generate_otf_features): Rename from parse_gsub_gpos_spec.
11018 (check_otf_features): New function.
11019 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
11020 New functions.
11021 (font_drive_otf): New function merging font_otf_gsub and
11022 font_otf_gpos.
11023 (font_open_for_lface): New arg spec. Change argument order.
11024 (font_load_for_face): Adjust for the change of font_open_for_lface.
11025 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
11026 Ffont_otf_gpos.
11027 (syms_of_font): Staticpro otf_list. Delete defsubr of
11028 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
11029
11030 * xfaces.c (set_font_frame_param): Adjust for the change of
11031 font_open_for_lface.
11032
11033 * font.h (font_open_for_lface): Adjust prototype.
11034 (struct font_driver): Delete members otf_gsub and otf_gpos, add
11035 member otf_drive.
11036 (font_otf_gsub, font_otf_gpos): Delete externs.
11037 (font_drive_otf): Extern it.
11038
110392008-02-01 Kenichi Handa <handa@m17n.org>
11040
11041 * font.c (font_at): If the window W is not on a window system,
11042 return Qnil.
11043
11044 * coding.c (produce_chars, encode_coding): Don't call
11045 insert_from_gap if no characters to produce.
11046
110472008-02-01 Kenichi Handa <handa@m17n.org>
11048
11049 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
11050 Fclear_face_cache.
11051
11052 * xfaces.c (face_for_font): Check also face->font==font->font.font.
11053
110542008-02-01 Miles Bader <miles@gnu.org>
11055
11056 * emacs.c (main): Change default value of `enable_font_backend' to 1.
11057 Parse "--disable-font-backend" option.
11058 (standard_args): Add "--disable-font-backend" option.
11059
110602008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 * fontset.c (fontset_find_font): New function.
11063 (fontset_font): Use fontset_find_font.
11064 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
11065 Register the specified font for all Latin characters.
11066 (new_fontset_from_font): Register the specified font for all Latin
11067 characters.
11068 (dump_fontset): For a realized fontset, include the base fontset
11069 name in the returned vector.
11070
110712008-02-01 Kenichi Handa <handa@m17n.org>
11072
11073 * character.h (CHAR_STRING): Cast C to unsigned on calling
11074 char_string.
11075
11076 * character.c (char_string): Type of arg C changed to unsigned.
11077 Signal an error if C is an invalid character code.
11078
11079 * editfns.c (general_insert_function, Fchar_to_string):
11080 Use CHARACTERP, not INTEGERP.
11081
110822008-02-01 Kenichi Handa <handa@m17n.org>
11083
11084 * character.h (MIN_MULTIBYTE_LEADING_CODE)
11085 (MAX_MULTIBYTE_LEADING_CODE): New macros.
11086
11087 * regex.c (analyse_first): Fix for multibyte characters in "case
11088 charset:" and "case categoryspec:".
11089
110902008-02-01 Andreas Schwab <schwab@suse.de>
11091
11092 * Makefile.in (LIBES): Move standard libraries to the end.
11093
110942008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
11097 nonzero, don't shrink the buffer nextb.
11098
11099 * buffer.h (struct buffer_text): New member inhibit_shrinking.
11100
11101 * coding.c (coding_alloc_by_making_gap): New arg offset.
11102 (alloc_destination): Call coding_alloc_by_making_gap with the arg
11103 offset.
11104 (decode_coding_iso_2022): Update coding->safe_charsets.
11105 (decode_coding_gap): Temporarily set
11106 current_buffer->text->inhibit_shrinking to 1.
11107
111082008-02-01 Kenichi Handa <handa@m17n.org>
11109
11110 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
11111 indexing into elements of s->cmp and s->char2b.
11112
111132008-02-01 Juanma Barranquero <lekktu@gmail.com>
11114
11115 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
11116
111172008-02-01 Kenichi Handa <handa@m17n.org>
11118
11119 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
11120 target_multibyte instead of multibyte.
11121 (re_match_2_internal): Call bcmp_translate with target_multibyte.
11122 (bcmp_translate): Change the argument name from multibyte to
11123 target_multibyte.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 These changes are to compile a regexp into a pattern that can be
11128 used both for multibyte and unibyte targets.
11129
11130 * Makefile.in (search.o): Depend on charset.h.
11131
11132 * character.c (multibyte_char_to_unibyte_safe): New function.
11133
11134 * search.c: Include "charset.h".
11135 (compile_pattern_1): Delete argument multibyte. Don't set
11136 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
11137 (compile_pattern): Don't compare cp->buf.target_multibyte.
11138 Compare cp->buf.charset_unibyte.
11139 (compile_pattern): Set cp->buf.target_multibyte.
11140
11141 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
11142
11143 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
11144
11145 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
11146 multibyte. Change callers.
11147 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
11148 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
11149 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
11150 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
11151 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
11152 (regex_compile): Make the compiled pattern usable both for
11153 multibyte and unibyte targets.
11154 (analyse_first): Make the fastmap usable both for multibyte and
11155 unibyte targets.
11156 (TRANSLATE_VIA_MULTIBYTE): Delete.
11157 (re_match_2_internal): Pay attention to the case that the
11158 multibyteness of bufp and target may be different.
11159
111602008-02-01 Kenichi Handa <handa@m17n.org>
11161
11162 * xdisp.c (x_produce_glyphs): When a font is not found, make the
11163 empty box occupy at least one column width.
11164
111652008-02-01 Miles Bader <miles@gnu.org>
11166
11167 * Makefile.in: Remove redundant HAVE_XFT clause.
11168
111692008-02-01 Kenichi Handa <handa@m17n.org>
11170
11171 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
11172
111732008-02-01 Kenichi Handa <handa@m17n.org>
11174
11175 * fontset.c (Finternal_char_font): Fix for the case of POSITION
11176 being nil.
11177
111782008-02-01 Kenichi Handa <handa@m17n.org>
11179
11180 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
11181
111822008-02-01 Kenichi Handa <handa@m17n.org>
11183
11184 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
11185
111862008-02-01 Kenichi Handa <handa@m17n.org>
11187
11188 * search.c (simple_search): Fix previous change.
11189
111902008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * xftfont.c (ftfont_font_format): Extern declaration.
11193
11194 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
11195
11196 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
11197 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
11198
11199 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
11200 (ftfont_font_format): Fix previous change.
11201
11202 * font.h (Ffont_xlfd_name): EXFUN it.
11203
11204 * font.c (font_parse_xlfd): Fix the array size of `f'.
11205 (register_font_driver): Use EQ to compare driver->type.
11206
11207 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
11208 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
11209 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
11210
112112008-02-01 Kenichi Handa <handa@m17n.org>
11212
11213 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
11214 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
11215
112162008-02-01 Kenichi Handa <handa@m17n.org>
11217
11218 * xfont.c (xfont_open): Set font->format.
11219
11220 * xftfont.c (xftfont_open): Set font->format.
11221
11222 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
11223 (ftfont_list): Include FC_FONTFORMAT in FcObject.
11224 (ftfont_open): Set font->format.
11225 (ftfont_font_format): New function.
11226
11227 * font.h (struct font): New member format.
11228
11229 * font.c (Qopentype): New variable.
11230 (syms_of_font): Defsym it.
11231 (Fquery_font): Change the format of the last element of the return
11232 value.
11233
112342008-02-01 Kenichi Handa <handa@m17n.org>
11235
11236 * xfns.c (xic_create_xfontset): Try the default fontset name as a
11237 last resort.
11238
112392008-02-01 Kenichi Handa <handa@m17n.org>
11240
11241 * coding.c (detect_coding_charset): Fix detection of multi-byte
11242 charset.
11243
112442008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
11245
11246 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
11247
112482008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * xdisp.c (get_next_display_element): Set it->face_id for the
11251 first component of a composition.
11252 (x_produce_glyphs): Check if the font is changed or not for composition.
11253
112542008-02-01 Kenichi Handa <handa@m17n.org>
11255
11256 * fontset.c (Qlatin): New variable.
11257 (syms_of_fontset): Define it as a lisp symbol.
11258 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
11259
112602008-02-01 Kenichi Handa <handa@m17n.org>
11261
11262 * font.c (font_unparse_fcname): Pay attention to the case that
11263 some of font property is a null string.
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * term.c: Include "composite.h".
11268 (encode_terminal_code): Output all components of composition.
11269 Check the size of encode_terminal_src.
11270 (produce_glyphs): For composition, call produce_composite_glyph.
11271 (append_composite_glyph, produce_composite_glyph): New functions.
11272
11273 * xdisp.c (x_produce_glyphs): In handling composition, if a font
11274 is not found, get font_info from the current ascii face.
11275
112762008-02-01 Kenichi Handa <handa@m17n.org>
11277
11278 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
11279 buffer-file-name to Qnil before calling insert_from_buffer.
11280
11281 * font.c (font_unparse_fcname): Pay attention to the case that
11282 foundry is a null string.
11283
112842008-02-01 Kenichi Handa <handa@m17n.org>
11285
11286 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
11287
11288 * font.c (Qunicode_sip): New variable.
11289 (syms_of_font): Declare it as a Lisp symbol.
11290
11291 * font.h (Qunicode_sip): Extern it.
11292
112932008-02-01 Kenichi Handa <handa@m17n.org>
11294
11295 * composite.c (get_composition_id): Pay attention to TAB component.
11296
11297 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
11298 TAB. Adjust for the change of s->char2b which always points to
11299 the first element of allocated memory.
11300
11301 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
11302
11303 * xdisp.c (handle_composition_prop): Set it->c to the first
11304 non-TAB component.
11305 (fill_composite_glyph_string): Change argument.
11306 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
11307 (x_produce_glyphs): Fix handling of left/right padding.
11308
113092008-02-01 Kenichi Handa <handa@m17n.org>
11310
11311 * coding.c (detect_coding_system): Fix for handling off
11312 inhibit_iso_escape_detection. Fix for the case that no coding
11313 system is defined for a specific coding category.
11314
113152008-02-01 Kenichi Handa <handa@m17n.org>
11316
11317 * font.c (font_matching_entity): Delete unused local var.
11318
11319 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
11320 opening a font.
11321
11322 * fileio.c (Finsert_file_contents): On recovering a file, assume
11323 Unix-like eol.
11324 (choose_write_coding_system): On auto-saving a file, force
11325 Unix-like eol.
11326
11327 * coding.c (setup_coding_system): Fix setting of
11328 coding->common_flags based on eol_type.
11329 (coding_inherit_eol_type): If PARENT is not nil, be sure to
11330 inherit from it.
11331
113322008-02-01 Kenichi Handa <handa@m17n.org>
11333
11334 * alloc.c (NSTATICS): Increas to 0x600.
11335
113362008-02-01 Kenichi Handa <handa@m17n.org>
11337
11338 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
11339 (ftfont_list): Don't check :name property.
11340 (ftfont_match): New function.
11341 (ftfont_pattern_entity): If the pattern doesn't contain
11342 FC_SPACING, don't assume FC_MONO.
11343
11344 * font.h (struct font_driver): New member `match'.
11345 (font_update_drivers): Adjust prototype.
11346
11347 * font.c (font_parse_fcname, font_parse_name): Don't change :name
11348 property of FONT.
11349 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
11350 them unconditionally.
11351 (font_matching_entity): New function.
11352 (font_open_by_name): Try font_matching_entity if exact match is
11353 not found.
11354 (font_update_drivers): Delete the arg FONT. Return a list of
11355 actually used backends. Don't free faces, font caches here.
11356 Don't store data in frame parameters. Don't call x_set_font.
11357 (Ffont_spec): Store :name property as is.
11358 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
11359 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
11360 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
11361 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
11362 Call font->driver->otf_gsub instead of font_otf_gsub.
11363
11364 * frame.c (x_set_font_backend): Do more works that were done in
11365 font_update_drivers before.
11366
11367 * xfont.c (xfont_match): New function.
11368 (xfont_driver): Set xfont_driver.match to xfont_match.
11369 (xfont_draw): Set font in GC if necessary.
11370
11371 * ftxfont.c (ftxfont_match): New function.
11372 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
11373
11374 * xftfont.c (xftfont_match): New function.
11375 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
11376
113772008-02-01 Kenichi Handa <handa@m17n.org>
11378
11379 * font.h (struct font): New member scalable.
11380 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
11381 (font_otf_gsub): Adjust prototype.
11382
11383 * font.c (font_otf_capability): Fix handling of the default langsys.
11384 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
11385 Check the contents of SPEC.
11386 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
11387 (check_gstring): New function.
11388 (REPLACEMENT_CHARACTER): New macro.
11389 (font_otf_gsub): New arg alternate_subst. Be sure to set all
11390 glyph codes of GSTRING.
11391 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
11392 (font_prepare_composition): Set cmp->glyph_len.
11393 (font_open_entity): Set font->scalable.
11394 (Ffont_get): Handle :otf property.
11395 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
11396 functions.
11397 (Fquery_font): Use font->font.full_name.
11398 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
11399 Sfont_otf_alternates.
11400
11401 * ftfont.c (ftfont_open): Set font->font.full_name and
11402 font->font.name properly. Fix calculation of font->font.height
11403 and font->min_width.
11404
11405 * ftxfont.c (ftxfont_create_gcs): New function.
11406 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
11407 (ftxfont_draw_backgrond): Fix filling region.
11408 (ftxfont_default_fid): New function.
11409 (ftxfont_open): Set xfont->fid to the return value of
11410 ftxfont_default_fid.
11411 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
11412 (ftxfont_done_face): Free only GCs that are created by
11413 ftxfont_create_gcs.
11414 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
11415
11416 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
11417 Clip to src->width, etc (not src->clip_XXX).
11418
11419 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
11420 FontBackend frame parameter.
11421
114222008-02-01 Kenichi Handa <handa@m17n.org>
11423
11424 * font.h (struct font_driver_list): New member `on'.
11425 (Fclear_font_cache): EXFUN it.
11426 (font_update_drivers): Extern it.
11427
11428 * font.c (font_unparse_fcname): Fix typo (swidth->width).
11429 (font_list_entities): Check driver_list->on.
11430 (register_font_driver): Initalize `on' member to 0.
11431 (font_update_drivers): New function.
11432 (Fclear_font_cache): Check driver_list->on.
11433
11434 * frame.h (Qfont_backend): Extern it.
11435 (x_set_font_backend): Extern it.
11436
11437 * frame.c (Qfont_backend): New variable.
11438 (frame_parms): New element for font-backend.
11439 (x_set_font_backend): New function.
11440
11441 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
11442 FontBackend frame parameter.
11443 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
11444 x_set_font_backend.
11445
11446 * xfont.c (xfont_list): Don't try listing by :name property if the
11447 name is not for XLFD.
11448
114492008-02-01 Kenichi Handa <handa@m17n.org>
11450
11451 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
11452 (LGLYPH_SET_TO): New macros.
11453 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
11454 element of G is vector or not.
11455 (font_at): Extern it.
11456
11457 * font.c: Include window.h.
11458 (font_lispy_object): New function.
11459 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
11460 end of valid glyph.
11461 (font_close_object): Fix getting (struct font *).
11462 (font_at): New function.
11463 (Ffont_get): If FONT is a font-object, get entity from it.
11464 (Ffont_make_gstring): Initialize elements of glyphs with nil.
11465 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
11466 range check.
11467 (Ffont_at): New function.
11468 (syms_of_font): Defsubr Sfont_at.
11469
11470 * xdisp.c (it_props): Move the entry for Qauto_composed to just
11471 before the entry for Qcomposition.
11472 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
11473 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
11474 the font in gstring.
11475 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
11476 LGLYPH_FORM (g) to detect the end of valid glyph.
11477 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
11478 we are composing with gstring.
11479
11480 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
11481 Check if adjustment is vector or not.
11482
11483 * Makefile.in (font.o): Make it depends on window.h.
11484
114852008-02-01 Kenichi Handa <handa@m17n.org>
11486
11487 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
11488 adjustment is vector or not.
11489
114902008-02-01 Miles Bader <miles@gnu.org>
11491
11492 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
11493
114942008-02-01 Kenichi Handa <handa@m17n.org>
11495
11496 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
11497 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
11498 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
11499
11500 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
11501 (DEVICE_DELTA): Fix typo.
11502 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
11503 LGLYPH format.
11504
11505 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11506 the change of LGLYPH format.
11507
115082008-02-01 Kenichi Handa <handa@m17n.org>
11509
11510 * ftfont.c (ftfont_list): Fix typo.
11511 (ftfont_build_basic_charsets): Don't include letters with diacritics.
11512
115132008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11514
11515 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
11516
11517 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
11518 xftface_info is non-NULL.
11519
115202008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11521
11522 * ftfont.c (ftfont_list): Move misplaced #endif.
11523
115242008-02-01 Kenichi Handa <handa@m17n.org>
11525
11526 * ftfont.c (ftfont_list): Pay attention to the case that
11527 FC_CAPABILITY is not defined.
11528
115292008-02-01 Kenichi Handa <handa@m17n.org>
11530
11531 * xftfont.c (xftfont_open): Set charset related members to -1.
11532
11533 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
11534 QCname.
11535 (ftfont_open): Set charset related members to -1.
11536
11537 * fontset.c (Votf_script_alist): New variable.
11538 (syms_of_fontset): Initialize it.
11539 (fontset_font): Delete unused variable.
11540
11541 * fontset.h (Votf_script_alist): Extern it.
11542
11543 * font.c (font_find_for_lface): Optimize code.
11544
11545 * font.h (font_close_object, font_merge_old_spec): Extern them.
11546
115472008-02-01 Kenichi Handa <handa@m17n.org>
11548
11549 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
11550 (syms_of_font): Initialize them.
11551 (font_pixel_size): Allow float value in dpi.
11552 (font_prop_validate_type): Delete.
11553 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
11554 Change caller.
11555 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
11556 (font_prop_validate_extra): Delete.
11557 (font_prop_validate_spacing): New function.
11558 (font_property_table): Add elements for all known properties.
11559 (get_font_prop_index): Rename from check_font_prop_name. New
11560 argument FROM. Change caller.
11561 (font_prop_validate): Validate all known properties.
11562 (font_put_extra): Delete argument force. Change caller.
11563 (font_expand_wildcards): Make it static. Fix the way of shrinking
11564 the possible range.
11565 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
11566 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
11567 Change caller.
11568 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
11569 (font_parse_fcname): Delete argument merge. Fix parsing of point
11570 size. Don't validate properties values here. Change caller.
11571 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
11572 (font_open_by_name): Delete unused variable.
11573 (Ffont_spec): Likewise. Validate property values.
11574 (Ffont_match_p): New function.
11575
11576 * font.h (QCscalable): Extern it.
11577 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
11578
11579 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
11580
11581 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
11582 (xfont_list_pattern): New function.
11583 (xfont_list): Use xfont_list_pattern.
11584
115852008-02-01 Kenichi Handa <handa@m17n.org>
11586
11587 * font.h (Flist_fonts): EXFUN it.
11588
115892008-02-01 Jason Rumney <jasonr@gnu.org>
11590
11591 * w32term.c (w32_initialize): Add back smoothing_type and
11592 smoothing_enabled definitions.
11593
115942008-02-01 Kenichi Handa <handa@m17n.org>
11595
11596 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
11597 s->face->font on determining underline position.
11598
115992008-02-01 Kenichi Handa <handa@m17n.org>
11600
11601 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
11602 (font_has_char): Accept font-object too.
11603 (font_find_for_lface): Try at first with a size specified in face.
11604
116052008-02-01 Kenichi Handa <handa@m17n.org>
11606
11607 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
11608 font_open_by_name.
11609
116102008-02-01 Kenichi Handa <handa@m17n.org>
11611
11612 * font.h (QCspacing, QCdpi): Extern them.
11613 (enum font_spacing): New enum.
11614 (FONT_PIXEL_SIZE_QUANTUM): New macro.
11615
11616 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
11617 (QCspacing, QCdpi): New variables.
11618 (syms_of_font): Initialize them.
11619 (font_pixel_size): New function.
11620 (font_put_extra): New function.
11621 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
11622 in FONT_EXTRA.
11623 (font_parse_fcname): Handle enumerated values (e.g. bold).
11624 Fix handling font size. Add QCname property that contains only
11625 unknown properties.
11626 (font_score): Change argument. Change caller. Pay attention to
11627 FONT_PIXEL_SIZE_QUANTUM.
11628 (font_sort_entites, font_list_entities, font_find_for_lface)
11629 (font_open_for_lface, font_open_by_name): Fix handling of font size.
11630 (Ffont_spec): Add QCname property that contains only unknown properties.
11631
11632 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
11633 include weight in listing pattern, instead check weight of each
11634 listed font. Don't include scalable in pattern. Pay attention to
11635 FONT_PIXEL_SIZE_QUANTUM.
11636
116372008-02-01 Kenichi Handa <handa@m17n.org>
11638
11639 * font.c (font_parse_fcname): Fix parsing of point-size.
11640 (font_unparse_fcname): Produce symbolic names for style properties.
11641 (font_list_entities): Handle float size correctly.
11642 (font_open_by_name): Prefer `normal' property values if the name
11643 doesn't specify them.
11644
11645 * fontset.c (Finternal_char_font): Use font_get_name, not
11646 Ffont_xlfd_name.
11647
11648 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
11649 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
11650 pattern. Don't force scalable.
11651
11652 * xftfont.c (xftfont_open): For generating a name, start from
11653 96-byte buffer.
11654
116552008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11656
11657 * frame.h (x_new_fontset2): Fix prototype.
11658
116592008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 * font.h (struct font_driver): Delete member parse_name.
11662 (font_match_p, font_get_spec, font_parse_fcname)
11663 (font_unparse_fcname): Extern them.
11664 (font_get_name): Adjust prototype.
11665
11666 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
11667 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
11668 (font_expand_wildcards): Fix handling ENCODING field. Avoid
11669 unnecessary checks for weight, slant, and swidth.
11670 (font_parse_fcname): New function.
11671 (font_unparse_fcname): New function.
11672 (font_parse_name): New function.
11673 (font_match_p): New function.
11674 (font_get_name): Change return value to Lisp string.
11675 (font_get_spec): New function.
11676 (Qunspecified, Qignore_defface): Don't extern them.
11677 (font_find_for_lface): Assume that LFACE is fully specified.
11678 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
11679 object, use it for FACE.
11680 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
11681 driver->parse_name.
11682 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
11683
11684 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
11685 prototype.
11686
11687 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
11688 argument F. Don't call Fnew_fontset. Instead, directly call
11689 make_fontset.
11690
11691 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
11692
11693 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
11694 of x_new_fontset2.
11695
11696 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
11697 (Qsans__serif): New variables.
11698 (ftfont_generic_family_list): New variable.
11699 (syms_of_ftfont): Initialize the above variables.
11700 (ftfont_pattern_entity): Delete argument NAME.
11701 (ftfont_list_generic_family): New function.
11702 (ftfont_parse_name): Delete this function.
11703 (ftfont_list): Try generic family only when FcFontList found no font.
11704 (ftfont_list_family): Fix args to FcObjectSetBuild.
11705
11706 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
11707 object in attrs[LFACE_FONT_INDEX].
11708 (set_lface_from_font_name): Cancel all changes for font-backend.
11709 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
11710 function.
11711 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
11712 font object in QCfont attribute.
11713 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
11714 (realize_default_face) [USE_FONT_BACKEND]: Call
11715 set_lface_from_font_and_fontset.
11716
11717 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
11718 "fixed", and signal error here if no suitable font was found.
11719
11720 * xfont.c (xfont_parse_name): Delete this function.
11721
11722 * xftfont.c (xftfont_open): Change coding style of error
11723 handling. Generate fontconfig's fontname pattern.
11724
11725 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
11726 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
11727
11728 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
11729 Both args FONTSET and FONT_OBJECT must be existing ones.
11730
117312008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11732
11733 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
11734
117352008-02-01 Kenichi Handa <handa@m17n.org>
11736
11737 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11738
11739 * font.h (struct font): Fix typo.
11740
11741 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11742 XLFD_XXX_INDEX.
11743 (enum xlfd_field_mask): New enum.
11744 (intern_font_field): Changed argument. Change caller. If digits
11745 are followed by non-digits, return a symbol.
11746 (font_expand_wildcards): New function.
11747 (font_parse_xlfd): Fix wildcard handling.
11748 (Ffont_spec): If :name is specified, reflect the info in the other
11749 properties.
11750
11751 * ftfont.c (ftfont_pattern_entity): Fix typo.
11752 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11753 locale.
11754
117552008-02-01 Kenichi Handa <handa@m17n.org>
11756
11757 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11758
11759 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11760 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11761 registry doesn't specify encoding part.
11762 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11763 (font_open_by_name): At first try parsing the name.
11764 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11765 as Lisp symbols.
11766
11767 * fontset.c (reorder_font_vector): Pay attention to the case that
11768 the 3rd element of font_def is nil.
11769 (fontset_font): For the default fontset, append one more fontset
11770 elements for a script-based font specification. Don't add script
11771 attribute on finding a font.
11772 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11773 font name.
11774 (fontset_ascii_font): If a font can't be opened, return nil.
11775
11776 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11777 (ftfont_pattern_entity): New function.
11778 (ftfont_get_cache): Assume that freetype_font_cache is already
11779 initialized.
11780 (ftfont_list): Handle the case that a file is specified in font
11781 name. Use ftfont_pattern_entity to generate entities.
11782 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11783 (syms_of_ftfont): Initialize freetype_font_cache.
11784
11785 * xftfont.c (xftfont_open): Make the font name fontconfig's
11786 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11787 (xftfont_close): Free font->font.name if not NULL.
11788
11789 * xfont.c (xfont_list): If script is specified for a font, return
11790 null_vector.
11791 (xfont_list_family): Declare argument type.
11792
11793 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11794 name, set LFACE_FONT (lface) to nil.
11795
11796 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11797 return Qnil.
11798
117992008-02-01 Kenichi Handa <handa@m17n.org>
11800
11801 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11802 (standard_args): Add "-enable-font-backend".
11803
118042008-02-01 Kenichi Handa <handa@m17n.org>
11805
11806 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11807 (struct xftdraw_list, xftdraw_list): Delete them.
11808 (register_xftdraw, check_xftdraw): Delete them.
11809 (xftfont_prepare_face): Don't call register_xftdraw.
11810 (xftfont_done_face): Don't call check_xftdraw.
11811 (xftfont_draw): Get background color only when with_background is
11812 nonzero.
11813
11814 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 These changes are for the new font handling codes.
11819
11820 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11821 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11822 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11823 (FONTSRC, FONTOBJ): New variables.
11824 (obj): Add $(FONTOBJ).
11825 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11826 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11827 @LIBOTF_LIBS@.
11828 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11829 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11830
11831 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11832
11833 * character.h (Vscript_representative_chars): Extern it.
11834
11835 * character.c (Vscript_representative_chars): New variable.
11836 (syms_of_character): Declare it as a Lisp variable.
11837
11838 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
11839 enable_font_backend is nonzero, accept the composition method
11840 COMPOSITION_WITH_GLYPH_STRING.
11841
11842 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
11843 enumeration COMPOSITION_WITH_GLYPH_STRING.
11844
11845 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
11846 members clip_x, clip_y, clip_width, and clip_height.
11847 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
11848
11849 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
11850 --enable-font-backend. Call syms_of_font.
11851
11852 * fns.c (assoc_no_quit): New function.
11853
11854 * fontset.h (FONT_INFO_FROM_FACE): New macro.
11855 (face_for_font, new_fontset_from_font)
11856 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
11857
11858 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
11859 (fontset_font, fontset_ascii, face_for_char)
11860 (make_fontset_for_ascii_face, Ffont_info)
11861 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
11862 is nonzero, use font-backend mechanism.
11863 (find_font_encoding): Make it non-static.
11864 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
11865 New functions.
11866
11867 * frame.h (struct frame): New members resx and resy.
11868 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
11869 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
11870
11871 * frame.c [USE_FONT_BACKEND]: Include "font.h".
11872 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
11873
11874 * lisp.h (assoc_no_quit): Extern it.
11875
11876 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
11877 Through out the file, use FONT_INFO_FROM_FACE instead of
11878 FONT_INFO_FROM_ID, use get_per_char_metric instead of
11879 rif->per_char_metric.
11880 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
11881 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
11882 (get_glyph_face_and_encoding, fill_composite_glyph_string)
11883 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11884 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
11885 nonzero, use font-backend mechanism.
11886 (get_per_char_metric): New function.
11887
11888 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
11889 (set_lface_from_font_name)
11890 (set_font_frame_param, free_realized_face)
11891 (prepare_face_for_display, clear_face_gcs)
11892 (Finternal_set_font_selection_order, realize_x_face)
11893 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
11894 font-backend mechanism.
11895 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
11896 (load_face_font) [USE_FONT_BACKEND]: Abort.
11897 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
11898 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
11899
11900 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
11901 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
11902 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
11903 nonzero, register all available font drivers. Call
11904 x_default_font_parameter for deciding a font.
11905 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
11906
11907 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
11908 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
11909 (x_set_glyph_string_clipping_exactly)
11910 (x_compute_glyph_string_overhangs)
11911 (x_draw_glyph_string_foreground)
11912 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
11913 (x_free_frame_resources) [USE_FONT_BACKEND]: If
11914 enable_font_backend is nonzero, use font-backend mechanism.
11915 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
11916
119172008-02-01 Kenichi Handa <handa@m17n.org>
11918
11919 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
11920 system_eol_type.
11921 (syms_of_coding): Initialize system_eol_type.
11922
11923 * process.c (Fset_process_coding_system): Inherit system's eol
11924 format if necessary.
11925
119262008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11927
11928 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
11929
119302008-02-01 Kenichi Handa <handa@m17n.org>
11931
11932 * coding.c (decode_eol): Pay attention to buffer relocation in
11933 del_range_2.
11934 (decode_coding): Call decode_eol before restoring undo_list.
11935
119362008-02-01 Kenichi Handa <handa@m17n.org>
11937
11938 * charset.c (Fdefine_charset_internal): Fix setting of
11939 emacs_mule_bytes.
11940
119412008-02-01 Kenichi Handa <handa@m17n.org>
11942
11943 * keyboard.c (read_char): Check if C is a character or not before
11944 looking up Vkeyboard_translate_table.
11945
119462008-02-01 Kenichi Handa <handa@m17n.org>
11947
11948 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
11949 condition to terminate the loop.
11950
119512008-02-01 Kenichi Handa <handa@m17n.org>
11952
11953 * coding.c (produce_composition): Compare charbuf[i] instead of
11954 args[i] against 0.
11955 (Fterminal_coding_system): Use EQ to compare Lisp objects.
11956
119572008-02-01 Kenichi Handa <handa@m17n.org>
11958
11959 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
11960 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
11961 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
11962 detect_coding.
11963 (emacs_mule_char): Handle old style (Emacs 20) component character
11964 of a composition.
11965 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
11966 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
11967 composition rule.
11968 (decode_coding_emacs_mule): Handle invalid bytes correctly.
11969
119702008-02-01 Kenichi Handa <handa@m17n.org>
11971
11972 * coding.c (encode_coding_ccl): Allocate destination dynamically
11973 when necessary.
11974
119752008-02-01 Kenichi Handa <handa@m17n.org>
11976
11977 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
11978 the loop. When quitted, show a proper error message.
11979
119802008-02-01 Kenichi Handa <handa@m17n.org>
11981
11982 * xterm.c (x_set_glyph_string_clipping_exactly): Set
11983 src->clip_head and src->clip_tail temporarily instead of src->hl.
11984
11985 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
11986 character sequence.
11987 (Fccl_execute_on_string): Use ASET, not XSET.
11988
119892008-02-01 Kenichi Handa <handa@m17n.org>
11990
11991 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
11992
119932008-02-01 Kenichi Handa <handa@m17n.org>
11994
11995 * coding.c (decode_coding): Fix the condition of terminating the
11996 decoding loop.
11997
119982008-02-01 Kenichi Handa <handa@m17n.org>
11999
12000 * data.c (Faset): On setting a character bigger than 255 in a
12001 unibyte string, signal an error instead of make the string multibyte.
12002
120032008-02-01 Kenichi Handa <handa@m17n.org>
12004
12005 * charset.c (map_charset_chars): Fix for ascii-compatible charset
12006 made by a mapping table.
12007
120082008-02-01 Kenichi Handa <handa@m17n.org>
12009
12010 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
12011 not.
12012 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
12013 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
12014
12015 * xterm.c (x_draw_composite_glyph_string_foreground): Check
12016 s->face is NULL or not.
12017
120182008-02-01 Kenichi Handa <handa@m17n.org>
12019
12020 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
12021 (x_draw_glyph_string): Fix drawing of right_overhang and
12022 left_overhang around/on cursor.
12023
12024 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
12025
120262008-02-01 Kenichi Handa <handa@m17n.org>
12027
12028 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
12029
120302008-02-01 Kenichi Handa <handa@m17n.org>
12031
12032 * coding.c (Fdefine_coding_system_internal)
12033 (Fdefine_coding_system_alias): Avoid a duplicated element in
12034 Vcoding_system_alist.
12035
120362008-02-01 Kenichi Handa <handa@m17n.org>
12037
12038 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
12039
12040 * coding.c (Qcoding_system_define_form): New variable.
12041 (syms_of_coding): Intern and staticpro it.
12042 (Fcoding_system_p): Check Qcoding_system_define_form.
12043 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
12044
12045 * coding.h (CODING_SYSTEM_P): If ID is not available, call
12046 Fcoding_system_p.
12047 (CHECK_CODING_SYSTEM): If ID is not available, call
12048 Fcheck_coding_system.
12049 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
12050 Try also Fcheck_coding_system.
12051
120522008-02-01 Kenichi Handa <handa@m17n.org>
12053
12054 * coding.c (code_conversion_restore): GCPRO arg.
12055
120562008-02-01 Kenichi Handa <handa@m17n.org>
12057
12058 * character.c (lisp_string_width): Check multibyteness of STRING.
12059
120602008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12061
12062 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
12063 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
12064 (decode_mac_font_name): Use decode_coding_c_string instead of
12065 decode_coding.
12066 (x_load_font): Initialize fontp->fontset to -1. Set
12067 fontp->encoding_type.
12068
120692008-02-01 Kenichi Handa <handa@m17n.org>
12070
12071 * search.c (search_buffer): Give up BM search on case-fold-search
12072 if one of a target character has a case-equivalence of different
12073 byte length even if that target charcter is an ASCII.
12074 (simple_search): Fix calculation of byte length of matched text.
12075 (boyer_moore): Fix handling of case-equivalent multibyte characters.
12076
120772008-02-01 Kenichi Handa <handa@m17n.org>
12078
12079 * coding.c (decode_coding): Fix handling of invalid bytes.
12080
120812008-02-01 Kenichi Handa <handa@m17n.org>
12082
12083 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
12084 Unicode characters.
12085
120862008-02-01 Kenichi Handa <handa@m17n.org>
12087
12088 * coding.c (encode_coding_object): If a pre-write-conversion
12089 function makes a new buffer, kill it.
12090
120912008-02-01 Kenichi Handa <handa@m17n.org>
12092
12093 * coding.c (QCascii_compatible_p): New variable.
12094 (syms_of_coding): Initialize it.
12095 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
12096 calling string_char.
12097 (record_conversion_result): Add `default:' case.
12098 (coding_charset_list): Delete unused variable `coding_type'.
12099 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
12100 property in the plist of the coding system.
12101 (Fcoding_system_put): Check QCascii_compatible_p.
12102
121032008-02-01 Miles Bader <miles@gnu.org>
12104
12105 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
12106 removed calculation of frame `f', as it's now used.
12107
121082008-02-01 Kenichi Handa <handa@m17n.org>
12109
12110 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
12111 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
12112 (UNIDATA): New variable.
12113 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
12114 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
12115 $(RUN_TEMACS) unconditionally.
12116
121172008-02-01 Kenichi Handa <handa@m17n.org>
12118
12119 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
12120 (admindir): New variable.
12121 ($(lispsource)international/charprop.el): New target.
12122
121232008-02-01 Miles Bader <miles@gnu.org>
12124
12125 * character.c (chars-in-region): Remove obsolete function.
12126 (syms_of_character): Remove its initialization.
12127
121282008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
12129
12130 * w32select.c (validate_coding_system)
12131 (setup_windows_coding_system): New functions.
12132 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
12133 setup_windows_coding_system.
12134 (setup_config, Fw32_get_clipboard_data): Use
12135 validate_coding_system.
12136 (Fx_selection_exists): Move call to setup_config to a place
12137 where signals are allowed.
12138
12139 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
12140 (Fcheck_coding_system): Add declarations.
12141
121422008-02-01 Kenichi Handa <handa@m17n.org>
12143
12144 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
12145
121462008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12147
12148 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
12149 string as the second argument for x_new_fontset.
12150
121512008-02-01 Kenichi Handa <handa@m17n.org>
12152
12153 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
12154 (encode_coding_object): Use safe_call instead of call2.
12155
121562008-02-01 Kenichi Handa <handa@m17n.org>
12157
12158 * fontset.c (Fset_fontset_font): Check family element of a given vector.
12159
12160 * Makefile.in (lisp): Include charprop.el.
12161
121622008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12163
12164 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
12165 Not sure if it's unnecessary.
12166
121672008-02-01 Steven Tamm <steventamm@mac.com>
12168
12169 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
12170 some possibly unnecessary fontset checking code that crashed
12171 when creating a new frame.
12172
121732008-02-01 Kenichi Handa <handa@m17n.org>
12174
12175 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
12176 lookup_face.
12177
12178 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
12179
12180 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
12181
121822008-02-01 Kenichi Handa <handa@m17n.org>
12183
12184 * coding.c: Cancel the change done in HEAD on 2008-02-01.
12185 (coding_charset_list): New function.
12186
12187 * coding.h (coding_charset_list): Extern it.
12188
121892008-02-01 Kenichi Handa <handa@m17n.org>
12190
12191 * fontset.c (Fset_fontset_font): Call find_font_encoding with
12192 concatenation of family and registry.
12193
121942008-02-01 Kenichi Handa <handa@m17n.org>
12195
12196 * character.h (BYTE8_STRING): Fix typo.
12197
12198 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
12199 string to multibyte (sync to HEAD).
12200
12201 * casefiddle.c (casify_region): Handle changes in byte-length
12202 using replace_range_2 (sync to HEAD).
12203
122042008-02-01 Andreas Schwab <schwab@suse.de>
12205
12206 * chartab.c (map_char_table): GCPRO table and arg.
12207
122082008-02-01 Kenichi Handa <handa@m17n.org>
12209
12210 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
12211 already at limit.
12212
122132008-02-01 Kenichi Handa <handa@m17n.org>
12214
12215 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
12216 instead of fast_c_string_match_ignore_case.
12217 (find_font_encoding): Change argument to Lisp_Object. Use
12218 fast_string_match_ignore_case instead of
12219 fast_c_string_match_ignore_case. Change caller.
12220
122212008-02-01 Kenichi Handa <handa@m17n.org>
12222
12223 * xdisp.c (get_next_display_element): In unibyte case, decide to
12224 display in octal form by checking a character by
12225 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
12226
12227 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
12228
12229 * character.c (unibyte_has_multibyte_table): New variable.
12230
12231 * character.h (unibyte_has_multibyte_table): Extern it.
12232 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
12233
122342008-02-01 Kenichi Handa <handa@m17n.org>
12235
12236 * coding.c (encode_coding_iso_2022): Fix handling of charset
12237 annotation.
12238
122392008-02-01 Kenichi Handa <handa@m17n.org>
12240
12241 * coding.c (setup_coding_system): If coding_system is nil, use
12242 Qundecided.
12243 (Fterminal_coding_system): Return nil if terminal coding system is
12244 `undecided'.
12245 (syms_of_coding): Define coding-system `undecided' here. Setup
12246 terminal_coding as `undecided'.
12247
122482008-02-01 Kenichi Handa <handa@m17n.org>
12249
12250 * xdisp.c (message_dolog, set_message_1): Call
12251 unibyte_char_to_multibyte with arg type int.
12252
12253 * lread.c (read1): Fix reading of a char-table.
12254
12255 * print.c (print_object): Include sub char-table in circularities
12256 detection.
12257
122582008-02-01 Kenichi Handa <handa@m17n.org>
12259
12260 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
12261 Append the found sequences in car of ARGS instead of prepending.
12262
122632008-02-01 Kenichi Handa <handa@m17n.org>
12264
12265 * fileio.c (report_file_error): Make a unibyte string from
12266 strerror (errorno).
12267 (Fsubstitute_in_file_name): Fix the arg to
12268 unibyte_char_to_multibyte. It is evaluated twice.
12269
122702008-02-01 Kenichi Handa <handa@m17n.org>
12271
12272 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
12273
122742008-02-01 Kenichi Handa <handa@m17n.org>
12275
12276 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
12277 BOM is not found.
12278 (detect_coding, detect_coding_system): Optimization for ISO-2022
12279 when no 8-bit data is found.
12280
122812008-02-01 Jason Rumney <jasonr@gnu.org>
12282
12283 * w32fns.c (x_to_w32_font): Update to use new coding struct.
12284
122852008-02-01 Kenichi Handa <handa@m17n.org>
12286
12287 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
12288 CHARS.
12289
122902008-02-01 Steven Tamm <steventamm@mac.com>
12291
12292 * macterm.c (mac_encode_char): Add charset argument and update
12293 to use encoding_type.
12294 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
12295 switch to pure fontset.
12296 (decode_mac_font_name): Temporarily remove decoding.
12297 (x_font_name_to_mac_font_name): Temporarily remove encoding.
12298 (x_load_font): Temporarily remove encoding.
12299
123002008-02-01 Kenichi Handa <handa@m17n.org>
12301
12302 * xfaces.c (Fface_font): If frame is not on a window system,
12303 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
12304 refer to face->font.
12305 (split_font_name_into_vector, build_font_name_from_vector)
12306 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
12307 when HAVE_WINDOW_SYSTEM is defined.
12308
123092008-02-01 Kenichi Handa <handa@m17n.org>
12310
12311 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
12312 (x_produce_glyphs): Fix setting of members of cmp in case
12313 cmp->glyph_len is zero.
12314
12315 * fontset.c (Fset_fontset_font): Fix docstring.
12316 (Ffontset_info): Make it backward compatible. New arg ALL.
12317
123182008-02-01 Kim F. Storm <storm@cua.dk>
12319
12320 * process.c (read_process_output): Grow decoding_buf when needed;
12321 this could cause a crash in allocate_string and compact_small_strings.
12322
123232008-02-01 Kenichi Handa <handa@m17n.org>
12324
12325 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
12326
123272008-02-01 Kenichi Handa <handa@m17n.org>
12328
12329 * coding.c (setup_coding_system): Set coding->common_flags
12330 correctly for raw-text.
12331 (consume_chars): On encoding unibyte text by raw-text, don't check
12332 multibyte form.
12333 (encode_coding): On encoding by raw-text, never use translation tables.
12334
12335 * fileio.c (e_write): Short cut for the case of no encoding.
12336
123372008-02-01 Kenichi Handa <handa@m17n.org>
12338
12339 * coding.c (detect_coding, detect_coding_system): Delete unused
12340 variables.
12341
123422008-02-01 Kenichi Handa <handa@m17n.org>
12343
12344 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
12345 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
12346
123472008-02-01 Kenichi Handa <handa@m17n.org>
12348
12349 * coding.c (Ffind_coding_systems_region_internal): Include
12350 raw-text and no-conversion in the result.
12351
123522008-02-01 Kenichi Handa <handa@m17n.org>
12353
12354 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
12355 (load_font_get_repertory): Delete unnecessary check of ENCODING of
12356 FONT_DEF.
12357 (font_def_arg, add_arg, from_arg, to_arg): New args.
12358 (set_fontset_font): Change argument.
12359 (Fset_fontset_font): Fix for the case that TARGET is a script
12360 name and charset name.
12361 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
12362
123632008-02-01 Kenichi Handa <handa@m17n.org>
12364
12365 * fontset.c (fontset_font): Rename from fontset_face. Change return
12366 value.
12367 (face_suitable_for_char_p, face_for_char): Adjust for the change
12368 of fontset_font.
12369 (make_fontset_for_ascii_face): Fix setting of the fontset element
12370 for ASCII.
12371 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
12372 to get a font name.
12373 (Ffontset_info): Adjust for the change of fontset_font.
12374
12375 * coding.c (emacs_mule_char): Check invalid code more rigidly.
12376
12377 * character.h (LEADING_CODE_LATIN_1_MIN)
12378 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
12379
123802008-02-01 Kenichi Handa <handa@m17n.org>
12381
12382 * editfns.c (check_translation): New function.
12383 (Ftranslate_region_internal): Handle M:N mapping.
12384
123852008-02-01 Kenichi Handa <handa@m17n.org>
12386
12387 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
12388
123892008-02-01 Kenichi Handa <handa@m17n.org>
12390
12391 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
12392 goto invalid_code.
12393 (decode_coding_iso_2022): Fix handling of invalid designation.
12394
12395 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
12396 after calling code_conversion_save.
12397
123982008-02-01 Kenichi Handa <handa@m17n.org>
12399
12400 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
12401
12402 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
12403
12404 * fontset.c: Include "intervals.h".
12405 (fontset_face): Fix comparing of Lisp_Objects.
12406 (free_face_fontset, new_fontset_from_font_name): Fix
12407 Lisp_Object/int mixup.
12408
12409 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
12410
12411 * coding.c: Add many prototypes for static functions.
12412 (get_translation_table): Allow max_lookup to be NULL.
12413 (decode_coding, Ffind_coding_systems_region_internal)
12414 (Funencodable_char_position, Fcheck_coding_systems_region): Call
12415 get_translation_table with max_lookup NULL.
12416
124172008-02-01 Kenichi Handa <handa@m17n.org>
12418
12419 * coding.c (get_translation_table): Declare it as Lisp_Object.
12420 (LOOKUP_TRANSLATION_TABLE): New macro.
12421 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
12422 instead of CHAR_TABLE_REF.
12423
124242008-02-01 Kenichi Handa <handa@m17n.org>
12425
12426 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
12427 annotation data format.
12428 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
12429 Change arguments FROM and TO to single argument NCHARS. Change caller.
12430 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
12431 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12432 (decode_coding_ccl, decode_coding_charset): Pay attention to
12433 coding->charbuf_used.
12434 (get_translation): New function.
12435 (produce_chars): New arguments translation_table and last_block.
12436 Translate characters here. Return number of carryover chars.
12437 Change caller.
12438 (produce_composition): New argument pos. Change caller.
12439 Adjust for the change of annotation data format.
12440 (produce_charset, produce_annotation): Likewise.
12441 (decode_coding, encode_coding): Don't call translate_chars.
12442 (consume_chars): New arg translation_table. Change caller.
12443 (translate_chars): Delete.
12444 (syms_of_coding): Make translation-table's number of extra slots 2.
12445
124462008-02-01 Kenichi Handa <handa@m17n.org>
12447
12448 * search.c (simple_search): Fix setting this_pos_byte in backward
12449 search.
12450
12451 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
12452 byte sequence.
12453 (detect_coding_ccl): Fix setting of the variable valids.
12454
124552008-02-01 Kenichi Handa <handa@m17n.org>
12456
12457 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
12458
12459 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
12460
12461 * editfns.c (Ftranslate_region_internal): Rename from
12462 Ftranslate_region. Accept a char-table in TABLE.
12463 (syms_of_editfns): Defsubr Stranslate_region_internal.
12464
12465 * xfaces.c (set_lface_from_font_name): If a font is specified for
12466 a frame, generate a fontset from the font.
12467 (build_scalable_font_name): If the scalable font is requested for
12468 a specific size, don't change that size.
12469 (try_font_list): Try a scalable font also in the case that a
12470 pattern string is specified.
12471
124722008-02-01 Kenichi Handa <handa@m17n.org>
12473
12474 * xfaces.c (Fface_font): New optional arg CHARACTER.
12475
124762008-02-01 Kenichi Handa <handa@m17n.org>
12477
12478 * charset.h (CHARSET_OFFSET): New macro.
12479
124802008-02-01 Kenichi Handa <handa@m17n.org>
12481
12482 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
12483
12484 * fontset.c (fontset_face): Handle the case that repertory is a
12485 char-table.
12486 (find_font_encoding): Return nil for unknown encoding.
12487 (Fset_fontset_font): Ignore a font of unknown encoding.
12488
124892008-02-01 Kenichi Handa <handa@m17n.org>
12490
12491 * keymap.c (describe_vector): Handle default value of a char table.
12492
12493 * fontset.c (fontset_face): Handle fallback fonts correctly.
12494 (Ffontset_info): Return infomation about fallback fonts.
12495
124962008-02-01 Kenichi Handa <handa@m17n.org>
12497
12498 * fontset.c (FONTSET_DEFAULT): New macro.
12499 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
12500 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
12501 the case that it is nil.
12502 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
12503 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
12504
12505 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
12506 subset or superset.
12507
125082008-02-01 Kenichi Handa <handa@m17n.org>
12509
12510 * emacs.c (main): Call init_charset after syms_of_XXX.
12511
12512 * charset.c (Vcharset_map_directory): Delete.
12513 (Vcharset_map_path): New variable.
12514 (load_charset_map_from_file): Use Vcharset_map_path instead.
12515 (init_charset): Initialize Vcharset_map_path.
12516 (syms_of_charset): Delete declaration of "charset-map-directory",
12517 add declaration of "charset-map-path".
12518
125192008-02-01 Kenichi Handa <handa@m17n.org>
12520
12521 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
12522 ASCII only string.
12523
12524 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
12525
12526 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
12527 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
12528
125292008-02-01 Kenichi Handa <handa@m17n.org>
12530
12531 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
12532
12533 * coding.c (QCmnemonic, QCdefalut_char)
12534 (QCdecode_translation_table, QCencode_translation_table)
12535 (QCpost_read_conversion, QCpre_write_conversion): New variables.
12536 (get_translation_table): Return a list of translation tables if
12537 necessary.
12538 (decode_coding): Call get_translation_table with ENCODEP 0.
12539 (char_encodable_p): If translation_table is non-nil, always call
12540 translate_char.
12541 (Fdefine_coding_system_internal): Accept list of translation
12542 tables as :encode-translation-table and :decode-translation-table.
12543 (Fcoding_system_put): New function.
12544 (syms_of_coding): Declare new symbols. Defsubr
12545 Scoding_system_put.
12546 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
12547 typically JISX0212.
12548
12549 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
12550 when the charset is superset type.
12551
12552 * character.c (translate_char): Accept list of translation tables.
12553
125542008-02-01 Kenichi Handa <handa@m17n.org>
12555
12556 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
12557 (CODING_ATTR_TRANS_TBL): New macro.
12558
12559 * coding.c (get_translation_table): New function.
12560 (translate_chars): Fix the bug of skipping annotation data.
12561 (decode_coding, encode_coding): Utilize get_translation_table.
12562 (char_encodable_p, Funencodable_char_position): Translate char if
12563 necessary.
12564 (Ffind_coding_systems_region_internal)
12565 (Fcheck_coding_systems_region): Setup translation table for encode
12566 in a coding system attribute vector in advance.
12567 (Fdefine_coding_system_internal): Allow a symbol as translation
12568 table. For shift-jis type coding system, allow 4th charset.
12569
125702008-02-01 Kenichi Handa <handa@m17n.org>
12571
12572 * coding.c (decode_coding_sjis): Check the first byte rigidly.
12573
12574 * xdisp.c (get_next_display_element): Pass -1 as POS to
12575 FACE_FOR_CHAR if displaying a C-string.
12576
125772008-02-01 Kenichi Handa <handa@m17n.org>
12578
12579 * composite.c (get_composition_id): Handle xoff and yoff in a
12580 composition rule.
12581
12582 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
12583 (struct composition): New member lbearing and rbearing.
12584
12585 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
12586 (x_get_glyph_overhangs): Handle a composition glyph.
12587 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
12588
12589 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
12590 composition glyph.
12591
125922008-02-01 Kenichi Handa <handa@m17n.org>
12593
12594 * print.c: Include charset.h.
12595 (Vprint_charset_text_property): New variable.
12596 (Qdefault): Extern it.
12597 (PRINT_STRING_NON_CHARSET_FOUND)
12598 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
12599 (print_check_string_result): New variable.
12600 (print_check_string_charset_prop): New function.
12601 (print_prune_charset_plist): New variable.
12602 (print_prune_string_charset): New function.
12603 (print_object): Call print_prune_string_charset if
12604 Vprint_charset_text_property is not t.
12605 (print_interval): Print nothing if interval->plist is nil.
12606 (syms_of_print): Declare Vprint_charset_text_property as a lisp
12607 variable. Init and staticpro print_prune_charset_plist.
12608
126092008-02-01 Kenichi Handa <handa@m17n.org>
12610
12611 * fontset.c (new_fontset_from_font_name): Use the specified font
12612 for all characters in the new fontset.
12613
12614 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12615 OBJECT args.
12616
12617 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
12618 OBJECT args for composition too.
12619
12620 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12621 OBJECT args.
12622
126232008-02-01 Kenichi Handa <handa@m17n.org>
12624
12625 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
12626
12627 * fontset.c (reorder_font_vector): Adjust for the change of
12628 FONT_DEF format.
12629 (fontset_face): New arg id. Change caller.
12630 (face_for_char): New args pos and object.
12631 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
12632 (fs_query_fontset): Check NAME by Fassoc too.
12633 (Fset_fontset_font): Allow non-XLFD font name.
12634 (Ffontset_info): Adjust for the change of FONT_DEF format.
12635
12636 * fontset.h (face_for_char): Adjust prototype.
12637
12638 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
12639 (append_space, extend_face_to_end_of_line)
12640 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12641 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
12642
12643 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
12644 POS and OBJECT args.
12645
12646 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
12647 POS and OBJECT args.
12648
126492008-02-01 Jason Rumney <jasonr@gnu.org>
12650
12651 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
12652 of GlobalAlloc'ed memory.
12653
126542008-02-01 Kenichi Handa <handa@m17n.org>
12655
12656 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
12657
12658 * charset.h (charset_table_used): Delete extern.
12659
12660 * charset.c (charset_table_used): Make it static.
12661 (map_charset_chars): Fix args to c_function with.
12662
12663 * chartab.c (map_sub_char_table_for_charset): Fix args to
12664 c_function with.
12665
12666 * coding.h (enum coding_result_code): Delete
12667 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
12668
12669 * coding.c (Qinsufficient_source, Qinconsistent_eol)
12670 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
12671 (Vlast_code_conversion_error): New variables.
12672 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
12673 (ONE_MORE_BYTE): Record error if any instead of signaling an
12674 error. If non-ASCII multibyte char is found, return the negative
12675 value of the code. All callers changed to check it.
12676 (ONE_MORE_BYTE_NO_CHECK): Likewise.
12677 (record_conversion_result): New function. Change all codes setting
12678 coding->result to call this function.
12679 (detect_coding_utf_8, decode_coding_utf_8)
12680 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
12681 Don't use the local variable incomplete.
12682 (emacs_mule_char): Change the second arg to `const'.
12683 (decode_coding): Fix of flushing out unprocessed data.
12684 (make_conversion_work_buffer): Fix making of a work buffer.
12685 (decode_coding_object): Return coding->dst_object.
12686
12687 * fontset.c (set_fontset_font): Fix args.
12688
12689 * lisp.h (CHARACTERBITS): Define as 22.
12690
12691 * process.c (send_process): Be sure to set coding->src_multibyte.
12692
12693 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
12694
126952008-02-01 Kenichi Handa <handa@m17n.org>
12696
12697 * xdisp.c (handle_auto_composed_prop): Give limit to
12698 Fnext_single_char_property_change.
12699
127002008-02-01 Kenichi Handa <handa@m17n.org>
12701
12702 * composite.c (syms_of_composite): Don't make the composition hash
12703 table weak.
12704
12705 * fontset.c (Fset_fontset_font): Fix docstring.
12706
12707 * lisp.h (detect_coding_system): Adjust prototype.
12708
12709 * fileio.c (kill_workbuf_unwind): Delete this function.
12710 (Finsert_file_contents): Adjust the call of detect_coding_system.
12711 Get conversion_buffer by code_conversion_save. Use the macro
12712 CODING_MAY_REQUIRE_DECODING. After decoding, update
12713 coding_system.
12714
12715 * coding.h (make_conversion_work_buffer): Delete extern.
12716 (code_conversion_save): Extern it.
12717
12718 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
12719 (CODING_GET_INFO): Delete argument eol_type. Change callers.
12720 (decode_coding_utf_8): Don't do eol converion.
12721 (detect_coding_utf_16): Check coding->src_chars, not
12722 coding->src_bytes. Add heuristics for those that have no signature.
12723 (decode_coding_emacs_mule, decode_coding_iso_2022)
12724 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12725 Don't do eol converion.
12726 (adjust_coding_eol_type): Return a new coding system.
12727 (detect_coding): Don't detect eol. Fix for utf-16 detection.
12728 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
12729 each change.
12730 (decode_coding): Pay attention to undo_list. Do eol conversion for
12731 all types of coding-systems (if necessary).
12732 (Vcode_conversion_work_buf_list): Delete it.
12733 (Vcode_conversion_reused_workbuf): Rename from
12734 Vcode_conversion_reused_work_buf.
12735 (Vcode_conversion_workbuf_name): New variable.
12736 (reused_workbuf_in_use): New variable.
12737 (make_conversion_work_buffer): Delete the arg DEPTH.
12738 (code_conversion_restore): Change argument to cons.
12739 (code_conversion_save): Delete the argument BUFFER. Change callers.
12740 (detect_coding_system): New argument src_chars. Change callers.
12741 Fix for utf-16 detection.
12742 (init_coding_once): Don't use ISO_carriage_return.
12743 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12744 reused_workbuf_in_use.
12745
127462008-02-01 Kenichi Handa <handa@m17n.org>
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 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12754 HANDLED_RECOMPUTE_PROPS.
12755
12756 * coding.c (Fdefine_coding_system_internal): Fix checking of
12757 ascii compatibility.
12758
127592008-02-01 Kenichi Handa <handa@m17n.org>
12760
12761 * charset.c (find_charsets_in_text): Delete unused locale variable.
12762 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12763
12764 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12765 Resync charset_list to Vemacs_mule_charset_list.
12766
12767 * keymap.c (store_in_keymap): Pay attention to the case that idx
12768 is a cons specifying a character range.
12769
127702008-02-01 Kenichi Handa <handa@m17n.org>
12771
12772 * composite.c (update_compositions): Bind inhibit-read-only, etc
12773 to t before calling remove-list-of-text-properties.
12774
12775 * print.c (print_object): Always print ASCII chars as is.
12776
127772008-02-01 Kenichi Handa <handa@m17n.org>
12778
12779 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12780
12781 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12782 is a char table.
12783
127842008-02-01 Kenichi Handa <handa@m17n.org>
12785
12786 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12787
127882008-02-01 Kenichi Handa <handa@m17n.org>
12789
12790 * xfaces.c (set_lface_from_font_name): Fix for the case that
12791 FONTNAME is not fontset name.
12792
127932008-02-01 Kenichi Handa <handa@m17n.org>
12794
12795 * fns.c (base64_encode_1): Fix previous change.
12796
127972008-02-01 Kenichi Handa <handa@m17n.org>
12798
12799 * fontset.c (set_fontset_font): New function.
12800 (Fset_fontset_font): If a font is specified for a charset, use
12801 map_charset_chars to store the font spec in a fontset.
12802
128032008-02-01 Kenichi Handa <handa@m17n.org>
12804
12805 * fontset.c (fontset_face): Create a fallback fontset on demand.
12806 (make_fontset): Don't create a fallback fontset here.
12807 (free_face_fontset): Free a fallback fontset (if any) too.
12808 (n_auto_fontsets): Delete this variable.
12809 (auto_fontset_alist): New variable.
12810 (new_fontset_from_font_name): Check auto_fontset_alist.
12811 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12812 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12813 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12814 Defsubr Sfontset_list_all.
12815
128162008-02-01 Kenichi Handa <handa@m17n.org>
12817
12818 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12819
128202008-02-01 Kenichi Handa <handa@m17n.org>
12821
12822 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12823
128242008-02-01 Kenichi Handa <handa@m17n.org>
12825
12826 * editfns.c (Fgoto_char): Fix docstring.
12827
128282008-02-01 Kenichi Handa <handa@m17n.org>
12829
12830 * insdel.c (insert_from_gap): Adjust intervals correctly.
12831
128322008-02-01 Jason Rumney <jasonr@gnu.org>
12833
12834 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12835 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12836 (w32_initialize): Try to load it.
12837 (x_get_font_repertory): Use it if available.
12838 (w32_encode_char): Add shortcut for unicode output.
12839
12840 * w32fns.c (w32_load_system_font): Default charset to -1.
12841 (x_to_w32_charset): Match all fonts for unicode.
12842 (w32_to_x_charset): New parameter matching. Don't return partial
12843 or wildcard charsets.
12844 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
12845 (w32_codepage_for_font): Return CP_UNICODE for unicode.
12846 (w32_to_x_font): Match charset to real charset.
12847 (enum_font_cb2): Always list unicode versions.
12848
12849 * makefile.w32-in (temacs): Increase EMHEAP.
12850
128512008-02-01 Jason Rumney <jasonr@gnu.org>
12852
12853 * w32term.c (w32_encode_char): New charset parameter.
12854 font_info.encoding becomes encoding_type.
12855 (x_get_font_repertory): New function. Warning: stub only!
12856 (x_new_font): Return quickly if font already set.
12857 (x_new_fontset): fontsetname parameter is Lisp_Object.
12858 Use new fs_query_fontset. Try new_fontset_from_font_name.
12859 Use fontset_name for return value.
12860
12861 * w32term.h: Declare x_get_font_repertory.
12862
12863 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
12864 place of find_charset_in_text. Use encode_coding_object in place
12865 of encode_coding.
12866 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
12867 decode_coding.
12868
12869 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
12870 of x_new_fontset.
12871 (w32_load_system_font): Initialize charset as unicode.
12872 font_info.encoding becomes encoding_type.
12873 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
12874 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
12875 (syms_of_w32fns): Set get_font_repertory_func.
12876
12877 * w32console.c: Include character.h. Use terminal_encode_buffer
12878 from term.c.
12879 (write_glyphs): Use new version of encode_terminal_code. Use
12880 encode_coding_object in place of encode_coding.
12881
12882 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
12883 encoding becomes encoding_type.
12884
12885 * term.c (terminal_encode_buffer): Make externally visible.
12886
12887 * makefile.w32-in: Add character.h dependancies.
12888 (character.o, chartab.o): New targets.
12889
128902008-02-01 Kenichi Handa <handa@m17n.org>
12891
12892 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
12893 CODING_ID_EOL_TYPE.
12894
128952008-02-01 Andreas Schwab <schwab@suse.de>
12896
12897 * coding.c (produce_chars): Revert last change.
12898
128992008-02-01 Kenichi Handa <handa@m17n.org>
12900
12901 * charset.h (charset_unicode): Extern it.
12902
12903 * charset.c (string_xstring_p): Check by (C >= 0x100).
12904 (find_charsets_in_text): Change format of the arc CHARSETS. New
12905 arg MULTIBYTE.
12906 (Ffind_charset_region, Ffind_charset_string): Adjust for the
12907 change of find_charsets_in_text.
12908 (Fsplit_char): Fix doc. Never return unknown.
12909
12910 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
12911
12912 * coding.c (Fdefine_coding_system_alias): Update
12913 Vcoding_system_list.
12914
12915 * fontset.c (load_font_get_repertory): Pay attention to the case
12916 that ENCODING of a font is specified by a char-table.
12917
12918 * xterm.c (x_get_font_repertory): Handle the case that the
12919 encoding of font is other than Unicode.
12920
129212008-02-01 Kenichi Handa <handa@m17n.org>
12922
12923 * term.c (encode_terminal_code): Don't handle glyph-table. Check
12924 if a character is encodable by the terminal coding system. If
12925 not, produces proper number of `?'s. Update
12926 terminal_encode_buffer and terminal_encode_buf_size if necessary.
12927 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
12928
129292008-02-01 Kenichi Handa <handa@m17n.org>
12930
12931 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
12932 variables.
12933 (encode_terminal_code): Change argument. Encode multiple
12934 characters at once. Store the result of encoding in
12935 terminal_encode_buffer.
12936 (write_glyphs, insert_glyphs): Adjust for the change of
12937 encode_terminal_code.
12938 (term_init): Initialize terminal_encode_buffer and
12939 terminal_encode_buf_size.
12940
12941 * coding.c (consume_chars): If coding->src_object is nil, don't
12942 check annotation.
12943
129442008-02-01 Kenichi Handa <handa@m17n.org>
12945
12946 * character.c (char_string): Use ASCII_CHAR_P instead of
12947 SINGLE_BYTE_CHAR_P.
12948
129492008-02-01 Kenichi Handa <handa@m17n.org>
12950
12951 * xdisp.c (handle_auto_composed_prop): Check if the last
12952 characters of auto-composed region is newly composed with the
12953 following characters.
12954 (handle_composition_prop): Fix checking of point being inside
12955 composition.
12956
129572008-02-01 Kenichi Handa <handa@m17n.org>
12958
12959 * fns.c (concat): Don't change multibyteness of the result by
12960 concatenating an 8-bit character.
12961
12962 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
12963 multibyteness of the result when newelt is an 8-bit character.
12964
129652008-02-01 Dave Love <fx@gnu.org>
12966
12967 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
12968 EMACS_INT.
12969
12970 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
12971
12972 * xfaces.c (face_numeric_value): Declare dim size_t.
12973 (Finternal_lisp_face_equal_p): Remove unused f.
12974
12975 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
12976 (MATRIX_ROW): Remove unused vars.
12977 (draw_glyphs, x_insert_glyphs, fast_find_position)
12978 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
12979 byte/char counts.
12980
12981 * regex.c (regex_compile): Remove unused var.
12982
12983 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12984
12985 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
12986 (Faccessible_keymaps, where_is_internal): Remove unused vars.
12987
12988 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
12989
12990 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
12991
12992 * fileio.c (Fwrite_region): Remove unused var.
12993
12994 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
12995 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
12996
12997 * composite.c (Fremove_list_of_text_properties): Declare.
12998
12999 * coding.c (inhibit_pre_post_conversion): Remove (unused).
13000 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
13001 (coding_inherit_eol_type): Remove unused attrs.
13002 (detect_coding): Cast arg of detect_eol.
13003
13004 * charset.c (syms_of_charset): Remove unused var p.
13005 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
13006 byte/char counts.
13007
13008 * casetab.c (set_case_table): Remove unused var.
13009
13010 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
13011 unused vars.
13012
130132008-02-01 Dave Love <fx@gnu.org>
13014
13015 * xterm.c (x_bitmap_mask): Declare.
13016
130172008-02-01 Dave Love <fx@gnu.org>
13018
13019 * xterm.c (x_term_init): Fix type error.
13020
13021 * lisp.h: Add Funibyte_char_to_multibyte.
13022
13023 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
13024 (Fset_coding_system_priority): Doc fix.
13025
13026 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
13027
13028 * indent.c (check_composition): Make start and end EMACS_INT.
13029
13030 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
13031
13032 * xdisp.c (handle_composition_prop, check_point_in_composition):
13033 Make buffer positions EMACS_INT.
13034
13035 * composite.c (find_composition, run_composition_function)
13036 (update_compositions, Ffind_composition_internal): Make buffer
13037 positions EMACS_INT.
13038
13039 * composite.h (find_composition, update_compositions): Make
13040 position args EMACS_INT.
13041
13042 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
13043
13044 * intervals.c (get_property_and_range):
13045 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
13046
13047 * unexalpha.c: Don't include varargs.h.
13048
130492008-02-01 Dave Love <fx@gnu.org>
13050
13051 * coding.h (ENCODE_UTF_8): New.
13052
13053 * Makefile.in (gtkutil.o): Depend on coding.h.
13054
13055 * coding.c (Fset_coding_system_priority): Doc fix.
13056
130572008-02-01 Kenichi Handa <handa@m17n.org>
13058
13059 * fileio.c (Finsert_file_contents): Call setup_coding_system in
13060 the case of auto saving.
13061
130622008-02-01 Andreas Schwab <schwab@suse.de>
13063
13064 * chartab.c (map_char_table, map_char_table_for_charset): Protect
13065 `range' from GC.
13066
130672008-02-01 Kenichi Handa <handa@m17n.org>
13068
13069 * coding.c (decode_coding_sjis): Check bytes more rigidly.
13070
130712008-02-01 Kenichi Handa <handa@m17n.org>
13072
13073 * fileio.c (choose_write_coding_system): Return a decided coding system.
13074 (Fwrite_region): Set Vlast_coding_system_used to the return value
13075 of choose_write_coding_system.
13076
130772008-02-01 Kenichi Handa <handa@m17n.org>
13078
13079 * charset.c (Fset_charset_priority): Pay attention to duplicated
13080 arguments.
13081
13082 * coding.c (QCcategory): New variable.
13083 (syms_of_coding): Defsym it. Set all elements of
13084 Vcoding_category_table and their symbol values.
13085 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
13086 coding-category-XXX, and coding-category-list.
13087 (Fdefine_coding_system_internal): Add category in the plist.
13088
130892008-02-01 Kenichi Handa <handa@m17n.org>
13090
13091 * callproc.c (Fcall_process): Handle carryover correctly.
13092
13093 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
13094 (raw_text_coding_system): Check NILP (coding_system).
13095 (coding_inherit_eol_type): Check NILP (coding_system) and
13096 NILP (parent).
13097 (consume_chars): Fix for the case of raw-text.
13098
13099 * process.c (read_process_output): Handle carryover correctly.
13100
131012008-02-01 Dave Love <fx@gnu.org>
13102
13103 * regex.c (re_search_2): Fix last change.
13104
131052008-02-01 Kenichi Handa <handa@m17n.org>
13106
13107 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
13108 target_multibyte. Even in a unibyte case, return a converted
13109 multibyte char.
13110 (GET_CHAR_AFTER): New macro.
13111 (PATFETCH): Translate via multibyte char.
13112 (HANDLE_UNIBYTE_RANGE): Delete this macro.
13113 (SETUP_MULTIBYTE_RANGE): New macro.
13114 (regex_compile): Setup compiled code so that its multibyteness
13115 matches that of a target. Fix the handling of "[X-YZ]" using
13116 SETUP_MULTIBYTE_RANGE.
13117 (analyse_first) <charset>: For filling fastmap for all multibyte
13118 characters, don't check by BASE_LEADING_CODE_P.
13119 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
13120 the same as RE_MULTIBYTE_P (bufp) now.
13121 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
13122 (TARGET_CHAR_AND_LENGTH): Delete this macro.
13123 (TRANSLATE_VIA_MULTIBYTE): New macro.
13124 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
13125 It is the same as RE_MULTIBYTE_P (bufp) now.
13126 <exactn>: Translate via multibyte.
13127 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
13128 translate it.
13129 <charset, charset_not>: Fetch a character by
13130 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
13131 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
13132 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
13133 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
13134 by GET_CHAR_AFTER.
13135 (bcmp_translate): Likewise.
13136
13137 * search.c (compile_pattern): Check the member target_multibyte,
13138 not the member multibyte of buf.
13139
13140 * lread.c (read1): While reading a string, set force_singlebyte
13141 and force_multibyte correctly.
13142
13143 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
13144 up of unibyte_to_multibyte_table.
13145
131462008-02-01 Kenichi Handa <handa@m17n.org>
13147
13148 * coding.c (setup_coding_system): If coding has
13149 post-read-conversion or pre-write-conversion, set
13150 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
13151 respectively.
13152 (decode_coding_gap): Run post-read-conversion if any.
13153
13154 * fileio.c (Finsert_file_contents): Even if we read into a
13155 unibyte buffer, check if we must decode the result or not.
13156
131572008-02-01 Kenichi Handa <handa@m17n.org>
13158
13159 * coding.c (make_conversion_work_buffer): Change the work buffer
13160 name to the same one as that of Emacs 21.
13161
131622008-02-01 Kenichi Handa <handa@m17n.org>
13163
13164 * coding.h (make_conversion_work_buffer): Adjust prototype.
13165 (code_conversion_restore): Don't extern it.
13166
13167 * coding.c (detected_mask): Delete unused variable.
13168 (decode_coding_iso_2022): Pay attention to the byte sequence of
13169 CTEXT extended segment, and retain those bytes as is.
13170 (decode_coding_ccl): Delete unused variable `valids'.
13171 (setup_coding_system): Delete unused variable `category'.
13172 (consume_chars): Delete unused variable `category'. Make it work
13173 for non-multibyte case.
13174 (make_conversion_work_buffer): Change argument.
13175 (saved_coding): Delete unused variable.
13176 (code_conversion_restore): Don't check saved_coding->destination.
13177 (code_conversion_save): New function.
13178 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
13179 instead of record_unwind_protect.
13180 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
13181 (detect_coding_system): Delete unused variable `mask'.
13182 (Fdefine_coding_system_internal): Delete unused variable id.
13183
13184 * fileio.c (kill_workbuf_unwind): New function.
13185 (Finsert_file_contents): On replacing, call
13186 make_conversion_work_buffer with correct args, and call
13187 record_unwind_protect with the first arg kill_workbuf_unwind.
13188
13189 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
13190
131912008-02-01 Kenichi Handa <handa@m17n.org>
13192
13193 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
13194 (fontset_add): Fix for the case that TO is less than TO1.
13195 (Ffontset_info): Don't use fallback fontset on checking the
13196 default fontset.
13197 (dump_fontset): New function for debugging.
13198
13199 * coding.c (Fdefine_coding_system_internal): Fix for the case that
13200 coding_type is Qcharset.
13201
132022008-02-01 Kenichi Handa <handa@m17n.org>
13203
13204 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
13205 (map_char_table): Don't inherit the value from the parent on
13206 initializing VAL. Adjust for the above change.
13207
132082008-02-01 Kenichi Handa <handa@m17n.org>
13209
13210 * coding.c (Qsignature, Qendian): Delete these variables.
13211 (syms_of_coding): Don't initialize them.
13212 (CATEGORY_MASK_UTF_16_AUTO): New macro.
13213 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
13214 detect_info->found.
13215 (decode_coding_utf_16): Don't detect BOM here.
13216 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
13217 is NOT utf_16_without_bom.
13218 (setup_coding_system): For a coding system of type utf-16, check
13219 if the attribute :endian is Qbig or not (not nil or not), and set
13220 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
13221 (detect_coding): If coding type is utf-16 and BOM detection is
13222 required, detect it.
13223 (Fdefine_coding_system_internal): For a coding system of type
13224 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
13225
132262008-02-01 Kenichi Handa <handa@m17n.org>
13227
13228 * coding.c (coding_set_source): Fix for the case that the current
13229 buffer is different from coding->src_object.
13230 (decode_coding_object): Don't use the conversion work buffer if
13231 DST_OBJECT is a buffer.
13232
132332008-02-01 Dave Love <fx@gnu.org>
13234
13235 * lread.c (read_emacs_mule_char) [len==2]: Index
13236 emacs_mule_charset correctly.
13237
132382008-02-01 Dave Love <fx@gnu.org>
13239
13240 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
13241 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
13242 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
13243 treated specially.)
13244 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
13245 (detected_mask): Remove Big5 bits.
13246
132472008-02-01 Kenichi Handa <handa@m17n.org>
13248
13249 The following changes are to make the font rescaling facility
13250 compatible with Emacs 21.
13251
13252 * xfaces.c (Vface_font_rescale_alist): Rename from
13253 Vface_resizing_fonts.
13254 (struct font_name): Rename member resizing_ratio to rescale_ratio.
13255 (font_rescale_ratio): Rename from font_resizing_ratio.
13256 (split_font_name): Set font->rescale_ratio.
13257 (better_font_p): Pay attention to font->rescale_ratio.
13258 (build_scalable_font_name): Likewise. Change RESX, and RESY
13259 fields.
13260 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
13261
132622008-02-01 Kenichi Handa <handa@m17n.org>
13263
13264 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
13265 (Qutf_16_le): Remove these variables.
13266 (syms_of_coding): Don't DEFSYM them.
13267 (decode_coding_utf_16): Fix handling of BOM.
13268 (encode_coding_utf_16): Fix handling of BOM.
13269
132702008-02-01 Kenichi Handa <handa@m17n.org>
13271
13272 * fileio.c (Finsert_file_contents): On replacing, before decoding
13273 the file into the work buffer, set point of the work buffer to the end.
13274
132752008-02-01 Dave Love <fx@gnu.org>
13276
13277 * coding.c (Fcheck_coding_systems_region): Fix type errors.
13278
132792008-02-01 Dave Love <fx@gnu.org>
13280
13281 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13282 and fix C types.
13283
132842008-02-01 Kenichi Handa <handa@m17n.org>
13285
13286 * xdisp.c (SKIP_GLYPHS): New macro.
13287 (set_cursor_from_row): Pay attention to string display properties.
13288
13289 * category.c (copy_category_entry): Fix for the case that RANGE
13290 is an integer.
13291
13292 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
13293
13294 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
13295
132962008-02-01 Kenichi Handa <handa@m17n.org>
13297
13298 * charset.c (Fcharset_id_internal): New function.
13299 (syms_of_charset): Defsubr it.
13300
13301 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
13302 with the last arg charset_list acquired from coding.
13303 (Fdefine_coding_system_internal): For ccl-based coding system, fix
13304 the attribute coding_attr_ccl_valids.
13305
13306 * coding.h (enum define_coding_ccl_arg_index): Set the first
13307 member coding_arg_ccl_decoder to coding_arg_max.
13308
13309 * ccl.h (ccl_driver): Adjust prototype.
13310
13311 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
13312 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 13313 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
13314 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
13315 last arg Qnil.
13316
133172008-02-01 Kenichi Handa <handa@m17n.org>
13318
13319 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
13320 call encode_char.
13321
13322 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
13323
133242008-02-01 Dave Love <fx@gnu.org>
13325
13326 * composite.c (syms_of_composite): Make composition_hash_table weak.
13327
133282008-02-01 Kenichi Handa <handa@m17n.org>
13329
13330 * dispextern.h (check_face_attributes, generate_ascii_font_name)
13331 (font_name_registry): Don't extern them.
13332 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
13333
13334 * fontset.h (Qfontset): Don't extern it.
13335 (new_fontset_from_font_name): Extern it.
13336
13337 * fontset.c: Give 8 extra slots to fontset objects.
13338 (Qfontset_info): New variable.
13339 (syms_of_fontset): Defsym it.
13340 (FONTSET_FALLBACK): New macro.
13341 (fontset_face): Try also the default fontset.
13342 (make_fontset): Realize a fallback fontset from the default fontset.
13343 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
13344 using split_font_name_into_vector and build_font_name_from_vector.
13345 (Fset_fontset_font): Access the elements of font_spec by enum
13346 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
13347 name by using split_font_name_into_vector.
13348 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
13349 generate a proper font name from the fontset name. Update
13350 Vfontset_alias_alist.
13351 (n_auto_fontsets): New variable.
13352 (new_fontset_from_font_name): New function.
13353 (Ffont_info): Store the information about fonts generated from the
13354 default fontset in the first extra slot of the returned char-table.
13355
13356 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
13357 (font_name_registry): Delete function.
13358 (split_font_name_into_vector): New function.
13359 (build_font_name_from_vector): New function.
13360 (font_list): The argument REGISTRY is now a list of registry names.
13361 (choose_face_font): If we are choosing an ASCII font, and ATTRS
13362 specifies an explicit font name, return the name as is. Make a
13363 list of registy names.
13364
13365 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
13366 of x_new_fontset.
13367 (Fx_create_frame): Don't call x_new_fontset here. Just use
13368 x_list_fonts to check the existence of fonts.
13369
13370 * xterm.h (x_new_fontset): Adjust prototype.
13371
13372 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
13373 string. Use new_fontset_from_font_name to create a fontset from a
13374 font name.
13375
133762008-02-01 Kenichi Handa <handa@m17n.org>
13377
13378 * syntax.c (Vfind_word_boundary_function_table): New name for
13379 Vnext_word_boundary_function_table.
13380 (find-word-boundary-function-table): New name for
13381 next-word-boundary-function-table.
13382
133832008-02-01 Dave Love <fx@gnu.org>
13384
13385 * Makefile.in: Fix some dependencies.
13386
13387 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
13388 set it to nil before returning.
13389
13390 * composite.c (update_compositions): Fix type error.
13391
13392 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
13393
133942008-02-01 Kenichi Handa <handa@m17n.org>
13395
13396 * xterm.c (x_new_font): Optimize for the case that the font is
13397 already set for the frame.
13398
133992008-02-01 Kenichi Handa <handa@m17n.org>
13400
13401 * chartab.c (char_table_ascii): Check if the char table contents
13402 is sub-char-table or not.
13403 (char_table_set, char_table_set_range): Fix argument to
13404 char_table_ascii.
13405
13406 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
13407 (detect_coding_utf_8, detect_coding_utf_16)
13408 (detect_coding_emacs_mule, detect_coding_iso_2022)
13409 (detect_coding_sjis, detect_coding_big5)
13410 (detect_coding_ccl, detect_coding_charset): Change argument MASK
13411 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
13412 sequence is valid in this coding system. Change callers.
13413 (MAX_ANNOTATION_LENGTH): New macro.
13414 (ADD_ANNOTATION_DATA): New macro.
13415 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
13416 ADD_ANNOTATION_DATA. Change the format of annotation data.
13417 (ADD_CHARSET_DATA): New macro.
13418 (emacs_mule_char): New argument ID. Change callers.
13419 (decode_coding_emacs_mule, decode_coding_iso_2022)
13420 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13421 Produce charset annotation data in coding->charbuf.
13422 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
13423 to charset annotation data in coding->charbuf.
13424 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
13425 coding->common_flags if the coding system is iso-2022 based and
13426 uses designation.
13427 (produce_composition): Adjust for the new annotation data format.
13428 (produce_charset): New function.
13429 (produce_annotation): Handle charset annotation.
13430 (handle_composition_annotation, handle_charset_annotation): New
13431 functions.
13432 (consume_chars): Handle charset annotation. Utilize the above two
13433 functions.
13434 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
13435 buffer, get the deleted text as a string and set
13436 coding->src_object to that string.
13437 (detect_coding, detect_coding_system): Use the new struct
13438 coding_detection_info.
13439
13440 * coding.h (struct coding_detection_info): New structure.
13441 (struct coding_system): Adjust prototype of the member `detector'.
13442 (CODING_ANNOTATE_CHARSET_MASK): New macro.
13443
134442008-02-01 Kenichi Handa <handa@m17n.org>
13445
13446 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
13447
134482008-02-01 Dave Love <fx@gnu.org>
13449
13450 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
13451 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
13452 to new local and nullify apropos_accumulate before returning.
13453 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
13454
134552008-02-01 Kenichi Handa <handa@m17n.org>
13456
13457 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
13458 correctly.
e3eea1fc 13459
aac0c6e3
MR
134602008-02-01 Dave Love <fx@gnu.org>
13461
13462 * fns.c (Flanginfo): Call synchronize_system_time_locale.
13463
134642008-02-01 Kenichi Handa <handa@m17n.org>
13465
13466 The following changes are to make character composition happen
13467 automatically on displaying.
13468
13469 * Makefile.in (lisp, shortlisp): Add composite.elc.
13470
13471 * composite.h (Qauto_composed, Vauto_composition_function)
13472 (Qauto_composition_function): Extern them.
13473
13474 * composite.c (Vcomposition_function_table)
13475 (Qcomposition_function_table): Delete variables.
13476 (Qauto_composed, Vauto_composition_function)
13477 (Qauto_composition_function): New variables.
13478 (run_composition_function): Don't call
13479 compose-chars-after-function.
13480 (update_compositions): Clear `auto-composed' text property.
13481 (compose_chars_in_text): Delete this function.
13482 (syms_of_composite): Staticpro Qauto_composed and
13483 Qauto_composition_function. Declare Vauto_composition_function as
13484 a Lisp variable.
13485
13486 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
13487
13488 * xdisp.c (it_props): Add an entry for Qauto_composed.
13489 (handle_auto_composed_prop): New function.
13490
13491 * xselect.c (selection_data_to_lisp_data): Don't call
13492 compose_chars_in_text.
13493
134942008-02-01 Dave Love <fx@gnu.org>
13495
13496 * keyboard.c (read_char): Modify checking around use of
13497 Vkeyboard_translate_table.
13498
13499 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13500 and fix C types.
13501
135022008-02-01 Kenichi Handa <handa@m17n.org>
13503
13504 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
13505 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13506 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
13507 the case that the last byte is '\r' correctly.
13508 (decode_coding): Flush out the unprocessed data correctly.
13509 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
13510
135112008-02-01 Dave Love <fx@gnu.org>
13512
13513 * xterm.c (XTread_socket): Fix changes for defined keysyms.
13514 Add XK_ISO... case.
13515 (xaw_scroll_callback): Revert last change.
13516
135172008-02-01 Kenichi Handa <handa@m17n.org>
13518
13519 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
13520
135212008-02-01 Kenichi Handa <handa@m17n.org>
13522
13523 * xfaces.c (Vface_resizing_fonts): New variable.
13524 (struct font_name): New member `resizing_ratio'.
13525 (font_resizing_ratio): New function.
13526 (split_font_name): Set font->resizing_ratio.
13527 (better_font_p): Pay attention to font->resizing_ratio.
13528 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
13529 RESX, and RESY fields.
13530 (try_alternative_families): Try scalable fonts if
13531 Vscalable_fonts_allowed is not Qt.
13532 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
13533
135342008-02-01 Dave Love <fx@gnu.org>
13535
13536 * xterm.c (xaw_scroll_callback): Cast correctly.
13537
135382008-02-01 Dave Love <fx@gnu.org>
13539
13540 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
13541 (lispy_kana_keys): Comment out.
13542 (make_lispy_event) [XK_kana_A]: Comment out.
13543
13544 * xterm.c (xaw_scroll_callback): Cast call_data.
13545 (XTread_socket): Deal with ASCII keysyms.
13546 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
13547
135482008-02-01 Dave Love <fx@gnu.org>
13549
13550 * xterm.c (Vx_keysym_table): New.
13551 (syms_of_xterm): Initialize it.
13552 (XTread_socket): Use it.
13553 From head: Eliminate incorrect optimization that tried to avoid
13554 decoding the output of X*LookupString.
13555 (x_get_font_repertory): Delete charset declaration.
13556
135572008-02-01 Kenichi Handa <handa@m17n.org>
13558
13559 * coding.c (detect_coding_charset): If only ASCII bytes are found,
13560 return 0.
13561 (Fdefine_coding_system_internal): Setup
13562 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
13563
135642008-02-01 Dave Love <fx@gnu.org>
13565
13566 * coding.c (Fcheck_coding_system): Doc fix.
13567
13568 * editfns.c (Finsert_byte): Return a proper value.
13569
135702008-02-01 Kenichi Handa <handa@m17n.org>
13571
13572 * coding.c (decode_coding): Fix args to translate_chars. Pay
13573 attention to Vstandard_translation_table_for_decode.
13574 (encode_coding): Fix args to translate_chars. Pay attention to
13575 Vstandard_translation_table_for_encode.
13576
13577 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
13578 SINGLE_BYTE_CHAR_P.
13579
13580 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
13581 not by SINGLE_BYTE_CHAR_P.
13582
13583 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
13584 SINGLE_BYTE_CHAR_P.
13585
13586 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
13587 SINGLE_BYTE_CHAR_P.
13588
13589 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
13590 by SINGLE_BYTE_CHAR_P.
13591
13592 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
13593 SINGLE_BYTE_CHAR_P.
13594
135952008-02-01 Dave Love <fx@gnu.org>
13596
13597 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
13598
135992008-02-01 Dave Love <fx@gnu.org>
13600
13601 * fns.c (Flanginfo): Fix typo.
13602
13603 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
13604
136052008-02-01 Kenichi Handa <handa@m17n.org>
13606
13607 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
13608 (detect_coding_emacs_mule, detect_coding_iso_2022)
13609 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
13610 incomplete byte sequence. Don't update *mask when correctly detected.
13611 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
13612 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
13613 (detect_coding, detect_coding_system): Adjust for the changes above.
13614
136152008-02-01 Kenichi Handa <handa@m17n.org>
13616
13617 * character.c (char_string): Rename from
13618 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
13619 (string_char): Rename from string_char.
13620
13621 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
13622 if C is greater than MAX_3_BYTE_CHAR.
13623 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
13624 string_char instead of string_char_with_unification.
13625
136262008-02-01 Dave Love <fx@gnu.org>
13627
13628 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
13629
136302008-02-01 Kenichi Handa <handa@m17n.org>
13631
13632 * keymap.c (push_key_description): Pay attention to force_multibyte.
13633
13634 * regex.c (re_search_2): Fix for the case of unibyte buffer.
13635
136362008-02-01 Dave Love <fx@gnu.org>
13637
13638 * charset.c (define_charset_internal): Rename `supprementary'.
13639
13640 * Makefile.in (lisp, shortlisp): Remove latin-N.
13641
136422008-02-01 Dave Love <fx@gnu.org>
13643
13644 * xfns.c (x_window, x_window): Use use_xim.
13645
13646 * xterm.c (use_xim): Initialize.
13647 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
13648 (x_term_init): Maybe set use_xim.
13649
13650 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
13651
136522008-02-01 Kenichi Handa <handa@m17n.org>
13653
13654 * search.c (search_buffer): Fix case-fold-search of multibyte
13655 characters.
13656 (boyer_moore): Rename the last argument to char_high_bits.
13657
136582008-02-01 Kenichi Handa <handa@m17n.org>
13659
13660 * xdisp.c (display_string): Fix for the case of zero width glyph.
13661
13662 * xfns.c (x_set_font): Change the error message of the case that
13663 x_new_fontset returns Qt.
13664
13665 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
13666 (Finternal_set_lisp_face_attribute): Use signal_error for the
13667 error of invalid fontset.
13668
13669 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
13670 fontset, return Qt.
13671
136722008-02-01 Dave Love <fx@gnu.org>
13673
13674 * unexelf.c (unexec): Make .got handling not SGI-specific.
13675
13676 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
13677
13678 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
13679
13680 * keyboard.c (read_key_sequence): Fix type error.
13681
13682 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
13683 type error.
13684
13685 * fontset.c (fontset_add): Return Lisp_Object.
13686
136872008-02-01 Dave Love <fx@gnu.org>
13688
13689 * charset.h (charset_ordered_list_tick): Declare extern.
13690
136912008-02-01 Kenichi Handa <handa@m17n.org>
13692
13693 The following changes (and some of 2008-02-01 changes of mine) are
13694 for handling syntax, category, and case conversion for unibyte
13695 characters by converting them to multibyte on the fly. With these
13696 changes, we don't have to setup syntax and case tables for unibyte
13697 characters in each language environment.
13698
13699 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
13700 multibyte if necessary.
13701
13702 * bytecode.c (Fbyte_code): Likewise.
13703
13704 * character.h (LEADING_CODE_LATIN_1_MIN)
13705 (LEADING_CODE_LATIN_1_MAX): New macros.
13706 (unibyte_to_multibyte_table): Extern it.
13707 (unibyte_char_to_multibyte): New macro.
13708 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
13709 (CHAR_LEADING_CODE): New macro.
13710 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
13711
13712 * character.c (unibyte_to_multibyte_table): New variable.
13713 (unibyte_char_to_multibyte): Move to character.h and define as macro.
13714 (multibyte_char_to_unibyte): If C is an eight-bit character,
13715 convert it to the corresponding byte value.
13716
13717 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
13718 not 1, signals an error. Update the elements of
13719 unibyte_to_multibyte_table.
13720 (init_charset_once): Initialize unibyte_to_multibyte_table.
13721 (syms_of_charset): Define the charset `iso-8859-1'.
13722
13723 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
13724 as is without converting it to unibyte. In a unibyte buffer,
13725 convert C to multibyte before checking the syntax.
13726
13727 * lisp.h (unibyte_char_to_multibyte): Delete extern.
13728
13729 * minibuf.c (Fminibuffer_complete_word): Use the macro
13730 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
13731
13732 * regex.h (struct re_pattern_buffer): New member target_multibyte.
13733
13734 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
13735 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
13736 that is zero, convert an eight-bit char to multibyte.
13737 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13738 non-emacs case.
13739 (PATFETCH): Convert an eight-bit char to multibyte.
13740 (HANDLE_UNIBYTE_RANGE): New macro.
13741 (regex_compile): Setup the compiled pattern for multibyte chars
13742 even if the given regex string is unibyte. Use PATFETCH_RAW
13743 instead of PATFETCH in many places. To handle `charset'
13744 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13745 only for ASCII chars.
13746 (analyse_first) <exactn>: Simplify because the compiled pattern
13747 is multibyte.
13748 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13749 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13750 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13751 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13752 multibyte always 1.
13753 (re_search_2): In emacs, set the locale variable multibyte to 1,
13754 otherwise to 0. New local variable target_multibyte. Check it
13755 to decide the multibyteness of STR1 and STR2. If
13756 target_multibyte is zero, convert unibyte chars to multibyte
13757 before translating and checking fastmap.
13758 (TARGET_CHAR_AND_LENGTH): New macro.
13759 (re_match_2_internal): In emacs, set the locale variable multibyte
13760 to 1, otherwise to 0. New local variable target_multibyte. Check
13761 it to decide the multibyteness of STR1 and STR2. Use
13762 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13763 <charset, charset_not>: If multibyte is nonzero, check fastmap
13764 only for ASCII chars. Call bcmp_translate with
13765 target_multibyte, not with multibyte.
13766 <begline>: Declare the local variable C as `unsigned'.
13767 (bcmp_translate): Change the last arg name to target_multibyte.
13768
13769 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13770 the regexp pattern and the matching target. Set cp->buf.multibyte
13771 to the multibyteness of the regexp pattern. Set
13772 cp->but.target_multibyte to the multibyteness of the matching target.
13773 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13774 FETCH_STRING_CHAR_ADVANCE.
13775 (Freplace_match): Convert unibyte chars to multibyte.
13776
13777 * syntax.c (char_quoted, back_comment, scan_words)
13778 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13779 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13780 unibyte chars to multibyte.
13781 (skip_chars): Delete the arg syntaxp, and move the code for
13782 handling syntaxes to skip_syntaxes. Change callers.
13783 Fix the case that the multibyteness of STRING and the current
13784 buffer doesn't match.
13785 (skip_syntaxes): New function.
13786 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13787 SINGLE_BYTE_CHAR_P.
13788
137892008-02-01 Kenichi Handa <handa@m17n.org>
13790
13791 * xfaces.c (QCfontset): New variable.
13792 (LFACE_FONTSET): New macro.
13793 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13794 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13795 (Finternal_set_lisp_face_attribute)
13796 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13797 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13798 check also LFACE_FONTSET_INDEX.
13799 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13800 attrs[LFACE_FONT_INDEX].
13801 (syms_of_xfaces): Intern and staticpro QCfontset.
13802
13803 * dispextern.h (enum lface_attribute_index): New member
13804 LFACE_FONTSET_INDEX.
13805
13806 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13807
138082008-02-01 Kenichi Handa <handa@m17n.org>
13809
13810 * coding.c (coding_set_destination): Fix coding->destination for
13811 the case converting a region.
13812 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13813 (encode_coding_object): Fix coding->dst_pos and
13814 coding->dst_pos_byte for the case converting a region.
13815
13816 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13817
13818 * character.h (BYTE8_STRING): New macro.
13819
13820 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13821
138222008-02-01 Kenichi Handa <handa@m17n.org>
13823
13824 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13825 characters by octal form.
13826
13827 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13828
13829 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13830 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13831 _fetch_multibyte_char_len.
13832 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13833
13834 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13835
13836 * casefiddle.c (casify_object): Simplify. Handle the case that
13837 the case conversion change the byte length.
13838 (casify_region): Likewise.
13839
13840 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
13841
13842 * character.c (_fetch_multibyte_char_len): Delete this variable.
13843 (syms_of_character): Setup Vprintable_chars.
13844
13845 * editfns.c (Fchar_equal): Fix for the unibyte case.
13846 (Finsert_byte): New function.
13847 (syms_of_editfns): Defsubr it.
13848
13849 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
13850 of direct code 0x3ffff.
13851
13852 * search.c (Freplace_match): Fix for the unibyte case.
13853
138542008-02-01 Kenichi Handa <handa@m17n.org>
13855
13856 * lread.c (safe_to_load_p): Fix the logic.
13857
13858 * syntax.c (scan_words): Don't treat characters belonging to
13859 different scripts as constituting a word.
13860
13861 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13862
13863 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
13864
13865 * emacs.c (main): In the case of --unibyte, instead of aborting on
13866 finding non-empty buffer, make it unibyte.
13867
138682008-02-01 Kenichi Handa <handa@m17n.org>
13869
13870 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
13871 to create a fontset.
13872
138732008-02-01 Dave Love <fx@gnu.org>
13874
13875 * character.c (Funibyte_char_to_multibyte): Doc fix.
13876
13877 * xfns.c [HAVE_STDLIB_H]: Fix last change.
13878
138792008-02-01 Kenichi Handa <handa@m17n.org>
13880
13881 * fontset.c (fontset_add): Make the type `int'.
13882 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
13883
13884 * character.c (unibyte_char_to_multibyte)
13885 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
13886 charset_unibyte, not charset_primary.
13887
13888 * charset.h (charset_unibyte): Extern it instead of charset_primary.
13889
13890 * charset.c (charset_unibyte): Rename from charset_primary.
13891 (Funibyte_charset): Rename from Fprimary_charset.
13892 (Fset_unibyte_charset): Rename from Fset_primary_charset.
13893 (syms_of_charset): Adjust for the above changes.
13894
13895 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13896 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13897 it->multibyte_p is zero.
13898
13899 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
13900 Delete extern.
13901
139022008-02-01 Kenichi Handa <handa@m17n.org>
13903
13904 * coding.c (Fdefine_coding_system_internal): Fix category setting
13905 for a coding system of type iso-2022.
13906
139072008-02-01 Kenichi Handa <handa@m17n.org>
13908
13909 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
13910
139112008-02-01 Kenichi Handa <handa@m17n.org>
13912
13913 * syntax.c (Vnext_word_boundary_function_table): New variable.
13914 (next-word-boundary-function-table): Declare it as a Lisp variable
13915 in syms_of_syntax.
13916 (scan_words): Call functions in Vnext_word_boundary_function_table
13917 if any.
13918
13919 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
13920
13921 * fontset.c (fs_load_font): If fontp->charset is not negative,
13922 return fontp without setting its members.
13923
139242008-02-01 Dave Love <fx@gnu.org>
13925
13926 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
13927
13928 * m/sparc.h (HAVE_ALLOCA): Delete.
13929
13930 * s/irix6-5.h: Don't include strings.h.
13931 (bcopy, bzero, bcmp): Don't undef.
13932
13933 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
13934
13935 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
13936 (TIOCSIGSEND): Don't test IRIX6.
13937 (bcopy, bzero, bcmp): Define conditionally.
13938
139392008-02-01 Kenichi Handa <handa@m17n.org>
13940
13941 * buffer.c (Qas, Qmake, Qto): New variables.
13942 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
13943 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
13944
13945 * callproc.c (Fcall_process): Don't call insert_1_both directly if
13946 we are inserting a process output into a multibyte buffer.
13947
13948 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
13949 multibyte_char_to_unibyte.
13950
13951 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
13952 by the primary charset, make it eight-bit char.
13953 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
13954
13955 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
13956 (charset_8_bit__control, charset_8_bit_graphic)
13957 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
13958 (define_charset_internal): New function.
13959 (syms_of_charset): Call define_charset_internal for pre-defined
13960 charsets.
13961
13962 * charset.h (charset_8_bit): Extern it.
13963
13964 * coding.c (make_conversion_work_buffer): Adjust for the change
13965 of Fset_buffer_multibyte.
13966 (encode_coding_raw_text): Increment p0 in the loop.
13967
13968 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
13969
13970 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
13971 for the change of Fset_buffer_multibyte.
13972
13973 * fns.c (Fstring_to_multibyte): New function.
13974 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
13975
139762008-02-01 Dave Love <fx@gnu.org>
13977
13978 * xfns.c (x_put_x_image): Declare args.
13979
13980 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
13981 (try_font_list): Declare an arg.
13982
13983 * xdisp.c (message2_nolog, set_message): Declare an arg.
13984
13985 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
13986
13987 * syntax.c (scan_sexps_forward): Declare an arg.
13988
13989 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
13990 Declare an arg.
13991
13992 * lisp.h (Fnew_fontset): Declare.
13993
13994 * keymap.c (push_key_description): Call CHARACTERP correctly.
13995
13996 * fontset.c (fontset_add): Declare args. Call make_number correctly.
13997 (face_for_char): Delete unused vars.
13998 (Fset_fontset_font): Doc fix. Delete unused vars.
13999
14000 * doc.c (Fsubstitute_command_keys): Delete unused vars.
14001
14002 * composite.c (update_compositions): Declare arg.
14003
14004 * cm.c (calccost, cmgoto): Declare args.
14005
14006 * charset.c: Remove `emacs' conditional. Doc fixes.
14007 (map_char_table_for_charset): Declare.
14008
14009 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
14010
14011 * ccl.c: Remove `emacs' conditional.
14012
140132008-02-01 Kenichi Handa <handa@m17n.org>
14014
14015 The following changes are to allow specifying multiple font
14016 patterns for a character range (specified by script or charset).
14017
14018 * Makefile.in (abbrev.o): Depend on syntax.h.
14019 (xfaces.o): Depend on charset.h.
14020
14021 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
14022 SINGLE_BYTE_CHAR_P.
14023
14024 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
14025
14026 * character.h (Vchar_script_table): Extern it.
14027
14028 * character.c (Vscript_alist): Delete.
14029 (Vchar_script_table, Qchar_script_table): New variable.
14030 (syms_of_character): Declare Vchar_script_table as a lisp variable
14031 and initialize it.
14032
14033 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
14034 have property char-table-extra-slots, make no extra slot.
14035
14036 * dispextern.h (struct face): Delete member `charset'.
14037 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
14038 SINGLE_BYTE_CHAR_P.
14039 (choose_face_font, lookup_non_ascii_face, font_name_registry):
14040 Add prototypes.
14041 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
14042 (generate_ascii_font_name): Rename from generate_ascii_font.
14043
14044 * fontset.h (get_font_repertory_func): New prototype.
14045 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
14046 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
14047
14048 * fontset.c (Qprepend, Qappend): New variables.
14049 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
14050 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
14051 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
14052 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
14053 (fontset_ref_and_range, fontset_add, reorder_font_vector)
14054 (load_font_get_repertory): New functions.
14055 (fontset_set): Delete.
14056 (fontset_face): New arg FACE. Return face ID, not face.
14057 Complete re-write to handle new fontset structure. Change caller.
14058 (free_face_fontset): Use ASET istead of AREF (X) = Y.
14059 (face_for_char): Don't call lookup_face.
14060 (make_fontset_for_ascii_face): New arg FACE.
14061 (fs_load_font): New arg CHARSET_ID. Don't check
14062 Vfont_encoding_alist here.
14063 (find_font_encoding): New function.
14064 (list_fontsets): Use STRINGP, not ! NILP.
14065 (accumulate_script_ranges): New function.
14066 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
14067 re-written to handle new fontset structure.
14068 (Ffontset_font): Return a copy of element.
14069 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
14070 docstring of font-encoding-alist.
14071
14072 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
14073 (Fset_fotset_font): Fix arguments to 5.
14074
14075 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
14076
14077 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
14078 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14079 (highlight_trailing_whitespace): Adjust for the change of
14080 lookup_named_face.
14081
14082 * xfaces.c: Include charset.h.
14083 (load_face_font): Delete argument C. Change caller.
14084 (generate_ascii_font_name): Rename from generate_ascii_font.
14085 (font_name_registry): New function.
14086 (cache_face): Store ascii faces before non-ascii faces in buckets.
14087 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
14088 Lookup only ascii faces.
14089 (lookup_non_ascii_face): New function.
14090 (lookup_named_face): Delete argument C. Change caller.
14091 (lookup_derived_face): Delete argument C. Change caller.
14092 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
14093 a string, just call font_list with it.
14094 (choose_face_font): Delete arguments FACE and C. New arg
14095 FONT_SPEC. Change caller.
14096 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
14097 Change caller.
14098 (realize_non_ascii_face): New function.
14099 (realize_x_face): Call load_face_font here.
14100 (realize_tty_face): Delete argument C. Change caller.
14101 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
14102 get a face ID.
14103 (dump_realized_face): Don't print charset of FACE.
14104
14105 * xfns.c (x_set_font): Always call x_new_fontset and
14106 store_frame_parameter.
14107 (Fx_create_frame): Call x_new_fontset, not x_new_font.
14108 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
14109
14110 * xterm.h (x_get_font_repertory): Extern it.
14111
14112 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14113 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14114 it->multibyte_p is zero.
14115 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14116 (x_new_fontset): If FONTSETNAME doesn't match any existing
14117 fontsets, create a new one.
14118 (x_get_font_repertory): New function.
14119
141202008-02-01 Kenichi Handa <handa@m17n.org>
14121
14122 * coding.c (Ffind_coding_systems_region_internal): Detect an
14123 ASCII only string correctly.
14124
14125 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
14126 version is 0.
14127
141282008-02-01 Kenichi Handa <handa@m17n.org>
14129
14130 * lread.c: Include "coding.h".
14131 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
14132 (load_each_byte, unread_char): New variables.
14133 (readchar_backlog): Delete.
14134 (readchar): Return a character unless load_each_byte is nonzero.
14135 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
14136 cons. If unread_char is not -1, simply return it.
14137 (unreadchar): Handle the case that readcharfun is
14138 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
14139 (read_multibyte): Delete.
14140 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
14141 (read_emacs_mule_char): New functions.
14142 (Fload): Even if the file doesn't have the extension ".elc", if
14143 safe_to_load_p returns a positive version number, assume that the
14144 file contains bytecompiled code. If the version is less than 22,
14145 load the file while decoding multibyte sequences by emacs-mule.
14146 (readevalloop): Don't use readchar_backlog.
14147 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
14148 (Fread_from_string): Pay attention to the case that STREAM is a cons.
14149 (read_escape): Delete the arg BYTEREP.
14150 (read1): Set load_each_byte to 1 temporarily while handling
14151 #@NUMBER. Don't call read_multibyte.
14152 (read_vector): Call Fread with a cons. If readcharfun is
14153 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
14154 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
14155 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
14156 and Qload_force_doc_strings.
14157
141582008-02-01 Kenichi Handa <handa@m17n.org>
14159
14160 * xdisp.c (face_before_or_after_it_pos): Call
14161 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
14162
141632008-02-01 Kenichi Handa <handa@m17n.org>
14164
14165 * character.h (TRAILING_CODE_P): New macro.
14166 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
14167 (string_char_with_unification): Fix prototype.
14168 (Vscript_alist): Extern it.
14169
14170 * character.c (Vscript_alist): New variable.
14171 (string_char_with_unification, str_as_unibyte)
14172 (string_escape_byte8): Add `const' to local variables.
14173 (syms_of_character): Declare script-alist as a Lisp variable.
14174
14175 * charset.h (Vcharset_ordered_list): Extern it.
14176 (charset_ordered_list_tick): Extern it.
14177 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
14178 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
14179 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
14180 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
14181 (Funify_charset): Adjust for the change of Funify_charset.
14182
14183 * charset.c (charset_ordered_list_tick): New variable.
14184 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
14185 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
14186 deunify intead of unify a charset.
14187 (string_xstring_p): Add `const' to local variables.
14188 (find_charsets_in_text): Add `const' to arguments and local variables.
14189 (encode_char): Adjust for the change of Funify_charset. Fix
14190 detecting of invalid code.
14191 (Fset_charset_priority): Increment charset_ordered_list_tick.
14192 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
14193 and TO_CODE.
14194
14195 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
14196 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
14197 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
14198 (decode_coding_ccl, consume_chars)
14199 (Ffind_coding_systems_region_internal)
14200 (Fcheck_coding_systems_region): Add `const' to local variables.
14201
14202 * print.c (print_object): Use octal form for printing the
14203 contents of a bool vector.
14204
142052008-02-01 Dave Love <fx@gnu.org>
14206
14207 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
14208 <version == 20>: Refuse to load.
14209
142102008-02-01 Dave Love <fx@gnu.org>
14211
14212 * fns.c: Move coding.h.
14213 (Qcodeset, Qdays, Qmonths): New.
14214 (concat): Use CHARACTERP instead of INTEGERP.
14215 (Flocale_codeset): Delete.
14216 (Flanginfo): New function.
14217 (syms_of_fns): Change accordingly.
14218
14219 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
14220
142212008-02-01 Dave Love <fx@gnu.org>
14222
14223 * casetab.c (init_casetab_once, init_casetab_once): Fix
14224 CHAR_TABLE_SET call.
14225
14226 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
14227
14228 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
14229
14230 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
14231 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
14232 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
14233
14234 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
14235
14236 * coding.c (ENCODE_DESIGNATION, decode_eol)
14237 (make_conversion_work_buffer, code_conversion_restore)
14238 (Fdefine_coding_system_internal): Convert Lisp types.
14239 (code_conversion_restore): Use EQ, not ==.
14240 (Fencode_coding_string): Fix code_convert_string call.
14241
14242 * coding.h (code_convert_region): Fix prototype.
14243
14244 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
14245
14246 * fontset.c (fontset_ref, fontset_set, fs_load_font)
14247 (Ffontset_info): Convert Lisp types.
14248
14249 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
14250
14251 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
14252
14253 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
14254
14255 * chartab.c: Include "...h", not <...h> in some cases.
14256
14257 * callproc.c (Fcall_process): Remove unused variables.
14258
142592008-02-01 Dave Love <fx@gnu.org>
14260
14261 * coding.c (Fset_coding_system_priority): Allow null arg list.
14262
142632008-02-01 Dave Love <fx@gnu.org>
14264
14265 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
14266 (Fself_insert_and_exit): Use CHARACTERP.
14267
14268 * callproc.c (Fcall_process): Remove unused vars.
14269
14270 * xterm.c (XTread_socket): Add extra dead keysyms.
14271
14272 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
14273
14274 * dispextern.h: Remove prototypes for redraw_frame,
14275 redraw_garbaged_frames.
14276
14277 * cmds.c (Fself_insert_command): Use CHARACTERP.
14278
14279 * chartab.c (make_sub_char_table): Remove unused var.
14280 (Fset_char_table_default, Fmap_char_table): Doc fix.
14281
14282 * keymap.c (access_keymap): Remove generic char code.
14283 (push_key_description): Use CHARACTERP.
14284
142852008-02-01 Dave Love <fx@gnu.org>
14286
14287 * charset.c: Doc fixes.
14288 (Funify_charset): Extra checking.
14289
142902008-02-01 Dave Love <fx@gnu.org>
14291
14292 * lread.c: Remove some unused variables.
14293 (safe_to_load_p): If safe, return the magic number version byte.
14294 (Fload): Maybe use load-with-code-conversion.
14295
142962008-02-01 Kenichi Handa <handa@m17n.org>
14297
14298 * category.c (Fmodify_category_entry): Don't modify the contents
14299 of category_set for characters out of the range. Avoid
14300 unnecessary modification.
14301
14302 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
14303 Vchar_unify_table. The default value of the table is now nil.
14304
14305 * character.c (syms_of_character): Setup Vchar_width_table for
14306 eight-bit-control and raw-byte chars.
14307
14308 * charset.h (enum define_charset_arg_index): Delete
14309 charset_arg_parents and add charset_arg_subset and
14310 charset_arg_superset.
14311 (enum charset_attr_index): Delete charset_parents and add
14312 charset_subset and charset_superset.
14313 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
14314 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
14315 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
14316 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
14317 (CHARSET_SUPERSET): New macros.
14318 (charset_work): Extern it.
14319 (ENCODE_CHAR): Use charset_work.
14320 (CHAR_CHARSET_P): Adjust for the change of encoder format.
14321 (map_charset_chars): Extern it.
14322
14323 * charset.c (load_charset_map): Set the default value of encoder
14324 and deunifier char-tables to nil.
14325 (map_charset_chars): Change argument. Change callers. Use
14326 map_char_table_for_charset instead of map_char_table.
14327 (Fmap_charset_chars): New optional args from_code and to_code.
14328 (Fdefine_charset_internal): Adjust for the change of
14329 `define-charset' (:parents -> :subset or :superset).
14330 (charset_work): New variable.
14331 (encode_char, syms_of_charset): Adjust for the change of
14332 Fdefine_charset_internal.
14333 (Ffind_charset_string): Setup the vector `charsets' correctly.
14334
14335 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
14336 the previous change.
14337 (char_table_ref_and_range): Adjust for the above change.
14338 (map_sub_char_table_for_charset): New function.
14339 (map_char_table_for_charset): New function.
14340
14341 * keymap.c (describe_vector): Handle a char-table directly here.
14342 (describe_char_table): Delete.
14343
14344 * lisp.h (map_charset_chars): Delete.
14345
143462008-02-01 Dave Love <fx@gnu.org>
14347
14348 * fns.c (count_combining): Comment out (unused).
14349 (Flocale_codeset): New.
14350 (syms_of_fns): Defsubr it.
14351
14352 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
14353 (size_t): Remove.
14354
143552008-02-01 Dave Love <fx@gnu.org>
14356
14357 * Makefile.in (chartab.o): Depend on charset.h.
14358
143592008-02-01 Kenichi Handa <handa@m17n.org>
14360
14361 * character.c (syms_of_character): Set the default value of
14362 Vprintable_chars to Qnil.
14363
143642008-02-01 Dave Love <fx@gnu.org>
14365
14366 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
14367
143682008-02-01 Kenichi Handa <handa@m17n.org>
14369
14370 * charset.c (load_charset_map): Handle the case that from < to
14371 correctly.
14372
14373 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
14374 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
14375 Pay attention to raw-8-bit chars.
14376
143772008-02-01 Kenichi Handa <handa@m17n.org>
14378
14379 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
14380 It is not bytecompiled now.
14381
14382 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
14383 (charset_jisx0208): New variables.
14384 (Fdefine_charset_internal): Setup them if appropriate.
14385 (init_charset_once): Initialize them to -1.
14386
14387 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
14388 (charset_jisx0208): Extern them.
14389
14390 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
14391 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
14392 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
14393 (setup_iso_safe_charsets): Fix arguments to Fassq.
14394 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
14395 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
14396 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
14397 (encode_coding_iso_2022): Change the 1st arg to
14398 ENCODE_ISO_CHARACTER to a variable.
14399
144002008-02-01 Kenichi Handa <handa@m17n.org>
14401
14402 * charset.h (enum define_charset_arg_index): New enums
14403 charset_arg_min_code and charset_arg_max_code.
14404 (struct charset): New member char_index_offset.
14405
14406 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
14407 Take charset->char_index_offset into account.
14408 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
14409 args[charset_arg_max_code]. Setup charset.char_index_offset.
14410 (syms_of_charset): Fix args to Fdefine_charset_internal.
14411
144122008-02-01 Dave Love <fx@gnu.org>
14413
14414 * coding.c (decode_coding_utf_8): Reject overlong sequences.
14415
144162008-02-01 Dave Love <fx@gnu.org>
14417
14418 * coding.c: Doc fixes.
14419 (Fcoding_system_aliases): Fix return value.
14420 (Qmac): Remove (duplicated) definition.
14421
144222008-02-01 Dave Love <fx@gnu.org>
14423
14424 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
14425 functions.
14426
14427 * character.c (Fstring): Doc fix.
14428
14429 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
14430
14431 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
14432 ids.
14433 (font-encoding-alist): Doc fix.
14434
144352008-02-01 Dave Love <fx@gnu.org>
14436
14437 * term.c (costs_set): Declare static, non-initialized for pcc.
14438 (encode_terminal_code): Remove unused var.
14439
14440 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
14441 for K&R.
14442
14443 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
14444
14445 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
14446 (suffixes): Move out of make_subsidiaries for K&R.
14447
14448 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
14449
14450 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
14451
144522008-02-01 Dave Love <fx@gnu.org>
14453
14454 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
14455
14456 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
14457
144582008-02-01 Yong Lu <lyongu@asia-infonet.com>
14459
14460 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
14461
14462 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
14463
144642008-02-01 Kenichi Handa <handa@m17n.org>
14465
14466 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
14467 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
14468
144692008-02-01 Kenichi Handa <handa@m17n.org>
14470
14471 * coding.c (decode_coding_charset): Adjust for the change of
14472 Fdefine_coding_system_internal.
14473 (Fdefine_coding_system_internal): For a coding system of
14474 `charset' type, store a list of charset IDs in
14475 `charset_attr_charset_valids' element of coding attributes.
14476
144772008-02-01 Kenichi Handa <handa@m17n.org>
14478
14479 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
14480 (emacs_mule_char): New arg src. Delete arg `composition'. Change
14481 caller. Handle 2-byte and 3-byte charsets correctly.
14482 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
14483 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
14484 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
14485 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14486 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
14487 sequence.
14488 (decode_coding_emacs_mule): Handle composition correctly. Rewind
14489 `src' and `consumed_chars' correctly before calling emacs_mule_char.
14490 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
14491 and alt&rule composition.
14492 (decode_coding_iso_2022): Handle composition correctly.
14493 (init_coding_once): Setup emacs_mule_bytes for private charsets.
14494
14495 * charset.c (Fdefine_charset_internal): Fix bug for the case of
14496 re-defining a charset. If the charset has :emacs-mule-id, setup
14497 emacs_mule_bytes.
14498 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
14499
145002008-02-01 Kenichi Handa <handa@m17n.org>
14501
14502 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
14503 (encode_coding_big5, encode_coding_charset): If coding requires safe
14504 encoding, produce a character specified by
14505 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
14506
145072008-02-01 Dave Love <fx@gnu.org>
14508
14509 * xterm.c (XSetIMValues): Declare.
14510
14511 * process.c: Conditionally include sys/wait.h, pty.h.
14512
14513 * print.c (print_object): Fix print format for 64-bit systems.
14514
14515 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
14516
14517 * buffer.c (emacs_strerror): Declare.
14518
14519 * fontset.c (Fclear_face_cache): Declare.
14520 (accumulate_font_info): Comment-out (unused).
14521 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
14522 variables.
14523
14524 * character.h (string_escape_byte8): Declare.
14525
14526 * charset.c (load_charset_map, load_charset_map_from_file): Remove
14527 unused vars.
14528 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
14529 (Fmap_charset_chars): Doc fix.
14530
14531 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
14532 (Fset_coding_system_priority, Fset_coding_system_priority)
14533 (Fdefine_coding_system_internal): Doc fix.
14534
145352008-02-01 Dave Love <fx@gnu.org>
14536
14537 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
14538
145392008-02-01 Kenichi Handa <handa@m17n.org>
14540
14541 * character.c (string_escape_byte8): Make multibyte string with
14542 correct size.
14543
14544 * charset.c (Fmake_char): Delete unnecessary code.
14545
145462008-02-01 Kenichi Handa <handa@m17n.org>
14547
14548 * xfns.c (x_encode_text): Allocate coding.destination here, and
14549 call encode_coding_object with dst_object Qnil.
14550
14551 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
14552 multibyte form correctly.
14553
14554 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
14555 against Vfont_encoding_alist.
14556
14557 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
14558 handling of charset list.
14559 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
14560 (decode_coding_object): Move point to coding->dst_pos before
14561 calling post-read-conversion function.
14562 (encode_coding_object): Give correct arguments to
14563 pre-write-conversion. Ignore the return value of
14564 pre-write-conversion function. Pay attention to the case that
14565 pre-write-conversion changes the current buffer. If dst_object is
14566 Qt, even if coding->src_bytes is zero, allocate at least one byte
14567 to coding->destination.
14568
14569 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
14570
14571 * charset.c (Fmake_char): Make it more backward compatible.
14572 (Fmap_charset_chars): Fix docstring.
14573
145742008-02-01 Dave Love <fx@gnu.org>
14575
14576 * coding.c: Doc fixes.
14577 (Fdefine_coding_system_alias): Use names, not symbols, in
14578 coding-system-alist.
14579
145802008-02-01 Kenichi Handa <handa@m17n.org>
14581
14582 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
14583 of calling free_realized_face.
14584
145852008-02-01 Yong Lu <lyongu@asia-infonet.com>
14586
14587 * charset.c (read_hex): Don't treat SPC as a comment starter.
14588 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
14589 (Fdecode_char): Fix typo.
14590
145912008-02-01 Kenichi Handa <handa@m17n.org>
14592
14593 * charset.h (struct charset): New member `code_space_mask'.
14594
14595 * coding.c (coding_set_source): Delete the local variable beg_byte.
14596 (encode_coding_charset, Fdefine_coding_system_internal):
14597 Delete the local variable charset.
14598 (Fdefine_coding_system_internal): Setup
14599 attrs[coding_attr_charset_valids] correctly.
14600
14601 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
14602 member to check if CODE is valid or not.
14603 (Fdefine_charset_internal): Initialize `code_space_mask' member.
14604 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
14605 is within the range of charset->min_code and carset->max_code.
14606
146072008-02-01 Dave Love <fx@gnu.org>
14608
14609 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
14610
14611 * dispextern.h (generate_ascii_font): Fix return type.
14612
14613 * xfaces.c (generate_ascii_font): Fix arg declaration.
14614
14615 * coding.c (coding_inherit_eol_type)
14616 (Fset_terminal_coding_system_internal)
14617 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
14618
146192008-02-01 Kenichi Handa <handa@m17n.org>
14620
14621 * coding.c (decode_coding_charset, encode_coding_charset): Handle
14622 multiple charsets correctly.
14623
146242008-02-01 Kenichi Handa <handa@m17n.org>
14625
14626 * search.c (boyer_moore): Fix handling of multibyte character
14627 translation.
14628
14629 * xdisp.c (display_mode_element): When the variable `elt' is
14630 changed, update `this' and `lisp_string'.
14631
146322008-02-01 Kenichi Handa <handa@m17n.org>
14633
14634 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
14635
14636 * callproc.c (Fcall_process): Be sure to give the current buffer
14637 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
14638
14639 * charset.c (struct charset_map_entries): New struct.
14640 (load_charset_map): Rename from parse_charset_map. New args
14641 entries and n_entries. Change caller.
14642 (load_charset_map_from_file): Rename from load_charset_map.
14643 Change caller. New arg control_flag. Call load_charset_map at
14644 the tail.
14645 (load_charset_map_from_vector): New function.
14646 (Fdefine_charset_internal): Setup charset.compact_codes_p.
14647 (encode_char): If the charset is compact, change a character index
14648 to a code point.
14649
14650 * coding.c (coding_alloc_by_making_gap): Check the case that the
14651 source and destination are the same correctly.
14652 (decode_coding_raw_text): Set coding->consumed_char and
14653 coding->consumed to 0.
14654 (produce_chars): If coding->chars_at_source is nonzero, update
14655 coding->consumed_char and coding->consumed before calling
14656 alloc_destination.
14657 (Fdefine_coding_system_alias): Register ALIAS in
14658 Vcoding_system_alist.
14659 (syms_of_coding): Define `no-conversion' coding system at the tail.
14660
14661 * fileio.c (Finsert_file_contents): Set coding_system instead of
14662 val. If the current buffer is multibyte, always call
14663 decode_coding_gap.
14664
14665 * xfaces.c (try_font_list): Give higher priority to fontset's
14666 family than face's family.
14667
146682008-02-01 Kenichi Handa <handa@m17n.org>
14669
14670 * callproc.c (Fcall_process): Be sure to give the current buffer
14671 to decode_coding_c_string.
14672
14673 * xfaces.c (try_font_list): Give a family specified in a fontset
14674 higher priority than a family specified in a face.
14675
146762008-02-01 Kenichi Handa <handa@m17n.org>
14677
14678 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
14679 Fix arguments to insert_from_buffer.
14680
14681 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
14682
146832008-02-01 Kenichi Handa <handa@m17n.org>
14684
14685 * coding.c (produce_chars): Set the variable `multibytep' correctly.
14686 (decode_coding_gap): Set coding->dst_multibyte correctly.
14687
146882008-02-01 Kenichi Handa <handa@m17n.org>
14689
14690 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
14691 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
14692 (encode_coding_utf_16): Substitute coding->default_char for
14693 non-Unicode characters.
14694 (decode_coding): Don't call record_insert here.
14695 (setup_coding_system): Initialize `surrogate' of
14696 coding->spec.utf_16 to 0.
14697 (EMIT_ONE_BYTE): Fix for multibyte case.
14698
14699 * insdel.c (insert_from_gap): Call record_insert.
14700
147012008-02-01 Kenichi Handa <handa@m17n.org>
14702
14703 * casefiddle.c (casify_region): Fix multibyte case.
14704
14705 * character.c (c_string_width): Add return type `int'.
14706 (char_string_with_unification): Delete arg ADVANCED.
14707
14708 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
14709 (CHAR_STRING): Adjust for the change of char_string_with_unification.
14710 (CHAR_STRING_ADVANCE): Make it do-while statement.
14711
14712 * chartab.c (sub_char_table_set_range): Optimize for the case
14713 DEPTH == 3. Add workaround code for a GCC optimization bug.
14714
14715 * charset.c (parse_charset_map): Remove an unused variable.
14716
14717 * coding.c: Delete unused variables.
14718
14719 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
14720 earlier. If inserted is zero and the coding system doesn't
14721 require flushing, don't call decode_coding_gap.
14722
14723 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
14724
147252008-02-01 Kenichi Handa <handa@m17n.org>
14726
14727 The following changes are for using Unicode as an internal
14728 character model, and use UTF-8 format for buffer/string
14729 representation.
14730
14731 * .gdbinit (xchartable): Adjust for the change of char table structure.
14732 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
14733
14734 * Makefile.in (obj): Add character.o and chartab.o.
14735 (lisp, shortlisp): Remove utf-8.elc.
14736 (*.o): For many files, change dependency on charset.h to
14737 character.h, and add dependency on character.h.
14738 (character.o, chartab.o): New targets.
14739
14740 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14741 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14742 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14743 of "charset.h".
14744
14745 * dired.c, filelock.c: Include "character.h".
14746
14747 * alloc.c: Include "character.h" instead of "charset.h".
14748 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14749 (syms_of_alloc): Remove defsubr for Smake_char_table.
14750
14751 * buffer.c: Include "character.h" instead of "charset.h", don't
14752 include "coding.h".
14753 (Fset_buffer_multibyte): Adjust for UTF-8.
14754
14755 * buffer.h: EXFUN Fbuffer_live_p.
14756
14757 * callproc.c: Include "character.h" instead of "charset.h".
14758 (Fcall_process): Big change for the new code-conversion APIs.
14759
14760 * casetab.c: Include "character.h" instead of "charset.h".
14761 (set_canon, set_identity, shuffle): Adjust for the new
14762 map_char_table spec.
14763 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14764 accessing the char table structure.
14765
14766 * chartab.c: New file that implements char table.
14767
14768 * category.c: Include "character.h".
14769 (copy_category_entry): New function.
14770 (copy_category_table): Call map_char_table and copy_category_entry.
14771 (Fmake_category_table): Initialize all top-level slots.
14772 (char_category_set): New function.
14773 (modify_lower_category_set): Delete.
14774 (Fmodify_category_entry): Call char_table_ref_and_range.
14775
14776 * category.h (CATEGORY_SET): Just call char_category_set.
14777
14778 * ccl.c: Include "character.h".
14779 (Qccl, Qcclp): New variables.
14780 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14781 it's less than 256.
14782 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14783 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14784 and DST type.
14785 (ccl_driver): Change types of argument, adjust code accordingly.
14786 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14787 ccl_driver.
14788 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14789
14790 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14791 New members src_multibyte, dst_multibyte, consumed, and produced.
14792 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14793 (CODING_SPEC_CCL_PROGRAM): New macro.
14794 (ccl_driver): Update prototype.
14795 (Qccl, Qcclp, Fccl_program_p): Extern them.
14796 (CHECK_CCL_PROGRAM): New macro.
14797
14798 * character.c, character.h, chartab.c: New files.
14799
14800 * charset.c: Mostly re-written. Move character and multibyte sequence
14801 handling codes to character.c.
14802
14803 * charset.h: Mostly re-written. Move character and multibyte sequence
14804 handling codes to character.h.
14805
14806 * coding.c, coding.h: Mostly re-written.
14807
14808 * composite.c: Include "character.h" instead of "charset.h".
14809 (CHAR_WIDTH): Move to character.h.
14810 (HASH_KEY, HASH_VALUE): Delete.
14811
14812 * composite.h (enum composition_method): Change order of enumeration
14813 symbols.
14814
14815 * data.c: Include "character.h" instead of "charset.h".
14816 (Faref): Call CHAR_TABLE_REF for a char table.
14817 (Faset): Call CHAR_TABLE_SET for a char table.
14818
14819 * dispextern.h (free_realized_face, check_face_attribytes)
14820 (generate_ascii_font): Extern them.
14821 (free_realized_multibyte_face): Delete extern.
14822
14823 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14824 table structure.
14825
14826 * editfns.c: Include "character.h" instead of "charset.h".
14827 (Fchar_to_string): Always call CHAR_STRING.
14828
14829 * emacs.c (main): Call init_charset_once, init_charset,
14830 syms_of_chartab, and syms_of_character.
14831
14832 * fileio.c: Include "character.h" instead of "charset.h".
14833 (Finsert_file_contents): Big change for the new code-conversion API.
14834 (choose_write_coding_system, Fwrite_region): Likewise.
14835 (build_annotations_2): Delete.
14836 (e_write): Big change for the new code-conversion API.
14837
14838 * fns.c: Include "character.h" instead of "charset.h".
14839 (copy_sub_char_table): Move to chartab.c.
14840 (Fcopy_sequence): Call copy_char_table for a char table.
14841 (concat): Delete codes calling count_multibyte.
14842 (string_char_to_byte, string_byte_to_char): Adjust for the new
14843 multibyte form.
14844 (internal_equal): Adjust for the change of char table structure.
14845 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
14846 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
14847 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
14848 (char_table_translate, optimize_sub_char_table)
14849 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
14850 chartab.c.
14851 (char_table_ref_and_index): Delete.
14852 (HASH_KEY, HASH_VALUE): Move to lisp.h.
14853 (Fmd5): Call preferred_coding_system instead of accessing
14854 Vcoding_category_list. Adjust for the new code-conversion API.
14855 (syms_of_fns): Move defsubr for char table related functions to
14856 chartab.c.
14857
14858 * fontset.c: Mostly re-written.
14859
14860 * fontset.h (struct font_info): Change type of the member encoding_type.
14861 (enum FONT_SPEC_INDEX): New enum.
14862 (fontset_font_pattern, fs_load_font): Update prototype.
14863 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
14864
14865 * indent.c: Include "character.h" instead of "charset.h".
14866 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
14867
14868 * insdel.c: Include "character.h" instead of "charset.h".
14869 (copy_text): Don't refer to Vnonascii_translation_table.
14870 (insert_from_gap): New function.
14871
14872 * keyboard.c: Include "character.h" instead of "charset.h".
14873 (command_loop_1): Never call direct_output_forward_char before
14874 a non-ASCII character.
14875 (read_char): If Vkeyboard_translate_table is a char table, always
14876 translate a character.
14877
14878 * keymap.c: Include "character.h".
14879 (store_in_keymap): Handle the case that IDX is a cons.
14880 (Fdefine_key): Handle the case that KEY is a cons and the car part
14881 is also a cons (range).
14882 (push_key_description): Adjust for the new character code.
14883 (describe_vector): Call describe_char_table for a char table.
14884 (describe_char_table): New function.
14885
14886 * keymap.h (describe_char_table): Extern it.
14887
14888 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
14889 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
14890 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
14891 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
14892 Delete.
14893 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
14894 structure.
14895 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
14896 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
14897 (CHARTAB_SIZE_BITS_3): New macros.
14898 (chartab_size): Extern it.
14899 (struct Lisp_Char_Table): Re-design.
14900 (struct Lisp_Sub_Char_Table): New structure.
14901 (HASH_KEY, HASH_VALUE): Move from fns.c.
14902 (CHARACTERBITS): Define as 22.
14903 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
14904 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
14905 (GC_SUB_CHAR_TABLE_P): New macro.
14906 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
14907 (code_convert_string_norecord): Deleted extern.
14908 (init_character_once, syms_of_character, init_charset)
14909 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
14910
14911 * lread.c: Include "character.h".
14912 (read_multibyte): New arg NBYTES.
14913 (read_escape): Change the meaning of returned *BYTEREP.
14914 (to_multibyte): Delete.
14915 (read1): Adjust the handling of char table and string.
14916
14917 * print.c: Include "character.h" instead of "charset.h".
14918 (print_string): Convert 8-bit raw bytes to octal form by
14919 string_escape_byte8.
14920 (print_object): Adjust for the new multibyte form. Print 8-bit
14921 raw bytes always in octal form. Handle sub char table correctly.
14922
14923 * process.c: Include "character.h" instead of "charset.h".
14924 (read_process_output, send_process): Adjust for the new
14925 code-conversion API.
14926
14927 * puresize.h (BASE_PURESIZE): Increase.
14928
14929 * regex.c: Include "character.h" instead of "charset.h".
14930 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
14931 (regex_compile): Accept a range whose starting and ending
14932 character have different leading bytes.
14933 (analyse_first): Adjust for the above change.
14934
14935 * search.c: Include "character.h" instead of "charset.h".
14936 (search_buffer, boyer_moore): Adjust for the new multibyte form.
14937 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
14938
14939 * syntax.c: Include "character.h" instead of "charset.h".
14940 (syntax_parent_lookup): Delete.
14941 (Fmodify_syntax_entry): Accept a cons as CHAR.
14942 (skip_chars): Adjust for the new multibyte form.
14943 (init_syntax_once): Call char_table_set_range instead of directly
14944 accessing the structure of a char table.
14945
14946 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
14947 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
14948 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
14949 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
14950
14951 * term.c: Include "buffer.h" and "character.h".
14952 (encode_terminal_code, write_glyphs): Adjust for the new
14953 code-conversion API.
14954 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
14955
14956 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
14957
14958 * xdisp.c: Include "character.h".
14959 (get_next_display_element): Adjust for the new multibyte form.
14960 (disp_char_vector): Adjust for the new char table structure.
14961 (decode_mode_spec_coding): Adjust for the new structure of
14962 coding system.
14963 (decode_mode_spec): Adjust for the new code-conversion API.
14964
14965 * xfaces.c: Include "character.h" instead of "charset.h".
14966 (load_face_font): Adjust for the change of choose_face_font and
14967 FS_LOAD_FONT.
14968 (generate_ascii_font): New function.
14969 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
14970 (set_font_frame_param): Adjust for the change of choose_face_font.
14971 (free_realized_face): Make it public.
14972 (free_realized_faces_for_fontset): Rename from
14973 free_realized_multibyte_face. Free also faces realized for ASCII.
14974 (choose_face_font): Change arguments. Adjust for the change of
14975 fontset_font_pattern and FS_LOAD_FONT.
14976
14977 * xfns.c: Include "character.h".
14978 (x_encode_text): Adjust for the new code-conversion API.
14979
14980 * xselect.c: Don't include "charset.h".
14981 (selection_data_to_lisp_data): Adjust for the new code conversion API.
14982
14983 * xterm.c: Include "character.h".
14984 (x_encode_char): New argument CHARSET. Change caller.
14985 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
14986 Call ENCODE_CHAR instead of SPLIT_CHAR.
14987 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
14988 CHAR_WIDTH instead of CHARSET_WIDTH.
14989 (XTread_socket): Adjust for the new code-conversion API.
14990 (x_new_font): Adjust for the change of FS_LOAD_FONT.
14991 (x_load_font): Adjust for the change of struct font.
14992
149932008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
14994
14995 * xfaces.c (face_at_buffer_position): Remove unused vars.
14996
149972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14998
14999 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
15000 Fix overflow checking.
15001
150022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
15003
15004 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
15005 Cancel previous change.
15006
150072008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
15008
15009 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
15010 ccl->eight_bit_control. Fix check for buffer overflow.
15011 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
15012 (ccl_driver): Initialize extra_bytes to 0.
15013
150142008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
15015
15016 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
15017 return it ORed with ctrl_modifier.
15018
150192008-01-29 Miles Bader <miles@gnu.org>
15020
15021 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
15022
150232008-01-28 Jason Rumney <jasonr@gnu.org>
15024
15025 * w32.c (stat): Don't double check for networked drive.
15026
150272008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
15028
15029 * window.c (run_window_configuration_change_hook): New function.
15030 Code extracted from set_window_buffer. Set the selected frame.
15031 (set_window_buffer): Use it.
15032 * window.h (run_window_configuration_change_hook): Declare.
15033 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
15034
15035 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
15036
150372008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
15038
15039 * Makefile.in: Remove references to unused macros.
15040
150412008-01-26 Eli Zaretskii <eliz@gnu.org>
15042
15043 * w32.c (g_b_init_get_sid_sub_authority)
15044 (g_b_init_get_sid_sub_authority_count): New static variables.
15045 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
15046 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
15047 (init_user_info): Use them to retrieve uid and gid.
15048 Use 500/513, the Windows defaults, as Administrator's uid/gid.
15049 (fstat): Use pw_uid and pw_gid from the_passwd structure for
15050 st_uid and st_gid of the file.
15051
150522008-01-26 Jason Rumney <jasonr@gnu.org>
15053
15054 * w32.c (logon_network_drive): New function.
15055 (stat): Use it.
15056
150572008-01-26 Chong Yidong <cyd@stupidchicken.com>
15058
15059 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
15060 invisible text covered with an ellipsis.
15061
150622008-01-25 Richard Stallman <rms@gnu.org>
15063
15064 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
15065 jump back to beginning. Move some other initializations after that.
15066 (Qwindow_text_change_functions, Vwindow_text_change_functions):
15067 New variables.
15068 (syms_of_xdisp): Init them.
15069
15070 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
15071
15072 * buffer.c (reset_buffer_local_variables):
15073 Implement `permanent-local-hook'.
15074 (Qpermanent_local_hook): New variable.
15075 (syms_of_buffer): Init and staticpro it.
15076
150772008-01-25 Michael Albinus <michael.albinus@gmx.de>
15078
15079 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
15080
150812008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
15082
15083 * fns.c (Fclrhash): Return TABLE.
15084
150852008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15086
15087 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
15088 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
15089 is set even without positional changes.
15090 (x_scroll_bar_clear): Set bar->redraw_needed_p.
15091
15092 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
15093
150942008-01-23 Jason Rumney <jasonr@gnu.org>
15095
15096 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
15097
15098 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
15099 the unicode range available in MULE by locale-coding-system.
15100 Improve dbcs lead byte detection. Set event timestamp and modifiers
15101 earlier.
15102
151032008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15104
15105 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
15106 [MAC_OSX] (init_mac_osx_environment): Initialize it.
15107 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
15108 when used on child processes.
15109
151102008-01-21 Michael Albinus <michael.albinus@gmx.de>
15111
15112 * dbusbind.c (Fdbus_method_return_internal): Rename from
15113 Fdbus_method_return.
15114 (Fdbus_unregister_object): Move to dbus.el.
15115 (Fdbus_call_method, Fdbus_method_return_internal)
15116 (Fdbus_send_signal): Improve debug messages.
15117
151182008-01-20 Martin Rudalics <rudalics@gmx.at>
15119
15120 * undo.c (undo_inhibit_record_point): New variable.
15121 (syms_of_undo): Initialize it.
15122 (record_point): Don't record point when undo_inhibit_record_point
15123 is set.
15124
151252008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
15126
15127 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
15128
15129 * xdisp.c (Qauto_hscroll_mode): New var.
15130 (syms_of_xdisp): Initialize it.
15131 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
15132 window's buffer.
15133 (hscroll_windows): Don't check automatic_hscrolling_p here.
15134
15135 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
15136 vscroll if we're setting window-buffer to the value it already has.
15137
151382008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
15139
15140 * m/intel386.h: Remove references to XENIX.
15141
151422008-01-17 Andreas Schwab <schwab@suse.de>
15143
15144 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
15145 instead of HAVE_X86_64_LIB64_DIR.
15146 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
15147
151482008-01-17 Glenn Morris <rgm@gnu.org>
15149
15150 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
15151 to HAVE_X86_64_LIB64_DIR.
15152
151532008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
15154
15155 * s/irix3-3.h:
15156 * s/irix4-0.h:
15157 * s/386-ix.h:
15158 * s/domain.h:
15159 * s/hpux9-x11r4.h:
15160 * s/hpux9shxr4.h: Remove files for systems no longer supported.
15161
15162 * sysdep.c: Remove code containing references to symbols defined
15163 by unsupported systems.
15164
151652008-01-16 Glenn Morris <rgm@gnu.org>
15166
15167 * coding.c (select-safe-coding-system-function): Doc fix.
15168
151692008-01-15 Glenn Morris <rgm@gnu.org>
15170
15171 * config.in: Revert 2008-01-13 change: this is a generated file.
15172
151732008-01-13 Tom Tromey <tromey@redhat.com>
15174
15175 * lisp.h: Fix typo.
15176
151772008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15178
15179 * m/sequent-ptx.h:
15180 * m/sequent.h:
15181 * s/ptx.h:
15182 * s/ptx4-2.h:
15183 * s/ptx4.h: Remove files for systems no longer supported.
15184
15185 * callproc.c (Fcall_process): Fix previous change.
15186
151872008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15188
15189 * unexsunos4.c: Remove file, system not supported anymore.
15190
15191 * m/mips.h:
15192 * m/intel386.h:
15193 * callproc.c:
15194 * config.in:
15195 * ecrt0.c:
15196 * emacs.c:
15197 * fileio.c:
15198 * frame.c:
15199 * getpagesize.h:
15200 * keyboard.c:
15201 * lread.c:
15202 * process.c:
15203 * puresize.h:
15204 * sysdep.c:
15205 * systty.h:
15206 * syswait.h:
15207 * unexec.c:
15208 * xdisp.c:
15209 * alloc.c: Remove code containing references to symbols defined by
15210 unsupported systems.
15211
152122008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
15213
15214 * coding.c (detect_coding_mask): Fix previous change.
15215
152162008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
15217
15218 * coding.c (detect_coding_iso2022): New arg
15219 latin_extra_code_state. Allow Latin extra codes only
15220 when *latin_extra_code_state is nonzero.
15221 (detect_coding_mask): If there is a NULL byte, detect the encoding
15222 as UTF-16 or binary. If Latin extra codes exist, detect the
15223 encoding as ISO-2022 only when there's no other proper encoding is
15224 found.
15225
152262008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15227
15228 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
15229 #ifdef MAC_OS.
15230
152312008-01-08 Richard Stallman <rms@gnu.org>
15232
15233 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
15234
152352008-01-06 Nick Roberts <nickrob@snap.net.nz>
15236
15237 * keyboard.c (parse_menu_item): Don't enclose key bindings on
15238 menu bar in parentheses.
15239
152402008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
15241
15242 * m/7300.h:
15243 * m/acorn.h:
15244 * m/alliant-2800.h:
15245 * m/alliant.h:
15246 * m/alliant1.h:
15247 * m/alliant4.h:
15248 * m/altos.h:
15249 * m/amdahl.h:
15250 * m/apollo.h:
15251 * m/att3b.h:
15252 * m/aviion-intel.h:
15253 * m/aviion.h:
15254 * m/celerity.h:
15255 * m/clipper.h:
15256 * m/cnvrgnt.h:
15257 * m/convex.h:
15258 * m/cydra5.h:
15259 * m/delta88k.h:
15260 * m/dpx2.h:
15261 * m/dual.h:
15262 * m/elxsi.h:
15263 * m/f301.h:
15264 * m/gould-np1.h:
15265 * m/gould.h:
15266 * m/i860.h:
15267 * m/ibmps2-aix.h:
15268 * m/ibmrt-aix.h:
15269 * m/ibmrt.h:
15270 * m/irist.h:
15271 * m/is386.h:
15272 * m/isi-ov.h:
15273 * m/mega68.h:
15274 * m/mg1.h:
15275 * m/news-r6.h:
15276 * m/news-risc.h:
15277 * m/news.h:
15278 * m/nh3000.h:
15279 * m/nh4000.h:
15280 * m/ns16000.h:
15281 * m/ns32000.h:
15282 * m/nu.h:
15283 * m/orion.h:
15284 * m/orion105.h:
15285 * m/paragon.h:
15286 * m/pfa50.h:
15287 * m/plexus.h:
15288 * m/pyramid.h:
15289 * m/pyrmips.h:
15290 * m/sh3el.h:
15291 * m/sps7.h:
15292 * m/sr2k.h:
15293 * m/stride.h:
15294 * m/sun1.h:
15295 * m/sun2.h:
15296 * m/sun3-68881.h:
15297 * m/sun3-fpa.h:
15298 * m/sun3-soft.h:
15299 * m/sun3.h:
15300 * m/sun386.h:
15301 * m/symmetry.h:
15302 * m/tad68k.h:
15303 * m/tahoe.h:
15304 * m/targon31.h:
15305 * m/tek4300.h:
15306 * m/tekxd88.h:
15307 * m/tower32.h:
15308 * m/tower32v3.h:
15309 * m/ustation.h:
15310 * m/wicat.h:
15311 * m/xps100.h:
15312 * s/cxux.h:
15313 * s/cxux7.h:
15314 * s/dgux.h:
15315 * s/dgux4.h:
15316 * s/dgux5-4-3.h:
15317 * s/dgux5-4r2.h:
15318 * s/esix.h:
15319 * s/esix5r4.h:
15320 * s/hiuxmpp.h:
15321 * s/hiuxwe2.h:
15322 * s/iris3-5.h:
15323 * s/iris3-6.h:
15324 * s/isc2-2.h:
15325 * s/isc3-0.h:
15326 * s/isc4-0.h:
15327 * s/isc4-1.h:
15328 * s/newsos5.h:
15329 * s/newsos6.h:
15330 * s/osf1.h:
15331 * s/osf5-0.h:
15332 * s/riscix1-1.h:
15333 * s/riscix12.h:
15334 * s/sco4.h:
15335 * s/sco5.h:
15336 * s/sunos4-0.h:
15337 * s/sunos4-1.h:
15338 * s/sunos413.h:
15339 * s/sunos4shr.h:
15340 * s/umax.h:
15341 * s/unipl5-2.h:
15342 * s/xenix.h:
15343 * cxux-crt0.s:
15344 * unexapollo.c:
15345 * unexconvex.c:
15346 * unexenix.c:
15347 * unexsni.c: Remove files for systems no longer supported.
15348
15349 * m/intel386.h: Remove references to unsupported systems.
15350
15351 * w32.c (get_emacs_configuration): Remove reference to i860.
15352
15353 * sysdep.c: Remove dead code.
15354
153552008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
15356
15357 * s/rtu.h:
15358 * m/masscomp.h: Remove files. Platform is obsolete.
15359
153602008-01-04 Michael Albinus <michael.albinus@gmx.de>
15361
15362 * dbusbind.c (Fdbus_method_return): New function.
15363 (xd_read_message): Add the serial number to the event.
15364 (Fdbus_register_method): Activate the function.
15365
153662008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
15367
15368 * keyboard.c (read_key_sequence): Fix typo.
15369
153702008-01-03 Michael Albinus <michael.albinus@gmx.de>
15371
15372 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
15373 (xd_signature, xd_append_arg): Handle element type detection for
15374 empty arrays.
15375 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
15376 SDATA () calls; this must be solved more general.
15377 (Fdbus_register_signal): Use SBYTES instead of strlen.
15378
153792008-01-03 Magnus Henoch <magnus@zemdatav>
15380
15381 * dbusbind.c (xd_append_arg): Use unsigned char instead of
15382 unsigned int for byte values (necessary for big-endian platform).
15383 (Fdbus_call_method): Handle the case of no returned arguments.
15384
153852007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15386
15387 * dbusbind.c (xd_read_message): Use non-static input_event struct.
15388
153892007-12-31 Magnus Henoch <mange@freemail.hu>
15390
15391 * dbusbind.c (xd_signature): Signature of variant is just "v".
15392
153932007-12-30 Michael Albinus <michael.albinus@gmx.de>
15394
15395 * dbusbind.c: Fix several errors and compiler warnings.
15396 Reported by Tom Tromey <tromey@redhat.com>.
15397 (XD_ERROR, XD_DEBUG_MESSAGE)
15398 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
15399 (xd_append_arg): Part for basic D-Bus types rewritten.
15400 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
15401 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
15402 appropriate.
15403 (xd_read_message): Return Qnil. Don't signal an error; it is not
15404 useful during event reading.
15405 (Fdbus_register_signal): Signal an error if the check for
15406 FUNCTIONP fails.
15407 (Fdbus_register_method): New function. The implementation is not
15408 complete, the call of the function signals an error therefore.
15409 (Fdbus_unregister_object): New function, renamed from
15410 Fdbus_unregister_signal. The initial check signals an error, if
15411 the object is not well formed.
15412
154132007-12-30 Richard Stallman <rms@gnu.org>
15414
15415 * textprop.c (get_char_property_and_overlay):
15416 Signal error if POSITION is out of range in a buffer.
15417
154182007-12-29 Martin Rudalics <rudalics@gmx.at>
15419
15420 * w32fns.c (Fx_create_frame): Make copy of frame parameters
15421 because the original parameters are in pure storage now.
15422
154232007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15424
15425 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
15426
154272007-12-22 Eli Zaretskii <eliz@gnu.org>
15428
15429 * callint.c (syms_of_callint) <command-history>: Add reference to
15430 history-length in the doc string.
15431
154322007-12-17 Jason Rumney <jasonr@gnu.org>
15433
15434 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
15435 before passing as wParam.
15436
154372007-12-22 Michael Albinus <michael.albinus@gmx.de>
15438
15439 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
15440 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
15441 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
15442 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
15443 as number.
15444 (Fdbus_call_method): Fix docstring.
15445
154462007-12-21 Michael Albinus <michael.albinus@gmx.de>
15447
15448 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
15449 New macros.
15450 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
15451 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
15452 Simplify.
15453 (xd_signature): New function.
15454 (xd_append_arg): Compute also signatures. Major rewrite.
15455 (xd_retrieve_arg): Make debug messages friendly.
15456 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
15457 Check for signatures of arguments.
15458
154592007-12-19 Michael Albinus <michael.albinus@gmx.de>
15460
15461 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
15462 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
15463 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
15464 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
15465 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
15466 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
15467 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
15468 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
15469 (xd_retrieve_value): Remove. Functionality included in ...
15470 (xd_append_arg): New function.
15471 (Fdbus_call_method, Fdbus_send_signal): Apply it.
15472
154732007-12-16 Michael Albinus <michael.albinus@gmx.de>
15474
15475 * dbusbind.c (top): Include <stdio.h>.
15476 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
15477 dbus_message_new_method_call and dbus_message_new_signal.
15478 (Fdbus_register_signal): Rename unique_name to uname.
15479 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
15480 non-existing unique name. Fix typos in matching rule. Return an
15481 object which is useful in Fdbus_unregister_signal.
15482 (Fdbus_unregister_signal): Reimplementation, in order to remove
15483 only the corresponding entry.
15484 (Vdbus_registered_functions_table): Change the order of entries.
15485 Apply these changes in xd_read_message and Fdbus_register_signal.
15486
154872007-12-16 Andreas Schwab <schwab@suse.de>
15488
15489 * fileio.c (Finsert_file_contents): Fix overflow check to not
15490 depend on undefined integer overflow.
15491
154922007-12-14 Jason Rumney <jasonr@gnu.org>
15493
15494 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
15495 for characters above 127.
15496
154972007-12-13 Jason Rumney <jasonr@gnu.org>
15498
15499 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
15500 before dereferencing array.
15501 (lookup_vk_code): Remove zero comparison.
15502
155032007-12-14 Michael Albinus <michael.albinus@gmx.de>
15504
15505 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
15506 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
15507 Use `unsigned int' instead of `uint'.
15508 (xd_read_message, Fdbus_register_signal): Split expressions into
15509 multiple lines before operators "&&" and "||", according to the
15510 GNU Coding Standards.
15511
155122007-12-14 Eli Zaretskii <eliz@gnu.org>
15513
15514 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
15515
155162007-12-12 Juri Linkov <juri@jurta.org>
15517
15518 * buffer.c (Frename_buffer): In interactive spec replace
15519 `read-buffer' with `read-string' that uses `buffer-name-history'
15520 as history, and the current buffer's name as default.
15521
155222007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
15523
15524 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
15525 manipulating the backtrace manually.
15526 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
15527 (struct backtrace, backtrace_list): Remove.
15528 (command_loop_1): Remove dead var `no_direct'.
15529
15530 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
15531 preserve non-built-in buffer-local variables.
15532 (Fkill_all_local_variables): Don't re-create&re-set permanent
15533 buffer-local variables.
15534
155352007-12-09 Juri Linkov <juri@jurta.org>
15536
15537 * buffer.c (Frename_buffer): Change interactive spec from "s" to
15538 Lisp code that uses `read-buffer' with current buffer as default.
15539
155402007-12-08 Michael Albinus <michael.albinus@gmx.de>
15541
15542 * dbusbind.c (xd_read_message): Generate an event for every
15543 registered handler. There might be several handlers registered
15544 for the same signal.
15545 (Fdbus_register_signal): Don't overwrite a registration for the
15546 same signal. Add a new registration if handlers are different.
15547 (Vdbus_registered_functions_table): Rework doc string.
15548
155492007-12-07 Michael Albinus <michael.albinus@gmx.de>
15550
15551 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
15552 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
15553 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
15554 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
15555 Unify argument lists.
15556 (xd_read_message, Fdbus_register_signal): Reorder and extend event
15557 arguments and hash table keys. Use unique name for service.
15558 (Fdbus_unregister_signal): Remove checks.
15559 (Vdbus_registered_functions_table): Fix doc string.
15560
155612007-12-05 Magnus Henoch <mange@freemail.hu>
15562
15563 * process.c (make_process): Initialize pty_flag to 0.
15564
155652007-12-05 Jason Rumney <jasonr@gnu.org>
15566
15567 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
15568 specified XBMs.
15569
155702007-12-05 Richard Stallman <rms@gnu.org>
15571
15572 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
15573
155742007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15575
15576 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
15577 New variable.
15578 (mac_try_close_socket) [MAC_OSX]: New function.
15579 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
15580 Update cfsockets_for_select. Replace invalid CFRunLoop source.
15581
15582 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
15583 Use mac_try_close_socket.
15584
155852007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15586
15587 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
15588 reloc_base.
15589 (copy_dysymtab): Compute relocation base here.
15590 (rebase_reloc_address) [__ppc64__]: New function.
15591 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
15592 changed.
15593
155942007-12-05 Jason Rumney <jasonr@gnu.org>
15595
15596 * w32proc.c (sys_spawnve): Quote args with wildcards.
15597
155982007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15599
15600 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
15601 __objc_* sections.
15602 (unrelocate) [_LP64]: Set relocation base to address of data segment.
15603
156042007-12-05 Michael Albinus <michael.albinus@gmx.de>
15605
15606 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
15607 Move check for Vdbus_registered_functions_table to
15608 xd_read_queued_messages.
15609 (xd_read_queued_messages): Protect xd_read_message calls by
15610 internal_condition_case_1.
15611
156122007-12-04 Michael Albinus <michael.albinus@gmx.de>
15613
15614 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
15615 Qdbus_system_bus and Qdbus_session_bus, respectively.
15616 (Vdbus_intern_symbols): Remove.
15617 (Vdbus_registered_functions_table): New hash table.
15618 (XD_SYMBOL_INTERN_SYMBOL): Remove.
15619 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
15620 Rewrite in order to manage registered functions by hash table
15621 Vdbus_registered_functions_table.
15622
156232007-12-03 Jan Djärv <jan.h.d@swipnet.se>
15624
15625 * xterm.c: Update URL to Window Manager Specification in comment.
15626
156272007-12-02 Michael Albinus <michael.albinus@gmx.de>
15628
15629 * config.in (HAVE_DBUS): Add.
15630
15631 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
15632 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
15633 (obj): Add $(DBUS_OBJ).
15634 (LIBES): Add $(DBUS_LIBS).
15635 (dbusbind.o): New target.
15636
15637 * dbusbind.c: New file.
15638
15639 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
15640
15641 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
15642 (Qdbus_event): New Lisp symbol.
15643 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
15644 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 15645 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
15646
15647 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
15648
156492007-12-01 Richard Stallman <rms@gnu.org>
15650
15651 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
15652
156532007-11-30 Jason Rumney <jasonr@gnu.org>
15654
15655 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
15656 (w32con_reset_terminal_modes): Clear screen buffer.
15657 (w32_face_attributes): Don't use color indexes that are out of range.
15658 Only reverse the default colors.
15659
15660 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
15661 WINDOWSNT.
15662
15663 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
15664
156652007-11-29 Jason Rumney <jasonr@gnu.org>
15666
15667 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
15668 (w32_face_attributes): Use Vtty_defined_color_alist to determine
15669 if the terminal colors are initialized.
15670 (unspecified_fg, unspecified_bg): Remove unused declarations.
15671
156722007-11-29 Andreas Schwab <schwab@suse.de>
15673
15674 * keyboard.c (apply_modifiers): Fix typo.
15675
156762007-11-29 Richard Stallman <rms@gnu.org>
15677
15678 * keymap.c (Fcurrent_local_map): Doc fix.
15679
156802007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
15681
15682 * s/gnu-kfreebsd.h: New file.
15683
156842007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
15685
15686 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
15687 Don't cast redundantly.
15688
15689 * keyboard.c (KEY_TO_CHAR): New macro.
15690 (parse_modifiers, apply_modifiers): Accept integer arguments.
15691 (read_key_sequence): Use them to unify the "shift->unshift" mapping
15692 for chars and symbol keys.
15693 After doing such remapping, apply function-key-map again.
15694
156952007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
15696
15697 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
15698 compiled anymore.
15699
157002007-11-26 Andreas Schwab <schwab@suse.de>
15701
15702 * process.c (list_processes_1): Fix indentation level of the
15703 command column.
15704
157052007-11-23 Andreas Schwab <schwab@suse.de>
15706
15707 * editfns.c (Fformat): Handle %c specially since it requires the
15708 argument to be of type int.
15709
157102007-11-23 Markus Triska <markus.triska@gmx.at>
15711
15712 * emacs.c (main): Call init_editfns before init_process, since
15713 init_process sets Vprocess_connection_type depending on OS release.
15714
157152007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
15716
15717 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
15718 (find_symbol_value): Use do_symval_forwarding.
15719
15720 * data.c (set_internal): Set the value in the `cons-cell' (for
15721 Buffer_Local_values) not only for frame-local variables.
15722
157232007-11-22 Andreas Schwab <schwab@suse.de>
15724
15725 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
15726 values to sprintf.
15727 * keymap.c (Fsingle_key_description): Likewise.
15728 * print.c (print_object): Likewise.
15729
157302007-11-22 Jan Djärv <jan.h.d@swipnet.se>
15731
15732 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
15733 file for image is nil.
15734
157352007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
15736
15737 * term.c: Include stdarg.h.
15738 (fatal): Implement using varargs.
15739 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15740
157412007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15742
15743 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15744 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15745 Update call to buffer_slot_type_mismatch.
15746 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15747 (buffer_slot_type_mismatch): Update.
15748 * buffer.c (buffer_local_types): Remove.
15749 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15750 (defvar_per_buffer): Set the type in the buffer_objfwd.
15751
157522007-11-21 Jason Rumney <jasonr@gnu.org>
15753
15754 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15755 CreateFileMapping returns NULL on failure.
15756
157572007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15758
15759 * search.c (Fset_match_data): Remove the `evaporate' feature.
15760 (unwind_set_match_data): Don't use the `evaporate' feature.
15761
157622007-11-21 Jason Rumney <jasonr@gnu.org>
15763
15764 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15765
15766 * w32console.c (w32con_write_glyphs): Remove unused variables.
15767
157682007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15769
15770 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15771
15772 * s/darwin.h (MULTI_KBOARD): Remove.
15773
15774 * macfns.c (x_create_tip_frame, Fx_create_frame)
15775 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15776
157772007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15778
15779 * buffer.c (Fbuffer_local_value): Remove redundant test.
15780 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15781 than in `current-buffer' to match the comment.
15782 Do the swap using swap_in_global_binding.
15783
15784 * data.c (store_symval_forwarding, set_internal):
15785 * eval.c (specbind): Remove dead code.
15786
15787 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15788 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15789 Since we do not want to see internal Lisp_*fwd objects here.
15790
157912007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15792
15793 * sysdep.c (init_system_name): Use getaddrinfo if available.
15794
15795 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15796 (x_scroll_bar_note_movement): start, end, with, height in struct
15797 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15798
157992007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15800
15801 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15802
158032007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15804
15805 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15806 This undoes Richard's change of 14-Oct-2002.
15807
15808 * alloc.c (allocate_other_vector):
15809 * lisp.h (allocate_other_vector): Remove.
15810
15811 * window.c (struct save_window_data): Move non-lisp data to the end
15812 and make it `int' rather than Lisp_Object.
15813 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15814 Done wrap/unwrap integer values.
15815 (Fset_window_configuration, compare_window_configurations):
15816 Update use of fields to their new types.
15817
15818 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15819 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15820 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15821 (SET_SCROLL_BAR_X_WINDOW): Remove.
15822 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15823 Access the new x_window field directly.
15824 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15825 Don't wrap/unwrap integers into Lisp_Objects.
15826 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15827 (x_scroll_bar_report_motion):
15828 Don't wrap/unwrap integers into Lisp_Objects.
15829 (x_term_init): Use SDATA.
15830 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15831 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15832 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15833 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15834 * xfns.c (x_set_background_color):
15835 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15836 Access the new x_window field directly.
15837
15838 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
15839 (allocate_pseudovector): Make non-static.
15840
15841 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
15842 (allocate_pseudovector): Declare.
15843 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
15844
158452007-11-15 Andreas Schwab <schwab@suse.de>
15846
15847 * editfns.c (Fformat): Correctly format EMACS_INT values.
15848 Also take precision into account when formatting an integer.
15849
15850 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
15851
158522007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
15853
15854 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
15855 (syms_of_keyboard): Defsubr it.
15856
15857 * data.c (swap_in_global_binding): Fix longstanding bug where
15858 store_symval_forwarding was not called with the right second argument,
15859 thus causing objfwd-ing from being dropped.
15860
158612007-11-14 Juanma Barranquero <lekktu@gmail.com>
15862
15863 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
15864 (Fx_display_pixel_height, Fx_display_planes)
15865 (Fx_display_color_cells, Fx_server_max_request_size)
15866 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15867 (Fx_display_visual_class, Fx_display_save_under):
15868 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
15869 (Fx_display_pixel_height, Fx_display_planes)
15870 (Fx_display_color_cells, Fx_server_max_request_size)
15871 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
15872 (Fx_display_mm_height, Fx_display_mm_width)
15873 (Fx_display_backing_store, Fx_display_visual_class)
15874 (Fw32_select_font, Fx_display_save_under):
15875 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
15876 (Fx_display_pixel_height, Fx_display_planes)
15877 (Fx_display_color_cells, Fx_server_max_request_size)
15878 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15879 (Fx_display_save_under): Fix typos in docstrings.
15880
158812007-11-14 Juanma Barranquero <lekktu@gmail.com>
15882
15883 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
15884 corresponding to deleted entries; they are an implementation detail.
15885 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
15886 Remove variables.
15887 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
15888 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
15889 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
15890 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
15891 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
15892 (Fw32_define_rgb_color, Fw32_load_color_file)
15893 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
15894 Fix typos in docstrings.
15895 (Fx_server_version): Reflow docstring.
15896 (Fw32_shell_execute): Doc fixes.
15897
158982007-11-13 Juanma Barranquero <lekktu@gmail.com>
15899
15900 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
15901 if w32_parse_hot_key returned nil.
15902
159032007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
15904
15905 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
15906
159072007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 15908
aac0c6e3
MR
15909 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
15910
15911 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
15912
15913 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
15914 Remove W32_SCROLL_BAR_CLICK_EVENT.
15915
15916 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
15917 Add MULTIMEDIA_KEY_EVENT.
15918
15919 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
15920 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15921 (make_lispy_event) [WINDOWSNT]: Use it to translate
15922 MULTIMEDIA_KEY_EVENT.
15923
15924 * w32term.h (WM_APPCOMMAND): Define if not already.
15925 (GET_APPCOMMAND_LPARAM): Likewise.
15926
15927 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
15928 WM_APPCOMMAND.
15929
15930 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
15931 (syms_of_w32fns): Export and initialize it.
15932 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
15933
159342007-11-09 Chong Yidong <cyd@stupidchicken.com>
15935
15936 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
15937 twice.
15938
15939 * xdisp.c (handle_face_prop): Fix last change.
15940
159412007-11-09 Richard Stallman <rms@gnu.org>
15942
15943 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
15944 not just for after-strings and before-strings.
15945 Call face_for_overlay_string and pass the overlay to it.
15946 (handle_display_prop): Determine whether property came from an overlay.
15947 Pass OVERLAY arg to handle_single_display_spec.
15948 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
15949 (load_overlay_strings): Fill in it->string_overlays.
15950 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
15951
15952 * xfaces.c (face_for_overlay_string): Function renamed from
15953 face_at_buffer_position_no_overlays, and add arg OVERLAY.
15954
15955 * dispextern.h (struct it): New elt string_overlays.
15956 New elt from_overlay, also in stack.
15957 Rearrange a few elements.
15958 (face_for_overlay_string): Decl renamed from
15959 face_at_buffer_position_no_overlays, and add argument.
15960
159612007-11-09 Richard Stallman <rms@gnu.org>
15962
15963 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
15964 to get the base face for an overlay string.
15965
15966 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15967
15968 * xfaces.c (face_at_buffer_position_no_overlays): New function.
15969
15970 * xdisp.c (handle_stop): Move some code out of loop.
15971
159722007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15973
15974 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
15975 Fix conversion from Lisp object to ATSUFontID.
15976
159772007-11-09 Jason Rumney <jasonr@gnu.org>
15978
15979 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
15980
159812007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15982
15983 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
15984 Don't assume regions are aligned to page boundary.
15985 (print_load_command_name): Add LC_UUID if defined.
15986
159872007-11-09 Richard Stallman <rms@gnu.org>
15988
15989 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
15990
159912007-11-07 Jason Rumney <jasonr@gnu.org>
15992
15993 * s/windows95.h: Remove.
15994
159952007-11-06 Jan Djärv <jan.h.d@swipnet.se>
15996
15997 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
15998 abort with a message on unhandled store_type values.
15999
160002007-11-01 Jan Djärv <jan.h.d@swipnet.se>
16001
16002 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
16003 Remove HAVE_X11R5 and HAVE_X11R4.
16004
160052007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
16006
16007 * Makefile.in: Remove references to sunfns.c and sunfns.o.
16008
160092007-11-01 Johan Bockgård <bojohan@gnu.org>
16010
16011 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
16012 Don't set s->stippled_p here, since it has already been set by
16013 x_set_glyph_string_gc from x_draw_glyph_string.
16014
160152007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
16016
16017 * sunfns.c: Remove file.
16018
16019 * m/sun386.h:
16020 * m/sun2.h:
16021 * m/sparc.h: Remove Sun windows code.
16022
160232007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
16024
16025 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
16026 (init_keyboard): Set current_kboard's window-system to nil.
16027 (tty_read_avail_input): Typo.
16028 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
16029
160302007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
16031
16032 * s/usg5-4.h:
16033 * s/usg5-3.h:
16034 * s/ptx.h:
16035 * m/is386.h:
16036 * m/ibmps2-aix.h:
16037 * Makefile.in: Remove all mentions of X10.
16038
16039 * dispnew.c (syms_of_display): Don't mention version 10.
16040
160412007-10-28 Juanma Barranquero <lekktu@gmail.com>
16042
16043 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
16044 ($(BLD)/abbrev.$(O)): Remove.
16045
160462007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
16047
16048 Rewrite abbrev.c in Elisp.
16049 * image.c (Qcount): Don't declare as extern.
16050 (syms_of_image): Initialize and staticpro `Qcount'.
16051 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
16052 * emacs.c (main): Don't call syms_of_abbrev.
16053 * Makefile.in (obj): Remove abbrev.o.
16054 (abbrev.o): Remove.
16055 * abbrev.c: Remove.
16056
160572007-10-26 Martin Rudalics <rudalics@gmx.at>
16058
16059 * window.c (window_min_size_2): Don't count header-line.
16060
160612007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
16062
16063 * frame.h (struct frame): Move all bit fields after the first bit
16064 field to take advantage of the available space. Group all the
16065 chars together to reduce wasted space due to padding.
16066
160672007-10-26 Juanma Barranquero <lekktu@gmail.com>
16068
16069 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
16070
16071 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
16072 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
16073 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
16074 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
16075 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
16076 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
16077 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
16078 (last_marked, mark_object_loop_halt): Make static.
16079
16080 * frame.c (syms_of_frame) <delete-frame-functions>:
16081 Fix typo in docstring.
16082
160832007-10-25 Juanma Barranquero <lekktu@gmail.com>
16084
16085 * w32.c (init_environment): Fix tiny memory leak.
16086 (w32_get_resource): Remove unused variable `ok'.
16087
160882007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
16089
16090 Make `window-system' into a keyboard-local variable (rather than
16091 frame-local as done originally by multi-tty).
16092
16093 * keyboard.h (struct kboard): Add Vwindow_system.
16094 * keyboard.c (init_kboard): Set a default for Vwindow_system.
16095 (mark_kboards): Mark Vwindow_system.
16096
16097 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
16098 (init_display): Don't set the obsolete `window-system' frame-param.
16099
16100 * xterm.c (x_term_init):
16101 * w32term.c (w32_create_terminal):
16102 * term.c (init_tty): Set Vwindow_system.
16103 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
16104 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
16105
16106 * xfns.c (Fx_create_frame, x_create_tip_frame):
16107 * w32fns.c (Fx_create_frame, x_create_tip_frame):
16108 * macfns.c (Fx_create_frame):
16109 Don't set the obsolete `window-system' frame-param.
16110
16111 * frame.h (Qwindow_system): Remove.
16112 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
16113 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
16114
161152007-10-24 Richard Stallman <rms@gnu.org>
16116
16117 * frame.c (x_figure_window_size): For fullscreen case,
16118 set USPosition | PPosition without clobbering rest of window_prompting.
16119
16120 * keyboard.c (Fcurrent_idle_time): Doc fix.
16121
16122 * print.c (Fwith_output_to_temp_buffer): Doc fix.
16123
161242007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
16125
16126 * process.c (unwind_request_sigio): Only define if __ultrix__.
16127
16128 * callproc.c (child_setup): Remove spurious *.
16129
16130 * lisp.h (Fget_text_property): Declare.
16131 (have_menus_p): Declare it here rather than in sys-dep header files.
16132 * macterm.h (have_menus_p):
16133 * msdos.h (have_menus_p):
16134 * xterm.h (have_menus_p): Remove.
16135
16136 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
16137 (Fmake_variable_frame_local): Just check the variable's const-ness
16138 rather than checking nil or t.
16139
161402007-10-22 Jason Rumney <jasonr@gnu.org>
16141
16142 * w32fns.c: Include math.h.
16143 (w32_abort): Declaration moved to nt/config.nt.
16144
16145 * s/ms-w32.h (HAVE_STDLIB_H): Define.
16146 (abort): Redefinition moved to nt/config.nt.
16147
16148 * m/windowsnt.h: Remove.
16149
161502007-10-22 Juanma Barranquero <lekktu@gmail.com>
16151
16152 * emacs.c (Fdump_emacs): Fix typo in message.
16153 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
16154 <installation-directory>: Reflow docstring.
16155
161562007-10-22 Juri Linkov <juri@jurta.org>
16157
16158 * minibuf.c: Allow minibuffer default to be a list of default values.
16159 With empty input use the first element of this list as returned default.
16160 (string_to_object)
16161 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
16162 (read_minibuf): If defalt is cons, set histstring to its car.
16163 (Fread_string): If default_value is cons, set val to its car.
16164 (Fread_buffer): If def is cons, use its car.
16165 (Fcompleting_read): If defalt is cons, set val to its car.
16166
161672007-10-21 Michael Albinus <michael.albinus@gmx.de>
16168
16169 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
16170
161712007-10-20 Juanma Barranquero <lekktu@gmail.com>
16172
16173 * doc.c (Fdocumentation): Check for advice in all cases.
16174
161752007-10-19 Chong Yidong <cyd@stupidchicken.com>
16176
16177 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
16178
161792007-10-19 Richard Stallman <rms@gnu.org>
16180
16181 * doc.c (Fdocumentation): Check for and handle an advised function.
16182
161832007-10-19 Juanma Barranquero <lekktu@gmail.com>
16184
16185 * process.c (Fset_process_filter): Doc fix.
16186
161872007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
16188
16189 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
16190 which caused key-translation-map to applied repeatedly (thus breaking
16191 double-mode).
16192
161932007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16194
16195 * xselect.c (x_own_selection, x_handle_selection_clear)
16196 (x_clear_frame_selections):
16197 * w32menu.c (list_of_panes, list_of_items):
16198 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
16199 * textprop.c (validate_plist, interval_has_all_properties)
16200 (interval_has_some_properties, interval_has_some_properties_list)
16201 (add_properties, text_property_list):
16202 * process.c (Fget_buffer_process, list_processes_1, status_notify):
16203 * minibuf.c (Fassoc_string):
16204 * macselect.c (x_own_selection, x_clear_frame_selections)
16205 (Fx_disown_selection_internal):
16206 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
16207 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
16208
162092007-10-17 Chong Yidong <cyd@stupidchicken.com>
16210
16211 * process.c: Link to libs for calling res_init() if available.
16212 (Fmake_network_process): Call res_init() before getaddrinfo or
16213 gethostbyname, if possible.
16214
162152007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16216
16217 * lread.c (read1): Set pvectype for char_tables.
16218
16219 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
16220 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
16221 Add type checks.
16222 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
16223
16224 * alloc.c (free_misc): Use XMISCTYPE.
16225 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
16226
162272007-10-17 Glenn Morris <rgm@gnu.org>
16228
16229 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
16230 (syms_of_minibuf): Add Qcompletion_ignore_case.
16231 * dired.c (Qcompletion_ignore_case): Change to external.
16232 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
16233 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
16234 (Fread_file_name): Use it rather than intern'ing.
16235
16236 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
16237 (Fread_coding_system): Ignore case of user input.
16238
162392007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16240
16241 * xdisp.c (handle_display_prop): Ignore display specs after
16242 replacing one when string text is being replaced.
16243 (handle_single_display_spec): Pretend as if characters with display
16244 property haven't been consumed only when buffer text is being replaced.
16245
162462007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
16247
16248 * xfns.c (Fx_create_frame, Fx_display_list):
16249 * window.c (window_fixed_size_p, enlarge_window)
16250 (shrink_window_lowest_first):
16251 * macterm.c (init_font_name_table):
16252 * macfns.c (Fx_create_frame, Fx_display_list):
16253 * lread.c (close_load_descs):
16254 * keyboard.c (read_char_x_menu_prompt):
16255 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
16256 * coding.c (code_convert_region_unwind): Test the type of an object
16257 rather than just !NILP before extracting data from it.
16258
16259 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
16260
16261 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
16262 (XMISCANY): New macro.
16263 (XMISCTYPE): Use it.
16264 (struct Lisp_Misc_Any): New type.
16265 (union Lisp_Misc): Use it.
16266 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
16267 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
16268 (find_symbol_value, set_internal, default_value, Fset_default)
16269 (Fmake_variable_buffer_local, Fmake_local_variable)
16270 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
16271 (Flocal_variable_if_set_p, Fvariable_binding_locus):
16272 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
16273 * alloc.c (allocate_buffer): Set the size and tag.
16274 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
16275 Use XMISCANY.
16276 (die): Follow the GNU convention for error messages.
16277 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
16278 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
16279 tag any more.
16280 (set_buffer_internal_1):
16281 * frame.c (store_frame_param):
16282 * eval.c (specbind):
16283 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
16284
16285 * doc.c (Fsnarf_documentation): Simplify.
16286
162872007-10-14 Juanma Barranquero <lekktu@gmail.com>
16288
16289 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
16290 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
16291
162922007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
16293
16294 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
16295
162962007-10-14 Juanma Barranquero <lekktu@gmail.com>
16297
16298 * eval.c (do_autoload): Don't save autoloads.
16299
16300 * data.c (Ffset): Save autoload of the function being set.
16301
163022007-10-07 John Paul Wallington <jpw@pobox.com>
16303
16304 * xfns.c (x_create_tip_frame): Set the `display-type' frame
16305 parameter before setting up faces.
16306
163072007-10-13 Eli Zaretskii <eliz@gnu.org>
16308
16309 * ccl.c (Fregister_code_conversion_map):
16310 * keyboard.c (append_tool_bar_item): Reformat last change.
16311
16312 * lisp.h (eabs): Rename from `abs'. All callers changed.
16313
163142007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
16315
16316 * buffer.c (add_overlay_mod_hooklist):
16317 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
16318 * fontset.c (make_fontset):
16319 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
16320 (append_tool_bar_item):
16321 * macmenu.c (grow_menu_items):
16322 * w32menu.c (grow_menu_items):
16323 * xmenu.c (grow_menu_items): Use larger_vector.
16324
163252007-10-13 Eli Zaretskii <eliz@gnu.org>
16326
16327 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
16328 selected frame'' on MSDOS).
16329
163302007-10-12 Martin Rudalics <rudalics@gmx.at>
16331
16332 * frame.c (Qexplicit_name): New variable.
16333 (x_report_frame_params): Report it in parameter alist.
16334 (syms_of_frame): Intern and staticpro it.
16335
163362007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
16337
16338 * macfns.c (x_create_tip_frame): Set terminal for frame.
16339
163402007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
16341
16342 * frame.c (Qenvironment): Remove.
16343 (syms_of_frame) <Qenvironment>: Don't initialize.
16344 (Fdelete_frame): Don't treat the `environment' param specially.
16345 * frame.h (Qenvironment): Don't declare.
16346 * callproc.c (set_initial_environment): Don't set unused frame param.
16347
16348 * frame.c (Fframe_with_environment): Remove.
16349 (syms_of_frame) <Sframe_with_environment>: Don't declare.
16350
16351 * lisp.h (Fframe_with_environment): Don't declare.
16352
163532007-10-10 Juanma Barranquero <lekktu@gmail.com>
16354
16355 * indent.c (indent_tabs_mode, last_known_column)
16356 (last_known_column_modified): Make static.
16357 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
16358
163592007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
16360
16361 * puresize.h (BASE_PURESIZE): Increase to 1170000.
16362
163632007-10-09 Jason Rumney <jasonr@gnu.org>
16364
16365 * w32term.c (x_set_window_size): Disable code that attempts to tell
16366 Lisp code about a size change before it actually happens.
16367
163682007-10-09 Richard Stallman <rms@gnu.org>
16369
16370 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
16371 return HANDLED_RETURN.
16372
163732007-10-08 Martin Rudalics <rudalics@gmx.at>
16374
16375 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
16376 when there's an unread command event.
16377
16378 * frame.c (focus_follows_mouse): Move here from frame.el to allow
16379 window autoselection act appropriately when leaving selected frame.
16380 (syms_of_frame): Initialize focus_follows_mouse.
16381 * frame.h (focus_follows_mouse): Extern it.
16382 * macterm.c (XTread_socket): When focus_follows_mouse is nil
16383 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
16384 * msdos.c (dos_rawgetc): Likewise.
16385 * w32term.c (w32_read_socket): Likewise.
16386 * xterm.c (handle_one_xevent): Likewise.
16387 * xdisp.c (syms_of_xdisp): In doc-string of
16388 mouse-autoselect-window mention focus-follows-mouse.
16389
163902007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16391
16392 * macterm.c (mac_load_query_font): Fix missing return value.
16393 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
16394 Add BLOCK_INPUT.
16395
163962007-10-08 Richard Stallman <rms@gnu.org>
16397
16398 * xdisp.c (get_window_cursor_type): Implement documented behavior
16399 for cursor-in-non-selected-windows = t.
16400
164012007-10-08 Jason Rumney <jasonr@gnu.org>
16402
16403 * w32.c (w32_get_resource): Always close registry keys.
16404
164052007-10-08 Jason Rumney <jasonr@gnu.org>
16406
16407 * makefile.w32-in (LIBS): Add COMCTL32.
16408
16409 * w32fns.c (globals_of_w32fns): Init common controls.
16410
164112007-10-08 Richard Stallman <rms@gnu.org>
16412
16413 * image.c (our_memory_buffer): Rename from omfib_buffer.
16414
164152007-10-08 Richard Stallman <rms@gnu.org>
16416
16417 * buffer.c (Foverlays_at): Doc fix.
16418
164192007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
16420
16421 * fns.c (Fplist_put): Preserve uneven tail data.
16422
164232007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
16424
16425 * termhooks.h (enum event_kind): Remove trailing comma.
16426
16427 * frame.h (enum): Remove trailing comma.
16428
164292007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
16430
16431 * w32proc.c (delete_child): Don't terminate threads of zombies.
16432
164332007-10-08 Martin Rudalics <rudalics@gmx.at>
16434
16435 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
16436
16437 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
16438 last-repeatable-command.
16439 (init_kboard): Initialize Vlast_repeatable_command.
16440 (command_loop_1): Set it to real_this_command unless that was
16441 bound to an input event.
16442 (mark_kboards): Mark it.
16443
164442007-10-08 Richard Stallman <rms@gnu.org>
16445
16446 * eval.c (condition-case): Doc fix.
16447
164482007-10-08 Masatake YAMATO <jet@gyve.org>
16449
16450 * xfaces.c (tty_supports_face_attributes_p): Fix code
16451 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
16452 was copied and not edited.
16453
164542007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
16455
16456 Add new `input-decode-map' keymap and use it for terminal
16457 escape sequences.
16458 * keyboard.h (struct kboard): Add Vinput_decode_map.
16459 Remove Vlocal_key_translation_map.
16460 * keyboard.c (read_key_sequence): Add support for input-decode-map.
16461 (init_kboard): Init input-decode-map.
16462 Replace local-key-translation-map back with key-translation-map.
16463 (syms_of_keyboard): Declare input-decode-map.
16464 Remove local-key-translation-map. Update docstrings.
16465 (mark_kboards): Mark Vinput_decode_map.
16466 Don't mark Vlocal_key_translation_map.
16467 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
16468 Replace local-key-translation-map back with key-translation-map.
16469 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
16470 Bind in input-decode-map rather than function-key-map.
16471
16472 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
16473 This was made redundant by the previous introduction of XSETPVECTYPE.
16474
164752007-10-09 Richard Stallman <rms@gnu.org>
16476
16477 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
16478
164792007-09-29 Richard Stallman <rms@gnu.org>
16480
16481 * eval.c (internal_condition_case_2, internal_condition_case_1)
16482 (internal_condition_case): Reenable abort if x_catching_errors ()
16483 to see if that really happens and why.
16484
164852007-10-06 Andreas Schwab <schwab@suse.de>
16486
16487 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
16488
164892007-10-04 Juanma Barranquero <lekktu@gmail.com>
16490
16491 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
16492
164932007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
16494
16495 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
16496
164972007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
16498
16499 * window.h (struct window):
16500 * window.c (struct save_window_data, struct saved_window):
16501 * termhooks.h (struct terminal):
16502 * process.h (struct Lisp_Process):
16503 * frame.h (struct frame):
16504 * buffer.h (struct buffer):
16505 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
16506 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
16507 The size field of (pseudo)vectors is now unsigned.
16508 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
16509
16510 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
16511 Turn `count' into an integer.
16512
16513 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
16514 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
16515 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
16516 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
16517 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
16518
16519 * alloc.c (allocate_pseudovector): New fun.
16520 (ALLOCATE_PSEUDOVECTOR): New macro.
16521 (allocate_window, allocate_terminal, allocate_frame)
16522 (allocate_process): Use it.
16523 (mark_vectorlike): New function.
16524 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
16525 (mark_terminals): Use it.
16526 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
16527 (Fmake_byte_code): Use XSETPVECTYPE.
16528
16529 * frame.c (Fframe_parameters): Minor simplification.
16530
16531 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
16532
16533 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
16534
16535 * buffer.c (Fget_buffer_create, init_buffer_once):
16536 * lread.c (defsubr):
16537 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
16538
16539 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
16540 defined differently in the m/*.h files.
16541 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
16542 (XSETPVECTYPE): New macro.
16543 (XSETPSEUDOVECTOR): Use it.
16544
16545 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
16546 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
16547
16548 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
16549 * lread.c (defvar_per_buffer):
16550 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
16551
16552 * window.c (candidate_window_p): Only consider as visible frames that
16553 are on the same terminal.
16554
16555 * m/ibms390x.h (MARKBIT): Remove unused macro.
16556
165572007-10-01 Juanma Barranquero <lekktu@gmail.com>
16558
16559 * lread.c (Fload): Fix typo in docstring.
16560
165612007-10-01 Michaël Cadilhac <michael@cadilhac.name>
16562
16563 * floatfns.c (Fexpt): Manually check for overflows, so that a power
16564 of a non-zero value can't yield zero.
16565
165662007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
16567
16568 * term.c (term_clear_mouse_face, term_mouse_highlight)
16569 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
16570
16571 * print.c (safe_debug_print): Use XHASH.
16572
16573 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
16574 Lisp elements such as tags.
16575 (XHASH): New macro.
16576 (EQ): Use it.
16577 (SREF, SSET, STRING_COPYIN): Use SDATA.
16578 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
16579
16580 * alloc.c (mark_terminal): Remove left-over declaration.
16581 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
16582 (allocate_vectorlike): Remove type argument. Adjust callers.
16583 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
16584 Only handle the one remaining MEM_TYPE_VECTORLIKE.
16585
16586 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
16587 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
16588 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
16589 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
16590 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
16591 Use them.
16592
16593 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
16594 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
16595 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
16596
165972007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
16598
16599 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
16600 loaded by default.
16601
166022007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
16603
16604 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
16605 on this tty.
16606 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
16607
16608 * term.c (mouse_face_window): Rename from Qmouse_face_window.
16609 Update all users.
16610 (handle_one_term_event): Use Gpm_DrawPointer.
16611 (Fgpm_mouse_start): Rename from Fterm_open_connection.
16612 Signal errors instead of returning nil. Always return nil.
16613 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
16614 Make it a noop if gpm-mouse was not activated.
16615 (syms_of_term): Update names.
16616
166172007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
16618
16619 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
16620 (init_sys_modes): Check that gpm_tty is the current tty.
16621
16622 * alloc.c (allocate_terminal): Set the vector size to only count the
16623 lisp fields. Initialize those to nil.
16624 (mark_object): Don't treat terminals specially.
16625 (mark_terminal): Remove.
16626 (mark_terminals): Use mark_object instead.
16627
16628 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
16629 the GC to the beginning.
16630
16631 * indent.h:
16632 * indent.c: Use EMACS_INT for ints coming from Elisp data.
16633
16634 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
16635
166362007-09-25 Jason Rumney <jasonr@gnu.org>
16637
16638 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
16639
16640 * w32console.c (create_w32cons_output): Remove.
16641
16642 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
16643
16644 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
16645 (reset_sys_modes): Use reset_terminal_modes_hook.
16646
166472007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
16648
16649 * eval.c (do_autoload): Don't output any message.
16650
166512007-09-24 Juri Linkov <juri@jurta.org>
16652
16653 * emacs.c (standard_args): Change priority of "--no-splash"
16654 from 40 to 3. Add "--no-desktop" with the same priority.
16655
166562007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
16657
16658 * alloc.c (gc_sweep): Check cons cell mark bits word by word
16659 and optimize the case where they are all 1.
16660
166612007-09-23 Johannes Weiner <hannes@saeurebad.de>
16662
16663 * lisp.h (abs): Define if not defined.
16664 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
16665 Don't define `abs', since it's defined in lisp.h.
16666
166672007-09-22 Eli Zaretskii <eliz@gnu.org>
16668
16669 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
16670 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
16671 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
16672 (init_tty): Use DEV_TTY instead of "/dev/tty".
16673 [WINDOWSNT]: No need to protect from NAME arg being null.
16674
166752007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
16676
16677 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
16678 up the tty state.
16679
166802007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16681
16682 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
16683 (gpm_tty): Change its type.
16684 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
16685 (gpm_tty): Change its type and initialize it.
16686 (Fterm_open_connection): Check the frame is indeed a tty.
16687 Use the new gpm_tty.
16688 (Fterm_close_connection): Use the new gpm_tty.
16689 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
16690 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
16691
166922007-09-21 Juanma Barranquero <lekktu@gmail.com>
16693
16694 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16695 underline_color, to draw strike-through.
16696
166972007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16698
16699 * lisp.h (allocate_terminal): Declare.
16700
16701 * window.c (candidate_window_p): Consider frames that are being placed
16702 by the user as somewhere between visible and iconified.
16703 (window_loop): Prefer windows on the current frame.
16704 (Fselect_window): Move the use of select-frame to the beginning so we
16705 can just delegate all the work (it'll call us back anyway).
16706
16707 * frame.c (Qdisplay_environment_variable):
16708 * frame.h (Qdisplay_environment_variable): Delete.
16709
16710 * .gdbinit (xbacktrace): Print the arg's address rather than the value
16711 of the first arg, since that value may be a union.
16712
16713 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
16714 parameter rather than Qdisplay_environment_variable. If all else
16715 fails, look for DISPLAY in initial-environment.
16716
167172007-09-21 Glenn Morris <rgm@gnu.org>
16718
16719 * Makefile.in (emacstool): Remove target.
16720 (lisp, shortlisp): Remove termdev.elc.
16721
167222007-09-21 Markus Triska <markus.triska@gmx.at>
16723
16724 * xterm.c (x_delete_display): Compile session management conditionally.
16725
167262007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
16727
16728 * callproc.c (getenv_internal_1): New function.
16729 (getenv_internal): Use it.
16730 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
16731
16732 * terminal.c (get_terminal): Don't accept ints to represent terminals.
16733 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
16734 (Fset_terminal_parameter): Work with dead terminals as well.
16735 (Fmodify_terminal_parameters): Remove.
16736
16737 * terminal.c (get_terminal): Handle terminals.
16738 Make sure the terminal returned is live.
16739 (create_terminal): Use allocate_terminal.
16740 (mark_terminals): Move to alloc.c.
16741 (delete_terminal): Use terminal->name as liveness status.
16742 NULL out fields after freeing their contents.
16743 Don't deallocate the object.
16744 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16745 rather than an int.
16746 (Fterminal_live_p): Accept non-integer arguments.
16747 (Fterminal_list): Return terminal objects rather than an ints.
16748
16749 * alloc.c (enum mem_type): New member for `terminal' objects.
16750 (allocate_terminal): New function.
16751 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16752 Handle terminals.
16753 (mark_terminal): New fun.
16754 (mark_terminals): Move from terminal.c.
16755
16756 * term.c (get_tty_terminal): Don't treat output_initial specially.
16757 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16758 (delete_tty): Use terminal->name as liveness status.
16759
16760 * termhooks.h (struct terminal): Make it into a pseudovector.
16761 Remove `deleted' replaced by checking `name's nullness.
16762
16763 * print.c (print_object): Handle terminals.
16764
16765 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16766 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16767
16768 * frame.c (make_terminal_frame):
16769 * keyboard.c (tty_read_avail_input):
16770 * w32term.c (x_delete_terminal):
16771 * xfns.c (Fx_create_frame, x_create_tip_frame):
16772 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16773
167742007-09-20 Glenn Morris <rgm@gnu.org>
16775
16776 * process.c (Fmake_network_process): Doc fix.
16777
167782007-09-19 Jason Rumney <jasonr@gnu.org>
16779
16780 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16781
167822007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16783
16784 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16785 Fix a C warning regarding variable constness.
16786
16787 * xterm.c (handle_one_xevent): Fix a C warning.
16788
167892007-09-18 Jason Rumney <jasonr@gnu.org>
16790
16791 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16792
167932007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16794
16795 * gtkutil.c (gdpy_def): New variable.
16796 (xg_initialize): Initialize gdpy_def.
16797 (xg_display_close): If no other display exists, set gdpy_def to a
16798 new connection.
16799
168002007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16801
16802 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16803 when we have no file name for the icon.
16804 (xg_tool_bar_expose_callback): Remove.
16805 (xg_create_tool_bar): Don't connect expose signal to
16806 xg_tool_bar_expose_callback.
16807 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16808
168092007-09-16 Andreas Schwab <schwab@suse.de>
16810
16811 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16812 values instead of zapping them.
16813
168142007-09-14 Glenn Morris <rgm@gnu.org>
16815
16816 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16817 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16818 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16819 scope and rename to omfib_buffer for clarity.
16820 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16821
168222007-09-14 Kenichi Handa <handa@m17n.org>
16823
16824 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16825
168262007-09-13 Jason Rumney <jasonr@gnu.org>
16827
16828 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16829
16830 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16831
16832 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16833 (mac_term_init): Call here instead, passing rif.
16834
168352007-09-13 Glenn Morris <rgm@gnu.org>
16836
16837 * s/hpux.h: No longer define `static' as nothing.
16838
168392007-09-13 Johan Bockgård <bojohan@gnu.org>
16840
16841 * callint.c (Fcall_interactively): Remove unused var `fun'.
16842
168432007-09-12 Romain Francoise <romain@orebokech.com>
16844
16845 * window.c (prefer_window_split_horizontally, display_buffer):
16846 Revert 2007-09-08 change.
16847
168482007-09-12 Glenn Morris <rgm@gnu.org>
16849
16850 * alloca.c: Remove file.
16851 * Makefile.in (alloca): Do not undef.
16852 (allocaobj, alloca.o): Remove.
16853 (otherobj): Remove allocaobj.
16854 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
16855 * regex.c (C_ALLOCA): Remove all references and code that was only
16856 used when this was defined.
16857 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
16858 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
16859 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
16860
16861 * Makefile.in (SOURCES, unlock, relock): Delete.
16862
16863 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
16864 (menu_grab_callback): All uses changed.
16865
16866 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
16867 (x_reply_selection_request): All uses changed.
16868
168692007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
16870
16871 * lread.c (load_warn_old_style_backquotes): Change message to look
16872 better when it appears in the middle of byte-compiler messages.
16873
168742007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
16875
16876 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
16877
16878 * xterm.c (x_create_terminal): Add comment.
16879
16880 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
16881
168822007-09-10 Richard Stallman <rms@gnu.org>
16883
16884 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
16885
168862007-09-10 Michaël Cadilhac <michael@cadilhac.name>
16887
16888 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
16889 (DEFUN): Document `intspec', use it instead of `prompt'.
16890
16891 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
16892
16893 * data.c (Finteractive_form): If the interactive specification starts
16894 with a `(', use it as a Lisp form.
16895
16896 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
16897 name and file modes.
16898
16899 * callint.c (Fcall_interactively): Comment fixes.
16900
169012007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
16902
16903 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
16904 and compiled functions.
16905
169062007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
16907
16908 * window.c (prefer_window_split_horizontally): New variable.
16909 (display_buffer): Consider splitting window horizontally depending
16910 on prefer_window_split_horizontally.
16911
169122007-09-08 Eli Zaretskii <eliz@gnu.org>
16913
16914 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
16915
169162007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16917
16918 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
16919
16920 * frame.c (x_set_frame_parameters): Check number is positive before
16921 using XFASTINT.
16922
16923 * window.c (freeze_window_start): Don't presume selected_window holds
16924 a window object.
16925 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
16926
169272007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
16928
16929 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
16930
169312007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16932
16933 * window.c (Vsplit_window_preferred_function): New var.
16934 (Fdisplay_buffer): Use it.
16935 (syms_of_window): Export, and initialize it.
16936
169372007-09-06 Pixel <pixel@mandriva.com> (tiny change)
16938
16939 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
16940
169412007-09-06 Glenn Morris <rgm@gnu.org>
16942
16943 * gtkutil.c (menu_grab_callback) <cnt>:
16944 * xselect.c (x_reply_selection_request) <cnt>: Move static
16945 variable to file scope.
16946
169472007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
16948
16949 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
16950 consistent values of selected_frame and selected_window.
16951
169522007-09-04 Jason Rumney <jasonr@gnu.org>
16953
16954 * w32console.c (initialize_w32_display): Zero unused hooks.
16955
169562007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16957
16958 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
16959 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
16960
169612007-09-04 Jason Rumney <jasonr@gnu.org>
16962
16963 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
16964 in w32console.c. Set up input. Remove XXX comments that have been
16965 confirmed as correct.
16966
16967 * s/ms-w32.h (MULTI_KBOARD): Define.
16968
16969 * w32console.c (one_and_only_w32cons): Remove.
16970 (initialize_w32_display): Take terminal argument.
16971
16972 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
16973 initialize_w32_display.
16974 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
16975
16976 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
16977
16978 * keyboard.c (discard_mouse_events): Discard it.
16979 (make_lispy_event): Translate it to a lisp event.
16980 (lispy_wheel_names): Add wheel-left and right events.
16981 (syms_of_keyboard): Enlarge wheel_syms.
16982
16983 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
16984 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
16985
16986 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
16987
16988 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
16989 from WM_MOUSEHWHEEL.
16990 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
16991
16992 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
16993 terminal.
16994
16995 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
16996 keyboard for the terminal.
16997
169982007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16999
17000 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
17001 (Vresume_tty_hook): Rename from Vresume_tty_functions.
17002 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
17003 and resume-tty-function to resume-tty-hook.
17004 (Fsuspend_tty, Fresume_tty): Use new names.
17005
170062007-09-02 Jan Djärv <jan.h.d@swipnet.se>
17007
17008 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
17009 if it starts with "n:".
17010
170112007-08-31 Jan Djärv <jan.h.d@swipnet.se>
17012
17013 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
17014
170152007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
17016
17017 * frame.h:
17018 * frame.c (Qterm_environment_variable): Remove.
17019 (syms_of_frame): Don't init and staticpro it.
17020
17021 * callproc.c (getenv_internal): Remove special case for $TERM.
17022
17023 * callproc.c (Vinitial_environment): New variable.
17024 (set_initial_environment): Initialize it.
17025 (syms_of_callproc): Declare it.
17026 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
17027 TERM under which a process runs is never related to the TERM in which
17028 Emacs is running.
17029
170302007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
17031
17032 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
17033 * s/darwin.h: ... do it here.
17034
170352007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
17036
17037 * lisp.h (set_initial_environment): Rename from set_global_environment.
17038
17039 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
17040 removed by mistake on the multi-tty branch.
17041
17042 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
17043 (Fmodify_frame_parameters): Return a value.
17044
17045 * image.c (png_load): Comment-out var only used in commented-out code.
17046
17047 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
17048 before passing it to mark_object.
17049
17050 * xfaces.c (internal_resolve_face_name): Return a value.
17051 (internal_resolve_face_name, resolve_face_name_error): Comment out.
17052
17053 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
17054 (x_icon): Comment-out var only used in commented-out code.
17055
170562007-08-29 Romain Francoise <romain@orebokech.com>
17057
17058 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
17059 QUIT hasn't been provided.
17060
170612007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
17062
17063 * callproc.c (child_setup, getenv_internal): Use the
17064 display-environment-variable and term-environment-variable frame params.
17065 (set_initial_environment): Initialise Vprocess_environment.
17066
17067 * config.in: Disable multi-keyboard support on a mac.
17068
17069 * frame.c (Qterm_environment_variable)
17070 (Qdisplay_environment_variable): New variables.
17071 (syms_of_frame): Intern and staticpro them.
17072 (Fmake_terminal_frame): Disable output method test.
17073
17074 * frame.h: Declare them here.
17075
17076 * macfns.c (x_set_mouse_color): Get rif from the frame.
17077 (x_set_tool_bar_lines): Don't use updating_frame.
17078 (mac_window): Add 2 new parameters for consistency with other systems.
17079 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
17080 frame parameters following what is done in X11 and w32. Don't use
17081 FRAME_MAC_DISPLAY_INFO.
17082 (Fx_open_connection, start_hourglass): Remove window-system check.
17083 (x_create_tip_frame): Get the keyboard from the terminal.
17084
17085 * macmenu.c: Reorder includes.
17086 (Fx_popup_menu): Use terminal specific mouse_position_hook.
17087
17088 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
17089 terminal parameter.
17090 (x_clear_frame): Add a frame parameter.
17091 (note_mouse_movement): Get rif from the frame.
17092 (mac_term_init): Initialize the terminal.
17093 (mac_initialize): Make static and move terminal initialization ...
17094 (mac_create_terminal): ... to this new function.
17095
17096 * macterm.h (struct mac_display_info): Add terminal.
17097 (mac_initialize): Delete declaration.
17098
17099 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
17100
17101 * sysdep.c: Comment out text after #endif.
17102
17103 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
17104 is defined. Better initialize ttys in windows. Use terminal
17105 specific mouse_position_hook.
17106
17107 * termhooks.h (union display_info): Add mac_display_info.
17108
17109 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
17110 Set the default minibuffer frame, window_system and the rest of the
17111 frame parameters following what is done in X11.
17112
17113 * w32term.c (w32_initialize): Make static.
17114
17115 * xselect.c (x_handle_selection_clear): Only access
17116 terminal->kboard when MULTI_KBOARD is defined.
17117
17118 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
17119 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
17120
171212007-08-29 Jason Rumney <jasonr@gnu.org>
17122
17123 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
17124 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
17125
17126 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
17127 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
17128
17129 * keyboard.c (restore_kboard_configuration): Only define when
17130 MULTI_KBOARD defined.
17131
17132 * makefile.w32-in: Update dependancies from Makefile.in.
17133 (OBJ1): Add terminal.$(O)
17134
17135 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
17136 Don't define function body.
17137 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
17138
17139 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
17140
17141 * w32.c (request_sigio, unrequest_sigio): Remove.
17142
17143 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
17144 (w32con_clear_frame, w32con_clear_end_of_line)
17145 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
17146 (w32con_delete_glyphs, w32con_set_terminal_window)
17147 (scroll_line, w32_sys_ring_bell): Add frame arg.
17148 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
17149 Add terminal arg.
17150 (PICK_FRAME): Remove.
17151 (w32con_write_glyphs): Use frame specific terminal coding.
17152 (one_and_only_w32cons): New global variable.
17153 (initialize_w32_display): Use it for storing hooks.
17154 (create_w32cons_output): New function.
17155
17156 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
17157 arg a frame.
17158
17159 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
17160 Set window_system.
17161 (x_set_tool_bar_lines): Don't use updating_frame.
17162 (Fx_create_frame): Set terminal and ref count.
17163 (Fx_open_connection): Remove window-system check.
17164
17165 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
17166
17167 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
17168 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
17169 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
17170 Add frame arg.
17171 (x_delete_terminal, w32_create_terminal): New functions.
17172 (w32_term_init): Create a terminal.
17173 (w32_initialize): Move terminal specific initialization to
17174 w32_create_terminal.
17175
17176 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
17177 (w32_clear_rect, w32_clear_area): Use background from frame.
17178 (w32_display_info): Add terminal.
17179 (w32_sys_ring_bell, x_delete_display): Declare here.
17180
17181 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
17182
17183 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
17184
171852007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
17186
17187 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
17188 Fix get_named_tty calls for the controlling tty.
17189
171902007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
17191
17192 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
17193
171942007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
17195
17196 * term.c (tty_insert_glyphs): Add missing first parameter.
17197
171982007-08-29 Károly Lőrentey <karoly@lorentey.hu>
17199
17200 * buffer.c (Fbuffer_list, Fbury_buffer):
17201 Take frame->buried_buffer_list into account.
17202
17203 * cm.c (current_tty): New variable, for cmputc().
17204 (cmputc): Use it.
17205 (cmcheckmagic): Add tty parameter, look up terminal streams there.
17206 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
17207 (cmgoto): Add tty parameter. Pass it on to calccost().
17208 Use emacs_tputs() instead of tputs().
17209
17210 * cm.h (emacs_tputs): New macro to set current_tty, and then call
17211 tputs().
17212 (current_tty): New variable, for cmputc().
17213 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
17214
17215 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
17216 (internal_condition_case, internal_condition_case_1)
17217 (internal_condition_case_2): Don't abort when x_catching_errors.
17218
17219 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
17220 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
17221 prevent crashes caused by bogus longjmps in read_char.
17222
17223 * keymap.h (Fset_keymap_parent): Add EXFUN.
17224
17225 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
17226 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17227 Remove redundant definition.
17228
17229 * macfns.c (x_set_mouse_color, x_make_gc):
17230 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17231
17232 * w32term.c (x_free_frame_resources):
17233 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17234 (w32_initialize): Use the accessor macros for terminal characteristics.
17235
17236 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
17237 Use the accessor macros for terminal characteristics.
17238 * msdos.c (internal_terminal_init): Use the accessor macros for
17239 terminal characteristics.
17240 (ScreenVisualBell, internal_terminal_init):
17241 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17242
17243 * termopts.h (no_redraw_on_reenter): Declare.
17244
17245 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
17246 (mark_terminals, mark_ttys): Declare.
17247 (Fgarbage_collect): Call them.
17248 (mark_object): Mark buried_buffer_list.
17249
17250 * prefix-args.c: Include stdlib.h for exit.
17251
17252 * syssignal.h: Add comment.
17253
17254 * indent.c: Include stdio.h.
17255
17256 * window.h (Vinitial_window_system): Declare.
17257 (Vwindow_system): Delete declaration.
17258
17259 * fontset.c (Finternal_char_font): Use FRAME_RIF.
17260
17261 * image.c (lookup_image): Don't initialize `c' until the xasserts
17262 have been run.
17263
17264 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
17265 FRAME_FOREGROUND_PIXEL.
17266
17267 * print.c (print_preprocess): Don't lose print_depth levels while
17268 iterating.
17269
17270 * widget.c (update_from_various_frame_slots):
17271 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17272
17273 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
17274 frames.
17275 (window_internal_height): Remove bogus make_number call.
17276 (init_window_once): Call make_terminal_frame with two zero parameters.
17277
17278 * fileio.c (Fread_file_name): Update comment.
17279
17280 * callint.c (Fcall_interactively):
17281 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
17282 Make sure it is correctly unwound.
17283
17284 * xsmfns.c (x_session_close): New function.
17285
17286 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
17287 Delete declarations.
17288
17289 * xterm.h: Remove declaration for x_fully_uncatch_errors.
17290 (x_output): Remove background_pixel and foreground_pixel fields.
17291 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
17292 (x_delete_device, x_session_close): Declare.
17293
17294 * lread.c: Include setjmp.h. Update declaration of `read_char'.
17295 (read_filtered_event): Call `read_char' with a local
17296 `wrong_kboard_jmpbuf'.
17297
17298 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
17299 Don't call single_kboard_state. Use FRAME_RIF.
17300
17301 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
17302 systems.
17303
17304 * lisp.h (set_process_environment): Rename to `set_global_environment'.
17305 (Fframe_with_environment, Fset_input_meta_mode)
17306 (Fset_quit_char): EXFUN.
17307 (x_create_device, tty_output, terminal, tty_display_info): Declare.
17308 (init_sys_modes, reset_sys_modes): Update prototypes.
17309 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
17310
17311 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
17312 Vlocal_key_translation_map, and Vkeyboard_translate_table.
17313 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
17314 Delete declarations.
17315 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
17316 (temporarily_switch_to_single_kboard, tty_read_avail_input):
17317 New declarations.
17318
17319 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
17320 already does that during init_display(). Call syms_of_keymap
17321 before syms_of_keyboard. Call `syms_of_terminal'.
17322 Call set_initial_environment, not set_process_environment.
17323 (shut_down_emacs): Call reset_all_sys_modes() instead of
17324 reset_sys_modes().
17325
17326 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
17327 (internal_resolve_face_name, resolve_face_name_error): New functions.
17328 (resolve_face_name): Protect against loops and errors thrown by Fget.
17329 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
17330 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
17331
17332 * scroll.c: Replace CURTTY() with local variables throughout the
17333 file (where applicable).
17334 (calculate_scrolling, calculate_direct_scrolling)
17335 (scrolling_1, scroll_cost): Use the accessor macros for terminal
17336 characteristics.
17337
17338 * keymap.c (Vfunction_key_map): Remove.
17339 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
17340 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
17341 (Vkey_translation_map): Remove.
17342 (syms_of_keymap): Remove DEFVAR for key-translation-map.
17343 (Fdescribe_buffer_bindings)
17344 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
17345 Update for terminal-local key-translation-map.
17346
17347 * Makefile.in (callproc.o): Update dependencies.
17348 (lisp, shortlisp): Add termdev.elc.
17349 (obj): Add terminal.o.
17350 (terminal.o): Add dependencies.
17351 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
17352 (data.o, fns.o): Add termhooks.h dependency.
17353 (SOME_MACHINE_LISP): Add dnd.elc.
17354 (minibuf.o): Fix typo.
17355 Update dependencies.
17356
17357 * data.c (do_symval_forwarding, store_symval_forwarding)
17358 (find_symbol_value): Use the selected frame's keyboard, not
17359 current_kboard.
17360
17361 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
17362 Vwindow_system.
17363
17364 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
17365 Fmenu_bar_open.
17366 (syms_of_xmenu): Update defsubr.
17367 (mouse_position_for_popup, Fx_popup_menu)
17368 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
17369 (set_frame_menubar, free_frame_menubar)
b97439ce 17370 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
17371 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
17372 an X frame.
17373
17374 * xselect.c (x_own_selection): Abort if not an X frame.
17375 (some_frame_on_display): Check if it is an X frame.
17376 (x_handle_selection_clear): Deal with MULTI_KBOARD.
17377
17378 * coding.c: Include frame.h and termhooks.h.
17379 (terminal_coding, keyboard_coding): Delete.
17380 (Fset_terminal_coding_system_internal)
17381 (Fset_keyboard_coding_system_internal)
17382 (Fkeyboard_coding_system)
17383 (Fterminal_coding_system): Add a terminal parameter.
17384 Get terminal_coding from the terminal.
17385 (init_coding_once): Don't call setup_coding_system here.
17386
17387 * dispextern.h (set_scroll_region, turn_off_insert)
17388 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
17389 (tty_clear_end_of_line, tty_setup_colors)
17390 (delete_tty, updating_frame)
17391 (produce_special_glyphs, produce_glyphs, write_glyphs)
17392 (insert_glyphs): Remove.
17393 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
17394 (tty_turn_off_highlight, get_tty_size): Add declaration.
17395 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
17396
17397 * frame.h (enum output_method): Add output_initial.
17398 (struct x_output): Delete.
17399 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17400 Access foreground_pixel and background_pixel directly from the frame.
17401 (tty_display): Delete.
17402 (struct frame): Add buried_buffer_list, foreground_pixel,
17403 background_pixel and terminal. Delete kboard.
17404 (union output_data): Add tty.
17405 (FRAME_KBOARD): Get the kboard from the terminal.
17406 (FRAME_INITIAL_P): New macro.
17407 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
17408 (Qterm_environment_variable, Qdisplay_environment_variable)
17409 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
17410 New declarations.
17411
17412 * termchar.h (tty_output, tty_display_info): New structures.
17413 (tty_list): Declare.
17414 (FRAME_TTY, CURTTY): New macros.
17415 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
17416 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
17417 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
17418 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
17419
17420 * callproc.c: Include frame.h and termhooks.h, for terminal
17421 parameters.
17422 (add_env): New function.
17423 (child_setup): Use it.
17424 (child_setup, getenv_internal): Handle the new Vprocess_environment.
17425 (getenv_internal): Fix get_terminal_param call.
17426 (Fgetenv_internal, egetenv): Update doc.
17427 (syms_of_callproc): Initialize Vprocess_environment to nil.
17428 Register and initialize them. Remove obsolete defvars. Update doc
17429 strings.
17430 (child_setup): Handle Vlocal_environment_variables.
17431 (getenv_internal): Add terminal parameter.
17432 Handle Vlocal_environment_variables.
17433 (Fgetenv_internal): Add terminal parameter.
17434 (child_setup, getenv_internal, Fgetenv_internal): Store the local
17435 environment in a frame (not terminal) parameter. Update doc strings.
17436 (set_initial_environment): Rename from set_global_environment.
17437 Store Emacs environment in initial frame parameter.
17438
17439 * xdisp.c (redisplay_internal): Update references to
17440 `previous_terminal_frame'.
17441 (display_mode_line, Fformat_mode_line): Replace calls to
17442 `push_frame_kboard' with `push_kboard'.
17443 (get_glyph_string_clip_rects): Add extra parentheses and
17444 braces to prevent compiler warnings.
17445 (calc_pixel_width_or_height): Add xassert to check that the
17446 frame is alive. Don't call `lookup_image' on a termcap frame.
17447 (message2_nolog, message3_nolog, redisplay_internal)
17448 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
17449 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
17450 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
17451 (Fx_display_pixel_width, Fx_display_pixel_height)
17452 (Fx_display_planes, Fx_display_color_cells)
17453 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
17454 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
17455 (Fx_display_backing_store, Fx_display_visual_class)
17456 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
17457 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
17458
17459 * xfns.c (x_set_foreground_color x_set_background_color)
17460 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
17461 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17462 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
17463 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
17464 terminal that is being deleted.
17465 (Fx_create_frame): Use `store_frame_param' to set `window-system'
17466 frame parameter, and make sure it overrides any user-supplied setting.
17467 (Fx_close_connection, Fx_synchronize): Unify argument names with
17468 the rest of the DEFUNs.
17469
17470 * dispnew.c (Fsend_string_to_terminal): Update call to
17471 `get_tty_terminal'.
17472 (Fredraw_frame, Fsend_string_to_terminal)
17473 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
17474 FRAME_TERMCAP_P and FRAME_TTY.
17475 (window_change_signal): Don't believe width/height values that are
17476 impossibly small.
17477 (Vinitial_window_system): Rename from Vwindow_system.
17478 (termscript, Wcm, rif): Delete.
17479
17480 * termhooks.h (struct terminal): New struct containing the
17481 previously global text display hooks and new members NAME,
17482 DELETED and PARAM_ALIST.
17483 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
17484 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
17485 (FRAME_RIF): New macros.
17486 (get_terminal_param, get_device): New declarations.
17487 (termscript): Delete declaration.
17488
17489 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
17490 (XTflash, x_free_frame_resources, x_scroll_bar_create)
17491 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
17492 FRAME_FOREGROUND_PIXEL.
17493 (x_fully_uncatch_errors): Disable definition.
17494 (x_scroll_bar_expose): Fix reference to foreground pixel.
17495 (XTread_socket): Disable loop on all X displays.
17496 (x_delete_terminal): Don't set terminal->deleted and let
17497 delete_terminal delete the frames on the terminal.
17498 (x_delete_display): Doc update to reflect changes in
17499 delete_terminal.
17500 (x_display_info) <terminal>: Move member earlier in the struct.
17501 (deleting_tty): Remove old variable.
17502 (Fsuspend_tty): Call clear_tty_hooks.
17503 (Fresume_tty, init_tty): Call set_tty_hooks.
17504 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
17505 errors on X frames.
17506 (x_catch_errors_unwind): Abort if x_error_message is NULL.
17507 (handle_one_xevent): Initialize `f' to NULL.
17508 (x_delete_terminal, x_create_terminal): New functions.
17509 (XTset_terminal_modes, XTreset_terminal_modes)
17510 (XTread_socket, x_connection_closed, x_term_init)
17511 (x_term_init, x_delete_display): Add terminal parameter.
17512 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
17513 X connections.
17514
17515 * frame.c: Include termchar.h.
17516 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
17517 (Qwindow_system, Qenvironment, Qterm_environment_variable)
17518 (Qdisplay_environment_variable): New vars.
17519 (Fframep): Deal with output_initial.
17520 (Fframe-live-p): Doc fix.
17521 (Fwindow-system): New function.
17522 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
17523 (make_terminal_frame): Don't create frames on a terminal that is
17524 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17525 (store_frame_param): Check for found_for_frame before calling XFRAME.
17526 (Fmake_terminal_frame): Handle NULL tty names correctly.
17527 (syms_of_frame): Enhance doc string of `default-frame-alist'.
17528 (Fdelete_frame): Remove unused variable `count'. Don't allow other
17529 frames to refer to a deleted frame in their 'environment parameter.
17530 (Fframe_with_environment): New function.
17531 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
17532 (get_future_frame_param): New function.
17533 (Fmake_terminal_frame): Use it.
17534 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
17535
17536 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
17537 * sysdep.c (reset_sys_modes): Update for renames.
17538
17539 * keyboard.c (tty_read_avail_input): New function.
17540 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
17541 (syms_of_keyboard): Defsubr them.
17542 (Fset_input_meta_mode, Fset_quit_char): New functions.
17543 (Fset_input_mode): Split to above functions.
17544 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
17545 parameter. Use it in call to `read_char'.
17546 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
17547 Set wrong_kboard_jmpbuf correctly in recursive calls.
17548 Use current_kboard to access Vkeyboard_translate_table.
17549 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
17550 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
17551 Update longjmp invocations. Remember the original current_kboard,
17552 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
17553 changes it. Comment out unnecessary calls to
17554 `record_single_kboard_state' and `any_kboard_state'.
17555 Update recursive calls.
17556 (wrong_kboard_jmpbuf): Remove global variable.
17557 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
17558 Handle deleted interrupted_kboards correctly; that is a legal
17559 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
17560 and read_char calls. Abort if interrupted_kboard died in read_char.
17561 (any_kboard_state, single_kboard_state)
17562 (push_frame_kboard): Remove function.
17563 (pop_kboard): Switch out of single_kboard mode if the kboard has
17564 been deleted. Remove unused variable. Help debugging by not
17565 changing current_kboard unnecessarily. Set current_kboard to the
17566 kboard of the selected frame when the stored kboard object has
17567 been deleted before pop_kboard.
17568 (temporarily_switch_to_single_kboard): Change first parameter to a
17569 frame pointer. Throw an error when caller wants to change kboards
17570 while in single_kboard mode. Don't push_kboard if we weren't in
17571 single kboard state. Don't pop_kboard if we popped into any
17572 kboard state.
17573 (restore_kboard_configuration): Abort if pop_kboard changed the
17574 kboard in single_kboard mode. Call pop_kboard only after setting
17575 up single_kboard mode.
17576 (Frecursive_edit): Switch to single_kboard mode only in nested
17577 command loops.
17578 (cmd_error, command_loop, command_loop_1, timer_check):
17579 Comment out unnecessary call to `any_kboard_state' and
17580 `record_single_kboard_state'.
17581 (delete_kboard): Exit single_kboard mode if we have just deleted
17582 that kboard. Use FRAME_KBOARD.
17583 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
17584 `fatal_error_signal'.
17585 (record_single_kboard_state): Don't push_kboard if we weren't in
17586 single kboard state. Don't pop_kboard if we popped into any
17587 kboard state.
17588 (push_frame_kboard): Rename to push_kboard.
17589 (kbd_buffer_get_event): Use FRAME_TERMINAL.
17590 (read_avail_input): Read input from all terminals.
17591 (mark_kboards): Also mark Vkeyboard_translate_table.
17592 (kbd_buffer_store_event_hold): Simplify condition.
17593 (read_key_sequence): Reinitialize fkey and keytran at each replay.
17594 (Vkeyboard_translate_table): Move to struct kboard.
17595 (init_kboard): Initialize Vkeyboard_translate_table.
17596 (syms_of_keyboard): Use DEFVAR_KBOARD to define
17597 Vkeyboard_translate_table. Update doc strings. Update docs of
17598 local-function-key-map and function-key-map.
17599
17600 * terminal.c: New file.
17601
17602 * term.c: Include errno.h.
17603 (Vring_bell_function, device_list, initial_device)
17604 (next_device_id, ring_bell, update_begin, update_end)
17605 (set_terminal_window, cursor_to, raw_cursor_to)
17606 (clear_to_end, clear_frame, clear_end_of_line)
17607 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
17608 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
17609 (syms_of_term): Move their initialization to terminal.c.
17610 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
17611 (Ftty_display_color_cells)
17612 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
17613 (clear_tty_hooks, set_tty_hooks)
17614 (init_tty, maybe_fatal): New functions.
17615 (Ftty_type): Return nil if terminal is not on a tty instead of
17616 throwing an error. Doc update.
17617 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
17618 Doc update. Initialize new subrs and variables.
17619 (delete_tty): Use terminal->deleted.
17620 (tty_set_terminal_modes): Rename from set_terminal_modes.
17621 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
17622 (set_scroll_region): Rename to `tty_set_scroll_region'.
17623 (turn_on_insert): Rename to `tty_turn_on_insert'.
17624 (turn_off_insert): Rename to `tty_turn_off_insert'.
17625 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
17626 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
17627 (toggle_highligh): Rename to `tty_toggle_highlight'.
17628 (background_highlight): Rename to `tty_background_highlight'.
17629 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
17630 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
17631 (tty_set_scroll_region, tty_background_highlight)
17632 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
17633 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
17634 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
17635 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
17636 Add static modifier.
17637 (tty_reset_terminal_modes, tty_set_terminal_window)
17638 (tty_set_scroll_region, tty_background_highlight)
17639 (tty_highlight_if_desired, tty_cursor_to)
17640 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
17641 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
17642 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
17643 renames.
17644
176452007-08-28 Jan Djärv <jan.h.d@swipnet.se>
17646
17647 * keyboard.c: Qrtl is new.
17648 (parse_tool_bar_item): Handle :rtl keyword.
17649 (syms_of_keyboard): Intern :rtl keyword.
17650
17651 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
17652
17653 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
17654 so no Lisp code is executed.
17655 (file_for_image, find_rtl_image): New functions.
17656 (xg_get_image_for_pixmap): Use file_for_image.
17657 (update_frame_tool_bar): If direction is RTL, use RTL image if
17658 defined. Use Gtk stock images if defined.
17659
176602007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17661
17662 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
17663 for nonexistent or zero-width glyph in composition glyph.
17664
176652007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
17666
17667 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
17668
17669 * xdisp.c (Finvisible_p): New function.
17670 (syms_of_xdisp): defsubr it.
17671
176722007-08-24 Juanma Barranquero <lekktu@gmail.com>
17673
17674 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
17675 Doc fixes.
17676
176772007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17678
17679 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
17680
176812007-08-24 Martin Rudalics <rudalics@gmx.at>
17682
17683 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
17684 whether decoding has modified buffer contents.
17685
176862007-08-24 Jason Rumney <jasonr@gnu.org>
17687
17688 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
17689 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
17690 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
17691 (init_svg_functions) [HAVE_NTGUI]: New function.
17692 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
17693 (svg_load_image): Use them.
17694 (svg_load_image) [HAVE_NTGUI]: Implement background.
17695
176962007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17697
17698 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
17699 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
17700 (LIBX): Remove @RSVG_LIBS@.
17701 (LIBES): Add $(RSVG_LIBS).
17702
17703 * image.c (svg_load_image): Blend with specified background if exists.
17704 Use IMAGE_BACKGROUND. Add Mac OS Support.
17705
17706 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
17707 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
17708 Remove macros.
17709 [MAC_OSX] (socket_callback): Do nothing.
17710 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
17711 ReceiveNextEvent.
17712 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
17713 socket_callback.
17714 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
17715
177162007-08-22 Glenn Morris <rgm@gnu.org>
17717
17718 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
17719
177202007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
17721
17722 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
17723
17724 * image.c: Add support for SVG images. Some additional comments
17725 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
17726 (svg_image_p): New function to test for SVG image.
17727 (svg_load): New function to load SVG image.
17728 (svg_load_image): New function, helper for svg_load.
17729 (Qsvg): New Lisp_object.
17730 (svg_keyword_index): New enum.
17731 (svg_format): New static `image_keyword' struct.
17732 (svg_type): New static `image_type' struct.
17733 (librsvg/rsvg.h): Include it.
17734
177352007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
17736
17737 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17738
177392007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17740
17741 * lread.c (Qold_style_backquotes): New var.
17742 (syms_of_lread): Init and staticpro it.
17743 (load_warn_old_style_backquotes): New fun.
17744 (Fload): Use them to warn about old style backquotes.
17745 (end_of_file_error, Fload): Remove unused vars.
17746
17747 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17748
17749 * lread.c (Vold_style_backquotes): New var.
17750 (syms_of_lread): Init and export it to Elisp.
17751 (read1): Set it when we find an old-style (back)quote.
17752
177532007-08-22 Jason Rumney <jasonr@gnu.org>
17754
17755 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17756
177572007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17758
17759 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17760
177612007-08-19 Richard Stallman <rms@gnu.org>
17762
17763 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17764
177652007-08-19 Andreas Schwab <schwab@suse.de>
17766
17767 * alloc.c (pure): Round PURESIZE up.
17768
177692007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17770
17771 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17772 active frame.
17773
177742007-08-16 Richard Stallman <rms@gnu.org>
17775
17776 * eval.c (Fcommandp): Add parens to clarify.
17777
17778 * minibuf.c (Fall_completions): Use enum for type of table.
17779
17780 * emacs.c (USAGE2): Improve text.
17781
177822007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17783
17784 * term.c (tty_default_color_capabilities): Declare static
17785 variables in file scope, to avoid HPUX compiler problem.
17786
177872007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17788
17789 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17790 to gtk_toolbar_insert.
17791
177922007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17793
17794 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17795
17796 * insdel.c (reset_var_on_error): New fun.
17797 (signal_before_change, signal_after_change):
17798 Use it to reset (after|before)-change-functions to nil in case of error.
17799 Bind inhibit-modification-hooks to t.
17800 Don't bind (after|before)-change-functions to nil while they run.
17801
178022007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17803
17804 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17805 filling pixmap with stippled background.
17806
178072007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17808
17809 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17810 Don't use invisible frame as parent window for repositioning.
17811
178122007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17813
17814 * print.c (new_backquote_output): Rename from old_backquote_output.
17815 (print): Inverse its logic (according to its name) so as to match the
17816 behavior of new_backquote_flag in lread.c.
17817
178182007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17819
17820 * gmalloc.c (posix_memalign): New function.
17821
17822 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17823 ActivateControl/DeactivateControl here.
17824 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17825 frame-notice-user-settings is non-nil.
17826 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17827 for kEventParamFMFontStyle.
17828 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17829 mac_pass_command_to_system and mac_pass_control_to_system here.
17830 (XTread_socket): Call ActivateControl/DeactivateControl here.
17831 (XTread_socket) [TARGET_API_MAC_CARBON]:
17832 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17833 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17834 for window repositioning.
17835
178362007-08-08 Glenn Morris <rgm@gnu.org>
17837
17838 * Replace `iff' in doc-strings and comments.
17839
178402007-08-07 Chong Yidong <cyd@stupidchicken.com>
17841
17842 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
17843
178442007-08-07 Martin Rudalics <rudalics@gmx.at>
17845
17846 * fileio.c (Finsert_file_contents): Run format-decode and
17847 after_insert_file_functions on entire buffer when REPLACE is
17848 non-nil and inhibit modification_hooks and point_motion_hooks.
17849 For consistency, run after_insert_file_functions iff something
17850 got inserted. Move signal_after_change and update_compositions
17851 after code running after_insert_file_functions. Make sure that
17852 undo_list doesn't record intermediate steps of the decoding process.
17853
178542007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17855
17856 * emacs.c (main)
17857 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
17858 Call malloc_enable_thread on interactive startup.
17859
17860 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
17861 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
17862 [USE_PTHREAD]: Conditionalize with it.
17863 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
17864 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
17865 New functions.
17866
178672007-08-06 Chong Yidong <cyd@stupidchicken.com>
17868
17869 * xdisp.c (redisplay_window): When restoring original buffer
17870 position, make sure it is still valid.
17871
17872 * image.c (png_load): Ignore png-supplied background color.
17873
178742007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17875
17876 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
17877 Use kCFAbsoluteTimeIntervalSince1970.
17878
17879 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
17880 New variable.
17881 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
17882 event loop should be quit.
17883 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
17884 Quit dialog event loop if quit_dialog_event_loop is set.
17885
17886 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
17887 (Selection): New typedef. Use instead of ScrapRef.
17888 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
17889 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
17890 (mac_clear_selection): Rename from clear_scrap.
17891 (get_flavor_type_from_symbol): New argument SEL and subsume function of
17892 scrap_has_target_type. All uses changed.
17893 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
17894 (mac_selection_has_target_p): New functions.
17895 (mac_put_selection_value): Rename from put_scrap_string.
17896 (mac_get_selection_value): Rename from get_scrap_string.
17897 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
17898 (put_scrap_private_timestamp, scrap_has_target_type)
17899 (get_scrap_private_timestamp): Remove functions.
17900 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
17901 (x_own_selection, x_get_local_selection):
17902 Use mac_valid_selection_value_p.
17903 (x_own_selection): Don't use put_scrap_private_timestamp.
17904 Record OWNERSHIP-INFO into Vselection_alist instead.
17905 (x_get_local_selection): Don't check type if request is local.
17906 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
17907 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
17908
179092007-08-04 Jan Djärv <jan.h.d@swipnet.se>
17910
17911 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
17912 add comment explaining why.
17913
179142007-08-03 Richard Stallman <rms@gnu.org>
17915
17916 * fileio.c (Fvisited_file_modtime): Use make_time.
17917
179182007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
17919
17920 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
17921 build.
17922
179232007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
17924
17925 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
17926
179272007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
17928
17929 * puresize.h (BASE_PURESIZE): Increase to 1130000.
17930
179312007-07-30 Richard Stallman <rms@gnu.org>
17932
17933 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
17934
179352007-07-29 Jan Djärv <jan.h.d@swipnet.se>
17936
17937 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
17938
179392007-07-28 Nick Roberts <nickrob@snap.net.nz>
17940
17941 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
17942 remote default-directory.
17943
17944 * buffer.c (mode-line-format): Update doc string.
17945
179462007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17947
17948 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
17949 scroll bar gap.
17950 (x_scroll_bar_create): Set bar->fringe_extended_p.
17951 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
17952 on frame edge. Check fringe background extension. Don't clear
17953 extended fringe background area.
17954
17955 * w32term.h (struct scroll_bar): New member fringe_extended_p.
17956 (w32_fill_area): Enclose multiple statements with do ... while (0).
17957
17958 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
17959 Extend fringe background to scroll bar gap.
17960 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
17961 Set bar->fringe_extended_p.
17962 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17963 Put leftmost/rightmost scroll bars on frame edge. Check fringe
17964 background extension. Don't clear extended fringe background area.
17965
17966 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17967 New member fringe_extended_p.
17968
179692007-07-25 Glenn Morris <rgm@gnu.org>
17970
17971 * Relicense all FSF files to GPLv3 or later.
17972
17973 * COPYING: Switch to GPLv3.
17974
179752007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
17976
17977 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
17978
17979 * data.c (Finteractive_form): Check for the presence of an
17980 `interactive-form' symbol property more thoroughly.
17981
17982 * data.c (Finteractive_form): Use an `interactive-form' property if
17983 present, analogous to the function-documentation property.
17984
179852007-07-24 Jason Rumney <jasonr@gnu.org>
17986
17987 * w32fns.c (x_real_positions): Get real position from OS instead of
17988 calculating it.
17989
179902007-07-23 Jason Rumney <jasonr@gnu.org>
17991
17992 * filelock.c (current_lock_owner): Allow for @ sign in username.
17993
179942007-07-22 Nick Roberts <nickrob@snap.net.nz>
17995
17996 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
17997 remote default-directory.
17998
17999 * buffer.c (mode-line-format): Describe above case in doc string.
18000
180012007-07-20 Eli Zaretskii <eliz@gnu.org>
18002
18003 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
18004 Define if not defined.
18005
180062007-07-18 Jason Rumney <jasonr@gnu.org>
18007
18008 * w32proc.c (w32_executable_type): Handle 64 bit executables.
18009
180102007-07-18 Richard Stallman <rms@gnu.org>
18011
18012 * data.c (Fsetq_default): Doc fix.
18013
18014 * eval.c (Fsetq): Doc fix.
18015
180162007-07-18 Juanma Barranquero <lekktu@gmail.com>
18017
18018 * coding.c (Ffind_operation_coding_system):
18019 * eval.c (For, Fand): Doc fixes.
18020 Reported by Johan Bockgård.
18021
180222007-07-18 Jan Djärv <jan.h.d@swipnet.se>
18023
18024 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
18025
18026 * xterm.h: Declare x_ewmh_activate_frame.
18027
18028 * xterm.c (x_ewmh_activate_frame): New function.
18029 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
18030
180312007-07-17 Martin Rudalics <rudalics@gmx.at>
18032
18033 * window.c (Fdisplay_buffer): If largest or LRU window is the
18034 only window, split it even if it is not eligible for splitting.
18035 This restores the original behavior broken by the 2007-07-15
18036 change.
18037
180382007-07-17 Glenn Morris <rgm@gnu.org>
18039
18040 * abbrev.c (abbrev_check_chars): New function.
18041 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
18042 Call abbrev_check_chars to check abbrev characters are word
18043 constituents. Doc fix.
18044
180452007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
18046
18047 * process.c (Fstart_process, Fmake_network_process)
18048 (read_process_output): Fix up last changes.
18049
180502007-07-16 Eli Zaretskii <eliz@gnu.org>
18051
18052 * makefile.w32-in (clean): Don't delete *~.
18053
180542007-07-16 Andreas Schwab <schwab@suse.de>
18055
18056 * window.c (Fdisplay_buffer): Use NILP.
18057 (Fset_window_scroll_bars): Likewise.
18058
180592007-07-15 Martin Rudalics <rudalics@gmx.at>
18060
18061 * window.c (window_min_size_2): New function.
18062 (window_min_size_1, size_window, Fdisplay_buffer)
18063 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
18064 windows without mode- or header-lines when window-min-height is
18065 too small.
18066 (size_window): Reset nodelete_p after testing it, following an
18067 earlier note by Kim F. Storm.
18068 (display_buffer): Do not set split_height_threshold to twice the
18069 value of window_min_height to avoid changing the value of a
18070 customizable variable. Rather explicitly check whether the
18071 height of the window that shall be splitted is at least as large
18072 as split_height_threshold.
18073 (Fwindow_full_width_p): New defun.
18074 (syms_of_window): Defsubr it.
18075
18076 * window.h: Add EXFUN for Fwindow_full_width_p.
18077
180782007-07-14 Jason Rumney <jasonr@gnu.org>
18079
18080 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
18081
180822007-07-14 Richard Stallman <rms@gnu.org>
18083
18084 * eval.c (maybe_call_debugger): New function.
18085 (find_handler_clause): Use maybe_call_debugger.
18086 Call it when the handler says `debug'.
18087 Eliminate DEBUGGER_VALUE_PTR.
18088 (Fsignal): Eliminate debugger_value.
18089 (Qdebug): New variable.
18090 (syms_of_eval): Initialize it.
18091
180922007-07-14 Juanma Barranquero <lekktu@gmail.com>
18093
18094 * eval.c (Fprogn):
18095 * keyboard.c (Ftrack_mouse):
18096 * print.c (Fwith_output_to_temp_buffer):
18097 * window.c (Fsave_window_excursion): Doc fix.
18098
180992007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
18100
18101 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
18102
181032007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
18104
18105 * process.h (struct Lisp_Process): Turn slots infd, outfd,
18106 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
18107 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
18108 read_output_delay, and read_output_skip from Lisp_Objects to ints.
18109 Remove unused encoding_carryover.
18110 * process.c: Adjust all functions accordingly.
18111
181122007-07-12 Richard Stallman <rms@gnu.org>
18113
18114 * term.c: Include unistd.h only if HAVE_UNISTD_H.
18115
181162007-07-11 Jason Rumney <jasonr@gnu.org>
18117
18118 * makefile.w32-in (LIBS): Include OLE32.
18119
18120 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
18121 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
18122
181232007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
18124
18125 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
18126 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
18127 from a Lisp_Object into a bare pointer.
18128 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
18129 Adjust the code correspondingly.
18130
18131 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
18132
18133 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
18134 (term_show_mouse_face): Remove unused var `j'.
18135 (handle_one_term_event): Remove unused vars `i' and `j'.
18136 Don't cast return value of ttyname since it's not necessary.
18137
181382007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
18139
18140 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
18141 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
18142
18143 * fns.c (map_char_table): Use an array of int for `indices' rather than
18144 an array of Lisp_Objects (which are only ever integers anyway).
18145 (Fmap_char_table): Update caller.
18146 * lisp.h: Update prototype.
18147 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
18148 * fontset.c (Ffontset_info):
18149 * casetab.c (set_case_table): Update callers.
18150
18151 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
18152
18153 * keymap.c (struct accessible_keymaps_data)
18154 (struct where_is_internal_data): New structures.
18155 (accessible_keymaps_1, where_is_internal_1): Use them to change
18156 interface to adhere to the one used by map_keymap.
18157 (Faccessible_keymaps, where_is_internal): Use map_keymap.
18158 (accessible_keymaps_char_table, where_is_internal_2): Remove.
18159
18160 * keymap.h (map_keymap_function_t): More informative prototype.
18161
181622007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
18163
18164 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
18165 (looking_at_1): Don't change search_regs and last_thing_searched
18166 if `inhibit-changing-match-data' is non-nil.
18167 (string_match_1, search_buffer, set_search_regs): Likewise.
18168 (syms_of_search): Add Lisp level definition for
18169 `inhibit-changing-match-data' and set it to nil.
18170 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
18171 start and end of the match, instead of using values in search_regs.
18172
181732007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
18174
18175 * minibuf.c (Fcompleting_read): New value `confirm-only'
18176 for `require-match'.
18177
181782007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
18179
18180 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
18181 part of the 2007-06-27 change to syms_of_fileio.
18182
181832007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18184
18185 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
18186 Check WINDOWP before using XWINDOW. Consolidate return statements.
18187
181882007-06-27 Richard Stallman <rms@gnu.org>
18189
18190 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
18191
181922007-06-27 Juanma Barranquero <lekktu@gmail.com>
18193
18194 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
18195
181962007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18197
18198 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
18199 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
18200 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
18201 (_free_internal, memalign): Use them.
18202 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
18203 Initialize to PTHREAD_MUTEX_INITIALIZER.
18204 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
18205 (morecore_nolock): Rename from morecore. All uses changed.
18206 Use only nolock versions of internal allocation functions.
18207 (_malloc_internal_nolock, _realloc_internal_nolock)
18208 (_free_internal_nolock): New functions created from
18209 _malloc_internal, _realloc_internal, and _free_internal.
18210 (_malloc_internal, _realloc_internal, _free_internal): Use them.
18211 Copy hook value to automatic variable before its use.
18212 (memalign): Copy hook value to automatic variable before its use.
18213
182142007-06-26 Kenichi Handa <handa@m17n.org>
18215
18216 * coding.c (Ffind_operation_coding_system): Docstring improved.
18217 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
18218
182192007-06-25 David Kastrup <dak@gnu.org>
18220
18221 * keymap.c (Fcurrent_active_maps): Add `position' argument.
18222 (Fwhere_is_internal): Adjust call to `current-active-maps' to
18223 cater for additional parameter.
18224
18225 * keymap.h: Adjust number of parameters to `current-active-maps'.
18226
18227 * doc.c (Fsubstitute_command_keys): Adjust call of
18228 `current-active-maps'.
18229
182302007-06-25 David Kastrup <dak@gnu.org>
18231
18232 * callint.c (Fcall_interactively): Make the parsing of interactive
18233 specs somewhat more readable.
18234
182352007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18236
18237 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
18238 to scroll bar gap also when bitmap fills fringe. Draw only foreground
18239 if extended background has already been filled.
18240
182412007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18242
18243 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
18244 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
18245
18246 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
18247 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
18248 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
18249 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
18250 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
18251 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
18252 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
18253 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
18254 Run timers during dialog popup.
18255 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
18256
182572007-06-21 Jason Rumney <jasonr@gnu.org>
18258
18259 * image.c (convert_mono_to_color_image): Swap fore and background.
18260
182612007-06-20 Jason Rumney <jasonr@gnu.org>
18262
18263 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
18264 (w32_free_bdf_font): Unmap memory not handle.
18265
182662007-06-20 Sam Steingold <sds@gnu.org>
18267
18268 * gmalloc.c (__morecore): Fix the declaration to comply with the
18269 definition.
18270
182712007-06-20 Juanma Barranquero <lekktu@gmail.com>
18272
18273 * w32term.c (w32_delete_display): Remove leftover declaration.
18274 (w32_define_cursor, w32_initialize): Make static.
18275
18276 * w32.c (_wsa_errlist): Fix typo in error message.
18277 (init_environment): Ignore any environment variable from the
18278 registry having a null value.
18279
182802007-06-20 Glenn Morris <rgm@gnu.org>
18281
18282 * Makefile.in (LIBGIF): Default to -lgif.
18283
182842007-06-17 Jason Rumney <jasonr@gnu.org>
18285
18286 * w32menu.c (add_menu_item): Don't use multibyte string functions on
18287 unicode strings.
18288
182892007-06-16 Juanma Barranquero <lekktu@gmail.com>
18290
18291 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
18292 Fix typo in docstring.
18293
182942007-06-16 Eli Zaretskii <eliz@gnu.org>
18295
18296 * w32menu.c (add_menu_item): Escape `&' characters in menu items
18297 and their keybindings.
18298
182992007-06-15 Chong Yidong <cyd@stupidchicken.com>
18300
18301 * composite.c (update_compositions): Fix last fix.
18302
183032007-06-14 Jason Rumney <jasonr@gnu.org>
18304
18305 * w32.c (get_process_times_fn): New function pointer.
18306 (globals_of_w32): Intialize it if present in kernel32.dll.
18307 (w32_get_internal_run_time): New function.
18308
18309 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
18310
183112007-06-14 Kenichi Handa <handa@etlken.m17n.org>
18312
18313 * composite.c (update_compositions): Check the validness of
18314 compositions.
18315
183162007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18317
18318 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
18319 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
18320
18321 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
18322 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
18323
18324 * macgui.h (USE_MAC_TOOLBAR): New define.
18325
18326 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18327 Return immediately unless popup is activated.
18328
18329 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
18330 background to scroll bar gap.
18331 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
18332 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
18333 scroll bars on frame edge. Check fringe background extension.
18334 Don't clear extended fringe background area.
18335 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
18336 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
18337 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
18338 [USE_MAC_TOOLBAR]: New macros.
18339 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
18340 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
18341 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
18342 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
18343 [USE_MAC_TOOLBAR]: New functions.
18344 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
18345 manually if previous repositioning has failed.
18346 (mac_handle_keyboard_event): Use precomputed event kind.
18347 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
18348 as tool bar item click. Handle mouse movement over tool bar items.
18349
18350 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
18351 toolbar_win_gravity.
18352 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
18353 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
18354 Add externs.
18355
18356 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
18357 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
18358
183592007-06-14 Chong Yidong <cyd@stupidchicken.com>
18360
18361 * image.c (search_image_cache): Remove unused variable.
18362
183632007-06-13 Chong Yidong <cyd@stupidchicken.com>
18364
18365 * xfns.c, xmenu.c: Link to xaw3d if available.
18366
183672007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18368
18369 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
18370 frame_foreground and frame_background.
18371
18372 * image.c (lookup_image): Save frame foreground and background colors.
18373 (search_image_cache): Check if saved and current frame colors match.
18374
183752007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
18376
18377 * regex.c (regex_compile): Remove the `regnum' counter.
18378 Use bufp->re_nsub instead. Add support for \(?N:RE\).
18379
183802007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
18381
18382 * term.c: Include intervals.h to declare Fget_text_property.
18383
183842007-06-10 Jason Rumney <jasonr@gnu.org>
18385
18386 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
18387
183882007-06-08 Juanma Barranquero <lekktu@gmail.com>
18389
18390 * callint.c (Fcall_interactively):
18391 * editfns.c (Fdelete_and_extract_region):
18392 * fileio.c (Fread_file_name):
18393 * fns.c (Fmapconcat):
18394 * keyboard.c (cmd_error_internal):
18395 * keymap.c (Fkey_description):
18396 * lread.c (openp):
18397 * minibuf.c (read_minibuf):
18398 * search.c (wordify):
18399 * sunfns.c (sel_read):
18400 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
18401 * xfns.c (x_default_scroll_bar_color_parameter):
18402 * xmenu.c (menu_help_callback):
18403 * xselect.c (Fx_get_atom_name):
18404 * xterm.c (x_term_init): Use empty_unibyte_string.
18405
184062007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
18407
18408 * alloc.c (init_strings): Initialize canonical empty strings.
18409 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
18410 canonical empty string when the requested size is 0.
18411
18412 * emacs.c (empty_unibyte_string): Rename from empty_string.
18413 (empty_multibyte_string): New canonical empty string.
18414 (syms_of_emacs): Don't initialize empty_string.
18415
18416 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
18417 string, if appropriate.
18418 (empty_unibyte_string, empty_multibyte_string): New externs.
18419 (empty_string): Remove extern.
18420
18421 * lread.c (syms_of_lread): Use empty_unibyte_string.
18422
184232007-06-07 Jason Rumney <jasonr@gnu.org>
18424
18425 * s/ms-w32.h: Don't define HAVE_TZNAME.
18426
18427 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
18428
184292007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18430
18431 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
18432
18433 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
18434 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
18435
18436 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18437 Don't call next handler.
18438 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
18439 Remove argument. Install handler to application.
18440 (set_frame_menubar): Don't change deep_p.
18441 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
18442 FRAME_OUTER_TO_INNER_DIFF_Y.
18443 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
18444 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
18445 [HAVE_DIALOGS]: New macros.
18446 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
18447 Use them.
18448 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
18449
18450 * macselect.c [MAC_OSX] (install_service_handler): Rename from
18451 init_service_handler. All callers changed. Return OSStatus value.
18452
18453 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
18454 All callers changed so as not to call SetPortWindowPort.
18455 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
18456 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
18457 mac_draw_string_common.
18458 (mac_draw_image_string_qd): Likewise.
18459 (mac_draw_string_common): Use them. Add INLINE.
18460 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
18461 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
18462 GetGlobalMouse.
18463 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
18464 and FRAME_OUTER_TO_INNER_DIFF_Y.
18465 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
18466 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
18467 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
18468 repositioning window to mac_handle_window_event.
18469 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
18470 saving window location to mac_handle_window_event
18471 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
18472 (install_menu_target_item_handler): Remove argument in extern.
18473 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
18474 Also accept command events.
18475 (do_keystroke): New function created from XTread_socket.
18476 (init_command_handler): Remove functions.
18477 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
18478 and save window location by kEventWindowShowing and kEventWindowHiding
18479 handlers here. Don't call next handler for window state change and
18480 focus events.
18481 (mac_handle_application_event, mac_handle_keyboard_event)
18482 [TARGET_API_MAC_CARBON]: New functions.
18483 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
18484 kEventWindowShowing and kEventWindowHiding events. Move installation
18485 of mouse, font, text input and menu target item handlers to
18486 install_application_handler.
18487 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
18488 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18489 New function.
18490 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18491 Register it.
18492 (XTread_socket) [TARGET_API_MAC_CARBON]:
18493 Consolidate SendEventToEventTarget calls.
18494 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
18495 Move application activation handler to mac_handle_application_event.
18496 Move keyboard handler to mac_handle_keyboard_event.
18497 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
18498 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
18499 init_command_handler. Call install_application_handler.
18500
18501 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
18502 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
18503
185042007-06-07 Glenn Morris <rgm@gnu.org>
18505
18506 * emacs.c (main): Use `emacs-copyright' in --version output.
18507
185082007-06-06 Chong Yidong <cyd@stupidchicken.com>
18509
18510 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
18511
185122007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18513
18514 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
18515
18516 * macgui.h: Replace WindowPtr with WindowRef.
18517
18518 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18519 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18520 Replace ControlHandle with ControlRef.
18521 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
18522
18523 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18524 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18525 Replace ControlHandle with ControlRef.
18526 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
18527 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
18528
18529 * macterm.h (struct scroll_bar): Rename member control_handle_low
18530 and control_handle_high to control_ref_low and control_ref_high.
18531 All uses changed.
18532 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
18533 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
18534 respectively. All uses changed.
18535 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
18536 (install_window_handler, remove_window_handler): Replace WindowPtr
18537 with WindowRef in externs.
18538
185392007-06-05 Juanma Barranquero <lekktu@gmail.com>
18540
18541 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
18542
185432007-06-03 Nick Roberts <nickrob@snap.net.nz>
18544
18545 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
18546
18547 * frame.c (Fmouse_position, Fmouse_pixel_position):
18548 Condition on HAVE_GPM too.
18549
18550 * term.c (term_mouse_highlight): Remove unused variables.
18551 (Fterm_open_connection): Set gpm_zerobased to 1.
18552 (term_mouse_movement, term_mouse_click, handle_one_term_event):
18553 Use zero based co-ordinates.
18554 (handle_one_term_event): Report a drag as mouse movement too.
18555
18556 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
18557
185582007-06-03 Chong Yidong <cyd@stupidchicken.com>
18559
18560 * image.c (search_image_cache): New function. Require background
18561 color match if background color is unspecified in the image spec.
18562 (uncache_image, lookup_image): Use it.
18563
185642007-06-01 Juanma Barranquero <lekktu@gmail.com>
18565
18566 * window.c (Fshrink_window): Reflow docstring.
18567
185682007-06-02 Chong Yidong <cyd@stupidchicken.com>
18569
18570 * Version 22.1 released.
18571
185722007-06-01 Richard Stallman <rms@gnu.org>
18573
18574 * xfns.c (x_encode_text): Add GCPRO.
18575
185762007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18577
18578 * xfns.c (x_set_name_internal): Save encoded name before
18579 x_encode_text in case string data is relocated.
18580
185812007-05-31 Richard Stallman <rms@gnu.org>
18582
18583 * buffer.c (syms_of_buffer): Doc fix.
18584
185852007-05-30 Nick Roberts <nickrob@snap.net.nz>
18586
18587 * sysdep.c (init_sys_modes): Add rather than replace with
18588 O_NONBLOCK.
18589
18590 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
18591 term_mouse_moveto.
18592
18593 * termhooks.h (term_mouse_moveto): New extern.
18594
18595 * term.c (mouse_face_window): Rename...
18596 (Qmouse_face_window): ...to this.
18597 (term_show_mouse_face, term_clear_mouse_face)
18598 (term_mouse_highlight): Use Qmouse_face_window.
18599 (term_mouse_moveto): New function.
18600 (term_mouse_position): Make it work.
18601 (syms_of_term): Uncomment assignment to mouse_position_hook.
18602 Staticpro Qmouse_face_window.
18603
186042007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18605
18606 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
18607 around current_column call.
18608
186092007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
18610
18611 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
18612 * xdisp.c (next_element_from_buffer):
18613 * window.c (delete_window):
18614 * term.c (term_mouse_highlight):
18615 * msdos.c (getdefdir):
18616 * macterm.c (mac_create_bitmap_from_bitmap_data)
18617 (init_font_name_table):
18618 * fns.c (Fsxhash):
18619 * data.c (Fmake_local_variable):
18620 * ccl.c (ccl_driver): Likewise.
18621
186222007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18623
18624 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
18625 Call mac_wakeup_from_rne on window size change.
18626
186272007-05-25 Chong Yidong <cyd@stupidchicken.com>
18628
18629 * image.c (uncache_image): Fix typo.
18630
186312007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
18632
18633 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
18634
186352007-05-22 Richard Stallman <rms@gnu.org>
18636
18637 * xterm.c (x_connection_closed): Remove NO_RETURN.
18638
186392007-05-22 Martin Rudalics <rudalics@gmx.at>
18640
18641 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
18642
186432007-05-21 Chong Yidong <cyd@stupidchicken.com>
18644
18645 * image.c (uncache_image): New function.
18646 (Fimage_refresh): New function.
18647
186482007-05-20 Jan Djärv <jan.h.d@swipnet.se>
18649
18650 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
18651
186522007-05-20 Nick Roberts <nickrob@snap.net.nz>
18653
18654 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
18655 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
18656
186572007-05-20 Nick Roberts <nickrob@snap.net.nz>
18658
18659 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
18660 conditional on [HAVE_GPM_H].
18661
186622007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
18663
18664 * syntax.c (skip_chars): Update syntax-table only after we checked that
18665 the new location is valid.
18666
186672007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18668
18669 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
18670 mac_get_window_bounds.
18671
186722007-05-20 Nick Roberts <nickrob@snap.net.nz>
18673
18674 * Makefile.in (LIBGPM): Allow it to be set from configure.
18675 If set then link Emacs with it.
18676
18677 * config.in: Regenerate.
18678
18679 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
18680 New externs.
18681
18682 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
18683 Include gpm.h.
18684 (handle_one_term_event, term_gpm): New externs.
18685
18686 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
18687 and allow it to be interrupted by SIGIO.
18688
18689 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
18690 (wait_reading_process_output): Wait on gpm_fd too.
18691 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
18692 (add_gpm_wait_descriptor_called_flag): New variable.
18693 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
18694
18695 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
18696 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
18697 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
18698 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
18699 (make_lispy_event): Add case GPM_CLICK_EVENT.
18700 (read_avail_input): Handle mouse input.
18701
18702 * term.c (write_glyphs_with_face): New function.
18703 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
18704 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
18705 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
18706 (mouse_face_face_id, term_gpm, pos_x, pos_y)
18707 (last_mouse_x, last_mouse_y): New variables.
18708 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
18709 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
18710 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
18711 (Fterm_close_connection): New functions.
18712 (term_init): Initialise mouse_face_window.
18713
187142007-05-19 Chong Yidong <cyd@stupidchicken.com>
18715
18716 * xdisp.c (redisplay_window): If first window line is a
18717 continuation line, recompute the new window start instead of
18718 recentering.
18719
187202007-05-18 Glenn Morris <rgm@gnu.org>
18721
18722 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
18723 Suggested by Alfred M. Szmidt <ams@gnu.org>.
18724
187252007-05-17 Glenn Morris <rgm@gnu.org>
18726
18727 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
18728
187292007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18730
18731 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
18732 dead key repeat and up events.
18733
187342007-05-14 Chong Yidong <cyd@stupidchicken.com>
18735
18736 * image.c (pbm_load): Check image size for monochrome pbm.
18737
187382007-05-13 Chong Yidong <cyd@stupidchicken.com>
18739
18740 * xterm.c (XTread_socket): Revert last change.
18741
187422007-05-12 Chong Yidong <cyd@stupidchicken.com>
18743
18744 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18745
18746 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18747
187482007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18749
18750 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18751 mixup (YAILOM).
18752
187532007-05-07 Andreas Schwab <schwab@suse.de>
18754
18755 * keymap.c (Flookup_key): Fix typo in last change.
18756
187572007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18758
18759 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18760 mapping for unibyte strings.
18761
187622007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18763
18764 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18765 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18766
187672007-04-29 Richard Stallman <rms@gnu.org>
18768
18769 * insdel.c (replace_range): For undo, record insertion first.
18770
187712007-04-29 Andreas Schwab <schwab@suse.de>
18772
18773 * lisp.h (VECSIZE): Use OFFSETOF.
18774
187752007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18776
18777 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18778 disabled lines.
18779
187802007-04-28 Richard Stallman <rms@gnu.org>
18781
18782 * lread.c (read_escape): In a string, \s is always space.
18783
187842007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18785
18786 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18787
18788 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18789 submenu for menu bar items.
18790
18791See ChangeLog.10 for earlier changes.
18792
18793;; Local Variables:
18794;; coding: utf-8
18795;; add-log-time-zone-rule: t
aac0c6e3
MR
18796;; End:
18797
76b6f707 18798 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
18799
18800 This file is part of GNU Emacs.
18801
18802 GNU Emacs is free software: you can redistribute it and/or modify
18803 it under the terms of the GNU General Public License as published by
18804 the Free Software Foundation, either version 3 of the License, or
18805 (at your option) any later version.
18806
18807 GNU Emacs is distributed in the hope that it will be useful,
18808 but WITHOUT ANY WARRANTY; without even the implied warranty of
18809 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18810 GNU General Public License for more details.
18811
18812 You should have received a copy of the GNU General Public License
18813 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18814
18815;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40