* net/tramp.el (tramp-default-file-modes) Remove execute permissions.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
5f445726
JM
12009-06-29 Jim Meyering <meyering@redhat.com>
2
3 Remove useless if-before-xfree test.
4 * nsfont.m (nsfont_close): Remove useless test.
5 * term.c (delete_tty): Likewise.
6 * w32.c (system_process_attributes): Likewise.
7 * w32font.c (w32font_close): Likewise.
8 * xfaces.c (x_free_gc): Likewise.
9 * xselect.c (buffer): Likewise.
10
b9607587
AS
112009-06-28 Andreas Schwab <schwab@linux-m68k.org>
12
13 * process.c (send_process): Keep decoded string in a local
14 variable and protect it from GC. (Bug#3521)
15
89ba96f4
EZ
162009-06-28 Eli Zaretskii <eliz@gnu.org>
17
18 * term.c (create_tty_output) [MSDOS]: #ifdef away.
19 (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
20
098a1589
CY
212009-06-28 Chong Yidong <cyd@stupidchicken.com>
22
485422be
CY
23 * xdisp.c (start_display, handle_face_prop)
24 (move_it_vertically_backward, cursor_row_fully_visible_p)
25 (redisplay_window, try_window_id, produce_image_glyph): Delete
26 some #ifdef-ed out code chunks that are now obsolete.
27
098a1589
CY
28 * xterm.c (x_update_window_begin, x_new_focus_frame)
29 (x_scroll_bar_handle_click, handle_one_xevent)
30 (handle_one_xevent, XTread_socket, x_focus_on_frame)
31 (x_make_frame_visible, x_make_frame_invisible)
32 (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
33 code chunks that are now obsolete.
34
78c38319
MA
352009-06-28 Michael Albinus <michael.albinus@gmx.de>
36
37 * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
38 xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
39 for hours, when optimzation is enabled.
40 (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
41 (xd_read_message): Make them static.
42
4189ed40
CY
432009-06-27 Chuck Blake <cblake@pdos.csail.mit.edu> (tiny change)
44
45 * term.c (turn_on_face): Allow simultaneously bold and dim
46 terminal faces (Bug#3530).
47
cd9b5e16
CY
482009-06-27 Chong Yidong <cyd@stupidchicken.com>
49
4e23bedb
CY
50 * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
51
cd9b5e16
CY
52 * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
53 truncation glyphs (Bug#3686).
54
07cc3c35
GM
552009-06-27 Glenn Morris <rgm@gnu.org>
56
57 * m/pmax.h: Restore file, with only netbsd portions.
58
25c5550f
DR
592009-06-26 David Reitter <david.reitter@gmail.com>
60
cd9b5e16 61 * nsterm.m (keydown): Avoid infinite loop.
25c5550f 62
42d4a64f
KH
632009-06-26 Peter Jolly <peter@jollys.org> (tiny change)
64
65 * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
66 the arg FORCE_SYMBOL.
67
930fe55b 682009-06-25 Kenichi Handa <handa@m17n.org>
a71ccf3a
KH
69
70 * fontset.c (fontset_find_font): When a usable rfont_def is found
71 in a fallback font-group, make it the first element of the group.
72
57ebc3fd
CY
732009-06-24 Chong Yidong <cyd@stupidchicken.com>
74
75 * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
76
f084f942
KH
772009-06-24 Kenichi Handa <handa@m17n.org>
78
79 * fontset.c (fontset_get_font_group): Return 0 if no font-group is
80 set for C.
81 (fontset_font): Record the availability of a font for C both in
82 the realized fontsets of the current one and the default one.
83
2f686c87
DN
842009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
85
86 * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
87 conditional, it is always defined on AIX.
88
666e158e
MB
892009-06-23 Miles Bader <miles@gnu.org>
90
91 * window.c (Vrecenter_redisplay): New variable.
92 (syms_of_window): Initialize it.
93 (Qtty): New extern declaration.
94 (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
95
c6da7cd2
JM
962009-06-23 Jim Meyering <meyering@redhat.com>
97
632c2030
CY
98 * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): Use
99 xmalloc and xrealloc (not malloc and realloc), so subsequent heap
100 pointer dereferences are guaranteed to be valid.
c6da7cd2 101
678dca3d
KH
1022009-06-23 Kenichi Handa <handa@m17n.org>
103
74d75424
KH
104 * emacs.c (main): Call init_font ().
105
106 * font.h (Vfont_log): Extern it.
107 (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
108
109 * font.c (font_sort_entities, font_list_entities)
110 (font_matching_entity, font_open_entity)
111 (font_close_object): Change font_add_log to FONT_ADD_LOG.
112 (Vfont_log): Delete static.
113 (font_log_env_checked): Delete this variable.
114 (font_add_log): Don't check font_log_env_checked.
115 (font_deferred_log): Check Vfont_log.
116 (init_font): New function.
117
678dca3d
KH
118 * ftfont.c: Change font_add_log to FONT_ADD_LOG.
119
120 * w32font.c: Change font_add_log to FONT_ADD_LOG.
121
122 * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
123
124 * xfont.c: Change font_add_log to FONT_ADD_LOG.
125
126 * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
127 (face_for_char): Don't call font_deferred_log here.
128 (font_for_char): Likewise.
129
8a668709
CY
1302009-06-22 Chong Yidong <cyd@stupidchicken.com>
131
9a01ee33
CY
132 * w32term.c (x_draw_glyph_string): Use the glyph string's width
133 rather than its background_width for drawing the overline and
134 underline (Bug#489).
135
136 * xterm.c (x_draw_glyph_string): Use the glyph string's width
137 rather than its background_width for drawing the overline and
138 underline (Bug#489).
ec7c9926
CY
139 (xg_default_icon_file): New variable.
140 (syms_of_xterm): Initialize it to the Emacs SVG icon file.
141 (x_bitmap_icon): Under GTK, use xg_default_icon_file.
9a01ee33 142
8a668709
CY
143 * xdisp.c (Qbefore_string, Qafter_string): Add externs.
144 (load_overlay_strings): Remove externs.
145 (fast_find_position): Function deleted.
146 (mouse_face_from_buffer_pos): New function, based on
147 fast_find_position. Correctly handle before-strings,
148 display-strings, and after-strings (Bug#1220).
149 (note_mouse_highlight): Use mouse_face_from_buffer_pos.
150
4d4c02d8
CY
1512009-06-21 Chong Yidong <cyd@stupidchicken.com>
152
153 * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for
154 !HAVE_WINDOW_SYSTEM.
155 (move_it_in_display_line_to, move_it_in_display_line_to)
156 (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
157
70243478
CY
1582009-06-21 Chong Yidong <cyd@stupidchicken.com>
159
160 * Branch for 23.1.
161
13087e59
JR
1622009-06-21 Jason Rumney <jasonr@gnu.org>
163
164 * w32term.c (keyboard_codepage): New static variable.
165 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
166 (w32_read_socket) [WM_CHAR]: Use it to decode character
167 input (bug#3237).
168 (w32_initialize): Initialize it.
169 (codepage_for_locale): New function.
170
4735b74e
KR
1712009-06-20 Ken Raeburn <raeburn@raeburn.org>
172
173 * process.c (status_message): Pass Faset index argument as a lisp
174 object, so as to work with USE_LISP_UNION_TYPE.
175
0e727afa
YM
1762009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
177
178 * coding.c (Ffind_coding_systems_region_internal):
179 Cache checked characters.
180
cf299835
KH
1812009-06-18 Kenichi Handa <handa@m17n.org>
182
183 * coding.c (decode_coding_iso_2022): Check MSB of bytes more
184 rigidly.
185
90f20d94
AS
1862009-06-18 Andreas Schwab <aschwab@redhat.com>
187
188 * xdisp.c (redisplay_internal): Check that the frame is still
189 live after redisplay of its windows.
190 (redisplay_windows): Check that the window is still live.
191
7f1faf1c
KH
1922009-06-17 Andreas Schwab <schwab@linux-m68k.org>
193
194 * coding.c (detect_coding_utf_16): Fix previous change.
195
cc13543e
KH
1962009-06-16 Kenichi Handa <handa@m17n.org>
197
198 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
199 UTF-16 by checking the dispersion of Eth and Oth bytes.
200
977b85f4
AS
2012009-06-15 Andreas Schwab <schwab@linux-m68k.org>
202
203 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
204
66bd43d1
KH
2052009-06-15 Kenichi Handa <handa@m17n.org>
206
207 * process.c (status_message): Fix previous change. Be sure to
208 decode a localized string.
209
cb5ca9c5
YM
2102009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
211
212 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
213 add comment explaining why.
214
ec7709ba 2152009-06-14 Sidney Markowitz <sidney@sidney.com>
5ee6f629 216
ec7709ba 217 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
5ee6f629 218
4b7f335c
AR
2192009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
220
221 * nsfont.m (ns_attribute_value): Remove.
222 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
223 (ns_has_attribute): Shrink the normal range.
224 (ns_findfonts): Don't worry about requested spec in determining
225 need for synthItal.
e41820ee 226 (ns_get_covering_families): Retain scriptToFamilies.
4b7f335c 227
73b26103
SZ
2282009-06-14 Seiji Zenitani <zenitani@mac.com>
229
230 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
231
5753e4da
KH
2322009-06-11 Kenichi Handa <handa@m17n.org>
233
234 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
235 overhang for the static composition case.
236
3561b671
KH
2372009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
238
5753e4da
KH
239 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
240 overhang for the automatic composition case.
241
3561b671
KH
242 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
243 composition case.
244
852bbd41
CY
2452009-06-10 Chong Yidong <cyd@stupidchicken.com>
246
247 * xdisp.c (get_next_display_element): When handling wrap-prefix
248 and line-prefix, treat \n as a control character (bug#3502).
249
9903d1e6
KH
2502009-06-10 Kenichi Handa <handa@m17n.org>
251
252 * font.c (font_parse_family_registry): Fix for one-char foundry.
253 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
254
0bcbaaaa
CY
2552009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
256
257 * process.c (status_message): Fix handling of multibyte signal
258 string (Bug#3499).
259
40aa3f13
JM
2602009-06-09 Jim Meyering <meyering@redhat.com>
261
1f80c7e2
CY
262 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
263 color name is missing.
40aa3f13 264
72d51285
KH
2652009-06-09 Kenichi Handa <handa@m17n.org>
266
267 * charset.c (Fmap_charset_chars): In docstring, state clearly that
268 FROM-CODE and TO-CODE are codepoints of CHARSET.
269
c1d04d84
AR
2702009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
271
272 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
273
2742009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
275
276 Changes to support :script/:lang/:otf in NS font driver.
277 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
278 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
279 indicate not part of font driver interface, and change callers.
280 (ns_get_family): Remove pointless null check.
281 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
282 ns_spec_to_descriptor, ns_descriptor_to_entity.
283 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
284 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
285 (ns_spec_to_descriptor, ns_descriptor_to_entity)
286 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
287 (ns_get_req_script, ns_accumulate_script_ranges)
288 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
289 New functions.
290 (nsfont_list, nsfont_match): Use ns_findfonts.
291 (nsfont_open): Use font descriptor instead of traits.
292 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
293 (dump_glyphstring): Rename to ns_dump_glyphstring.
294
c7eb9816
AR
295 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
296
c1d04d84
AR
297 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
298
299 * fontset.c (fontset_from_font): Remove NS-specific code.
300
ec7709ba 3012009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
c1d04d84
AR
302
303 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
304 nonactive windows.
305
3062009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
307
308 * nsterm.m (ns_init_paths): Append path separator to INFOPATH
309 variable.
310
68852c13 3112009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
e7777236
AR
312
313 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
314
6756cd1d
CY
3152009-06-07 Chong Yidong <cyd@stupidchicken.com>
316
317 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
318 account for the overflowing of newlines into the last glyph on the
319 display line (Bug#3482).
320
28bf482a
DR
3212009-06-05 David Reitter <david.reitter@gmail.com>
322
ec7709ba
JB
323 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
324 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
28bf482a
DR
325 Fns_selection_exists_p, Fns_selection_owner_p.
326
fdb55376
JR
3272009-06-03 Jason Rumney <jasonr@gnu.org>
328
329 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
330 available. (Bug#3379)
331
05129fbe
KH
3322009-05-29 Kenichi Handa <handa@m17n.org>
333
334 * coding.c (get_translation_table): Check
335 Venable_character_translation.
336
ec7709ba 3372009-05-26 David Reitter <david.reitter@gmail.com>
15891144 338
ec7709ba
JB
339 * nsterm.m (ns_raise_frame): Only raise frame if visible.
340 (x_make_frame_visible): Move frame to front rather than calling
15891144 341 ns_raise_frame().
ec7709ba 342 (keyDown:): Do not swallow events that aren't re-sent if frame
15891144 343 isn't key window.
ec7709ba 344 (drawRect:): Do not set visibility/iconified flags because
15891144
DR
345 drawRect may be called by NSView even if the frame is hidden.
346
ec7709ba
JB
347 * nsfns.m (Fx_create_frame): Follow other ports in
348 determining visibility; default to t. Ensure async_visible is set.
15891144 349
21f73755
EZ
3502009-05-23 Eli Zaretskii <eliz@gnu.org>
351
352 * dired.c (Ffile_attributes): Doc fix.
353
34001e41
CY
3542009-05-22 Chong Yidong <cyd@stupidchicken.com>
355
356 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
357
46306a17
SM
3582009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
359
360 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
361 and xfont_scratch_props.
362 (syms_of_xfont): Do it here instead.
363 (xfont_find_ccl_program): Delete, unused.
364 (xfont_open): Delete unused var `i'.
365
ef6e0694
KH
3662009-05-21 Kenichi Handa <handa@m17n.org>
367
368 * fontset.c (Qlatin): Don't make it static.
369
46306a17
SM
370 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
371 New functions.
ef6e0694
KH
372 (xfont_scripts_cache, xfont_scratch_props): New variables.
373 (Qlatin, Vscalable_fonts_allowed): Extern it.
46306a17
SM
374 (xfont_list_pattern): Argument changed. Callers changed.
375 Check Vscalable_fonts_allowed. Check the support of a script.
ef6e0694
KH
376 (xfont_list): Don't reject a font spec with :script property.
377 (xfont_has_char): Fix setting of encoding.
378 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
379 xfont_scratch_props.
380
3812009-05-19 Kenichi Handa <handa@m17n.org>
382
46306a17 383 * font.c (font_sort_entities): Rename from font_sort_entites.
ef6e0694
KH
384 Callers changed.
385
3862009-05-18 Kenichi Handa <handa@m17n.org>
387
388 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
389
ac71ced7
SM
3902009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
391
392 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
393 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
394
1c6d1051
YM
3952009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
396
397 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
398 (x_delete_terminal): Dissociate resource database from display and
399 then call XrmDestroyDatabase before closing display.
400
9b9b779c
AR
4012009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
402
403 * nsterm.m (ns_read_socket): Remove unused variable.
1564e649
AR
404 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
405 whether selected frame is viable before raising it (based on patch
406 by David Reitter), and improve commentary.
407 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
9b9b779c 408
cccd42d5
KH
4092009-05-15 Kenichi Handa <handa@m17n.org>
410
411 * font.c (Ffont_spec): Check arguments.
412
337fbd17
CY
4132009-05-14 Chong Yidong <cyd@stupidchicken.com>
414
415 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
416 weight when testing attributes (Bug#3282).
417
47a6002f
JD
4182009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
419
420 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
421 what we expect to get in the next ConfigureNotify event.
422
9cb363db
YM
423 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
424 before Xft one (Bug#1696).
425
b9126609
CY
4262009-05-07 David Reitter <david.reitter@gmail.com>
427
428 * nsfns.m (Fx_display_planes): Compute bitplanes using
429 NSBitsPerPixelFromDepth (Bug#3207).
430
27a69fd9
CY
4312009-05-10 Chong Yidong <cyd@stupidchicken.com>
432
433 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
434
00f37552
TTN
4352009-05-10 Ulrich Mueller <ulm@gentoo.org>
436
437 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
438
2d82a920
DR
4392009-05-07 David Reitter <david.reitter@gmail.com>
440
ec7709ba
JB
441 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
442 Respect mouse face background.
2d82a920 443
46b0d52d
DR
4442009-05-07 David Reitter <david.reitter@gmail.com>
445
ec7709ba
JB
446 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
447 Mouse movement/highlight: bracket drawing operations
46b0d52d
DR
448 in ns_update_begin and ns_update_end.
449
ce1b23bb
SM
4502009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
451
5996e1b7
SM
452 * nsfns.m (ns_get_screen): Rewrite.
453 Don't presume selected-frame is of type `ns'.
454
ba98e3a0
SM
455 * font.c (font_update_drivers): Sanity fallback to avoid disabling
456 all drivers.
457
ce1b23bb
SM
458 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
459
bcda200f
YM
4602009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
461
462 * keyboard.h (add_user_signal): Fix typo in extern.
463
464 * lisp.h (add_user_signal): Remove extern.
465
466 * unexelf.c (unexec): Consider a section to precede the .bss section
467 if its addresses overlap that of .bss.
468 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
469 instead of dumping process.
470
864660a2
SM
4712009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
472
473 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
474
50da4e56
SM
4752009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
476
477 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
478
51520a1a
DN
4792009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
480
481 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
482 any statements.
483
409ea3a1
AS
4842009-05-02 Andreas Schwab <schwab@linux-m68k.org>
485
59c4c60f
AS
486 * process.c (read_process_output): Make sure the current buffer is
487 always restored.
488
409ea3a1
AS
489 * coding.c (record_conversion_result): Don't modify
490 Vlast_code_conversion_error for successful result.
491 (alloc_destination): Don't clobber conversion result. (Bug#1650)
492
56f00ed2
KH
4932009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
494
495 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 496 (load_charset_map): Remove unnecessary code.
56f00ed2 497
4491c9d2
DR
4982009-04-30 David Reitter <david.reitter@gmail.com>
499
35f5b128 500 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
501 through f24.
502
6970f632
CY
5032009-04-30 Chong Yidong <cyd@stupidchicken.com>
504
505 * xfaces.c (face_at_buffer_position): New arg base_face_id.
506
507 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
508 face_at_buffer_position.
509 (face_before_or_after_it_pos, get_next_display_element)
510 (note_mouse_highlight): Update face_at_buffer_position call.
511
512 * term.c (term_mouse_highlight):
513 * msdos.c (IT_note_mouse_highlight):
514 * fontset.c (Finternal_char_font):
35f5b128 515 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
516
517 * dispextern.h (face_at_buffer_position): Update prototype.
518
0c616f63
KH
5192009-04-30 Kenichi Handa <handa@m17n.org>
520
35f5b128 521 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 522
ad3aaf33
AS
5232009-04-29 Andreas Schwab <schwab@linux-m68k.org>
524
525 * callproc.c (Fcall_process): Fix GC protection. Make sure
526 current buffer is always restored.
527
c3c963a0
YM
5282009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
529
530 * atimer.c (init_atimer): Also clear stopped_atimers.
531
532 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
533
7e3386cb
YM
534 * process.c (create_process): Clean up merger residues of
535 2008-07-17 change.
536
91f68422
CY
5372009-04-29 Ulrich Mueller <ulm@gentoo.org>
538
539 * lread.c (Vread_circle): New variable.
540 (read1): Disable recursive read if Vread_circle is nil.
541
24b34550
KH
5422009-04-29 Kenichi Handa <handa@m17n.org>
543
544 * fontset.h (set_default_ascii_font): Delete extern.
545
546 * fontset.c (set_default_ascii_font): Delete this unused function.
547
548 * frame.c (x_set_font): When ARG is a font-object, check if the
549 font-object matches with the ASCII font-spec of the frame's
9c358bda 550 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 551
77bf07e1
AS
5522009-04-28 Andreas Schwab <schwab@linux-m68k.org>
553
554 * fns.c (Flocale_info): Protect vector from GC during decoding.
555
556 * process.c (Fstart_process): Protect argv strings from GC during
557 encoding.
558
2c55aacf
AS
5592009-04-27 Andreas Schwab <schwab@linux-m68k.org>
560
561 * sysdep.c: Include <ctype.h>.
562
b892d3c9
DR
5632009-04-27 David Reitter <david.reitter@gmail.com>
564
35f5b128 565 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
566 Remove commented-out code.
567
9d0644c4
JB
5682009-04-26 Johan Bockgård <bojohan@gnu.org>
569
570 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
571
b7053016
JR
5722009-04-25 Jason Rumney <jasonr@gnu.org>
573
574 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
575
4e8231f3
YM
5762009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
577
578 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
579 Swap bytes in short integer if fringe bitmap width > 8.
580
493dcf2c
KH
5812009-04-23 Kenichi Handa <handa@m17n.org>
582
583 * xfaces.c (Fx_list_fonts): If a font size is specified in
584 PATTERN, set it in returned scalable fonts.
585
401e9e57
CY
5862009-04-22 Chong Yidong <cyd@stupidchicken.com>
587
708e05dc
CY
588 * keyboard.c (Fset_input_meta_mode): Doc fix.
589
590 * dispnew.c (Fsend_string_to_terminal): Doc fix.
591
592 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc
593 fixes.
594
595 * coding.c (Fterminal_coding_system): Doc fix.
596
597 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
598 (Fx_display_pixel_height, Fx_display_planes)
599 (Fx_display_color_cells, Fx_server_max_request_size)
600 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
601 (Fx_display_mm_height, Fx_display_mm_width)
602 (Fx_display_backing_store, Fx_display_visual_class)
603 (Fx_display_save_under, Fx_close_connection, Fx_synchronize): Doc
604 fixes, replacing "terminal id" with "terminal object".
605 (check_x_display_info): Handle terminal objects instead of
606 terminal ids.
607
401e9e57
CY
608 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
609 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
fdc496e7
CY
610 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): Doc
611 fixes, replacing "terminal id" with "terminal object".
401e9e57 612
df80c7f0
KH
6132009-04-21 Kenichi Handa <handa@m17n.org>
614
5a8f12af 615 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 616 (font_score): Check AVGWIDTH too.
908567ef 617
df80c7f0
KH
618 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
619 worst case.
620 (decode_coding_emacs_mule, decode_coding_iso_2022)
621 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
622 Likewise.
623
705af33f
JR
6242009-04-19 Jason Rumney <jasonr@gnu.org>
625
626 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 627 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
628
629 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
630 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
631 get_phys_cursor_geometry.
632
b71ac3dd 633 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
634 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
635 using get_phys_cursor_geometry.
636
637 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
638 correctly calculated.
639
dc2933eb
JD
6402009-04-19 Jan Djärv <jan.h.d@swipnet.se>
641
642 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): Use
643 G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
644 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
645 is deprecated.
646
973e7849
AS
6472009-04-18 Andreas Schwab <schwab@linux-m68k.org>
648
649 * font.c (font_put_frame_data): Use xfree instead of free.
650
314d66f4
JB
6512009-04-17 Juanma Barranquero <lekktu@gmail.com>
652
653 * w32font.c (Qja, Qko): Remove declarations.
654 (syms_of_w32font): Don't DEFSYM them.
655
cf702558
CY
6562009-04-17 Chong Yidong <cyd@stupidchicken.com>
657
658 * font.c (Qja, Qko): Move definitions here from ftfont.c.
659
660 * font.h (Qja, Qko): Extern them.
661
662 * ftfont.c (Qja, Qko): Remove declarations.
663
664 * xfont.c (Qja, Qko): Remove declarations.
665
b50504f5
KH
6662009-04-17 Kenichi Handa <handa@m17n.org>
667
bde25748
KH
668 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
669 string from a vector to handle Latin-1 characters correctly.
670
b50504f5
KH
671 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
672 entity even if the cache hits.
673
f4646fff
AS
6742009-04-16 Andreas Schwab <schwab@linux-m68k.org>
675
676 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 677 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 678
e7deaab0
AS
679 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
680 * lisp.h: Adjust prototypes.
681
0a0e7d49
CY
6822009-04-16 Chong Yidong <cyd@stupidchicken.com>
683
684 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
685 change (Bug#3003).
686
3c908a57
KH
6872009-04-16 Kenichi Handa <handa@m17n.org>
688
bd0af90d
KH
689 * xfont.c (xfont_has_char): Special handling of `ja' and `ko'
690 adstyle.
691
692 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
693 adstyle.
694
695 * ftfont.c (Qja, Qko): Don't make them static.
696 (enum ftfont_cache_for): New enum.
697 (fc_charset_table): Undo the previous change.
698 (ftfont_get_latin1_charset): Delete it.
699 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. Set
700 FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
701 non-scarable font, try to get AVERAGE_WIDTH.
702 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
703 Change ft_face_cache from a list of a hash-table. Don't check
704 `ja' and `ko' adstyle here.
705 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
706 FTFONT_CACHE_FOR_CHARET.
707 (ftfont_get_charset): Undo the previous change.
708 (ftfont_open): Call ftfont_lookup_cache with
709 FTFONT_CACHE_FOR_FACE.
710 (ftfont_close): Likewise.
711 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
712
713 * font.c (font_sort_entites): Change the meaning of the arg
714 BEST-ONLY. Don't optimize for VEC of lenght 1.
715 (font_select_entity): Just return the value of font_sort_entites.
716
717 * xfaces.c (merge_face_vectors): Reflect font properties in
718 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
719 font_clear_prop if a face attribute doesn't change.
720
3c908a57
KH
721 * charset.h (charset_ksc5601): Extern it.
722
723 * charset.c (charset_ksc5601): New variable.
724 (Fdefine_charset_internal): Set charset_ksc5601.
725 (init_charset_once): Initialize charset_ksc5601 to -1.
726
d65859c3
DN
7272009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
728
729 * fileio.c (history_delete_duplicates): Remove unused declaration.
730
731 * callint.c (history_delete_duplicates): New declaration.
732 (Fcall_interactively): Remove command history duplicates when
733 history_delete_duplicates is true.
734
3ba010e5
EZ
7352009-04-14 Eli Zaretskii <eliz@gnu.org>
736
737 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
738
06f19b91
KH
7392009-04-14 Kenichi Handa <handa@m17n.org>
740
741 * font.c (Ffont_info): Fix docstring. Fix the second element of
742 the returned value (bug#2949).
743
2cce8bfc
CY
7442009-04-14 Chong Yidong <cyd@stupidchicken.com>
745
746 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
747
d156542d
KH
7482009-04-14 Kenichi Handa <handa@m17n.org>
749
750 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
751 encoding charset is ascii_compatible.
752
753 * charset.c (Fdefine_charset_internal): Make charset
754 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
755 code_offset is 0, and covers all ASCII characters.
756
86fa089e
SM
7572009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
758
759 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
760 (ns_string_to_pasteboard_internal):
761 * nsmenu.m (process_dialog):
762 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
763 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
764 * lisp.h (Fx_load_color_file): Declare.
765
a8a3728b
KH
7662009-04-13 Kenichi Handa <handa@m17n.org>
767
768 * font.c (font_delete_unmatched): Preserve the order of list
769 elements.
770 (font_select_entity): Suppress the code to optimize for the same
771 kind of fonts.
772 (font_load_for_lface): Get a font that supports at least ASCII
773 characters.
774
775 * ftfont.c (Qja, Qko): New variables.
776 (fc_charset_table): Delete uniquifier data for iso8859-1.
777 (ftfont_get_latin1_charset): New function.
778 (get_adstyle_property): New function.
779 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
780 bitmap fonts.
781 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
782 Delete iso-8859-1 range from the charset of fonts whose adstyle is
783 `ko' or `ja'.
784 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
785 (ftfont_get_charset): For iso8859-1, call
786 ftfont_get_latin1_charset.
787 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
788 property.
789 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
790 (syms_of_ftfont): DEFSYM Qja and Qko.
791
483670b5
KH
7922009-04-09 Kenichi Handa <handa@m17n.org>
793
12b55765
KH
794 * charset.c (map_charset_chars): For a charset of `superset'
795 method, fix calculation of code range.
796
483670b5
KH
797 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
798 from the list of extra properties.
799 (font_clear_prop): Be sure to delete `:name' font property.
800
57d3b93b
KH
8012009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
802
b4b2c2ca
YM
803 * dispnew.c (redraw_overlapping_rows): Fix detection of
804 overlapping for topmost and bottommost rows.
805
57d3b93b
KH
806 * ftfont.c (ftfont_text_extents): Fix calculation of
807 metrics->descent.
808
472c3609
JR
8092009-04-06 Jason Rumney <jasonr@gnu.org>
810
811 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
812
ab193662
KH
8132009-04-06 Kenichi Handa <handa@m17n.org>
814
815 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
816
817 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
818
0c26f026
KH
8192009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
820
821 * ftfont.c (ftfont_open): Fix checking of the return value of
822 FT_Load_Char. Fix setting font->underline_thickness.
823
e173bbce
CY
8242009-04-04 Chong Yidong <cyd@stupidchicken.com>
825
826 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
827 (Fterminal_parameters, Fterminal_parameter)
828 (Fset_terminal_parameter): In doc string, refer to terminal
829 objects rather than terminal ids.
830
693a2698
EZ
8312009-04-04 Eli Zaretskii <eliz@gnu.org>
832
833 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
834 ret_lim_data. (Bug#2867)
835
d5221487
CY
8362009-04-03 Chong Yidong <cyd@stupidchicken.com>
837
838 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
839 so they don't get wider than the window, matching 2006-01-23
840 change to the partner function in xdisp.c (Bug#2800).
841
223509a3
KH
8422009-04-03 Kenichi Handa <handa@m17n.org>
843
844 * print.c (print_object): Make each lowest sub_char_table start a
845 new line (Bug#2866).
846
74fcd0b1
KH
8472009-04-02 Kenichi Handa <handa@m17n.org>
848
849 * fontset.c (fontset_font): Record no-font when a fontset
850 explicitly tells not to try another font-specs.
851
c542407d
SM
8522009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
853
854 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
855
e3869731
KH
8562009-03-30 Kenichi Handa <handa@m17n.org>
857
d8d2f142
KH
858 * fontset.c (fontset_from_font): Specify only registry in a
859 font-spec for all characters supported by that registry.
860
e3869731
KH
861 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
862 even if HAVE_M17N_FLT is not defined.
863
5da5f805
CY
8642009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
865
866 * ftfont.c: Conditionalize prototyping and use of
867 ftfont_variation_glyphs.
868
ab226c50
SM
8692009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
870
9628fed7
SM
871 * frame.c (delete_frame): Work around compiler bug.
872
873 * editfns.c (general_insert_function): Adjust to insdel.c changes.
874 * insdel.c (prepare_to_modify_buffer, signal_before_change):
875 Some more EMACS_INT.
876 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
877
878 * xdisp.c (dump_glyph): Fix typo.
879
ae19ba7c
SM
880 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
881 (adjust_markers_gap_motion, adjust_markers_for_delete)
882 (adjust_markers_for_insert, adjust_point)
883 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
884 (make_gap, copy_text, count_size_as_multibyte, insert)
885 (insert_and_inherit, insert_before_markers)
886 (insert_before_markers_and_inherit, insert_1)
887 (count_combining_before, count_combining_after, insert_1_both)
888 (insert_from_string, insert_from_string_before_markers)
889 (insert_from_string_1, insert_from_gap, insert_from_buffer)
890 (insert_from_buffer_1, adjust_after_replace)
891 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
892 (replace_range_2, del_range, del_range_1, del_range_byte)
893 (del_range_both, del_range_2, modify_region)
894 (prepare_to_modify_buffer, signal_before_change)
895 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
896 for buffer positions and sizes.
897 * lisp.h: Adjust prototypes accordingly.
898
899 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
900 (non_regular_inserted, non_regular_nbytes, read_non_regular)
901 (Finsert_file_contents): Use EMACS_INT for buffer positions.
902
ab226c50
SM
903 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
904
46dfb8fb
JD
9052009-03-27 Jan Djärv <jan.h.d@swipnet.se>
906
907 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
908 lines and columns so we keep the same pixel height and width.
909
910 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
911 the property _NET_WM_STATE has changed.
46dfb8fb
JD
912 (x_handle_net_wm_state): New function to update frame parameter
913 fullscreen.
914 (x_term_init): Initialize atoms for _NET_WM_STATE.
915
916 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
917
d347e494
SM
9182009-03-27 Kevin Ryde <user42@zip.com.au>
919
920 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
921 Gpm_GetEvent as an error that justifies closing the filedescriptor.
922 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
923 (Fgpm_mouse_stop): Pass that new parameter.
924 * termhooks.h (close_gpm): Adjust prototype.
925
84db11d6
SM
9262009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
927
c95a5008
SM
928 * lisp.h (Fx_focus_frame): Declare.
929
84db11d6
SM
930 * callint.c (Fcall_interactively): For '^' just delegate the work to
931 handle-shift-selection.
932 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
933
0a1958d6
CY
9342009-03-24 Chong Yidong <cyd@stupidchicken.com>
935
0bfdff23
CY
936 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
937
0a1958d6
CY
938 * data.c (Qinteractive_form): New variable.
939 (Finteractive_form): Use it.
940
941 * eval.c (Fcommandp): Use Qinteractive_form.
942
58aec0d6
JR
9432009-03-24 Jason Rumney <jasonr@gnu.org>
944
945 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
946 Calculate total size precisely. Decode environment variables
947 before substituting. (Bug#38)
948
553dd618
KH
9492009-03-24 Kenichi Handa <handa@m17n.org>
950
951 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 952 encoding (Bug#2722).
553dd618 953
c39ea606
JD
9542009-03-23 Jan Djärv <jan.h.d@swipnet.se>
955
956 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
957 that gdpy is set.
958
bc9b2b5e
AM
9592009-03-22 Alan Mackenzie <acm@muc.de>
960
961 * callint.c (Finteractive): Clarify the doc string - even
962 promptless elements need \n separators.
963
9f995a76
JR
9642009-03-22 Jason Rumney <jasonr@gnu.org>
965
966 * w32term.c (syms_of_w32term): Doc fix for
967 x-use-underline-position-properties.
968
22749e9a
EZ
9692009-03-21 Eli Zaretskii <eliz@gnu.org>
970
971 * w32.c (getpwuid): Change argument type to unsigned.
972 (struct w32_id): Change type of `rid' member to unsigned.
973 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
974 argument ID to unsigned. All callers changed.
975 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
976
e00553bf
EZ
9772009-03-20 Eli Zaretskii <eliz@gnu.org>
978
979 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
980 negative, produce a float value.
981
982 * dired.c (make_uid, make_gid): New functions.
983 (Ffile_attributes): Use them to avoid negative UID and GID.
984
f761d6b6
JB
9852009-03-20 Juanma Barranquero <lekktu@gmail.com>
986
987 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
988 (syms_of_keyboard) <command-hook-internal, input-method-function>:
989 Fix typos in docstrings.
990
d507f8d7
KH
9912009-03-19 Kenichi Handa <handa@m17n.org>
992
993 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
994 changed, use font_load_for_lface to get a new font object.
995 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
996
997 * frame.c (x_set_font): Handle the case that ARG is a cons.
998
c68845e0
GM
9992009-03-19 Glenn Morris <rgm@gnu.org>
1000
1001 * fileio.c (Fsubstitute_in_file_name): Doc fix.
1002
bfa49dd1
CY
10032009-03-19 Chong Yidong <cyd@stupidchicken.com>
1004
1005 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
1006
8458d4c1
KH
10072009-03-19 Kenichi Handa <handa@m17n.org>
1008
1009 * charset.c (load_charset_map_from_file): When a mapfile can't be
1010 loaded, signal an error.
1011
78e7d1fe
EZ
10122009-03-18 Eli Zaretskii <eliz@gnu.org>
1013
1014 * dired.c (Ffile_attributes): Make sure UID and GID are always
1015 positive, even if the value is too large for a positive EMACS_INT.
1016 Doc fix.
1017
1018 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
1019
5da9fdfa
YM
10202009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1021
1022 * xmenu.c (xdialog_show): Move Fredisplay call ...
1023 (Fx_popup_dialog): ... here.
1024
7519c40d
SM
10252009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
1026
1027 * dired.c (file_name_completion): Disable the first optimization just
1028 installed, since it is not implemented correctly.
1029
2cd298e2
SM
10302009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1031
1032 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 1033 only if the entry can affect bestmatch.
2cd298e2
SM
1034 Stop the search early, as Ftry_completion already does.
1035
48d37adf
CY
10362009-03-17 Chong Yidong <cyd@stupidchicken.com>
1037
e10c9c93 1038 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 1039
9286b16a
CY
10402009-03-15 Chong Yidong <cyd@stupidchicken.com>
1041
1042 * keyboard.c (parse_menu_item): Don't display remappings as menu
1043 equivalent bindings (Bug#788).
1044
f7b146dc
JR
10452009-03-15 Jason Rumney <jasonr@gnu.org>
1046
1047 * w32term.h (WM_EMACS_PAINT): New message.
1048 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
1049 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
1050 before passing to lisp thread. (Bug#950)
1051
f761d6b6 10522009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 1053
d93f9575
CY
1054 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
1055 variable as it was never reset.
1056 (ns_term_init): Remove initialization of Lisp-settable defaults
1057 and ns_expand_space.
1058 (-setPanelFromDefaultValues): Remove ns_expand_space.
1059 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
1060 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
1061 i.e. no additional spacing, similar to Carbon port.
1062
d93f9575
CY
1063 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
1064 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 1065
305018ec
JD
10662009-03-14 Jan Djärv <jan.h.d@swipnet.se>
1067
1068 * sound.c (alsa_configure): Remove call to deprecated
1069 snd_pcm_sw_params_set_xfer_align.
1070
f761d6b6 10712009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
1072
1073 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
1074 after clicking in a detached tool bar.
1075 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
1076
46e722a9
SM
10772009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
1078
348db3dd
SM
1079 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
1080 int/Lisp_Object mixup).
46e722a9 1081
a3d16f39
KH
10822009-03-13 Kenichi Handa <handa@m17n.org>
1083
1084 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 1085 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
1086 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
1087 (set_fontset_font): Change ARG to a vector. Handle range_list in
1088 ARG correctly.
1089 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 1090 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
1091 the above change.
1092 (fontset_from_font): Fix previous change.
fe24f56a 1093 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
1094 entry. If FONTSET is the default fontset, don't set the extra
1095 slot of the returning char-table.
1096
b066e6b6
JB
10972009-03-12 Juanma Barranquero <lekktu@gmail.com>
1098
1099 * nsfns.m (Fx_close_connection): Doc fix.
1100 (Fns_do_applescript): Reflow docstring.
1101 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
1102 (Fx_display_pixel_width, Fx_display_pixel_height)
1103 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
1104 Fix typos in docstrings.
1105 (Fns_set_alpha): Fix typos in error messages.
1106
d472514e 11072009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 1108
d472514e 1109 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
1110 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
1111 were used for such events.
1112
d472514e
JB
1113 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
1114 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 1115
d472514e 1116 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
1117 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
1118
fb930676
KH
11192009-03-11 Kenichi Handa <handa@m17n.org>
1120
ff85581a
KH
1121 * font.h (font_open_by_spec): Extern it.
1122
c50b7e98
KH
1123 * font.c (font_open_by_spec): New function.
1124 (font_open_by_name): Use font_open_by_spec.
1125
fb930676
KH
1126 * frame.c (x_set_font): When ARG is a font-object, don't alter the
1127 fontset of the frame.
1128
1129 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
1130 modify the default font of frames that use this fontset.
1131 (num_auto_fontsets): New variable.
1132 (fontset_from_font): Use num_auto_fontsets to decide a fontset
1133 name. Be sure to set FONTSET_ASCII to the correct font name.
1134 (update_auto_fontset_alist): New function.
1135
df4e8455
JB
11362009-03-11 Juanma Barranquero <lekktu@gmail.com>
1137
1138 * makefile.w32-in: Update dependencies.
1139
0a375797
AR
11402009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1141
1142 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
1143
61313fa3
SM
11442009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
1145
1146 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
1147
b55103fb
CY
11482009-03-10 Chong Yidong <cyd@stupidchicken.com>
1149
1150 * lread.c (Feval_buffer): Doc fix.
1151
dde2559c
KH
11522009-03-09 Kenichi Handa <handa@m17n.org>
1153
1154 * charset.c (Qfile_name_handler_alist): Extern it.
1155 (load_charset_map_from_file): Temporarily bind
1156 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
1157
df4e8455 11582009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 1159
47f588bb
GM
1160 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
1161 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 1162
4ddf94bd
AR
11632009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1164
4c9bdfc2
AR
1165 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
1166 (x_set_window_size): Change back to calculated method of setting
1167 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
1168 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
1169 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
1170
fe41ae9e
AR
1171 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
1172
4c9bdfc2
AR
1173 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
1174 accelerator in parens under GNUstep.
1175
825d0875
KH
11762009-03-06 Kenichi Handa <handa@m17n.org>
1177
1178 These changes are to detect incorrect composition sequence without
f3b3be74 1179 looking ahead the source. (Bug#2370)
825d0875
KH
1180
1181 * coding.h: Include "composite.h".
1182 (enum compisition_state): New enum.
1183 (struct compisition_status): New struct.
1184 (struct iso_2022_spec): New member cmp_status.
1185 (struct emacs_mule_spec): New struct.
1186 (struct coding_system): New members ctext_extended_segment_len and
1187 embedded_utf_8. Change the union member
1188 spec.emacs_mule_full_support to spec.emacs_mule.
1189
1190 * coding.c (CODING_ISO_CMP_STATUS): New macro.
1191 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 1192 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
1193 (ADD_COMPOSITION_DATA): New arg nbytes.
1194 (emacs_mule_char): New arg cmp_status.
1195 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
1196 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
1197 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
1198 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
1199 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
1200 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
1201 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
1202 (EMACS_MULE_COMPOSITION_END): New macro.
1203 (emacs_mule_finish_composition): New function.
1204 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
1205 (decode_coding_emacs_mule): Avoid long looking ahead while
1206 handling composition.
1207 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
1208 (ENCODE_COMPOSITION_RULE): New macro.
1209 (finish_composition): New function.
1210 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
1211 (DECODE_COMPOSITION_START): New implementation.
1212 (DECODE_COMPOSITION_END): Likewise.
1213 (STORE_COMPOSITION_RULE): New macro.
1214 (decode_coding_iso_2022): Avoid long looking ahead while handling
1215 composition, CTEXT extended segment, and embedded UTF-8.
1216 (setup_coding_system): For a coding of type iso-2022, reset
1217 CODING_ISO_EXTSEGMENT_LEN (coding) and
1218 CODING_ISO_EMBEDDED_UTF_8 (coding).
1219 (get_translation): Delete arguments last_block, from_nchars,
1220 to_nchars. Callers changed.
1221 (produce_chars): Don't modify charbuf. Adjusted for the change of
1222 get_translation.
98a326f7 1223 (produce_composition): Adjust for the new annotation sequence.
825d0875 1224 (handle_composition_annotation): Likewise.
98a326f7 1225 (consume_chars): Adjust for the change of get_translation.
825d0875 1226
ccbc4452
AR
12272009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
1228
4ddf94bd 1229 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 1230
988a7ddb
KH
12312009-03-05 Kenichi Handa <handa@m17n.org>
1232
1233 * font.c (font_select_entity): New function.
1234 (font_find_for_lface): Use font_select_entity to select a font.
1235
1236 * fontset.c (fontset_find_font): If a font found without
a8a3728b 1237 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
1238 font with C restriction.
1239
98a326f7 12402009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 1241
be1bce46 1242 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 1243
10ea2b82
JR
12442009-03-04 Jason Rumney <jasonr@gnu.org>
1245
2c93b248 1246 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 1247 characters that have already been read. (Bug#2569)
2c93b248 1248
10ea2b82
JR
1249 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
1250 Log an error message if check_image_size failed.
1251 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 1252 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 1253
71a0c011
EZ
12542009-03-02 Eli Zaretskii <eliz@gnu.org>
1255
1256 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
1257 when decoding process output.
1258
2f63bba8
RS
12592009-03-01 Richard M Stallman <rms@gnu.org>
1260
1261 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
1262
1263 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
1264
0a9564cb
EZ
12652009-02-28 Eli Zaretskii <eliz@gnu.org>
1266
1267 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
1268 (decode_coding_emacs_mule, decode_coding_iso_2022)
1269 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1270 (decode_coding_raw_text, decode_coding_charset)
1271 (setup_coding_system, decode_eol, decode_coding, consume_chars):
1272 Honor inhibit-eol-conversion. (Bug #2186)
1273
449148b3
JR
12742009-02-28 Jason Rumney <jasonr@gnu.org>
1275
1276 * coding.c (detect_coding_charset): If not checking latin extra,
1277 fail on characters between 0x80 and 0xA0. (Bug#2354)
1278
a4aee864
EZ
12792009-02-28 Eli Zaretskii <eliz@gnu.org>
1280
1281 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 1282 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 1283
d88bee5a
GM
12842009-02-27 Glenn Morris <rgm@gnu.org>
1285
1286 * callint.c (Finteractive): Doc fix.
1287
a808f22d
KH
12882009-02-27 Kenichi Handa <handa@m17n.org>
1289
1290 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
1291
caf8d60c
CY
12922009-02-27 Chong Yidong <cyd@stupidchicken.com>
1293
1294 * font.c (font_style_to_value): Set value for unknown symbols to
1295 100 instead of 255.
b61137ea
CY
1296 (weight_table, slant_table, width_table): Treat "unspecified" as
1297 the default value.
caf8d60c 1298
1a0de25c
JB
12992009-02-26 Juanma Barranquero <lekktu@gmail.com>
1300
1301 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
1302
8fc45744
JB
13032009-02-25 Juanma Barranquero <lekktu@gmail.com>
1304
107bd7d1
JB
1305 * lread.c (Fload): Stop checking Vloads_in_progress and signal
1306 error as soon as a recursive load is detected.
8fc45744 1307
f097e223
AR
13082009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1309
1310 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
1311 before caching.
1312
8810a12f
KH
13132009-02-24 Kenichi Handa <handa@m17n.org>
1314
1315 * fontset.c (fontset_find_font): Fix the condition for checking
1316 unavailable font.
1317
2c7d1565
GM
13182009-02-24 Glenn Morris <rgm@gnu.org>
1319
1320 * xfaces.c (Finternal_set_font_selection_order): Remove leading
1321 whitespace that confuses documentation.
1322
a20878b6
MB
13232009-02-23 Miles Bader <miles@gnu.org>
1324
1325 * process.c (Flist_system_processes, Fprocess_attributes)
1326 (syms_of_process): Rename `system-process-attributes' to
1327 `process-attributes'.
1328
b3b58c01
AS
13292009-02-22 Andreas Schwab <schwab@linux-m68k.org>
1330
1b3b981b
AS
1331 * coding.h (struct coding_system): Make safe_charsets a pointer to
1332 unsigned char.
1333 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
1334 being 255.
1335 (SAFE_CHARSET_P): Likewise.
1336 (setup_iso_safe_charsets): Properly setup safe_charsets.
1337 (Fdefine_coding_system_internal): Likewise.
1338 (setup_coding_system): Likewise. Remove unneeded casts.
1339 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
1340 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
1341 unneeded casts.
1342
b3b58c01
AS
1343 * insdel.c (del_range_2): Don't modify gap contents when called
1344 from decode_coding_object. (Bug#1809)
1345
0b6f228c
CY
13462009-02-21 Chong Yidong <cyd@stupidchicken.com>
1347
1348 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
1349 Qfont_object.
1350 (Ftype_of): Recognize font objects.
1351
1352 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
1353
1354 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
1355 moved to data.c.
1356
52f8870b
AR
13572009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1358
1359 * nsterm.m (x_make_frame_invisible): Unset async_visible,
1360 async_iconified. Based on a patch by Christian Lynbech
1361 <christian.lynbech@tieto.com>.
1362 (EmacsView-windowDidMiniaturize:): Unset async_visible.
1363
7087d5e9
GM
13642009-02-20 Glenn Morris <rgm@gnu.org>
1365
1366 * syntax.c (Fskip_chars_forward): Fix doc typo.
1367
41d2ceef
CY
13682009-02-20 Chong Yidong <cyd@stupidchicken.com>
1369
1370 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
1371
1a3b7ca6
CY
13722009-02-19 Chong Yidong <cyd@stupidchicken.com>
1373
1374 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
1375
73cce38d
KH
13762009-02-19 Kenichi Handa <handa@m17n.org>
1377
1378 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 1379 Don't overflow coding->carryover. (Bug#2370)
73cce38d 1380
a51092ee
DN
13812009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
1382
1383 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
1384
c423ecca
KH
13852009-02-18 Kenichi Handa <handa@m17n.org>
1386
1387 * font.c (font_check_otf_features): Fix handling of `nil' element.
1388 (Ffont_spec): Describe :lang and :otf in the docstring.
1389
4c1958f4
AS
13902009-02-16 Andreas Schwab <schwab@suse.de>
1391
1392 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
1393 string.
1394
5704f39a
KH
13952009-02-16 Kenichi Handa <handa@m17n.org>
1396
1397 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 1398 (Bug#1723)
5704f39a 1399
8f0085aa
CY
14002009-02-14 Chong Yidong <cyd@stupidchicken.com>
1401
a057d86a 1402 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
1403
1404 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
1405 (handle_line_prefix): Suppress wrapping of wrap prefixes.
1406
aff01dd9
EZ
14072009-02-14 Eli Zaretskii <eliz@gnu.org>
1408
1409 * msdos.c (MAX_SCREEN_BUF): New macro.
1410 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
1411 Encode the entire run of glyphs sharing the same face, instead of
1412 doing that one glyph at a time (fixes a bug with displaying
1413 double-size characters).
1414
ba301db3
AR
14152009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
1416
1417 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
1418
1419 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
1420 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 1421 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
1422
1423 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 1424 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 1425
51d861de
SM
14262009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
1427
1428 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
1429 invisible areas.
1430
7fed8996
JR
14312009-02-12 Jason Rumney <jasonr@gnu.org>
1432
631ea4fb
JR
1433 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
1434 (add_font_entity_to_list): Call check_face_name even when family
1435 is unspecified.
1436
cb4a3e42
JR
1437 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1438 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 1439 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 1440
7fed8996 1441 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 1442 raster fonts. (Bug#2219)
7fed8996 1443
895416e3
KH
14442009-02-12 Kenichi Handa <handa@m17n.org>
1445
1446 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
1447 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
1448 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 1449 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
1450 (find_automatic_composition): While looking forward and backward,
1451 check static composition. Fix where to stop looking forward.
1452 (composition_adjust_point): Fix checking of static composition.
1453 (Fcomposition_get_gstring): Pay attention to
1dacf998 1454 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
1455
1456 * lisp.h (fast_looking_at): Extern it.
1457
1458 * search.c (fast_looking_at): New function.
1459
51d861de 1460 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
1461 <struct glyph>.u.cmp.to.
1462 (append_composite_glyph): Likewise.
1463
51d861de 1464 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
1465 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
1466 composition.
51d861de 1467 (append_composite_glyph): Adjust for the change of
895416e3
KH
1468 <strcut glyph>.u.cmp.to.
1469
8510724d
JB
14702009-02-11 Juanma Barranquero <lekktu@gmail.com>
1471
1472 * casetab.c (init_casetab_once):
1473 * coding.c (ALLOC_CONVERSION_WORK_AREA):
1474 * font.c (font_update_lface):
1475 * fontset.c (Fnew_fontset):
1476 * ftfont.c (ftfont_drive_otf):
1477 * xfont.c (xfont_open):
1478 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
1479
294fa707
SM
14802009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1481
1482 * fileio.c (Fwrite_region): !NILP -> CONSP.
1483
b5bfebec
AS
14842009-02-10 Andreas Schwab <schwab@suse.de>
1485
1486 * process.c (send_process): Properly relocate pointer into data
adab88bd 1487 when using encoded data. (Bug#2272)
b5bfebec 1488
cb84a2be
KH
14892009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
1490
1491 * coding.c (detect_coding_charset): Fix previous change.
1492
89e09428
JR
14932009-02-08 Jason Rumney <jasonr@gnu.org>
1494
1495 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 1496 disappeared while hourglass was displayed. (Bug #2193)
89e09428 1497
4470a277
AS
14982009-02-07 Andreas Schwab <schwab@suse.de>
1499
1500 * unexelf.c (unexec): Fix error message.
1501
3175b12a
AR
15022009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
1503
1504 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 1505 when modal window is active. (Bug #2152)
3175b12a
AR
1506 (applicationShouldTerminate:): Remove now-unneeded while loop
1507 around NSRunAlertPanel.
1508
1509 * nsmenu.m (popupSession): New file-global variable.
1510 (pop_down_menu): End the popupSession before closing dialog.
1511 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
1512 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
1513 don't query NSApp for events (just sleep instead).
1514
8434d0b8
EZ
15152009-02-07 Eli Zaretskii <eliz@gnu.org>
1516
51d861de
SM
1517 * coding.c (syms_of_coding) <translation-table-for-input>:
1518 Modify doc string to discourage use for character code unification.
8434d0b8 1519
aa82edfd
CY
15202009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1521
1522 * atimer.c (run_timers): Update pending_atimers.
1523
2d283c7c
CY
15242009-02-06 Chong Yidong <cyd@stupidchicken.com>
1525
eb306cab
CY
1526 * image.c (svg_load_image): Fix last change.
1527
2d283c7c
CY
1528 * xfns.c (Fx_create_frame): Signal an error if no font is
1529 found (Bug#2147).
1530
4d8e170e
JB
15312009-02-05 Juanma Barranquero <lekktu@gmail.com>
1532
1533 * character.c (syms_of_character) <script-representative-chars>:
1534 Fix typo in docstring.
1535
c96169a0
AR
15362009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1537
1538 * nsmenu.m (pop_down_menu): New function.
1539 (ns_popup_dialog): Call it on unwind.
1540 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
1541 call timer_check() (Bug#2154).
1542 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
1543 handling_signal is set.
1544 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
1545
1546 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
1547
1548 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
1549
1550 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
1551
51d861de
SM
1552 * keyboard.c (poll_for_input_1, handle_async_input):
1553 Set handling_signal under HAVE_NS.
c96169a0 1554
aacd8ba1
GM
15552009-02-04 Glenn Morris <rgm@gnu.org>
1556
1557 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
1558
4cb75c4b
KH
15592009-02-04 Kenichi Handa <handa@m17n.org>
1560
1561 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
1562
1563 * charset.c (Fchar_charset): New optional arg restriction.
1564
1565 * coding.h (coding_system_charset_list): Extern it.
1566
1567 * coding.c (coding_system_charset_list): New function.
1568
1569 * composite.c: Include coding.h and termhooks.h.
1570 (composition_gstring_p): Fix for the terminal case.
1571 (composition_gstring_width): Likewise.
1572 (fill_gstring_body): Likewise.
1573 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
1574 the frame.
1575 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
1576 is within a composition.
867d4bb3 1577 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
1578
1579 * term.c (encode_terminal_code): Fix handling of composition.
1580 (produce_composite_glyph): For static composition, get pixel_width
1581 from struct composition.
1582
826ba17e
AS
15832009-02-02 Andreas Schwab <schwab@suse.de>
1584
1585 * unexelf.c (unexec): Handle unaligned bss offset.
1586
8ad093db
AR
15872009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1588
1589 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
1590 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 1591
8ad093db
AR
1592 * keyboard.c (handle_interrupt): Don't call
1593 quit_throw_to_read_char() under NS.
d0a76a6e 1594
8ad093db
AR
1595 * blockinput.h: Remove NS-specific code.
1596
4d18a7a2
DN
15972009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
1598
db878925
DN
1599 * dispnew.c (window_change_signal): Don't try to get the size of a
1600 suspended tty frame.
1601 * term.c (Fresume_tty): Resize if the size has changed while the
1602 tty was suspended.
1603
4d18a7a2
DN
1604 * alloc.c (mark_stack): Properly conditionalize previous change.
1605
8984df7c
JB
16062009-01-30 Juanma Barranquero <lekktu@gmail.com>
1607
1608 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
1609 * w32term.c (w32_read_socket) [SYNC_INPUT]:
1610 Remove; this code is not used on Windows.
1611
75f4f1ac
EZ
16122009-01-30 Eli Zaretskii <eliz@gnu.org>
1613
1614 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
1615 EOLs that also has stray ^M characters.
1616
07a1e794
JB
16172009-01-30 Juanma Barranquero <lekktu@gmail.com>
1618
1619 * atimer.c (run_timers, alarm_signal_handler):
1620 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
1621 * w32inevt.c (w32_console_read_socket):
1622 * w32term.c (w32_read_socket):
1623 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
1624
a8b11cc9
CY
16252009-01-30 Chong Yidong <cyd@stupidchicken.com>
1626
1627 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
1628 Initialize it as a relative filename pattern.
1629 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
1630 (Fcall_process_region): Simplify temp file creation using
1631 temporary-file-directory.
1632
c279587b
EZ
16332009-01-29 Eli Zaretskii <eliz@gnu.org>
1634
1635 * msdos.c: Rename pending_signals to msdos_pending_signals.
1636 (sig_suspender, sigprocmask): Adjust.
1637
a8fe3242
CY
16382009-01-29 Chong Yidong <cyd@stupidchicken.com>
1639
1640 * keyboard.c (pending_signals): New var.
1641 (poll_for_input, input_available_signal, init_keyboard): Set it.
1642 (process_pending_signals): New function.
1643
1644 * lisp.h (QUIT): Check pending_signals instead of
1645 interrupt_input_pending. Use process_pending_signals.
1646
51d861de 1647 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 1648
51d861de 1649 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
1650
1651 * sysdep.c (emacs_write): Use process_pending_signals.
1652
1653 * xterm.c (XTread_socket): Update pending_signals.
1654
1655 * w32term.c (w32_read_socket): Update pending_signals.
1656
1657 * w32inevt.c (w32_console_read_socket): Update pending_signals.
1658
6570a1c4
KH
16592009-01-29 Kenichi Handa <handa@m17n.org>
1660
1661 * xftfont.c (xftfont_has_char): New function.
1662 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
1663
d72a4afa
AR
16642009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1665
1666 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
1667 under GNUstep.
1668 (ns_query_color): New declaration.
1669
1670 * nsterm.m (ns_confirm_quit): New variable.
1671 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
1672 (EmacsApp-applicationShouldTerminate:): Use it.
1673 (EmacsPrefsController): Let user set it.
1674 (ns_query_color): New function.
1675 (ns_defined_color): Use it.
1676 (ns_initialize): Drop.
1677 (ns_term_init): Add two lines from ns_initialize(), and set
1678 input_interrupt_mode to nil.
1679
1680 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 1681 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 1682
9fe78804
KH
16832009-01-28 Kenichi Handa <handa@m17n.org>
1684
1685 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
1686 (fontset_get_font_group): Remember that no font-group is specified
1687 for C.
9fe78804 1688
fa57de36
CY
16892009-01-27 Chong Yidong <cyd@stupidchicken.com>
1690
930600e9
CY
1691 * fns.c (concat): Check for string overflow (bug#1787).
1692
fa57de36
CY
1693 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
1694 Quadruple undo limits (bug#1501).
1695
7179ce7b
KH
16962009-01-27 Kenichi Handa <handa@m17n.org>
1697
1698 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
1699 directly use GT_Get_Char_index.
1700
1701 * xftfont.c (struct xftfont_info): New member `index'.
1702
1703 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 1704 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 1705
5be8fcc0
CY
17062009-01-26 Kenichi Handa <handa@m17n.org>
1707
1708 * fontset.c (fontset_find_font): Fix handling of non-cons return
1709 value of fontset_get_font_group.
1710 (fontset_font): Revert last change.
1711
19ae3e61
JR
17122009-01-26 Jason Rumney <jasonr@gnu.org>
1713
1714 * w32font.c (w32font_list_internal): Return quickly if registry is
1715 unknown. Simplify final return.
1716 (add_font_entity_to_list): Break complex logic down into more
1717 manageable chunks. Move unknown registry check to
1718 w32font_list_internal.
1719
8612b71a
AR
17202009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
1721
1722 Changes to remove Feval calls from GUI under NS.
1723
d8038940
JB
1724 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
1725 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
1726 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
1727
1728 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
1729 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
1730 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
1731 instead of NON_ASCII_KEYSTROKE_EVENT.
1732 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
1733 (EmacsApp-applicationShouldTerminate:): Query user.
1734 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
1735 instead of Feval.
1736
1737 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
1738
1739 * keyboard.c (kbd_buffer_get_event): Check for it.
1740 (keys_of_keyboard): Define lispy keys for
1741 ns-put/unput-working-text.
1742
1743 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
1744 versions.
1745 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
1746
6288ae55
CY
17472009-01-25 Chong Yidong <cyd@stupidchicken.com>
1748
1749 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 1750 setting current_buffer directly. (Bug#2044)
6288ae55 1751
289e7f8f
CY
17522009-01-24 Chong Yidong <cyd@stupidchicken.com>
1753
5ce87308 1754 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 1755 any work. (Bug#1952, bug#1990).
5ce87308 1756
64cc3cf6 1757 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 1758
b3243e6f
AR
17592009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1760
1761 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
1762 (ns_no_defaults): New declaration.
1763 (main): Use it.
e0d2e69a 1764
d900b2af 1765 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 1766
d900b2af 1767 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 1768
d900b2af
AR
1769 * nsterm.m (ns_no_defaults): New variable.
1770 (ns_initialize): Don't read defaults when ns_no_defaults.
1771 (EmacsView-readSelectionFromPasteboard:)
1772 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 1773 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
1774 (ns_dumpglyphs_stretch): New function.
1775 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 1776 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 1777
e0d2e69a
AR
1778 * nsimage.m (setPixmapData:): Set to ignore image DPI.
1779
3ac71f5d
CY
17802009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
1781
1782 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
1783 call for Sparc64.
1784
3fe53a83
AR
17852009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1786
1787 * nsfns.m:
1788 * nsgui.h:
1789 * nsmenu.m:
1790 * nsselect.m:
1791 * nsterm.h:
1792 * nsterm.m: Remove '23' comments that indicated code added during
1793 update from emacs-20 -> emacs-23.
1794
10f87c6f 17952009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
1796
1797 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 1798 ns_alternate_modifier. (Bug#1217)
a3b53a85 1799
c7cef62d
AR
1800 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
1801 Display all shortcuts, including those w/o super modifier.
1802
575fb8bd
AR
1803 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
1804
918b848b
CY
18052009-01-22 Chong Yidong <cyd@stupidchicken.com>
1806
1807 * fileio.c (Vwrite_region_post_annotation_function)
1808 (Vwrite_region_annotation_buffers): New vars.
1809 (build_annotations_unwind): Just reset
1810 Vwrite_region_annotation_buffers.
1811 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
1812 Call write-region-post-annotation-function.
1813 (build_annotations): Add to Vwrite_region_annotation_buffers if
1814 buffer changes.
1815
a39e2539
AR
18162009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1817
1818 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
1819 Tiger.
51d861de
SM
1820 * nsfns.m (ns_do_applescript):
1821 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 1822
35ed44db
AR
18232009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1824
1825 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
1826
cbe0b5bf
AR
18272009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1828
1829 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 1830
6049d3a0
AR
1831 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
1832
1833 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
1834 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
1835 handle Ctrl-tab. (Bug#1841)
1836 (ns_get_color): Use unsigned long long for scanned hex string value.
1837 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 1838 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 1839 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 1840 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 1841 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 1842 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 1843 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 1844
d3810c21 1845 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 1846 DPI. (Bug#1316)
d3810c21
AR
1847 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
1848 values in onTiger section.
4c7077c3 1849
e301e634
CY
18502009-01-19 Chong Yidong <cyd@stupidchicken.com>
1851
7f82490b
CY
1852 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
1853 Check return value of font_spec_from_name.
64cc3cf6 1854 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
1855
1856 * font.c (font_spec_from_name): Return Qnil if font name could not
1857 be parsed.
1858 (font_parse_name): Treat a `?' character as part of an XLFD.
1859
e301e634
CY
1860 * fns.c (Fsubstring): Doc fix.
1861
1c0db158
KH
18622009-01-19 Kenichi Handa <handa@m17n.org>
1863
51d861de 1864 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
1865 (ftfont_list): Likewise.
1866
acf20901
JB
18672009-01-18 Juanma Barranquero <lekktu@gmail.com>
1868
fff4e459
JB
1869 * dbusbind.c (Fdbus_register_signal):
1870 * process.c (conv_sockaddr_to_lisp):
1871 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
1872
acf20901
JB
1873 * callproc.c (Fgetenv_internal): Doc fix.
1874
e7abcdfb
CY
18752009-01-16 Chong Yidong <cyd@stupidchicken.com>
1876
1877 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
1878 it is not even used.
1879
b60861e6
GM
18802009-01-16 Glenn Morris <rgm@gnu.org>
1881
1882 * font.c (Ffont_variation_glyphs): Silence compiler.
1883
8db52afe
JB
18842009-01-15 Juanma Barranquero <lekktu@gmail.com>
1885
1886 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
1887 Reported by David Robinow <drobinow@gmail.com>.
1888
4cddb209
KH
18892009-01-15 Kenichi Handa <handa@m17n.org>
1890
51d861de 1891 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 1892
f247f67b
JR
18932009-01-14 Jason Rumney <jasonr@gnu.org>
1894
1895 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 1896 never a fontset. (Bug#1562)
f247f67b 1897
f56a4450
KH
18982009-01-14 Kenichi Handa <handa@m17n.org>
1899
1900 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 1901 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 1902
4e99855e
CY
19032009-01-13 Chong Yidong <cyd@stupidchicken.com>
1904
1905 * font.c (font_clear_prop): If clearing the family, clear the font
1906 width index too.
1907
fff4e459 1908 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 1909
24f01470
JB
19102009-01-12 Juanma Barranquero <lekktu@gmail.com>
1911
1912 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1913 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1914 functions, use sizeof.
1915
a41240a3
MR
19162009-01-12 Martin Rudalics <rudalics@gmx.at>
1917
1918 * keyboard.c (read_char): Fix case where last_nonmenu_event
1919 returned a bad value with submenus. (Bug#447)
1920
944636b8
CY
19212009-01-12 Chong Yidong <cyd@stupidchicken.com>
1922
1923 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1924 family, clear the font width index too.
1925
0dad7c6f
JR
19262009-01-11 Jason Rumney <jasonr@gnu.org>
1927
1928 * keyboard.c (cmd_error_internal): Exit when errors occur before
1929 frame creation and not in daemon mode. (Bug#1836)
1930
7c2363af
CY
19312009-01-10 Chong Yidong <cyd@stupidchicken.com>
1932
1933 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1934 of a display vector, backtrack.
1935 (try_window_reusing_current_matrix): Check glyph type before
1936 referencing charpos member.
1937
97b1b294
EZ
19382009-01-10 Eli Zaretskii <eliz@gnu.org>
1939
1940 Fix Bug #876:
1941
1942 * coding.c (inhibit_null_byte_detection): New variable.
1943 (detect_coding, detect_coding_system): Don't pay attention to null
1944 bytes if inhibit_null_byte_detection is non-zero.
51d861de 1945 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
1946 <inhibit-iso-escape-detection>: Doc fix.
1947
4624b6e3
JR
19482009-01-09 Jason Rumney <jasonr@gnu.org>
1949
1950 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 1951 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
1952 Only report Unicode Plane 2 fonts as unicode-sip.
1953
323b840c
CY
19542009-01-09 Chong Yidong <cyd@stupidchicken.com>
1955
51d861de
SM
1956 * xfaces.c (Fx_font_family_list): Delete function.
1957 Move compatibility version to faces.el.
323b840c 1958
51d861de 1959 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 1960
eba7400d
MR
19612009-01-09 Martin Rudalics <rudalics@gmx.at>
1962
1963 * frame.c (x_set_frame_parameters): Remember requested value for
1964 fullscreen before it's reset by the parameter handler.
1965
4b09796d
GM
19662009-01-09 Glenn Morris <rgm@gnu.org>
1967
1968 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 1969 (last_command_event): ... and update all users.
4b09796d
GM
1970 (last_input_char): For clarity, rename to...
1971 (last_input_event): ... and update all users.
1972 (last-command-char, last-input-char): Move to subr.el as aliases.
1973 * cmds.c, commands.h: Update for last_command_char rename.
1974
14ccea62
CY
19752009-01-08 Chong Yidong <cyd@stupidchicken.com>
1976
51d861de 1977 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 1978
5f004711
JR
19792009-01-08 Jason Rumney <jasonr@gnu.org>
1980
1981 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1982 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1983 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1984 Don't declare.
fff4e459 1985 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
1986 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1987
b71f6f73
KH
19882009-01-07 Kenichi Handa <handa@m17n.org>
1989
50b06221 1990 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 1991 remember the coding system used for decoding in
50b06221
KH
1992 coding_system (Bug#1039).
1993
b71f6f73 1994 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 1995 breaking the loop. (Bug#870)
b71f6f73
KH
1996 (decode_coding_utf_16, decode_coding_emacs_mule)
1997 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1998 (decode_coding_charset): Likewise.
1999
56f668f7
MR
20002009-01-05 Martin Rudalics <rudalics@gmx.at>
2001
2002 * frame.c (x_set_frame_parameters): Make sure height (width) get
2003 applied when fullwidth (fullheight) is set. (Bug#1522)
2004
5da9424d
JB
20052009-01-04 Juanma Barranquero <lekktu@gmail.com>
2006
2007 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
2008 (utc_base): Declare as ULONGLONG, not long double.
2009 (convert_time_raw): Delete.
2010 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
2011 (initialize_utc_base): New function.
2012 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
2013 (convert_from_time_t): Use initialize_utc_base; compute result with
2014 64-bit arithmetic.
2015 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
2016
c4605e09
EZ
20172009-01-03 Eli Zaretskii <eliz@gnu.org>
2018
9acef61c 2019 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
2020 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
2021 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
2022 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
2023 [!subprocesses]: Define.
2024 (syms_of_process) [!subprocesses]: Intern and staticpro them.
2025 (Flist_system_processes, Fsystem_process_attributes)
2026 [!subprocesses]: Call list_system_processes and
2027 system_process_attributes instead of returning Qnil.
2028
9acef61c
JB
2029 * dosfns.c (system_process_attributes, list_system_processes):
2030 New functions.
c4605e09
EZ
2031
2032 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
2033
2034 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
2035 Don't use the default (no-op) implementation.
2036
8b7d0a16
JR
20372009-01-03 Jason Rumney <jasonr@gnu.org>
2038
a6d46bc1
JR
2039 * keyboard.c (parse_modifiers_uncached): Wheel events are
2040 clicks (bug#687).
2041
8b7d0a16
JR
2042 * w32term.c (x_query_colors, x_query_color): New functions.
2043
2044 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
2045 (svg_load_image): Cast returned pointers from dynamically loaded
2046 functions. Eliminate W32 specific code.
2047
bfe11752
DN
20482009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
2049
89e2438a
DN
2050 * nsfns.m (x_set_foreground_color, x_set_background_color)
2051 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
2052 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
2053 x_ prefix instead of ns_. Update references.
2054 (syms_of_nsfns): Add a FIXME comment.
2055
2056 * nsterm.m (x_set_cursor_type): New prototype.
2057 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
2058
bfe11752
DN
2059 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
2060 for Solaris instead of incorrectly providing Qutime and Qcutime.
2061
031da700
EZ
20622009-01-02 Eli Zaretskii <eliz@gnu.org>
2063
2064 * w32.c (process_times): Compute sum of utime and stime.
2065 (system_process_attributes): Add Qtime to the alist.
2066
2067 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
2068 and add them to the alist.
2069
2070 * process.c (top level) <Qtime, Qctime>: New variables.
2071 (syms_of_process): staticpro them.
2072 (Fsystem_process_attributes): Add their documentation to the doc
2073 string.
2074
2075 * process.h: Declare Qtime and Qctime.
2076
df23bf08
JR
20772009-01-02 Jason Rumney <jasonr@gnu.org>
2078
9acef61c 2079 * image.c (Qgobject): New symbol.
df23bf08
JR
2080 (syms_of_image): Initialize it.
2081 (init_svg_functions): Load some functions from gobject library.
2082
5bbdf7aa
DN
20832009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
2084
2085 * frame.c (make_terminal_frame): Remove redundant code and useless
2086 block.
2087
63136da6
AS
20882009-01-01 Andreas Schwab <schwab@suse.de>
2089
2090 * process.c (conv_sockaddr_to_lisp): Add workaround for
2091 getsockname bug on BSD.
2092
9ef69046
CY
20932009-01-01 Chong Yidong <cyd@stupidchicken.com>
2094
d6fafbe0
CY
2095 * xfns.c (x_create_tip_frame): Set border width of the X window.
2096
51d861de 2097 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 2098
f9c34147
JR
20992009-01-01 Jason Rumney <jasonr@gnu.org>
2100
9acef61c 2101 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
2102 Don't block input, as per earlier xterm.c changes.
2103
f5497e45
AR
21042008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
2105
2106 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
2107 (ns_appkit_version_int): New function.
2108 (x-server-version): Use ns_appkit_version_int and follow 21+
2109 convention of returning 3 integers.
2110
c19cab20
KH
21112008-12-30 Kenichi Handa <handa@m17n.org>
2112
2113 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
2114 (CHAR_SURROGATE_PAIR_P): New macro.
2115
2116 * font.h (struct font_driver): New member get_variation_glyphs.
2117
9acef61c 2118 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
2119 (Ffont_variation_glyphs): New function.
2120 (syms_of_font): Defsubr it.
2121
2122 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
2123 ftfont_variation_glyphs.
2124 (setup_otf_gstring): New function.
2125 (ftfont_drive_otf): Use it.
2126 (ftfont_shape_by_flt): Handle variation selector.
2127 (ftfont_variation_glyphs): New function.
2128
28cd591f
MR
21292008-12-30 Martin Rudalics <rudalics@gmx.at>
2130
2131 * frame.c (Vemacs_iconified): Remove.
2132
7f714baf
JR
21332008-12-30 Jason Rumney <jasonr@gnu.org>
2134
2135 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 2136 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 2137
9d2d22ab
CY
21382008-12-30 Chong Yidong <cyd@stupidchicken.com>
2139
2140 * indent.c (Fvertical_motion): Don't advance iterator if we have
2141 reseated to the desired position.
2142
2143 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
2144 checking for pos match.
2145
545312c2
KH
21462008-12-30 Kenichi Handa <handa@m17n.org>
2147
1ede3eb6
KH
2148 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
2149 just get the low 8-bit of the code.
2150
545312c2
KH
2151 * font.c (font_intern_prop): Validate str as multibyte.
2152
bd7bbf29
DN
21532008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
2154
31e0750e
DN
2155 * dispextern.h (struct face): Move lface and hash from the middle
2156 of bitfields.
2157
bd7bbf29
DN
2158 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
2159
b5672e7c
DN
21602008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
2161
2162 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
2163 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
2164 instead of intervals.h.
2165
d704470f
AS
21662008-12-26 Andreas Schwab <schwab@suse.de>
2167
2168 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
2169 cons.
2170
54b33868
MR
21712008-12-26 Martin Rudalics <rudalics@gmx.at>
2172
2173 * textprop.c (Qminibuffer_prompt): New variable.
2174 (syms_of_textprop): Initialize it.
2175 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
2176 in minibuffer-prompt face. (Bug#1662)
2177
40b615d6
JR
21782008-12-25 Jason Rumney <jasonr@gnu.org>
2179
2180 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
2181
baae5c2d
JR
21822008-12-24 Jason Rumney <jasonr@gnu.org>
2183
2184 * ralloc.c (r_alloc_reset_variable): New function.
2185
2186 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 2187 record of what points where. (Bug#716)
baae5c2d 2188
a9051c88
DN
21892008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
2190
2191 * minibuf.c (read_minibuf): Follow the non-interactive case when
2192 running as a daemon, before detaching.
2193
8b146312
AS
21942008-12-22 Andreas Schwab <schwab@suse.de>
2195
2196 * buffer.c (init_buffer): Use realloc instead of xrealloc.
2197 * gtkutil.c (free_widget_value): Use xfree instead of free.
2198
56f2de10
MR
21992008-12-22 Martin Rudalics <rudalics@gmx.at>
2200
2201 * frame.c (delete_frame): New function derived from
2202 Fdelete_frame to handle Qnoelisp value for FORCE argument.
2203 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
2204 (Fdelete_frame): Call delete_frame. Remove line from doc-string
2205 saying that FORCE non-nil doesn't run `delete-frame-functions'.
2206 * frame.h: Extern delete_frame.
2207 * window.c (window_loop):
2208 * terminal.c (delete_terminal):
2209 * xterm.c (x_connection_closed):
2210 * xfns.c (Fx_hide_tip):
9acef61c 2211 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 2212
1fc200d6
JR
22132008-12-21 Jason Rumney <jasonr@gnu.org>
2214
2215 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
2216 when character maps to .notdef character.
2217
5e252df2
SM
22182008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
2219
2220 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
2221
99b72cc4
JR
22222008-12-20 Jason Rumney <jasonr@gnu.org>
2223
2224 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 2225 a graphical frame on Windows. (Bug#1325)
99b72cc4 2226
acc49a52
JD
22272008-12-20 Jan Djärv <jan.h.d@swipnet.se>
2228
2229 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
2230
6ea15123
CY
22312008-12-20 Chong Yidong <cyd@stupidchicken.com>
2232
2233 * minibuf.c (Fread_buffer): Doc fix.
2234
b2dab6c8
JR
22352008-12-20 Jason Rumney <jasonr@gnu.org>
2236
54ea0c87 2237 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 2238 server name in UNC paths. (Bug#719)
54ea0c87 2239
b2dab6c8 2240 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 2241 charbuf. (Bug#1035)
b2dab6c8 2242
6d1921be
DN
22432008-12-19 Daniel Engeler <engeler@gmail.com>
2244
2245 * sysdep.c (serial_configure): Fix typo.
2246
53934c98
DN
22472008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2248
2249 * sysdep.c: Include alloca.h.
f4f634e8
DN
2250 (system_process_attributes): Add implementation for Solaris.
2251
2252 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 2253
06e111a6
DN
22542008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2255
2256 Reorganize implementation of Flist_system_processes and
2257 Fsystem_process_attributes. No functional changes.
2258 * process.c: Don't #include pwd.h, grp.h and limits.h.
2259 (Flist_system_processes): Just call list_system_processes.
2260 (Fsystem_process_attributes): Just call system_process_attributes.
2261 (procfs_list_system_processes, time_from_jiffies)
2262 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
2263 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
2264
2265 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
2266 (list_system_processes): Rename from
2267 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
2268 Provide a do nothing implementation.
2269 (system_process_attributes): Rename from
2270 procfs_list_system_processes.
2271 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 2272 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
2273
2274 * w32.c (list_system_processes): Rename from
2275 w32_list_system_processes.
2276 (system_process_attributes): Rename from
2277 w32_system_process_attributes.
2278
2279 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
2280
2281 * process.h (w32_list_system_processes)
2282 (w32_system_process_attributes): Remove.
2283 (list_system_processes, system_process_attributes): New
2284 prototypes.
2285
6a705b23
KH
22862008-12-19 Kenichi Handa <handa@m17n.org>
2287
2288 * xfont.c (xfont_decode_coding_xlfd): New function.
2289 (xfont_encode_coding_xlfd): New function.
2290 (xfont_list_pattern): Decode XLFD by iso-8859-1.
2291 (xfont_list): Decode and encode XLFD by iso-8859-1.
2292 (xfont_match): Likewise.
2293 (xfont_list_family): Likewise.
2294 (xfont_open): Likewise.
2295
d66c0241 2296 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
2297 names are utf-8.
2298
d66c0241 2299 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
2300 names are utf-8.
2301
5a130941
JD
23022008-12-18 Jan Djärv <jan.h.d@swipnet.se>
2303
2304 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
2305 changed.
bfd20325
JD
2306 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
2307 clicked on a detached tool bar button.
5a130941 2308
fd95644b
DN
23092008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
2310
2311 * emacs.c (main): Print and error and exit when no data is read
2312 from the pipe.
2313
e6eee6ae
JR
23142008-12-17 Jason Rumney <jasonr@gnu.org>
2315
2316 * w32font.c (w32font_has_char): Always return -1.
2317
a35dd56b
KH
23182008-12-16 Kenichi Handa <handa@m17n.org>
2319
2320 * font.c (font_open_entity): Fix previous change.
2321
0e3635c2
DN
23222008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
2323
2324 * process.c: Include <limits.h>.
2325
d4835507 23262008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
2327
2328 * font.c (font_update_drivers): Fix mistake in reconstructing the
2329 driver list.
2330
23312008-12-16 Chong Yidong <cyd@stupidchicken.com>
2332
2333 * font.c (font_clear_cache): Fix format of font cache data.
2334
e2cbc401
CY
23352008-12-15 Chong Yidong <cyd@stupidchicken.com>
2336
2337 * xftfont.c (xftfont_open): Free Xft font pattern if
2338 XftFontOpenPattern fails.
2339
2340 * xterm.c (x_free_frame_resources): Remove extraneous call to
2341 free_frame_faces.
2342
b131d535
CY
23432008-12-13 Chong Yidong <cyd@stupidchicken.com>
2344
2345 * xterm.c (x_delete_display): Move xim_close_dpy call to
2346 x_delete_terminal.
2347 (x_delete_terminal): Call xim_close_dpy.
2348
e6df5336
JR
23492008-12-13 Jason Rumney <jasonr@gnu.org>
2350
2351 * w32font.c (intern_font_name): New function.
2352 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
2353 (w32font_open_internal, Fx_select_font): Decode font name.
2354 (fill_in_logfont, list_all_matching_fonts): Encode font name.
2355
2356 * w32font.h (intern_font_name): Declare new function.
2357
2358 * w32uniscribe.c (add_opentype_font_name_to_list):
2359 Use intern_font_name.
2360
20d68145
CY
23612008-12-13 Chong Yidong <cyd@stupidchicken.com>
2362
9f2554de
CY
2363 * frame.c (Fdelete_frame): Call free_font_driver_list.
2364
3d9bec9a
CY
2365 * font.c (free_font_driver_list): Implement missing function.
2366
20d68145
CY
2367 * w32term.c (w32_term_init): Don't initialize the image cache
2368 here; it will be done in init_frame_faces.
2369
2370 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
2371 (struct x_display_info): Remove unused member null_pixel. New
2372 member xim_callback_data.
2373
2374 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
2375 (xim_initialize): Save pointer to callback function data.
2376 (xim_close_dpy): Free callback function data. Call XCloseIM,
2377 reverting 2008-11-04 change by David Smith.
2378 (x_term_init): Don't initialize the image cache here; it will be
2379 done in init_frame_faces. Remove ancient "null_pixel" cruft.
2380 (x_delete_display): Free x_dnd_atoms member.
2381
96f9306b
KH
23822008-12-13 Kenichi Handa <handa@m17n.org>
2383
6dec9044
JB
2384 * font.c (font_rescale_ratio): Moved from xfaces.c.
2385 Argument type changed. Handle a font-spec too.
96f9306b 2386 (font_score): Check Vface_font_rescale_alist.
6dec9044 2387 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
2388
2389 * xfaces.c (font_rescale_ratio): Moved to font.c.
2390
8d5b4964
CY
23912008-12-13 Chong Yidong <cyd@stupidchicken.com>
2392
2393 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
2394
e6df5336
JR
23952008-12-12 Jason Rumney <jasonr@gnu.org>
2396
2397 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
2398 Vwindow_system_version to the real w32 major version.
2399
97c6058a
DN
24002008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
2401
2402 * term.c (init_tty): Move setting the terminal name before the
2403 potential user: maybe_fatal.
2404
ec4e88d7
CY
24052008-12-11 Chong Yidong <cyd@stupidchicken.com>
2406
d4835507
JB
2407 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
2408 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 2409
b4233ec9
JR
24102008-12-11 Jason Rumney <jasonr@gnu.org>
2411
8ec71e23 2412 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 2413 SYMBOL_CHARSET. (Bug#547)
8ec71e23 2414
b4233ec9 2415 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 2416 size for surrogates. (Bug#1096, bug#872)
b4233ec9 2417
011a0143
JB
24182008-12-11 Juanma Barranquero <lekktu@gmail.com>
2419
2420 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
2421
3c309f34
JB
24222008-12-11 Juanma Barranquero <lekktu@gmail.com>
2423
2424 * process.c (Fsystem_process_attributes, syms_of_process):
2425 Fix typo in name of Ssystem_process_attributes.
2426 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
2427
fedc6ab5
JB
24282008-12-11 Juanma Barranquero <lekktu@gmail.com>
2429
2430 * syntax.c (Fmodify_syntax_entry): Doc fix.
2431
ba3de0e8
JB
24322008-12-10 Juanma Barranquero <lekktu@gmail.com>
2433
2434 * font.c (Ffont_spec): Move usage to end of docstring.
2435
174f1c74
JR
24362008-12-10 Jason Rumney <jasonr@gnu.org>
2437
2438 * w32font.c (Qcham): New symbol.
2439 (font_supported_scripts): Add cham, and comments for other new
2440 scripts in bitfield from OpenType spec.
9d32f818
JR
2441 (add_font_entity_to_list): Limit unicode-sip fonts to those that
2442 contain characters beyond the bmp.
174f1c74 2443
7b649478
KH
24442008-12-10 Kenichi Handa <handa@m17n.org>
2445
2446 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 2447 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
2448 Qunicode_sip.
2449
2133e2d1
JB
24502008-12-10 Juanma Barranquero <lekktu@gmail.com>
2451
2452 * coding.c (QCdefault_char): Rename from QCdefalut_char.
2453 (Fcoding_system_put): Use QCdefault_char.
2454 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
2455
9af886ee
CY
24562008-12-09 Chong Yidong <cyd@stupidchicken.com>
2457
74d819eb
CY
2458 * xftfont.c (syms_of_xftfont): Fix typo.
2459
4ccfa1c0 2460 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 2461
7c19d3ae
DN
24622008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
2463
2464 * emacs.c (main): Close daemon_pipe on exec.
2465
567826bb
CY
24662008-12-08 Chong Yidong <cyd@stupidchicken.com>
2467
2468 * termchar.h (struct tty): New members termcap_term_buffer and
2469 termcap_strings_buffer.
2470
2471 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 2472 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
2473 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
2474 All callers changed.
2475 (init_tty): Store termcap data and string buffers in new struct
2476 tty members termcap_term_buffer and termcap_strings_buffer.
2477 (delete_tty): Free them.
4ccfa1c0 2478 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 2479
aa96c42b
SZ
24802008-12-07 Seiji Zenitani <zenitani@mac.com>
2481
2482 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 2483 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 2484
b7e1d896
CY
24852008-12-06 Chong Yidong <cyd@stupidchicken.com>
2486
2487 * coding.c (make_conversion_work_buffer): Disable buffer
2488 modification hooks in the work buffer.
2489
b5ec91a5
EZ
24902008-12-05 Eli Zaretskii <eliz@gnu.org>
2491
2492 * process.c (procfs_system_process_attributes): If `nread' has a
2493 negative value, assign zero to it.
2494
a5d2a52b
CY
24952008-12-05 Chong Yidong <cyd@stupidchicken.com>
2496
68c5540b 2497 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 2498
7bf1bb21
KH
24992008-12-05 Kenichi Handa <handa@m17n.org>
2500
2501 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
2502 second character is a combining character.
2503
2fdc7d00
EZ
25042008-12-05 Eli Zaretskii <eliz@gnu.org>
2505
2506 * process.c (procfs_system_process_attributes): Don't use cmd,
2507 cmdsize, and q without initializing them first.
2508
bf6bfba8
JR
25092008-12-04 Jason Rumney <jasonr@gnu.org>
2510
2511 * w32font.c (w32font_draw): Initialize orig_clip before getting
2512 it, and delete it when finished.
2513
a3b1a468
DN
25142008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
2515
2516 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
2517 case when running as a daemon before detaching.
2518
8b8be8eb
JB
25192008-12-03 Juanma Barranquero <lekktu@gmail.com>
2520
805f2638 2521 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 2522
b1bde622
KH
25232008-12-03 Kenichi Handa <handa@m17n.org>
2524
e500c47d
KH
2525 * font.c (font_at): Set `multibyte' at first.
2526
ca516334
KH
2527 * coding.c (decode_coding_charset): Check type of an element of
2528 vector VALIDS.
7bf1bb21 2529 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 2530
4ccfa1c0 2531 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
2532 (font_for_char): Likewise.
2533
1e5ecd37
CY
25342008-12-03 Chong Yidong <cyd@stupidchicken.com>
2535
d5b01609 2536 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
2537 (font_update_lface): Handle fonts with corrupted size specs,
2538 i.e. non-int and non-float.
d5b01609 2539
11e3a6e4 2540 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 2541 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 2542 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 2543
ab06788b
CY
2544 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
2545
1e5ecd37 2546 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 2547 underline_minimum_offset for underline position.
1e5ecd37 2548
63c125ab
DN
25492008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
2550
2551 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
2552
2553 * character.c (c_string_width): Specify the type for LEN.
2554
3a8406e1
KH
25552008-12-03 Kenichi Handa <handa@m17n.org>
2556
4ccfa1c0 2557 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 2558 (decode_coding_utf_8): Likewise.
4ccfa1c0 2559 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 2560 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 2561
651df7d9
CY
25622008-12-02 Chong Yidong <cyd@stupidchicken.com>
2563
2564 * keyboard.c (make_lispy_position): Only use PT if the selected
2565 window is current.
2566
1f625c6c
AS
25672008-12-02 Andreas Schwab <schwab@suse.de>
2568
f7741ce9
AS
2569 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
2570
1f625c6c
AS
2571 * doprnt.c (doprnt1): Fix size of charbuf.
2572
92bc2678
CY
25732008-12-02 Chong Yidong <cyd@stupidchicken.com>
2574
2575 * keyboard.c (timer_check): Revert last change.
2576
93b9e8cc
JB
25772008-12-02 Juanma Barranquero <lekktu@gmail.com>
2578
2579 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
2580
fd7a37d5
JB
25812008-12-01 Juanma Barranquero <lekktu@gmail.com>
2582
2583 * makefile.w32-in: Update dependencies.
2584 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
2585
c115043b
AS
25862008-12-01 Andreas Schwab <schwab@suse.de>
2587
2588 * font.c (register_font_driver): Use xmalloc.
2589 (font_put_frame_data): Likewise.
2590
f5668d2a
CY
25912008-12-01 Chong Yidong <cyd@stupidchicken.com>
2592
860d96be
CY
2593 * xfaces.c (realize_x_face): Make abort condition clearer.
2594
f5668d2a
CY
2595 * gtkutil.c (update_frame_tool_bar): Initialize variable.
2596
379c17e7
CY
25972008-11-30 Chong Yidong <cyd@stupidchicken.com>
2598
2599 * keyboard.c (timer_check): After a timer runs, ensure that the
2600 selected window's buffer is current.
2601
35f36d65
JB
26022008-11-30 Juanma Barranquero <lekktu@gmail.com>
2603
f952c61c
JB
2604 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
2605 It was accidentally restored by the Unicode merge.
2606
35f36d65
JB
2607 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
2608
b23077df
JB
26092008-11-29 Juanma Barranquero <lekktu@gmail.com>
2610
2611 * w32proc.c: Include "coding.h".
2612 (Fw32_short_file_name): Encode filename passed to Windows API.
2613 (Fw32_long_file_name): Encode filename passed to Windows API and
2614 decode back the result. (Bug#1433)
2615
b8ebe9dd
KH
26162008-11-29 Kenichi Handa <handa@m17n.org>
2617
8cc53f96
KH
2618 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
2619 not before accessing it.
2620
b8ebe9dd
KH
2621 * charset.c (Fdefine_charset_internal): After calculating
2622 min_char, max_char, and fastmap, copy the charset structure again.
2623 (encode_char): Fix the previous change.
2624
59bc82c0
SZ
26252008-11-28 Seiji Zenitani <zenitani@mac.com>
2626
2627 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
2628
2629 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
2630
2631 * nsterm.m (x_set_frame_alpha): New function.
2632
32247e3d
EZ
26332008-11-27 Eli Zaretskii <eliz@gnu.org>
2634
2635 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
2636
b003e5ff
JB
26372008-11-27 Juanma Barranquero <lekktu@gmail.com>
2638
2639 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
2640 pointer to check_face_name.
2641
708550f5
KH
26422008-11-27 Kenichi Handa <handa@m17n.org>
2643
2644 * category.h (SET_CATEGORY_SET): Call set_category_set.
2645 (set_category_set): Extern it.
2646
2647 * category.c (hash_get_category_set): New function.
2648 (Fmodify_category_entry): Adjusted for the change of
2649 char_table_ref_and_range. Call hash_get_category_set to get a
2650 category set to store in the table.
2651
2652 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
2653 Funify_charset.
2654
2ae37cf0 2655 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
2656 (DECODE_CHAR): Check if the decoder vector is ready.
2657 (ENCODE_CHAR): Check if the encoder char-table is ready.
2658 (maybe_unify_char): Extern it.
2659
2660 * charset.c (Vchar_unified_charset_table): Delete it.
2661 (inhibit_load_charset_map): New variable.
2662 (temp_charset_work): New variable.
2663 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
2664 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
2665 New macros.
2666 (load_charset_map): Meaning of control_flag changed. If
2667 inhibit_load_charset_map is nonzero, setup a table in
2668 temp_charset_work.
2669 (load_charset): New argument control_flag.
2670 (map_charset_for_dump): New function.
2671 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
2672 map_charset_for_dump.
2673 (Fdefine_charset_internal): If the charset method is MAP, load
2674 mapping tables by calling load_charset.
2675 (Funify_charset): Don't load a mapping table but directly set
2676 Vchar_unify_table.
2677 (maybe_unify_char): New function.
2678 (decode_char): Don't handle the deleted method MAP_DEFERRED.
2679 Handle the case of inhibit_load_charset_map being nonzero.
2680 (encode_char): Don't handle the deleted method MAP_DEFERRED.
2681 Handle the case of inhibit_load_charset_map being nonzero.
2682 (Fclear_charset_maps): Just free temp_charset_work.
2683 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
2684 variable.
2685
2686 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
2687 change of char_table_ref_and_range.
2688 (char_table_ref_and_range): Change the meaning of argument FROM
2689 and TO. Now the caller must provide initial values for *FROM
2690 and *TO.
2691
2692 * fontset.c (fontset_add): Adjusted for the change of
2693 char_table_ref_and_range.
2694 (fontset_get_font_group): Likewise.
2695 (Ffontset_info): Likewise.
2696
2697 * keymap.c (describe_vector): Adjusted for the change of
2698 char_table_ref_and_range. For char-table, put boundary between
2699 non-ASCII and 8-bit characters.
2700
2701 * print.c (print_object): For bool-vector, delete unnecessary
2702 check of ASCII_BYTE_P.
2703
9196133b
JR
27042008-11-26 Jason Rumney <jasonr@gnu.org>
2705
2706 * w32font.c (w32font_open_internal): Don't include external
9acef61c 2707 leading in font height. (Bug#879)
9196133b 2708
9f688acf
GM
27092008-11-26 Glenn Morris <rgm@gnu.org>
2710
2711 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
2712 redefinition with ifdef. (Bug#1383)
2713
90d19aff
AR
27142008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2715
2716 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
2717
4ccfa1c0 27182008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
2719
2720 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
2721 New EmacsView methods.
2722 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
2723 Fixes bug #1048,1357,1414.
2724
27252008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2726
2727 Fix bug #1362.
2728 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
2729 is not an indexed color.
2730 * nsterm.m (free_indexed_color): Add argument checking.
2731 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
2732
e7d5ecb3
CY
27332008-11-24 Chong Yidong <cyd@stupidchicken.com>
2734
2735 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
2736 Document confirm-after-completion value for
2737 minibuffer-completion-confirm.
2738
c285743c
JR
27392008-11-24 Jason Rumney <jasonr@gnu.org>
2740
2741 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
2742 warning.
2743
b0857706
JR
27442008-11-23 Jason Rumney <jasonr@gnu.org>
2745
2746 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
2747 restored before returning.
2748
2749 * w32font.c (check_face_name): New function.
2750 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 2751 fonts. (Bug#642)
b0857706 2752
ee50ff07
MR
27532008-11-22 Martin Rudalics <rudalics@gmx.at>
2754
2755 * buffer.c (Fswitch_to_buffer): Reword and mention new option
2756 confirm-nonexistent-file-or-buffer in doc-string.
2757
b8ff72fa
SM
27582008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2759
2760 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
2761 Fix copy/paste typo. Add checks.
2762
cee53ed4
KH
27632008-11-21 Kenichi Handa <handa@m17n.org>
2764
2765 * coding.c (detect_coding_iso_2022): Reject invalid composition
2766 sequence.
2767 (DECODE_COMPOSITION_START): If the current source is the last
2768 block, and the current composition doesn't end, regard this
2769 sequence as invalid.
2770 (decode_coding_iso_2022): Handle invalid composition sequence.
2771
f6ef1e65
MR
27722008-11-20 Martin Rudalics <rudalics@gmx.at>
2773
2774 * window.c (coordinates_in_window): Don't return
2775 ON_VERTICAL_BORDER for the rightmost position of a mode/header
2776 line when the window is not the rightmost one. (Bug#1372)
2777
e08b1705
MR
27782008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2779
2780 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
2781
ad98e89f
EZ
27822008-11-15 Eli Zaretskii <eliz@gnu.org>
2783
2784 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
2785 and bright_bg if noninteractive is non-zero.
2786
fb098a4b
CY
27872008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2788
2789 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
2790 x_draw_glyph_string_background.
2791
2792 * w32term.c (x_draw_glyph_string): Likewise.
2793
ce952b6e
CY
27942008-11-15 Chong Yidong <cyd@stupidchicken.com>
2795
2796 * xterm.c (x_draw_glyph_string): Stop drawing the background of
2797 the next glyph string once past the overhang width.
2798
2799 * nsterm.m (ns_draw_glyph_string): Likewise.
2800
2801 * w32term.c (x_draw_glyph_string): Likewise.
2802
26ea7079
CY
28032008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
2804
2805 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
2806 double file close.
2807
1c33c906
MR
28082008-11-14 Martin Rudalics <rudalics@gmx.at>
2809
2810 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
2811 dedicated status of window before attempting to display another
2812 buffer in it.
2813
8fc29035
JB
28142008-11-14 Juanma Barranquero <lekktu@gmail.com>
2815
2816 * msdos.c (Fmsdos_long_file_names):
2817 (syms_of_msdos) <dos-unsupported-char-glyph>:
2818 * dosfns.c (Fint86): Fix typos in docstrings.
2819
55fb4286
EZ
28202008-11-14 Eli Zaretskii <eliz@gnu.org>
2821
2822 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
2823
3fda0315
KY
28242008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
2825
2826 * puresize.h (BASE_PURESIZE): Increase to 1260000.
2827
7e849c17
CY
28282008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
2829
2830 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
2831
2832 * frame.h: Negative alpha means "don't touch".
2833
2834 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
2835
2836 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
2837
b9fd67bd
DN
28382008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
2839
2840 * hftctl.c:
2841 * chpdef.h:
2842 * acldef.h: Remove files used only for systems no longer supported.
2843
2844 * Makefile.in: Fix .o alphabetical ordering.
2845 (hftctl.o): Remove dependency, file removed.
2846 (keymap.o, print.o): Depend on charset.h.
2847
d5998e03
KH
28482008-11-10 Kenichi Handa <handa@m17n.org>
2849
2ae37cf0 2850 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 2851
be70e183
CY
28522008-11-08 Chong Yidong <cyd@stupidchicken.com>
2853
2854 * dired.c (file_name_completion): If completion_ignore_case is
2855 enabled, ignore case when checking completion-regexp-list.
2856
7cf94eac
EZ
28572008-11-08 Eli Zaretskii <eliz@gnu.org>
2858
2859 * vm-limit.c (get_lim_data): Fix last change.
2860
ee107a89
KH
28612008-11-08 Kenichi Handa <handa@m17n.org>
2862
2863 * character.c (Fget_byte): New function.
2864 (syms_of_character): Defsubr Fget_byte.
2865
5fd15622
CY
28662008-11-07 Chong Yidong <cyd@stupidchicken.com>
2867
2868 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
2869 cursor position is valid after scrolling.
2870
13d62fad
JB
28712008-11-06 Juanma Barranquero <lekktu@gmail.com>
2872
2873 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
2874
a1dd2936
GM
28752008-11-06 Glenn Morris <rgm@gnu.org>
2876
2877 * xterm.c (handle_one_xevent): Don't let popup menus cause
2878 mouse-autoselect-window related window switching. (Bug#1261)
2879
860cd236
CY
28802008-11-04 David Smith <davidsmith@acm.org> (tiny change)
2881
2882 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
2883
653a3150
AS
28842008-11-04 Andreas Schwab <schwab@suse.de>
2885
2886 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
2887
870f5cac
CY
28882008-11-03 Chong Yidong <cyd@stupidchicken.com>
2889
2890 * xfns.c (Fx_wm_set_size_hint): New function.
2891
1e02f3cb
MR
28922008-11-03 Martin Rudalics <rudalics@gmx.at>
2893
2894 * textprop.c (Fprevious_single_char_property_change): Return 0
2895 when there's no change in a string. (Bug#1301)
2896
e630dfc6
MR
28972008-11-02 Martin Rudalics <rudalics@gmx.at>
2898
2899 * frame.c (do_switch_frame): New argument NORECORD passed to
2900 Fselect_window.
2901 (Fselect_frame): New argument NORECORD passed to
2902 do_switch_frame.
2903 (Fset_frame_selected_window): New argument NORECORD passed to
2904 Fselect_frame.
2905 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2906 in call of do_switch_frame.
2907 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2908 Handle NORECORD argument in call of Fselect_frame.
2909 * lisp.h (do_switch_frame, Fselect_frame)
2910 (Fset_frame_selected_window): Adjust declarations.
2911 * window.c (select_frame_norecord): New function.
2912 (run_window_configuration_change_hook): Use it and call
2913 Fselect_frame with NORECORD set.
2914 (Fselect_window): Pass NORECORD to Fselect_frame.
2915 (Fset_window_configuration): Handle NORECORD argument in call of
2916 do_switch_frame.
2917 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2918 Fset_frame_selected_window.
2919 * keyboard.c (command_loop_1): Handle NORECORD in call of
2920 Fselect_frame (currently ifdefd).
2921
9020b223
GM
29222008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2923
2924 * emacs.c (USAGE2): Untabify.
2925
793ffee8
SM
29262008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2927
2928 * composite.c (fill_gstring_header): Fix copy/paste typo.
2929
ab6d1131
MR
29302008-10-31 Martin Rudalics <rudalics@gmx.at>
2931
2932 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2933 (Fother_window): Rename argument and rewrite doc-string.
2934 (select_window_norecord): Fix return value. (Bug#1276)
2935
601a9cf1
JB
29362008-10-30 Juanma Barranquero <lekktu@gmail.com>
2937
2938 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2939 new frames overriding foreground for tooltips. Based on similar patch
2940 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2941
813b0652
CY
29422008-10-29 Chong Yidong <cyd@stupidchicken.com>
2943
2944 * emacs.c (Fdaemon_initialized): Initialize nfd.
2945
4414f58f
MR
29462008-10-29 Martin Rudalics <rudalics@gmx.at>
2947
2948 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2949 (Fwindow_text_height): Clarify doc-strings.
2950 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2951 doc-string of window-scroll-functions.
2952
ecdcaa09
RS
29532008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2954
2955 * category.c (syms_of_category): Fix typo in docstring.
2956
23fe745a
JB
29572008-10-28 Juanma Barranquero <lekktu@gmail.com>
2958
2959 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2960 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2961 Fix typos in docstrings.
2962
ff808935
DN
29632008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2964
2965 * emacs.c (daemon_pipe): Make non-static.
2966 (IS_DAEMON): Move definition ...
2967 * lisp.h (IS_DAEMON): ... here.
2968 (daemon_pipe): Declare.
2969 (is_daemon): Remove.
2970 * dispnew.c (init_display): Use IS_DAEMON.
2971
fc012771
SM
29722008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2973
2974 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2975 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2976
2977 * emacs.c (is_daemon): Remove.
2978 (main): Don't set is_daemon.
2979 (IS_DAEMON): New macro.
2980 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 2981 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
2982 parent exits.
2983 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2984
d8bdbe6f
CY
29852008-10-27 Chong Yidong <cyd@stupidchicken.com>
2986
d1a072bf
CY
2987 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2988 over-sized glyph, draw it with the default glyph width.
2989
e2e325aa
CY
2990 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2991 glyph, draw it with the default glyph width.
2992
2993 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2994 glyph, draw it with the default glyph width.
2995
d8bdbe6f
CY
2996 * xdisp.c (try_scrolling): When computing the distance from the
2997 scroll margin to PT, try moving some distance past the window
2998 bottom before giving up.
2999
7bfac547
MR
30002008-10-27 Martin Rudalics <rudalics@gmx.at>
3001
3002 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
3003 (Fset_window_buffer): Explain in doc-string that a window can be
3004 "strongly" dedicated to its buffer.
3005
4ff029f6
DN
30062008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
3007
3008 * emacs.c (daemon_name): New variable.
3009 (main): Deal with --daemon=SERVER_NAME.
3010 (Fdaemonp): Return a name if one was passed to --daemon.
3011
5790ef40
DN
30122008-10-26 Romain Francoise <romain@orebokech.com>
3013
f9bd0df9 3014 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
3015 (main): Create a pipe before forking, make the parent exit only after
3016 the child has closed its end of the pipe. Move closing the
3017 descriptors ...
3018 (Fdaemon_initialized): ... here. New function.
3019
f5385255
SM
30202008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
3021
4d632321
SM
3022 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
3023 the previous unoptimized table.
3024
f5385255
SM
3025 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
3026 the distinction between non-nil and non-t value of `dedicated'.
3027
6c56a0f3
CY
30282008-10-25 Chong Yidong <cyd@stupidchicken.com>
3029
3030 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 3031 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 3032
fec89261
MR
30332008-10-25 Martin Rudalics <rudalics@gmx.at>
3034
3035 * window.c (Fget_buffer_window, Fdelete_windows_on)
3036 (Freplace_buffer_in_windows): Make buffer argument optional and
3037 rename to buffer_or_name.
3038
34fcddd0
CY
30392008-10-24 Chong Yidong <cyd@stupidchicken.com>
3040
f5385255
SM
3041 * xdisp.c (handle_single_display_spec, handle_display_prop):
3042 Undo 2005-05-16 change.
34fcddd0
CY
3043 (handle_stop): Pop iterator if it's loaded with an empty string.
3044 (get_overlay_strings_1): Don't save iterator if it's loaded with
3045 an empty string (bug#1201).
3046
064766f2
KH
30472008-10-24 Kenichi Handa <handa@m17n.org>
3048
3049 * ftfont.c (ftfont_otf_features): Fix previous change.
3050 (ftfont_otf_capability): Check FeatureList.FeatureCount before
3051 calling ftfont_otf_features.
3052
f9bd0df9 30532008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
3054
3055 * font.c (font_match_p): Fix for the case that a vector of
3056 characters is in script-representative-chars.
3057
1dae9197
MA
30582008-10-24 Michael Albinus <michael.albinus@gmx.de>
3059
3060 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 3061 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
3062 (xd_read_queued_messages): Catch Qdbus_error from the macros.
3063 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
3064 macro. (Bug#1186).
3065
f9bd0df9 30662008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
3067
3068 * s/sol2-10.h: New file.
3069
878a4584
JB
30702008-10-23 Juanma Barranquero <lekktu@gmail.com>
3071
3072 * xdisp.c (fill_glyph_string): Fix typo in source (though the
3073 poor beast has survived 9+ years and the jump from xterm.c!).
3074
cd265ca6
MR
30752008-10-23 Martin Rudalics <rudalics@gmx.at>
3076
3077 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
3078 Reword doc-string.
f5385255 3079 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 3080
472a4dc9
JB
30812008-10-23 Juanma Barranquero <lekktu@gmail.com>
3082
3083 * character.c (syms_of_character) <script-representative-chars>:
3084 <unicode-category-table>: Doc fixes.
3085
159bd5a2
NF
30862008-10-23 Noah Friedman <friedman@splode.com>
3087
3088 * coding.c (make_conversion_work_buffer): Check that
3089 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
3090 Fget_buffer_create.
3091
49f9c344
KH
30922008-10-23 Kenichi Handa <handa@m17n.org>
3093
3094 * font.c (font_add_log): Check the values of extra properties.
3095
12bb3111
MR
30962008-10-22 Martin Rudalics <rudalics@gmx.at>
3097
3098 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
3099 Reword doc-string.
3100 (Fset_window_parameter): Use NILP.
3101 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 3102 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 3103
bbeb4e99
JB
31042008-10-22 Juanma Barranquero <lekktu@gmail.com>
3105
3106 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
3107
31082008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
3109
3110 * nsfns.m (ns_appkit_version): New function.
3111 (x-server-version): Use it.
3112 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
3113 (x-server-vendor): Don't check_ns().
3114
3115 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
3116
a9b555d3
JB
31172008-10-22 Juanma Barranquero <lekktu@gmail.com>
3118
3119 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
3120 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
3121
4626499f
KH
31222008-10-22 Kenichi Handa <handa@m17n.org>
3123
e3681952
KH
3124 * syntax.c (scan_words): Call word_boundary_p instead of comparing
3125 scripts.
3126
4626499f
KH
3127 * category.c (word_boundary_p): Check scripts instead of charset.
3128 Handle nil value in word-separating-categories and
3129 word-combining-categories.
3130 (syms_of_category): Fix docstrings of word-separating-categories
3131 and word-combining-categories.
3132
1560f91a
EZ
31332008-10-21 Eli Zaretskii <eliz@gnu.org>
3134
3135 * coding.c (Fencode_coding_region, Fdecode_coding_region)
3136 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
3137
f4668441
MR
31382008-10-21 Martin Rudalics <rudalics@gmx.at>
3139
3140 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
3141 Rename arg "buffer" to "buffer_or_name".
3142 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
3143 it optional.
3144 (no_switch_window): Remove since the return value is not used.
a9b555d3 3145 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
3146 Consider window as dedicated when Fwindow_dedicated_p returns a
3147 non-nil value.
3148 * lisp.h: Remove prototype for no_switch_window.
3149
fd75ddb2
JD
31502008-10-21 Jan Djärv <jan.h.d@swipnet.se>
3151
3152 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 3153 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 3154
07295713
KH
31552008-10-21 Kenichi Handa <handa@m17n.org>
3156
3157 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
3158 check Vlatin_extra_code_table.
3159
712adc82
EZ
31602008-10-20 Eli Zaretskii <eliz@gnu.org>
3161
3162 * fileio.c (Fset_file_modes): Doc fix.
3163
f549eb0b
MA
31642008-10-19 Michael Albinus <michael.albinus@gmx.de>
3165
3166 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
3167 in arrays.
3168
aac0c6e3
MR
31692008-10-19 Martin Rudalics <rudalics@gmx.at>
3170
3171 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
3172 Mention kill-buffer in doc-string.
3173 (Fset_window_buffer): Reinsert tem check removed in last commit.
3174 (Fenlarge_window, Fshrink_window): Have argument names and
3175 doc-string follow Elisp manual more closely.
3176
31772008-10-18 Eli Zaretskii <eliz@gnu.org>
3178
3179 * fileio.c (Fset_file_modes): Doc fix.
3180
31812008-10-18 Martin Rudalics <rudalics@gmx.at>
3182
3183 * window.c (Fwindow_width, Fset_window_start)
3184 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
3185 (Fdelete_windows_on, Freplace_buffer_in_windows):
3186 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
3187 (Fwindow_dedicated_p): Make window argument optional.
3188 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
3189 (Fset_window_buffer): Respect any non-nil dedicated value for
3190 window. Rename "buffer" argument to "buffer_or_name".
3191
31922008-10-18 Ulrich Mueller <ulm@gentoo.org>
3193
3194 * m/sh3.h: New file, machine description for SuperH.
3195
31962008-10-17 Martin Rudalics <rudalics@gmx.at>
3197
3198 * window.c (Fsplit_window): Rename arg horflag to horizontal.
3199
32002008-10-17 Kenichi Handa <handa@m17n.org>
3201
3202 * ftfont.c (ftfont_otf_features): Fix indexing
3203 gsub_gpos->FeatureList.Feature. Check the validity of indices.
3204
32052008-10-16 Magnus Henoch <mange@freemail.hu>
3206
3207 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
3208 (Fdbus_call_method_asynchronously): Ditto.
3209 This change makes C-h f display the argument list.
3210
32112008-10-16 Chong Yidong <cyd@stupidchicken.com>
3212
3213 * fileio.c (Fexpand_file_name): Doc fix.
3214
3215 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
3216 of :foreground and :background equivalent to unspecified (20.x
3217 compatibility).
3218
32192008-10-15 Eli Zaretskii <eliz@gnu.org>
3220
3221 * buffer.c (syms_of_buffer): Doc fix.
3222
32232008-10-14 Kenichi Handa <handa@m17n.org>
3224
3225 * font.c (font_clear_prop): When clearing font width, clear the
3226 average width field too.
3227
32282008-10-12 Andreas Schwab <schwab@suse.de>
3229
3230 * ftfont.c (ftfont_shape_by_flt): Make static.
3231 * ftfont.h (ftfont_shape_by_flt): Don't declare.
3232
3233 * font.c: Don't include <m17n-flt.h>.
3234
32352008-10-10 Eli Zaretskii <eliz@gnu.org>
3236
3237 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
3238
32392008-10-09 Eli Zaretskii <eliz@gnu.org>
3240
3241 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
3242 away code.
3243
32442008-10-09 Chong Yidong <cyd@stupidchicken.com>
3245
3246 * dispnew.c (update_text_area): Avoid looping due to large glyph
3247 overhangs (bug#1070).
3248
32492008-10-09 Kenichi Handa <handa@m17n.org>
3250
3251 * fontset.c (face_for_char): If face->fontset is negative, just
3252 return ascii_face.
3253
f5385255
SM
3254 * font.c (font_delete_unmatched): Fix previous change.
3255 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
3256
32572008-10-09 Martin Rudalics <rudalics@gmx.at>
3258
3259 * frame.c (Fraise_frame): On text-only terminals select frame in
3260 order to make it visible. (Bug#1061)
3261
32622008-10-08 Chong Yidong <cyd@stupidchicken.com>
3263
3264 * fontset.c (fontset_find_font): Check frame validity.
3265
32662008-10-07 Chong Yidong <cyd@stupidchicken.com>
3267
a9b555d3 3268 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
3269 (xg_display_close): Allow Emacs to close all displays (bug#985).
3270
32712008-10-06 Andreas Schwab <schwab@suse.de>
3272
f5385255 3273 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
3274
32752008-10-06 Chong Yidong <cyd@stupidchicken.com>
3276
f5385255 3277 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 3278
a9b555d3 3279 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
3280
3281 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
3282 during initialization.
3283
32842008-10-04 Eli Zaretskii <eliz@gnu.org>
3285
3286 * xdisp.c (redisplay_internal): If frame switched, redisplay the
3287 whole thing on MSDOS frames as well as on a TTY.
3288
3289 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
3290 well as for TTY.
3291 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
3292 well as on a TTY.
3293
3294 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
3295 as well as for TTY.
3296
3297 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
3298
3299 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
3300 MSDOS frames as well.
3301
33022008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3303
3304 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
3305 correct arguments.
b71ac3dd 3306 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
3307
33082008-10-03 Glenn Morris <rgm@gnu.org>
3309
3310 * emacs.c (USAGE1): Add --daemon.
3311
33122008-10-02 Eli Zaretskii <eliz@gnu.org>
3313
3314 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
3315 100, so it's in percents as advertised.
3316
33172008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3318
3319 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
3320 (ns_output.current_cursor, ns_output.desired_cursor)
3321 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
3322 (FRAME_NEW_CURSOR_COLOR): Remove.
3323
3324 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 3325 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
3326 enumeration (HOLLOW_BOX_CURSOR, etc.).
3327
3328 * nsterm.m (ns_frame_rehighlight): Remove commented code.
3329 (draw_window_cursor): Simplify code.
f5385255
SM
3330 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
3331 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 3332 updates manually.
a9b555d3
JB
3333 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
3334 Use core Emacs cursor types.
aac0c6e3 3335
b8ff72fa 3336 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
3337
33382008-10-02 Martin Rudalics <rudalics@gmx.at>
3339
3340 * process.c (Faccept_process_output): Fix doc-string.
3341
33422008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
3343
3344 * gmalloc.c (__sbrk): Also define for uClibc.
3345
3346 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
3347 for uClibc.
3348
33492008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3350
3351 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
3352 styles.
3353 (nsfont_open): Reenable the cache.
3354
33552008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3356
3357 * font.c (font_matching_entity): Reflect ATTRS in font selection.
3358 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
3359
33602008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
3361
3362 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
3363 a suspended terminal.
3364
33652008-09-30 Michael Albinus <michael.albinus@gmx.de>
3366
3367 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
3368
33692008-09-30 Eli Zaretskii <eliz@gnu.org>
3370
3371 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
3372
33732008-09-30 Chong Yidong <cyd@stupidchicken.com>
3374
3375 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
3376 in a continued line coincides with a line beginning.
3377
33782008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
3379
3380 * nsfont.m (nsfont_trait_distance): Fix bug.
3381 (nsfont_list): Return a list rather than a vector (syncs with Handa
3382 changes of 2008-05-14).
3383 (nsfont_open): Improve logging.
3384
33852008-09-29 Andreas Schwab <schwab@suse.de>
3386
3387 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
3388
33892008-09-28 Martin Rudalics <rudalics@gmx.at>
3390
3391 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
3392 name as char-resolve-modifiers.
3393 Reported by: Markus Triska <markus.triska@gmx.at>
3394
33952008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
3396
3397 * dispnew.c (init_display): Return earlier when running as a daemon.
3398
33992008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3400
3401 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
3402
34032008-09-27 Eli Zaretskii <eliz@gnu.org>
3404
3405 * composite.c (Fcomposition_get_gstring)
3406 (Fcompose_region_internal, Fcompose_string_internal)
3407 (Ffind_composition_internal): Doc fix.
3408 (syms_of_composite) <compose-chars-after-function>: Doc fix.
3409 (syms_of_composite) <auto-composition-function>: Doc fix.
3410 (syms_of_composite) <composition-function-table>: Doc fix.
3411
34122008-09-25 Chong Yidong <cyd@stupidchicken.com>
3413
3414 * search.c (wordify): New argument for lax word-ends.
3415 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
3416
34172008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
3418
3419 * lisp.h (is_daemon): Declare.
3420 * dispnew.c (init_display): Do not try to initialize the terminal
3421 when running as a daemon.
3422
34232008-09-22 Chong Yidong <cyd@stupidchicken.com>
3424
3425 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
3426 x_display_pixel_height.
3427
34282008-09-22 Martin Rudalics <rudalics@gmx.at>
3429
3430 * undo.c (record_point): Don't call Fundo_boundary for first
3431 change. (Bug#731)
3432
34332008-09-22 Juanma Barranquero <lekktu@gmail.com>
3434
3435 * emacs.c (Fdaemonp): Doc fix.
3436
34372008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
3438
3439 * emacs.c (main): Place #ifdef in the proper place.
3440
34412008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
3442
3443 * emacs.c (standard_args): Add --daemon.
3444 (main): Disconnect from the terminal when --daemon is passed.
3445 (is_daemon): New variable.
3446 (Fdaemonp): New function.
3447 (syms_of_emacs): Defsubr it.
3448
34492008-09-20 Chong Yidong <cyd@stupidchicken.com>
3450
3451 * xdisp.c (get_next_display_element): Handle string display
3452 correctly when checking for the end of a box run.
3453
34542008-09-20 Glenn Morris <rgm@gnu.org>
3455
3456 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
3457 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
3458 (Frename_file): Avoid copying to trash if a rename involves
3459 a delete. (Bug#964).
3460
34612008-09-20 Eli Zaretskii <eliz@gnu.org>
3462
3463 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
3464 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
3465 frames as well as termcap frames.
3466 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
3467 get_named_tty.
3468
34692008-09-19 Eli Zaretskii <eliz@gnu.org>
3470
3471 * process.c (procfs_system_process_attributes): Fix cmdline in
3472 case /proc/PID/cmdline is empty.
3473
3474 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
3475 x_display_pixel_height.
3476
34772008-09-19 Juanma Barranquero <lekktu@gmail.com>
3478
3479 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
3480
3481 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
3482 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
3483
34842008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
3485
3486 * dispextern.h (struct it): Move line_wrap away from the middle of
3487 bitfields. Move voffset in struct iterator_stack_entry after the
3488 bitfields. Move tab_width near after another short.
3489
34902008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
3491
3492 * frame.h (struct frame): Move alpha from the middle of bitfields.
3493
3494 * window.h (struct window): Move frozen_window_start_p after the
3495 rest of the bitfields to reduce padding.
3496
34972008-09-18 Chong Yidong <cyd@stupidchicken.com>
3498
3499 * xterm.h (x_display_info): Remove `height' and `width' members.
3500
3501 * nsterm.h (ns_display_info): Remove `height' and `width' members.
3502
3503 * w32term.h (w32_display_info): Remove `height', `width',
3504 `height_in', and `width_in' members.
3505
b8ff72fa
SM
3506 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3507 New functions.
aac0c6e3
MR
3508 (x_calc_absolute_position): Use them.
3509 (x_term_init): Omit removed `height' and `width' members.
3510
b8ff72fa
SM
3511 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3512 New functions.
aac0c6e3
MR
3513 (w32_read_socket, x_calc_absolute_position): Use them.
3514 (w32_initialize_display_info, w32_term_init): Omit removed members
3515 of w32_display_info.
3516
b8ff72fa
SM
3517 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
3518 New functions.
3519 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 3520
b8ff72fa
SM
3521 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3522 New functions.
aac0c6e3
MR
3523 (x_calc_absolute_position): Use them.
3524 (x_term_init): Omit removed `height' and `width' members.
3525
3526 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
3527 (compute_tip_xy):
3528 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
3529 * xmenu.c (menu_position_func): Use x_display_pixel_height and
3530 x_display_pixel_width.
3531
35322008-09-18 Kenichi Handa <handa@m17n.org>
3533
3534 * composite.c (fill_gstring_header): Don't check FROM and TO here.
3535 (composition_compute_stop_pos): Fix handling of static composition.
3536 (Fcomposition_get_gstring): Check FROM and TO at first.
3537
35382008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
3539
46e722a9 3540 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
3541 mixup (YAILOM).
3542
35432008-09-17 Chong Yidong <cyd@stupidchicken.com>
3544
3545 * indent.c (Fvertical_motion): Use position reported by iterator
3546 instead of PT for determining screen motion (bug#943).
3547
35482008-09-17 Romain Francoise <romain@orebokech.com>
3549
3550 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
3551
35522008-09-17 Kenichi Handa <handa@m17n.org>
3553
3554 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
3555
3556 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
3557 if necessary.
3558
35592008-09-16 Kenichi Handa <handa@m17n.org>
3560
3561 * coding.c (make_conversion_work_buffer): Avoid calling
3562 Fget_buffer_create if it is not necessary.
3563
35642008-09-15 Martin Rudalics <rudalics@gmx.at>
3565
3566 * window.c (Fselect_window): Don't update window_select_count and
3567 use_time when norecord is not nil.
3568
35692008-09-14 Kenichi Handa <handa@m17n.org>
3570
3571 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
3572 specpdl_ptr.
3573
35742008-09-12 Kenichi Handa <handa@m17n.org>
3575
3576 * indent.c (scan_for_column): Don't handle automatic composition
3577 if the current buffer is not associated with a window.
3578
3579 * composite.c (composition_reseat_it): If the current buffer is
3580 not associated with a window, ignore the automatic composition.
3581 (find_automatic_composition): Likewise.
3582
35832008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3584
3585 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
3586 (Fgpm_mouse_stop): Use it.
3587 * termhooks.h (close_gpm): Declare.
3588 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
3589 connection if Gpm_GetEvent fails.
3590
3591 * window.c (set_window_buffer): Always preserve current-buffer.
3592
35932008-09-12 Glenn Morris <rgm@gnu.org>
3594
3595 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
3596
35972008-09-11 Glenn Morris <rgm@gnu.org>
3598
3599 * charset.c (charset-map-path): Doc fix.
3600
36012008-09-10 Kenichi Handa <handa@m17n.org>
3602
3603 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
3604
3605 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
3606 compose a grapheme cluster with the preceding base glyph.
3607
3608 * composite.c (composition_compute_stop_pos): Fix previous change.
3609 Reset cmp_it->id to -1 at first.
3610
36112008-09-10 Glenn Morris <rgm@gnu.org>
3612
3613 * Makefile.in (character.o, chartab.o): Fix config.h typo.
3614
36152008-09-09 Chong Yidong <cyd@stupidchicken.com>
3616
3617 * keyboard.c (read_key_sequence): Reapply translation maps when
3618 switching keyboards.
3619
36202008-09-09 Kenichi Handa <handa@m17n.org>
3621
3622 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
3623 characters.
3624
3625 * composite.c (FORWARD_CHAR): Fix calculation
3626 of (POSITION).pos_byte.
3627 (composition_compute_stop_pos): Limit the search of composition to
3628 at most 500 characters ahead. If we reach the limit or find a
3629 newline, set cmp_it->ch to -2 and return 0.
3630 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
3631
36322008-09-08 Kenichi Handa <handa@m17n.org>
3633
3634 * indent.c (Fvertical_motion): Be sure to set
3635 it_overshoot_expected if it.cmp_it.id is non-negative.
3636
36372008-09-07 Andreas Schwab <schwab@suse.de>
3638
3639 * callproc.c (Fcall_process): Don't hold references to string data
3640 across garbage collection. Move initialisation of new_argv down
3641 to avoid compiler bug.
3642
36432008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3644
3645 * process.c (Fsystem_process_attributes): Doc fix.
3646
36472008-09-07 Chong Yidong <cyd@stupidchicken.com>
3648
3649 * callproc.c (Fcall_process): Canonicalize current directory name.
3650
3651 * xdisp.c (move_it_to): When moving by vpos, ensure that the
3652 iterator advances to the next line if the current line ends in a
3653 continued tab.
3654
36552008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
3656
3657 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
3658 member to point to cmp_from.
3659
3660 * xdisp.c: Doc fix for references to gidx data member.
3661
36622008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3663
3664 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
3665
36662008-09-07 Kenichi Handa <handa@m17n.org>
3667
3668 * composite.c (FORWARD_CHAR): Check STOP after
3669 incrementing (POSITION).pos.
3670
36712008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3672
3673 * process.c (Fsystem_process_attributes): Doc fix.
3674
36752008-09-06 Chong Yidong <cyd@stupidchicken.com>
3676
3677 * keyboard.c (Ftop_level): Doc fix.
3678
36792008-09-06 Eli Zaretskii <eliz@gnu.org>
3680
3681 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
3682 minibuffer, don't let lower part of menu invade the echo area.
3683
3684 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
3685 "char *q" to access menu text and advance through it. Revert the
3686 change that displayed ">" instead of ASCII character 0x10.
3687
36882008-09-05 Eli Zaretskii <eliz@gnu.org>
3689
3690 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
3691 toggle boxes and radio buttons on MS-DOS as well.
3692
36932008-09-05 Kenichi Handa <handa@m17n.org>
3694
3695 * composite.c (autocmp_chars): Check lookback count.
3696 (composition_compute_stop_pos): Set cmp_it->lookback.
3697 (composition_reseat_it): Check lookback count.
3698 (struct position_record): New struct.
3699 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
3700 (find_automatic_composition): New function.
3701 (composition_adjust_point): Use find_automatic_composition.
3702
3703 * dispextern.h (struct composition_it): New member lookback.
3704
37052008-09-02 Chong Yidong <cyd@stupidchicken.com>
3706
3707 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
3708 if moving by a single line.
3709
37102008-09-02 Andreas Schwab <schwab@suse.de>
3711
3712 * xterm.c (x_delete_display): Fix merge error.
3713
3714 * fileio.c (Fexpand_file_name): Remove unused variables.
3715
37162008-09-02 Eli Zaretskii <eliz@gnu.org>
3717
3718 * fileio.c (Fexpand_file_name): Copy argument `name' into local
3719 storage on all platforms, not just on DOS_NT.
3720
37212008-09-02 Jason Rumney <jasonr@gnu.org>
3722
b8ff72fa
SM
3723 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
3724 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
3725
37262008-09-01 Chong Yidong <cyd@stupidchicken.com>
3727
3728 * xfaces.c (Finternal_set_alternative_font_family_alist)
3729 (Finternal_set_alternative_font_registry_alist): Properly copy
3730 entire alist structure.
3731
37322008-09-01 Kenichi Handa <handa@m17n.org>
3733
d66c0241 3734 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 3735 representative chars of the script is a vector.
d66c0241
JB
3736 (ftfont_list): Handle the case where the representative chars of
3737 the script is a vector.
aac0c6e3
MR
3738
3739 * character.c (syms_of_character): Docstring of
3740 script-representative-chars fixed.
3741
37422008-08-31 Eli Zaretskii <eliz@gnu.org>
3743
3744 * msdos.c (BUILD_CHAR_GLYPH): New macro.
3745 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
3746 the menu. Allocate larger buffer for `text', to account for
3747 possible ^C characters.
3748
37492008-08-31 Martin Rudalics <rudalics@gmx.at>
3750
3751 * xdisp.c (prepare_menu_bars): Don't call
3752 Vwindow_size_change_functions with arg Qt.
3753
37542008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
3755
3756 * font.h (font_range):
3757 * fileio.c (report_file_error):
46e722a9
SM
3758 * composite.c (composition_update_it): Yet another int/Lisp_Object
3759 mixup (YAILOM).
aac0c6e3
MR
3760
37612008-08-30 Glenn Morris <rgm@gnu.org>
3762
3763 * data.c (Fmake_variable_frame_local): Doc fix.
3764
3765 * frame.c (Fmodify_frame_parameters): Doc fix.
3766
37672008-08-30 Eli Zaretskii <eliz@gnu.org>
3768
3769 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
3770 needed by GetTokenInformation.
3771 (w32_system_process_attributes): Check return values of all system
3772 APIs.
3773
3774 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
3775 only when the state changes.
3776 (IT_update_begin, IT_update_end): Add termscript trace.
3777
3778 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
3779 clipboard is unavailable. Set dst to NULL if it doesn't point to
3780 malloc'ed data.
3781 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
3782 passing random values to xfree.
3783
3784 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 3785 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
3786
37872008-08-29 Jason Rumney <jasonr@gnu.org>
3788
3789 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
3790
37912008-08-29 Eli Zaretskii <eliz@gnu.org>
3792
3793 * composite.c (fill_gstring_body): Avoid compiler warnings.
3794
3795 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
3796 LGLYPH_SET_CODE to avoid compiler warnings.
3797
2ae37cf0 3798 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
3799
3800 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
3801
3802 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
3803 LGLYPH_SET_CODE.
3804
38052008-08-29 Kenichi Handa <handa@m17n.org>
3806
3807 * fileio.c (report_file_error): Don't downcase the first character
3808 of errstring if it is still unibyte.
3809
38102008-08-29 Kenichi Handa <handa@m17n.org>
3811
3812 These changes are to re-implement the automatic composition so
3813 that it doesn't use text properties.
3814
3815 * Makefile.in (ftfont.o): Depend on composite.h.
3816 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
3817
3818 * character.h (Vunicode_category_table): Extern it.
3819
3820 * character.c (Vunicode_category_table): New variable.
3821 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
3822
3823 * chartab.c (optimize_sub_char_table): Perform more greedy
3824 optimization.
3825
b8ff72fa
SM
3826 * composite.h (enum composition_method):
3827 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
3828 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
3829 (Vcomposition_function_table): Extern it.
3830 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
3831 (composition_gstring_put_cache, composition_gstring_from_id)
3832 (composition_gstring_p, composition_gstring_width)
3833 (composition_compute_stop_pos, composition_reseat_it)
3834 (composition_update_it, composition_adjust_point): Extern them.
3835 (Fcomposition_get_gstring): EXFUN it.
3836
d66c0241 3837 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
3838 (Vcomposition_function_table)
3839 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
3840 (gstring_hash_table, gstring_work, gstring_work_headers):
3841 New variables.
aac0c6e3
MR
3842 (gstring_lookup_cache, composition_gstring_put_cache)
3843 (composition_gstring_from_id, composition_gstring_p)
3844 (composition_gstring_width, fill_gstring_header)
3845 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
3846 (composition_reseat_it, composition_update_it)
b8ff72fa 3847 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
3848 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
3849 and gstring_work_headers. DEFVAR_LISP composition-function-table.
3850 Defsubr compostion_get_gstring.
3851
3852 * dispextern.h (struct glyph): New union u.cmp. Delete the member
3853 cmp_id.
3854 (struct glyph_string): Delete the member gidx. New members
3855 cmp_id, cmp_from, and cmp_to.
3856 (enum it_method): Delete GET_FROM_COMPOSITION.
3857 (struct composition_it): New struct.
3858 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
3859 Delete c, len, cmp_id, cmp_len in u.comp.
3860
3861 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 3862 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 3863 (enum lglyph_indices): Likewise.
b8ff72fa 3864 (font_range): Adjust extern.
aac0c6e3
MR
3865 (font_fill_lglyph_metrics): Extern it.
3866
3867 * font.c (QCf): New variable.
3868 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3869 (font_prepare_composition): Delete this function.
3870 (font_range): Type and arguments changed.
3871 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
3872 (font_fill_lglyph_metrics): New function.
b8ff72fa 3873 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 3874 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
3875 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
3876 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
3877
3878 * fontset.h (font_for_char): Extern it.
3879
3880 * fontset.c (font_for_char): New function.
3881
3882 * ftfont.c: Include composite.h.
3883 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 3884 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
3885
3886 * indent.c: Include composite.h and dispextern.h.
3887 (check_composition): Delete this function.
3888 (scan_for_column): Handle composition by
3889 composition_compute_stop_pos, composition_reseat_it, and
3890 composition_update_it.
3891 (compute_motion): Likewise.
3892 (Fvertical_motion): Fix checking of composition.
3893
3894 * keyboard.c (adjust_point_for_property): Check composition by
3895 composition_adjust_point.
3896
b8ff72fa 3897 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
3898 struct glyph_string.
3899
b8ff72fa
SM
3900 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3901 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
3902 struct glyph.
3903 (produce_composite_glyph): Likewise.
3904
b8ff72fa
SM
3905 * w32term.c (x_draw_composite_glyph_string_foreground):
3906 Adjust for the change of struct glyph_string.
aac0c6e3
MR
3907 (x_draw_glyph_string): Likewise.
3908
3909 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3910 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3911
3912 * xdisp.c: Include font.h.
3913 (it_props): Delete the entry for Qauto_composed.
3914 (init_iterator): Initialize it->cmp_it.id to -1.
3915 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 3916 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
3917 (handle_auto_composed_prop): Delete it.
3918 (handle_composition_prop): Handle only static composition.
3919 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3920 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 3921 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
3922 (pop_it): Likewise.
3923 (get_next_element): Delete next_element_from_composition.
3924 (CHAR_COMPOSED_P): New macro.
3925 (get_next_display_element): For automatic composition, get a face
3926 from the font in the glyph-string.
3927 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 3928 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
3929 (next_element_from_string): Check if the character at the current
3930 position is composed by CHAR_COMPOSED_P.
3931 (next_element_from_buffer): Likewise.
d66c0241
JB
3932 (next_element_from_composition): Adjust for the change of struct it.
3933 Update it->cmp_it.
b8ff72fa
SM
3934 (dump_glyph): Adjust for the change of struct glyph.
3935 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
3936 it and struct glyph. Don't handle automatic composition here.
3937 (fill_gstring_glyph_string): New function.
3938 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 3939 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
3940 (BUILD_GSTRING_GLYPH_STRING): New macro.
3941 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3942 automatic composition.
b8ff72fa 3943 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 3944 struct glyph.
b8ff72fa 3945 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 3946
b8ff72fa 3947 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
3948 the change of struct glyph_string.
3949 (x_draw_glyph_string): Likewise.
3950
39512008-08-29 Glenn Morris <rgm@gnu.org>
3952
3953 * buffer.c (word-wrap): Doc fix.
3954 * xdisp.c (truncate-partial-width-windows): Doc fix.
3955 Increase default to 50.
3956
39572008-08-29 Chong Yidong <cyd@stupidchicken.com>
3958
3959 * xdisp.c (update_tool_bar_unwind): New function.
3960 (update_tool_bar): Temporarily set selected frame before building
3961 tool-bar items.
3962
39632008-08-28 Michael Albinus <michael.albinus@gmx.de>
3964
3965 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3966 snprintf, respectively.
3967 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3968
39692008-08-28 Chong Yidong <cyd@stupidchicken.com>
3970
3971 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3972 LDFLAGS to GNUstep CC invocation.
3973
39742008-08-27 Chong Yidong <cyd@stupidchicken.com>
3975
3976 * indent.c (Fvertical_motion): Revert last change. Handle the
3977 general case where we are moving forward, and PT spans multiple
3978 screen lines.
3979
3980 * eval.c (find_handler_clause): Temporarily increase
3981 max-lisp-eval-depth while printing the backtrace buffer, to
3982 guarantee that help-mode code can run.
3983
39842008-08-27 Eli Zaretskii <eliz@gnu.org>
3985
3986 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3987 colors under -rv.
3988 (IT_set_frame_parameters): Don't swap foreground and background
3989 colors if `(reverse . t)' is present in the frame properties.
3990 (internal_terminal_init): Call init_frame_faces only for the
3991 initial frame.
3992
39932008-08-27 Andreas Schwab <schwab@suse.de>
3994
3995 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3996
39972008-08-27 Andreas Schwab <schwab@suse.de>
3998
3999 * search.c (search_buffer): Set char_base to zero only at the end.
4000
40012008-08-27 Kenichi Handa <handa@m17n.org>
4002
b8ff72fa 4003 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
4004
40052008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
4006
4007 * xterm.c (x_term_init): Temporarily hide the partially
4008 initialized terminal while calling vendor-specific-keysyms.
4009
40102008-08-26 Eli Zaretskii <eliz@gnu.org>
4011
4012 * msdos.c (internal_terminal_init): Most initializations done only
4013 once, especially initial_screen_colors[] and termscript open.
4014
40152008-08-26 Chong Yidong <cyd@stupidchicken.com>
4016
4017 * eval.c (Fcondition_case): Doc fix.
4018
4019 * widgetprv.h (EmacsFramePart): Change font member to the new font
4020 struct.
4021
4022 * widget.c: Include character.h and font.h for XSETFONT.
4023 (setup_frame_gcs): Compute X font id from font struct, just once.
4024
40252008-08-26 Eli Zaretskii <eliz@gnu.org>
4026
4027 * term.c (get_named_tty): Fix last change.
4028
40292008-08-26 Chong Yidong <cyd@stupidchicken.com>
4030
4031 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 4032 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
4033
40342008-08-25 Eli Zaretskii <eliz@gnu.org>
4035
4036 * frame.c (do_switch_frame): Mark previously displayed frame as
4037 obscured for FRAME_MSDOS_P frames as well.
4038
40392008-08-24 Eli Zaretskii <eliz@gnu.org>
4040
4041 * frame.c (make_terminal_frame): Initialize f->terminal,
4042 f->terminal->reference_count, and scroll bars on MS-DOS as well.
4043 Set the top frame to newly created frame.
4044 (Fmake_terminal_frame): Reuse the_only_display_info.
4045
4046 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
4047 estimating available memory.
4048
b97439ce 40492008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
4050
4051 * nsterm.m (ns_draw_window_cursor): Don't call
4052 NSDisableScreenUpdates and NSEnableScreenUpdates on
4053 non-NS_IMPL_COCOA systems.
4054
40552008-08-23 Andreas Schwab <schwab@suse.de>
4056
4057 * process.c (procfs_system_process_attributes): Fix use of
4058 uninitialized variables.
4059
40602008-08-23 Eli Zaretskii <eliz@gnu.org>
4061
4062 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
4063
4064 * dispnew.c (init_display): Remove MS-DOS specific conditions for
4065 calling tty-set-up-initial-frame-faces.
4066
b8ff72fa
SM
4067 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
4068 Allow MSDOS frames along with X frames.
aac0c6e3
MR
4069
4070 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
4071 addition to output_termcap.
4072
4073 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
4074
4075 * termchar.h (FRAME_TTY): Support output_msdos_raw.
4076 (struct tty_display_info) [MSDOS]: Add fields related to mouse
4077 highlight.
4078
4079 * process.c [!subprocesses]: Define QCname.
4080 (syms_of_process): Intern and staticpro it.
4081
4082 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
4083 Adjust for changes in encoding/decoding routines.
4084 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
4085 encode_coding and decode_coding.
4086
b8ff72fa 4087 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
4088
4089 * dosfns.c: Include frame.h before termhooks.h.
4090 (dos_cleanup): Use CURTTY ()->termscript instead of a global
4091 variable termscript.
4092
4093 * s/msdos.h (USER_FULL_NAME): Define.
4094 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
4095
4096 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
4097 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
4098 pw->pw_gecos.
4099
4100 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
4101 SELECTED_FRAME as additional (1st) argument.
4102 (tty_read_avail_input): Handle output_msdos_raw in
4103 addition to output_termcap.
4104
4105 * msdos.c: Include frame.h before termhooks.h.
4106 (mouse_on, mouse_off, mouse_moveto, mouse_init)
4107 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
4108 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
4109 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
4110 (IT_set_terminal_modes, IT_reset_terminal_modes)
4111 (IT_set_frame_parameters): Use tty->termscript instead of a global
4112 variable termscript.
4113 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
4114 global variable terminal_coding. Don't refer to
4115 Vnonascii_translation_table.
4116 (internal_terminal_init): Set Vwindow_system in current_kboard.
4117 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
4118 Announce date and time of session start, if termscript is open.
4119 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
4120 term.c:init_tty). Open termscript only of not already open.
4121 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
4122 here instead of dos_ttraw. Don't initialize display if this is an
4123 initial tty. Don't set FRAME_FONT.
4124 (Vwindow_system_version): Bump to 23.
4125 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
4126 is available, set up mouse_position_hook.
4127 (dos_ttraw, IT_set_terminal_modes): If called with initial
4128 terminal, do nothing.
4129 (IT_set_frame_parameters): Handle the Qtty_type frame
4130 parameter by calling internal_terminal_init.
4131 (dos_set_window_size, show_mouse_face)
4132 (clear_mouse_face, IT_note_mode_line_highlight)
4133 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
4134 (dos_rawgetc): Use tty_display_info instead of x_display_info.
4135 (initialize_msdos_display): New function.
4136 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
4137 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
4138 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
4139 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 4140 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
4141 (request_sigio, unrequest_sigio): Don't define, now defined on
4142 sysdep.c.
4143 (IT_write_glyphs): Rewrite to use encode_terminal_code.
4144
4145 * term.c [MSDOS]: Include msdos.h.
4146 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
4147 conditional to DOS_NT. Allow only one call to this function in a
4148 session. Don't allocate a new struct tty_display_info; instead,
4149 reuse the_only_display_info. Call get_tty_size to get screen
4150 dimensions. Call init_baud_rate to set bad_rate.
4151 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
4152 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 4153 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
4154 (get_tty_terminal, get_named_tty, Ftty_type)
4155 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
4156 output_termcap.
b8ff72fa
SM
4157 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
4158 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 4159 only when subprocesses are supported.
aac0c6e3
MR
4160
4161 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
4162 f->output_data.x.
4163 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
4164 terminal devices.
4165
5582fbc7 4166 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
4167 x_output.
4168 (FRAME_FONT): Use output_data.tty.
4169 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
4170 (struct x_display_info): Rename from display_info. Update all users in
4171 msdos.c.
aac0c6e3 4172 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 4173 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
4174 (dos_ttraw): Update prototype.
4175
4176 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
4177 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
4178
41792008-08-23 Jason Rumney <jasonr@gnu.org>
4180
4181 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
4182 (fn_TIFFSetDirectory): New library function used.
4183 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
4184 (tiff_load): Use :index to select among multiple images. Set count
4185 property when multiple images exist.
4186 (gif_format): Use :index, not :image.
4187
41882008-08-23 Chong Yidong <cyd@stupidchicken.com>
4189
4190 * xdisp.c (try_scrolling): Check INT_MAX instead of
4191 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
4192 to obtain INT_MAX.
4193
41942008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
4195
4196 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
4197
41982008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
4199
4200 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
4201 GNUstep library location.
4202
42032008-08-21 Chong Yidong <cyd@stupidchicken.com>
4204
4205 * xfaces.c (x_update_menu_appearance): Check validity of menu font
4206 before using it.
4207
4208 * puresize.h (BASE_PURESIZE): Increase to 1250000.
4209
42102008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4211
4212 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
4213 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
4214 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
4215 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
4216 (EmacsApp-cursor_blink_handler): Remove declaration.
4217 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
4218 match 01 Feb 2008 changes in xterm.c.
4219 (ns_read_socket): Add cast to avoid warning.
4220 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
4221 GNUstep.
4222
42232008-08-20 Chong Yidong <cyd@stupidchicken.com>
4224
4225 * xselect.c (x_get_foreign_selection): Return nil if desired
4226 selection could not be obtained, instead of signalling an error.
4227
42282008-08-20 David Reitter <david.reitter@gmail.com>
4229
4230 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
4231 * nsterm.m: Remove ns-specific code for cursor blinking.
4232 (ns_draw_window_cursor): Clear cursor properly rather than
4233 redrawing the area. Respect width of bar cursors.
4234 These changes enable the use of generic blink-cursor-mode and
4235 generic cursor types in NS and support smooth cursor movements (do
4236 not blink off after command).
4237 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
4238 Nextstep, too.
4239
42402008-08-19 Kenichi Handa <handa@m17n.org>
4241
4242 * font.c (Vfont_log_deferred): New variable.
4243 (font_add_log): Check Vfont_log_deferred.
4244 (font_deferred_log): New function.
4245
4246 * font.h (font_deferred_log): Extern it.
4247
4248 * fontset.c (reorder_font_vector): Use encoding charset of fonts
4249 for sorting.
4250 (face_for_char): Use deferred log.
4251
42522008-08-18 Kenichi Handa <handa@m17n.org>
4253
4254 * fontset.c (face_for_char): Add font log.
4255
4256 * font.c (font_add_log): Add the font properties :script, :lang,
4257 and :otf in the log.
4258
42592008-08-17 Chong Yidong <cyd@stupidchicken.com>
4260
4261 * xdisp.c: Remove dead code.
4262 (handle_invisible_prop, next_overlay_string): Defer call to
4263 setup_for_ellipsis.
4264 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
4265
42662008-08-15 Chong Yidong <cyd@stupidchicken.com>
4267
4268 * xfaces.c (lookup_derived_face): Properly handle possible zero
4269 return value of get_lface_attributes.
4270 (merge_faces): Don't tell lookup_derived_face to signal an error
4271 if face is not found.
4272
4273 * dired.c (Fdirectory_files): Doc fix.
4274
4275 * process.c (make_process): Initialize kill_without_query struct
4276 member.
4277
42782008-08-15 Eli Zaretskii <eliz@gnu.org>
4279
4280 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
4281 Alternative calculation of totphys for Visual Studio 6.
4282
4283 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
4284
4285 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
4286 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
4287 All users changed.
4288 (stat): Only root directory passed to GetDriveType. Allow RAM
4289 disk as well as local fixed disk when w32-get-true-file-attributes
4290 is set to `local'.
4291 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
4292 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
4293 (w32_cached_id, w32_add_to_cache): New functions.
4294 (get_name_and_id): Look account names in the cache before calling
4295 lookup_account_sid.
4296 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
4297 New initialization flags.
4298 (globals_of_w32): Initialize them to zero.
4299 (w32_system_process_attributes): Use w32_cached_id and
4300 w32_add_to_cache.
4301
43022008-08-14 Lawrence Mitchell <wence@gmx.li>
4303
4304 * lread.c (Fread_char, Fread_char_exclusive): If no character
4305 event is read before timeout is reached, return nil, rather than
4306 converting to a number.
4307
43082008-08-14 Chong Yidong <cyd@stupidchicken.com>
4309
4310 * fns.c (use_dialog_box): Doc fix.
4311
4312 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
4313 on OS X.
4314
43152008-08-13 Chong Yidong <cyd@stupidchicken.com>
4316
4317 * frame.c (Qns_parse_geometry): New var.
4318 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
4319
43202008-08-11 Chong Yidong <cyd@stupidchicken.com>
4321
4322 * xdisp.c (x_produce_glyphs): Handle the case when font has no
4323 space character in calculating tabs.
4324
43252008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
4326
4327 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
4328
43292008-08-10 Glenn Morris <rgm@gnu.org>
4330
4331 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
4332 silence gcc "limited range of data type" warnings in some
4333 make_fixnum_or_float calls.
4334
43352008-08-09 Eli Zaretskii <eliz@gnu.org>
4336
4337 * w32.c (w32_system_process_attributes): If the process does not
4338 exist, return nil.
4339
4340 * w32.c: Include thelp32.h, psapi.h and coding.h.
4341 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
4342 declarations.
4343 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
4344 (Process32Next_Proc): New typedefs.
4345 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
4346 (g_b_init_process32_next, g_b_init_open_thread_token)
4347 (g_b_init_impersonate_self, g_b_init_revert_to_self)
4348 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
4349 (g_b_init_get_process_working_set_size)
4350 (g_b_init_global_memory_status_ex): New static variables.
4351 (globals_of_w32): Initialize them.
4352 (create_toolhelp32_snapshot, process32_first, process32_next)
4353 (open_thread_token, impersonate_self, revert_to_self)
4354 (get_process_memory_info, get_process_working_set_size)
4355 (global_memory_status, global_memory_status_ex): New wrapper
4356 functions.
4357 (w32_list_system_processes, w32_system_process_attributes)
4358 (enable_privilege, restore_privilege, ltime, process_times):
4359 New functions.
4360 (convert_time_raw): New function.
4361 (convert_time): Remove conversion of FILETIME into time in 100
4362 nsec units, call convert_time_raw instead.
4363
4364 * process.h (w32_list_system_processes, w32_system_process_attributes):
4365 Add prototypes.
4366 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
4367 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
4368 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
4369 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
4370
4371 * process.c (Fsystem_process_attributes): Doc fix.
4372
43732008-08-08 Chong Yidong <cyd@stupidchicken.com>
4374
4375 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
4376 a continued multi-char glyph; if so, advance to the actual glyph.
4377
43782008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
4379
4380 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
4381
4382 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
4383 (.m.o): Use it.
4384 * config.in: Regenerate.
4385
43862008-08-07 Chong Yidong <cyd@stupidchicken.com>
4387
4388 * xdisp.c (redisplay_window): Revert last change.
4389 (try_window): Check bottom scroll margin too.
4390
43912008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4392
4393 * config.in: Regenerate.
4394
4395 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
4396 -list-load-path-shadows'.
4397 (nsgui.h): Reduce number of things depending on it.
4398
43992008-08-06 Chong Yidong <cyd@stupidchicken.com>
4400
4401 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
4402 instead of window-end which does the wrong thing at eob.
4403 (try_cursor_movement): Minor optimization.
4404 (redisplay_window): If scroll margin is defined, don't assume
4405 window doesn't need scrolling.
4406
44072008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4408
4409 * config.in: Regenerate.
4410
4411 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
4412 (mostlyclean): Don't delete *.d under NS.
4413
4414 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
4415
44162008-08-06 Kenichi Handa <handa@m17n.org>
4417
4418 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
4419
44202008-08-06 Andreas Schwab <schwab@suse.de>
4421
4422 * config.in: Regenerate.
4423
44242008-08-05 Chong Yidong <cyd@stupidchicken.com>
4425
4426 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
4427 forcing a window start.
4428
4429 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
4430 (auto_save_1): Update modtime when auto-save-list-file-name is on.
4431
44322008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4433
4434 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
4435 argument.
4436
44372008-08-05 Juanma Barranquero <lekktu@gmail.com>
4438
4439 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
4440 <scroll-down-aggressively, before-change-functions>:
4441 <after-change-functions>: Reflow docstrings.
4442
44432008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4444 Ken Raeburn <raeburn@gnu.org>
4445
4446 Dock menu customization, based on a patch by Ken Raeburn, plus some
4447 other fixes.
4448 * nsmenu.m (dockMenu): New variable.
4449 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
4450
4451 * nsterm.h (dockMenu): Declare.
4452
4453 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
4454 (ns_term_init): Initialize dockMenu.
4455 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
4456 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
4457 left.
4458
4459 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
4460
44612008-08-04 Chong Yidong <cyd@stupidchicken.com>
4462
4463 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
4464
4465 * config.in: Regenerate.
4466
44672008-08-04 Seiji Zenitani <zenitani@mac.com>
4468
4469 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
4470
44712008-08-04 Chong Yidong <cyd@stupidchicken.com>
4472
4473 * nsterm.h (find_and_call_menu_selection): Fix prototype.
4474
44752008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4476
4477 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
4478
4479 * keyboard.h: Comment an #endif.
4480
4481 * lisp.h (have_menus_p): Adjust comment.
4482
4483 * menu.c (find_and_return_menu_selection): Fix comparison with
4484 client_data.
4485
4486 * nsmenu.m (popup_activated_flag): New variable.
4487 (popup_activated): New function.
4488 (menu-or-popup-active-p): New exported lisp definition.
4489 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
4490 when popup done.
4491 (ns_popup_dialog): Set popup_activated_flag.
4492
4493 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
4494 version for GNUstep (handled by conditional typedef in nsterm.m).
4495 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
4496 in rgb.txt).
4497
4498 * process.c (init_process): Use DARWIN_OS, not DARWIN.
4499
4500 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
4501
4502 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
4503
4504 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
4505 shortcircuit if popup_activated like GTK and X toolkit.
4506
4507 * m/inter386.h: Change DARWIN to DARWIN_OS.
4508
4509 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
4510 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
4511 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
4512 comment on NO_SOCK_SIGIO.
4513
45142008-08-03 Chong Yidong <cyd@stupidchicken.com>
4515
4516 * nsterm.m (windowDidResize): Remove stopModal call.
4517
45182008-08-03 Andreas Schwab <schwab@suse.de>
4519
4520 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
4521 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
4522
45232008-08-02 Chong Yidong <cyd@stupidchicken.com>
4524
4525 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
4526 Don't use uninitialized pointer variable when using getrlimit.
4527
45282008-08-02 Jason Rumney <jasonr@gnu.org>
4529
4530 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4531
45322008-08-02 Eli Zaretskii <eliz@gnu.org>
4533
4534 * alloc.c (NSTATICS): Bump to 0x640.
4535
4536 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
4537
4538 * lisp.h: Add prototype for directory_files_internal.
4539
4540 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
4541 New functions.
4542 (syms_of_process): Defsubr them. Add initializations for various
4543 Q* symbols used in procfs_system_process_attributes.
4544 (procfs_list_system_processes, procfs_system_process_attributes)
4545 [HAVE_PROCFS]: New functions.
4546 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
4547 (procfs_get_total_memory): New functions.
4548
45492008-08-01 Juanma Barranquero <lekktu@gmail.com>
4550
4551 * xfaces.c (Fx_load_color_file): Fix previous change;
4552 it is #ifdef WINDOWSNT, not WINDOWS_NT.
4553
45542008-08-01 Michael Albinus <michael.albinus@gmx.de>
4555
4556 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
4557
45582008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4559
4560 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
4561
45622008-08-01 Chong Yidong <cyd@stupidchicken.com>
4563
4564 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
4565
4566 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
4567 define NSApplicationDelegateReplySuccess.
4568 (EmacsView -converstationIdentifier): Use long instead of
4569 NSInteger for GNUstep, since it doesn't have NSInteger.
4570
4571 * xmenu.c: Revert last change.
4572
4573 * keyboard.h: Fix last change.
4574
45752008-08-01 Juanma Barranquero <lekktu@gmail.com>
4576
4577 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
4578 on Windows.
4579
45802008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4581
4582 Warning clearing and clean-up in NS port.
4583 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
4584 Add prototypes.
4585 * nsgui.h (FACE_DEFAULT): Remove, unused.
4586 (XGCValues): Change colors to unsigned long.
4587 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
4588 nsterm.m.
4589 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
4590 (ns_list_fonts): Remove, unused.
4591 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
4592 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
4593 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
4594 (nsfont_draw): Compare face colors to 0, not nil.
4595 * nsmenu.m (struct widget_value): Drop unneeded declaration.
4596 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
4597 (-addSubmenuWithTitle:): Use NSMenuItem class.
4598 (ns_popup_menu): Use NO, not NULL, for enabled setting.
4599 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
4600 (ns_clip_to_row): Make gc arg a BOOL.
4601 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
4602 ns_clip_to_row() call.
4603 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
4604 used). Cast FRAME_FONT assignments.
4605 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
4606 (ns_string_to_lispmod): Change arg to const char.
4607 (ns_term_init): Use NSMenuItem class.
4608 (EmacsApp -openFile:): Move to different section of file.
4609 (EmacsApp -application:openFiles:): Don't return a value, call
4610 -replyToOpenOrPrint:.
4611 (EmacsView -keyDown:): Fix up cast.
4612 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
4613 (EmacsView -menuDown:): Cast tag in call to
4614 find_and_call_menu_selection().
4615 (ns_list_fonts): Remove, unused.
4616 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
4617 (ns_fontname_to_xlfd): Make static.
4618 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
4619 Remove prototypes (now in keyboard.h).
4620 (next_menubar_widget_id): Remove, unused.
4621 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
4622 Remove prototypes (now in keyboard.h).
4623 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
4624
46252008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
4626
4627 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
4628 (floatfns.o): Depend on syssignal.h.
4629 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
4630
4631 * systty.h: Fix previous change that removed BSD_TERMIOS.
4632 Add comments to #ifdefs.
4633
46342008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4635
4636 * w32fns.c (w32-load-color-file): Remove.
4637 (x-open-connection): Use renamed Fx_load_color_file.
4638 * xfaces.c (x-load-color-file): Add.
4639 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
4640 Emacs.clr.
4641 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
4642
46432008-07-31 Michael Albinus <michael.albinus@gmx.de>
4644
4645 * dbusbind.c (Fdbus_call_method_asynchronously)
4646 (Fdbus_method_error_internal): New defuns.
4647 (xd_read_message): Handle also reply messages.
4648 (Vdbus_registered_functions_table): Extend docstring.
4649
46502008-07-31 Juanma Barranquero <lekktu@gmail.com>
4651
4652 * keyboard.c (gobble_input): Fix previous change.
4653
46542008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4655
4656 * bitmaps/README:
4657 * xfns.c:
4658 * termcap.c:
4659 * term.c:
4660 * syswait.h:
4661 * systty.h:
4662 * systime.h:
4663 * syssignal.h:
4664 * sysdep.c:
4665 * process.h:
4666 * process.c:
4667 * print.c:
4668 * ndir.h:
4669 * lread.c:
4670 * keyboard.c:
4671 * getpagesize.h:
4672 * floatfns.c:
4673 * fileio.c:
4674 * emacs.c:
4675 * doc.c:
4676 * dispnew.c:
4677 * dired.c:
4678 * data.c:
4679 * callproc.c:
4680 * buffer.c:
4681 * README:
4682 * Makefile.in:
4683 * s/template.h:
4684 * s/msdos.h:
4685 * m/vax.h: Remove VMS support.
4686 * s/vms.h:
4687 * vlimit.h:
4688 * uaf.h:
4689 * temacs.opt:
4690 * param.h:
4691 * ioctl.h: Remove file.
4692
46932008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4694
4695 * s/ms-w32.h (MULTI_KBOARD): Remove.
4696 * xterm.c:
4697 * xselect.c:
4698 * xfns.c:
4699 * window.c:
4700 * w32term.c:
4701 * w32fns.c:
4702 * terminal.c:
4703 * termhooks.h:
4704 * term.c:
4705 * sysdep.c:
4706 * keyboard.h:
4707 * keyboard.c:
4708 * frame.h:
4709 * frame.c:
4710 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
4711 * config.in: Regenerate.
4712
47132008-07-30 Jason Rumney <jasonr@gnu.org>
4714
4715 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
4716
4717 * w32font.c (w32font_encode_char): Leave as unicode if in range.
4718 (w32font_open_internal): Get unicode version of textmetrics.
4719 Don't enable or disable glyph indices here.
4720 (w32font_open): Disable use of glyph indices.
4721
4722 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
4723
47242008-07-30 Chong Yidong <cyd@stupidchicken.com>
4725
4726 * minibuf.c (Vread_buffer_function): Doc fix.
4727
47282008-07-30 John Paul Wallington <jpw@pobox.com>
4729
4730 * minibuf.c (read_buffer_completion_ignore_case): New var.
4731 (Fread_buffer): Use it.
4732
47332008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
4734
4735 * systty.h (sensemode): Remove empty #if. Remove reference to
4736 BSD_TERMIOS, unused.
4737
4738 * sysdep.c: Remove reference to DGUX.
4739 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
4740
4741 * config.in: Regenerate.
4742
47432008-07-30 Jason Rumney <jasonr@gnu.org>
4744
4745 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
4746
47472008-07-29 Jason Rumney <jasonr@gnu.org>
4748
4749 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
4750 is populated.
4751 (uniscribe_encode_char): Always use uniscribe.
4752 Avoid using context if cache is populated.
4753
47542008-07-29 Jan Djärv <jan.h.d@swipnet.se>
4755
4756 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
4757 open menu.
4758
4759 * gtkutil.c (menu_nav_ended): Remove.
4760 (create_menus): Remove signal connect for menu_nav_ended.
4761
47622008-07-28 Chong Yidong <cyd@stupidchicken.com>
4763
4764 * xdisp.c (redisplay_window): Check return value of
4765 compute_window_start_on_continuation_line before forcing a window
4766 start.
4767
47682008-07-28 Jason Rumney <jasonr@gnu.org>
4769
4770 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
4771
4772 * w32term.c (w32_enable_unicode_output, cleartype_active):
4773 Remove obsolete display options.
4774 (x_draw_glyph_string_background): Don't use old cleartype_active
4775 workaround.
4776 (w32_initialize): Remove cleartype_active initialization.
4777 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
4778
47792008-07-28 Andreas Schwab <schwab@suse.de>
4780
4781 * lisp.h (init_weak_hash_tables, syms_of_font)
4782 (xd_read_queued_messages, syms_of_dbusbind): Declare.
4783 (remove_hash_entry): Don't declare.
4784 * eval.c (maybe_call_debugger): Make static and move before use.
4785 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
4786 * xdisp.c: Include "gtkutil.h" if USE_GTK.
4787 * xterm.h (x_set_frame_alpha): Declare.
4788
47892008-07-28 Jan Djärv <jan.h.d@swipnet.se>
4790
4791 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
4792 (create_menus): Connect selection-done to menu_nav_ended.
4793
47942008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4795
4796 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
4797 Set Vx_resource_name to a fallback. Replace read of 'buffered'
4798 parameter with read of 'alpha' one.
4799 (Qns_frame_parameter): Remove.
5582fbc7 4800 * nsselect.m (selection-coding-system)
aac0c6e3
MR
4801 (next-selection-coding-system, Vselection_coding_system)
4802 (Vnext_selection_coding_system): Drop.
4803
48042008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4805
4806 * nsfns.m (do-applescript, do_applescript): Rename to
4807 ns-do-applescript, ns_do_applescript, and move within file.
4808
48092008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
4810
4811 Remove support for Mac Carbon.
4812 * mactoolbox.c:
4813 * macterm.h:
4814 * macterm.c:
4815 * macselect.c:
4816 * macmenu.c:
4817 * macgui.h:
4818 * macfns.c:
4819 * mac.c: Remove file.
4820 * s/darwin.h:
4821 * m/intel386.h:
4822 * xfaces.c:
4823 * xdisp.c:
4824 * window.c:
4825 * tparam.c:
4826 * termhooks.h:
4827 * termcap.c:
4828 * term.c:
4829 * syssignal.h:
4830 * sysselect.h:
4831 * sysdep.c:
4832 * process.c:
4833 * lread.c:
4834 * lisp.h:
4835 * keyboard.c:
4836 * image.c:
4837 * fringe.c:
4838 * frame.h:
4839 * frame.c:
4840 * fontset.c:
4841 * font.h:
4842 * font.c:
4843 * fns.c:
4844 * fileio.c:
4845 * emacs.c:
4846 * dispnew.c:
4847 * dispextern.h:
4848 * config.in:
4849 * atimer.c:
2ae37cf0 4850 * Makefile.in: Remove code for Carbon.
aac0c6e3 4851
f0131492 48522008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
4853
4854 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
4855
48562008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4857
4858 * macterm.h (kCGBitmapByteOrder32Host): New define for
4859 non-universal SDKs.
4860
4861 * image.c (mac_create_cg_image_from_image, image_load_image_io)
4862 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4863
4864 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
4865 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4866
48672008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
4868
4869 * w32inevt.c: Include dispextern.h.
4870
48712008-07-26 Andreas Schwab <schwab@suse.de>
4872
4873 * print.c (print_object): Fix off-by-one in last change.
4874
48752008-07-25 Juanma Barranquero <lekktu@gmail.com>
4876
4877 * term.c (syms_of_term): Don't initialize default_orig_pair,
4878 default_set_foreground and default_set_background on Windows.
4879
48802008-07-25 Jason Rumney <jasonr@gnu.org>
4881
4882 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
4883 ScriptItemize. Clean up return value checking. Remove unused
4884 variables.
4885 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
4886 shaping engine.
4887
4888 * w32font.c (w32font_has_char): Handle the case where we can't
4889 determine the script for a character.
4890
48912008-07-25 Chong Yidong <cyd@stupidchicken.com>
4892
4893 * term.c (syms_of_term): Initialize default_orig_pair,
4894 default_set_foreground, and default_set_background.
4895
4896 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4897 clash (bug#86).
4898 (getloadavg): Callers changed.
4899
4900 * image.c (svg_load_image): Fix last change.
4901 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4902 image size is valid. Use g_object_unref instead of deprecated
4903 rsvg_handle_free to free rsvg handle.
4904 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4905
49062008-07-25 Jason Rumney <jasonr@gnu.org>
4907
4908 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4909 surrogates before looking up glyph index.
4910 (w32font_text_extents): Encode as surrogates if falling back to
4911 functions that need UTF-16 wide chars.
4912
4913 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4914 BMP as surrogates before looking up glyph index.
4915
49162008-07-25 Chong Yidong <cyd@stupidchicken.com>
4917
4918 * image.c (svg_load_image): Check for failure in return value of
4919 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4920
49212008-07-25 Jason Rumney <jasonr@gnu.org>
4922
4923 * w32font.c (Fx_select_font): Reverse sense of second arg.
4924
49252008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4926
4927 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4928 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4929
4930 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4931 (PURESIZE): Use it.
4932
49332008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4934
4935 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4936 * m/alpha.h (TEXT_END):
4937 * m/ibmrs6000.h (TEXT_END):
4938 * m/macppc.h (TEXT_END):
4939 * s/darwin.h (TEXT_END):
4940 * s/msdos.h (TEXT_END): Remove, unused.
4941 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4942 * s/cygwin.h: Remove comment.
4943
4944 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4945 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4946 * m/intel386.h (DOT_GLOBAL_START):
4947 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4948 (USG): Remove, file not used on USG platforms.
4949
4950 * Makefile.in (HAVE_X11): Remove empty #else.
4951
49522008-07-24 Andreas Schwab <schwab@suse.de>
4953
4954 * fileio.c (Finsert_file_contents): Properly adjust undo list
4955 after format conversion.
4956
49572008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4958
4959 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4960 (menu_nav_ended): Remove.
4961 (create_menus): Remove signal connect for menu_nav_ended.
4962 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4963 create_menus.
4964 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4965
49662008-07-23 Jason Rumney <jasonr@gnu.org>
4967
4968 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4969 with opened font.
4970 (w32font_open): Set font type to gdi.
4971
4972 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4973
49742008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4975
4976 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4977 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4978 defines it.
4979 * unexec.c (ADDR_CORRECT): Define unconditionally.
4980
4981 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4982
4983 * unexec.c: Remove code depending on !COFF and USG, the file is
4984 not used for such systems.
4985
4986 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4987 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4988 (LD_SWITCH_SYSTEM_1): Remove, update users.
4989
4990 * s/darwin.h (DATA_END):
4991 * m/intel386.h (DATA_END):
4992 * m/ibmrs6000.h (DATA_END):
4993 * m/alpha.h (DATA_END): Remove, unused.
4994
4995 * config.in: Regenerate.
4996 * s/ms-w32.h (subprocesses): Define unconditionally.
4997 * s/template.h (subprocesses): Update comment.
4998 * s/vms.h (subprocesses):
4999 * s/usg5-4.h (subprocesses):
5000 * s/hpux10-20.h (subprocesses):
5001 * s/gnu-linux.h (subprocesses):
5002 * s/cygwin.h (subprocesses):
5003 * s/bsd-common.h (subprocesses):
5004 * s/aix4-2.h (subprocesses):
5005 * s/darwin.h (subprocesses): Do not define, defined by default now.
5006
5007 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
5008 Remove all references.
5009 (temacs): Add GNUstep specific ld flags.
5010
5011 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
5012 similarly to what X does.
5013
50142008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5015
5016 * nsfns.m (x-list-fonts): Remove.
5017 (syms_of_nsfns): Drop the x-list-fonts declaration.
5018 * nsterm.m: Get rid of remaining "//" comments.
5019
50202008-07-22 Chong Yidong <cyd@stupidchicken.com>
5021
5022 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
5023
5024 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
5025 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
5026 (Fns_own_selection_internal, Fx_disown_selection_internal)
5027 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
5028
5029 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
5030 ... */' style of docstrings. Doc fixes.
5031
50322008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
5033
5034 * terminfo.c (UP, BC, PC): Undo previous change.
5035
5036 * nsfns.m: Rename ns prefixed functions/variables to the
5037 corresponding x versions. Update references.
5038
50392008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
5040
5041 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
5042
50432008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
5044
5045 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
5046 Remove forwarding functions.
5047 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
5048 non-static.
5049 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
5050 non-static.
5051 (ns_frame_parm_handlers): Use the new names.
5052 (syms_of_nsfns): Move to the end of file.
5053
5054 * nsterm.m (syms_of_nsterm): Move to the end of file.
5055
5056 * dispnew.c (init_display): Remove code for X10.
5057
50582008-07-22 Jason Rumney <jasonr@gnu.org>
5059
5060 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
5061 bare drive.
5062
50632008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5064
5065 * nsterm.m (syms_of_nsterm): Remove debugging println.
5066
50672008-07-22 David Reitter <david.reitter@gmail.com>
5068
5069 * nsfns.m (do_applescript, F_do_applescript): NS version of the
5070 Carbon implementation of the same functionality: execute arbitrary
5071 AppleScript code.
5072
50732008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
5074
5075 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
5076 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
5077 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
5078 (Fx_display_mm_height, Fx_display_mm_width)
5079 (Fx_display_backing_store, Fx_display_visual_class)
5080 (Fx_display_save_under, Fx_open_connection)
5081 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
5082 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
5083 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
5084 (Fx_display_pixel_width, Fx_display_pixel_height)
5085 (Fx_display_usable_bounds, Fx_display_planes)
5086 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
5087 ... */' style of docstrings.
5088
50892008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
5090
5091 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
5092 on this platform.
5093 (mips):
5094 * m/iris4d.h (mips): Do not define.
5095 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
5096
5097 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
5098
5099 * image.c:
5100 * nsfns.m:
5101 * nsselect.m:
5102 * nsterm.h:
5103 * nsterm.m: Rename ns prefixed functions/variables to the
5104 corresponding x versions. Update references.
5105
5106 * m/ibms390x.h (NO_REMAP): Do not undefine.
5107
5108 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
5109
51102008-07-21 Chong Yidong <cyd@stupidchicken.com>
5111
5112 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
5113 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
5114 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
5115 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
5116 (Fns_display_mm_height, Fns_display_mm_width)
5117 (Fns_display_backing_store, Fns_display_visual_class)
5118 (Fns_display_save_under, Fns_open_connection)
5119 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
5120 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
5121 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
5122 (Fns_display_pixel_width, Fns_display_pixel_height)
5123 (Fns_display_usable_bounds, Fx_display_planes)
5124 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
5125
51262008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
5127
5128 * print.c (print_object): Check print_depth before searching for
5129 circularities.
5130
51312008-07-21 Michael Albinus <michael.albinus@gmx.de>
5132
5133 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
5134 only sprintf.
5135
51362008-07-21 Kenichi Handa <handa@m17n.org>
5137
5138 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
5139
51402008-07-20 Andreas Schwab <schwab@suse.de>
5141
5142 * syntax.c (find_start_pos, find_start_value)
5143 (find_start_value_byte, find_start_begv, find_defun_start)
5144 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
5145
51462008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
5147
5148 * s/sol2-3.h: Insert contents of s/sol2.h.
5149 (LD_SWITCH_SYSTEM): Remove redundant definition.
5150 * s/sol2.h: Remove, unused.
5151
51522008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
5153
5154 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
5155
51562008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
5157
5158 * Makefile.in (ns_appdir): Fix typo in find command.
5159
51602008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
5161
5162 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
5163
5164 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
5165 added not supported anymore.
5166
5167 * s/usg5-4-2.h (LIBS_SYSTEM):
5168 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
5169
5170 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
5171 * s/lynxos.h (GETPGRP_NO_ARG):
5172 * s/hpux10-20.h (NO_SIOCTL_H):
5173 * s/gnu.h (GETPGRP_NO_ARG):
5174 * s/gnu-linux.h (NO_SIOCTL_H):
5175 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
5176 * s/cygwin.h (GETPGRP_NO_ARG):
5177 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
5178 (C_DEBUG_SWITCH): Remove duplicate definition.
5179
5180 * m/ibms390.h: Remove boilerplate comments.
5181
5182 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
5183
5184 * process.c (HAVE_SERIAL): Consolidate ifdefs.
5185 (wait_reading_process_output): Remove code for SunOS, platform not
5186 supported anymore. Use SOLARIS2 instead of sun.
5187
51882008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5189
5190 * font.c (font_open_by_name): Under NS, default lface height to zero.
5191 (font_open_for_lface): Under NS, set size based on frame fontsize.
5192 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
5193 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
5194
51952008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5196
5197 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
5198 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
5199 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
5200 YES/NO.
5201 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
5202 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
5203 * Makefile.in (clean): Clear out build destination dir.
5204
52052008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5206
5207 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
5208 xterm, xselect.
5209 * lisp.h: Remove declaration of hash_remove.
5210 * nsgui.h: Remove redefinitions of hash_remove.
5211 * fns.c (hash_remove): Rename to hash_remove_from_table.
5212
52132008-07-19 Seiji Zenitani <zenitani@mac.com>
5214
5215 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
5216 strdup() the family UTF8String before modifying it.
5217
52182008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
5219
5220 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
5221 NS_FACE_BACKGROUND with 0 instead of nil.
5222 * nsfont.m (nsfont_draw): Same.
5223
52242008-07-19 Chong Yidong <cyd@stupidchicken.com>
5225
5226 * nsfns.m (ns_set_background_color): Fix crash.
5227
52282008-07-18 Chong Yidong <cyd@stupidchicken.com>
5229
5230 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
5231
52322008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
5233
5234 * puresize.h (BASE_PURESIZE): Increase to 1240000.
5235
52362008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5237
5238 * gtkutil.c: Include <config.h> instead of "config.h".
5239
5240 * lisp.h (Foverlay_buffer): Add EXFUN.
5241
5242 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
5243 child process to complete child_setup. Undo 2005-09-21 change.
5244
5245 * s/darwin.h: Mention setsid after vfork.
5246
52472008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5248
5249 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
5250 Depend on macgui.h.
5251
5252 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
5253 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
5254
5255 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
5256 and f19.
5257 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
5258
5259 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
5260 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
5261 Remove enumerators.
5262
5263 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
5264 Check if FACE_FROM_ID returns NULL.
5265
52662008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
5267
5268 * w32inevt.c (change_frame_size): Remove extern declaration.
5269 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
5270 change_frame_size.
5271
52722008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5273
5274 * getloadavg.c: Revert last change (2008-07-15).
5275
52762008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5277
5278 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
5279 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
5280 from configure.
5281
52822008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
5283
5284 * s/sol2.h:
5285 * s/sol2-4.h: Reorganize conditionals.
5286
5287 * ecrt0.c: Remove code depending on m68000, not used anymore.
5288
5289 * fns.c (hash_remove): Make static.
5290 * lisp.h (hash_remove): Don't prototype.
5291
5292 * m/ibmrs6000.h:
5293 * m/ibms390x.h:
5294 * m/macppc.h: Remove boilerplate comments.
5295
5296 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
5297 Solaris, which does not need them.
5298
5299 * m/vax.h: Remove comments about unsupported systems.
5300
5301 * s/darwin.h: Reorganize ifdefs.
5302
53032008-07-17 Andreas Schwab <schwab@suse.de>
5304
5305 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
5306
53072008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
5308
5309 Use SDATA. Follow coding convention of placing operators at
5310 beginning of next line rather than end of previous line, and placing
5311 spaces around infix operators.
5312
5313 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
5314 in case it was defined already.
5315 USE @GNUSTEP_MAKEFILES@ rather than envvars.
5316 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
5317 ns_default.
5318 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
5319 Lisp_Objects.
5320 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
5321 (ns_defined_color, ns_color_to_lisp): Declare.
5322 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
5323 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
5324 it's accepted even with USE_LISP_UNION_TYPE.
5325 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
5326 (update_frame_tool_bar): Remove apparently obsolete tests for
5327 non-integerness of f->tool_bar_lines.
5328 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
5329 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
5330 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
5331 (nsfont_open): Don't confuse NULL for Qnil.
5332 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
5333 * menu.h (find_and_call_menu_selection):
5334 * menu.c (find_and_call_menu_selection): Use just int for vector size.
5335 (find_and_return_menu_selection): Always return something.
5336 * frame.h: Include dispextern.h for Display_Info.
5337 (display_x_get_resource): Declare.
5338
53392008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
5340
5341 * syntax.c: Remove stdio.h include accidentally introduced in
5342 Emacs.app commit.
5343 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
5344 NS_IMPL_COCOA.
5345 * keyboard.c (handle_async_input, input_available_signal): Remove
5346 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
5347
53482008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5349
5350 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
5351 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
5352 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
5353 Use SDATA.
5354
5355 * keymap.c: Remove all NS-specific code.
5356 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
5357 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
5358 where_is_preferred_modifier, return a different value depending on how
5359 preferred is the binding.
5360 (where_is_internal): Adjust accordingly.
5361 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
5362 Adjust to new preferred_sequence_p.
5363 (syms_of_keymap): Declare `where-is-preferred-modifier'.
5364 * keyboard.c (parse_solitary_modifier): Not static any more.
5365 * keyboard.h (parse_solitary_modifier): Declare.
5366
53672008-07-16 Andreas Schwab <schwab@suse.de>
5368
5369 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
5370 of easymenu.
5371
53722008-07-16 Chong Yidong <cyd@stupidchicken.com>
5373
5374 * xdisp.c (move_it_in_display_line): Account for word wrap, so
5375 that we don't move off the line.
5376
53772008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5378
5379 * keyboard.c (Qsuper): Remove.
5380 (parse_menu_item): Don't call where_is_internal specially for NS.
5381
53822008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5383
5384 * s/gnu-linux.h: Remove boilerplate comments.
5385
5386 * m/alpha.h (__ELF__): Consolidate conditions.
5387
5388 * m/m68k.h (linux): Use GNU_LINUX instead.
5389 Remove boilerplate comments.
5390
5391 * m/intel386.h: Undo refactoring from previous change.
5392 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
5393 too, remove dead code.
5394 (linux): Use GNU_LINUX instead.
5395
53962008-07-16 Jason Rumney <jasonr@gnu.org>
5397
5398 * w32gui.h: Repeat 26 June changes lost by last change.
5399
54002008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5401
5402 * systty.h: Remove code for Aix on 386, unsupported platform.
5403
5404 * s/ms-w32.h: Remove boilerplate comments.
5405 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
5406
5407 * s/gnu-linux.h (TERM): Remove support.
5408 (HAVE_SYSVIPC): Remove, unused.
5409 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
5410 for this system.
5411
5412 * process.c: Remove support for IRIS, unused.
5413 Remove support for TERM, not relevant anymore.
5414
5415 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
5416 used with the definition.
5417
5418 * s/aix4-2.h (static): Do not undef.
5419
5420 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
5421 only used on Aix.
5422 (HAVE_SYSVIPC): Remove, unused.
5423
5424 * m/hp800.h (CANNOT_DUMP): Do not undef.
5425
5426 * m/alpha.h: Fix comment.
5427
5428 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
5429 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
5430 used by this configuration.
5431 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
5432 * unexec.c: Remove code depending on HPUX and
5433 USG_SHARED_LIBRARIES, not used with this file. Remove code
5434 depending on IRIS, unused. Remove if 0-ed code.
5435
5436 * s/template.h: Remove comments about static.
5437
5438 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
5439 Remove if 0-ed code.
5440 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
5441 were the same as the default.
5442 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
5443 Remove boilerplate comments.
5444 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
5445 (HAVE_SYSVIPC): Remove, unused.
5446 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
5447
5448 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5449 Remove boilerplate comments.
5450 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5451 Remove boilerplate comments.
5452 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5453 Remove boilerplate comments.
5454 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
5455
5456 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
5457 USG systems which do not use DATA_SEG_BITS.
5458 Refactor code. Remove boilerplate comments.
5459
5460 * m/ibms390.h:
5461 * m/m68k.h:
5462 * s/bsd-common.h:
5463 * s/cygwin.h:
5464 * s/darwin.h:
5465 * s/freebsd.h:
5466 * s/gnu.h:
5467 * s/msdos.h: Remove boilerplate comments.
5468
5469 * m/iris4d.h: Remove boilerplate comments and code for systems that
5470 do not use this file.
5471 (IRIS_4D): Remove, unused.
5472
5473 * m/mips.h: Remove boilerplate comments and code for systems that
5474 do not use this file.
5475 (SIGN_EXTEND_CHAR):
5476 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
5477 * unexmips.c: Remove file, unused.
5478
5479 * editfns.c (Fuser_full_name): Replace the only use of
5480 USER_FULL_NAME with its value.
5481 * config.in: Regenerate.
5482
54832008-07-16 David Reitter <david.reitter@gmail.com>
5484
5485 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
5486 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
5487
54882008-07-16 Glenn Morris <rgm@gnu.org>
5489
5490 * emacs.c (system-type): Doc fix.
5491
54922008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
5493
5494 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
5495 If the cache doesn't work, let's fix it, rather than work around it.
5496
54972008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5498
5499 * Makefile.in: Correct additions for nsfont.o in last commit.
5500 * nsfont.m: New file (forgot last commit).
5501
55022008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5503
5504 * callproc.c (set_initial_environment): Initialize
5505 Vprocess_environment under CANNOT_DUMP (fixes crash when
5506 batch-compiling for bootstrap).
5507
55082008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5509 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5510
5511 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
5512 fix crash due to different init order.
5513
55142008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5515
5516 Changes and additions for NeXTstep windowing system (Cocoa and
5517 GNUstep) support.
5518
5519 * Makefile.in:
5520 * config.in: Support defines and build commands for NS port.
5521 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
5522 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
5523 * dispextern.h: Include nsgui.h and add needed typedefs under NS
5524 windowing.
5525 (struct face): Add synth_ital field.
5526 * dispnew.c: Include nsterm.h when compiling under NS windowing.
5527 (init_display): Initialize Vinitial_window_system to "ns" when so
5528 compiled.
5529 * emacs.c: Include GSConfig.h when compiling under GNUstep.
5530 (display_arg): Use under NS.
5531 (main): Under NS, allocate autorelease pool and handle command line
5532 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
5533 (standard_args): Add NS-specific args.
5534 (shut_down_emacs): Shut down NS terminal if compiled under NS.
5535 * font.c (DEFAULT_ENCODING): New variable.
5536 (font_find_for_lface): Use it.
5537 (syms_of_font): Load syms_of_nsfont under NS.
5538 * font.h: Declare nsfont_driver when compiled under NS.
5539 * fontset.c: When compiling under NS, include nsterm.h.
5540 (fontset_from_font): Autoconstruct fontset under NS.
5541 * frame.c (various): Under NS, include nsterm.h, add Qns window system
5542 symbol, document and use it.
5543 (do_switch_frame): When for_deletion under Cocoa, add
5544 Fraise_frame(Qnil).
5545 (x_set_frame_parameters): Ensure font attribute changes are picked up.
5546 (x_get_arg): Allow "yes" and "no" as boolean values.
5547 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
5548 Qright under Cocoa.
5549 (focus-follows-mouse): Default to 0 under NS.
5550 * frame.h (enum output_method): Add output_ns.
5551 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
5552 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
5553 (FRAME_WINDOW_P): NS-specific definition.
5554 * fringe.c (max_used_fringe_bitmap): Make public.
5555 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
5556 (getloadavg): Use NeXT code under descendant OS's.
5557 * image.c (includes and header section, x_create_bitmap_from_data)
5558 (x_create_bitmap_from_file, free_bitmap_record, image_background)
5559 (image_background_transparent, x_clear_image_1)
5560 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5561 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
5562 (x_to_xcolors, x_from_xcolors, x_disable_image)
5563 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
5564 other GUIs, including XPM support using code originally written for
5565 Carbon GUI.
5566 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
5567 using NS API.
5568 (image_ascent): Use font metrics macros instead of direct struct field
5569 access.
5570 * keyboard.c (includes): Add nsterm.h when compiling under NS.
5571 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
5572 Also, handle NS as GTK for menu bar purposes.
5573 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
5574 toolkit where they differ.
5575 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
5576 use cachelist, still needed under NS.
5577 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
5578 (struct widget_value): Define it here for menu.c.
5579 * keymap.c (includes): Include modifier internals.
5580 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
5581 NS.
5582 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
5583 support for preferring sequences using certain modifiers, specified by
5584 the FIRSTONLY argument.
5585 * lisp.h (hash_remove): Rename to avoid name clash when compiling
5586 under NS GNUstep implementation.
5587 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
5588 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
5589 * menu.c: Include nsterm.h under NS.
5590 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
5591 (free_menubar_widget_tree_value, update_submenu_strings)
5592 (find_and_call_menu_selection): Treat NS as X and NT.
5593 (find_and_return_menu_selection): New function, used for popup menus.
5594 * nsgui.h:
5595 * nsterm.h:
5596 * nsfns.m:
5597 * nsimage.m:
5598 * nsmenu.m:
5599 * nsselect.m:
5600 * nsterm.m: New files.
5601 * process.c (wait_reading_process_output): Under NS, call ns_select()
5602 instead of plain select().
5603 * syntax.c (char_quoted): Under NS, avoid a crash when called near
5604 beginning of buffer.
5605 * sysselect.h (init_process): Rename when compiling under Cocoa to
5606 avoid name conflict.
5607 * termhooks.h (display_info): Add ns_display_info to union.
5608 * terminal.c (Fterminal_live_p): Add ns to terminal types.
5609 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
5610 COCOA environment.
5611 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
5612 unexec() signature. (Note, this will dump, but the resulting file
5613 crashes; unexosx is used instead; keeping around for reference and
5614 possible aid in getting dump working under GNUstep.)
5615 * w32gui.h (button_type, widget_value): Remove definitions (now in
5616 keyboard.h).
5617 * window.c: Include nsterm.h when compiling under NS.
5618 * xdisp.c (includes): Include nsterm.h when compiling under NS.
5619 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
5620 other GUI windowing systems.
5621 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
5622 GTK.
5623 (x_consider_frame_title): Under NS, set icon type and frame
5624 modified-state indicator; use ns_set_name_as_filename() when using
5625 formatted title.
5626 (update_window_cursor): Make public when compiling under NS.
5627 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
5628 (hourglass_atimer, Vhourglass_delay
5629 * xfaces.c (header section, init_frame_faces, clear_font_table)
5630 (defined_color, unload_color, x_face_list_fonts)
5631 (prepare_face_for_display): Add NS support parallel to other GUIs.
5632 Emulate GCs like other non-X GUIs.
5633 (split_font_name): Don't lowercase font name under NS.
5634 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
5635 under NS.
5636 * s/darwin.h: Add support for compilation under NS.
5637
56382008-07-15 Jason Rumney <jasonr@gnu.org>
5639
5640 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
5641 (w32_show_hourglass): Rename from show_hourglass.
5642 (w32_hide_hourglass): Rename from hide_hourglass.
5643 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
5644 (Vhourglass_delay): Declare extern.
5645 (hourglass_started): Remove.
5646
5647 * xdisp.c (Vhourglass_delay): Remove static.
5648 (hourglass_started, start_hourglass, cancel_hourglass):
5649 Don't include these versions on WINDOWSNT.
5650
56512008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5652
5653 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
5654 variables (formerly in xfns.c).
5655 (show_hourglass, hide_hourglass): New prototypes (same).
5656 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
5657 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
5658 in xfns.c).
5659 (syms_of_xdisp): Declare/initialize display-hourglass,
5660 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
5661 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
5662 formerly in xfns.c.
5663 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5664 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5665 (start_hourglass, cancel_hourglass): Remove.
5666 (show_hourglass, hide_hourglass): Remove prototypes and static
5667 modifiers.
5668 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
5669 hourglass_atimer, hourglass_shown_p declaration/initialization.
5670 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5671 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5672 (start_hourglass, cancel_hourglass): Remove.
5673 (show_hourglass, hide_hourglass): Remove prototypes and static
5674 modifiers.
5675 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
5676 hourglass_atimer, hourglass_shown_p declaration/initialization.
5677 * w32fns.c (display_hourglass_p, Vhourglass_delay)
5678 (DEFAULT_HOURGLASS_DELAY): Remove.
5679 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
5680 hourglass_shown_p declaration/initialization.
5681
56822008-07-14 Jason Rumney <jasonr@gnu.org>
5683
5684 * w32fns.c (w32_get_arg): Remove wrapper function.
5685 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
5686 directly.
5687 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
5688
56892008-07-14 Kenichi Handa <handa@m17n.org>
5690
5691 * xfont.c (xfont_open): Add workaround for X's bug.
5692
56932008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5694
5695 * fontset.c: Include <stdio.h> unconditionally.
5696
56972008-07-13 Michael Albinus <michael.albinus@gmx.de>
5698
5699 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
5700 for filtering.
5701
57022008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
5703
5704 * s/vms.h: Use __GNUC__ instead of _GNUC_.
5705
5706 * m/macppc.h:
5707 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
5708
5709 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
5710 (SPECIAL_EMACS_INT):
5711 * m/ia64.h (SPECIAL_EMACS_INT):
5712 * m/amdx86-64.h (SPECIAL_EMACS_INT):
5713 * s/gnu.h (NLIST_STRUCT):
5714 * s/aix4-2.h (X11R5_INHIBIT_I18N):
5715 * s/gnu-linux.h (LINUX):
5716 * s/msdos.h (HAVE_FACES):
5717 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
5718
5719 * systty.h:
5720 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
5721 anymore.
5722
57232008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
5724
5725 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
5726 always defined as int.
5727
5728 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
5729 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
5730 * s/gnu-linux.h (HAVE_WAIT_HEADER):
5731 * s/freebsd.h (HAVE_WAIT_HEADER):
5732 * s/bsd-common.h (HAVE_UNION_WAIT):
5733 * s/aix4-2.h (HAVE_WAIT_HEADER):
5734 * m/mips.h (HAVE_UNION_WAIT):
5735 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
5736 (COFF, static): Do not define, they are undefined later in the file.
5737
5738 * process.c (update_status): Don't use a union.
5739 (status_convert):
5740 (sigchld_handler): Use int instead of WAITTYPE.
5741
57422008-07-12 Chong Yidong <cyd@stupidchicken.com>
5743
5744 * indent.c (Fvertical_motion): Restore hscroll before moving to
5745 goal column.
5746
57472008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5748
5749 * lisp.h: Remove left over code.
5750
57512008-07-11 Andreas Schwab <schwab@suse.de>
5752
5753 * lisp.h: Fix logic in last change.
5754
5755 * menu.h: New file.
5756 * menu.c: Include it.
5757 * xmenu.c: Likewise.
5758 * Makefile.in: Update dependencies.
5759
57602008-07-11 Kenichi Handa <handa@m17n.org>
5761
5762 * fontset.c (fontset_from_font): Cancel the previous change.
5763
57642008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5765
5766 * lisp.h:
5767 * w32heap.c:
5768 * emacs.c:
5769 * alloc.c: Replace all references of NO_UNION_TYPE with
5770 USE_LISP_UNION_TYPE.
5771
5772 * m/xtensa.h (NO_UNION_TYPE):
5773 * m/vax.h (NO_UNION_TYPE):
5774 * m/template.h (NO_UNION_TYPE):
5775 * m/sparc.h (NO_UNION_TYPE):
5776 * m/mips.h (NO_UNION_TYPE):
5777 * m/macppc.h (NO_UNION_TYPE):
5778 * m/m68k.h (NO_UNION_TYPE):
5779 * m/iris4d.h (NO_UNION_TYPE):
5780 * m/intel386.h (NO_UNION_TYPE):
5781 * m/ibms390x.h (NO_UNION_TYPE):
5782 * m/ibms390.h (NO_UNION_TYPE):
5783 * m/ibmrs6000.h (NO_UNION_TYPE):
5784 * m/ia64.h (NO_UNION_TYPE):
5785 * m/hp800.h (NO_UNION_TYPE):
5786 * m/arm.h (NO_UNION_TYPE):
5787 * m/amdx86-64.h (NO_UNION_TYPE):
5788 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
5789 defining it the same.
5790
57912008-07-10 Chong Yidong <cyd@stupidchicken.com>
5792
5793 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
5794
57952008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5796
5797 * fileio.c:
5798 * sysdep.c
5799 * systty.h:
5800 * m/ibmrs6000.h:
5801 * m/iris4d.h:
5802 * s/aix4-2.h:
5803 * s/freebsd.h:
5804 * s/gnu-linux.h:
5805 * s/hpux10-20.h:
5806 * s/hpux11.h:
5807 * s/netbsd.h:
5808 * s/sol2-3.h:
5809 * s/sol2-4.h:
5810 * s/sol2.h:
5811 * s/usg5-4.h:
5812 * s/vms.h: Remove references to unused variables.
5813
58142008-07-10 Andreas Schwab <schwab@suse.de>
5815
5816 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
5817 pattern before matching the generic family.
5818
58192008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5820
5821 * unexec.c:
5822 * s/vms.h:
5823 * s/usg5-4-2.h:
5824 * s/sol2-5.h:
5825 * s/freebsd.h:
5826 * s/darwin.h: Remove dead code.
5827
5828 * m/template.h:
5829 * m/sparc.h:
5830 * m/mips.h:
5831 * m/m68k.h:
5832 * m/iris4d.h:
5833 * m/intel386.h:
5834 * m/ibms390x.h:
5835 * m/ibms390.h:
5836 * m/ia64.h:
5837 * m/hp800.h:
5838 * m/arm.h:
5839 * m/amdx86-64.h: Remove dead code and references to unused
5840 and compiler defined symbols.
5841
5842 * unexmips.c:
5843 * unexelf.c: Remove references to desupported systems.
5844
5845 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
5846
5847 * m/powermac.h: Remove boilerplate comments.
5848 (NO_REMAP): Remove unused definition.
5849
5850 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
5851 define them.
5852
58532008-07-10 Kenichi Handa <handa@m17n.org>
5854
5855 * xfont.c (xfont_open): Log the reason of failure.
5856
58572008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
5858
5859 * fontset.c (fontset_get_font_group):
5860 * font.c (font_check_otf): Specify argument types.
5861
58622008-07-09 Kenichi Handa <handa@m17n.org>
5863
5864 * coding.c (detect_coding_utf_8): Set detect_info->found only when
5865 non-ASCII char is found.
5866
5867 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
5868 (reorder_font_vector): Change the arg preferred_family to font.
5869 Prefer the spec matching with font.
5870 (fontset_get_font_group): New function.
5871 (fontset_find_font): Change the format of an element of a realized
5872 fontset. Use fontset_get_font_group.
5873 (fontset_font): Try the current fontset, the default fontset, the
5874 fallbacks of the current fontset, and the fallbacks of the default
5875 fontset in this order.
5876 (face_for_char): Delete the shortcut to use the current font.
5877 (fontset_from_font): Don't set fonts for Latin in the fontset.
5878
5879 * font.h (font_make_object, font_match_p): Adjust prototypes.
5880
5881 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
5882
5883 * font.c (font_make_object): New arg entity and pixelsize.
5884 (font_check_otf_features, font_check_otf): New functions.
5885 (font_match_p): Check :lang, :script, and :otf properties.
5886
5887 * xfont.c (xfont_open): Adjust it for the change of
5888 font_make_object.
5889 (xfont_text_extents): Fix initial setting of metrics.
5890
5891 * ftfont.c (struct ftfont_info): New member index, delete member
5892 fc_charset_idx. Make the member order compatible with struct
5893 xftfont_info.
5894 (fc_charset_table): Change charset names to registry names.
5895 (ftfont_pattern_entity): Delete the args registry and
5896 fc_charset_idx. Change the value of :font-entity property
5897 to (FONTNAME . INDEX). Always set :registry property to
5898 `iso10646-1'.
5899 (struct ftfont_cache_data): New struct.
5900 (ftfont_lookup_cache): New arg for_face.
5901 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5902 (ftfont_driver): Set the member otf_capability.
5903 (ftfont_get_charset): Adjust it for the change of
5904 fc_charset_table.
5905 (OTF_TAG_SYM): New macro.
5906 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5907 for the change of fc_charset_table.
5908 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5909 ftfont_pattern_entity. Add FC_INDEX to objset.
5910 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5911 and ftfont_pattern_entity.
5912 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5913 font_make_object, struct ftfont_info.
5914 (ftfont_has_char): Use ftfont_get_fc_charset.
5915 (ftfont_otf_features, ftfont_otf_capability): New functions.
5916 (ftfont_shape): Use ftfont_get_otf.
5917 (ftfont_text_extents): Fix initial setting of metrics.
5918
5919 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5920 member order compatible with struct ftfont_info.
5921 (xftfont_open): Add FC_CHARSET to the pattern. Set
5922 xftfont_info->ft_size. Don't unlock the face. Check BDF
5923 properties if appropriate.
5924 (xftfont_close): Unlock the face.
5925 (xftfont_anchor_point, xftfont_shape): Deleted.
5926 (syms_of_xftfont): Don't set members anchor_point and shape of
5927 xftfont_driver.
5928
5929 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5930 font_make_object.
5931
5932 * w32font.c (w32font_open): Adjust it for the change of
5933 font_make_object.
5934 (w32font_open_internal): Don't set properties of font_object here.
5935
59362008-07-08 Chong Yidong <cyd@stupidchicken.com>
5937
5938 * macfns.c (x_create_tip_frame):
5939 * w32fns.c (x_create_tip_frame):
5940 * xfns.c (x_create_tip_frame): Pass parameter argument to
5941 face-set-after-frame-default.
5942
5943 * xfaces.c (Finternal_merge_in_global_face): Save merged
5944 attributes for the default face back into the face vector.
5945
59462008-07-08 Andreas Schwab <schwab@suse.de>
5947
5948 * fontset.h: Declare fontset_from_font. Don't declare
5949 new_fontset_from_font and fontset_from_font_name.
5950 * xterm.c: Include "fontset.h".
5951 * Makefile.in (xterm.o): Update dependencies.
5952
59532008-07-08 Glenn Morris <rgm@gnu.org>
5954
5955 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5956 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5957
59582008-07-07 Chong Yidong <cyd@stupidchicken.com>
5959
5960 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5961 (x_set_frame_parameters): Don't bind it.
5962
59632008-07-07 Juanma Barranquero <lekktu@gmail.com>
5964
5965 * w32fns.c (map_w32_filename): Declare extern.
5966
59672008-07-07 Jason Rumney <jasonr@gnu.org>
5968
5969 * w32term.c (WS_EX_LAYERED): Define if not already.
5970
59712008-07-06 Chong Yidong <cyd@stupidchicken.com>
5972
5973 * xfaces.c (set_font_frame_param): Don't try to set the font
5974 parameter if it is still unspecified in the lface.
5975
59762008-07-05 Chong Yidong <cyd@stupidchicken.com>
5977
5978 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5979 face if it didn't already exist.
5980
5981 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5982
59832008-07-05 Andreas Schwab <schwab@suse.de>
5984
5985 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5986
59872008-07-05 Chong Yidong <cyd@stupidchicken.com>
5988
5989 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5990 word-wrapping.
5991 (IT_DISPLAYING_WHITESPACE): New macro.
5992 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5993 when word-wrapping. Simplify word-wrapping logic. Use correct
5994 pixel positions when saving copies of the iterator.
5995 (display_line): Use proper wrap point if the last character on a
5996 line was preceded by whitespace.
5997
59982008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5999
6000 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
6001
60022008-07-04 Kenichi Handa <handa@m17n.org>
6003
6004 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
6005
6006 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
6007
60082008-07-02 Jason Rumney <jasonr@gnu.org>
6009
6010 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 6011 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
6012
6013 * xdisp.c (next_element_from_display_vector): Move assignment out
6014 of if statement.
6015
60162008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
6017
6018 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6019
6020 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
6021 (syms_of_fileio): Initialize and export them.
6022 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6023
6024 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
6025 (Fsystem_move_file_to_trash): New function.
6026 (syms_of_w32fns): Export it to lisp.
6027
60282008-07-01 Jason Rumney <jasonr@gnu.org>
6029
6030 * w32font.c (w32font_text_extents): Don't count overhang as part
6031 of width.
6032
60332008-06-30 Miles Bader <miles@gnu.org>
6034
6035 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
6036 Add `avoid_cursor_p' field.
6037
6038 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
6039 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
6040 (append_glyph, append_composite_glyph, produce_image_glyph)
6041 (append_stretch_glyph): Initialize avoid_cursor_p.
6042 (get_it_property): Rename from `get_line_height_property'.
6043 (x_produce_glyphs): Use get_it_property.
6044 (handle_line_prefix, push_display_prop): New functions.
6045 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
6046 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
6047 New variables.
6048 (syms_of_xdisp): Initialize them.
6049
60502008-06-30 Kenichi Handa <handa@m17n.org>
6051
6052 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
6053 XftDefaultSubstitute (they are called in XftFontMatch).
6054 (xftfont_open): Fix args to ftfont_font_format.
6055
6056 * ftfont.c (fc_charset_table): New member lang.
6057 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 6058 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
6059 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
6060 (ftfont_open): Fix args to ftfont_font_format.
6061 (ftfont_font_format): New arg filename.
6062
60632008-06-30 Chong Yidong <cyd@stupidchicken.com>
6064
6065 * xfaces.c (Finternal_merge_in_global_face): If default face was
6066 modified, realize it again. Update the font face attribute.
6067
60682008-06-29 Jason Rumney <jasonr@gnu.org>
6069
6070 * w32term.c (x_set_frame_alpha): Fix logic.
6071
60722008-06-29 Kenichi Handa <handa@m17n.org>
6073
6074 * fontset.c (Finternal_char_font): Return font-object instead of
6075 font-name.
6076
6077 * composite.c (get_composition_id): Fix the width calculation for TAB.
6078
60792008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
6080
6081 * indent.c (Fvertical_motion): Properly handle float column arg.
6082
60832008-06-28 Jason Rumney <jasonr@gnu.org>
6084
6085 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
6086 (pfnSetLayeredWindowAttributes): New function pointer.
6087 (w32_initialize): Initialize it when supported.
6088 (x_set_frame_alpha): New function.
6089
6090 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
6091 (w32_frame_parm_handlers): Set alpha handler.
6092
6093 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
6094
60952008-06-27 Jason Rumney <jasonr@gnu.org>
6096
6097 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
6098 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
6099 (w32_to_x_charset, x_to_w32_charset)
6100 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
6101 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
6102 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
6103 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
6104 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
6105 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
6106 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
6107 (Qw32_charset_unicode): Remove.
6108 (syms_of_w32fns): Update for above changes.
6109
6110 * w32font.c (w32_to_x_charset, x_to_w32_charset)
6111 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
6112 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
6113 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
6114 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
6115 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
6116 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
6117 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
6118 (syms_of_w32font): Update for above changes.
6119
61202008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
6121
6122 * s/usg5-4.h: Fix previous change: keep the correct branch of a
6123 removed #if.
6124 (USG_SHARED_LIBRARIES): Remove duplicate definition.
6125
61262008-06-26 Juanma Barranquero <lekktu@gmail.com>
6127 Eli Zaretskii <eliz@gnu.org>
6128
6129 * makefile.w32-in (LOCAL_FLAGS):
6130 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
6131
6132 * sysdep.c (_spawnlp, _getpid):
6133 Declare with explicit _cdecl instead of _CRTAPI1.
6134
6135 * editfns.c (Fget_internal_run_time):
6136 Check for WINDOWSNT with #ifdef, not #if.
6137
61382008-06-26 Jason Rumney <jasonr@gnu.org>
6139
6140 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
6141
6142 * w32term.c (x_draw_glyph_string_foreground)
6143 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
6144 Use FONT_HANDLE macro.
6145 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
6146
6147 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
6148 (uniscribe_encode_char): Use FONT_HANDLE macro.
6149
6150 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
6151 (w32font_text_extents): Use precast w32_font.
6152 (w32font_close): Free cached metrics.
6153 (w32font_open_internal): Allocate space for name on stack.
6154
61552008-06-26 Chong Yidong <cyd@stupidchicken.com>
6156
6157 * xdisp.c (extend_face_to_end_of_line): Fix last change.
6158
61592008-06-26 Jason Rumney <jasonr@gnu.org>
6160
6161 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
6162 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
6163
61642008-06-26 Juanma Barranquero <lekktu@gmail.com>
6165
6166 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
6167
61682008-06-26 Jason Rumney <jasonr@gnu.org>
6169
6170 * w32bdf.c, w32bdf.h: Remove obsolete files.
6171
6172 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
6173
6174 * w32gui.h: Don't include w32bdf.h.
6175 (XCharStruct, enum w32_char_font_type, W32FontStruct):
6176 Remove obsolete font support.
6177
6178 * w32font.h (struct w32font_info): Remove compat_w32_font.
6179 Add hfont member.
6180 (FONT_COMPAT): Remove obsolete macro.
6181
6182 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
6183 (w32font_encode_char, w32font_text_extents): Use new hfont member.
6184 (w32font_open_internal): Remove compat code. Set new hfont member.
6185 (Fx_select_font): Use new hfont member.
6186
6187 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
6188 (uniscribe_encode_char): Use new hfont member.
6189
6190 * w32term.c (x_draw_glyph_string_foreground)
6191 (x_draw_composite_glyph_string_foreground): Use new hfont member.
6192 (x_draw_glyph_string): Use metrics in w32font_info.
6193
61942008-06-26 Kenichi Handa <handa@m17n.org>
6195
6196 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
6197
61982008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
6199
6200 * unexnext.c:
6201 * m/ews4800.h:
6202 * m/hp9000s300.h:
6203 * m/ibm370aix.h:
6204 * m/mips-siemens.h:
6205 * m/ncr386.h:
6206 * m/next.h:
6207 * m/pmax.h:
6208 * m/powerpcle.h:
6209 * m/tandem-s2.h:
6210 * s/386bsd.h:
6211 * s/bsd386.h:
6212 * s/bsd4-1.h:
6213 * s/bsd4-2.h:
6214 * s/bsdos2-1.h:
6215 * s/bsdos2.h:
6216 * s/bsdos3.h:
6217 * s/bsdos4.h:
6218 * s/nextstep.h:
6219 * s/ultrix4-3.h:
6220 * s/usg5-0.h:
6221 * s/usg5-2-2.h:
6222 * s/usg5-2.h:
6223 * s/usg5-4-3.h:
6224 * s/ux4800.h:
6225 * s/uxpds.h:
6226 * s/uxpv.h: Remove support for obsolete systems.
6227 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 6228 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
6229 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
6230 Remove, insert contents in s/aix4-2.h.
6231 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
6232 * s/bsd4-3.h: Rename to ...
6233 * s/bsd-common.h: ... this.
6234 * data.c:
6235 * doc.c:
6236 * ecrt0.c:
6237 * emacs.c:
6238 * fileio.c:
6239 * floatfns.c:
6240 * keyboard.c:
6241 * mem-limits.h:
6242 * print.c:
6243 * process.c:
6244 * sysdep.c:
6245 * syssignal.h:
6246 * systty.h:
6247 * syswait.h:
6248 * term.c:
6249 * unexec.c:
6250 * unexelf.c:
6251 * unexhp9k800.c:
6252 * m/hp800.h:
6253 * m/ibmrs6000.h:
6254 * m/mips.h:
6255 * m/vax.h:
6256 * s/darwin.h:
6257 * s/freebsd.h:
6258 * s/gnu.h:
6259 * s/ms-w32.h:
6260 * s/msdos.h:
6261 * s/netbsd.h:
6262 * s/template.h: Remove references to obsolete variables.
6263
6264 * Makefile.in: Add dependencies for all unexec files.
6265 (admindir): Remove unused variable.
6266 (UNEXEC_SRC): Remove references.
6267
62682008-06-25 Chong Yidong <cyd@stupidchicken.com>
6269
6270 * xfns.c (x_default_font_parameter): If Xft is available, first
6271 try Monospace-12 for the default font.
6272
62732008-06-25 Jason Rumney <jasonr@gnu.org>
6274
6275 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
6276
62772008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
6278
6279 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
6280
6281 * buffer.c (syms_of_buffer): Remove default-word-wrap.
6282
62832008-06-25 Juanma Barranquero <lekktu@gmail.com>
6284
6285 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
6286 <scroll-conservatively>: Fix typo in docstring.
6287
6288 * xselect.c (Fx_send_client_event): Doc fix.
6289
62902008-06-25 Kenichi Handa <handa@m17n.org>
6291
6292 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
6293
6294 * font.c (font_parse_fcname): Remove unused variables.
6295 (font_sort_entites): Delete the arg SPEC. Caller changed.
6296 Fix for the case of ! best_only.
6297 (font_delete_unmatched): Check DPI and AVGWIDTH too.
6298
6299 * lisp.h (Fstring_to_unibyte): EXFUN it.
6300
6301 * character.h (str_to_unibyte): Extern it.
6302
6303 * character.c (str_to_unibyte): New function.
6304
6305 * fns.c (Fstring_to_unibyte): New function.
6306 (syms_of_fns): Defsubr it.
6307
63082008-06-24 Kenichi Handa <handa@m17n.org>
6309
6310 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
6311 DPI too.
6312 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
6313
63142008-06-24 Andreas Schwab <schwab@suse.de>
6315
6316 * Makefile.in (${lispsource}loaddefs.el): Rename from
6317 ../lisp/loaddefs.el.
6318 (bootstrap-clean): Do what distclean does but don't remove
6319 Makefile.
6320 (distclean): Depend on bootstrap-clean and remove Makefile.
6321
63222008-06-24 Chong Yidong <cyd@stupidchicken.com>
6323
6324 * buffer.h (struct buffer): New member word_wrap.
6325
6326 * buffer.c (syms_of_buffer): New variables default-word-wrap and
6327 word-wrap.
6328 (init_buffer_once): Initialize them.
6329
6330 * dispextern.h (struct it): Replace bool truncate_lines_p with a
6331 line_wrap enum possessing three possible values.
6332
6333 * termopts.h: Replace truncate_partial_width_windows with
6334 Vtruncate_partial_width_windows.
6335
6336 * dispnew.c (direct_output_for_insert): Avoid direct output when
6337 inserting a space with word wrap on.
6338
6339 * indent.c (compute_motion): Obey integer values of
6340 truncate-partial-width-windows.
6341
6342 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
6343 replacing truncate_partial_width_windows.
6344 (init_iterator): If Vtruncate_partial_width_windows is an integer,
6345 truncate only if the window width is below that integer.
6346 (start_display, resize_mini_window, produce_stretch_glyph)
6347 (display_string, move_it_in_display_line_to): Use line_wrap.
6348 (back_to_previous_visible_line_start, reseat_1): Reset
6349 string_from_display_prop_p.
6350 (display_line): Extend default face to end of line when wrapping.
6351
63522008-06-24 Kim F. Storm <storm@cua.dk>
6353
6354 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
6355 to wrap continued lines at word boundaries.
6356
63572008-06-24 Jason Rumney <jasonr@gnu.org>
6358
6359 * font.c (Ffont_face_attributes): Multiply pixel size before point
6360 conversion to avoid multiplying rounding error.
6361
63622008-06-23 Jason Rumney <jasonr@gnu.org>
6363
6364 * w32term.c (x_draw_glyph_string_background)
6365 (x_draw_glyph_string): Remove old bdf font code.
6366
6367 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
6368
63692008-06-22 Kenichi Handa <handa@m17n.org>
6370
6371 * font.c (font_find_for_lface): Try the adstyle specified in
6372 the property of LFACE_FONT of LFACE (if any).
6373
63742008-06-21 Seiji Zenitani <zenitani@mac.com>
6375 Ryo Yoshitake <ryo@shiftmode.net>
6376
6377 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
6378
63792008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
6380
6381 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
6382 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
6383 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
6384 (witness-emacs): Remove.
6385 (lisp, shortlisp): Move loaddefs.el earlier.
6386 (mostlyclean): Forget about witness-emacs.
6387
63882008-06-22 Glenn Morris <rgm@gnu.org>
6389
6390 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
6391 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
6392
63932008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6394
6395 * Makefile.in (PRECOMP): Remove.
6396 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
6397 (witness-emacs): Run `compile-first'.
6398 (.el.elc): Use the new compile-onefile target.
6399
64002008-06-21 Kenichi Handa <handa@m17n.org>
6401
6402 * xftfont.c (xftfont_open): Handle QCembolden only when
6403 FC_EMBOLDEN is defined.
6404
64052008-06-21 Andreas Schwab <schwab@suse.de>
6406
6407 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
6408 (.el.elc): Likewise.
6409
64102008-06-21 Miles Bader <miles@gnu.org>
6411
6412 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
6413 build dir, not the lisp source dir.
6414
64152008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6416
6417 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
6418 (bootstrapclean): Remove.
6419 (.el.elc): New rule.
6420 (PRECOMP): New var.
6421 (../lisp/subdirs.el): Remove.
6422 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
6423 (witness-emacs): New target.
6424 (mostlyclean): Remove witness-emacs as well.
6425 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
6426 Add witness-emacs dependency.
6427
64282008-06-20 Chong Yidong <cyd@stupidchicken.com>
6429
6430 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
6431 defined by the font.
6432
64332008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6434
6435 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
6436 (bootstrap-clean): New target that keeps TAGS around.
6437 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
6438 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
6439
64402008-06-20 Jason Rumney <jasonr@gnu.org>
6441
6442 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
6443 Remove obsolete font code.
6444
6445 * w32font.c (font_matches_spec): Use csb bitfield from font signature
6446 to determine language support.
6447
64482008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6449
6450 * sysdep.c (cfsetspeed): New fun extracted from the code.
6451 (cfmakeraw): Move before first use.
6452
64532008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
6454
6455 * sysdep.c (cfmakeraw): Provide fallback implementation.
6456 (serial_configure): Provide fallback implementation of cfsetspeed.
6457
64582008-06-20 Kenichi Handa <handa@m17n.org>
6459
6460 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
6461 the pattern.
6462
6463 * fontset.c (fontset_from_font): Copy font_spec before changing
6464 the elements.
6465
6466 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
6467
64682008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6469
6470 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
6471 for explicit `font' parameters.
6472
6473 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
6474
64752008-06-19 Kenichi Handa <handa@m17n.org>
6476
6477 * frame.c: Include <ctype.h>.
6478 (x_set_font_backend): Allow spacing characters in the X resource
6479 for FontBackend.
6480
64812008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
6482
6483 * w32fns.c, xfns.c (Qfont_param): New var.
6484 (syms_of_w32fns): Initialize it.
6485 (x_default_font_parameter): Record explicit `font' into
6486 `font-parameter'.
6487
64882008-06-18 Kenichi Handa <handa@m17n.org>
6489
6490 * font.c (font_parse_xlfd): Fix previous change.
6491 (font_parse_fcname): Don't use :fc-unknown-spec.
6492 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
6493 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
6494 (font_add_log): Prepend the driver name to the resulting fonts.
6495
6496 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
6497 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
6498 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
6499
6500 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
6501 (QCembolden): New variables.
6502 (syms_of_xftfont): DEFSYM them.
6503 (xftfont_open): Call XftFontMatch. Don't trust the result of
6504 XftTextExtents8 if the pixel_size is less than 5.
6505
65062008-06-18 Andreas Schwab <schwab@suse.de>
6507
6508 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
6509 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
6510
65112008-06-18 Jason Rumney <jasonr@gnu.org>
6512
6513 * w32font.c (w32font_list, w32font_match): Add logging.
6514
6515 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
6516
65172008-06-17 Chong Yidong <cyd@stupidchicken.com>
6518
6519 * font.c (font_parse_fcname): Store divider characters for
6520 unknown-spec list. For known key symbols, intern using correct
6521 symbol name.
6522
65232008-06-17 Kenichi Handa <handa@m17n.org>
6524
6525 * xfaces.c (realize_default_face): If the frame is not on window
6526 system, set the fontset of face to nil.
6527
65282008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6529
6530 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
6531
65322008-06-16 Juanma Barranquero <lekktu@gmail.com>
6533
6534 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
6535 (build_font_name_from_vector): Delete externs.
6536
6537 * xfaces.c (struct font_name): Don't declare.
6538
65392008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
6540
6541 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
6542
65432008-06-16 Chong Yidong <cyd@stupidchicken.com>
6544
6545 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
6546
65472008-06-16 Juanma Barranquero <lekktu@gmail.com>
6548
6549 * font.c (Ffont_spec): Fix usage in docstring.
6550 (Ffont_face_attributes): Doc fix.
6551
65522008-06-16 Andreas Schwab <schwab@suse.de>
6553
6554 * font.c (Ffont_face_attributes): Fix definition.
6555
65562008-06-16 Jason Rumney <jasonr@gnu.org>
6557
6558 * font.h (font_style_symbolic_from_value): Remove.
6559
6560 * font.c (font_style_symbolic_from_value): Remove.
6561 (font_style_symbolic): Revert to pre 2008-06-13 version.
6562
6563 * w32font.c (w32_to_fc_weight): New function.
6564 (w32font_full_name, logfont_to_fcname): Use it.
6565
65662008-06-16 Kenichi Handa <handa@m17n.org>
6567
6568 * font.c (font_check_object): Delete it.
6569 (font_clear_cache): Check if a font-object is alive.
6570 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
6571 font-object to nil.
6572 (font_close_object): Don't check FONT_CLOSE_OBJECT.
6573 (font_at): Don't call font_check_object.
6574 (Ffont_get): Return a symbol for :weight, :slant, and :width.
6575
65762008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
6577
6578 * puresize.h (BASE_PURESIZE): Increase to 1230000.
6579
65802008-06-16 Chong Yidong <cyd@stupidchicken.com>
6581
6582 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
6583
65842008-06-15 Chong Yidong <cyd@stupidchicken.com>
6585
6586 * font.c (font_parse_fcname): Only one decimal point.
6587 (font_unparse_fcname): Handle data in family and foundry indices
6588 as symbols, not strings.
6589 (font_unparse_gtkname, Ffont_face_attributes): New functions.
6590
6591 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
6592
6593 * font.h (font_unparse_gtkname): Add prototype.
6594
65952008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6596
6597 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
6598
65992008-06-15 Andreas Schwab <schwab@suse.de>
6600
6601 * font.c (font_update_drivers): Fix crash when no drivers match.
6602
66032008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
6604
6605 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
6606 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
6607
66082008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
6609
6610 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
6611
66122008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
6613
6614 * process.c (Fserial_process_configure, Fprocess_send_eof):
6615 Use EQ to compare Lisp_Objects.
6616
66172008-06-13 Jason Rumney <jasonr@gnu.org>
6618
6619 * w32fns.c (Fw32_select_font): Remove old font API function.
6620
6621 * w32font.c (logfont_to_fcname): New function.
6622 (Fx_select_font): New font dialog function compatible with
6623 GTK/fontconfig version.
6624
6625 * font.c (font_style_symbolic_from_value): New function.
6626 (font_style_symbolic): Use it.
6627
6628 * font.h (font_style_symbolic_from_value): Declare new function.
6629
66302008-06-13 Juanma Barranquero <lekktu@gmail.com>
6631
6632 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
6633 <font-width-table>: Fix typos in docstrings.
6634
66352008-06-13 Daniel Engeler <engeler@gmail.com>
6636
6637 These changes add serial port access.
6638 * process.c: Add HAVE_SERIAL.
6639 (Fdelete_process, Fprocess_status, Fset_process_buffer)
6640 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
6641 (list_processes_1, select_wrapper, Fstop_process)
6642 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
6643 (status_notify): Modify to handle serial processes.
6644 [HAVE_SERIAL] (Fserial_process_configure)
6645 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
6646 New functions.
6647 * process.h (struct Lisp_Process): Add `type'.
6648 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
6649 New functions.
6650 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
6651 serial ports.
b71ac3dd 6652 (serial_open, serial_configure): New functions.
aac0c6e3
MR
6653 * w32.h: Add FILE_SERIAL.
6654 (struct _child_process): Add ovl_read, ovl_write.
6655
66562008-06-13 Kenichi Handa <handa@m17n.org>
6657
6658 * dispextern.h (enum lface_attribute_index): New member
6659 LFACE_FOUNDRY_INDEX.
6660
6661 * font.c (font_score): Delete arg alternate_families. Check only
6662 weight, slant, width, and size. Ignore the difference of alias
6663 style symbols.
6664 (font_sort_entites): Adjust for the above change. Reflect the
6665 order of font-driver to scores.
6666 (font_list_entities): Don't check alternate_familes here.
6667 (font_clear_prop): Handle foundry.
6668 (font_update_lface): Don't parse "foundry-family" form here.
6669 Handle FONT_FOUNDRY_INDEX.
6670 (font_find_for_lface): Likewise. Handle alternate families here.
6671 If registry is nil, try iso8859-1 and ascii-0.
6672 (font_open_for_lface): Pay attention to size in ENTITY.
6673 (font_open_by_name): Simplify by calling font_load_for_lface.
6674 (free_font_driver_list): Delete it.
6675 (font_update_drivers): Preserve the order of backends.
6676 (syms_of_font): Setting of sort_shift_bits adjusted for the change
6677 of font_score and font_sort_entites.
6678 (font_update_sort_order): Likewise.
6679
6680 * xfaces.c (LFACE_FOUNDRY): New macro.
6681 (check_lface_attrs): Check foundry.
6682 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
6683 (merge_face_vectors): Check foundry.
6684 (merge_face_ref): Likewise.
6685 (Finternal_set_lisp_face_attribute): Likewise.
6686 (x_update_menu_appearance): Likewise.
6687 (Finternal_get_lisp_face_attribute): Likewise.
6688 (lface_hash): Likewise.
6689 (lface_same_font_attributes_p): Likewise.
6690 (x_supports_face_attributes_p): Likewise.
6691 (tty_supports_face_attributes_p): Likewise.
6692 (Finternal_set_alternative_font_family_alist): Intern strings.
6693 (Finternal_set_alternative_font_registry_alist): Downcase strings.
6694 (realize_default_face): Set LFACE_FOUNDRY (lface).
6695
6696 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
6697 font-driver at first.
6698
6699 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
6700
67012008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6702
6703 * lread.c (Fload): Use xfree, not free on saved_doc_string.
6704
67052008-06-12 Jim Meyering <meyering@redhat.com>
6706
6707 Make unexec_free handle NULL the same way free does.
6708 * unexmacosx.c (unexec_free): Ignore a NULL argument.
6709
67102008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
6711
6712 * character.h (CHAR_TO_BYTE_SAFE): New macro.
6713 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
6714 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
6715 (WEAK_ALIAS): Simplify.
6716 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
6717 when searching a unibyte buffer.
6718
67192008-06-12 Chong Yidong <cyd@stupidchicken.com>
6720
6721 * xfns.c (Fx_select_font): Rename from x-font-dialog.
6722
67232008-06-12 Juanma Barranquero <lekktu@gmail.com>
6724
6725 * w32font.c: Include ctype.h.
6726
67272008-06-11 Jason Rumney <jasonr@gnu.org>
6728
6729 * w32font.c (w32font_encode_char): Detect missing glyphs that are
6730 misreported as space.
6731 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
6732 as aliases for registry iso10646-1.
6733
67342008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
6735
6736 * buffer.c (clone_per_buffer_values): Skip `name'.
6737
67382008-06-11 Chong Yidong <cyd@stupidchicken.com>
6739
6740 * font.c (font_parse_fcname): Fix last change; accept decimal
6741 points in font size.
6742
67432008-06-10 Jason Rumney <jasonr@gnu.org>
6744
6745 * w32uniscribe.c (add_opentype_font_name_to_list):
6746 Skip non unicode fonts.
6747
67482008-06-10 Chong Yidong <cyd@stupidchicken.com>
6749
6750 * xfns.c (Fx_font_dialog): New function.
6751
6752 * gtkutil.c (xg_dialog_response_cb): Rename from
6753 xg_file_response_callback.
6754 (pop_down_dialog): Rename from pop_down_file_dialog.
6755 (xg_get_file_name): Callers changed.
6756 (xg_get_font_name): New function.
6757
6758 * gtkutil.h (xg_get_font_name): Insert prototype.
6759
67602008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6761
6762 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
6763 x_underline_minimum_display_offset.
6764 (syms_of_xdisp): Declare it here rather than in xterm.c.
6765 * dispextern.h (underline_minimum_offset): Declare it.
6766 * w32term.c (x_draw_glyph_string): Use it.
6767 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
6768 (syms_of_xterm): Don't declare it any more.
6769 (x_draw_glyph_string): Adjust to the new name.
6770
67712008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
6772
6773 * xterm.c (x_underline_minimum_display_offset): New var.
6774 (x_draw_glyph_string): Use it.
6775 (syms_of_xterm): Declare it.
6776
67772008-06-10 Chong Yidong <cyd@stupidchicken.com>
6778
6779 * font.c (font_parse_fcname): Accept GTK-style font names too.
6780
67812008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6782
6783 * dired.c (file_name_completion): Don't return t if the match is exact
6784 but with different capitalization.
6785 * minibuf.c (Ftry_completion): Simplify.
6786
6787 * window.c (Vwindow_point_insertion_type): New var.
6788 (set_window_buffer): Use it.
6789 (syms_of_window): Init and export it to Lisp.
6790
67912008-06-10 Kenichi Handa <handa@m17n.org>
6792
6793 * font.h (font_intern_prop): Prototype adjusted.
6794
6795 * font.c (font_intern_prop): New arg force_symbol.
6796 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
6797 Adjust for the change of font_intern_prop.
6798
6799 * ftfont.c (ftfont_pattern_entity):
6800 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
6801 (w32_registry):
6802 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
6803 the change of font_intern_prop.
6804
68052008-06-09 Juanma Barranquero <lekktu@gmail.com>
6806
6807 * w32menu.c (digest_single_submenu): Declare extern.
6808
68092008-06-09 Jason Rumney <jasonr@gnu.org>
6810
6811 * w32term.c (x_make_frame_visible): Use alternate restore flags.
6812
6813 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
6814 (parse_single_submenu): Remove.
6815 (digest_single_submenu): Remove.
6816 (syms_of_w32menu): Don't initialise variables that have moved
6817 to menu.c.
6818 (set_frame_menubar): Sync with version in xmenu.c.
6819 (w32_menu_show): Sync with xmenu_show in xmenu.c.
6820
6821 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
6822 Make static again.
6823
68242008-06-09 Jason Rumney <jasonr@gnu.org>
6825
6826 Changes to w32 files related to the move of common menu code
6827 to menu.c on 2008-06-08 by Chong Yidong.
6828
6829 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
6830 defs to w32gui.h.
6831 (single_keymap_panes, push_menu_item, push_menu_pane):
6832 Make globally visible.
6833
6834 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
6835 (local_free, malloc_widget_value, free_widget_value)
6836 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
6837 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
6838 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
6839 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
6840 (menu_items, menu_items_allocated, menu_items_used)
6841 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
6842 (init_menu_items, finish_menu_items, discard_menu_items)
6843 (grow_menu_items, push_submenu_start, push_submenu_end)
6844 (push_left_right_boundary, push_menu_pane, push_menu_item)
6845 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
6846 (free_menubar_widget_tree_value, parse_single_submenu)
6847 (update_submenu_strings): Remove functions.
6848 (xmalloc_widget_value): Remove and declare extern.
6849
6850 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
6851 (OBJ1): Build it.
6852
6853 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
6854 (local_heap, local_alloc, local_free, malloc_widget_value)
6855 (free_widget_value): Define here.
6856
68572008-06-09 Kenichi Handa <handa@m17n.org>
6858
6859 * font.h (Qascii_0): Extern it.
6860
6861 * font.c (Qascii_0): New variable.
6862 (syms_of_font): DEFSYM it.
6863 (font_open_by_name): If the registry "iso8859-1" fails, try also
6864 "ascii-0".
6865
6866 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
6867
68682008-06-08 Kenichi Handa <handa@m17n.org>
6869
6870 * .gdbinit (xfont): New command.
6871
68722008-06-08 Andreas Schwab <schwab@suse.de>
6873
6874 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
6875 * Makefile.in (menu.o): Update dependencies.
6876
6877 * Makefile.in (obj): Always add menu.o.
6878 * emacs.c (main): Always call syms_of_menu.
6879 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
6880
68812008-06-08 Chong Yidong <cyd@stupidchicken.com>
6882
6883 * Makefile.in: Compile menu.c.
6884
6885 * lisp.h: Declare syms_of_menu.
6886
6887 * emacs.c (main): Call syms_of_menu.
6888
6889 * keyboard.h: Relocate platform-independent menu definitions from
6890 xmenu.c.
6891
6892 * menu.c: New file. Relocate platform-independent menu
6893 definitions from xmenu.c. Suggested by Adrian Robert.
6894
6895 * xmenu.c: Remove platform-independent menu definitions.
6896 (menu_items menu_items_inuse, menu_items_allocated)
6897 (menu_items_used, menu_items_n_panes)
6898 (menu_items_submenu_depth): Move to keyboard.h.
6899 (init_menu_items, finish_menu_items, unuse_menu_items)
6900 (discard_menu_items, restore_menu_items, save_menu_items)
6901 (grow_menu_items, push_submenu_start, push_submenu_end)
6902 (push_left_right_boundary, push_menu_pane, push_menu_item)
6903 (keymap_panes, single_keymap_panes, single_menu_item)
6904 (list_of_panes, list_of_items, find_and_call_menu_selection)
6905 (xmalloc_widget_value, free_menubar_widget_value_tree)
6906 (parse_single_submenu, digest_single_submenu)
6907 (update_submenu_strings): Move to menu.c.
6908
69092008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6910
6911 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6912
69132008-06-06 Miles Bader <miles@gnu.org>
6914
6915 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6916 face, not frame default.
6917
69182008-06-05 Martin Rudalics <rudalics@gmx.at>
6919
6920 * window.c (pop_up_windows, pop_up_frames)
6921 (display_buffer_reuse_frames, Vpop_up_frame_function)
6922 (Vdisplay_buffer_function, Veven_window_heights)
6923 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6924 (Vspecial_display_function, Vsame_window_buffer_names)
6925 (Vsame_window_regexps, split_height_threshold)
6926 (Vsplit_window_preferred_function): Move those vars to window.el.
6927 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6928 (Fdisplay_buffer): Move those functions to window.el.
6929 (syms_of_window): Remove corresponding declarations.
6930 (display_buffer): New function.
6931 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6932 * dispnew.c (Flast_nonminibuf_frame): New function.
6933 * buffer.c (Fpop_to_buffer): Move to window.el.
6934
69352008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6936
6937 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6938
69392008-06-05 Kenichi Handa <handa@m17n.org>
6940
6941 * coding.c (detect_coding): Fix previous change.
6942 (detect_coding_system): Likewise.
6943
69442008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6945
6946 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6947
6948 * keymap.c (Vminibuffer_local_filename_must_match_map):
6949 Rename from Vminibuffer_local_must_match_filename_map.
6950 (syms_of_keymap):
6951 * minibuf.c (Fcompleting_read): Adjust accordingly.
6952 * commands.h: Rename declaration as well.
6953
69542008-06-05 Kenichi Handa <handa@m17n.org>
6955
6956 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6957 family name.
6958 (Ffont_put): Likewise.
6959
6960 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6961 current font-spec.
6962
6963 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6964 is unspecified.
6965
6966 * xfaces.c (realize_x_face): If the font-related face attributes
6967 are the same as those of default face, realize a new fontset from
6968 default->fontset.
6969 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6970
69712008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6972
6973 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6974 (move_it_in_display_line): New wrapper.
6975
6976 * window.c (window_scroll_pixel_based_preserve_x)
6977 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6978 (window_scroll_pixel_based, window_scroll_line_based):
6979 Use them to preserve column positions.
6980 (syms_of_window): Initialize them.
6981
6982 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6983 (HPOS . VPOS) pair.
6984
6985 * dispextern.h (move_it_in_display_line): Declare.
6986
69872008-06-05 Juanma Barranquero <lekktu@gmail.com>
6988
6989 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6990 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6991 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6992
69932008-06-04 Juanma Barranquero <lekktu@gmail.com>
6994
6995 * window.c (Fset_window_parameter): Doc fix.
6996 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6997
69982008-06-04 Joakim Verona <joakim@verona.se>
6999
7000 * window.h (struct window): Add new member window_parameters.
7001
7002 * window.c (Fwindow_parameters, Fwindow_parameter)
7003 (Fset_window_parameter): New defuns.
7004 (syms_of_window): Defsubr the new defuns.
7005 (make_window): Initialize window_parameters to nil.
7006
70072008-06-04 John Paul Wallington <jpw@pobox.com>
7008
7009 * eval.c (Fdefmacro): Doc fix.
7010
70112008-06-04 Kenichi Handa <handa@m17n.org>
7012
7013 * coding.c (detect_coding): Fix handling of coding->head_ascii.
7014 Be sure to call setup_coding_system when we find a proper coding system.
7015 (detect_coding_system): Fix handling of coding->head_ascii.
7016
70172008-06-03 Andreas Schwab <schwab@suse.de>
7018
7019 * font.c (font_prop_validate_spacing): Fix last change.
7020
70212008-06-03 Kenichi Handa <handa@m17n.org>
7022
7023 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
7024 (font_parse_fcname): Fix handling of unknown key.
7025
7026 * xfont.c (xfont_list): Try an alias.
7027
7028 * charset.c (char_charset): Return NULL if the arg charset_list is
7029 specified and C doesn't belong to any of them.
7030
70312008-06-02 Chip Coldwell <coldwell@redhat.com>
7032
7033 * font.c (font_pixel_size): Don't take cdr of an integer.
7034
70352008-06-02 Jim Meyering <meyering@redhat.com>
7036
7037 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
7038 * alloc.c (xfree): Return right away for a NULL arg.
7039 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
7040 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
7041 * mac.c (create_apple_event_from_event_ref): Likewise.
7042 (create_apple_event_from_drag_ref, cfstring_create_normalized):
7043 Likewise.
7044 * doprnt.c (doprnt1): Likewise.
7045 * frame.c (frame): Likewise.
7046 * keyboard.c (wipe_kboard): Likewise.
7047 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
7048 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
7049 * term.c (tty_default_color_capabilities, maybe_fatal)
7050 (delete_tty): Likewise.
7051 * w16select.c (string): Likewise.
7052 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
7053 * w32bdf.c (w32_free_bdf_font): Likewise.
7054 * w32fns.c (w32_unload_font): Likewise.
7055 * w32font.c (w32font_close): Likewise.
7056 * window.c (size_window): Likewise.
7057 * xselect.c (receive_incremental_selection): Likewise.
7058 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
7059 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
7060 * w32.c (stat): Likewise.
7061
7062 Remove useless if-before-free tests.
7063 * editfns.c (Fset_time_zone_rule): Likewise.
7064 * lread.c (nosuffix): Likewise.
7065 * ralloc.c (get_bloc): Likewise.
7066 * regex.c (reg_free): Likewise.
7067 * xftfont.c (xftfont_open, xftfont_close): Likewise.
7068 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
7069 * xsmfns.c (smc_save_yourself_CB): Likewise.
7070
70712008-06-02 Kenichi Handa <handa@m17n.org>
7072
7073 * font.c (font_find_for_lface): Handle float font size.
7074 (font_open_for_lface): Likewise.
7075
7076 * xfaces.c (x_supports_face_attributes_p): Check face->font before
7077 comparing the properties.
7078
70792008-06-01 Jason Rumney <jasonr@gnu.org>
7080
7081 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
7082 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
7083 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
7084 Don't add empty script list.
7085 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
7086
70872008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
7088
7089 * Makefile.in (dot, dotdot): Remove, update users.
7090 ".." has been used elsewhere in the file for a long time.
7091 (LIBXT_STATIC): Remove conditional based on unused variable.
7092
70932008-06-01 Miles Bader <miles@gnu.org>
7094
7095 * xfaces.c (Vface_remapping_alist): New variable.
7096 (syms_of_xfaces): Initialize it.
7097 (enum named_merge_point_kind): New type.
7098 (struct named_merge_point): Add `named_merge_point_kind' field.
7099 (push_named_merge_point): Make cycle detection respect different
7100 named-merge-point kinds.
7101 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
7102 Remove face-name alias resolution.
7103 (lface_from_face_name): New definition using
7104 `lface_from_face_name_no_resolve'.
7105 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
7106 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
7107 (get_lface_attributes): New definition that layers face-remapping on
7108 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
7109 (lookup_basic_face): New function.
7110 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
7111 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
7112 `get_lface_attributes'.
7113 (face_at_buffer_position): Use `lookup_basic_face' to lookup
7114 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
7115 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
7116
7117 * xdisp.c (init_iterator): Pass base_face_id through
7118 `lookup_basic_face' when we actually use it as a face-id.
7119 (handle_single_display_prop): Use `lookup_basic_face' to lookup
7120 DEFAULT_FACE_ID.
7121
7122 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
7123 lookup the initial face-id.
7124
7125 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
7126
71272008-06-01 Juanma Barranquero <lekktu@gmail.com>
7128
7129 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
7130 (Fremove_text_properties): Fix typos in docstrings.
7131
71322008-05-31 Kenichi Handa <handa@m17n.org>
7133
7134 * font.c (font_list_entities): Fix the car part of data to be
7135 stored in the cache.
7136
7137 * ftfont.c (ftfont_font_format): Don't use strcasestr.
7138
71392008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
7140
7141 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
7142 Add a `test' argument so another predicate than `equal' can be used.
7143 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
7144 (map_char_table): Remove unused vars `c' and `i'.
7145 * lisp.h (Foptimize_char_table): Adjust declaration.
7146 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
7147
71482008-05-30 Kenichi Handa <handa@m17n.org>
7149
7150 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
7151 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
7152 defined.
7153
71542008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
7155
7156 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7157 (Fmake_variable_frame_local): Disallow mixing buffer-local and
7158 frame-local settings for the same variable.
7159
71602008-05-30 Kenichi Handa <handa@m17n.org>
7161
7162 * fontset.c (Ffont_info): Move to font.c.
7163 (syms_of_fontset): Delete defsubr of Sfont_info.
7164
7165 * font.c (font_style_to_value, font_score): Delete casting of the
7166 args to xstcasecmp.
7167 (register_font_driver): Increment num_font_drivers only when
7168 registering the driver globally.
7169 (Ffont_info): Move from fontset.c. Handle a font object too.
7170 (syms_of_font): Defsubr Sfont_info.
7171
71722008-05-29 Kenichi Handa <handa@m17n.org>
7173
7174 * coding.h (enum define_coding_utf8_arg_index): New enum.
7175 (enum coding_attr_index): Change coding_attr_utf_16_bom to
7176 coding_attr_utf_bom.
7177 (enum utf_bom_type): Rename from utf_16_bom_type.
7178 (struct utf_16_spec): Adjust for the above change.
7179 (struct coding_system): Add utf_8_bom in `spec' union.
7180
7181 * coding.c (CODING_UTF_8_BOM): New macro.
7182 (enum coding_category): Delete coding_category_utf_8, add
7183 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
7184 coding_category_utf_8_sig.
7185 (CATEGORY_MASK_UTF_8): Delete it.
7186 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
7187 (CATEGORY_MASK_UTF_8_SIG): New macros.
7188 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
7189 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
7190 CATEGORY_MASK_UTF_8_SIG.
7191 (CATEGORY_MASK_UTF_8): New macro.
7192 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
7193 (detect_coding_utf_8): Check BOM.
7194 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
7195 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
7196 (encode_coding_utf_16): Likewise.
7197 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
7198 (detect_coding, detect_coding_system): Handle utf-8-auto.
7199 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
7200 (syms_of_coding): Fix setting up of Vcoding_category_table.
7201
72022008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
7203
7204 * process.c (Faccept_process_output): If `millisec' is non-nil,
7205 `seconds' default to 0.
7206 (wait_reading_process_output): Also return non-nil if we read output
7207 from a non-running process.
7208
72092008-05-29 Jason Rumney <jasonr@gnu.org>
7210
7211 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
7212 `raster' specified.
7213 (add_font_entity_to_list): Allow non-opentype truetype fonts back
7214 in the uniscribe backend, but disallow any font that has no
7215 unicode subrange support.
7216
72172008-05-29 Juanma Barranquero <lekktu@gmail.com>
7218
7219 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
7220 Fix typos in docstrings.
7221
72222008-05-29 Kenichi Handa <handa@m17n.org>
7223
7224 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
7225 (Fx_family_fonts): Set frame correctly.
7226
72272008-05-28 Jason Rumney <jasonr@gnu.org>
7228
7229 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
7230
72312008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
7232
7233 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
7234 calling build_annotations.
7235
72362008-05-28 Juanma Barranquero <lekktu@gmail.com>
7237
7238 * coding.c (Fdecode_coding_region, Fencode_coding_region)
7239 (Fencode_coding_string):
7240 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
7241 <latin-extra-code-table>: Fix typos in docstrings.
7242 (syms_of_coding) <coding-system-alist>: Doc fix.
7243 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
7244
72452008-05-28 Kenichi Handa <handa@m17n.org>
7246
7247 * fontset.c (Ffont_info): Don't call font_close_object.
7248
7249 * font.c (font_parse_family_registry): Use Ffont_put to validate
7250 foundry and family.
7251 (font_delete_unmatched): Don't check spacing.
7252 (font_list_entities): Add spacing to the spec to list fonts.
7253
7254 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
7255 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
7256
7257 * coding.c (encode_coding_raw_text): Fix previous change.
7258 (encode_coding_object): When the dst_object is a buffer and is
7259 different from src_object, move gap to PT.
7260
72612008-05-27 Chong Yidong <cyd@stupidchicken.com>
7262
7263 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
7264
72652008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7266
7267 * coding.c (encode_coding_raw_text): Set coding->produced_char for
7268 all branches. Compute it differently.
7269
7270 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
7271
72722008-05-27 Juanma Barranquero <lekktu@gmail.com>
7273
7274 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
7275 into "else if () ... else ...".
7276
72772008-05-27 Jason Rumney <jasonr@gnu.org>
7278
7279 * w32font.c (w32font_open_internal): Determine if glyph indices
7280 are likely to work here.
7281
72822008-05-27 Chong Yidong <cyd@stupidchicken.com>
7283
7284 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
7285 draw overlap glyphs with appropriate highlighting.
7286
72872008-05-27 Kenichi Handa <handa@m17n.org>
7288
7289 * xfont.c (xfont_open): Fix calculation of font->average_width.
7290
72912008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7292
7293 * casefiddle.c (casify_object): Try to guess better whether the
7294 argument is a byte or a char.
7295
72962008-05-26 Andreas Schwab <schwab@suse.de>
7297
7298 * xselect.c (x_reply_selection_request): Properly handle format == 32.
7299 Always send multiples of format size.
7300
7301 * xterm.c (x_set_frame_alpha): Fix type mismatch.
7302
73032008-05-26 Jason Rumney <jasonr@gnu.org>
7304
7305 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
7306 (compute_metrics): Don't set failure if we just cleared the cache.
7307 (w32_weight_table): Remove unused variable.
7308 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
7309 backwards compatibility.
7310
73112008-05-25 Kenichi Handa <handa@m17n.org>
7312
7313 * w32term.c (x_draw_glyph_string):
7314 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
7315
7316 * xfaces.c: Delete unused function prototypes.
7317 (xstrlwr, font_frame): Delete them.
7318 (clear_face_cache): Delete unused variable.
7319
7320 * xftfont.c (xftfont_open): Delete unused variable.
7321 If underline_thickness is not 1, adjust underline_position.
7322
7323 * ftxfont.c (ftxfont_open): Delete unused variable.
7324
7325 * fontset.c (face_for_char): Optimize for the case of no charset
7326 property.
7327
7328 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
7329 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
7330 (otf_open, font_otf_capability, generate_otf_features)
7331 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7332 Comment out by surrounding "#if 0" and "#endif" for the moment.
7333 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
7334 (syms_of_font): Codes for accessing above commented out.
7335
73362008-05-24 Eli Zaretskii <eliz@gnu.org>
7337
7338 * w32proc.c: Include dispextern.h.
7339
7340 * w32.c: Include dispextern.h.
7341
73422008-05-23 Juanma Barranquero <lekktu@gmail.com>
7343
7344 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
7345 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
7346 Fix typos in docstrings.
7347
73482008-05-23 Jason Rumney <jasonr@gnu.org>
7349
7350 * xsmfns.c: Remove includes that are already included by config.h.
7351
73522008-05-23 Kenichi Handa <handa@m17n.org>
7353
7354 * charset.c (Qemacs, charset_emacs): New variables.
7355 (char_charset): Fix for non-Unicode characters.
7356 (syms_of_charset): Define charset_emacs.
7357
7358 * w32term.c (x_draw_glyph_string): Be sure to update
7359 s->underline_thickness and s->underline_position. Be sure to draw
7360 underline within the current line area.
7361
7362 * xterm.c (x_draw_glyph_string): Be sure to update
7363 s->underline_thickness and s->underline_position. Be sure to draw
7364 underline within the current line area.
7365
7366 * fontset.c: Delete unused variables and add casting for char *
7367 throughout the file.
7368 (fontset_font): Try the fallback fonts of the current fontset
7369 before consulting the default fontset.
7370
7371 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
7372
7373 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
7374
73752008-05-22 Jason Rumney <jasonr@gnu.org>
7376
7377 * font.c: Don't include strings.h.
7378
7379 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
7380
7381 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
7382 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
7383 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
7384 to call xstrcasecmp.
7385
7386 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
7387
7388 * fontset.c (fs_query_fontset): Use xstrcasecmp.
7389
7390 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
7391
7392 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
7393
73942008-05-22 Kenichi Handa <handa@m17n.org>
7395
7396 * puresize.h (BASE_PURESIZE): Increase to 1220000.
7397
7398 * font.c (font_prop_validate_style): Adjust for the format
7399 change of font_style_table.
7400
7401 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
7402 two args.
7403
7404 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
7405 two args.
7406
74072008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
7408
7409 * minibuf.c (keys_of_minibuf): Delete.
7410 * lisp.h (keys_of_minibuf): Delete.
7411 * emacs.c (main): Don't call keys_of_minibuf.
7412
74132008-05-22 Kenichi Handa <handa@m17n.org>
7414
7415 * ftfont.c (ftfont_resolve_generic_family): Rename from
7416 ftfont_list_generic_family. Return a single family for each
7417 generic family.
7418 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
7419 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
7420 Call font_add_log.
7421 (ftfont_match): Call font_add_log.
7422
7423 * font.h (Ffont_xlfd_name): EXFUN adjusted.
7424 (FONT_DEBUG): Define it.
7425 (font_add_log): Extern it.
7426 (font_assert): Rename from xassert.
7427
7428 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
7429 (xfont_list_family): Call font_add_log.
7430 (xfont_match): Likewise.
7431 (memq_no_quit): Delete.
7432
7433 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
7434 call of Ffont_xlfd_name.
7435
7436 * xfaces.c (struct table_entry, slant_table, weight_table)
7437 (swidth_table): Move to font.c.
7438
7439 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
7440 xassert are changed to font_assert. Delete many unused variables.
7441 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
7442 New variables.
7443 (struct table_entry): Move from xfaces.c and modified.
7444 (weight_table, slant_table, width_table): Move from xfaces.c and
7445 contents adjusted for the change of struct table_entry.
7446 (font_style_to_value, font_style_symbolic): Adjust for the
7447 format change of font_style_table.
7448 (font_parse_family_registry): Don't overwrite existing foundry and
7449 family of font_spec.
7450 (font_score): Fix calculation of diff for sizes.
7451 (font_sort_entites): Call font_add_log.
7452 (font_delete_unmatched): Return a newly created list.
7453 (font_list_entities): Fix previous change. Call font_add_log.
7454 (font_matching_entity, font_open_entity, font_close_entity):
7455 Call font_add_log.
7456 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
7457 (Finternal_set_font_style_table): Delete.
7458 (BUILD_STYLE_TABLE): New macro.
7459 (build_style_table): New function.
7460 (Vfont_log, font_log_env_checked): New variables.
7461 (font_add_log): New function.
7462 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
7463 Declare Lisp variables "font-weight-table", "font-slant-table",
7464 "font-width-table", and "font-log". Initialize font_style_table.
7465
74662008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
7467
7468 * xterm.c (x_set_frame_alpha): Move declarations before statements.
7469
74702008-05-21 Seiji Zenitani <zenitani@mac.com>
7471 Ryo Yoshitake <ryo@shiftmode.net>
7472
7473 * frame.c (Qalpha): Add a new frame parameter `alpha'.
7474 (Vframe_alpha_lower_limit): New variable.
7475 (x_set_alpha): New function.
7476
7477 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
7478
7479 * xfns.c (x-create-frame, Qalpha):
7480 Initialize the frame parameter `alpha'.
7481 * xterm.c (OPAQUE, OPACITY): New.
7482 (x_set_frame_alpha): New function.
7483 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
7484
7485 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
7486 * w32fns.c (w32_frame_parm_handlers): Likewise.
7487
74882008-05-20 Jason Rumney <jasonr@gnu.org>
7489
7490 * w32font.c (add_font_entity_to_list): Don't add non-opentype
7491 truetype fonts to opentype list.
7492
74932008-05-20 Juanma Barranquero <lekktu@gmail.com>
7494
7495 * fontset.c (Ffontset_info): Doc fix.
7496 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
7497 <ignore-relative-composition>: Fix typos in docstrings.
7498
7499 * font.c (syms-of-font) <font-encoding-alist>:
7500 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
7501 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
7502 (Ffont_otf_alternates): Doc fixes.
7503
75042008-05-20 Kenichi Handa <handa@m17n.org>
7505
7506 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
7507 font.h through out the file.
7508 (FONT_DRIVERS): Rename from FONTOBJ.
7509 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
7510 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
7511
7512 * emacs.c (main): Call syms_of_font unconditionally.
7513
7514 * font.h (find_font_encoding): Extern it.
7515
7516 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
7517 fontset.c.
7518 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
7519 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
7520 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
7521 only when HAVE_WINDOW_SYSTEM is defined.
7522 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
7523 when HAVE_WINDOW_SYSTEM is defined.
7524
7525 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
7526 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
7527
7528 * xfaces.c: Include font.h unconditionally.
7529 (merge_face_ref, merge_face_vectors)
7530 (Finternal_set_lisp_face_attribute): Cancel the previous change.
7531
75322008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
7533
7534 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
7535 indirect_variable.
7536 * eval.c (lisp_indirect_variable): New fun.
7537 (Fuser_variable_p): Use it.
7538
75392008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
7540
7541 * lisp.h (indirect_variable):
7542 * data.c (indirect_variable, let_shadows_buffer_binding_p):
7543 Use Lisp_Symbol pointers rather than Lisp_Object.
7544 Adjust callers.
7545 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
7546 To this end, change calling-convention.
7547
7548 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
7549 if some non-hidden buffers are selected by string&pred.
7550
75512008-05-19 Chong Yidong <cyd@stupidchicken.com>
7552
7553 * process.c (wait_reading_process_output): Always check status
7554 when in batch mode.
7555
75562008-05-19 Kenichi Handa <handa@m17n.org>
7557
7558 * font.c (font_list_entities): Fix handling of cache.
7559 (font_matching_entity): Likewise.
7560
7561 * ftfont.c (cs_iso8859_1): Delete.
7562 (ft_face_cache): New variable.
7563 (struct ftfont_info): New member fc_charset_idx.
7564 (ftfont_build_basic_charsets): Delete.
7565 (fc_charset_table): New variable.
7566 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
7567 . FC_CHARSET_IDX) as :font-entity property in the font entity.
7568 Callers changed.
7569 (ftfont_lookup_cache, ftfont_get_charset): New functions.
7570 (ftfont_spec_pattern): New argument fc_charset_idx.
7571 Check registry more rigidly. Change callers.
7572 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
7573 change of :font-entity property of the font.
7574
7575 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
7576 property of the font.
7577
75782008-05-18 Juanma Barranquero <lekktu@gmail.com>
7579
7580 * coding.c (Fcoding_system_p): Rename argument to match docstring.
7581 (Funencodable_char_position, Fcheck_coding_systems_region)
7582 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
7583 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
7584 (Ffind_operation_coding_system, Fset_coding_system_priority)
7585 (Fcoding_system_eol_type): Doc fixes.
7586
75872008-05-17 Glenn Morris <rgm@gnu.org>
7588
7589 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
7590
75912008-05-16 Eli Zaretskii <eliz@gnu.org>
7592
7593 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
7594 and st_gid.
7595
7596 * frame.c (Fdelete_frame): Don't call font_update_drivers if
7597 HAVE_WINDOW_SYSTEM is not defined.
7598
7599 * xfaces.c (merge_face_ref, merge_face_vectors)
7600 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
7601 HAVE_WINDOW_SYSTEM is defined.
7602 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
7603
76042008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
7605
7606 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
7607
76082008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7609
7610 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
7611
76122008-05-15 Kenichi Handa <handa@m17n.org>
7613
7614 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
7615 preference.
7616
76172008-05-15 Glenn Morris <rgm@gnu.org>
7618
7619 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
7620
76212008-05-15 Chong Yidong <cyd@stupidchicken.com>
7622
7623 * fns.c (init_fns): Don't initialize weak_hash_tables here.
7624 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
7625
7626 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
7627
76282008-05-15 Kenichi Handa <handa@m17n.org>
7629
7630 * ftfont.c (ftfont_list): Downcase family name to check generic
7631 families.
7632
7633 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
7634 font-spec for QCfont value.
7635
7636 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
7637 buffer. Check the return value of it.
7638
76392008-05-14 Jason Rumney <jasonr@gnu.org>
7640
7641 * w32term.c (w32_get_glyph_overhangs): Remove.
7642 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
7643
76442008-05-14 Kenichi Handa <handa@m17n.org>
7645
7646 * font.c (font_prop_validate): Make nil a valid value.
7647 (font_clear_cache): Check if the cached vector of entities is nil
7648 or not.
7649
76502008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7651
7652 * emacs.c (main_thread): Conditionalize on
7653 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7654 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
7655
7656 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
7657 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
7658 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7659
76602008-05-14 Kenichi Handa <handa@m17n.org>
7661
7662 * coding.c (detect_coding_iso_2022): Ignore a coding category that
7663 has no corresponding coding system.
7664
76652008-05-14 Jason Rumney <jasonr@gnu.org>
7666
7667 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
7668
7669 * w32font.h (w32font_open_internal): Update declaration.
7670
7671 * w32font.c (w32font_open_internal): Change last argument from
7672 w32font_info struct to font object. Fill in font object from
7673 font_entity. Get Outline metrics if possible. Use them to
7674 calculate underline position and thickness. Use xlfd name as name
7675 property. Don't set codepage.
7676 (w32font_open): Pass font_object to w32font_open_internal. Don't
7677 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
7678 (w32font_draw): Use s->font.
7679 (clear_cached_metrics): Don't clear non-existent blocks.
7680
7681 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
7682 font was not found.
7683 (x_draw_glyph_string): Use underline position and thickness from font.
7684
7685 * w32uniscribe.c (uniscribe_open): Pass font_object to
7686 w32font_open_internal.
7687
76882008-05-14 Kenichi Handa <handa@m17n.org>
7689
7690 These changes are to delete all legacy font-handling codes, and
7691 make Emacs use only font-backends.
7692
7693 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
7694 (frame.o, image.o, print.o): Depend on $(FONTSRC).
7695
7696 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
7697
7698 * charset.h (Vcharset_non_preferred_head)
7699 (Vcurrent_iso639_language): Extern them.
7700
7701 * charset.c (Vcharset_non_preferred_head): New variable.
7702 (Vcurrent_iso639_language): New variable.
7703 (syms_of_charset): Declare it as a Lisp variable.
7704 (char_charset): Don't check non preferred charsets. As a last
7705 resort, return charset_unicode.
7706 (Fset_charset_priority): Update Vcharset_non_preferred_head.
7707
7708 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
7709 conditionals. Don't check enable_font_backend. Delete all codes
7710 used only when USE_FONT_BACKEND is not defined.
7711
7712 * dispextern.h (struct glyph_string): Change type of `font' to
7713 `struct font *'.
7714 (struct glyph_string): New member underline_position and
7715 underline_thickness.
7716 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
7717 (struct face): Change type of `font' to `struct font *'. Remove
7718 members `font_name', `font_info_id'.
7719 (per_char_metric, encode_char): Delete externs.
7720 (calc_pixel_width_or_height): Adjust the prototype.
7721
7722 * emacs.c (enable_font_backend): Delete extern.
7723 (main): Don't set enable_font_backend. Don't check the command
7724 line argument "-disable-font-backend".
7725
7726 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
7727 (enum font_property_index): New members FONT_DPI_INDEX,
7728 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
7729 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
7730 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
7731 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
7732 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
7733 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
7734 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
7735 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
7736 (struct font_spec, struct font_entity): New structs.
7737 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
7738 (struct font): Many members from old "struct font_info" moved to
7739 here. Members font and entity deleted.
7740 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
7741 the new font-related objects.
7742 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
7743 (CHECK_FONT_GET_OBJECT): Likewise.
7744 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
7745 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
7746 (struct font_driver): New members case_sensitive anc check. Type
7747 of the member list and open changed.
7748 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
7749 (font_symbolic_width, font_find_object, font_get_spec)
7750 (font_set_lface_from_name): Delete extern.
7751 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
7752
7753 * font.c: Include <strings.h>.
7754 (enable_font_backend): Delete it.
7755 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
7756 (CHECK_VALIDATE_FONT_SPEC): Delete it.
7757 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
7758 (null_string): Delete it.
7759 (null_vector): Make it static.
7760 (font_family_alist): Delete it.
7761 (Qnormal): Extern it.
7762 (QCextra, QClanguage): Delete it.
7763 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
7764 (font_make_spec, font_make_entity, font_make_object)
7765 (font_intern_prop): Renamed from intern_downcase. Don't downcase
7766 the string. Callers changed.
7767 (font_pixel_size): Adjusted for the format change of font-related
7768 objects.
7769 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
7770 (font_style_to_value, font_style_symbolic): New function.
7771 (build_font_family_alist): Delete it.
7772 (font_registry_charsets): Use Fassoc_string instead of
7773 assq_no_quit.
7774 (font_prop_validate_symbol): Don't return null_string.
7775 (font_prop_validate_style): Adjusted for the change of
7776 style-related values in a font vector.
7777 (font_property_table): Delete entries for QClanguage and
7778 QCantialias, add entries for QCavgwidth.
7779 (get_font_prop_index): Delete the 2nd argument FROM.
7780 (font_prop_validate): Arguments changed.
7781 (font_put_extra): Adjusted for the change of font-related objects.
7782 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
7783 (font_parse_fcname, font_unparse_fcname)
7784 (font_prepare_composition): Likewise.
7785 (font_parse_family_registry): Renamed from font_merge_old_spec.
7786 (otf_open): Delete the 1st arg entity.
7787 (font_otf_capability): Adjusted for the above change.
7788 (font_score): New arg alternate_families. Adjusted for the change
7789 of font-related objects.
7790 (font_sort_entites): New arg best_only.
7791 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
7792 Delete them.
7793 (font_match_p): Check alternate families.
7794 (font_find_object): Delete it.
7795 (font_check_object): New function.
7796 (font_clear_cache): Adjusted for the change of font-related objects.
7797 (font_delete_unmatched): New arg.
7798 (font_list_entities): Call font_driver->list with a spec that
7799 doesn't specify style-related properties.
7800 (font_matching_entity): Arguments changed. Caller changed.
7801 (font_open_entity): Adjusted for the change of font-related objects.
7802 (font_close_object, font_has_char, font_encode_char)
7803 (font_get_name, font_get_spec): Likewise.
7804 (font_spec_from_name, font_clear_prop, font_update_lface):
7805 New functions.
7806 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
7807 (font_prepare_for_face, font_done_for_face, font_open_by_name)
7808 (font_at): Adjusted for the change of font-related objects.
7809 (font_range): New function.
7810 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
7811 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
7812 (Fcopy_font_spec, Fmerge_font_spec): New function.
7813 (Ffont_family_list): Renamed from list-families.
7814 (Finternal_set_font_style_table): Arguments changed.
7815 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
7816 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
7817 change of font-related objects.
7818 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
7819
7820 * fontset.h (struct font_info): Delete it. Most members go to
7821 struct font.
7822 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
7823 (enum FONT_SPEC_INDEX): Delete it.
7824 (font_info, list_fonts_func, load_font_func, query_font_func)
7825 (set_frame_fontset_func, find_ccl_program_func)
7826 (get_font_repertory_func, new_fontset_from_font_name): Delete
7827 externs.
7828 (fontset_from_font_name): Extern it.
7829 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
7830 (FONT_INFO_FROM_FACE): Deleted.
7831 (face_for_font): Adjust prototype.
7832
7833 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
7834 conditionals. Don't check enable_font_backend. Delete all codes
7835 used only when USE_FONT_BACKEND is not defined.
7836 (get_font_info_func, list_font_func, load_font_func)
7837 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
7838 (get_font_repertory_func): Delete them.
7839 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
7840 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
7841 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
7842 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
7843 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
7844 (fontset_compare_rfontdef): New function.
7845 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
7846 rfont-defs by qsort. Adjusted for the change of font-group vector.
7847 (load_font_get_repertory): Deleted.
7848 (fontset_find_font): Use new macros to ref/set elements of
7849 font-def and rfont-def.
7850 (fontset_font): Fix the timing of remembering that no font for C.
7851 (free_face_fontset): Do nothing if the face has no fontset.
7852 (face_suitable_for_char_p): Use new macros to ref/set elements of
7853 rfont-def.
7854 (face_for_char): Likewise. Call face_for_char with font_object.
7855 (fs_load_font): Delete. Delete #pragma surrounding it.
7856 (fs_query_fontset): Use strcasecmp instead of strcmp.
7857 (generate_ascii_font_name): Adjusted for the format change of
7858 font-spec.
7859 (Fset_fontset_font): Likewise. Use new macros to set elements of
7860 font-def.
7861 (Fnew_fontset): Use font_unparse_xlfd to generate
7862 FONTSET_ASCII (fontset).
7863 (new_fontset_from_font_name): Deleted.
7864 (fontset_from_font): Renamed from new_fontset_from_font. Check if
7865 a fontset is already created for the font. FIx updating of
7866 Vfontset_alias_alist.
7867 (fontset_ascii_font): Deleted.
7868 (Ffont_info): Adjusted for the format change of font-spec.
7869 (Finternal_char_font): Likewise.
7870 (Ffontset_info): Likewise.
7871 (syms_of_fontset): Don't check load_font_func.
7872
7873 * fns.c (internal_equal): Handle PREV_FONT.
7874
7875 * frame.h: Delete USE_FONT_BACKEND conditional.
7876
7877 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
7878 conditionals. Don't check enable_font_backend. Delete all codes
7879 used only when USE_FONT_BACKEND is not defined.
7880 (x_set_font): Call x_new_font, not x_new_fontset2.
7881 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
7882 already set for the frame.
7883
7884 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
7885 a font-entity by font_make_entity. Use font_intern_prop instead
7886 of intern_downcase. Use FONT_SET_STYLE to set a style-related
7887 font property. If a font is scalable, set avgwidth property to 0.
7888 Set font-entity property by font_put_extra.
7889 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
7890 (ffont_driver): Adjusted for the change of struct font_driver.
7891 (ftfont_spec_pattern): New function.
7892 (ftfont_list): Return a list, not vector.
7893 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
7894 (ftfont_list_family): Don't downcase names.
7895 (ftfont_free_entity): Deleted.
7896 (ftfont_open): Return a font-object. Adjusted for the change of
7897 struct font. Get underline_thickness and underline_position from
7898 font property. Don't update dpyinfo->smallest_font_height and
7899 dpyinfo->smallest_char_width.
7900 (ftfont_close): Don't free `struct font'.
7901 (ftfont_has_char): Adjusted for the format change of font-entity.
7902 (ftfont_encode_char, ftfont_text_extents): Likewise.
7903
7904 * ftxfont.c (ftxfont_list): Return a list, not vector.
7905 (ftxfont_open): Return a font-object. Adjusted for the change of
7906 struct font. Get underline_thickness and underline_position from
7907 font property. Don't update dpyinfo->smallest_font_height and
7908 dpyinfo->smallest_char_width.
7909 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7910 (ftxfont_draw): Adjusted for the change of struct font.
7911
7912 * image.c (image_ascent): Don't include "charset.h". Include
7913 "character.h" and "font.h".
7914
7915 * lisp.h (enum pvec_type): New member PREV_FONT.
7916 (Fassoc_string): EXFUN it.
7917
7918 * print.c: Include font.h.
7919 (print_object): Handle font-related objects.
7920
7921 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
7922 conditionals. Don't check enable_font_backend. Delete all codes
7923 used only when USE_FONT_BACKEND is not defined.
7924 (handle_auto_composed_prop): Do nothing if it->f is not on a
7925 window system. Check how many following characters can be
7926 displayed by the same font.
7927 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7928 'struct font *'.
7929 (get_char_face_and_encoding): Assign the whole encoding task to
7930 the `encode-char' method of a font driver.
7931 (fill_composite_glyph_string): Adjusted for the change of `struct
7932 face' and `struct glyph_string'.
7933 (fill_glyph_string): Likewise.
7934 (get_per_char_metric): Arguments changed.
7935 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7936 and `struct glyph_string'.
7937 (produce_stretch_glyph, calc_line_height_property)
7938 (x_produce_glyphs): Likewise.
7939
7940 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7941 conditionals. Don't check enable_font_backend. Delete all codes
7942 used only when USE_FONT_BACKEND is not defined. Use
7943 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7944 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7945 (Qp): Extern them.
7946 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7947 Deleted.
7948 (struct font_name): Deleted.
7949 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7950 (compare_fonts_by_sort_order): New function.
7951 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7952 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7953 Deleted.
7954 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7955 compare_fonts_by_sort_order.
7956 (Fx_font_family_list): Call Ffont_family_list.
7957 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7958 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7959 (face_symbolic_slant, face_symbolic_swidth)
7960 (split_font_name_into_vector, build_font_name_from_vector)
7961 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7962 (font_rescale_ratio, split_font_name, build_font_name)
7963 (free_font_names, sort_fonts, x_face_list_fonts)
7964 (face_font_available_p, sorted_font_list, cmp_font_names)
7965 (font_list_1, concat_font_list, font_list, remove_duplicates):
7966 Deleted.
7967 (Fx_list_fonts): Use Ffont_list.
7968 (LFACE_AVGWIDTH): Deleted.
7969 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7970 by FONTP.
7971 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7972 (set_lface_from_font_name): Delete it.
7973 (set_lface_from_font): Renamed from
7974 set_lface_from_font_and_fontset. Caller changed. Don't set
7975 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7976 for face.
7977 (merge_face_vectors): Copy font-spec if necessary.
7978 Clear properties of the font-spec if necessary.
7979 (merge_face_ref): Clear properties of the font-spec if necessary.
7980 (Finternal_set_lisp_face_attribute): Likewise.
7981 (set_font_frame_param): Use font_load_for_lface to load a
7982 font-object, and call Fmodify_frame_parameters with it.
7983 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7984 font name by Ffont_xlfd_name.
7985 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7986 QCslant, and QCwidth.
7987 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7988 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7989 Compare fonts by EQ.
7990 (lookup_non_ascii_face): Deleted.
7991 (face_for_font): The 2nd argument changed.
7992 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7993 Check atomic font properties by case insensitive.
7994 (realize_non_ascii_face): Set face->overstrike correctly.
7995 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7996 (dump_realized_face): Get font name from
7997 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7998
7999 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
8000 conditionals. Don't check enable_font_backend. Delete all codes
8001 used only when USE_FONT_BACKEND is not defined.
8002 (xic_create_xfontset): Original code deleted and renamed from
8003 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
8004 (x_make_gc): Don't set GCFont in GCs.
8005 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
8006 opened by "fixed".
8007 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
8008 find_ccl_program_func, query_font_func, set_frame_fontset_func,
8009 get_font_repertory_func.
8010
8011 * xfont.c: Include <stdlib.h> and "ccl.h".
8012 (struct xfont_info): New structure.
8013 (xfont_query_font): Deleted.
8014 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
8015 moved from xterm.c.
8016 (xfont_driver): Adjusted for the change of struct font_driver.
8017 (compare_font_names): New function.
8018 (xfont_list_pattern): Sort font names case insensitively. Make
8019 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
8020 (xfont_list): Return a list, not vector.
8021 (xfont_match): If the font doesn't have QCname property, generate
8022 a name from the other font properties.
8023 (xfont_open): Return a font-object. Adjusted for the change of
8024 struct font. Get underline_thickness and underline_position from
8025 font property. Don't update dpyinfo->smallest_font_height and
8026 dpyinfo->smallest_char_width.
8027 (xfont_close): Don't free struct font.
8028 (xfont_prepare_face): Adjusted for the change of struct font.
8029 (xfont_done_face): Deleted.
8030 (xfont_has_char): Adjusted for the change of struct font.
8031 (xfont_encode_char, xfont_draw): Likewise.
8032 (xfont_check): New function.
8033
8034 * xftfont.c (xftfont_list): Adjusted for the change of `list'
8035 callback function.
8036 (xftfont_match): Adjusted for the format change of font-entity.
8037 (xftfont_open): Adjusted for the format change of font-entity and
8038 font-object. Adjusted for the change of struct font. Return a
8039 font-object. Don't update dpyinfo->smallest_font_height and
8040 dpyinfo->smallest_char_width.
8041 (xftfont_close): Block input while calling XftFontClose.
8042 (xftfont_prepare_face): Don't block input while calling
8043 xftfont_get_colors. Adjusted for the change of struct font.
8044 (xftfont_shape): Return value of error case fixed.
8045
8046 * xrdb.c (x_load_resources): Don't setup a fontset resource.
8047
8048 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
8049 conditionals.
8050 (FONT_WIDTH): Return (f)->max_width.
8051 (struct x_display_info): Delete member `font'.
8052 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
8053 (x_find_ccl_program, x_get_font_repertory): Delete externs.
8054 (struct x_output): Change type of `font' to `struct font *'.
8055
8056 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
8057 conditionals. Don't check enable_font_backend. Delete all codes
8058 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
8059 (x_per_char_metric, x_encode_char): Deleted.
8060 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
8061 (x_compute_glyph_string_overhangs): Adjusted for the change of
8062 `struct face'.
8063 (x_draw_glyph_string_foreground)
8064 (x_draw_composite_glyph_string_foreground): Likewise.
8065 (x_draw_glyph_string): Likewise. Use font->underline_position and
8066 font->underline_thickness.
8067 (x_new_font): Renamed from x_new_fontset2.
8068 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
8069 (x_check_font): Call `check' method of a font driver.
8070 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
8071 (x_query_font, x_get_font_repertory): Deleted.
8072 (x_find_ccl_program): Renamed and moved to xfont.c.
8073 (x_redisplay_interface): Adjusted for the change of `struct
8074 redisplay_interface'.
8075
8076 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
8077 conditionals. Don't check enable_font_backend. Delete all codes
8078 used only when USE_FONT_BACKEND is not defined. Surround non-used
8079 code by "#ifdef OLD_FONT" and "endif".
8080 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
8081
8082 * w32font.h (struct w32font_info): New member.
8083 (FONT_COMPAT): New macro.
8084 (w32font_open_internal): Prototype adjusted.
8085
8086 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
8087 OLD_FONT" and "endif".
8088
8089 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
8090 conditionals. Don't check enable_font_backend. Delete all codes
8091 used only when USE_FONT_BACKEND is not defined.
8092 (w32font_open): Return a font-object. Make a font-object by
8093 font_make_object. Adjusted for the change of struct w32font_info.
8094 (w32font_close): Don't free struct font. Adjusted for the change
8095 of struct w32font_info.
8096 (w32font_encode_char, w32font_text_extents, w32font_draw):
8097 Adjusted for the change of struct w32font_info.
8098 (w32font_draw): Likewise.
8099 (w32font_list_internal): Return a list, not vector.
8100 (w32font_open_internal): Change the 4th arg to font-object.
8101 Adjusted for the change of struct w32font_info and font-object format.
8102 (add_font_name_to_list): Don't downcase names.
8103 (w32_enumfont_pattern_entity): Make a font-entity by
8104 font_make_entity. Adjusted for the format change of font-entity.
8105 Use FONT_SET_STYLE to set a style-related font property. If a
8106 font is scalable, set avgwidth property to 0. Set font-entity
8107 property by font_put_extra.
8108 (font_matches_spec): Adjusted for the format change of font-entity.
8109 (w32_weight_table, w32_decode_weight): New variables.
8110 (w32_encode_weight): New function.
8111 (fill_in_logfont): Adjusted for the format change of font-spec.
8112 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
8113 weight value.
8114 (w32font_driver): Adjusted for the change of struct font_driver.
8115
8116 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
8117 conditionals. Don't check enable_font_backend. Surround non-used
8118 code by "#ifdef OLD_FONT" and "endif".
8119 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
8120 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
8121
8122 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
8123 conditionals. Don't check enable_font_backend. Delete all codes
8124 used only when USE_FONT_BACKEND is not defined. Surround non-used
8125 code by "#ifdef OLD_FONT" and "endif".
8126
8127 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
8128 (uniscribe_open): Return value changed to font-object.
8129 Adjusted for the format change of font-object.
8130 (uniscribe_otf_capability): Adjusted for the change of struct font.
8131 (add_opentype_font_name_to_list): Don't downcase names.
8132 (uniscribe_font_driver): Adjusted for the change of struct
8133 font_driver.
8134
81352008-05-13 Chong Yidong <cyd@stupidchicken.com>
8136
8137 * dispnew.c (update_frame_1): Check if tty output is still valid
8138 before flushing it.
8139
81402008-05-13 Jan Djärv <jan.h.d@swipnet.se>
8141
8142 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
8143 to Gtk+ menus.
8144
81452008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
8146
8147 * dired.c (file_name_completion): Tweak the code so as to always do it
8148 in a single pass. Tighten the scope of some variables.
8149
8150 * dired.c (Qdefault_directory): New var.
8151 (file_name_completion): Use it instead of Fexpand_file_name.
8152 (syms_of_dired): Initialize it.
8153
81542008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
8155
8156 * fileio.c (double_dollars): Remove dead code.
8157
81582008-05-10 Eli Zaretskii <eliz@gnu.org>
8159
8160 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
8161 Mention w32-get-true-file-attributes in doc string.
8162
8163 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
8164
81652008-05-09 Glenn Morris <rgm@gnu.org>
8166
8167 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
8168 2008-04-23.
8169
81702008-05-09 Eli Zaretskii <eliz@gnu.org>
8171
8172 Support for reporting owner and group of each file on MS-Windows:
8173 * dired.c (stat_uname, stat_gname): New functions, with special
8174 implementation for w32.
8175 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
8176
8177 * w32.c: Rename the_passwd_* to dflt_passwd_*.
8178 (dflt_group_name): New static variable.
8179 (dflt_group): Rename from the_group.
8180 (init_user_info): Init dflt_group fields. Get user's group name
8181 from LookupAccountSid.
8182 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
8183 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
8184 New initialization states.
8185 (globals_of_w32): Initialize them to zero. Initialize the default
8186 group name to "None".
8187 (GetFileSecurity_Name): New global var, the name of the function
8188 to call for GetFileSecurity.
8189 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
8190 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
8191 (get_file_security, get_security_descriptor_owner)
8192 (get_security_descriptor_group, is_valid_sid)
8193 (get_file_security_desc, get_rid, get_name_and_id)
8194 (get_file_owner_and_group): New functions.
8195 (stat): Use get_file_security_desc and get_file_owner_and_group to
8196 report the owner and primary group of each file. Don't ignore the
8197 high 32 bits of file's size, now that st_size is 64-bit wide.
8198 Fix test when to get true file attributes.
8199 (init_user_info): Use get_rid instead of equivalent inline code.
8200 (fstat): Don't ignore the high 32 bits of file's size.
8201
82022008-05-09 Chong Yidong <cyd@stupidchicken.com>
8203
8204 * image.c (png_load): Use correct bit-depth for setting background
8205 color.
8206
82072008-05-08 Eli Zaretskii <eliz@gnu.org>
8208
8209 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
8210 epa-hook.elc.
8211
82122008-05-08 Juanma Barranquero <lekktu@gmail.com>
8213
8214 * font.c (Ffont_match_p): Don't use `iff' in docstring.
8215
82162008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
8217
8218 * macfns.c (Fx_create_frame): Make a copy of frame parameters
8219 because the original parameters are in pure storage now.
8220 (mac_window): Remove unused params. Update callers.
8221
82222008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
8223
8224 * lread.c (substitute_object_recurse): Use lower-level primitives.
8225 Don't signal errors when traversing sub-char-tables.
8226 Don't loop over all the possible characters when traversing char-tables.
8227
8228 * print.c (print_preprocess): Add sub-char-tables to the print-table,
8229 just like we do in print.c.
8230
82312008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
8232
8233 * minibuf.c (Ftry_completion): Remove code left over from when we used
8234 scmp instead of Fcompare_strings.
8235
82362008-05-04 Juanma Barranquero <lekktu@gmail.com>
8237
8238 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
8239
82402008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8241
8242 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
8243 Create bitmap context in native byte order.
8244
8245 * macterm.c (XDrawLine)
8246 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
8247 context in native byte order.
8248
82492008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8250
8251 * config.in: Regenerate.
8252
8253 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
8254 New definitions for Image I/O support.
8255 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
8256 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
8257 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8258 (mac_data_provider_release_data, image_load_image_io)
8259 [USE_MAC_IMAGE_IO]: New functions.
8260 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
8261 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
8262 (init_image_func_pointer) [MAC_OSX]: Remove function.
8263 (image_load_quartz2d) [MAC_OSX]: Check availability of
8264 CGImageCreateWithPNGDataProvider at compile time.
8265 Use lowercase `false' for boolean constant.
8266 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
8267 Use image_load_image_io.
8268 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
8269 Don't check MyCGImageCreateWithPNGDataProvider.
8270 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
8271 Don't call init_image_func_pointer.
8272
8273 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
8274
8275 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
8276 Make variable non-static.
8277 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
8278 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8279
8280 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
8281 (RED_FROM_ULONG): Mask off higher bits.
8282 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
8283
8284 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
8285 Include AvailabilityMacros.h.
8286 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
8287 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
8288
82892008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
8290
8291 * chartab.c (Fset_char_table_range): If range is t, really set all
8292 chars to that value.
8293
82942008-05-03 Eli Zaretskii <eliz@gnu.org>
8295
8296 * dired.c (Ffile_attributes): Don't allow the device number become
8297 negative.
8298
82992008-05-02 Daiki Ueno <ueno@unixuser.org>
8300
8301 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
8302
83032008-05-02 Juri Linkov <juri@jurta.org>
8304
8305 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
8306 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
8307 DEFAULT argument as a list of default values in docstrings.
8308
83092008-05-01 Chong Yidong <cyd@stupidchicken.com>
8310
8311 * puresize.h (BASE_PURESIZE): Increase to 1210000.
8312
83132008-05-01 Martin Rudalics <rudalics@gmx.at>
8314
8315 * dispnew.c (change_frame_size_1): Preserve small windows when
8316 shrinking frames by calling set_window_height|width with third
8317 arg 2.
8318
8319 * window.h (struct window): Replace field too_small_ok by field
8320 resize_proportionally.
8321
8322 * window.c (make_window): Initialize resize_proportionally.
8323 (enlarge_window): Temporarily set resize_proportionally to make
8324 sure that shrink_windows does scale the window proportionally.
8325 (shrink_windows): When window has resize_proportionally set try
8326 to shrink it proportionally by stealing from other windows.
8327 (struct saved_window, Fset_window_configuration)
8328 (compare_window_configurations): Handle resize_proportionally.
8329 (WINDOW_TOTAL_SIZE): New macro.
8330 (window_min_size, shrink_windows, size_window): Use it.
8331 (check_min_window_sizes): Remove. Invalid values of
8332 window-min-height|width are handled by window_min_size_2 now.
8333 (size_window, Fsplit_window, enlarge_window)
8334 (adjust_window_trailing_edge, grow_mini_window): Don't call
8335 check_min_window_sizes.
8336 (window_min_size_2, window_min_size_1, window_min_size):
8337 New argument safe_p for retrieving "safe" minimum sizes.
8338 (Fdisplay_buffer, Fsplit_window, enlarge_window)
8339 (adjust_window_trailing_edge, grow_mini_window):
8340 Adjust arguments of window_min_size... functions.
8341 (shrink_windows): Argument min_size removed. New argument
8342 safe_p allows shrinking windows to their safe minimum sizes.
8343 Calculate minimum size and decide whether a window shall be
8344 deleted for each window individually.
8345 (size_window): When nodelete_p equals 2, tell shrink_windows to
8346 delete windows only if their new minimum size is no more safe.
8347 (shrink_window_lowest_first): Call window_min_size_1 to make
8348 sure to preserve modeline of bottom-most window when resizing
8349 the minibuffer.
8350 (Fset_window_configuration, Fcurrent_window_configuration)
8351 (compare_window_configurations): Do not handle
8352 window-min-height|width any more.
8353 (syms_of_window): Clarify window-min-height|width doc-strings.
8354
83552008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
8356
8357 * dired.c (file_name_completion): Fix up the encoding/decoding issue
8358 some more. Copy some of the code from Ftry_completions.
8359 Remove special case code that dates back to initial revision when the
8360 slash was only added when necessary and that can't trigger nowadays.
8361
83622008-04-27 Kenichi Handa <handa@m17n.org>
8363
8364 * font.c (font_prop_validate): Signal `error' instead of `font'.
8365
83662008-04-29 Jason Rumney <jasonr@gnu.org>
8367
8368 * w32fns.c (Fw32_battery_status): New defun.
8369 (syms_of_w32fns): Defsubr it.
8370
83712008-04-28 Andreas Schwab <schwab@suse.de>
8372
8373 * dired.c (file_name_completion): Fix another mixing of encoded
8374 and decoded names.
8375
83762008-04-28 Juanma Barranquero <lekktu@gmail.com>
8377
8378 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
8379
83802008-04-27 Juanma Barranquero <lekktu@gmail.com>
8381
8382 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
8383
83842008-04-27 Andreas Schwab <schwab@suse.de>
8385
8386 * dired.c (file_name_completion): Fix inappropriate mixing of
8387 encoded and decoded names.
8388
8389 * xterm.c (XTread_socket): Fix use of uninitialized variable.
8390
8391 * puresize.h (BASE_PURESIZE): Increase to 1200000.
8392
83932008-04-26 Eli Zaretskii <eliz@gnu.org>
8394
8395 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
8396 2008-03-31, it's not needed anymore with `struct stat' definition
8397 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
8398 for the same reasons.
8399
84002008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
8401
8402 * m/sparc.h: Additional redefinitions for GNU/Linux.
8403
84042008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8405
8406 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
8407 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
8408 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
8409 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
8410 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8411 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
8412 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8413 Likewise.
8414
8415 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
8416 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
8417 (mac_ax_number_of_characters): Add externs.
8418 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8419 [USE_MAC_TSM]: Likewise.
8420 (mac_handle_text_input_event) [MAC_OSX]:
8421 Handle kEventTextInputOffsetToPos for no active input area case.
8422 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8423 (mac_handle_document_access_event)
8424 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
8425 (install_application_handler) [MAC_OSX]: Register handlers for
8426 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8427 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8428 Register mac_handle_document_access_event.
8429
8430 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
8431 Make functions non-static.
8432
84332008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
8434
8435 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
8436 (read_file_name_completion_ignore_case, insert_default_directory)
8437 (Qdefault_directory): Move to minibuffer.el.
8438 (Fread_file_name): Call the new `read-file-name' instead.
8439
84402008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8441
8442 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
8443 Make function non-static.
8444 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
8445 Remove function.
8446 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8447 Move to mactoolbox.c.
8448 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
8449
8450 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
8451 (mac_rect_make): New macro.
8452
8453 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
8454 instead of float.
8455 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8456 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
8457 (XSetBackground) [USE_CG_DRAWING]: Likewise.
8458 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
8459 CGRectMake.
8460 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8461 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
8462 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
8463 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8464 instead of WindowRef in argument type.
8465 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
8466 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
8467 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
8468 instead of DISPLAY. All uses changed.
8469 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
8470 (x_calc_absolute_position): Simplify so as not to use
8471 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
8472
8473 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8474 instead of WindowRef in argument type.
8475 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
8476 [TARGET_API_MAC_CARBON]: Remove externs.
8477 (create_apple_event, mac_event_parameters_to_lisp)
8478 [TARGET_API_MAC_CARBON]: Add externs.
8479
8480 * mactoolbox.c (Vmac_ts_script_language_on_focus)
8481 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
8482 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
8483 is clicked.
8484 (x_activate_menubar): Remove extern for saved_menu_event_location.
8485 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8486 Move from mac.c.
8487
84882008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8489
8490 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
8491 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
8492
84932008-04-23 Jason Rumney <jasonr@gnu.org>
8494
8495 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
8496 attributes only for local files.
8497
8498 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
8499 default to Qlocal.
8500
85012008-04-22 Juri Linkov <juri@jurta.org>
8502
8503 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
8504 read-buffer-to-switch instead of using the letter "B".
8505
85062008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
8507
8508 * fileio.c (Qdefault_directory): New variable.
8509 (Fread_file_name): Use it to pass `dir' to the completion functions.
8510
85112008-04-20 Chong Yidong <cyd@stupidchicken.com>
8512
8513 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
8514
85152008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
8516
8517 * keyboard.c (Vpre_help_message): Remove.
8518 (show_help_echo): Remove default C code.
8519
8520 * dired.c (directory_files_internal, file_name_completion):
8521 Only call ENCODE_FILE if the string is indeed decoded.
8522
85232008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8524
8525 * Makefile.in (TOOLKIT_DEFINES): Remove.
8526 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
8527
85282008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8529
8530 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
8531 (mactoolbox.o): New target.
8532
8533 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
8534 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
8535
8536 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
8537 Use mac_set_frame_window_background instead of XSetWindowBackground.
8538 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
8539 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
8540 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
8541 instead of SetWindowTitleWithCFString.
8542 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
8543 Move function to mactoolbox.c.
8544 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
8545 Use mac_set_window_modified instead of SetWindowModified.
8546 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
8547 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
8548 (Fx_focus_frame): Use mac_front_non_floating_window instead of
8549 FrontNonFloatingWindow. Use mac_activate_window instead of
8550 ActivateWindow. Use mac_active_non_floating_window instead of
8551 ActiveNonFloatingWindow.
8552 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
8553 Use mac_show_hourglass and mac_hide_hourglass.
8554 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
8555 instead of GetGlobalMouse.
8556 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
8557 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
8558 Use mac_bring_window_to_front instead of BringToFront.
8559 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
8560 mactoolbox.c.
8561 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
8562 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
8563 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
8564 mactoolbox.c.
8565
8566 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
8567 (XtPointer): Move typedef from macmenu.c.
8568 (enum button_type): Move enum from macmenu.c.
8569 (widget_value): Move typedef from macmenu.c.
8570 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
8571 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8572 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8573 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8574 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8575 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8576 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8577 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
8578 (Selection): Move typedef from macselect.c.
8579 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
8580 macterm.c.
8581 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
8582 (mac_is_window_collapsed, mac_bring_window_to_front)
8583 (mac_send_window_behind, mac_hide_window, mac_show_window)
8584 (mac_collapse_window, mac_front_non_floating_window)
8585 (mac_active_non_floating_window, mac_activate_window)
8586 (mac_move_window_structure, mac_move_window, mac_size_window)
8587 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
8588
8589 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
8590 (enum mac_menu_kind): Move enum to mactoolbox.c.
8591 (min_menu_id): Move variable to mactoolbox.c.
8592 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
8593 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
8594 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8595 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8596 [TARGET_API_MAC_CARBON]: Likewise.
8597 (XtPointer): Move typedef to macgui.h.
8598 (enum button_type): Move enum to macgui.h.
8599 (widget_value): Move typedef to macgui.h.
8600 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8601 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8602 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8603 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8604 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8605 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8606 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
8607 (popup_activated_flag): Make variable non-static.
8608 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
8609 (add_menu_item, fill_menu, dispose_menus):
8610 Move functions to mactoolbox.c.
8611 (restore_show_help_function, menu_target_item_handler)
8612 (install_menu_target_item_handler, mac_handle_dialog_event)
8613 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
8614 [TARGET_API_MAC_CARBON]: Likewise.
8615 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
8616 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8617 (find_and_call_menu_selection, name_is_separator): Make function
8618 non-static.
8619 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
8620 to mactoolbox.c.
8621 (set_frame_menubar): Don't call install_menu_quit_handler.
8622 (menu_item_selection): New variable.
8623 (mac_menu_show): Use create_and_show_popup_menu.
8624 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
8625 selection but set variable menu_item_selection. All uses changed.
8626 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
8627 Call install_menu_quit_handler. Move to mactoolbox.c.
8628
8629 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
8630 (Selection): Move typedef to macgui.h.
8631 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
8632 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
8633 Make variables non-static.
8634 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8635 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
8636 Make functions non-static.
8637 (Vmac_service_selection) [MAC_OSX]: Likewise.
8638 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
8639 (mac_valid_selection_target_p, mac_clear_selection)
8640 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8641 (mac_put_selection_value, mac_selection_has_target_p)
8642 (mac_get_selection_value, mac_get_selection_target_list)
8643 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
8644 Move functions to mactoolbox.c.
8645 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
8646 Likewise.
8647 (copy_scrap_flavor_data, mac_handle_service_event)
8648 (install_service_handler) [MAC_OSX]: Likewise.
8649 (syms_of_macselect) <Vmac_dnd_known_types>:
8650 Use mac_dnd_default_known_types.
8651
8652 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
8653 Move to mactoolbox.c.
8654 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
8655 (Fx_selection_owner_p): Add EXFUN.
8656 (install_window_handler, remove_window_handler, XSetWindowBackground):
8657 Remove externs.
8658 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
8659 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
8660 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
8661 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
8662 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
8663 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
8664 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
8665 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
8666 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
8667 (create_and_show_popup_menu, mac_get_selection_from_symbol)
8668 (mac_valid_selection_target_p, mac_clear_selection)
8669 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8670 (mac_put_selection_value, mac_selection_has_target_p)
8671 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
8672 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
8673 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
8674 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8675 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
8676 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8677 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
8678 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8679 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8680
8681 * mactoolbox.c: New file.
8682
86832008-04-18 Jason Rumney <jasonr@gnu.org>
8684
8685 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
8686
86872008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8688
8689 * character.c (Fmultibyte_char_to_unibyte):
8690 Return latin1 chars unchanged.
8691
8692 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
8693 relocated if it points to `name'.
8694
86952008-04-17 Kenichi Handa <handa@m17n.org>
8696
8697 * data.c (Faset): Allow setting a multibyte character in an
8698 ASCII-only unibyte string.
8699
8700 * lisp.h (STRING_SET_MULTIBYTE): New macro.
8701
87022008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
8703
8704 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
8705 done in config.h.
8706
87072008-04-16 Juanma Barranquero <lekktu@gmail.com>
8708
8709 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
8710 (Fchar_direction): Add usage in the docstring.
8711
87122008-04-15 Chong Yidong <cyd@stupidchicken.com>
8713
8714 * keyboard.c (read_key_sequence): Remove always-true checks.
8715
87162008-04-14 Jason Rumney <jasonr@gnu.org>
8717
8718 * w32font.c (w32font_open_internal): Set max_bounds.descent in
8719 compatibility struct, for better underline positioning.
8720
87212008-04-13 David Hansen <david.hansen@gmx.net>
8722
8723 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
8724 string.
8725
87262008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
8727
8728 * m/hp800.h (XUINT, XSET): Remove.
8729
87302008-04-12 Juanma Barranquero <lekktu@gmail.com>
8731
8732 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
8733 previous change.
8734
87352008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
8736
8737 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
8738 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
8739
87402008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8741
8742 * keymap.h (map_keymap_canonical): Declare.
8743 * xmenu.c (single_keymap_panes): Use it.
8744
87452008-04-11 Glenn Morris <rgm@gnu.org>
8746
8747 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
8748 set the target's value to that of the alias.
8749
87502008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8751
8752 * term.c (set_tty_color_mode): Left over typo.
8753
87542008-04-10 Michael Albinus <michael.albinus@gmx.de>
8755
8756 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
8757 only after check for file name handler functions. Signal, when
8758 native functionality is not supported.
8759 (syms_of_fileio): Declare it unconditionally.
8760
87612008-04-10 Jason Rumney <jasonr@gnu.org>
8762
8763 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
8764 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
8765
8766 * w32.c (logon_network_drive): Also logon to remote drives that
8767 are mapped to drive letters.
8768
87692008-04-10 Glenn Morris <rgm@gnu.org>
8770
8771 * xdisp.c (truncate-partial-width-windows): Doc fix.
8772
87732008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
8774
8775 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
8776 Move functions to minibuffer.el.
8777 (syms_of_fileio): Don't declare them.
8778
87792008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8780
8781 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
8782 (syms_of_minibuf): Remove its initialization.
8783
8784 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
8785
87862008-04-09 Juanma Barranquero <lekktu@gmail.com>
8787
8788 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
8789
87902008-04-09 Jason Rumney <jasonr@gnu.org>
8791
8792 * makefile.w32-in (distclean): Delete makefile too.
8793 (maintainer-clean): New target.
8794
8795 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
8796
8797 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
8798 for new font backend and composite cases.
8799
88002008-04-09 Jan Djärv <jan.h.d@swipnet.se>
8801
8802 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
8803 Most of the code moved to run_timers.
8804 (do_pending_atimers): Call run_timers.
8805 (run_timers): New function.
8806
8807 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
8808 run atimers.
8809
8810 * process.c (wait_reading_process_output): The same as above.
8811
88122008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8813
8814 * minibuf.c (last_exact_completion): Remove variable.
8815 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
8816 (complete_and_exit_1, complete_and_exit_2)
8817 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
8818 (Fdisplay_completion_list, display_completion_list_1)
8819 (Fminibuffer_completion_help, Fself_insert_and_exit)
8820 (Fexit_minibuffer, Fminibuffer_message): Move functions to
8821 minibuffer.el.
8822 (syms_of_minibuf): Remove corresponding initializations.
8823
8824 * keyboard.c (Qdeactivate_mark): New var.
8825 (command_loop_1): Use it to call `deactivate-mark'.
8826 (syms_of_keyboard): Initialize it.
8827
8828 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
8829 to another frame.
8830 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
8831 Don't call set_tty_color_mode.
8832 (store_frame_param): Reset previous_frame rather than call
8833 set_tty_color_mode.
8834 * term.c (set_tty_color_mode): Rewrite.
8835 * dispextern.h (set_tty_color_mode): New type.
8836 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
8837
88382008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
8839
8840 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
8841 for generic chars, which do not exist any more in emacs-unicode.
8842
88432008-04-08 Michael Albinus <michael.albinus@gmx.de>
8844
8845 * coding.c (detect_coding_emacs_mule)
8846 (Ffind_operation_coding_system): Fix typo.
8847
88482008-04-08 Jason Rumney <jasonr@gnu.org>
8849
8850 * w32uniscribe.c (SNAME): Extract only symbol name.
8851
8852 * w32font.h (struct w32_metric_cache): New struct.
8853 (w32font_info): Use it.
8854 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
8855 (CACHE_BLOCKSIZE): New constants.
8856
8857 * w32font.c (Qja, Qko, Qzh): New symbols.
8858 (syms_of_w32font): Initialise them.
8859 (font_matches_spec): Use them to filter by language.
8860 (recompute_cached_metrics): Remove function.
8861 (compute_metrics, clear_cached_metrics): New functions.
8862 (w32font_encode_char): Use them to manage metric cache.
8863 (w32font_text_extents): Cache metrics for all glyphs on demand.
8864 Delay converting glyph indices to WORD until needed.
8865 (w32font_open_internal): Initialize metric cache to empty.
8866 (registry_to_w32_charset): Charset should always be a symbol.
8867 (fill_in_logfont, list_all_matching_fonts): Family should
8868 always be a symbol.
8869
88702008-04-06 Jason Rumney <jasonr@gnu.org>
8871
8872 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
8873 Give up if glyph indices not supported. Use uniscribe obtained
8874 ABC widths for individual metrics. Map glyph clusters back to
8875 characters using fClusterStart flag. Return number of glyphs
8876 produced, not chars processed.
8877 (uniscribe_shape): Map char at FROM to current glyph.
8878
88792008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8880
8881 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
8882 Use SetMenuItemHierarchicalMenu.
8883
88842008-04-05 Jason Rumney <jasonr@gnu.org>
8885
8886 * image.c (pbm_load): Allow color values up to 65535.
8887 Throw an error if max_color_idx is outside the supported range.
8888 Report an error when image size is invalid.
8889 Read two bytes at a time when raw images have max_color_idx above 255.
8890
88912008-04-05 Eli Zaretskii <eliz@gnu.org>
8892
8893 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8894 cFileName a file name that includes `?' characters, use the 8+3
8895 alias in cAlternateFileName instead.
8896
88972008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
8898
8899 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8900 append "CCL: Quitted" when the CCL program is quitted.
8901 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8902
8903 * ccl.h (struct ccl_program): New member quit_silently.
8904
89052008-04-05 Chong Yidong <cyd@stupidchicken.com>
8906
8907 * search.c (compile_pattern_1): Treat non-nil and non-string of
8908 search-spaces-regexp as nil.
8909
8910 * minibuf.c (Fassoc_string): Tweak docstring.
8911
89122008-04-05 Eli Zaretskii <eliz@gnu.org>
8913
8914 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8915 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8916 2008-03-14 to force inode be positive.
8917
8918 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8919 _S_* ones, since we now use our own sys/stat.h.
8920 (stat, fstat): Don't mangle the inode number.
8921 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8922
89232008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8924
8925 * frame.h (struct frame): Give one more bit to `visible' since we use
8926 values larger than 1 to indicate obscured frames on ttys.
8927
8928 * keymap.c (Qkeymap_canonicalize): New var.
8929 (Fmap_keymap_internal): New fun.
8930 (describe_map): Use keymap-canonicalize.
8931
8932 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8933 (Fundo_boundary): Set them.
8934 (syms_of_undo): Initialize them.
8935 (record_point): Use them instead of last_point_position*.
8936 (last_undo_buffer): Change type.
8937
89382008-04-04 Jason Rumney <jasonr@gnu.org>
8939
8940 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8941 (recompute_cached_metrics): Don't set ascent and descent per char.
8942
8943 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8944 (uniscribe_check_otf): Add GC protection before consing.
8945 Rearrange loop for counting features.
8946
89472008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8948
8949 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8950 buffer with byte-size of source buffer.
8951
89522008-04-03 Chong Yidong <cyd@stupidchicken.com>
8953
8954 * callint.c (Fcall_interactively): Handle temporary region even
8955 when shift-select-mode is off.
8956
89572008-04-03 Jason Rumney <jasonr@gnu.org>
8958
8959 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8960
89612008-04-03 Kenichi Handa <handa@m17n.org>
8962
8963 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8964 (CATEGORY_MASK_UTF_16): Likewise.
8965 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8966 binary file.
8967 (detect_coding): Add null-byte detection for a binary file.
8968 (detect_coding_system): Likewise.
8969
89702008-04-03 Jason Rumney <jasonr@gnu.org>
8971
8972 * w32uniscribe.c: New file.
8973
8974 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8975
8976 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8977
8978 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8979 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8980 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8981 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8982 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8983 (Qphonetic): New symbols.
8984 (syms_of_w32font): Initialize them.
8985 (font_supported_scripts): Use them.
8986 (w32font_list_family): List all charsets.
8987 (w32font_text_extents, recompute_cached_metrics): Fix metric
8988 calculations.
8989 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8990 Give opentype fonts their own format.
8991 (font_matches_spec): New arguments backend and logfont.
8992 Handle :otf spec for uniscribe backend.
8993 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8994 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8995
8996 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8997 font backend.
8998 (globals_of_w32fns): Initialize uniscribe font backend.
8999
9000 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
9001 dependencies.
9002 (w32uniscribe.$(O)): New file to build.
9003 (FONT_OBJ): Include w32uniscribe.$(O).
9004 (LIBS): Add uniscribe libraries.
9005
9006 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
9007
90082008-04-02 Chong Yidong <cyd@stupidchicken.com>
9009
9010 * callint.c (Vshift_select_mode): New var.
9011 (Finteractive): Document new ^ spec.
9012 (Fcall_interactively): Call handle-shift-selection if the ^ spec
9013 is present.
9014
9015 * keyboard.c (Vthis_command_keys_shift_translated): New var.
9016 (command_loop_1): Avoid running the direct display versions of
9017 forward-char and backward-char if shift-selection may occur.
9018 (read_key_sequence): Set Vthis_command_keys_shift_translated if
9019 shift-translation takes place.
9020
9021 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
9022 avoid clobbering by define-minor-mode.
9023
9024 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
9025 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
9026
9027 * syntax.c (Fforward_word): Add ^ interactive spec.
9028
9029 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
9030 (Fscroll_right): Add ^ interactive spec.
9031
90322008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
9033
9034 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
9035
9036 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
9037
9038 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
9039
90402008-03-31 Juri Linkov <juri@jurta.org>
9041
9042 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
9043
90442008-03-30 Jan Djärv <jan.h.d@swipnet.se>
9045
9046 * gtkutil.c (xg_set_geometry): Fix indentation.
9047 (xg_resize_outer_widget): Remove.
9048 (x_wm_size_hint_off): Fix indentation.
9049 (xg_frame_set_char_size): Call flush_and_sync after
9050 gtk_window_resize.
9051 (x_wm_set_size_hint): Pass NULL as geometry window to
9052 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
9053 Add menu bar and tool bar height to base height.
9054 (xg_update_frame_menubar, free_frame_menubar)
9055 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
9056 (update_frame_tool_bar, free_frame_tool_bar):
9057 Change xg_resize_outer_widget to xg_frame_set_char_size.
9058
90592008-03-30 Michael Albinus <michael.albinus@gmx.de>
9060
9061 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
9062 (Fdbus_call_method): New parameter TIMEOUT.
9063 (dbus-send-signal): Optimize UNGCPRO call.
9064
90652008-03-29 Juri Linkov <juri@jurta.org>
9066
9067 * window.c (Fdisplay_buffer): Move call to
9068 Vsplit_window_preferred_function out of conditions that check
9069 if window is eligible for vertical splitting.
9070 When Vsplit_window_preferred_function is non-nil, call it and use
9071 its non-nil return value as window. Otherwise, continue doing
9072 vertical splitting using Fsplit_window with arg horflag=nil.
9073 (syms_of_window) <Vsplit_window_preferred_function>: Change the
9074 default value from `split-window' to nil.
9075
90762008-03-29 Juri Linkov <juri@jurta.org>
9077
9078 * callint.c (Fcall_interactively): Revert 2008-03-16 change
9079 for interactive code letters 'b' and 'B'.
9080
90812008-03-29 Eli Zaretskii <eliz@gnu.org>
9082
9083 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
9084 multibyte string.
9085
90862008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
9087
9088 * keyboard.c (pending_funcalls): New var.
9089 (timer_check): Run it.
9090 (syms_of_keyboard): Initialize it.
9091 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
9092 (Vdelete_terminal_functions): New vars.
9093 (syms_of_terminal): Initialize them.
9094 (Fdelete_terminal): Run delete-terminal-functions.
9095 * xdisp.c (safe_eval): Rewrite.
9096 (safe_call2): New fun.
9097 * frame.c (Qdelete_frame_functions): New var.
9098 (syms_of_frame): Initialize it.
9099 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
9100 * lisp.h (safe_call2, pending_funcalls): Declare.
9101
91022008-03-28 Andreas Schwab <schwab@suse.de>
9103
9104 * indent.c (Fmove_to_column): Move declaration before statements.
9105
91062008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
9107
9108 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
9109 (struct frame): Use bit fields for boolean vars.
9110
9111 * process.c (server_accept_connection): Simplify naming.
9112 (emacs_get_tty_pgrp): Use SDATA.
9113
9114 * coding.c (decode_coding_object): Fix last change.
9115
91162008-03-27 Jason Rumney <jasonr@gnu.org>
9117
9118 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
9119
91202008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
9121
9122 * charset.c (Fdefine_charset_internal): Change the way of
9123 registering charsets in Vcharset_order_list.
9124 (syms_of_charset): Make the charset `eight-bit' supplementary.
9125
91262008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
9127
9128 * regex.c (EXTEND_BUFFER): Change order of pointer addition
9129 operations, to avoid having the difference between pointers
9130 overflow.
9131
91322008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
9133
9134 * indent.c (check_display_width): New fun.
9135 (scan_for_column): Use it.
9136
9137 * data.c (syms_of_data): Mark most-positive-fixnum and
9138 most-negative-fixnum as constants.
9139
9140 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
9141
9142 * indent.c (scan_for_column): Extract from current_column_1.
9143 Merge with the same code from Fmove_to_column.
9144 (current_column_1, Fmove_to_column): Use it.
9145
91462008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
9147
9148 * keymap.c (map_keymap_internal): New fun.
9149 (map_keymap): Use it.
9150 (Fmap_keymap_internal): New fun.
9151 (Fmap_keymap): Remove left-out test from before make_save_value.
9152
9153 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
9154
9155 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
9156 Use XCAR/XCDR.
9157
9158 * process.h (struct Lisp_Process): Remove filter_multibyte.
9159 * process.c (QCfilter_multibyte): Remove.
9160 (setup_process_coding_systems): Don't use filter_multibyte.
9161 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
9162 (read_process_output): Don't adjust multibyteness to filter_multibyte.
9163 (Fset_process_filter_multibyte): Change the coding-system to
9164 approximate the previous behavior.
9165 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
9166 coding-system.
9167
9168 * coding.c (decode_coding_object): When not decoding into a buffer,
9169 obey the coding system's preference of (uni|multi)byte.
9170
91712008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
9172
9173 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
9174 every char is changed and has a different byte-length.
9175 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
9176 Fix int -> EMACS_INT.
9177
91782008-03-23 David Hansen <david.hansen@gmx.net>
9179
9180 * dbusbind.c (xd_read_message): Remove extra copying of message
9181 strings. Check for NULL `interface' or `member'.
9182
91832008-03-22 Eli Zaretskii <eliz@gnu.org>
9184
9185 * w32.c (readdir): If FindFirstFile/FindNextFile return in
9186 cFileName a file name that includes `?' characters, use the 8+3
9187 alias in cAlternateFileName instead.
9188
91892008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
9190
9191 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
9192
91932008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
9194
9195 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
9196 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
9197 work on current_buffer only instead (that was already the case
9198 for some of the code anyway).
9199 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
9200 (temp_set_point, temp_set_point_both): Use EMACS_INT.
9201 (SET_PT, SET_PT_BOTH): Adjust.
9202 * intervals.h (set_point, temp_set_point, set_point_both)
9203 (temp_set_point_both): Remove redundant declarations.
9204
92052008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
9206
9207 * fileio.c (Finsert_file_contents):
9208 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
9209 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
9210 when buffer != current_buffer anyway.
9211
92122008-03-20 Andreas Schwab <schwab@suse.de>
9213
9214 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
9215 as default.
9216
92172008-03-19 Jason Rumney <jasonr@gnu.org>
9218
9219 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
9220 (syms_of_w32fns): Initialize them.
9221 (HOURGLASS_ID): New constant.
9222 (x_window_to_frame): Don't check hourglass_window.
9223 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
9224 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
9225 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
9226 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
9227 Only change the cursor if hourglass is not active.
9228 (Fx_create_frame): Initialize frame's current_cursor.
9229 (hourglass_atimer): Remove.
9230 (hourglass_started): New function.
9231 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
9232 (show_hourglass): Adapt to w32, changing argument to frame.
9233
9234 * w32term.h (struct w32_output): Remove hourglass_window.
9235 Add current_cursor.
9236
9237 * eval.c (call_debugger, Fsignal):
9238 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
9239 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
9240 (Fexecute_extended_command, cancel_hourglass_unwind):
9241 * minibuf.c (read_minibuf):
9242 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
9243
92442008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
9245
9246 * window.c (run_funs): New fun.
9247 (run_window_configuration_change_hook): Use it to run the buffer-local
9248 and the global part of the hook.
9249
9250 * xdisp.c (format_mode_line_unwind_data): Add window argument.
9251 (unwind_format_mode_line): Restore selected window.
9252 (x_consider_frame_title, Fformat_mode_line): Set selected window.
9253
92542008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
9255
9256 * editfns.c (Fchar_equal): Check they are valid characters.
9257
9258 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
9259
92602008-03-17 Andreas Schwab <schwab@suse.de>
9261
9262 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
9263 against a charset.
9264
9265 * lisp.h (Fbuffer_list): Declare.
9266
92672008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 9268
aac0c6e3
MR
9269 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
9270 handlebox_widget is != 0.
9271
92722008-03-16 Juri Linkov <juri@jurta.org>
9273
9274 * callint.c (Fcall_interactively): For interactive code letters
9275 'b' and 'B' put the buffer list into the list of default "future"
9276 values of the minibuffer.
9277
92782008-03-16 Andreas Schwab <schwab@suse.de>
9279
9280 * keyboard.c (read_key_sequence): Fix downcasing of letters with
9281 modifiers.
9282
9283 * regex.c (re_match_2_internal): Correct matching of a charset
9284 against latin-1 characters.
9285
92862008-03-16 Kenichi Handa <handa@m17n.org>
9287
9288 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
9289 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
9290 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
9291 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
9292 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
9293 CHAR_STRING_ADVANCE.
9294 (produce_chars): Fix for the case that the source and the
9295 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
9296 instead of CHAR_STRING_ADVANCE.
9297 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
9298 STRING_CHAR_ADVANCE.
9299
93002008-03-15 Andreas Schwab <schwab@suse.de>
9301
9302 * regex.c (re_match_2_internal): Correct matching of eight bit
9303 characters in unibyte strings.
9304
93052008-03-15 Martin Rudalics <rudalics@gmx.at>
9306
9307 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
9308 at end of range when it coincides with the end of the buffer.
9309
93102008-03-14 Eli Zaretskii <eliz@gnu.org>
9311
9312 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
9313
9314 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
9315
93162008-03-14 Jason Rumney <jasonr@gnu.org>
9317
9318 * editfns.c (initial_tz): New variable.
9319 (syms_of_editfns): Initialize it.
9320 (Fset_time_zone_rule): Set it when first called.
9321 Use it when TZSTRING is nil.
9322
9323 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
9324 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
9325 (monitor_from_point_fn, get_monitor_info_fn): New globals.
9326 (globals_of_w32fns): Initialize them.
9327 (compute_tip_xy): Use them to position tooltips.
9328
93292008-03-14 Glenn Morris <rgm@gnu.org>
9330
9331 * emacs.c (main): Revert previous change.
9332 (standard_args): Revert -internal-script back to -scriptload,
9333 and remove the long-option form.
9334
93352008-03-13 Glenn Morris <rgm@gnu.org>
9336
9337 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
9338 Remove option -enable-font-backend.
9339
93402008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
9341
9342 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
9343
93442008-03-11 Jan Djärv <jan.h.d@swipnet.se>
9345
9346 * xterm.c (x_connection_closed): For GTK: If this is the last
9347 terminal just exit without closing the display.
9348
93492008-03-11 Jason Rumney <jasonr@gnu.org>
9350
9351 * w32font.c (w32font_full_name): Use floor to round.
9352
f0131492 93532008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
9354
9355 * sound.c (alsa_configure): Declare vol at beginning of block.
9356
9357 * fontset.c (Ffontset_info): Remove extra semicolon.
9358
93592008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
9360
9361 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
9362 size of resulting string.
9363
93642008-03-10 Jason Rumney <jasonr@gnu.org>
9365
9366 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
9367
93682008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9369
9370 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
9371 Don't pretend as if characters with display property haven't been
9372 consumed for string-replacing-string case.
9373
93742008-03-08 Kim F. Storm <storm@cua.dk>
9375
9376 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
9377 (get_next_display_element, next_element_from_string)
9378 (next_element_from_ellipsis, next_element_from_buffer): Use it.
9379
93802008-03-08 Andreas Schwab <schwab@suse.de>
9381
9382 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
9383
93842008-03-06 Jason Rumney <jasonr@gnu.org>
9385
9386 * w32font.c (w32_registry): Take font_type argument. Use ANSI
9387 when charset not specified. Only translate ANSI to unicode when
9388 font_type is truetype.
9389 (w32font_coverage_ok): New function.
9390 (add_font_entity_to_list): Use it to filter unsuitable fonts.
9391
93922008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
9393
9394 * lread.c (Fread_char): Resolve modifiers.
9395 (Fread_char_exclusive): Likewise.
9396
9397 * character.c (char_resolve_modifier_mask): New function.
9398 (char_string): Use char_resolve_modifier_mask.
9399 (Fchar_resolve_modifiers): New function.
9400 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
9401 function.
9402
94032008-03-04 Jason Rumney <jasonr@gnu.org>
9404
9405 * makefile.w32-in: Always include w32font.c in the build.
9406 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
9407
94082008-03-04 Andreas Schwab <schwab@suse.de>
9409
9410 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
9411 (versionclean): Likewise.
9412
94132008-03-04 Juanma Barranquero <lekktu@gmail.com>
9414
9415 * .cvsignore: Add oo.
9416
94172008-03-03 Andreas Schwab <schwab@suse.de>
9418
9419 * coding.c (decode_coding_object): Inhibit gap shrinking while
9420 decoding in place.
9421
94222008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
9423
9424 * w32term.c: Remove unused include "gnu.h".
9425 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
9426
9427 * gnu.h: Rename to ...
9428 * emacs-icon.h: ... this.
9429 * xterm.c: Use emacs-icon.h instead of gnu.h.
9430 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
9431
94322008-03-03 Juanma Barranquero <lekktu@gmail.com>
9433
9434 * w32font.c: Include math.h.
9435
94362008-03-03 Jason Rumney <jasonr@gnu.org>
9437
9438 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
9439 Compute options separately.
9440 (w32font_open_internal): Set glyph_idx before caching metrics.
9441
9442 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
9443 Define if system headers don't.
9444 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
9445 (w32font_encode_char): Don't declare here.
9446
9447 * w32font.c (Quniscribe, QCformat): New symbols.
9448 (syms_of_w32font): Define them.
9449 (w32font_has_char): Indicate uncertainty.
9450 (w32font_encode_char): Encode as glyph point. Make static.
9451 (recompute_cached_metrics): New function.
9452 (w32font_open_internal): Use it. Set font to use glyph points
9453 initially. Set format based on type of font.
9454 (w32font_text_extents, w32font_draw): Optionally use glyph points.
9455 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
9456 on it. Set format based on information available here.
9457 (add_font_entity_to_list): Identify backend based on opentype_only.
9458
94592008-03-02 Andreas Schwab <schwab@suse.de>
9460
9461 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
9462
9463 * coding.c (decode_coding_big5, produce_chars):
9464 Fix typos in last change.
9465
94662008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
9467
9468 * gnu.h: New icon.
9469
94702008-03-02 Kenichi Handa <handa@m17n.org>
9471
9472 * coding.c (decode_coding_utf_8): When eol-type of CODING is
9473 `dos', don't decode '\r' if that is the last in the source.
9474 (decode_coding_utf_16, decode_coding_emacs_mule)
9475 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9476 (decode_coding_raw_text, decode_coding_charset): Likewise.
9477 (produce_chars): Don't decode EOL here. Use EMACS_INT.
9478
94792008-03-01 Jason Rumney <jasonr@gnu.org>
9480
9481 * w32font.c (w32font_full_name): Report point size for scalable fonts.
9482
94832008-03-01 Kim F. Storm <storm@cua.dk>
9484
9485 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
9486
94872008-03-01 Jason Rumney <jasonr@gnu.org>
9488
9489 * w32font.c (w32font_full_name): New function.
9490 (w32font_open_internal): Use it.
9491
94922008-03-01 Kim F. Storm <storm@cua.dk>
9493
9494 * dispnew.c (line_draw_cost): Fix invalid glyph check.
9495
94962008-03-01 Jason Rumney <jasonr@gnu.org>
9497
9498 * font.c (font_unparse_fcname): Increase len when style is a symbol.
9499
95002008-03-01 Jan Djärv <jan.h.d@swipnet.se>
9501
9502 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
9503 xg_frame_resized when the event is for the edit widget.
9504
9505 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
9506
9507 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
9508 set_char_size.
9509 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
9510 operations on widgets here. Just set frame size if needed.
9511 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
9512 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
9513 (x_wm_set_size_hint): Set size hints on the edit widget only, not
9514 the whole frame.
9515 (xg_create_tool_bar): Move attachment of the tool bar to
9516 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
9517 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
9518
95192008-03-01 Jason Rumney <jasonr@gnu.org>
9520
9521 * w32fns.c (w32_msg_pump): Disable debug code.
9522
95232008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9524
9525 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
9526
95272008-02-29 Chong Yidong <cyd@stupidchicken.com>
9528
9529 * xdisp.c (next_overlay_string): Don't set
9530 overlay_strings_at_end_processed_p if we're currently reading from
9531 a display string.
9532
95332008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
9534
9535 * xdisp.c (get_overlay_strings_1): Fix typo.
9536
95372008-02-29 Chong Yidong <cyd@stupidchicken.com>
9538
9539 * xdisp.c (get_overlay_strings_1): Add missing argument type.
9540
95412008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
9542
9543 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
9544
9545 * xdisp.c (display_mode_element): Cancel the previous change.
9546 (decode_mode_spec): Likewise.
9547 (handle_auto_composed_prop): Don't make composition if it->string
9548 is a string.
9549
95502008-02-27 Kim F. Storm <storm@cua.dk>
9551
9552 * lisp.h (GLYPH): Change type from int to struct with separate char
9553 and face_id members.
9554 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
9555 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
9556 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
9557 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
9558 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
9559 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
9560 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
9561 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
9562 handle new Lisp glyph code encoding, either an integer or a cons.
9563
9564 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
9565 (GLYPH_ALIAS): Delete.
9566 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
9567 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
9568 (GLYPH_FROM_CHAR): Replace macro by ...
9569 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
9570
9571 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
9572 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
9573 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
9574 (GLYPH_INVALID_P): New macro.
9575 (spec_glyph_lookup_face): Update prototype.
9576
9577 * dispnew.c (line_draw_cost): Adapt to new glyph type.
9578 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
9579 new glyph code encoding.
9580 (spec_glyph_lookup_face): No return value; update passed glyph instead.
9581 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
9582
9583 * xdisp.c (get_next_display_element, next_element_from_display_vector):
9584 Adapt to new glyph type and new glyph code encoding.
9585
9586 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
9587
9588 * indent.c (current_column, current_column_1, Fmove_to_column)
9589 (compute_motion): Adapt to new glyph code encoding.
9590
9591 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
9592
95932008-02-27 Chong Yidong <cyd@stupidchicken.com>
9594
9595 * process.c (wait_reading_process_output): Check for window
9596 changes caused by timers.
9597 Suggested by Johan Bockgård.
9598
95992008-02-27 Glenn Morris <rgm@gnu.org>
9600
9601 * emacs.c (USAGE1): Add `--disable-font-backend'.
9602
96032008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
9604
9605 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
9606 is made to the buffer.
9607
96082008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
9609
9610 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
9611 (face_at_string_position):
9612 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
9613 (face_at_string_position):
9614 * xdisp.c (display_string, next_overlay_change):
9615 * buffer.h (overlays_at):
9616 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
9617 Update callers.
9618
96192008-02-26 Chong Yidong <cyd@stupidchicken.com>
9620
9621 * editfns.c (Fformat): Doc fix.
9622
96232008-02-26 Juanma Barranquero <lekktu@gmail.com>
9624
9625 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
9626 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
9627 (Ffont_otf_alternates, Fquery_font): Doc fixes.
9628
96292008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9630
9631 * buffer.c (Fbuffer_swap_text): New function.
9632 (syms_of_buffer): Defsubr it.
9633
96342008-02-25 Chong Yidong <cyd@stupidchicken.com>
9635
9636 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
9637
96382008-02-25 Jason Rumney <jasonr@gnu.org>
9639
9640 * w32font.c (w32font_draw): Draw one character at a time when padding.
9641
96422008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9643
9644 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
9645 Handle a nil arg. Use run_window_configuration_change_hook.
9646 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
9647 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
9648 Use run_window_configuration_change_hook.
9649
96502008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9651
9652 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
9653 1-pixel width.
9654
96552008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9656
9657 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
9658 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
9659 if the glyph in the font is zero pixel with.
9660
9661 * dispextern.h (struct glyph_string): New member padding_p.
9662
9663 * w32font.c (w32font_draw): Pay attention to s->padding_p.
9664
9665 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
9666
9667 * xfont.c (xfont_draw): Pay attention to s->padding_p.
9668
9669 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
9670
9671 * font.c: If the font driver doesn't have `shape' function, return Qnil.
9672
96732008-02-25 Jason Rumney <jasonr@gnu.org>
9674
9675 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
9676
96772008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
9678
9679 Allow fine-grained image-cache flushing.
9680 * dispextern.h (struct image): Add `dependencies' field.
9681 (clear_image_caches): Change arg to Lisp_Object.
9682 * image.c (make_image): Initialize `dependencies' field.
9683 (clear_image_cache): Change arg to allow fine-grained flushing.
9684 Perform the flush even if image-cache-eviction-delay is nil.
9685 (clear_image_caches): Change arg to Lisp_Object.
9686 (Fclear_image_cache): Expand meaning of the argument.
9687 (mark_image): Mark `dependencies' field.
9688 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
9689 (lface_hash): Use XHASH rather than XFASTINT.
9690 (face_at_buffer_position): Fix int -> EMACS_INT position.
9691 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
9692 (select_frame_for_redisplay): Remove code duplication.
9693 (redisplay_internal): Adapt arg to call to clear_image_caches.
9694
96952008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
9696
9697 * s/vms4-0.h:
9698 * s/vms4-2.h:
9699 * s/vms4-4.h:
9700 * s/vms5-5.h: Remove, unused.
9701
9702 * s/irix5-2.h:
9703 * s/irix6-0.h:
9704 * s/riscos5.h:
9705 * s/mach-bsd4-3.h:
9706 * m/mips4.h: Remove files for obsolete systems.
9707
9708 * Makefile.in:
9709 * filelock.c:
9710 * unexmips.c:
9711 * m/hp9000s300.h:
9712 * m/iris4d.h:
9713 * s/aix3-1.h:
9714 * s/hpux.h:
9715 * s/msdos.h:
9716 * s/usg5-0.h:
9717 * s/usg5-2-2.h:
9718 * s/usg5-2.h:
9719 * s/usg5-3.h: Remove references to obsolete variables.
9720
9721 * s/irix5-0.h: Remove, move all the contents ...
9722 * s/irix6-5.h: ... here. Simplify.
9723 * config.in: Regenerate.
9724
97252008-02-24 Jason Rumney <jasonr@gnu.org>
9726
9727 * w32term.c (x_draw_glyph_string_background): Clear the background
9728 manually when cleartype is in use.
9729 (x_draw_glyph_string_foreground): Draw text transparently when
9730 cleartype is in use.
9731
9732 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
9733 a font into it unless we have to.
9734
97352008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9736
9737 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
9738 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 9739
aac0c6e3
MR
97402008-02-18 Jason Rumney <jasonr@gnu.org>
9741
9742 * w32fns.c (Fw32_shell_execute): Encode parameters.
9743
97442008-02-09 Eli Zaretskii <eliz@gnu.org>
9745
9746 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
9747
97482008-02-05 Juanma Barranquero <lekktu@gmail.com>
9749
9750 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
9751
97522008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
9753
9754 * xterm.c (x_set_offset): Don't change the gravity if
9755 CHANGE_GRAVITY is -1.
9756
97572008-02-23 Chong Yidong <cyd@stupidchicken.com>
9758
9759 * fileio.c (auto_save_error_occurred): New var.
9760 (auto_save_error): Set it.
9761 (Fdo_auto_save): Don't overwrite the error message if an auto-save
9762 error occurred.
9763
97642008-02-23 Eli Zaretskii <eliz@gnu.org>
9765
9766 * w32.c (globals_of_w32): Add initializations for
9767 g_b_init_get_sid_sub_authority and
9768 g_b_init_get_sid_sub_authority_count.
9769
97702008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
9771
9772 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
9773 (font_parse_xlfd): Use them for sanity check.
9774 (Finternal_set_font_style_table): Make sure the table is bijective.
9775
9776 Consolidate the image_cache to the terminal struct.
9777 * termhooks.h (P_): Remove redundant def.
9778 (struct terminal): New field `image_cache'.
9779 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
9780 of FRAME_X_IMAGE_CACHE.
9781 * xterm.h (struct x_display_info): Remove image_cache field.
9782 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9783 * w32term.h (struct w32_display_info): Remove image_cache field.
9784 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9785 * macterm.h (struct mac_display_info): Remove image_cache field.
9786 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9787 * xterm.c (x_term_init):
9788 * w32term.c (w32_term_init):
9789 * macterm.c (mac_term_init): Set the image_cache in the terminal.
9790 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
9791 Remove declarations.
9792 (clear_image_caches, mark_image_cache): New declarations.
9793 * xfaces.c (clear_face_cache):
9794 * xdisp.c (redisplay_internal): Use clear_image_caches.
9795 * image.c (clear_image_cache): Don't check that a frame is on
9796 a window-system before checking if it shares the same cache.
9797 (clear_image_caches): New function.
9798 (Fclear_image_cache): Use it.
9799 (mark_image): Move from allo.c.
9800 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
9801 * alloc.c (mark_image, mark_image_cache): Move to image.c.
9802 (mark_object): Don't call mark_image_cache for frames.
9803 (mark_terminals): Call mark_image_cache.
9804
9805 * lisp.h (Fdelete_terminal): Declare.
9806
9807 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
9808 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
9809 wrong_type_argument.
9810
98112008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
9812
9813 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
9814 malayalam.el, and tamil.el. Add sinhala.el.
9815
98162008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
9817
9818 * xterm.c (x_connection_closed): Consolidate identical tests.
9819 (x_delete_terminal): Don't crash if called via x_connection_closed.
9820
98212008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
9822
9823 * xdisp.c (decode_mode_spec): New arg string.
9824 (display_mode_element): Adjust for the above change.
9825
98262008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9827
9828 * callint.c (Fcall_interactively): Use AREF.
9829
98302008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
9831
9832 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
9833
98342008-02-18 Jan Djärv <jan.h.d@swipnet.se>
9835
9836 * xfns.c (Fx_show_tip): Set string to " " if empty.
9837
98382008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
9839
9840 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
9841 with Qt.
9842
98432008-02-17 Kenichi Handa <handa@m17n.org>
9844
9845 * ftfont.c (ftfont_shape): Return Lispy number.
9846
9847 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
9848 for GCs.
9849 (Finternal_set_font_selection_order): Call font_update_sort_order
9850 only when enable_font_backend is set.
9851 (realize_x_face): Set face->font_info to that of default face only
9852 when enable_font_backend is set.
9853
9854 * xdisp.c (handle_composition_prop): Set it->c to the fist
9855 character of the composed region.
9856 (fill_composite_glyph_string): Set base_face->font_info to
9857 s->font_info. Get a face for ascii from base_face->ascii_face.
9858 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
9859 with a face already decided.
9860 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
9861 non-negative.
9862 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
9863 call font_prepare_composition unconditionally.
9864
9865 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
9866
9867 * xterm.h (struct x_display_info): New member font.
9868
9869 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
9870 (x_set_mouse_face_gc, x_new_font): Likewise.
9871 (x_term_init): Setup display_info->font.
9872 (x_delete_terminal): Free display_info->font.
9873
9874 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
9875
9876 * ftxfont.c (ftxfont_default_fid): Delete it.
9877 (ftxfont_open): Set xfont->fid to 0.
9878 (ftxfont_end_for_frame): Clear data specific to the frame and the
9879 font-driver.
9880
9881 * xftfont.c (xftfont_default_fid): Delete it.
9882 (xftfont_open): Set xfont->fid to 0.
9883
9884 * fontset.c (FONTSET_OBJLIST): New macro.
9885 (fontset_find_font): Update font-object list of the fontset.
9886 (free_realized_fontset): New function.
9887 (free_face_fontset): Call free_realized_fontset.
9888 (Ffont_info): Call font_close_object only when enable_font_backend
9889 is set.
9890
9891 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
9892 [HAVE_NTGUI]: Include w32term.h.
9893 [MAC_OS]: Include macterm.ch.
9894 (font_otf_ValueRecord): Use make_number.
9895 (font_finish_cache): Fix handling of reference count.
9896 (font_clear_cache): Update num_fonts.
9897 (font_open_entity): Update smallest_char_width and
9898 smallest_font_height of the frame.
9899 (font_close_object): Update num_fonts.
9900 (Fclear_font_cache): Fix finding the target cache data.
9901
99022008-02-16 Glenn Morris <rgm@gnu.org>
9903
9904 * fontset.c (Finternal_char_font): Fix compilation warning.
9905
99062008-02-16 Eli Zaretskii <eliz@gnu.org>
9907
9908 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9909 instead of char arrays. Enlarge the size of array passed to
9910 get_token_information.
9911
9912 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9913 warnings.
9914
99152008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9916
9917 * .gdbinit: Don't set `args', it breaks gdb --args.
9918
99192008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9920
9921 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9922 within a narrowed buffer.
9923
99242008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9925
9926 * coding.c (decode_coding_object, encode_coding_object):
9927 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9928
99292008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9930
9931 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9932 hardcoding 1.
9933 (detect_coding_system):
9934 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9935 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9936 * insdel.c (insert_from_gap):
9937 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9938 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9939 (string_to_multibyte):
9940 * character.c (chars_in_text, multibyte_chars_in_text):
9941 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9942
9943 * character.h (FETCH_STRING_CHAR_ADVANCE)
9944 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9945 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9946 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9947
9948 * casefiddle.c (casify_region): Only call after-change and composition
9949 functions on the part of the region that was changed.
9950
9951 * keyboard.c (read_avail_input):
9952 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9953
99542008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9955
9956 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9957 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9958
99592008-02-11 Juanma Barranquero <lekktu@gmail.com>
9960
9961 * w32menu.c (push_submenu_start, push_submenu_end)
9962 (push_left_right_boundary, push_menu_pane, push_menu_item):
9963 * keyboard.c (read_key_sequence): Don't pass args with side effects
9964 to AREF, it fails when compiling with -DENABLE_CHECKING.
9965
99662008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9967
9968 * Makefile.in (${lispsource}international/charprop.el):
9969 Delete this target.
9970
9971 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9972 emacs-unicode-2.
9973
99742008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9975
9976 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9977
99782008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9979
9980 * frame.c (Qnoelisp): New symbol.
9981 (syms_of_frame): Initialize it.
9982 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9983 harmless Elisp code, from a strong `force' from x_connection_closed.
9984 * frame.h (Qnoelisp): Declare.
9985 * xterm.c (x_connection_closed): Pass `noelisp'.
9986
9987 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9988 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9989 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9990 rather than `int' for the type of `type'.
9991
99922008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9993
9994 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9995
9996 * Makefile.in (GNUC): Remove support for gcc-1.x.
9997
99982008-02-10 Richard Stallman <rms@gnu.org>
9999
10000 * lisp.h (ASET): Use AREF, not ASLOT.
10001
100022008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
10003
10004 * lisp.h (ASET): Check bounds.
10005
100062008-02-10 Glenn Morris <rgm@gnu.org>
10007
10008 * buffer.c (mode-name): Doc fix.
10009
100102008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10011
10012 * Makefile.in:
10013 * emacs.c:
10014 * gmalloc.c:
10015 * keyboard.c:
10016 * lisp.h:
10017 * m/ibm370aix.h:
10018 * process.c:
10019 * regex.c:
10020 * s/hpux.h:
10021 * sysdep.c:
10022 * sysselect.h:
10023 * systty.h:
10024 * unexec.c:
10025 * w32term.c:
10026 * xsmfns.c:
10027 * xterm.c: Remove code that deals with obsolete variables.
10028
10029 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
10030
10031 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
10032 nothing else needs it anymore.
10033
100342008-02-09 Eli Zaretskii <eliz@gnu.org>
10035
10036 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
10037 instead of unibyte_char_to_multibyte.
10038
100392008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10040
10041 * s/gnu-linux.h: Remove commented out code.
10042
10043 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
10044
10045 * Makefile.in: Update what RMS says about using autoconf.
10046 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
10047 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
10048 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
10049 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
10050
100512008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
10052
10053 * keymap.c (Fkey_description): Move side effect outside of macro call.
10054
10055 * xfaces.c (Finternal_make_lisp_face):
10056 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
10057
10058 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
10059 (syms_of_fontset): Use ASET.
10060
10061 * fns.c (concat): Move side effect outside of macro call.
10062 (hash_clear): Use ASET.
10063
100642008-02-08 Richard Stallman <rms@gnu.org>
10065
10066 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
10067 If FORCE, and frame has a surrogate minibuffer for another frame,
10068 delete the other frame first.
10069
100702008-02-07 Timo Savola <timo.savola@iki.fi>
10071
10072 * xterm.c (x_detect_focus_change): Handle embed client message.
10073 (handle_one_xevent): Ditto.
10074 (handle_one_xevent): If embedded and we get a button press/release,
10075 request focus.
10076 (xembed_set_info, xembed_send_message): New functions.
10077 (x_make_frame_visible): Call xembed_set_info if embedded.
10078 (x_make_frame_invisible): Call xembed_set_info if embedded.
10079 (x_term_init): Initialize Xatom_XEMBED.
10080 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
10081 (x_iconify_frame): Ditto.
10082
10083 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
10084 (enum xembed_info, enum xembed_message, enum xembed_focus)
10085 (enum xembed_modifier, enum xembed_accelerator): New.
10086 (xembed_set_info, xembed_send_message): Declare.
10087 (FRAME_X_EMBEDDED_P): New.
10088
10089 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
10090 gtk_plug_new.
10091
10092 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
10093 window ID of a frame.
10094 (x_window): Reparent frame if embedded.
10095 (Fx_create_frame): Don't set border width if embedded.
10096
10097 * emacs.c (USAGE3): Add --parent-id.
10098 (standard_args): Ditto.
10099
101002008-02-07 Jan Djärv <jan.h.d@swipnet.se>
10101
10102 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
10103
101042008-02-07 Jim Meyering <meyering@redhat.com>
10105
10106 Use "do...while (0)", not "if (1)...else" in macro definitions.
10107 The latter provokes a warning from gcc about the empty else, when
10108 followed by ";". Also, without that trailing semicolon, it would
10109 silently swallow up any following statement.
10110 * syntax.h (SETUP_SYNTAX_TABLE)
10111 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
10112 * buffer.h (DECODE_POSITION): Likewise.
10113 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
10114 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
10115 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
10116 (FETCH_CHAR_ADVANCE): Likewise.
10117 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
10118
101192008-02-07 Jim Meyering <meyering@redhat.com>
10120
10121 * lread.c [lint]: Don't include <sys/inode.h>.
10122
101232008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
10124
10125 * xselect.c (x_handle_dnd_message):
10126 * xmenu.c (digest_single_submenu, xmenu_show):
10127 * xdisp.c (with_echo_area_buffer_unwind_data)
10128 (format_mode_line_unwind_data, unwind_format_mode_line)
10129 (display_menu_bar):
10130 * eval.c (Ffetch_bytecode):
10131 * doc.c (store_function_docstring):
10132 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
10133 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
10134 * buffer.c (add_overlay_mod_hooklist): Use ASET.
10135
101362008-02-07 Kenichi Handa <handa@m17n.org>
10137
10138 * ftxfont.c (ftxfont_open): Don't set
10139 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
10140
10141 * ftfont.c (ftfont_open): Fix previous change.
10142
101432008-02-06 Jason Rumney <jasonr@gnu.org>
10144
10145 * w32font.c (w32font_text_extents): Fill in lbearing metric.
10146 Use cached metrics for ASCII characters.
10147 (w32font_open_internal): Don't set font's owning_frame.
10148 Cache metrics for ASCII characters.
10149
10150 * w32font.h (struct w32font_info): Add ascii_metrics.
10151 Remove owning_frame.
10152
101532008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
10154
10155 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
10156 to negative value.
10157
10158 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
10159
10160 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
10161
10162 * charset.c (syms_of_charset): Set QCtest and Qeq.
10163
101642008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
10165
10166 * process.c (Fstart_process):
10167 * callproc.c (Fcall_process): Handle the case where
10168 Funhandled_file_name_directory returns nil.
10169
10170 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
10171 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
10172 * font.c (check_gstring): Use them and AREF to access the vector before
10173 we know it's really a gstring.
10174 (Ffont_shape_text): Fix typo.
46e722a9 10175 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
10176
10177 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
10178 Declare.
10179
10180 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
10181
101822008-02-05 Jason Rumney <jasonr@gnu.org>
10183
10184 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
10185 Set smallest_font_height and smallest_char_width in display info.
10186
101872008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
10188
10189 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
10190
101912008-02-05 Miles Bader <miles@gnu.org>
10192
10193 * xfaces.c (get_lface_attributes, merge_named_face)
10194 (lookup_named_face, lookup_derived_face, realize_named_face):
10195 Revert 2008-02-01 change by cyd@stupidchicken.com.
10196
101972008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
10198
10199 * fontset.c (Ffontset_info): Handle the case of inhibitting the
10200 fallback fonts.
10201 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
10202
102032008-02-04 Jason Rumney <jasonr@gnu.org>
10204
10205 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
10206 set full_name.
10207 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
10208
102092008-02-03 Jason Rumney <jasonr@gnu.org>
10210
10211 * makefile.w32-in (OBJ1): Include font.o here.
10212 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
10213
102142008-02-02 Jason Rumney <jasonr@gnu.org>
10215
10216 * makefile.w32-in (temacs): Bump EMHEAP to 21.
10217
102182008-02-01 Jason Rumney <jasonr@gnu.org>
10219
10220 * s/cygwin.h: Define VIRT_ADDR_VARIES.
10221
10222 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
10223
102242008-02-01 Andreas Schwab <schwab@suse.de>
10225
10226 * Makefile.in (shortlisp, lisp): Update for rename of
10227 ../lisp/language/myanmar.el.
10228
102292008-02-01 Chong Yidong <cyd@stupidchicken.com>
10230
10231 * xfaces.c (get_lface_attributes): Delete function.
10232 (merge_named_face, lookup_named_face, lookup_derived_face)
10233 (realize_named_face): Call lface_from_face_name directly, and use
10234 the fact that merge_face_vectors does not alter its FROM argument.
10235
102362008-02-01 Jason Rumney <jasonr@gnu.org>
10237
10238 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
10239 input in the default locale. Handle non-Unicode multibyte input.
10240
102412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10242
10243 * fontset.c (reorder_font_vector): Exclude nil elements from the
10244 font group. Don't try multiple fonts.
10245 (fontset_font): Adjust for the above change.
10246 (Finternal_char_font): Return nil if the found font doesn't
10247 contain the character ch.
10248
10249 * Makefile.in (lisp, shortlisp): Add cham.el.
10250
102512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10252
10253 * font.h (FONTP): Make it return 1 also for a font-object.
10254
10255 * .gdbinit (xfontset): New function.
10256
10257 * font.c (font_find_for_lface): Check if the character C is
10258 supported or not only for the first font.
10259
10260 * fontset.c (reorder_font_vector): Fix typo.
10261 (fontset_find_font): Don't add a font-spec specifying a script.
10262 Use 0 (not Qt) for the indication of empty font-group. Change the
10263 format of RFONT-DEF. Return Qt if no font in the font-group
10264 support the character.
10265 (fontset_font): Adjust for the above change. If no font was
10266 found the character, remember that.
10267 (face_for_char): Adjust for the change of RFONT-DEF.
10268 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
10269 no font for the target.
10270 (Finternal_char_font): Adjust for the change of RFONT-DEF.
10271
102722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10273
10274 * font.c (font_load_for_face): Handle the case that the font in
10275 face->lface is a string.
10276
102772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10278
10279 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
10280
102812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10282
10283 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
10284 Fix previous change. If the frame is not on a window system,
10285 signal an error.
10286
102872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10288
10289 * coding.c (decode_coding_object, encode_coding_object): Adjust
10290 marker positions after conversion.
10291
10292 * lisp.h (struct Lisp_Marker): New member need_adjustment.
10293
102942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10295
10296 * font.c (font_find_for_lface): Fix the handling of the return
10297 value of font_has_char.
10298 (Ffont_shape_text): Fix previous change.
10299
10300 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
10301 (fontset_ref_and_range): Delete it.
10302 (fontset_find_font): Call char_table_ref_and_range instead of
10303 FONTSET_REF_AND_RANGE.
10304 (make_fontset): Don't setup font groups of Latin here.
10305 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
10306 (new_fontset_from_font): Make the specified font the default for
10307 all Latin characters.
10308
103092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10310
10311 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
10312 is on a window system before accessing the fontset of the frame.
10313
103142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10315
10316 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
10317
10318 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
10319 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
10320
10321 * font.c (Ffont_shape_text): If the font driver doesn't have a
10322 shaper function, make zero-width glyphs to have at least one-pixel
10323 width. Fix setting of `to' field of glyphs.
10324
103252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10326
10327 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
10328 glyphs.
10329
10330 * font.h (struct font_driver): Improve docstring of member `shape'.
10331
103322008-02-01 Kenichi Handa <handa@m17n.org>
10333
10334 * composite.c (syms_of_composite): Fix docstring of
10335 auto-composition-function.
10336
10337 * font.h (LGLYPH_SIZE): New macro.
10338
10339 * font.c (Ffont_fill_gstring): Stop filling when a character not
10340 supported by the font is found.
10341 (Ffont_shape_text): When a shape callback function returns nil,
10342 try at most two more times with larger gstring.
10343 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
10344
10345 * xdisp.c (handle_auto_composed_prop): Change the argument to
10346 auto-composition-function.
10347
10348 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
10349 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
10350 Lispy glyph and store it in the lgstring.
10351
10352 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
10353
10354 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
10355
103562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10357
10358 * font.c (Ffont_shape_text): Avoid unnecessary composition.
10359
10360 * fontset.c (Vfont_encoding_charset_alist): New variable.
10361 (syms_of_fontset): DEFVAR it.
10362 (reorder_font_vector, fontset_find_font): Optimize for the case of
10363 no need of reordering.
10364 (face_for_char): Map the charset property by
10365 Vfont_encoding_charset_alist.
10366
103672008-02-01 Jason Rumney <jasonr@gnu.org>
10368
10369 * w32font.c (logfonts_match): Don't check adstyle here.
10370 (font_matches_spec): Check here against physical font instead.
10371 (add_font_entity_to_list): Avoid some substitutions.
10372
10373 * font.c (font_parse_fcname): Default weight and slant to normal.
10374 (font_score): Prefer normal fonts if weight or slant unspecified.
10375 (font_score) [WINDOWSNT]: Scale weight difference down to closer
10376 match freetype scores.
10377
103782008-02-01 Jason Rumney <jasonr@gnu.org>
10379
10380 * w32font.c (w32font_text_extents): Don't use the frame stored in the
10381 font, as it may have been deleted.
10382 (w32_enumfont_pattern_entity): Map generic family to adstyle using
10383 most common hyphenless variation.
10384 (logfonts_match): Check generic family.
10385 (font_matches_spec): Don't check generic family here.
10386 (fill_in_logfont): Set generic family based on adstyle.
10387
10388 * w32font.h (w32font_get_cache): Update declaration.
10389
103902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10391
10392 * ftfont.c (ftfont_get_cache): Adjust the argument type.
10393
10394 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
10395 If none of the new drivers are available, call font_update_drivers
10396 with the old drivers.
10397
10398 * w32font.c (w32font_get_cache): Adjust the argument type.
10399
10400 * xfont.c (xfont_get_cache): Adjust the argument type.
10401
10402 * font.h (struct font_driver): Change argument type of get_cache.
10403
10404 * xftfont.c (xftfont_start_for_frame): Delete prototype.
10405
10406 * font.c (Ffont_get): Fix arguments to Fassoc.
10407 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
10408 (font_clear_cache): New function.
10409 (font_list_entities, font_matching_entity): Use font_get_cache.
10410 (font_update_drivers): Call font_clear_cache when finishing a driver.
10411
10412 * fontset.c (fontset_find_font): Fix previous change.
10413
104142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10415
10416 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
10417 dpyinfo->font_table.
10418 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
10419 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
10420
10421 * font.c (font_at): Handle the case that the arg C is negative.
10422 Handle the unibyte case.
10423 (Ffont_at): Call font_at with the arg C -1.
10424
10425 * xdisp.c (handle_auto_composed_prop): Don't get a character at
10426 the position here, and call font_at with the arg C -1.
10427 Don't check the range of the existing composition at the point.
10428
104292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10430
10431 * fontset.c (fontset_add): New args charset_id and family.
10432 Change caller.
10433 (load_font_get_repertory, fontset_find_font): Assume that
10434 font_spec is always a font-spec object.
10435 (Fset_fontset_font): Always store a font-spec object in a fontset.
10436
10437 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
10438 instead of get_property_and_range.
10439
104402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10441
10442 * xftfont.c (struct xftfont_info): Delete the member ft_face.
10443 (xftfont_open): Don't keep locking face.
10444 (xftfont_close): Don't unlock face.
10445 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
10446
10447 * fontset.c (fontset_find_font): Don't prefer a font of
10448 supplementary charset.
10449
104502008-02-01 Kenichi Handa <handa@m17n.org>
10451
10452 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
10453 script, langsys_tag to langsys, new member script.
10454 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 10455 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
10456 listing to the script specified in that property. Fix arg to
10457 OTF_check_features.
10458
104592008-02-01 Jason Rumney <jasonr@gnu.org>
10460
10461 * w32font.h: New file.
10462
10463 * w32font.c: Include it.
10464 (struct w32font_info): Add owning_frame field. Move to w32font.h.
10465 (w32font_open): Set owning_frame.
10466 (w32font_text_extents): Use owning_frame.
10467 (struct font_callback_data): Add opentype_only field.
10468 (add_font_entity_to_list): Use it to filter fonts.
10469 Don't check against full name.
10470 (w32font_list_internal): New function.
10471 (w32font_list): Use it.
10472 (w32font_match_internal): New function.
10473 (w32font_match): Use it.
10474 (w32font_open_internal): New function.
10475 (w32font_open): Use it.
10476 (w32font_get_cache, w32font_close, w32font_has_char)
10477 (w32font_encode_char, w32font_text_extents, w32font_draw):
10478 Make non-static.
10479
10480 * makefile.w32-in (w32font.o): Depend on w32font.h.
10481
104822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10483
10484 * charset.c (Fdefine_charset_internal): Record a supplementary
10485 charset at the tail of Vcharset_order_list.
10486
10487 * font.c (Ffont_shape_text): Fix the return value.
10488
10489 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
10490
10491 * xdisp.c (handle_auto_composed_prop): Fix previous change.
10492
104932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10494
10495 * ftfont.c (struct OpenTypeSpec): New struct.
10496 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
10497 (ftfont_get_open_type_spec): New function.
10498 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
10499
10500 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
10501
105022008-02-01 Jason Rumney <jasonr@gnu.org>
10503
10504 * w32font.c (add_font_entity_to_list): Compare only the beginning
10505 of full name.
10506
105072008-02-01 Kenichi Handa <handa@m17n.org>
10508
10509 * xdisp.c (handle_auto_composed_prop): Simplify the code.
10510 Never return HANDLED_RECOMPUTE_PROPS.
10511
105122008-02-01 Kenichi Handa <handa@m17n.org>
10513
10514 * font.c (font_gstring_produce): Delete it.
10515
10516 * composite.h (COMPOSITION_METHOD):
10517 Handle COMPOSITION_WITH_GLYPH_STRING.
10518
105192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10520
10521 * xfont.c (Qx): Delete.
10522 (syms_of_xfont): Don't initialize Qx.
10523
10524 * composite.h (enum composition_method):
10525 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
10526
105272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10528
10529 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
10530 (choose_face_font): Accept new form of font-spec.
10531
10532 * frame.h (font_driver_list): Declare it unconditionally.
10533 (struct frame): Define members font_driver_list and font_data_list
10534 unconditionally.
10535
10536 * fontset.c: Include "font.h" unconditionally.
10537 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
10538 (Fset_fontset_font): Accept a font-spec object.
10539
10540 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
10541 PIXEL_SIZE part a wild card.
10542
10543 * dispextern.h (struct glyph_string): Define members clip and
10544 num_clips unconditionally.
10545 (struct face): Define members font_info and extra unconditionally.
10546
10547 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
10548 ftfont_info only when HAVE_LIBOTF is defined.
10549
105502008-02-01 Andreas Schwab <schwab@suse.de>
10551
10552 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
10553 and end.
10554
105552008-02-01 Jason Rumney <jasonr@gnu.org>
10556
10557 * w32font.c (w32font_driver): Add new fields.
10558
105592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10560
10561 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
10562 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
10563 (LIBES): Add @M17N_FLT_CFLAGS@.
10564
10565 * composite.c (compose_text): Don't treat the new style
10566 composition specially.
10567
10568 * emacs.c (main): Call syms_of_font unconditionally.
10569
10570 * font.h (FONT_ENTITY_NOT_LOADABLE)
10571 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
10572 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
10573 (struct font_driver): New member shape.
10574 (font_registry_charsets): Extern it.
10575 (font_find_for_lface, font_prepare_composition): Adjust prototype.
10576 (font_otf_capability, font_drive_otf): Delete their externs.
10577
10578 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
10579 (font_charset_alist, font_registry_charsets): Move from xfont.c
10580 and rename.
10581 (font_prop_validate_otf): New function.
10582 (font_property_table): Register it for QCotf.
10583 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
10584 (font_drive_otf): Delete.
10585 (font_prepare_composition): New arg F. Adjust for the change of
10586 lispy gstring.
10587 (font_find_for_lface): New arg C.
10588 (font_load_for_face): Adjust for the change of font_find_for_lface.
10589 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
10590 lispy gstring.
10591 (Ffont_shape_text): New function.
10592 (Fopen_font): If the font size is not given, use 12-pixel.
10593 (Ffont_at): New arg STRING.
10594 (syms_of_font): Initalize font_charset_alist.
10595 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
10596 conditionally.
10597
10598 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
10599 fonts of the same font-spec. Change the format of RFONT-DEF.
10600 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
10601 Adjust for the change of RFONT-DEF.
10602 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
10603
10604 * ftfont.h: New file.
10605
10606 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
10607 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10608 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10609 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
10610 font_otf_capability and font_drive_otf, set ftfont_shape.
10611 (ftfont_list): Adjust for the change of :otf property value.
10612 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
10613 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
10614 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
10615 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10616 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
10617 (otf_gstring, gstring, m17n_flt_initialized): New variables.
10618
10619 * w32term.c (x_draw_composite_glyph_string_foreground):
10620 Adjust for the change of lispy gstring.
10621
10622 * xdisp.c (handle_composition_prop): Adjust for the change of
10623 lispy gstring. Call a function for auto-composition with the
10624 third arg it->window.
10625 (fill_composite_glyph_string): Adjust for the change of lispy string.
10626 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
10627
10628 * xfaces.c (set_font_frame_param): Adjust for the change of
10629 font_find_for_lface.
10630
10631 * xfont.c (x_font_charset_alist): Move to font.c and rename.
10632 (xfont_registry_charsets): Likewise. Change caller.
10633 (syms_of_xfont): Don't handle x_font_charset_alist.
10634
10635 * xftfont.c: Include "ftfont.h".
10636 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10637 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10638 (xftfont_close) [HAVE_LIBOTF]: Close otf.
10639 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10640 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
10641 Set xftfont_driver.shape to xftfont_shape.
10642
10643 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10644 the change of lispy gstring.
10645
106462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10647
10648 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
10649
106502008-02-01 Jason Rumney <jasonr@gnu.org>
10651
10652 * w32font.c (w32font_draw): Fill background manually.
10653
106542008-02-01 Jason Rumney <jasonr@gnu.org>
10655
10656 * font.c (Qfontp): Remove unused symbol.
10657 (QCantialias): New symbol.
10658 (syms_of_font): Define it.
10659 (font_property_table): Set a validator for QCantialias.
10660
10661 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
10662 Define if not already.
10663 (QCfamily): Share with xfaces.c.
10664 (Qstandard, Qsubpixel, Qnatural): New symbols.
10665 (syms_of_w32font): Define them. Don't define QCfamily here.
10666 (w32_antialias_type, lispy_antialias_type): New functions.
10667 (w32_enumfont_pattern_entity): New arg requested_font.
10668 Set antialias parameter if non-default was requested.
10669 (fill_in_logfont): Fill in lfQuality if :antialias specified.
10670
106712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10672
10673 * lread.c (read1): Undo the previous change.
10674
106752008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
10676
10677 * frame.c (Fdelete_frame): Call font_update_drivers only when
10678 USE_FONT_BACKEND is defined.
10679
106802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10681
10682 * font.h (struct font_bitmap): New member bits_per_pixel.
10683 (struct font_driver): New members start_for_frame and end_for_frame.
10684 (struct font_data_list): New struct.
10685 (font_put_frame_data, font_get_frame_data): Extern them.
10686
10687 * frame.h (struct frame): New member font_data_list.
10688
10689 * font.c (font_update_drivers): Call driver->start_for_frame and
10690 driver->end_for_frame at proper timings.
10691 (font_put_frame_data, font_get_frame_data): New functions.
10692 (Ffont_spec): Add usage in the docstring.
10693
10694 * frame.c (make_frame): Initialize f->font_data_list to NULL.
10695 (Fdelete_frame): Call font_update_drivers.
10696
10697 * xftfont.c (struct xftface_info): Delete the member xft_draw.
10698 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
10699 (xftfont_get_xft_draw): New function.
10700 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
10701 (xftfont_end_for_frame): New function.
10702 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
10703
10704 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
10705 Change argument. Cache GCs in the per-frame data.
10706 (struct ftxfont_frame_data): New struct.
10707 (ftxfont_draw_bitmap): New arg gc_fore and flush.
10708 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
10709 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
10710 (ftxfont_end_for_frame): New function.
10711 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
10712
10713 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
10714
107152008-02-01 Kenichi Handa <handa@m17n.org>
10716
10717 * xselect.c (Vselection_coding_system)
10718 (Vnext_selection_coding_system): Delete them.
10719 (syms_of_xselect): Don't declare selection-coding-system and
10720 next-selection-coding-system. They are declared in select.el.
10721
107222008-02-01 Jason Rumney <jasonr@gnu.org>
10723
10724 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
10725
10726 * w32fns.c: Include imm.h.
10727 (get_composition_string_fn, get_ime_context_fn): New optional
10728 system functions.
10729 (globals_of_w32fns): Load them from imm32.dll.
10730 (ignore_ime_char): New flag.
10731 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
10732 WM_IME_ENDCOMPOSITION messages.
10733
10734 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
10735 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
10736
107372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10738
10739 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
10740 (READCHAR_REPORT_MULTIBYTE): New macro.
10741 (readchar): New 2nd arg MULTIBYTE.
10742 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
10743 Make symbol's name multibyte according to the multibyteness of the
10744 source.
10745
107462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10747
10748 * xfaces.c (face_for_overlay_string): Call lookup_face with
10749 correct arguments (fix of synching with the trunk).
10750
107512008-02-01 Kenichi Handa <handa@m17n.org>
10752
10753 * font.c (font_prop_validate_symbol, font_prop_validate_style)
10754 (font_prop_validate_non_neg, font_prop_validate_spacing):
10755 Delete argument prop_index.
10756 (font_property_table): Change arguments to validater. Change Callers.
10757 (font_lispy_object): Delete.
10758 (font_at): Use font_find_object instead fo font_lispy_object.
10759
107602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10761
10762 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
10763 and file names.
10764
107652008-02-01 Jason Rumney <jasonr@gnu.org>
10766
10767 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
10768 (font_matches_spec): Remove debug output.
10769 (add_font_entity_to_list): Avoid using substituted fonts.
10770
107712008-02-01 Jason Rumney <jasonr@gnu.org>
10772
10773 * doc.c (Fsnarf_documentation):
10774 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
10775
107762008-02-01 Miles Bader <miles@gnu.org>
10777
10778 * dispextern.h (struct glyph_row): Only define "clip" field if
10779 HAVE_WINDOW_SYSTEM is defined.
10780
107812008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10782
10783 Fix up multi-tty merge.
10784
10785 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
10786 and indentation.
10787
10788 * xfaces.c (free_realized_face, clear_face_gcs):
10789 Include font_done_for_face in the input_blocked section, just in case.
10790
10791 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
10792 (get_char_face_and_encoding): Undo last change and remove the *other*
10793 duplicate definition (i.e. keep the one that's better scoped and that
10794 includes code for the font-backend).
10795
10796 * terminal.c (create_terminal): Default keyboard_coding to
10797 `no-conversion' and terminal_coding to `undecided'.
10798
10799 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
10800
10801 * fontset.c (free_realized_fontsets): Check that the table entry does
10802 contain a fontset before trying to compare it to `base'.
10803
10804 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
10805 syms_of_charset, and syms_of_coding earlier because init_window_once
10806 now needs Vcoding_system_hash_table to be setup.
10807
10808 * coding.h (default_buffer_file_coding): Remove.
10809
10810 * coding.c (default_buffer_file_coding): Remove.
10811 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
10812 than ->symbol, and use the terminal-local coding system.
10813 (syms_of_coding): Don't setup the coding-systems that are not
10814 terminal-local.
10815 (Fdefine_coding_system_internal): Use XCAR/XCDR.
10816
10817 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
10818 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
10819
10820 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
10821 in chartab.c and were re-added here by mistake.
10822 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
10823
10824 * doc.c (Fsnarf_documentation):
10825 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
10826 src to etc.
10827
10828 * ChangeLog.10: Add mistakenly removed entry.
10829
108302008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
10831
10832 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
10833
108342008-02-01 Miles Bader <miles@gnu.org>
10835
10836 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
10837 Add extra args to FACE_FOR_CHAR.
10838
108392008-02-01 Kenichi Handa <handa@m17n.org>
10840
10841 * keymap.c (where_is_internal_1): If key is a cons, store the copy
10842 in sequence.
10843
10844 * chartab.c (map_sub_char_table, map_char_table): If the range
10845 contains just one character, call the function with that character
10846 even if the depth is not 3.
10847
108482008-02-01 Jason Rumney <jasonr@gnu.org>
10849
10850 * w32font.c (w32font_text_extents): Calculate metrics for the
10851 whole string.
10852
108532008-02-01 Jason Rumney <jasonr@gnu.org>
10854
10855 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
10856
108572008-02-01 Jason Rumney <jasonr@gnu.org>
10858
10859 * w32term.c (x_set_glyph_string_clipping): Use
10860 get_glyph_string_clip_rects.
10861 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10862 Adjust for the change of struct glyph_string.
10863
10864 * w32font.c (w32font_draw): Do clipping here.
10865
108662008-02-01 Kenichi Handa <handa@m17n.org>
10867
10868 * xftfont.c (xftfont_draw): Adjust for the change of struct
10869 glyph_string.
10870
10871 * xterm.c (x_set_glyph_string_clipping): Use
10872 get_glyph_string_clip_rects.
10873 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10874 Adjust for the change of struct glyph_string.
10875
10876 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
10877 the resulting clip(s}.
10878 (expose_overlaps): Add arg r. Change callers. Set it to
10879 row->clip temporarily.
10880 (expose_window): Redraw rows overlapping the exposed area.
10881
10882 * dispextern.h (struct glyph_row): New member clip.
10883 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
10884 clip_height, new member clip, and num_clips.
10885
108862008-02-01 Kenichi Handa <handa@m17n.org>
10887
10888 * data.c (Fchar_or_string_p): Fix docstring.
10889
108902008-02-01 Kenichi Handa <handa@m17n.org>
10891
10892 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10893 create a temporary XftDraw object.
10894
108952008-02-01 Kenichi Handa <handa@m17n.org>
10896
10897 * font.c (Ffontp): Fix docstring.
10898
10899 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10900 strong evidence of ISO-2022.
10901
109022008-02-01 Kenichi Handa <handa@m17n.org>
10903
10904 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10905 SYNTAX_ENTRY_FOLLOW_PARENT.
10906
109072008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10908
10909 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10910 its type.
10911 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10912 Update to the new type of weak_hash_tables and next_weak.
10913
10914 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10915 a plain C pointer to Lisp_Hash_Table.
10916
10917 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10918 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10919 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10920 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10921 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10922 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10923 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10924 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10925 (GC_EQ): Remove since they've been identical to their non-GC_
10926 alter-egos ever since the markbit was eradicated.
10927
10928 * alloc.c:
10929 * buffer.c:
10930 * buffer.h:
10931 * data.c:
10932 * fileio.c:
10933 * filelock.c:
10934 * fns.c:
10935 * frame.h:
10936 * lisp.h:
10937 * macterm.c:
10938 * print.c:
10939 * process.c:
10940 * w32fns.c:
10941 * w32menu.c:
10942 * w32term.c:
10943 * xfns.c:
10944 * xmenu.c:
10945 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10946
109472008-02-01 Kenichi Handa <handa@m17n.org>
10948
10949 * chartab.c (map_sub_char_table): Make it work for the top-level
10950 char-table. Fix handling of parent char-table.
10951 (map_char_table): Adjust for the above change.
10952
109532008-02-01 Jason Rumney <jasonr@gnu.org>
10954
10955 * w32font.c (Qgdi): Rename from Qw32.
10956
109572008-02-01 Jason Rumney <jasonr@gnu.org>
10958
10959 * w32bdf.c (get_quoted_string): Make function static.
10960
109612008-02-01 Kenichi Handa <handa@m17n.org>
10962
10963 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10964 bigger ascent and descent than those of the font, use them as
10965 font's ascent and descent.
10966
109672008-02-01 Kenichi Handa <handa@m17n.org>
10968
10969 * Makefile.in (${lispsource}international/charprop.el): Move this
10970 target within "#ifdef HAVE_UNIDATA" and "#endif".
10971
109722008-02-01 Kenichi Handa <handa@m17n.org>
10973
10974 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10975 (shortlisp): Add ../lisp/language/tai-viet.el.
10976
109772008-02-01 Ulrich Mueller <ulm@gentoo.org>
10978
10979 * Makefile.in (${lispsource}international/charprop.el): Depend on
10980 temacs${EXEEXT}.
10981
109822008-02-01 Jason Rumney <jasonr@gnu.org>
10983
10984 * w32font.c (w32font_close): Delete the GDI font object.
10985
10986 * w32menu.c: Include character.h.
10987
10988 * w32proc.c: Likewise.
10989
10990 * w32select.c: Likewise.
10991
10992 * makefile.w32-in (w32proc.o): Depend on character.h.
10993
109942008-02-01 Jason Rumney <jasonr@gnu.org>
10995
10996 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10997
10998 * w32menu.c (syms_of_w32menu): Likewise.
10999
11000 * w32proc.c (syms_of_ntproc): Likewise.
11001
11002 * w32select.c (syms_of_w32select): Likewise.
11003
11004 * w32term.c (syms_of_w32term): Likewise.
11005
110062008-02-01 Jason Rumney <jasonr@gnu.org>
11007
11008 * w32font.c (w32font_draw): Delete brush after using it.
11009
110102008-02-01 Jason Rumney <jasonr@gnu.org>
11011
11012 * w32font.c (w32font_open): Don't set font_idx.
11013 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
11014 to font settings.
11015 (w32font_draw): Fill background explicitly.
11016
110172008-02-01 Jason Rumney <jasonr@gnu.org>
11018
11019 * w32term.c (w32_initialize): Don't call w32font_initialize.
11020
11021 * w32font.c (w32font_info): Remove subranges.
11022 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
11023 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
11024 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
11025 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
11026 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
11027 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
11028 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
11029 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
11030 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
11031 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
11032 New symbols.
11033 (font_callback_data): New struct.
11034 (w32font_list, w32font_match): Use it.
11035 (w32font_open): Don't populate subranges.
11036 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
11037 (w32font_encode_char): Always return unicode code-point as-is.
11038 (w32font_text_extents): Supply a transformation matrix to
11039 GetGlyphOutline. Never look up by glyph index. Avoid looping
11040 twice. Use unicode version of GetTexExtentPoint32 instead of
11041 glyph index version.
11042 (set_fonts_frame): Remove.
11043 (w32_enumfont_pattern_entity): Add frame parameter, use it to
11044 set frame parameter. Use backward compatible fake foundries.
11045 Save generic family in extra slot under QCfamily. Make width slot
11046 constant. Save QCspacing value. Save list of scripts instead of
11047 binary subranges.
11048 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
11049 (add_font_entity_to_list): Use font_callback_data struct. Filter
11050 unwanted fonts.
11051 (add_one_font_entity_to_list): Use font_callback_data struct.
11052 (w32_registry): Default to iso10646_1.
11053 (fill_in_logfont): Use dpi from extra slot. Don't bother with
11054 string font registries. Don't fill in font name if it is a generic
11055 family name, fill family instead. Use spacing, family and script
11056 extra info to fill pitch, family and charset fields.
11057 (list_all_matching_fonts): Use font_callback_data struct.
11058 (unicode_range_for_char): Remove.
11059 (font_supported_scripts): New function.
11060 (w32font_initialize): Remove.
11061 (syms_of_w32font): Update which symbols are defined.
11062
110632008-02-01 Jason Rumney <jasonr@gnu.org>
11064
11065 * font.c (font_pixel_size): Reverse assq_no_quit args.
11066
11067 * w32term.h (FONT_WIDTH): Report max width, not average.
11068 (FONT_MAX_WIDTH): Remove.
11069 (FONT_AVG_WIDTH): New macro.
11070
11071 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
11072 redefinition of FONT_WIDTH.
11073
11074 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
11075 (w32_cache_char_metrics): Use FONT_WIDTH.
11076
11077 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
11078
110792008-02-01 Jason Rumney <jasonr@gnu.org>
11080
11081 * w32font.c (w32font_open): Make lfHeight negative.
11082
11083 * w32fns.c (x_default_font_parameter): Use new style font name.
11084 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
11085
110862008-02-01 Jason Rumney <jasonr@gnu.org>
11087
11088 * w32font.c (QCsubranges): New symbol.
11089 (w32font_open, w32font_has_char): Get subranges from subproperty
11090 of extra.
11091 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
11092 (syms_of_w32font): Define :subranges symbol.
11093
11094 * font.c (font_put_extra): Expose externally.
11095
11096 * font.h (font_put_extra): Move declaration from font.c.
11097
11098 * font.c (Ffont_get): Use font driver to determine otf capability.
11099 (adjust_anchor): Check if driver defines anchor_point before using.
11100
11101 * w32font.c (w32font_open): Handle size, height and pixel_size better.
11102 (w32font_draw): Use options.
11103 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
11104 Fix detection of truetype fonts.
11105 (registry_to_w32_charset): Handle charsets other than iso8859-1
11106 expressed as lisp symbols.
11107 (w32_registry): Express charset as lisp symbol.
11108 (fill_in_logfont): Reverse pixel and point height logic.
11109 Don't set width here. Set quality to default.
11110
11111 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
11112 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
11113
11114 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
11115 Remove redundant loop and allocation.
11116
11117 * makefile.w32-in (font.o, w32font.o): New objects.
11118 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
11119 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
11120
11121 * xdisp.c (fill_composite_glyph_string): Make the first arg to
11122 STORE_XCHARB a valid l-value.
11123
11124 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
11125 calculations for non-Truetype fonts.
11126 (x_draw_glyph_string): Sync with xterm.c.
11127 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
11128 Remove redundant code.
11129 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
11130
11131 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
11132 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
11133
11134 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
11135 (x_to_w32_charset, w32_to_x_charset): Expose externally.
11136
11137 * w32font.c: New file for w32 font backend.
11138
111392008-02-01 Kenichi Handa <handa@m17n.org>
11140
11141 * term.c: Don't include "buffer.h" twice.
11142
111432008-02-01 Kenichi Handa <handa@m17n.org>
11144
11145 * character.c (Funibyte_string): New function.
11146 (syms_of_character): Defsubr it.
11147
111482008-02-01 Jason Rumney <jasonr@gnu.org>
11149
11150 * w32term.c [USE_FONT_BACKEND]:
11151 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
11152 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
11153 (x_draw_glyph_string, x_draw_glyph_string_foreground)
11154 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
11155 (x_free_frame_resources): Sync with xterm.c.
11156
111572008-02-01 Andreas Schwab <schwab@suse.de>
11158
11159 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
11160 char-table size.
11161
111622008-02-01 Kenichi Handa <handa@m17n.org>
11163
11164 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
11165
111662008-02-01 Kenichi Handa <handa@m17n.org>
11167
11168 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
11169 font_otf_gpos, add font_drive_otf.
11170
11171 * fontset.c (fontset_find_font): Pay attention to font size
11172 specified for a font.
11173 (reorder_font_vector): Check contents of font_def.
11174
11175 * font.c (struct otf_list): Delete it.
11176 (otf_list): Make it a lisp variable.
11177 (otf_open): Use lispy otf_list.
11178 (generate_otf_features): Rename from parse_gsub_gpos_spec.
11179 (check_otf_features): New function.
11180 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
11181 New functions.
11182 (font_drive_otf): New function merging font_otf_gsub and
11183 font_otf_gpos.
11184 (font_open_for_lface): New arg spec. Change argument order.
11185 (font_load_for_face): Adjust for the change of font_open_for_lface.
11186 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
11187 Ffont_otf_gpos.
11188 (syms_of_font): Staticpro otf_list. Delete defsubr of
11189 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
11190
11191 * xfaces.c (set_font_frame_param): Adjust for the change of
11192 font_open_for_lface.
11193
11194 * font.h (font_open_for_lface): Adjust prototype.
11195 (struct font_driver): Delete members otf_gsub and otf_gpos, add
11196 member otf_drive.
11197 (font_otf_gsub, font_otf_gpos): Delete externs.
11198 (font_drive_otf): Extern it.
11199
112002008-02-01 Kenichi Handa <handa@m17n.org>
11201
11202 * font.c (font_at): If the window W is not on a window system,
11203 return Qnil.
11204
11205 * coding.c (produce_chars, encode_coding): Don't call
11206 insert_from_gap if no characters to produce.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
11211 Fclear_face_cache.
11212
11213 * xfaces.c (face_for_font): Check also face->font==font->font.font.
11214
112152008-02-01 Miles Bader <miles@gnu.org>
11216
11217 * emacs.c (main): Change default value of `enable_font_backend' to 1.
11218 Parse "--disable-font-backend" option.
11219 (standard_args): Add "--disable-font-backend" option.
11220
112212008-02-01 Kenichi Handa <handa@m17n.org>
11222
11223 * fontset.c (fontset_find_font): New function.
11224 (fontset_font): Use fontset_find_font.
11225 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
11226 Register the specified font for all Latin characters.
11227 (new_fontset_from_font): Register the specified font for all Latin
11228 characters.
11229 (dump_fontset): For a realized fontset, include the base fontset
11230 name in the returned vector.
11231
112322008-02-01 Kenichi Handa <handa@m17n.org>
11233
11234 * character.h (CHAR_STRING): Cast C to unsigned on calling
11235 char_string.
11236
11237 * character.c (char_string): Type of arg C changed to unsigned.
11238 Signal an error if C is an invalid character code.
11239
11240 * editfns.c (general_insert_function, Fchar_to_string):
11241 Use CHARACTERP, not INTEGERP.
11242
112432008-02-01 Kenichi Handa <handa@m17n.org>
11244
11245 * character.h (MIN_MULTIBYTE_LEADING_CODE)
11246 (MAX_MULTIBYTE_LEADING_CODE): New macros.
11247
11248 * regex.c (analyse_first): Fix for multibyte characters in "case
11249 charset:" and "case categoryspec:".
11250
112512008-02-01 Andreas Schwab <schwab@suse.de>
11252
11253 * Makefile.in (LIBES): Move standard libraries to the end.
11254
112552008-02-01 Kenichi Handa <handa@m17n.org>
11256
11257 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
11258 nonzero, don't shrink the buffer nextb.
11259
11260 * buffer.h (struct buffer_text): New member inhibit_shrinking.
11261
11262 * coding.c (coding_alloc_by_making_gap): New arg offset.
11263 (alloc_destination): Call coding_alloc_by_making_gap with the arg
11264 offset.
11265 (decode_coding_iso_2022): Update coding->safe_charsets.
11266 (decode_coding_gap): Temporarily set
11267 current_buffer->text->inhibit_shrinking to 1.
11268
112692008-02-01 Kenichi Handa <handa@m17n.org>
11270
11271 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
11272 indexing into elements of s->cmp and s->char2b.
11273
112742008-02-01 Juanma Barranquero <lekktu@gmail.com>
11275
11276 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
11277
112782008-02-01 Kenichi Handa <handa@m17n.org>
11279
11280 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
11281 target_multibyte instead of multibyte.
11282 (re_match_2_internal): Call bcmp_translate with target_multibyte.
11283 (bcmp_translate): Change the argument name from multibyte to
11284 target_multibyte.
11285
112862008-02-01 Kenichi Handa <handa@m17n.org>
11287
11288 These changes are to compile a regexp into a pattern that can be
11289 used both for multibyte and unibyte targets.
11290
11291 * Makefile.in (search.o): Depend on charset.h.
11292
11293 * character.c (multibyte_char_to_unibyte_safe): New function.
11294
11295 * search.c: Include "charset.h".
11296 (compile_pattern_1): Delete argument multibyte. Don't set
11297 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
11298 (compile_pattern): Don't compare cp->buf.target_multibyte.
11299 Compare cp->buf.charset_unibyte.
11300 (compile_pattern): Set cp->buf.target_multibyte.
11301
11302 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
11303
11304 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
11305
11306 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
11307 multibyte. Change callers.
11308 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
11309 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
11310 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
11311 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
11312 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
11313 (regex_compile): Make the compiled pattern usable both for
11314 multibyte and unibyte targets.
11315 (analyse_first): Make the fastmap usable both for multibyte and
11316 unibyte targets.
11317 (TRANSLATE_VIA_MULTIBYTE): Delete.
11318 (re_match_2_internal): Pay attention to the case that the
11319 multibyteness of bufp and target may be different.
11320
113212008-02-01 Kenichi Handa <handa@m17n.org>
11322
11323 * xdisp.c (x_produce_glyphs): When a font is not found, make the
11324 empty box occupy at least one column width.
11325
113262008-02-01 Miles Bader <miles@gnu.org>
11327
11328 * Makefile.in: Remove redundant HAVE_XFT clause.
11329
113302008-02-01 Kenichi Handa <handa@m17n.org>
11331
11332 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
11333
113342008-02-01 Kenichi Handa <handa@m17n.org>
11335
11336 * fontset.c (Finternal_char_font): Fix for the case of POSITION
11337 being nil.
11338
113392008-02-01 Kenichi Handa <handa@m17n.org>
11340
11341 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
11342
113432008-02-01 Kenichi Handa <handa@m17n.org>
11344
11345 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
11346
113472008-02-01 Kenichi Handa <handa@m17n.org>
11348
11349 * search.c (simple_search): Fix previous change.
11350
113512008-02-01 Kenichi Handa <handa@m17n.org>
11352
11353 * xftfont.c (ftfont_font_format): Extern declaration.
11354
11355 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
11356
11357 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
11358 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
11359
11360 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
11361 (ftfont_font_format): Fix previous change.
11362
11363 * font.h (Ffont_xlfd_name): EXFUN it.
11364
11365 * font.c (font_parse_xlfd): Fix the array size of `f'.
11366 (register_font_driver): Use EQ to compare driver->type.
11367
11368 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
11369 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
11370 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
11371
113722008-02-01 Kenichi Handa <handa@m17n.org>
11373
11374 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
11375 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
11376
113772008-02-01 Kenichi Handa <handa@m17n.org>
11378
11379 * xfont.c (xfont_open): Set font->format.
11380
11381 * xftfont.c (xftfont_open): Set font->format.
11382
11383 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
11384 (ftfont_list): Include FC_FONTFORMAT in FcObject.
11385 (ftfont_open): Set font->format.
11386 (ftfont_font_format): New function.
11387
11388 * font.h (struct font): New member format.
11389
11390 * font.c (Qopentype): New variable.
11391 (syms_of_font): Defsym it.
11392 (Fquery_font): Change the format of the last element of the return
11393 value.
11394
113952008-02-01 Kenichi Handa <handa@m17n.org>
11396
11397 * xfns.c (xic_create_xfontset): Try the default fontset name as a
11398 last resort.
11399
114002008-02-01 Kenichi Handa <handa@m17n.org>
11401
11402 * coding.c (detect_coding_charset): Fix detection of multi-byte
11403 charset.
11404
114052008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
11406
11407 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
11408
114092008-02-01 Kenichi Handa <handa@m17n.org>
11410
11411 * xdisp.c (get_next_display_element): Set it->face_id for the
11412 first component of a composition.
11413 (x_produce_glyphs): Check if the font is changed or not for composition.
11414
114152008-02-01 Kenichi Handa <handa@m17n.org>
11416
11417 * fontset.c (Qlatin): New variable.
11418 (syms_of_fontset): Define it as a lisp symbol.
11419 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
11420
114212008-02-01 Kenichi Handa <handa@m17n.org>
11422
11423 * font.c (font_unparse_fcname): Pay attention to the case that
11424 some of font property is a null string.
11425
114262008-02-01 Kenichi Handa <handa@m17n.org>
11427
11428 * term.c: Include "composite.h".
11429 (encode_terminal_code): Output all components of composition.
11430 Check the size of encode_terminal_src.
11431 (produce_glyphs): For composition, call produce_composite_glyph.
11432 (append_composite_glyph, produce_composite_glyph): New functions.
11433
11434 * xdisp.c (x_produce_glyphs): In handling composition, if a font
11435 is not found, get font_info from the current ascii face.
11436
114372008-02-01 Kenichi Handa <handa@m17n.org>
11438
11439 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
11440 buffer-file-name to Qnil before calling insert_from_buffer.
11441
11442 * font.c (font_unparse_fcname): Pay attention to the case that
11443 foundry is a null string.
11444
114452008-02-01 Kenichi Handa <handa@m17n.org>
11446
11447 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
11448
11449 * font.c (Qunicode_sip): New variable.
11450 (syms_of_font): Declare it as a Lisp symbol.
11451
11452 * font.h (Qunicode_sip): Extern it.
11453
114542008-02-01 Kenichi Handa <handa@m17n.org>
11455
11456 * composite.c (get_composition_id): Pay attention to TAB component.
11457
11458 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
11459 TAB. Adjust for the change of s->char2b which always points to
11460 the first element of allocated memory.
11461
11462 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
11463
11464 * xdisp.c (handle_composition_prop): Set it->c to the first
11465 non-TAB component.
11466 (fill_composite_glyph_string): Change argument.
11467 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
11468 (x_produce_glyphs): Fix handling of left/right padding.
11469
114702008-02-01 Kenichi Handa <handa@m17n.org>
11471
11472 * coding.c (detect_coding_system): Fix for handling off
11473 inhibit_iso_escape_detection. Fix for the case that no coding
11474 system is defined for a specific coding category.
11475
114762008-02-01 Kenichi Handa <handa@m17n.org>
11477
11478 * font.c (font_matching_entity): Delete unused local var.
11479
11480 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
11481 opening a font.
11482
11483 * fileio.c (Finsert_file_contents): On recovering a file, assume
11484 Unix-like eol.
11485 (choose_write_coding_system): On auto-saving a file, force
11486 Unix-like eol.
11487
11488 * coding.c (setup_coding_system): Fix setting of
11489 coding->common_flags based on eol_type.
11490 (coding_inherit_eol_type): If PARENT is not nil, be sure to
11491 inherit from it.
11492
114932008-02-01 Kenichi Handa <handa@m17n.org>
11494
11495 * alloc.c (NSTATICS): Increas to 0x600.
11496
114972008-02-01 Kenichi Handa <handa@m17n.org>
11498
11499 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
11500 (ftfont_list): Don't check :name property.
11501 (ftfont_match): New function.
11502 (ftfont_pattern_entity): If the pattern doesn't contain
11503 FC_SPACING, don't assume FC_MONO.
11504
11505 * font.h (struct font_driver): New member `match'.
11506 (font_update_drivers): Adjust prototype.
11507
11508 * font.c (font_parse_fcname, font_parse_name): Don't change :name
11509 property of FONT.
11510 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
11511 them unconditionally.
11512 (font_matching_entity): New function.
11513 (font_open_by_name): Try font_matching_entity if exact match is
11514 not found.
11515 (font_update_drivers): Delete the arg FONT. Return a list of
11516 actually used backends. Don't free faces, font caches here.
11517 Don't store data in frame parameters. Don't call x_set_font.
11518 (Ffont_spec): Store :name property as is.
11519 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
11520 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
11521 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
11522 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
11523 Call font->driver->otf_gsub instead of font_otf_gsub.
11524
11525 * frame.c (x_set_font_backend): Do more works that were done in
11526 font_update_drivers before.
11527
11528 * xfont.c (xfont_match): New function.
11529 (xfont_driver): Set xfont_driver.match to xfont_match.
11530 (xfont_draw): Set font in GC if necessary.
11531
11532 * ftxfont.c (ftxfont_match): New function.
11533 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
11534
11535 * xftfont.c (xftfont_match): New function.
11536 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
11537
115382008-02-01 Kenichi Handa <handa@m17n.org>
11539
11540 * font.h (struct font): New member scalable.
11541 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
11542 (font_otf_gsub): Adjust prototype.
11543
11544 * font.c (font_otf_capability): Fix handling of the default langsys.
11545 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
11546 Check the contents of SPEC.
11547 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
11548 (check_gstring): New function.
11549 (REPLACEMENT_CHARACTER): New macro.
11550 (font_otf_gsub): New arg alternate_subst. Be sure to set all
11551 glyph codes of GSTRING.
11552 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
11553 (font_prepare_composition): Set cmp->glyph_len.
11554 (font_open_entity): Set font->scalable.
11555 (Ffont_get): Handle :otf property.
11556 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
11557 functions.
11558 (Fquery_font): Use font->font.full_name.
11559 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
11560 Sfont_otf_alternates.
11561
11562 * ftfont.c (ftfont_open): Set font->font.full_name and
11563 font->font.name properly. Fix calculation of font->font.height
11564 and font->min_width.
11565
11566 * ftxfont.c (ftxfont_create_gcs): New function.
11567 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
11568 (ftxfont_draw_backgrond): Fix filling region.
11569 (ftxfont_default_fid): New function.
11570 (ftxfont_open): Set xfont->fid to the return value of
11571 ftxfont_default_fid.
11572 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
11573 (ftxfont_done_face): Free only GCs that are created by
11574 ftxfont_create_gcs.
11575 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
11576
11577 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
11578 Clip to src->width, etc (not src->clip_XXX).
11579
11580 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
11581 FontBackend frame parameter.
11582
115832008-02-01 Kenichi Handa <handa@m17n.org>
11584
11585 * font.h (struct font_driver_list): New member `on'.
11586 (Fclear_font_cache): EXFUN it.
11587 (font_update_drivers): Extern it.
11588
11589 * font.c (font_unparse_fcname): Fix typo (swidth->width).
11590 (font_list_entities): Check driver_list->on.
11591 (register_font_driver): Initalize `on' member to 0.
11592 (font_update_drivers): New function.
11593 (Fclear_font_cache): Check driver_list->on.
11594
11595 * frame.h (Qfont_backend): Extern it.
11596 (x_set_font_backend): Extern it.
11597
11598 * frame.c (Qfont_backend): New variable.
11599 (frame_parms): New element for font-backend.
11600 (x_set_font_backend): New function.
11601
11602 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
11603 FontBackend frame parameter.
11604 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
11605 x_set_font_backend.
11606
11607 * xfont.c (xfont_list): Don't try listing by :name property if the
11608 name is not for XLFD.
11609
116102008-02-01 Kenichi Handa <handa@m17n.org>
11611
11612 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
11613 (LGLYPH_SET_TO): New macros.
11614 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
11615 element of G is vector or not.
11616 (font_at): Extern it.
11617
11618 * font.c: Include window.h.
11619 (font_lispy_object): New function.
11620 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
11621 end of valid glyph.
11622 (font_close_object): Fix getting (struct font *).
11623 (font_at): New function.
11624 (Ffont_get): If FONT is a font-object, get entity from it.
11625 (Ffont_make_gstring): Initialize elements of glyphs with nil.
11626 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
11627 range check.
11628 (Ffont_at): New function.
11629 (syms_of_font): Defsubr Sfont_at.
11630
11631 * xdisp.c (it_props): Move the entry for Qauto_composed to just
11632 before the entry for Qcomposition.
11633 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
11634 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
11635 the font in gstring.
11636 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
11637 LGLYPH_FORM (g) to detect the end of valid glyph.
11638 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
11639 we are composing with gstring.
11640
11641 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
11642 Check if adjustment is vector or not.
11643
11644 * Makefile.in (font.o): Make it depends on window.h.
11645
116462008-02-01 Kenichi Handa <handa@m17n.org>
11647
11648 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
11649 adjustment is vector or not.
11650
116512008-02-01 Miles Bader <miles@gnu.org>
11652
11653 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
11654
116552008-02-01 Kenichi Handa <handa@m17n.org>
11656
11657 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
11658 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
11659 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
11660
11661 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
11662 (DEVICE_DELTA): Fix typo.
11663 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
11664 LGLYPH format.
11665
11666 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11667 the change of LGLYPH format.
11668
116692008-02-01 Kenichi Handa <handa@m17n.org>
11670
11671 * ftfont.c (ftfont_list): Fix typo.
11672 (ftfont_build_basic_charsets): Don't include letters with diacritics.
11673
116742008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11675
11676 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
11677
11678 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
11679 xftface_info is non-NULL.
11680
116812008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11682
11683 * ftfont.c (ftfont_list): Move misplaced #endif.
11684
116852008-02-01 Kenichi Handa <handa@m17n.org>
11686
11687 * ftfont.c (ftfont_list): Pay attention to the case that
11688 FC_CAPABILITY is not defined.
11689
116902008-02-01 Kenichi Handa <handa@m17n.org>
11691
11692 * xftfont.c (xftfont_open): Set charset related members to -1.
11693
11694 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
11695 QCname.
11696 (ftfont_open): Set charset related members to -1.
11697
11698 * fontset.c (Votf_script_alist): New variable.
11699 (syms_of_fontset): Initialize it.
11700 (fontset_font): Delete unused variable.
11701
11702 * fontset.h (Votf_script_alist): Extern it.
11703
11704 * font.c (font_find_for_lface): Optimize code.
11705
11706 * font.h (font_close_object, font_merge_old_spec): Extern them.
11707
117082008-02-01 Kenichi Handa <handa@m17n.org>
11709
11710 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
11711 (syms_of_font): Initialize them.
11712 (font_pixel_size): Allow float value in dpi.
11713 (font_prop_validate_type): Delete.
11714 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
11715 Change caller.
11716 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
11717 (font_prop_validate_extra): Delete.
11718 (font_prop_validate_spacing): New function.
11719 (font_property_table): Add elements for all known properties.
11720 (get_font_prop_index): Rename from check_font_prop_name. New
11721 argument FROM. Change caller.
11722 (font_prop_validate): Validate all known properties.
11723 (font_put_extra): Delete argument force. Change caller.
11724 (font_expand_wildcards): Make it static. Fix the way of shrinking
11725 the possible range.
11726 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
11727 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
11728 Change caller.
11729 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
11730 (font_parse_fcname): Delete argument merge. Fix parsing of point
11731 size. Don't validate properties values here. Change caller.
11732 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
11733 (font_open_by_name): Delete unused variable.
11734 (Ffont_spec): Likewise. Validate property values.
11735 (Ffont_match_p): New function.
11736
11737 * font.h (QCscalable): Extern it.
11738 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
11739
11740 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
11741
11742 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
11743 (xfont_list_pattern): New function.
11744 (xfont_list): Use xfont_list_pattern.
11745
117462008-02-01 Kenichi Handa <handa@m17n.org>
11747
11748 * font.h (Flist_fonts): EXFUN it.
11749
117502008-02-01 Jason Rumney <jasonr@gnu.org>
11751
11752 * w32term.c (w32_initialize): Add back smoothing_type and
11753 smoothing_enabled definitions.
11754
117552008-02-01 Kenichi Handa <handa@m17n.org>
11756
11757 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
11758 s->face->font on determining underline position.
11759
117602008-02-01 Kenichi Handa <handa@m17n.org>
11761
11762 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
11763 (font_has_char): Accept font-object too.
11764 (font_find_for_lface): Try at first with a size specified in face.
11765
117662008-02-01 Kenichi Handa <handa@m17n.org>
11767
11768 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
11769 font_open_by_name.
11770
117712008-02-01 Kenichi Handa <handa@m17n.org>
11772
11773 * font.h (QCspacing, QCdpi): Extern them.
11774 (enum font_spacing): New enum.
11775 (FONT_PIXEL_SIZE_QUANTUM): New macro.
11776
11777 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
11778 (QCspacing, QCdpi): New variables.
11779 (syms_of_font): Initialize them.
11780 (font_pixel_size): New function.
11781 (font_put_extra): New function.
11782 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
11783 in FONT_EXTRA.
11784 (font_parse_fcname): Handle enumerated values (e.g. bold).
11785 Fix handling font size. Add QCname property that contains only
11786 unknown properties.
11787 (font_score): Change argument. Change caller. Pay attention to
11788 FONT_PIXEL_SIZE_QUANTUM.
11789 (font_sort_entites, font_list_entities, font_find_for_lface)
11790 (font_open_for_lface, font_open_by_name): Fix handling of font size.
11791 (Ffont_spec): Add QCname property that contains only unknown properties.
11792
11793 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
11794 include weight in listing pattern, instead check weight of each
11795 listed font. Don't include scalable in pattern. Pay attention to
11796 FONT_PIXEL_SIZE_QUANTUM.
11797
117982008-02-01 Kenichi Handa <handa@m17n.org>
11799
11800 * font.c (font_parse_fcname): Fix parsing of point-size.
11801 (font_unparse_fcname): Produce symbolic names for style properties.
11802 (font_list_entities): Handle float size correctly.
11803 (font_open_by_name): Prefer `normal' property values if the name
11804 doesn't specify them.
11805
11806 * fontset.c (Finternal_char_font): Use font_get_name, not
11807 Ffont_xlfd_name.
11808
11809 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
11810 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
11811 pattern. Don't force scalable.
11812
11813 * xftfont.c (xftfont_open): For generating a name, start from
11814 96-byte buffer.
11815
118162008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11817
11818 * frame.h (x_new_fontset2): Fix prototype.
11819
118202008-02-01 Kenichi Handa <handa@m17n.org>
11821
11822 * font.h (struct font_driver): Delete member parse_name.
11823 (font_match_p, font_get_spec, font_parse_fcname)
11824 (font_unparse_fcname): Extern them.
11825 (font_get_name): Adjust prototype.
11826
11827 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
11828 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
11829 (font_expand_wildcards): Fix handling ENCODING field. Avoid
11830 unnecessary checks for weight, slant, and swidth.
11831 (font_parse_fcname): New function.
11832 (font_unparse_fcname): New function.
11833 (font_parse_name): New function.
11834 (font_match_p): New function.
11835 (font_get_name): Change return value to Lisp string.
11836 (font_get_spec): New function.
11837 (Qunspecified, Qignore_defface): Don't extern them.
11838 (font_find_for_lface): Assume that LFACE is fully specified.
11839 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
11840 object, use it for FACE.
11841 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
11842 driver->parse_name.
11843 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
11844
11845 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
11846 prototype.
11847
11848 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
11849 argument F. Don't call Fnew_fontset. Instead, directly call
11850 make_fontset.
11851
11852 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
11853
11854 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
11855 of x_new_fontset2.
11856
11857 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
11858 (Qsans__serif): New variables.
11859 (ftfont_generic_family_list): New variable.
11860 (syms_of_ftfont): Initialize the above variables.
11861 (ftfont_pattern_entity): Delete argument NAME.
11862 (ftfont_list_generic_family): New function.
11863 (ftfont_parse_name): Delete this function.
11864 (ftfont_list): Try generic family only when FcFontList found no font.
11865 (ftfont_list_family): Fix args to FcObjectSetBuild.
11866
11867 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
11868 object in attrs[LFACE_FONT_INDEX].
11869 (set_lface_from_font_name): Cancel all changes for font-backend.
11870 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
11871 function.
11872 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
11873 font object in QCfont attribute.
11874 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
11875 (realize_default_face) [USE_FONT_BACKEND]: Call
11876 set_lface_from_font_and_fontset.
11877
11878 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
11879 "fixed", and signal error here if no suitable font was found.
11880
11881 * xfont.c (xfont_parse_name): Delete this function.
11882
11883 * xftfont.c (xftfont_open): Change coding style of error
11884 handling. Generate fontconfig's fontname pattern.
11885
11886 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
11887 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
11888
11889 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
11890 Both args FONTSET and FONT_OBJECT must be existing ones.
11891
118922008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11893
11894 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
11895
118962008-02-01 Kenichi Handa <handa@m17n.org>
11897
11898 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11899
11900 * font.h (struct font): Fix typo.
11901
11902 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11903 XLFD_XXX_INDEX.
11904 (enum xlfd_field_mask): New enum.
11905 (intern_font_field): Changed argument. Change caller. If digits
11906 are followed by non-digits, return a symbol.
11907 (font_expand_wildcards): New function.
11908 (font_parse_xlfd): Fix wildcard handling.
11909 (Ffont_spec): If :name is specified, reflect the info in the other
11910 properties.
11911
11912 * ftfont.c (ftfont_pattern_entity): Fix typo.
11913 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11914 locale.
11915
119162008-02-01 Kenichi Handa <handa@m17n.org>
11917
11918 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11919
11920 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11921 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11922 registry doesn't specify encoding part.
11923 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11924 (font_open_by_name): At first try parsing the name.
11925 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11926 as Lisp symbols.
11927
11928 * fontset.c (reorder_font_vector): Pay attention to the case that
11929 the 3rd element of font_def is nil.
11930 (fontset_font): For the default fontset, append one more fontset
11931 elements for a script-based font specification. Don't add script
11932 attribute on finding a font.
11933 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11934 font name.
11935 (fontset_ascii_font): If a font can't be opened, return nil.
11936
11937 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11938 (ftfont_pattern_entity): New function.
11939 (ftfont_get_cache): Assume that freetype_font_cache is already
11940 initialized.
11941 (ftfont_list): Handle the case that a file is specified in font
11942 name. Use ftfont_pattern_entity to generate entities.
11943 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11944 (syms_of_ftfont): Initialize freetype_font_cache.
11945
11946 * xftfont.c (xftfont_open): Make the font name fontconfig's
11947 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11948 (xftfont_close): Free font->font.name if not NULL.
11949
11950 * xfont.c (xfont_list): If script is specified for a font, return
11951 null_vector.
11952 (xfont_list_family): Declare argument type.
11953
11954 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11955 name, set LFACE_FONT (lface) to nil.
11956
11957 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11958 return Qnil.
11959
119602008-02-01 Kenichi Handa <handa@m17n.org>
11961
11962 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11963 (standard_args): Add "-enable-font-backend".
11964
119652008-02-01 Kenichi Handa <handa@m17n.org>
11966
11967 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11968 (struct xftdraw_list, xftdraw_list): Delete them.
11969 (register_xftdraw, check_xftdraw): Delete them.
11970 (xftfont_prepare_face): Don't call register_xftdraw.
11971 (xftfont_done_face): Don't call check_xftdraw.
11972 (xftfont_draw): Get background color only when with_background is
11973 nonzero.
11974
11975 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11976
119772008-02-01 Kenichi Handa <handa@m17n.org>
11978
11979 These changes are for the new font handling codes.
11980
11981 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11982 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11983 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11984 (FONTSRC, FONTOBJ): New variables.
11985 (obj): Add $(FONTOBJ).
11986 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11987 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11988 @LIBOTF_LIBS@.
11989 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11990 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11991
11992 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11993
11994 * character.h (Vscript_representative_chars): Extern it.
11995
11996 * character.c (Vscript_representative_chars): New variable.
11997 (syms_of_character): Declare it as a Lisp variable.
11998
11999 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
12000 enable_font_backend is nonzero, accept the composition method
12001 COMPOSITION_WITH_GLYPH_STRING.
12002
12003 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
12004 enumeration COMPOSITION_WITH_GLYPH_STRING.
12005
12006 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
12007 members clip_x, clip_y, clip_width, and clip_height.
12008 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
12009
12010 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
12011 --enable-font-backend. Call syms_of_font.
12012
12013 * fns.c (assoc_no_quit): New function.
12014
12015 * fontset.h (FONT_INFO_FROM_FACE): New macro.
12016 (face_for_font, new_fontset_from_font)
12017 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
12018
12019 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
12020 (fontset_font, fontset_ascii, face_for_char)
12021 (make_fontset_for_ascii_face, Ffont_info)
12022 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
12023 is nonzero, use font-backend mechanism.
12024 (find_font_encoding): Make it non-static.
12025 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
12026 New functions.
12027
12028 * frame.h (struct frame): New members resx and resy.
12029 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
12030 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
12031
12032 * frame.c [USE_FONT_BACKEND]: Include "font.h".
12033 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
12034
12035 * lisp.h (assoc_no_quit): Extern it.
12036
12037 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
12038 Through out the file, use FONT_INFO_FROM_FACE instead of
12039 FONT_INFO_FROM_ID, use get_per_char_metric instead of
12040 rif->per_char_metric.
12041 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
12042 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
12043 (get_glyph_face_and_encoding, fill_composite_glyph_string)
12044 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12045 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
12046 nonzero, use font-backend mechanism.
12047 (get_per_char_metric): New function.
12048
12049 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
12050 (set_lface_from_font_name)
12051 (set_font_frame_param, free_realized_face)
12052 (prepare_face_for_display, clear_face_gcs)
12053 (Finternal_set_font_selection_order, realize_x_face)
12054 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
12055 font-backend mechanism.
12056 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
12057 (load_face_font) [USE_FONT_BACKEND]: Abort.
12058 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
12059 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
12060
12061 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
12062 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
12063 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
12064 nonzero, register all available font drivers. Call
12065 x_default_font_parameter for deciding a font.
12066 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
12067
12068 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
12069 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
12070 (x_set_glyph_string_clipping_exactly)
12071 (x_compute_glyph_string_overhangs)
12072 (x_draw_glyph_string_foreground)
12073 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
12074 (x_free_frame_resources) [USE_FONT_BACKEND]: If
12075 enable_font_backend is nonzero, use font-backend mechanism.
12076 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
12081 system_eol_type.
12082 (syms_of_coding): Initialize system_eol_type.
12083
12084 * process.c (Fset_process_coding_system): Inherit system's eol
12085 format if necessary.
12086
120872008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12088
12089 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
12090
120912008-02-01 Kenichi Handa <handa@m17n.org>
12092
12093 * coding.c (decode_eol): Pay attention to buffer relocation in
12094 del_range_2.
12095 (decode_coding): Call decode_eol before restoring undo_list.
12096
120972008-02-01 Kenichi Handa <handa@m17n.org>
12098
12099 * charset.c (Fdefine_charset_internal): Fix setting of
12100 emacs_mule_bytes.
12101
121022008-02-01 Kenichi Handa <handa@m17n.org>
12103
12104 * keyboard.c (read_char): Check if C is a character or not before
12105 looking up Vkeyboard_translate_table.
12106
121072008-02-01 Kenichi Handa <handa@m17n.org>
12108
12109 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
12110 condition to terminate the loop.
12111
121122008-02-01 Kenichi Handa <handa@m17n.org>
12113
12114 * coding.c (produce_composition): Compare charbuf[i] instead of
12115 args[i] against 0.
12116 (Fterminal_coding_system): Use EQ to compare Lisp objects.
12117
121182008-02-01 Kenichi Handa <handa@m17n.org>
12119
12120 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
12121 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
12122 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
12123 detect_coding.
12124 (emacs_mule_char): Handle old style (Emacs 20) component character
12125 of a composition.
12126 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
12127 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
12128 composition rule.
12129 (decode_coding_emacs_mule): Handle invalid bytes correctly.
12130
121312008-02-01 Kenichi Handa <handa@m17n.org>
12132
12133 * coding.c (encode_coding_ccl): Allocate destination dynamically
12134 when necessary.
12135
121362008-02-01 Kenichi Handa <handa@m17n.org>
12137
12138 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
12139 the loop. When quitted, show a proper error message.
12140
121412008-02-01 Kenichi Handa <handa@m17n.org>
12142
12143 * xterm.c (x_set_glyph_string_clipping_exactly): Set
12144 src->clip_head and src->clip_tail temporarily instead of src->hl.
12145
12146 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
12147 character sequence.
12148 (Fccl_execute_on_string): Use ASET, not XSET.
12149
121502008-02-01 Kenichi Handa <handa@m17n.org>
12151
12152 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
12153
121542008-02-01 Kenichi Handa <handa@m17n.org>
12155
12156 * coding.c (decode_coding): Fix the condition of terminating the
12157 decoding loop.
12158
121592008-02-01 Kenichi Handa <handa@m17n.org>
12160
12161 * data.c (Faset): On setting a character bigger than 255 in a
12162 unibyte string, signal an error instead of make the string multibyte.
12163
121642008-02-01 Kenichi Handa <handa@m17n.org>
12165
12166 * charset.c (map_charset_chars): Fix for ascii-compatible charset
12167 made by a mapping table.
12168
121692008-02-01 Kenichi Handa <handa@m17n.org>
12170
12171 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
12172 not.
12173 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
12174 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
12175
12176 * xterm.c (x_draw_composite_glyph_string_foreground): Check
12177 s->face is NULL or not.
12178
121792008-02-01 Kenichi Handa <handa@m17n.org>
12180
12181 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
12182 (x_draw_glyph_string): Fix drawing of right_overhang and
12183 left_overhang around/on cursor.
12184
12185 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
12186
121872008-02-01 Kenichi Handa <handa@m17n.org>
12188
12189 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
12190
121912008-02-01 Kenichi Handa <handa@m17n.org>
12192
12193 * coding.c (Fdefine_coding_system_internal)
12194 (Fdefine_coding_system_alias): Avoid a duplicated element in
12195 Vcoding_system_alist.
12196
121972008-02-01 Kenichi Handa <handa@m17n.org>
12198
12199 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
12200
12201 * coding.c (Qcoding_system_define_form): New variable.
12202 (syms_of_coding): Intern and staticpro it.
12203 (Fcoding_system_p): Check Qcoding_system_define_form.
12204 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
12205
12206 * coding.h (CODING_SYSTEM_P): If ID is not available, call
12207 Fcoding_system_p.
12208 (CHECK_CODING_SYSTEM): If ID is not available, call
12209 Fcheck_coding_system.
12210 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
12211 Try also Fcheck_coding_system.
12212
122132008-02-01 Kenichi Handa <handa@m17n.org>
12214
12215 * coding.c (code_conversion_restore): GCPRO arg.
12216
122172008-02-01 Kenichi Handa <handa@m17n.org>
12218
12219 * character.c (lisp_string_width): Check multibyteness of STRING.
12220
122212008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12222
12223 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
12224 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
12225 (decode_mac_font_name): Use decode_coding_c_string instead of
12226 decode_coding.
12227 (x_load_font): Initialize fontp->fontset to -1. Set
12228 fontp->encoding_type.
12229
122302008-02-01 Kenichi Handa <handa@m17n.org>
12231
12232 * search.c (search_buffer): Give up BM search on case-fold-search
12233 if one of a target character has a case-equivalence of different
12234 byte length even if that target charcter is an ASCII.
12235 (simple_search): Fix calculation of byte length of matched text.
12236 (boyer_moore): Fix handling of case-equivalent multibyte characters.
12237
122382008-02-01 Kenichi Handa <handa@m17n.org>
12239
12240 * coding.c (decode_coding): Fix handling of invalid bytes.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
12245 Unicode characters.
12246
122472008-02-01 Kenichi Handa <handa@m17n.org>
12248
12249 * coding.c (encode_coding_object): If a pre-write-conversion
12250 function makes a new buffer, kill it.
12251
122522008-02-01 Kenichi Handa <handa@m17n.org>
12253
12254 * coding.c (QCascii_compatible_p): New variable.
12255 (syms_of_coding): Initialize it.
12256 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
12257 calling string_char.
12258 (record_conversion_result): Add `default:' case.
12259 (coding_charset_list): Delete unused variable `coding_type'.
12260 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
12261 property in the plist of the coding system.
12262 (Fcoding_system_put): Check QCascii_compatible_p.
12263
122642008-02-01 Miles Bader <miles@gnu.org>
12265
12266 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
12267 removed calculation of frame `f', as it's now used.
12268
122692008-02-01 Kenichi Handa <handa@m17n.org>
12270
12271 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
12272 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
12273 (UNIDATA): New variable.
12274 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
12275 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
12276 $(RUN_TEMACS) unconditionally.
12277
122782008-02-01 Kenichi Handa <handa@m17n.org>
12279
12280 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
12281 (admindir): New variable.
12282 ($(lispsource)international/charprop.el): New target.
12283
122842008-02-01 Miles Bader <miles@gnu.org>
12285
12286 * character.c (chars-in-region): Remove obsolete function.
12287 (syms_of_character): Remove its initialization.
12288
122892008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
12290
12291 * w32select.c (validate_coding_system)
12292 (setup_windows_coding_system): New functions.
12293 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
12294 setup_windows_coding_system.
12295 (setup_config, Fw32_get_clipboard_data): Use
12296 validate_coding_system.
12297 (Fx_selection_exists): Move call to setup_config to a place
12298 where signals are allowed.
12299
12300 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
12301 (Fcheck_coding_system): Add declarations.
12302
123032008-02-01 Kenichi Handa <handa@m17n.org>
12304
12305 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
12306
123072008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12308
12309 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
12310 string as the second argument for x_new_fontset.
12311
123122008-02-01 Kenichi Handa <handa@m17n.org>
12313
12314 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
12315 (encode_coding_object): Use safe_call instead of call2.
12316
123172008-02-01 Kenichi Handa <handa@m17n.org>
12318
12319 * fontset.c (Fset_fontset_font): Check family element of a given vector.
12320
12321 * Makefile.in (lisp): Include charprop.el.
12322
123232008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12324
12325 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
12326 Not sure if it's unnecessary.
12327
123282008-02-01 Steven Tamm <steventamm@mac.com>
12329
12330 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
12331 some possibly unnecessary fontset checking code that crashed
12332 when creating a new frame.
12333
123342008-02-01 Kenichi Handa <handa@m17n.org>
12335
12336 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
12337 lookup_face.
12338
12339 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
12340
12341 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
12342
123432008-02-01 Kenichi Handa <handa@m17n.org>
12344
12345 * coding.c: Cancel the change done in HEAD on 2008-02-01.
12346 (coding_charset_list): New function.
12347
12348 * coding.h (coding_charset_list): Extern it.
12349
123502008-02-01 Kenichi Handa <handa@m17n.org>
12351
12352 * fontset.c (Fset_fontset_font): Call find_font_encoding with
12353 concatenation of family and registry.
12354
123552008-02-01 Kenichi Handa <handa@m17n.org>
12356
12357 * character.h (BYTE8_STRING): Fix typo.
12358
12359 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
12360 string to multibyte (sync to HEAD).
12361
12362 * casefiddle.c (casify_region): Handle changes in byte-length
12363 using replace_range_2 (sync to HEAD).
12364
123652008-02-01 Andreas Schwab <schwab@suse.de>
12366
12367 * chartab.c (map_char_table): GCPRO table and arg.
12368
123692008-02-01 Kenichi Handa <handa@m17n.org>
12370
12371 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
12372 already at limit.
12373
123742008-02-01 Kenichi Handa <handa@m17n.org>
12375
12376 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
12377 instead of fast_c_string_match_ignore_case.
12378 (find_font_encoding): Change argument to Lisp_Object. Use
12379 fast_string_match_ignore_case instead of
12380 fast_c_string_match_ignore_case. Change caller.
12381
123822008-02-01 Kenichi Handa <handa@m17n.org>
12383
12384 * xdisp.c (get_next_display_element): In unibyte case, decide to
12385 display in octal form by checking a character by
12386 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
12387
12388 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
12389
12390 * character.c (unibyte_has_multibyte_table): New variable.
12391
12392 * character.h (unibyte_has_multibyte_table): Extern it.
12393 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
12394
123952008-02-01 Kenichi Handa <handa@m17n.org>
12396
12397 * coding.c (encode_coding_iso_2022): Fix handling of charset
12398 annotation.
12399
124002008-02-01 Kenichi Handa <handa@m17n.org>
12401
12402 * coding.c (setup_coding_system): If coding_system is nil, use
12403 Qundecided.
12404 (Fterminal_coding_system): Return nil if terminal coding system is
12405 `undecided'.
12406 (syms_of_coding): Define coding-system `undecided' here. Setup
12407 terminal_coding as `undecided'.
12408
124092008-02-01 Kenichi Handa <handa@m17n.org>
12410
12411 * xdisp.c (message_dolog, set_message_1): Call
12412 unibyte_char_to_multibyte with arg type int.
12413
12414 * lread.c (read1): Fix reading of a char-table.
12415
12416 * print.c (print_object): Include sub char-table in circularities
12417 detection.
12418
124192008-02-01 Kenichi Handa <handa@m17n.org>
12420
12421 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
12422 Append the found sequences in car of ARGS instead of prepending.
12423
124242008-02-01 Kenichi Handa <handa@m17n.org>
12425
12426 * fileio.c (report_file_error): Make a unibyte string from
12427 strerror (errorno).
12428 (Fsubstitute_in_file_name): Fix the arg to
12429 unibyte_char_to_multibyte. It is evaluated twice.
12430
124312008-02-01 Kenichi Handa <handa@m17n.org>
12432
12433 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
12434
124352008-02-01 Kenichi Handa <handa@m17n.org>
12436
12437 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
12438 BOM is not found.
12439 (detect_coding, detect_coding_system): Optimization for ISO-2022
12440 when no 8-bit data is found.
12441
124422008-02-01 Jason Rumney <jasonr@gnu.org>
12443
12444 * w32fns.c (x_to_w32_font): Update to use new coding struct.
12445
124462008-02-01 Kenichi Handa <handa@m17n.org>
12447
12448 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
12449 CHARS.
12450
124512008-02-01 Steven Tamm <steventamm@mac.com>
12452
12453 * macterm.c (mac_encode_char): Add charset argument and update
12454 to use encoding_type.
12455 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
12456 switch to pure fontset.
12457 (decode_mac_font_name): Temporarily remove decoding.
12458 (x_font_name_to_mac_font_name): Temporarily remove encoding.
12459 (x_load_font): Temporarily remove encoding.
12460
124612008-02-01 Kenichi Handa <handa@m17n.org>
12462
12463 * xfaces.c (Fface_font): If frame is not on a window system,
12464 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
12465 refer to face->font.
12466 (split_font_name_into_vector, build_font_name_from_vector)
12467 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
12468 when HAVE_WINDOW_SYSTEM is defined.
12469
124702008-02-01 Kenichi Handa <handa@m17n.org>
12471
12472 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
12473 (x_produce_glyphs): Fix setting of members of cmp in case
12474 cmp->glyph_len is zero.
12475
12476 * fontset.c (Fset_fontset_font): Fix docstring.
12477 (Ffontset_info): Make it backward compatible. New arg ALL.
12478
124792008-02-01 Kim F. Storm <storm@cua.dk>
12480
12481 * process.c (read_process_output): Grow decoding_buf when needed;
12482 this could cause a crash in allocate_string and compact_small_strings.
12483
124842008-02-01 Kenichi Handa <handa@m17n.org>
12485
12486 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
12487
124882008-02-01 Kenichi Handa <handa@m17n.org>
12489
12490 * coding.c (setup_coding_system): Set coding->common_flags
12491 correctly for raw-text.
12492 (consume_chars): On encoding unibyte text by raw-text, don't check
12493 multibyte form.
12494 (encode_coding): On encoding by raw-text, never use translation tables.
12495
12496 * fileio.c (e_write): Short cut for the case of no encoding.
12497
124982008-02-01 Kenichi Handa <handa@m17n.org>
12499
12500 * coding.c (detect_coding, detect_coding_system): Delete unused
12501 variables.
12502
125032008-02-01 Kenichi Handa <handa@m17n.org>
12504
12505 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
12506 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
12507
125082008-02-01 Kenichi Handa <handa@m17n.org>
12509
12510 * coding.c (Ffind_coding_systems_region_internal): Include
12511 raw-text and no-conversion in the result.
12512
125132008-02-01 Kenichi Handa <handa@m17n.org>
12514
12515 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
12516 (load_font_get_repertory): Delete unnecessary check of ENCODING of
12517 FONT_DEF.
12518 (font_def_arg, add_arg, from_arg, to_arg): New args.
12519 (set_fontset_font): Change argument.
12520 (Fset_fontset_font): Fix for the case that TARGET is a script
12521 name and charset name.
12522 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
12523
125242008-02-01 Kenichi Handa <handa@m17n.org>
12525
12526 * fontset.c (fontset_font): Rename from fontset_face. Change return
12527 value.
12528 (face_suitable_for_char_p, face_for_char): Adjust for the change
12529 of fontset_font.
12530 (make_fontset_for_ascii_face): Fix setting of the fontset element
12531 for ASCII.
12532 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
12533 to get a font name.
12534 (Ffontset_info): Adjust for the change of fontset_font.
12535
12536 * coding.c (emacs_mule_char): Check invalid code more rigidly.
12537
12538 * character.h (LEADING_CODE_LATIN_1_MIN)
12539 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
12540
125412008-02-01 Kenichi Handa <handa@m17n.org>
12542
12543 * editfns.c (check_translation): New function.
12544 (Ftranslate_region_internal): Handle M:N mapping.
12545
125462008-02-01 Kenichi Handa <handa@m17n.org>
12547
12548 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
12549
125502008-02-01 Kenichi Handa <handa@m17n.org>
12551
12552 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
12553 goto invalid_code.
12554 (decode_coding_iso_2022): Fix handling of invalid designation.
12555
12556 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
12557 after calling code_conversion_save.
12558
125592008-02-01 Kenichi Handa <handa@m17n.org>
12560
12561 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
12562
12563 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
12564
12565 * fontset.c: Include "intervals.h".
12566 (fontset_face): Fix comparing of Lisp_Objects.
12567 (free_face_fontset, new_fontset_from_font_name): Fix
12568 Lisp_Object/int mixup.
12569
12570 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
12571
12572 * coding.c: Add many prototypes for static functions.
12573 (get_translation_table): Allow max_lookup to be NULL.
12574 (decode_coding, Ffind_coding_systems_region_internal)
12575 (Funencodable_char_position, Fcheck_coding_systems_region): Call
12576 get_translation_table with max_lookup NULL.
12577
125782008-02-01 Kenichi Handa <handa@m17n.org>
12579
12580 * coding.c (get_translation_table): Declare it as Lisp_Object.
12581 (LOOKUP_TRANSLATION_TABLE): New macro.
12582 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
12583 instead of CHAR_TABLE_REF.
12584
125852008-02-01 Kenichi Handa <handa@m17n.org>
12586
12587 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
12588 annotation data format.
12589 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
12590 Change arguments FROM and TO to single argument NCHARS. Change caller.
12591 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
12592 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12593 (decode_coding_ccl, decode_coding_charset): Pay attention to
12594 coding->charbuf_used.
12595 (get_translation): New function.
12596 (produce_chars): New arguments translation_table and last_block.
12597 Translate characters here. Return number of carryover chars.
12598 Change caller.
12599 (produce_composition): New argument pos. Change caller.
12600 Adjust for the change of annotation data format.
12601 (produce_charset, produce_annotation): Likewise.
12602 (decode_coding, encode_coding): Don't call translate_chars.
12603 (consume_chars): New arg translation_table. Change caller.
12604 (translate_chars): Delete.
12605 (syms_of_coding): Make translation-table's number of extra slots 2.
12606
126072008-02-01 Kenichi Handa <handa@m17n.org>
12608
12609 * search.c (simple_search): Fix setting this_pos_byte in backward
12610 search.
12611
12612 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
12613 byte sequence.
12614 (detect_coding_ccl): Fix setting of the variable valids.
12615
126162008-02-01 Kenichi Handa <handa@m17n.org>
12617
12618 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
12619
12620 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
12621
12622 * editfns.c (Ftranslate_region_internal): Rename from
12623 Ftranslate_region. Accept a char-table in TABLE.
12624 (syms_of_editfns): Defsubr Stranslate_region_internal.
12625
12626 * xfaces.c (set_lface_from_font_name): If a font is specified for
12627 a frame, generate a fontset from the font.
12628 (build_scalable_font_name): If the scalable font is requested for
12629 a specific size, don't change that size.
12630 (try_font_list): Try a scalable font also in the case that a
12631 pattern string is specified.
12632
126332008-02-01 Kenichi Handa <handa@m17n.org>
12634
12635 * xfaces.c (Fface_font): New optional arg CHARACTER.
12636
126372008-02-01 Kenichi Handa <handa@m17n.org>
12638
12639 * charset.h (CHARSET_OFFSET): New macro.
12640
126412008-02-01 Kenichi Handa <handa@m17n.org>
12642
12643 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
12644
12645 * fontset.c (fontset_face): Handle the case that repertory is a
12646 char-table.
12647 (find_font_encoding): Return nil for unknown encoding.
12648 (Fset_fontset_font): Ignore a font of unknown encoding.
12649
126502008-02-01 Kenichi Handa <handa@m17n.org>
12651
12652 * keymap.c (describe_vector): Handle default value of a char table.
12653
12654 * fontset.c (fontset_face): Handle fallback fonts correctly.
12655 (Ffontset_info): Return infomation about fallback fonts.
12656
126572008-02-01 Kenichi Handa <handa@m17n.org>
12658
12659 * fontset.c (FONTSET_DEFAULT): New macro.
12660 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
12661 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
12662 the case that it is nil.
12663 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
12664 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
12665
12666 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
12667 subset or superset.
12668
126692008-02-01 Kenichi Handa <handa@m17n.org>
12670
12671 * emacs.c (main): Call init_charset after syms_of_XXX.
12672
12673 * charset.c (Vcharset_map_directory): Delete.
12674 (Vcharset_map_path): New variable.
12675 (load_charset_map_from_file): Use Vcharset_map_path instead.
12676 (init_charset): Initialize Vcharset_map_path.
12677 (syms_of_charset): Delete declaration of "charset-map-directory",
12678 add declaration of "charset-map-path".
12679
126802008-02-01 Kenichi Handa <handa@m17n.org>
12681
12682 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
12683 ASCII only string.
12684
12685 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
12686
12687 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
12688 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
12689
126902008-02-01 Kenichi Handa <handa@m17n.org>
12691
12692 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
12693
12694 * coding.c (QCmnemonic, QCdefalut_char)
12695 (QCdecode_translation_table, QCencode_translation_table)
12696 (QCpost_read_conversion, QCpre_write_conversion): New variables.
12697 (get_translation_table): Return a list of translation tables if
12698 necessary.
12699 (decode_coding): Call get_translation_table with ENCODEP 0.
12700 (char_encodable_p): If translation_table is non-nil, always call
12701 translate_char.
12702 (Fdefine_coding_system_internal): Accept list of translation
12703 tables as :encode-translation-table and :decode-translation-table.
12704 (Fcoding_system_put): New function.
12705 (syms_of_coding): Declare new symbols. Defsubr
12706 Scoding_system_put.
12707 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
12708 typically JISX0212.
12709
12710 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
12711 when the charset is superset type.
12712
12713 * character.c (translate_char): Accept list of translation tables.
12714
127152008-02-01 Kenichi Handa <handa@m17n.org>
12716
12717 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
12718 (CODING_ATTR_TRANS_TBL): New macro.
12719
12720 * coding.c (get_translation_table): New function.
12721 (translate_chars): Fix the bug of skipping annotation data.
12722 (decode_coding, encode_coding): Utilize get_translation_table.
12723 (char_encodable_p, Funencodable_char_position): Translate char if
12724 necessary.
12725 (Ffind_coding_systems_region_internal)
12726 (Fcheck_coding_systems_region): Setup translation table for encode
12727 in a coding system attribute vector in advance.
12728 (Fdefine_coding_system_internal): Allow a symbol as translation
12729 table. For shift-jis type coding system, allow 4th charset.
12730
127312008-02-01 Kenichi Handa <handa@m17n.org>
12732
12733 * coding.c (decode_coding_sjis): Check the first byte rigidly.
12734
12735 * xdisp.c (get_next_display_element): Pass -1 as POS to
12736 FACE_FOR_CHAR if displaying a C-string.
12737
127382008-02-01 Kenichi Handa <handa@m17n.org>
12739
12740 * composite.c (get_composition_id): Handle xoff and yoff in a
12741 composition rule.
12742
12743 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
12744 (struct composition): New member lbearing and rbearing.
12745
12746 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
12747 (x_get_glyph_overhangs): Handle a composition glyph.
12748 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
12749
12750 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
12751 composition glyph.
12752
127532008-02-01 Kenichi Handa <handa@m17n.org>
12754
12755 * print.c: Include charset.h.
12756 (Vprint_charset_text_property): New variable.
12757 (Qdefault): Extern it.
12758 (PRINT_STRING_NON_CHARSET_FOUND)
12759 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
12760 (print_check_string_result): New variable.
12761 (print_check_string_charset_prop): New function.
12762 (print_prune_charset_plist): New variable.
12763 (print_prune_string_charset): New function.
12764 (print_object): Call print_prune_string_charset if
12765 Vprint_charset_text_property is not t.
12766 (print_interval): Print nothing if interval->plist is nil.
12767 (syms_of_print): Declare Vprint_charset_text_property as a lisp
12768 variable. Init and staticpro print_prune_charset_plist.
12769
127702008-02-01 Kenichi Handa <handa@m17n.org>
12771
12772 * fontset.c (new_fontset_from_font_name): Use the specified font
12773 for all characters in the new fontset.
12774
12775 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12776 OBJECT args.
12777
12778 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
12779 OBJECT args for composition too.
12780
12781 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12782 OBJECT args.
12783
127842008-02-01 Kenichi Handa <handa@m17n.org>
12785
12786 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
12787
12788 * fontset.c (reorder_font_vector): Adjust for the change of
12789 FONT_DEF format.
12790 (fontset_face): New arg id. Change caller.
12791 (face_for_char): New args pos and object.
12792 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
12793 (fs_query_fontset): Check NAME by Fassoc too.
12794 (Fset_fontset_font): Allow non-XLFD font name.
12795 (Ffontset_info): Adjust for the change of FONT_DEF format.
12796
12797 * fontset.h (face_for_char): Adjust prototype.
12798
12799 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
12800 (append_space, extend_face_to_end_of_line)
12801 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12802 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
12803
12804 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
12805 POS and OBJECT args.
12806
12807 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
12808 POS and OBJECT args.
12809
128102008-02-01 Jason Rumney <jasonr@gnu.org>
12811
12812 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
12813 of GlobalAlloc'ed memory.
12814
128152008-02-01 Kenichi Handa <handa@m17n.org>
12816
12817 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
12818
12819 * charset.h (charset_table_used): Delete extern.
12820
12821 * charset.c (charset_table_used): Make it static.
12822 (map_charset_chars): Fix args to c_function with.
12823
12824 * chartab.c (map_sub_char_table_for_charset): Fix args to
12825 c_function with.
12826
12827 * coding.h (enum coding_result_code): Delete
12828 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
12829
12830 * coding.c (Qinsufficient_source, Qinconsistent_eol)
12831 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
12832 (Vlast_code_conversion_error): New variables.
12833 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
12834 (ONE_MORE_BYTE): Record error if any instead of signaling an
12835 error. If non-ASCII multibyte char is found, return the negative
12836 value of the code. All callers changed to check it.
12837 (ONE_MORE_BYTE_NO_CHECK): Likewise.
12838 (record_conversion_result): New function. Change all codes setting
12839 coding->result to call this function.
12840 (detect_coding_utf_8, decode_coding_utf_8)
12841 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
12842 Don't use the local variable incomplete.
12843 (emacs_mule_char): Change the second arg to `const'.
12844 (decode_coding): Fix of flushing out unprocessed data.
12845 (make_conversion_work_buffer): Fix making of a work buffer.
12846 (decode_coding_object): Return coding->dst_object.
12847
12848 * fontset.c (set_fontset_font): Fix args.
12849
12850 * lisp.h (CHARACTERBITS): Define as 22.
12851
12852 * process.c (send_process): Be sure to set coding->src_multibyte.
12853
12854 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
12855
128562008-02-01 Kenichi Handa <handa@m17n.org>
12857
12858 * xdisp.c (handle_auto_composed_prop): Give limit to
12859 Fnext_single_char_property_change.
12860
128612008-02-01 Kenichi Handa <handa@m17n.org>
12862
12863 * composite.c (syms_of_composite): Don't make the composition hash
12864 table weak.
12865
12866 * fontset.c (Fset_fontset_font): Fix docstring.
12867
12868 * lisp.h (detect_coding_system): Adjust prototype.
12869
12870 * fileio.c (kill_workbuf_unwind): Delete this function.
12871 (Finsert_file_contents): Adjust the call of detect_coding_system.
12872 Get conversion_buffer by code_conversion_save. Use the macro
12873 CODING_MAY_REQUIRE_DECODING. After decoding, update
12874 coding_system.
12875
12876 * coding.h (make_conversion_work_buffer): Delete extern.
12877 (code_conversion_save): Extern it.
12878
12879 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
12880 (CODING_GET_INFO): Delete argument eol_type. Change callers.
12881 (decode_coding_utf_8): Don't do eol converion.
12882 (detect_coding_utf_16): Check coding->src_chars, not
12883 coding->src_bytes. Add heuristics for those that have no signature.
12884 (decode_coding_emacs_mule, decode_coding_iso_2022)
12885 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12886 Don't do eol converion.
12887 (adjust_coding_eol_type): Return a new coding system.
12888 (detect_coding): Don't detect eol. Fix for utf-16 detection.
12889 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
12890 each change.
12891 (decode_coding): Pay attention to undo_list. Do eol conversion for
12892 all types of coding-systems (if necessary).
12893 (Vcode_conversion_work_buf_list): Delete it.
12894 (Vcode_conversion_reused_workbuf): Rename from
12895 Vcode_conversion_reused_work_buf.
12896 (Vcode_conversion_workbuf_name): New variable.
12897 (reused_workbuf_in_use): New variable.
12898 (make_conversion_work_buffer): Delete the arg DEPTH.
12899 (code_conversion_restore): Change argument to cons.
12900 (code_conversion_save): Delete the argument BUFFER. Change callers.
12901 (detect_coding_system): New argument src_chars. Change callers.
12902 Fix for utf-16 detection.
12903 (init_coding_once): Don't use ISO_carriage_return.
12904 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12905 reused_workbuf_in_use.
12906
129072008-02-01 Kenichi Handa <handa@m17n.org>
12908
12909 * keymap.c (store_in_keymap): Pay attention to the case that idx
12910 is a cons specifying a character range.
12911
129122008-02-01 Kenichi Handa <handa@m17n.org>
12913
12914 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12915 HANDLED_RECOMPUTE_PROPS.
12916
12917 * coding.c (Fdefine_coding_system_internal): Fix checking of
12918 ascii compatibility.
12919
129202008-02-01 Kenichi Handa <handa@m17n.org>
12921
12922 * charset.c (find_charsets_in_text): Delete unused locale variable.
12923 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12924
12925 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12926 Resync charset_list to Vemacs_mule_charset_list.
12927
12928 * keymap.c (store_in_keymap): Pay attention to the case that idx
12929 is a cons specifying a character range.
12930
129312008-02-01 Kenichi Handa <handa@m17n.org>
12932
12933 * composite.c (update_compositions): Bind inhibit-read-only, etc
12934 to t before calling remove-list-of-text-properties.
12935
12936 * print.c (print_object): Always print ASCII chars as is.
12937
129382008-02-01 Kenichi Handa <handa@m17n.org>
12939
12940 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12941
12942 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12943 is a char table.
12944
129452008-02-01 Kenichi Handa <handa@m17n.org>
12946
12947 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12948
129492008-02-01 Kenichi Handa <handa@m17n.org>
12950
12951 * xfaces.c (set_lface_from_font_name): Fix for the case that
12952 FONTNAME is not fontset name.
12953
129542008-02-01 Kenichi Handa <handa@m17n.org>
12955
12956 * fns.c (base64_encode_1): Fix previous change.
12957
129582008-02-01 Kenichi Handa <handa@m17n.org>
12959
12960 * fontset.c (set_fontset_font): New function.
12961 (Fset_fontset_font): If a font is specified for a charset, use
12962 map_charset_chars to store the font spec in a fontset.
12963
129642008-02-01 Kenichi Handa <handa@m17n.org>
12965
12966 * fontset.c (fontset_face): Create a fallback fontset on demand.
12967 (make_fontset): Don't create a fallback fontset here.
12968 (free_face_fontset): Free a fallback fontset (if any) too.
12969 (n_auto_fontsets): Delete this variable.
12970 (auto_fontset_alist): New variable.
12971 (new_fontset_from_font_name): Check auto_fontset_alist.
12972 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12973 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12974 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12975 Defsubr Sfontset_list_all.
12976
129772008-02-01 Kenichi Handa <handa@m17n.org>
12978
12979 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12980
129812008-02-01 Kenichi Handa <handa@m17n.org>
12982
12983 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12984
129852008-02-01 Kenichi Handa <handa@m17n.org>
12986
12987 * editfns.c (Fgoto_char): Fix docstring.
12988
129892008-02-01 Kenichi Handa <handa@m17n.org>
12990
12991 * insdel.c (insert_from_gap): Adjust intervals correctly.
12992
129932008-02-01 Jason Rumney <jasonr@gnu.org>
12994
12995 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12996 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12997 (w32_initialize): Try to load it.
12998 (x_get_font_repertory): Use it if available.
12999 (w32_encode_char): Add shortcut for unicode output.
13000
13001 * w32fns.c (w32_load_system_font): Default charset to -1.
13002 (x_to_w32_charset): Match all fonts for unicode.
13003 (w32_to_x_charset): New parameter matching. Don't return partial
13004 or wildcard charsets.
13005 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
13006 (w32_codepage_for_font): Return CP_UNICODE for unicode.
13007 (w32_to_x_font): Match charset to real charset.
13008 (enum_font_cb2): Always list unicode versions.
13009
13010 * makefile.w32-in (temacs): Increase EMHEAP.
13011
130122008-02-01 Jason Rumney <jasonr@gnu.org>
13013
13014 * w32term.c (w32_encode_char): New charset parameter.
13015 font_info.encoding becomes encoding_type.
13016 (x_get_font_repertory): New function. Warning: stub only!
13017 (x_new_font): Return quickly if font already set.
13018 (x_new_fontset): fontsetname parameter is Lisp_Object.
13019 Use new fs_query_fontset. Try new_fontset_from_font_name.
13020 Use fontset_name for return value.
13021
13022 * w32term.h: Declare x_get_font_repertory.
13023
13024 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
13025 place of find_charset_in_text. Use encode_coding_object in place
13026 of encode_coding.
13027 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
13028 decode_coding.
13029
13030 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
13031 of x_new_fontset.
13032 (w32_load_system_font): Initialize charset as unicode.
13033 font_info.encoding becomes encoding_type.
13034 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
13035 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
13036 (syms_of_w32fns): Set get_font_repertory_func.
13037
13038 * w32console.c: Include character.h. Use terminal_encode_buffer
13039 from term.c.
13040 (write_glyphs): Use new version of encode_terminal_code. Use
13041 encode_coding_object in place of encode_coding.
13042
13043 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
13044 encoding becomes encoding_type.
13045
13046 * term.c (terminal_encode_buffer): Make externally visible.
13047
13048 * makefile.w32-in: Add character.h dependancies.
13049 (character.o, chartab.o): New targets.
13050
130512008-02-01 Kenichi Handa <handa@m17n.org>
13052
13053 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
13054 CODING_ID_EOL_TYPE.
13055
130562008-02-01 Andreas Schwab <schwab@suse.de>
13057
13058 * coding.c (produce_chars): Revert last change.
13059
130602008-02-01 Kenichi Handa <handa@m17n.org>
13061
13062 * charset.h (charset_unicode): Extern it.
13063
13064 * charset.c (string_xstring_p): Check by (C >= 0x100).
13065 (find_charsets_in_text): Change format of the arc CHARSETS. New
13066 arg MULTIBYTE.
13067 (Ffind_charset_region, Ffind_charset_string): Adjust for the
13068 change of find_charsets_in_text.
13069 (Fsplit_char): Fix doc. Never return unknown.
13070
13071 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
13072
13073 * coding.c (Fdefine_coding_system_alias): Update
13074 Vcoding_system_list.
13075
13076 * fontset.c (load_font_get_repertory): Pay attention to the case
13077 that ENCODING of a font is specified by a char-table.
13078
13079 * xterm.c (x_get_font_repertory): Handle the case that the
13080 encoding of font is other than Unicode.
13081
130822008-02-01 Kenichi Handa <handa@m17n.org>
13083
13084 * term.c (encode_terminal_code): Don't handle glyph-table. Check
13085 if a character is encodable by the terminal coding system. If
13086 not, produces proper number of `?'s. Update
13087 terminal_encode_buffer and terminal_encode_buf_size if necessary.
13088 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
13089
130902008-02-01 Kenichi Handa <handa@m17n.org>
13091
13092 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
13093 variables.
13094 (encode_terminal_code): Change argument. Encode multiple
13095 characters at once. Store the result of encoding in
13096 terminal_encode_buffer.
13097 (write_glyphs, insert_glyphs): Adjust for the change of
13098 encode_terminal_code.
13099 (term_init): Initialize terminal_encode_buffer and
13100 terminal_encode_buf_size.
13101
13102 * coding.c (consume_chars): If coding->src_object is nil, don't
13103 check annotation.
13104
131052008-02-01 Kenichi Handa <handa@m17n.org>
13106
13107 * character.c (char_string): Use ASCII_CHAR_P instead of
13108 SINGLE_BYTE_CHAR_P.
13109
131102008-02-01 Kenichi Handa <handa@m17n.org>
13111
13112 * xdisp.c (handle_auto_composed_prop): Check if the last
13113 characters of auto-composed region is newly composed with the
13114 following characters.
13115 (handle_composition_prop): Fix checking of point being inside
13116 composition.
13117
131182008-02-01 Kenichi Handa <handa@m17n.org>
13119
13120 * fns.c (concat): Don't change multibyteness of the result by
13121 concatenating an 8-bit character.
13122
13123 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
13124 multibyteness of the result when newelt is an 8-bit character.
13125
131262008-02-01 Dave Love <fx@gnu.org>
13127
13128 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
13129 EMACS_INT.
13130
13131 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
13132
13133 * xfaces.c (face_numeric_value): Declare dim size_t.
13134 (Finternal_lisp_face_equal_p): Remove unused f.
13135
13136 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
13137 (MATRIX_ROW): Remove unused vars.
13138 (draw_glyphs, x_insert_glyphs, fast_find_position)
13139 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
13140 byte/char counts.
13141
13142 * regex.c (regex_compile): Remove unused var.
13143
13144 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13145
13146 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
13147 (Faccessible_keymaps, where_is_internal): Remove unused vars.
13148
13149 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
13150
13151 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
13152
13153 * fileio.c (Fwrite_region): Remove unused var.
13154
13155 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
13156 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
13157
13158 * composite.c (Fremove_list_of_text_properties): Declare.
13159
13160 * coding.c (inhibit_pre_post_conversion): Remove (unused).
13161 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
13162 (coding_inherit_eol_type): Remove unused attrs.
13163 (detect_coding): Cast arg of detect_eol.
13164
13165 * charset.c (syms_of_charset): Remove unused var p.
13166 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
13167 byte/char counts.
13168
13169 * casetab.c (set_case_table): Remove unused var.
13170
13171 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
13172 unused vars.
13173
131742008-02-01 Dave Love <fx@gnu.org>
13175
13176 * xterm.c (x_bitmap_mask): Declare.
13177
131782008-02-01 Dave Love <fx@gnu.org>
13179
13180 * xterm.c (x_term_init): Fix type error.
13181
13182 * lisp.h: Add Funibyte_char_to_multibyte.
13183
13184 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
13185 (Fset_coding_system_priority): Doc fix.
13186
13187 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
13188
13189 * indent.c (check_composition): Make start and end EMACS_INT.
13190
13191 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
13192
13193 * xdisp.c (handle_composition_prop, check_point_in_composition):
13194 Make buffer positions EMACS_INT.
13195
13196 * composite.c (find_composition, run_composition_function)
13197 (update_compositions, Ffind_composition_internal): Make buffer
13198 positions EMACS_INT.
13199
13200 * composite.h (find_composition, update_compositions): Make
13201 position args EMACS_INT.
13202
13203 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
13204
13205 * intervals.c (get_property_and_range):
13206 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
13207
13208 * unexalpha.c: Don't include varargs.h.
13209
132102008-02-01 Dave Love <fx@gnu.org>
13211
13212 * coding.h (ENCODE_UTF_8): New.
13213
13214 * Makefile.in (gtkutil.o): Depend on coding.h.
13215
13216 * coding.c (Fset_coding_system_priority): Doc fix.
13217
132182008-02-01 Kenichi Handa <handa@m17n.org>
13219
13220 * fileio.c (Finsert_file_contents): Call setup_coding_system in
13221 the case of auto saving.
13222
132232008-02-01 Andreas Schwab <schwab@suse.de>
13224
13225 * chartab.c (map_char_table, map_char_table_for_charset): Protect
13226 `range' from GC.
13227
132282008-02-01 Kenichi Handa <handa@m17n.org>
13229
13230 * coding.c (decode_coding_sjis): Check bytes more rigidly.
13231
132322008-02-01 Kenichi Handa <handa@m17n.org>
13233
13234 * fileio.c (choose_write_coding_system): Return a decided coding system.
13235 (Fwrite_region): Set Vlast_coding_system_used to the return value
13236 of choose_write_coding_system.
13237
132382008-02-01 Kenichi Handa <handa@m17n.org>
13239
13240 * charset.c (Fset_charset_priority): Pay attention to duplicated
13241 arguments.
13242
13243 * coding.c (QCcategory): New variable.
13244 (syms_of_coding): Defsym it. Set all elements of
13245 Vcoding_category_table and their symbol values.
13246 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
13247 coding-category-XXX, and coding-category-list.
13248 (Fdefine_coding_system_internal): Add category in the plist.
13249
132502008-02-01 Kenichi Handa <handa@m17n.org>
13251
13252 * callproc.c (Fcall_process): Handle carryover correctly.
13253
13254 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
13255 (raw_text_coding_system): Check NILP (coding_system).
13256 (coding_inherit_eol_type): Check NILP (coding_system) and
13257 NILP (parent).
13258 (consume_chars): Fix for the case of raw-text.
13259
13260 * process.c (read_process_output): Handle carryover correctly.
13261
132622008-02-01 Dave Love <fx@gnu.org>
13263
13264 * regex.c (re_search_2): Fix last change.
13265
132662008-02-01 Kenichi Handa <handa@m17n.org>
13267
13268 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
13269 target_multibyte. Even in a unibyte case, return a converted
13270 multibyte char.
13271 (GET_CHAR_AFTER): New macro.
13272 (PATFETCH): Translate via multibyte char.
13273 (HANDLE_UNIBYTE_RANGE): Delete this macro.
13274 (SETUP_MULTIBYTE_RANGE): New macro.
13275 (regex_compile): Setup compiled code so that its multibyteness
13276 matches that of a target. Fix the handling of "[X-YZ]" using
13277 SETUP_MULTIBYTE_RANGE.
13278 (analyse_first) <charset>: For filling fastmap for all multibyte
13279 characters, don't check by BASE_LEADING_CODE_P.
13280 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
13281 the same as RE_MULTIBYTE_P (bufp) now.
13282 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
13283 (TARGET_CHAR_AND_LENGTH): Delete this macro.
13284 (TRANSLATE_VIA_MULTIBYTE): New macro.
13285 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
13286 It is the same as RE_MULTIBYTE_P (bufp) now.
13287 <exactn>: Translate via multibyte.
13288 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
13289 translate it.
13290 <charset, charset_not>: Fetch a character by
13291 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
13292 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
13293 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
13294 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
13295 by GET_CHAR_AFTER.
13296 (bcmp_translate): Likewise.
13297
13298 * search.c (compile_pattern): Check the member target_multibyte,
13299 not the member multibyte of buf.
13300
13301 * lread.c (read1): While reading a string, set force_singlebyte
13302 and force_multibyte correctly.
13303
13304 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
13305 up of unibyte_to_multibyte_table.
13306
133072008-02-01 Kenichi Handa <handa@m17n.org>
13308
13309 * coding.c (setup_coding_system): If coding has
13310 post-read-conversion or pre-write-conversion, set
13311 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
13312 respectively.
13313 (decode_coding_gap): Run post-read-conversion if any.
13314
13315 * fileio.c (Finsert_file_contents): Even if we read into a
13316 unibyte buffer, check if we must decode the result or not.
13317
133182008-02-01 Kenichi Handa <handa@m17n.org>
13319
13320 * coding.c (make_conversion_work_buffer): Change the work buffer
13321 name to the same one as that of Emacs 21.
13322
133232008-02-01 Kenichi Handa <handa@m17n.org>
13324
13325 * coding.h (make_conversion_work_buffer): Adjust prototype.
13326 (code_conversion_restore): Don't extern it.
13327
13328 * coding.c (detected_mask): Delete unused variable.
13329 (decode_coding_iso_2022): Pay attention to the byte sequence of
13330 CTEXT extended segment, and retain those bytes as is.
13331 (decode_coding_ccl): Delete unused variable `valids'.
13332 (setup_coding_system): Delete unused variable `category'.
13333 (consume_chars): Delete unused variable `category'. Make it work
13334 for non-multibyte case.
13335 (make_conversion_work_buffer): Change argument.
13336 (saved_coding): Delete unused variable.
13337 (code_conversion_restore): Don't check saved_coding->destination.
13338 (code_conversion_save): New function.
13339 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
13340 instead of record_unwind_protect.
13341 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
13342 (detect_coding_system): Delete unused variable `mask'.
13343 (Fdefine_coding_system_internal): Delete unused variable id.
13344
13345 * fileio.c (kill_workbuf_unwind): New function.
13346 (Finsert_file_contents): On replacing, call
13347 make_conversion_work_buffer with correct args, and call
13348 record_unwind_protect with the first arg kill_workbuf_unwind.
13349
13350 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
13351
133522008-02-01 Kenichi Handa <handa@m17n.org>
13353
13354 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
13355 (fontset_add): Fix for the case that TO is less than TO1.
13356 (Ffontset_info): Don't use fallback fontset on checking the
13357 default fontset.
13358 (dump_fontset): New function for debugging.
13359
13360 * coding.c (Fdefine_coding_system_internal): Fix for the case that
13361 coding_type is Qcharset.
13362
133632008-02-01 Kenichi Handa <handa@m17n.org>
13364
13365 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
13366 (map_char_table): Don't inherit the value from the parent on
13367 initializing VAL. Adjust for the above change.
13368
133692008-02-01 Kenichi Handa <handa@m17n.org>
13370
13371 * coding.c (Qsignature, Qendian): Delete these variables.
13372 (syms_of_coding): Don't initialize them.
13373 (CATEGORY_MASK_UTF_16_AUTO): New macro.
13374 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
13375 detect_info->found.
13376 (decode_coding_utf_16): Don't detect BOM here.
13377 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
13378 is NOT utf_16_without_bom.
13379 (setup_coding_system): For a coding system of type utf-16, check
13380 if the attribute :endian is Qbig or not (not nil or not), and set
13381 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
13382 (detect_coding): If coding type is utf-16 and BOM detection is
13383 required, detect it.
13384 (Fdefine_coding_system_internal): For a coding system of type
13385 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
13386
133872008-02-01 Kenichi Handa <handa@m17n.org>
13388
13389 * coding.c (coding_set_source): Fix for the case that the current
13390 buffer is different from coding->src_object.
13391 (decode_coding_object): Don't use the conversion work buffer if
13392 DST_OBJECT is a buffer.
13393
133942008-02-01 Dave Love <fx@gnu.org>
13395
13396 * lread.c (read_emacs_mule_char) [len==2]: Index
13397 emacs_mule_charset correctly.
13398
133992008-02-01 Dave Love <fx@gnu.org>
13400
13401 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
13402 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
13403 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
13404 treated specially.)
13405 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
13406 (detected_mask): Remove Big5 bits.
13407
134082008-02-01 Kenichi Handa <handa@m17n.org>
13409
13410 The following changes are to make the font rescaling facility
13411 compatible with Emacs 21.
13412
13413 * xfaces.c (Vface_font_rescale_alist): Rename from
13414 Vface_resizing_fonts.
13415 (struct font_name): Rename member resizing_ratio to rescale_ratio.
13416 (font_rescale_ratio): Rename from font_resizing_ratio.
13417 (split_font_name): Set font->rescale_ratio.
13418 (better_font_p): Pay attention to font->rescale_ratio.
13419 (build_scalable_font_name): Likewise. Change RESX, and RESY
13420 fields.
13421 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
13422
134232008-02-01 Kenichi Handa <handa@m17n.org>
13424
13425 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
13426 (Qutf_16_le): Remove these variables.
13427 (syms_of_coding): Don't DEFSYM them.
13428 (decode_coding_utf_16): Fix handling of BOM.
13429 (encode_coding_utf_16): Fix handling of BOM.
13430
134312008-02-01 Kenichi Handa <handa@m17n.org>
13432
13433 * fileio.c (Finsert_file_contents): On replacing, before decoding
13434 the file into the work buffer, set point of the work buffer to the end.
13435
134362008-02-01 Dave Love <fx@gnu.org>
13437
13438 * coding.c (Fcheck_coding_systems_region): Fix type errors.
13439
134402008-02-01 Dave Love <fx@gnu.org>
13441
13442 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13443 and fix C types.
13444
134452008-02-01 Kenichi Handa <handa@m17n.org>
13446
13447 * xdisp.c (SKIP_GLYPHS): New macro.
13448 (set_cursor_from_row): Pay attention to string display properties.
13449
13450 * category.c (copy_category_entry): Fix for the case that RANGE
13451 is an integer.
13452
13453 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
13454
13455 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
13456
134572008-02-01 Kenichi Handa <handa@m17n.org>
13458
13459 * charset.c (Fcharset_id_internal): New function.
13460 (syms_of_charset): Defsubr it.
13461
13462 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
13463 with the last arg charset_list acquired from coding.
13464 (Fdefine_coding_system_internal): For ccl-based coding system, fix
13465 the attribute coding_attr_ccl_valids.
13466
13467 * coding.h (enum define_coding_ccl_arg_index): Set the first
13468 member coding_arg_ccl_decoder to coding_arg_max.
13469
13470 * ccl.h (ccl_driver): Adjust prototype.
13471
13472 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
13473 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 13474 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
13475 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
13476 last arg Qnil.
13477
134782008-02-01 Kenichi Handa <handa@m17n.org>
13479
13480 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
13481 call encode_char.
13482
13483 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
13484
134852008-02-01 Dave Love <fx@gnu.org>
13486
13487 * composite.c (syms_of_composite): Make composition_hash_table weak.
13488
134892008-02-01 Kenichi Handa <handa@m17n.org>
13490
13491 * dispextern.h (check_face_attributes, generate_ascii_font_name)
13492 (font_name_registry): Don't extern them.
13493 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
13494
13495 * fontset.h (Qfontset): Don't extern it.
13496 (new_fontset_from_font_name): Extern it.
13497
13498 * fontset.c: Give 8 extra slots to fontset objects.
13499 (Qfontset_info): New variable.
13500 (syms_of_fontset): Defsym it.
13501 (FONTSET_FALLBACK): New macro.
13502 (fontset_face): Try also the default fontset.
13503 (make_fontset): Realize a fallback fontset from the default fontset.
13504 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
13505 using split_font_name_into_vector and build_font_name_from_vector.
13506 (Fset_fontset_font): Access the elements of font_spec by enum
13507 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
13508 name by using split_font_name_into_vector.
13509 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
13510 generate a proper font name from the fontset name. Update
13511 Vfontset_alias_alist.
13512 (n_auto_fontsets): New variable.
13513 (new_fontset_from_font_name): New function.
13514 (Ffont_info): Store the information about fonts generated from the
13515 default fontset in the first extra slot of the returned char-table.
13516
13517 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
13518 (font_name_registry): Delete function.
13519 (split_font_name_into_vector): New function.
13520 (build_font_name_from_vector): New function.
13521 (font_list): The argument REGISTRY is now a list of registry names.
13522 (choose_face_font): If we are choosing an ASCII font, and ATTRS
13523 specifies an explicit font name, return the name as is. Make a
13524 list of registy names.
13525
13526 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
13527 of x_new_fontset.
13528 (Fx_create_frame): Don't call x_new_fontset here. Just use
13529 x_list_fonts to check the existence of fonts.
13530
13531 * xterm.h (x_new_fontset): Adjust prototype.
13532
13533 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
13534 string. Use new_fontset_from_font_name to create a fontset from a
13535 font name.
13536
135372008-02-01 Kenichi Handa <handa@m17n.org>
13538
13539 * syntax.c (Vfind_word_boundary_function_table): New name for
13540 Vnext_word_boundary_function_table.
13541 (find-word-boundary-function-table): New name for
13542 next-word-boundary-function-table.
13543
135442008-02-01 Dave Love <fx@gnu.org>
13545
13546 * Makefile.in: Fix some dependencies.
13547
13548 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
13549 set it to nil before returning.
13550
13551 * composite.c (update_compositions): Fix type error.
13552
13553 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
13554
135552008-02-01 Kenichi Handa <handa@m17n.org>
13556
13557 * xterm.c (x_new_font): Optimize for the case that the font is
13558 already set for the frame.
13559
135602008-02-01 Kenichi Handa <handa@m17n.org>
13561
13562 * chartab.c (char_table_ascii): Check if the char table contents
13563 is sub-char-table or not.
13564 (char_table_set, char_table_set_range): Fix argument to
13565 char_table_ascii.
13566
13567 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
13568 (detect_coding_utf_8, detect_coding_utf_16)
13569 (detect_coding_emacs_mule, detect_coding_iso_2022)
13570 (detect_coding_sjis, detect_coding_big5)
13571 (detect_coding_ccl, detect_coding_charset): Change argument MASK
13572 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
13573 sequence is valid in this coding system. Change callers.
13574 (MAX_ANNOTATION_LENGTH): New macro.
13575 (ADD_ANNOTATION_DATA): New macro.
13576 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
13577 ADD_ANNOTATION_DATA. Change the format of annotation data.
13578 (ADD_CHARSET_DATA): New macro.
13579 (emacs_mule_char): New argument ID. Change callers.
13580 (decode_coding_emacs_mule, decode_coding_iso_2022)
13581 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13582 Produce charset annotation data in coding->charbuf.
13583 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
13584 to charset annotation data in coding->charbuf.
13585 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
13586 coding->common_flags if the coding system is iso-2022 based and
13587 uses designation.
13588 (produce_composition): Adjust for the new annotation data format.
13589 (produce_charset): New function.
13590 (produce_annotation): Handle charset annotation.
13591 (handle_composition_annotation, handle_charset_annotation): New
13592 functions.
13593 (consume_chars): Handle charset annotation. Utilize the above two
13594 functions.
13595 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
13596 buffer, get the deleted text as a string and set
13597 coding->src_object to that string.
13598 (detect_coding, detect_coding_system): Use the new struct
13599 coding_detection_info.
13600
13601 * coding.h (struct coding_detection_info): New structure.
13602 (struct coding_system): Adjust prototype of the member `detector'.
13603 (CODING_ANNOTATE_CHARSET_MASK): New macro.
13604
136052008-02-01 Kenichi Handa <handa@m17n.org>
13606
13607 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
13608
136092008-02-01 Dave Love <fx@gnu.org>
13610
13611 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
13612 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
13613 to new local and nullify apropos_accumulate before returning.
13614 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
13615
136162008-02-01 Kenichi Handa <handa@m17n.org>
13617
13618 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
13619 correctly.
e3eea1fc 13620
aac0c6e3
MR
136212008-02-01 Dave Love <fx@gnu.org>
13622
13623 * fns.c (Flanginfo): Call synchronize_system_time_locale.
13624
136252008-02-01 Kenichi Handa <handa@m17n.org>
13626
13627 The following changes are to make character composition happen
13628 automatically on displaying.
13629
13630 * Makefile.in (lisp, shortlisp): Add composite.elc.
13631
13632 * composite.h (Qauto_composed, Vauto_composition_function)
13633 (Qauto_composition_function): Extern them.
13634
13635 * composite.c (Vcomposition_function_table)
13636 (Qcomposition_function_table): Delete variables.
13637 (Qauto_composed, Vauto_composition_function)
13638 (Qauto_composition_function): New variables.
13639 (run_composition_function): Don't call
13640 compose-chars-after-function.
13641 (update_compositions): Clear `auto-composed' text property.
13642 (compose_chars_in_text): Delete this function.
13643 (syms_of_composite): Staticpro Qauto_composed and
13644 Qauto_composition_function. Declare Vauto_composition_function as
13645 a Lisp variable.
13646
13647 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
13648
13649 * xdisp.c (it_props): Add an entry for Qauto_composed.
13650 (handle_auto_composed_prop): New function.
13651
13652 * xselect.c (selection_data_to_lisp_data): Don't call
13653 compose_chars_in_text.
13654
136552008-02-01 Dave Love <fx@gnu.org>
13656
13657 * keyboard.c (read_char): Modify checking around use of
13658 Vkeyboard_translate_table.
13659
13660 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13661 and fix C types.
13662
136632008-02-01 Kenichi Handa <handa@m17n.org>
13664
13665 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
13666 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13667 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
13668 the case that the last byte is '\r' correctly.
13669 (decode_coding): Flush out the unprocessed data correctly.
13670 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
13671
136722008-02-01 Dave Love <fx@gnu.org>
13673
13674 * xterm.c (XTread_socket): Fix changes for defined keysyms.
13675 Add XK_ISO... case.
13676 (xaw_scroll_callback): Revert last change.
13677
136782008-02-01 Kenichi Handa <handa@m17n.org>
13679
13680 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
13681
136822008-02-01 Kenichi Handa <handa@m17n.org>
13683
13684 * xfaces.c (Vface_resizing_fonts): New variable.
13685 (struct font_name): New member `resizing_ratio'.
13686 (font_resizing_ratio): New function.
13687 (split_font_name): Set font->resizing_ratio.
13688 (better_font_p): Pay attention to font->resizing_ratio.
13689 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
13690 RESX, and RESY fields.
13691 (try_alternative_families): Try scalable fonts if
13692 Vscalable_fonts_allowed is not Qt.
13693 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
13694
136952008-02-01 Dave Love <fx@gnu.org>
13696
13697 * xterm.c (xaw_scroll_callback): Cast correctly.
13698
136992008-02-01 Dave Love <fx@gnu.org>
13700
13701 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
13702 (lispy_kana_keys): Comment out.
13703 (make_lispy_event) [XK_kana_A]: Comment out.
13704
13705 * xterm.c (xaw_scroll_callback): Cast call_data.
13706 (XTread_socket): Deal with ASCII keysyms.
13707 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
13708
137092008-02-01 Dave Love <fx@gnu.org>
13710
13711 * xterm.c (Vx_keysym_table): New.
13712 (syms_of_xterm): Initialize it.
13713 (XTread_socket): Use it.
13714 From head: Eliminate incorrect optimization that tried to avoid
13715 decoding the output of X*LookupString.
13716 (x_get_font_repertory): Delete charset declaration.
13717
137182008-02-01 Kenichi Handa <handa@m17n.org>
13719
13720 * coding.c (detect_coding_charset): If only ASCII bytes are found,
13721 return 0.
13722 (Fdefine_coding_system_internal): Setup
13723 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
13724
137252008-02-01 Dave Love <fx@gnu.org>
13726
13727 * coding.c (Fcheck_coding_system): Doc fix.
13728
13729 * editfns.c (Finsert_byte): Return a proper value.
13730
137312008-02-01 Kenichi Handa <handa@m17n.org>
13732
13733 * coding.c (decode_coding): Fix args to translate_chars. Pay
13734 attention to Vstandard_translation_table_for_decode.
13735 (encode_coding): Fix args to translate_chars. Pay attention to
13736 Vstandard_translation_table_for_encode.
13737
13738 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
13739 SINGLE_BYTE_CHAR_P.
13740
13741 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
13742 not by SINGLE_BYTE_CHAR_P.
13743
13744 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
13745 SINGLE_BYTE_CHAR_P.
13746
13747 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
13748 SINGLE_BYTE_CHAR_P.
13749
13750 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
13751 by SINGLE_BYTE_CHAR_P.
13752
13753 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
13754 SINGLE_BYTE_CHAR_P.
13755
137562008-02-01 Dave Love <fx@gnu.org>
13757
13758 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
13759
137602008-02-01 Dave Love <fx@gnu.org>
13761
13762 * fns.c (Flanginfo): Fix typo.
13763
13764 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
13765
137662008-02-01 Kenichi Handa <handa@m17n.org>
13767
13768 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
13769 (detect_coding_emacs_mule, detect_coding_iso_2022)
13770 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
13771 incomplete byte sequence. Don't update *mask when correctly detected.
13772 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
13773 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
13774 (detect_coding, detect_coding_system): Adjust for the changes above.
13775
137762008-02-01 Kenichi Handa <handa@m17n.org>
13777
13778 * character.c (char_string): Rename from
13779 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
13780 (string_char): Rename from string_char.
13781
13782 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
13783 if C is greater than MAX_3_BYTE_CHAR.
13784 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
13785 string_char instead of string_char_with_unification.
13786
137872008-02-01 Dave Love <fx@gnu.org>
13788
13789 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
13790
137912008-02-01 Kenichi Handa <handa@m17n.org>
13792
13793 * keymap.c (push_key_description): Pay attention to force_multibyte.
13794
13795 * regex.c (re_search_2): Fix for the case of unibyte buffer.
13796
137972008-02-01 Dave Love <fx@gnu.org>
13798
13799 * charset.c (define_charset_internal): Rename `supprementary'.
13800
13801 * Makefile.in (lisp, shortlisp): Remove latin-N.
13802
138032008-02-01 Dave Love <fx@gnu.org>
13804
13805 * xfns.c (x_window, x_window): Use use_xim.
13806
13807 * xterm.c (use_xim): Initialize.
13808 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
13809 (x_term_init): Maybe set use_xim.
13810
13811 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
13812
138132008-02-01 Kenichi Handa <handa@m17n.org>
13814
13815 * search.c (search_buffer): Fix case-fold-search of multibyte
13816 characters.
13817 (boyer_moore): Rename the last argument to char_high_bits.
13818
138192008-02-01 Kenichi Handa <handa@m17n.org>
13820
13821 * xdisp.c (display_string): Fix for the case of zero width glyph.
13822
13823 * xfns.c (x_set_font): Change the error message of the case that
13824 x_new_fontset returns Qt.
13825
13826 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
13827 (Finternal_set_lisp_face_attribute): Use signal_error for the
13828 error of invalid fontset.
13829
13830 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
13831 fontset, return Qt.
13832
138332008-02-01 Dave Love <fx@gnu.org>
13834
13835 * unexelf.c (unexec): Make .got handling not SGI-specific.
13836
13837 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
13838
13839 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
13840
13841 * keyboard.c (read_key_sequence): Fix type error.
13842
13843 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
13844 type error.
13845
13846 * fontset.c (fontset_add): Return Lisp_Object.
13847
138482008-02-01 Dave Love <fx@gnu.org>
13849
13850 * charset.h (charset_ordered_list_tick): Declare extern.
13851
138522008-02-01 Kenichi Handa <handa@m17n.org>
13853
13854 The following changes (and some of 2008-02-01 changes of mine) are
13855 for handling syntax, category, and case conversion for unibyte
13856 characters by converting them to multibyte on the fly. With these
13857 changes, we don't have to setup syntax and case tables for unibyte
13858 characters in each language environment.
13859
13860 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
13861 multibyte if necessary.
13862
13863 * bytecode.c (Fbyte_code): Likewise.
13864
13865 * character.h (LEADING_CODE_LATIN_1_MIN)
13866 (LEADING_CODE_LATIN_1_MAX): New macros.
13867 (unibyte_to_multibyte_table): Extern it.
13868 (unibyte_char_to_multibyte): New macro.
13869 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
13870 (CHAR_LEADING_CODE): New macro.
13871 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
13872
13873 * character.c (unibyte_to_multibyte_table): New variable.
13874 (unibyte_char_to_multibyte): Move to character.h and define as macro.
13875 (multibyte_char_to_unibyte): If C is an eight-bit character,
13876 convert it to the corresponding byte value.
13877
13878 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
13879 not 1, signals an error. Update the elements of
13880 unibyte_to_multibyte_table.
13881 (init_charset_once): Initialize unibyte_to_multibyte_table.
13882 (syms_of_charset): Define the charset `iso-8859-1'.
13883
13884 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
13885 as is without converting it to unibyte. In a unibyte buffer,
13886 convert C to multibyte before checking the syntax.
13887
13888 * lisp.h (unibyte_char_to_multibyte): Delete extern.
13889
13890 * minibuf.c (Fminibuffer_complete_word): Use the macro
13891 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
13892
13893 * regex.h (struct re_pattern_buffer): New member target_multibyte.
13894
13895 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
13896 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
13897 that is zero, convert an eight-bit char to multibyte.
13898 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13899 non-emacs case.
13900 (PATFETCH): Convert an eight-bit char to multibyte.
13901 (HANDLE_UNIBYTE_RANGE): New macro.
13902 (regex_compile): Setup the compiled pattern for multibyte chars
13903 even if the given regex string is unibyte. Use PATFETCH_RAW
13904 instead of PATFETCH in many places. To handle `charset'
13905 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13906 only for ASCII chars.
13907 (analyse_first) <exactn>: Simplify because the compiled pattern
13908 is multibyte.
13909 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13910 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13911 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13912 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13913 multibyte always 1.
13914 (re_search_2): In emacs, set the locale variable multibyte to 1,
13915 otherwise to 0. New local variable target_multibyte. Check it
13916 to decide the multibyteness of STR1 and STR2. If
13917 target_multibyte is zero, convert unibyte chars to multibyte
13918 before translating and checking fastmap.
13919 (TARGET_CHAR_AND_LENGTH): New macro.
13920 (re_match_2_internal): In emacs, set the locale variable multibyte
13921 to 1, otherwise to 0. New local variable target_multibyte. Check
13922 it to decide the multibyteness of STR1 and STR2. Use
13923 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13924 <charset, charset_not>: If multibyte is nonzero, check fastmap
13925 only for ASCII chars. Call bcmp_translate with
13926 target_multibyte, not with multibyte.
13927 <begline>: Declare the local variable C as `unsigned'.
13928 (bcmp_translate): Change the last arg name to target_multibyte.
13929
13930 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13931 the regexp pattern and the matching target. Set cp->buf.multibyte
13932 to the multibyteness of the regexp pattern. Set
13933 cp->but.target_multibyte to the multibyteness of the matching target.
13934 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13935 FETCH_STRING_CHAR_ADVANCE.
13936 (Freplace_match): Convert unibyte chars to multibyte.
13937
13938 * syntax.c (char_quoted, back_comment, scan_words)
13939 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13940 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13941 unibyte chars to multibyte.
13942 (skip_chars): Delete the arg syntaxp, and move the code for
13943 handling syntaxes to skip_syntaxes. Change callers.
13944 Fix the case that the multibyteness of STRING and the current
13945 buffer doesn't match.
13946 (skip_syntaxes): New function.
13947 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13948 SINGLE_BYTE_CHAR_P.
13949
139502008-02-01 Kenichi Handa <handa@m17n.org>
13951
13952 * xfaces.c (QCfontset): New variable.
13953 (LFACE_FONTSET): New macro.
13954 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13955 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13956 (Finternal_set_lisp_face_attribute)
13957 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13958 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13959 check also LFACE_FONTSET_INDEX.
13960 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13961 attrs[LFACE_FONT_INDEX].
13962 (syms_of_xfaces): Intern and staticpro QCfontset.
13963
13964 * dispextern.h (enum lface_attribute_index): New member
13965 LFACE_FONTSET_INDEX.
13966
13967 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13968
139692008-02-01 Kenichi Handa <handa@m17n.org>
13970
13971 * coding.c (coding_set_destination): Fix coding->destination for
13972 the case converting a region.
13973 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13974 (encode_coding_object): Fix coding->dst_pos and
13975 coding->dst_pos_byte for the case converting a region.
13976
13977 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13978
13979 * character.h (BYTE8_STRING): New macro.
13980
13981 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13982
139832008-02-01 Kenichi Handa <handa@m17n.org>
13984
13985 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13986 characters by octal form.
13987
13988 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13989
13990 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13991 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13992 _fetch_multibyte_char_len.
13993 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13994
13995 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13996
13997 * casefiddle.c (casify_object): Simplify. Handle the case that
13998 the case conversion change the byte length.
13999 (casify_region): Likewise.
14000
14001 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
14002
14003 * character.c (_fetch_multibyte_char_len): Delete this variable.
14004 (syms_of_character): Setup Vprintable_chars.
14005
14006 * editfns.c (Fchar_equal): Fix for the unibyte case.
14007 (Finsert_byte): New function.
14008 (syms_of_editfns): Defsubr it.
14009
14010 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
14011 of direct code 0x3ffff.
14012
14013 * search.c (Freplace_match): Fix for the unibyte case.
14014
140152008-02-01 Kenichi Handa <handa@m17n.org>
14016
14017 * lread.c (safe_to_load_p): Fix the logic.
14018
14019 * syntax.c (scan_words): Don't treat characters belonging to
14020 different scripts as constituting a word.
14021
14022 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14023
14024 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
14025
14026 * emacs.c (main): In the case of --unibyte, instead of aborting on
14027 finding non-empty buffer, make it unibyte.
14028
140292008-02-01 Kenichi Handa <handa@m17n.org>
14030
14031 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
14032 to create a fontset.
14033
140342008-02-01 Dave Love <fx@gnu.org>
14035
14036 * character.c (Funibyte_char_to_multibyte): Doc fix.
14037
14038 * xfns.c [HAVE_STDLIB_H]: Fix last change.
14039
140402008-02-01 Kenichi Handa <handa@m17n.org>
14041
14042 * fontset.c (fontset_add): Make the type `int'.
14043 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
14044
14045 * character.c (unibyte_char_to_multibyte)
14046 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
14047 charset_unibyte, not charset_primary.
14048
14049 * charset.h (charset_unibyte): Extern it instead of charset_primary.
14050
14051 * charset.c (charset_unibyte): Rename from charset_primary.
14052 (Funibyte_charset): Rename from Fprimary_charset.
14053 (Fset_unibyte_charset): Rename from Fset_primary_charset.
14054 (syms_of_charset): Adjust for the above changes.
14055
14056 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14057 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14058 it->multibyte_p is zero.
14059
14060 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
14061 Delete extern.
14062
140632008-02-01 Kenichi Handa <handa@m17n.org>
14064
14065 * coding.c (Fdefine_coding_system_internal): Fix category setting
14066 for a coding system of type iso-2022.
14067
140682008-02-01 Kenichi Handa <handa@m17n.org>
14069
14070 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
14071
140722008-02-01 Kenichi Handa <handa@m17n.org>
14073
14074 * syntax.c (Vnext_word_boundary_function_table): New variable.
14075 (next-word-boundary-function-table): Declare it as a Lisp variable
14076 in syms_of_syntax.
14077 (scan_words): Call functions in Vnext_word_boundary_function_table
14078 if any.
14079
14080 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
14081
14082 * fontset.c (fs_load_font): If fontp->charset is not negative,
14083 return fontp without setting its members.
14084
140852008-02-01 Dave Love <fx@gnu.org>
14086
14087 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
14088
14089 * m/sparc.h (HAVE_ALLOCA): Delete.
14090
14091 * s/irix6-5.h: Don't include strings.h.
14092 (bcopy, bzero, bcmp): Don't undef.
14093
14094 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
14095
14096 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
14097 (TIOCSIGSEND): Don't test IRIX6.
14098 (bcopy, bzero, bcmp): Define conditionally.
14099
141002008-02-01 Kenichi Handa <handa@m17n.org>
14101
14102 * buffer.c (Qas, Qmake, Qto): New variables.
14103 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
14104 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
14105
14106 * callproc.c (Fcall_process): Don't call insert_1_both directly if
14107 we are inserting a process output into a multibyte buffer.
14108
14109 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
14110 multibyte_char_to_unibyte.
14111
14112 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
14113 by the primary charset, make it eight-bit char.
14114 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
14115
14116 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
14117 (charset_8_bit__control, charset_8_bit_graphic)
14118 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
14119 (define_charset_internal): New function.
14120 (syms_of_charset): Call define_charset_internal for pre-defined
14121 charsets.
14122
14123 * charset.h (charset_8_bit): Extern it.
14124
14125 * coding.c (make_conversion_work_buffer): Adjust for the change
14126 of Fset_buffer_multibyte.
14127 (encode_coding_raw_text): Increment p0 in the loop.
14128
14129 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
14130
14131 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
14132 for the change of Fset_buffer_multibyte.
14133
14134 * fns.c (Fstring_to_multibyte): New function.
14135 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
14136
141372008-02-01 Dave Love <fx@gnu.org>
14138
14139 * xfns.c (x_put_x_image): Declare args.
14140
14141 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
14142 (try_font_list): Declare an arg.
14143
14144 * xdisp.c (message2_nolog, set_message): Declare an arg.
14145
14146 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
14147
14148 * syntax.c (scan_sexps_forward): Declare an arg.
14149
14150 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
14151 Declare an arg.
14152
14153 * lisp.h (Fnew_fontset): Declare.
14154
14155 * keymap.c (push_key_description): Call CHARACTERP correctly.
14156
14157 * fontset.c (fontset_add): Declare args. Call make_number correctly.
14158 (face_for_char): Delete unused vars.
14159 (Fset_fontset_font): Doc fix. Delete unused vars.
14160
14161 * doc.c (Fsubstitute_command_keys): Delete unused vars.
14162
14163 * composite.c (update_compositions): Declare arg.
14164
14165 * cm.c (calccost, cmgoto): Declare args.
14166
14167 * charset.c: Remove `emacs' conditional. Doc fixes.
14168 (map_char_table_for_charset): Declare.
14169
14170 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
14171
14172 * ccl.c: Remove `emacs' conditional.
14173
141742008-02-01 Kenichi Handa <handa@m17n.org>
14175
14176 The following changes are to allow specifying multiple font
14177 patterns for a character range (specified by script or charset).
14178
14179 * Makefile.in (abbrev.o): Depend on syntax.h.
14180 (xfaces.o): Depend on charset.h.
14181
14182 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
14183 SINGLE_BYTE_CHAR_P.
14184
14185 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
14186
14187 * character.h (Vchar_script_table): Extern it.
14188
14189 * character.c (Vscript_alist): Delete.
14190 (Vchar_script_table, Qchar_script_table): New variable.
14191 (syms_of_character): Declare Vchar_script_table as a lisp variable
14192 and initialize it.
14193
14194 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
14195 have property char-table-extra-slots, make no extra slot.
14196
14197 * dispextern.h (struct face): Delete member `charset'.
14198 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
14199 SINGLE_BYTE_CHAR_P.
14200 (choose_face_font, lookup_non_ascii_face, font_name_registry):
14201 Add prototypes.
14202 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
14203 (generate_ascii_font_name): Rename from generate_ascii_font.
14204
14205 * fontset.h (get_font_repertory_func): New prototype.
14206 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
14207 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
14208
14209 * fontset.c (Qprepend, Qappend): New variables.
14210 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
14211 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
14212 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
14213 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
14214 (fontset_ref_and_range, fontset_add, reorder_font_vector)
14215 (load_font_get_repertory): New functions.
14216 (fontset_set): Delete.
14217 (fontset_face): New arg FACE. Return face ID, not face.
14218 Complete re-write to handle new fontset structure. Change caller.
14219 (free_face_fontset): Use ASET istead of AREF (X) = Y.
14220 (face_for_char): Don't call lookup_face.
14221 (make_fontset_for_ascii_face): New arg FACE.
14222 (fs_load_font): New arg CHARSET_ID. Don't check
14223 Vfont_encoding_alist here.
14224 (find_font_encoding): New function.
14225 (list_fontsets): Use STRINGP, not ! NILP.
14226 (accumulate_script_ranges): New function.
14227 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
14228 re-written to handle new fontset structure.
14229 (Ffontset_font): Return a copy of element.
14230 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
14231 docstring of font-encoding-alist.
14232
14233 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
14234 (Fset_fotset_font): Fix arguments to 5.
14235
14236 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
14237
14238 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
14239 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14240 (highlight_trailing_whitespace): Adjust for the change of
14241 lookup_named_face.
14242
14243 * xfaces.c: Include charset.h.
14244 (load_face_font): Delete argument C. Change caller.
14245 (generate_ascii_font_name): Rename from generate_ascii_font.
14246 (font_name_registry): New function.
14247 (cache_face): Store ascii faces before non-ascii faces in buckets.
14248 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
14249 Lookup only ascii faces.
14250 (lookup_non_ascii_face): New function.
14251 (lookup_named_face): Delete argument C. Change caller.
14252 (lookup_derived_face): Delete argument C. Change caller.
14253 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
14254 a string, just call font_list with it.
14255 (choose_face_font): Delete arguments FACE and C. New arg
14256 FONT_SPEC. Change caller.
14257 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
14258 Change caller.
14259 (realize_non_ascii_face): New function.
14260 (realize_x_face): Call load_face_font here.
14261 (realize_tty_face): Delete argument C. Change caller.
14262 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
14263 get a face ID.
14264 (dump_realized_face): Don't print charset of FACE.
14265
14266 * xfns.c (x_set_font): Always call x_new_fontset and
14267 store_frame_parameter.
14268 (Fx_create_frame): Call x_new_fontset, not x_new_font.
14269 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
14270
14271 * xterm.h (x_get_font_repertory): Extern it.
14272
14273 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14274 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14275 it->multibyte_p is zero.
14276 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14277 (x_new_fontset): If FONTSETNAME doesn't match any existing
14278 fontsets, create a new one.
14279 (x_get_font_repertory): New function.
14280
142812008-02-01 Kenichi Handa <handa@m17n.org>
14282
14283 * coding.c (Ffind_coding_systems_region_internal): Detect an
14284 ASCII only string correctly.
14285
14286 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
14287 version is 0.
14288
142892008-02-01 Kenichi Handa <handa@m17n.org>
14290
14291 * lread.c: Include "coding.h".
14292 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
14293 (load_each_byte, unread_char): New variables.
14294 (readchar_backlog): Delete.
14295 (readchar): Return a character unless load_each_byte is nonzero.
14296 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
14297 cons. If unread_char is not -1, simply return it.
14298 (unreadchar): Handle the case that readcharfun is
14299 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
14300 (read_multibyte): Delete.
14301 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
14302 (read_emacs_mule_char): New functions.
14303 (Fload): Even if the file doesn't have the extension ".elc", if
14304 safe_to_load_p returns a positive version number, assume that the
14305 file contains bytecompiled code. If the version is less than 22,
14306 load the file while decoding multibyte sequences by emacs-mule.
14307 (readevalloop): Don't use readchar_backlog.
14308 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
14309 (Fread_from_string): Pay attention to the case that STREAM is a cons.
14310 (read_escape): Delete the arg BYTEREP.
14311 (read1): Set load_each_byte to 1 temporarily while handling
14312 #@NUMBER. Don't call read_multibyte.
14313 (read_vector): Call Fread with a cons. If readcharfun is
14314 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
14315 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
14316 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
14317 and Qload_force_doc_strings.
14318
143192008-02-01 Kenichi Handa <handa@m17n.org>
14320
14321 * xdisp.c (face_before_or_after_it_pos): Call
14322 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
14323
143242008-02-01 Kenichi Handa <handa@m17n.org>
14325
14326 * character.h (TRAILING_CODE_P): New macro.
14327 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
14328 (string_char_with_unification): Fix prototype.
14329 (Vscript_alist): Extern it.
14330
14331 * character.c (Vscript_alist): New variable.
14332 (string_char_with_unification, str_as_unibyte)
14333 (string_escape_byte8): Add `const' to local variables.
14334 (syms_of_character): Declare script-alist as a Lisp variable.
14335
14336 * charset.h (Vcharset_ordered_list): Extern it.
14337 (charset_ordered_list_tick): Extern it.
14338 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
14339 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
14340 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
14341 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
14342 (Funify_charset): Adjust for the change of Funify_charset.
14343
14344 * charset.c (charset_ordered_list_tick): New variable.
14345 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
14346 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
14347 deunify intead of unify a charset.
14348 (string_xstring_p): Add `const' to local variables.
14349 (find_charsets_in_text): Add `const' to arguments and local variables.
14350 (encode_char): Adjust for the change of Funify_charset. Fix
14351 detecting of invalid code.
14352 (Fset_charset_priority): Increment charset_ordered_list_tick.
14353 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
14354 and TO_CODE.
14355
14356 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
14357 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
14358 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
14359 (decode_coding_ccl, consume_chars)
14360 (Ffind_coding_systems_region_internal)
14361 (Fcheck_coding_systems_region): Add `const' to local variables.
14362
14363 * print.c (print_object): Use octal form for printing the
14364 contents of a bool vector.
14365
143662008-02-01 Dave Love <fx@gnu.org>
14367
14368 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
14369 <version == 20>: Refuse to load.
14370
143712008-02-01 Dave Love <fx@gnu.org>
14372
14373 * fns.c: Move coding.h.
14374 (Qcodeset, Qdays, Qmonths): New.
14375 (concat): Use CHARACTERP instead of INTEGERP.
14376 (Flocale_codeset): Delete.
14377 (Flanginfo): New function.
14378 (syms_of_fns): Change accordingly.
14379
14380 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
14381
143822008-02-01 Dave Love <fx@gnu.org>
14383
14384 * casetab.c (init_casetab_once, init_casetab_once): Fix
14385 CHAR_TABLE_SET call.
14386
14387 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
14388
14389 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
14390
14391 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
14392 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
14393 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
14394
14395 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
14396
14397 * coding.c (ENCODE_DESIGNATION, decode_eol)
14398 (make_conversion_work_buffer, code_conversion_restore)
14399 (Fdefine_coding_system_internal): Convert Lisp types.
14400 (code_conversion_restore): Use EQ, not ==.
14401 (Fencode_coding_string): Fix code_convert_string call.
14402
14403 * coding.h (code_convert_region): Fix prototype.
14404
14405 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
14406
14407 * fontset.c (fontset_ref, fontset_set, fs_load_font)
14408 (Ffontset_info): Convert Lisp types.
14409
14410 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
14411
14412 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
14413
14414 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
14415
14416 * chartab.c: Include "...h", not <...h> in some cases.
14417
14418 * callproc.c (Fcall_process): Remove unused variables.
14419
144202008-02-01 Dave Love <fx@gnu.org>
14421
14422 * coding.c (Fset_coding_system_priority): Allow null arg list.
14423
144242008-02-01 Dave Love <fx@gnu.org>
14425
14426 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
14427 (Fself_insert_and_exit): Use CHARACTERP.
14428
14429 * callproc.c (Fcall_process): Remove unused vars.
14430
14431 * xterm.c (XTread_socket): Add extra dead keysyms.
14432
14433 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
14434
14435 * dispextern.h: Remove prototypes for redraw_frame,
14436 redraw_garbaged_frames.
14437
14438 * cmds.c (Fself_insert_command): Use CHARACTERP.
14439
14440 * chartab.c (make_sub_char_table): Remove unused var.
14441 (Fset_char_table_default, Fmap_char_table): Doc fix.
14442
14443 * keymap.c (access_keymap): Remove generic char code.
14444 (push_key_description): Use CHARACTERP.
14445
144462008-02-01 Dave Love <fx@gnu.org>
14447
14448 * charset.c: Doc fixes.
14449 (Funify_charset): Extra checking.
14450
144512008-02-01 Dave Love <fx@gnu.org>
14452
14453 * lread.c: Remove some unused variables.
14454 (safe_to_load_p): If safe, return the magic number version byte.
14455 (Fload): Maybe use load-with-code-conversion.
14456
144572008-02-01 Kenichi Handa <handa@m17n.org>
14458
14459 * category.c (Fmodify_category_entry): Don't modify the contents
14460 of category_set for characters out of the range. Avoid
14461 unnecessary modification.
14462
14463 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
14464 Vchar_unify_table. The default value of the table is now nil.
14465
14466 * character.c (syms_of_character): Setup Vchar_width_table for
14467 eight-bit-control and raw-byte chars.
14468
14469 * charset.h (enum define_charset_arg_index): Delete
14470 charset_arg_parents and add charset_arg_subset and
14471 charset_arg_superset.
14472 (enum charset_attr_index): Delete charset_parents and add
14473 charset_subset and charset_superset.
14474 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
14475 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
14476 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
14477 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
14478 (CHARSET_SUPERSET): New macros.
14479 (charset_work): Extern it.
14480 (ENCODE_CHAR): Use charset_work.
14481 (CHAR_CHARSET_P): Adjust for the change of encoder format.
14482 (map_charset_chars): Extern it.
14483
14484 * charset.c (load_charset_map): Set the default value of encoder
14485 and deunifier char-tables to nil.
14486 (map_charset_chars): Change argument. Change callers. Use
14487 map_char_table_for_charset instead of map_char_table.
14488 (Fmap_charset_chars): New optional args from_code and to_code.
14489 (Fdefine_charset_internal): Adjust for the change of
14490 `define-charset' (:parents -> :subset or :superset).
14491 (charset_work): New variable.
14492 (encode_char, syms_of_charset): Adjust for the change of
14493 Fdefine_charset_internal.
14494 (Ffind_charset_string): Setup the vector `charsets' correctly.
14495
14496 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
14497 the previous change.
14498 (char_table_ref_and_range): Adjust for the above change.
14499 (map_sub_char_table_for_charset): New function.
14500 (map_char_table_for_charset): New function.
14501
14502 * keymap.c (describe_vector): Handle a char-table directly here.
14503 (describe_char_table): Delete.
14504
14505 * lisp.h (map_charset_chars): Delete.
14506
145072008-02-01 Dave Love <fx@gnu.org>
14508
14509 * fns.c (count_combining): Comment out (unused).
14510 (Flocale_codeset): New.
14511 (syms_of_fns): Defsubr it.
14512
14513 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
14514 (size_t): Remove.
14515
145162008-02-01 Dave Love <fx@gnu.org>
14517
14518 * Makefile.in (chartab.o): Depend on charset.h.
14519
145202008-02-01 Kenichi Handa <handa@m17n.org>
14521
14522 * character.c (syms_of_character): Set the default value of
14523 Vprintable_chars to Qnil.
14524
145252008-02-01 Dave Love <fx@gnu.org>
14526
14527 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
14528
145292008-02-01 Kenichi Handa <handa@m17n.org>
14530
14531 * charset.c (load_charset_map): Handle the case that from < to
14532 correctly.
14533
14534 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
14535 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
14536 Pay attention to raw-8-bit chars.
14537
145382008-02-01 Kenichi Handa <handa@m17n.org>
14539
14540 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
14541 It is not bytecompiled now.
14542
14543 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
14544 (charset_jisx0208): New variables.
14545 (Fdefine_charset_internal): Setup them if appropriate.
14546 (init_charset_once): Initialize them to -1.
14547
14548 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
14549 (charset_jisx0208): Extern them.
14550
14551 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
14552 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
14553 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
14554 (setup_iso_safe_charsets): Fix arguments to Fassq.
14555 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
14556 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
14557 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
14558 (encode_coding_iso_2022): Change the 1st arg to
14559 ENCODE_ISO_CHARACTER to a variable.
14560
145612008-02-01 Kenichi Handa <handa@m17n.org>
14562
14563 * charset.h (enum define_charset_arg_index): New enums
14564 charset_arg_min_code and charset_arg_max_code.
14565 (struct charset): New member char_index_offset.
14566
14567 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
14568 Take charset->char_index_offset into account.
14569 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
14570 args[charset_arg_max_code]. Setup charset.char_index_offset.
14571 (syms_of_charset): Fix args to Fdefine_charset_internal.
14572
145732008-02-01 Dave Love <fx@gnu.org>
14574
14575 * coding.c (decode_coding_utf_8): Reject overlong sequences.
14576
145772008-02-01 Dave Love <fx@gnu.org>
14578
14579 * coding.c: Doc fixes.
14580 (Fcoding_system_aliases): Fix return value.
14581 (Qmac): Remove (duplicated) definition.
14582
145832008-02-01 Dave Love <fx@gnu.org>
14584
14585 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
14586 functions.
14587
14588 * character.c (Fstring): Doc fix.
14589
14590 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
14591
14592 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
14593 ids.
14594 (font-encoding-alist): Doc fix.
14595
145962008-02-01 Dave Love <fx@gnu.org>
14597
14598 * term.c (costs_set): Declare static, non-initialized for pcc.
14599 (encode_terminal_code): Remove unused var.
14600
14601 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
14602 for K&R.
14603
14604 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
14605
14606 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
14607 (suffixes): Move out of make_subsidiaries for K&R.
14608
14609 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
14610
14611 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
14612
146132008-02-01 Dave Love <fx@gnu.org>
14614
14615 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
14616
14617 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
14618
146192008-02-01 Yong Lu <lyongu@asia-infonet.com>
14620
14621 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
14622
14623 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
14624
146252008-02-01 Kenichi Handa <handa@m17n.org>
14626
14627 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
14628 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
14629
146302008-02-01 Kenichi Handa <handa@m17n.org>
14631
14632 * coding.c (decode_coding_charset): Adjust for the change of
14633 Fdefine_coding_system_internal.
14634 (Fdefine_coding_system_internal): For a coding system of
14635 `charset' type, store a list of charset IDs in
14636 `charset_attr_charset_valids' element of coding attributes.
14637
146382008-02-01 Kenichi Handa <handa@m17n.org>
14639
14640 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
14641 (emacs_mule_char): New arg src. Delete arg `composition'. Change
14642 caller. Handle 2-byte and 3-byte charsets correctly.
14643 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
14644 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
14645 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
14646 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14647 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
14648 sequence.
14649 (decode_coding_emacs_mule): Handle composition correctly. Rewind
14650 `src' and `consumed_chars' correctly before calling emacs_mule_char.
14651 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
14652 and alt&rule composition.
14653 (decode_coding_iso_2022): Handle composition correctly.
14654 (init_coding_once): Setup emacs_mule_bytes for private charsets.
14655
14656 * charset.c (Fdefine_charset_internal): Fix bug for the case of
14657 re-defining a charset. If the charset has :emacs-mule-id, setup
14658 emacs_mule_bytes.
14659 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
14660
146612008-02-01 Kenichi Handa <handa@m17n.org>
14662
14663 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
14664 (encode_coding_big5, encode_coding_charset): If coding requires safe
14665 encoding, produce a character specified by
14666 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
14667
146682008-02-01 Dave Love <fx@gnu.org>
14669
14670 * xterm.c (XSetIMValues): Declare.
14671
14672 * process.c: Conditionally include sys/wait.h, pty.h.
14673
14674 * print.c (print_object): Fix print format for 64-bit systems.
14675
14676 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
14677
14678 * buffer.c (emacs_strerror): Declare.
14679
14680 * fontset.c (Fclear_face_cache): Declare.
14681 (accumulate_font_info): Comment-out (unused).
14682 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
14683 variables.
14684
14685 * character.h (string_escape_byte8): Declare.
14686
14687 * charset.c (load_charset_map, load_charset_map_from_file): Remove
14688 unused vars.
14689 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
14690 (Fmap_charset_chars): Doc fix.
14691
14692 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
14693 (Fset_coding_system_priority, Fset_coding_system_priority)
14694 (Fdefine_coding_system_internal): Doc fix.
14695
146962008-02-01 Dave Love <fx@gnu.org>
14697
14698 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
14699
147002008-02-01 Kenichi Handa <handa@m17n.org>
14701
14702 * character.c (string_escape_byte8): Make multibyte string with
14703 correct size.
14704
14705 * charset.c (Fmake_char): Delete unnecessary code.
14706
147072008-02-01 Kenichi Handa <handa@m17n.org>
14708
14709 * xfns.c (x_encode_text): Allocate coding.destination here, and
14710 call encode_coding_object with dst_object Qnil.
14711
14712 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
14713 multibyte form correctly.
14714
14715 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
14716 against Vfont_encoding_alist.
14717
14718 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
14719 handling of charset list.
14720 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
14721 (decode_coding_object): Move point to coding->dst_pos before
14722 calling post-read-conversion function.
14723 (encode_coding_object): Give correct arguments to
14724 pre-write-conversion. Ignore the return value of
14725 pre-write-conversion function. Pay attention to the case that
14726 pre-write-conversion changes the current buffer. If dst_object is
14727 Qt, even if coding->src_bytes is zero, allocate at least one byte
14728 to coding->destination.
14729
14730 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
14731
14732 * charset.c (Fmake_char): Make it more backward compatible.
14733 (Fmap_charset_chars): Fix docstring.
14734
147352008-02-01 Dave Love <fx@gnu.org>
14736
14737 * coding.c: Doc fixes.
14738 (Fdefine_coding_system_alias): Use names, not symbols, in
14739 coding-system-alist.
14740
147412008-02-01 Kenichi Handa <handa@m17n.org>
14742
14743 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
14744 of calling free_realized_face.
14745
147462008-02-01 Yong Lu <lyongu@asia-infonet.com>
14747
14748 * charset.c (read_hex): Don't treat SPC as a comment starter.
14749 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
14750 (Fdecode_char): Fix typo.
14751
147522008-02-01 Kenichi Handa <handa@m17n.org>
14753
14754 * charset.h (struct charset): New member `code_space_mask'.
14755
14756 * coding.c (coding_set_source): Delete the local variable beg_byte.
14757 (encode_coding_charset, Fdefine_coding_system_internal):
14758 Delete the local variable charset.
14759 (Fdefine_coding_system_internal): Setup
14760 attrs[coding_attr_charset_valids] correctly.
14761
14762 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
14763 member to check if CODE is valid or not.
14764 (Fdefine_charset_internal): Initialize `code_space_mask' member.
14765 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
14766 is within the range of charset->min_code and carset->max_code.
14767
147682008-02-01 Dave Love <fx@gnu.org>
14769
14770 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
14771
14772 * dispextern.h (generate_ascii_font): Fix return type.
14773
14774 * xfaces.c (generate_ascii_font): Fix arg declaration.
14775
14776 * coding.c (coding_inherit_eol_type)
14777 (Fset_terminal_coding_system_internal)
14778 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
14779
147802008-02-01 Kenichi Handa <handa@m17n.org>
14781
14782 * coding.c (decode_coding_charset, encode_coding_charset): Handle
14783 multiple charsets correctly.
14784
147852008-02-01 Kenichi Handa <handa@m17n.org>
14786
14787 * search.c (boyer_moore): Fix handling of multibyte character
14788 translation.
14789
14790 * xdisp.c (display_mode_element): When the variable `elt' is
14791 changed, update `this' and `lisp_string'.
14792
147932008-02-01 Kenichi Handa <handa@m17n.org>
14794
14795 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
14796
14797 * callproc.c (Fcall_process): Be sure to give the current buffer
14798 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
14799
14800 * charset.c (struct charset_map_entries): New struct.
14801 (load_charset_map): Rename from parse_charset_map. New args
14802 entries and n_entries. Change caller.
14803 (load_charset_map_from_file): Rename from load_charset_map.
14804 Change caller. New arg control_flag. Call load_charset_map at
14805 the tail.
14806 (load_charset_map_from_vector): New function.
14807 (Fdefine_charset_internal): Setup charset.compact_codes_p.
14808 (encode_char): If the charset is compact, change a character index
14809 to a code point.
14810
14811 * coding.c (coding_alloc_by_making_gap): Check the case that the
14812 source and destination are the same correctly.
14813 (decode_coding_raw_text): Set coding->consumed_char and
14814 coding->consumed to 0.
14815 (produce_chars): If coding->chars_at_source is nonzero, update
14816 coding->consumed_char and coding->consumed before calling
14817 alloc_destination.
14818 (Fdefine_coding_system_alias): Register ALIAS in
14819 Vcoding_system_alist.
14820 (syms_of_coding): Define `no-conversion' coding system at the tail.
14821
14822 * fileio.c (Finsert_file_contents): Set coding_system instead of
14823 val. If the current buffer is multibyte, always call
14824 decode_coding_gap.
14825
14826 * xfaces.c (try_font_list): Give higher priority to fontset's
14827 family than face's family.
14828
148292008-02-01 Kenichi Handa <handa@m17n.org>
14830
14831 * callproc.c (Fcall_process): Be sure to give the current buffer
14832 to decode_coding_c_string.
14833
14834 * xfaces.c (try_font_list): Give a family specified in a fontset
14835 higher priority than a family specified in a face.
14836
148372008-02-01 Kenichi Handa <handa@m17n.org>
14838
14839 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
14840 Fix arguments to insert_from_buffer.
14841
14842 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
14843
148442008-02-01 Kenichi Handa <handa@m17n.org>
14845
14846 * coding.c (produce_chars): Set the variable `multibytep' correctly.
14847 (decode_coding_gap): Set coding->dst_multibyte correctly.
14848
148492008-02-01 Kenichi Handa <handa@m17n.org>
14850
14851 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
14852 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
14853 (encode_coding_utf_16): Substitute coding->default_char for
14854 non-Unicode characters.
14855 (decode_coding): Don't call record_insert here.
14856 (setup_coding_system): Initialize `surrogate' of
14857 coding->spec.utf_16 to 0.
14858 (EMIT_ONE_BYTE): Fix for multibyte case.
14859
14860 * insdel.c (insert_from_gap): Call record_insert.
14861
148622008-02-01 Kenichi Handa <handa@m17n.org>
14863
14864 * casefiddle.c (casify_region): Fix multibyte case.
14865
14866 * character.c (c_string_width): Add return type `int'.
14867 (char_string_with_unification): Delete arg ADVANCED.
14868
14869 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
14870 (CHAR_STRING): Adjust for the change of char_string_with_unification.
14871 (CHAR_STRING_ADVANCE): Make it do-while statement.
14872
14873 * chartab.c (sub_char_table_set_range): Optimize for the case
14874 DEPTH == 3. Add workaround code for a GCC optimization bug.
14875
14876 * charset.c (parse_charset_map): Remove an unused variable.
14877
14878 * coding.c: Delete unused variables.
14879
14880 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
14881 earlier. If inserted is zero and the coding system doesn't
14882 require flushing, don't call decode_coding_gap.
14883
14884 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
14885
148862008-02-01 Kenichi Handa <handa@m17n.org>
14887
14888 The following changes are for using Unicode as an internal
14889 character model, and use UTF-8 format for buffer/string
14890 representation.
14891
14892 * .gdbinit (xchartable): Adjust for the change of char table structure.
14893 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
14894
14895 * Makefile.in (obj): Add character.o and chartab.o.
14896 (lisp, shortlisp): Remove utf-8.elc.
14897 (*.o): For many files, change dependency on charset.h to
14898 character.h, and add dependency on character.h.
14899 (character.o, chartab.o): New targets.
14900
14901 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14902 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14903 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14904 of "charset.h".
14905
14906 * dired.c, filelock.c: Include "character.h".
14907
14908 * alloc.c: Include "character.h" instead of "charset.h".
14909 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14910 (syms_of_alloc): Remove defsubr for Smake_char_table.
14911
14912 * buffer.c: Include "character.h" instead of "charset.h", don't
14913 include "coding.h".
14914 (Fset_buffer_multibyte): Adjust for UTF-8.
14915
14916 * buffer.h: EXFUN Fbuffer_live_p.
14917
14918 * callproc.c: Include "character.h" instead of "charset.h".
14919 (Fcall_process): Big change for the new code-conversion APIs.
14920
14921 * casetab.c: Include "character.h" instead of "charset.h".
14922 (set_canon, set_identity, shuffle): Adjust for the new
14923 map_char_table spec.
14924 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14925 accessing the char table structure.
14926
14927 * chartab.c: New file that implements char table.
14928
14929 * category.c: Include "character.h".
14930 (copy_category_entry): New function.
14931 (copy_category_table): Call map_char_table and copy_category_entry.
14932 (Fmake_category_table): Initialize all top-level slots.
14933 (char_category_set): New function.
14934 (modify_lower_category_set): Delete.
14935 (Fmodify_category_entry): Call char_table_ref_and_range.
14936
14937 * category.h (CATEGORY_SET): Just call char_category_set.
14938
14939 * ccl.c: Include "character.h".
14940 (Qccl, Qcclp): New variables.
14941 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14942 it's less than 256.
14943 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14944 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14945 and DST type.
14946 (ccl_driver): Change types of argument, adjust code accordingly.
14947 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14948 ccl_driver.
14949 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14950
14951 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14952 New members src_multibyte, dst_multibyte, consumed, and produced.
14953 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14954 (CODING_SPEC_CCL_PROGRAM): New macro.
14955 (ccl_driver): Update prototype.
14956 (Qccl, Qcclp, Fccl_program_p): Extern them.
14957 (CHECK_CCL_PROGRAM): New macro.
14958
14959 * character.c, character.h, chartab.c: New files.
14960
14961 * charset.c: Mostly re-written. Move character and multibyte sequence
14962 handling codes to character.c.
14963
14964 * charset.h: Mostly re-written. Move character and multibyte sequence
14965 handling codes to character.h.
14966
14967 * coding.c, coding.h: Mostly re-written.
14968
14969 * composite.c: Include "character.h" instead of "charset.h".
14970 (CHAR_WIDTH): Move to character.h.
14971 (HASH_KEY, HASH_VALUE): Delete.
14972
14973 * composite.h (enum composition_method): Change order of enumeration
14974 symbols.
14975
14976 * data.c: Include "character.h" instead of "charset.h".
14977 (Faref): Call CHAR_TABLE_REF for a char table.
14978 (Faset): Call CHAR_TABLE_SET for a char table.
14979
14980 * dispextern.h (free_realized_face, check_face_attribytes)
14981 (generate_ascii_font): Extern them.
14982 (free_realized_multibyte_face): Delete extern.
14983
14984 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14985 table structure.
14986
14987 * editfns.c: Include "character.h" instead of "charset.h".
14988 (Fchar_to_string): Always call CHAR_STRING.
14989
14990 * emacs.c (main): Call init_charset_once, init_charset,
14991 syms_of_chartab, and syms_of_character.
14992
14993 * fileio.c: Include "character.h" instead of "charset.h".
14994 (Finsert_file_contents): Big change for the new code-conversion API.
14995 (choose_write_coding_system, Fwrite_region): Likewise.
14996 (build_annotations_2): Delete.
14997 (e_write): Big change for the new code-conversion API.
14998
14999 * fns.c: Include "character.h" instead of "charset.h".
15000 (copy_sub_char_table): Move to chartab.c.
15001 (Fcopy_sequence): Call copy_char_table for a char table.
15002 (concat): Delete codes calling count_multibyte.
15003 (string_char_to_byte, string_byte_to_char): Adjust for the new
15004 multibyte form.
15005 (internal_equal): Adjust for the change of char table structure.
15006 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
15007 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
15008 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
15009 (char_table_translate, optimize_sub_char_table)
15010 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
15011 chartab.c.
15012 (char_table_ref_and_index): Delete.
15013 (HASH_KEY, HASH_VALUE): Move to lisp.h.
15014 (Fmd5): Call preferred_coding_system instead of accessing
15015 Vcoding_category_list. Adjust for the new code-conversion API.
15016 (syms_of_fns): Move defsubr for char table related functions to
15017 chartab.c.
15018
15019 * fontset.c: Mostly re-written.
15020
15021 * fontset.h (struct font_info): Change type of the member encoding_type.
15022 (enum FONT_SPEC_INDEX): New enum.
15023 (fontset_font_pattern, fs_load_font): Update prototype.
15024 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
15025
15026 * indent.c: Include "character.h" instead of "charset.h".
15027 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
15028
15029 * insdel.c: Include "character.h" instead of "charset.h".
15030 (copy_text): Don't refer to Vnonascii_translation_table.
15031 (insert_from_gap): New function.
15032
15033 * keyboard.c: Include "character.h" instead of "charset.h".
15034 (command_loop_1): Never call direct_output_forward_char before
15035 a non-ASCII character.
15036 (read_char): If Vkeyboard_translate_table is a char table, always
15037 translate a character.
15038
15039 * keymap.c: Include "character.h".
15040 (store_in_keymap): Handle the case that IDX is a cons.
15041 (Fdefine_key): Handle the case that KEY is a cons and the car part
15042 is also a cons (range).
15043 (push_key_description): Adjust for the new character code.
15044 (describe_vector): Call describe_char_table for a char table.
15045 (describe_char_table): New function.
15046
15047 * keymap.h (describe_char_table): Extern it.
15048
15049 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
15050 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
15051 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
15052 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
15053 Delete.
15054 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
15055 structure.
15056 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
15057 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
15058 (CHARTAB_SIZE_BITS_3): New macros.
15059 (chartab_size): Extern it.
15060 (struct Lisp_Char_Table): Re-design.
15061 (struct Lisp_Sub_Char_Table): New structure.
15062 (HASH_KEY, HASH_VALUE): Move from fns.c.
15063 (CHARACTERBITS): Define as 22.
15064 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
15065 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
15066 (GC_SUB_CHAR_TABLE_P): New macro.
15067 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
15068 (code_convert_string_norecord): Deleted extern.
15069 (init_character_once, syms_of_character, init_charset)
15070 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
15071
15072 * lread.c: Include "character.h".
15073 (read_multibyte): New arg NBYTES.
15074 (read_escape): Change the meaning of returned *BYTEREP.
15075 (to_multibyte): Delete.
15076 (read1): Adjust the handling of char table and string.
15077
15078 * print.c: Include "character.h" instead of "charset.h".
15079 (print_string): Convert 8-bit raw bytes to octal form by
15080 string_escape_byte8.
15081 (print_object): Adjust for the new multibyte form. Print 8-bit
15082 raw bytes always in octal form. Handle sub char table correctly.
15083
15084 * process.c: Include "character.h" instead of "charset.h".
15085 (read_process_output, send_process): Adjust for the new
15086 code-conversion API.
15087
15088 * puresize.h (BASE_PURESIZE): Increase.
15089
15090 * regex.c: Include "character.h" instead of "charset.h".
15091 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
15092 (regex_compile): Accept a range whose starting and ending
15093 character have different leading bytes.
15094 (analyse_first): Adjust for the above change.
15095
15096 * search.c: Include "character.h" instead of "charset.h".
15097 (search_buffer, boyer_moore): Adjust for the new multibyte form.
15098 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
15099
15100 * syntax.c: Include "character.h" instead of "charset.h".
15101 (syntax_parent_lookup): Delete.
15102 (Fmodify_syntax_entry): Accept a cons as CHAR.
15103 (skip_chars): Adjust for the new multibyte form.
15104 (init_syntax_once): Call char_table_set_range instead of directly
15105 accessing the structure of a char table.
15106
15107 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
15108 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
15109 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
15110 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
15111
15112 * term.c: Include "buffer.h" and "character.h".
15113 (encode_terminal_code, write_glyphs): Adjust for the new
15114 code-conversion API.
15115 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
15116
15117 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
15118
15119 * xdisp.c: Include "character.h".
15120 (get_next_display_element): Adjust for the new multibyte form.
15121 (disp_char_vector): Adjust for the new char table structure.
15122 (decode_mode_spec_coding): Adjust for the new structure of
15123 coding system.
15124 (decode_mode_spec): Adjust for the new code-conversion API.
15125
15126 * xfaces.c: Include "character.h" instead of "charset.h".
15127 (load_face_font): Adjust for the change of choose_face_font and
15128 FS_LOAD_FONT.
15129 (generate_ascii_font): New function.
15130 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
15131 (set_font_frame_param): Adjust for the change of choose_face_font.
15132 (free_realized_face): Make it public.
15133 (free_realized_faces_for_fontset): Rename from
15134 free_realized_multibyte_face. Free also faces realized for ASCII.
15135 (choose_face_font): Change arguments. Adjust for the change of
15136 fontset_font_pattern and FS_LOAD_FONT.
15137
15138 * xfns.c: Include "character.h".
15139 (x_encode_text): Adjust for the new code-conversion API.
15140
15141 * xselect.c: Don't include "charset.h".
15142 (selection_data_to_lisp_data): Adjust for the new code conversion API.
15143
15144 * xterm.c: Include "character.h".
15145 (x_encode_char): New argument CHARSET. Change caller.
15146 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
15147 Call ENCODE_CHAR instead of SPLIT_CHAR.
15148 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
15149 CHAR_WIDTH instead of CHARSET_WIDTH.
15150 (XTread_socket): Adjust for the new code-conversion API.
15151 (x_new_font): Adjust for the change of FS_LOAD_FONT.
15152 (x_load_font): Adjust for the change of struct font.
15153
151542008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
15155
15156 * xfaces.c (face_at_buffer_position): Remove unused vars.
15157
151582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
15159
15160 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
15161 Fix overflow checking.
15162
151632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
15164
15165 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
15166 Cancel previous change.
15167
151682008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
15169
15170 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
15171 ccl->eight_bit_control. Fix check for buffer overflow.
15172 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
15173 (ccl_driver): Initialize extra_bytes to 0.
15174
151752008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
15176
15177 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
15178 return it ORed with ctrl_modifier.
15179
151802008-01-29 Miles Bader <miles@gnu.org>
15181
15182 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
15183
151842008-01-28 Jason Rumney <jasonr@gnu.org>
15185
15186 * w32.c (stat): Don't double check for networked drive.
15187
151882008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
15189
15190 * window.c (run_window_configuration_change_hook): New function.
15191 Code extracted from set_window_buffer. Set the selected frame.
15192 (set_window_buffer): Use it.
15193 * window.h (run_window_configuration_change_hook): Declare.
15194 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
15195
15196 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
15197
151982008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
15199
15200 * Makefile.in: Remove references to unused macros.
15201
152022008-01-26 Eli Zaretskii <eliz@gnu.org>
15203
15204 * w32.c (g_b_init_get_sid_sub_authority)
15205 (g_b_init_get_sid_sub_authority_count): New static variables.
15206 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
15207 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
15208 (init_user_info): Use them to retrieve uid and gid.
15209 Use 500/513, the Windows defaults, as Administrator's uid/gid.
15210 (fstat): Use pw_uid and pw_gid from the_passwd structure for
15211 st_uid and st_gid of the file.
15212
152132008-01-26 Jason Rumney <jasonr@gnu.org>
15214
15215 * w32.c (logon_network_drive): New function.
15216 (stat): Use it.
15217
152182008-01-26 Chong Yidong <cyd@stupidchicken.com>
15219
15220 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
15221 invisible text covered with an ellipsis.
15222
152232008-01-25 Richard Stallman <rms@gnu.org>
15224
15225 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
15226 jump back to beginning. Move some other initializations after that.
15227 (Qwindow_text_change_functions, Vwindow_text_change_functions):
15228 New variables.
15229 (syms_of_xdisp): Init them.
15230
15231 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
15232
15233 * buffer.c (reset_buffer_local_variables):
15234 Implement `permanent-local-hook'.
15235 (Qpermanent_local_hook): New variable.
15236 (syms_of_buffer): Init and staticpro it.
15237
152382008-01-25 Michael Albinus <michael.albinus@gmx.de>
15239
15240 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
15241
152422008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
15243
15244 * fns.c (Fclrhash): Return TABLE.
15245
152462008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15247
15248 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
15249 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
15250 is set even without positional changes.
15251 (x_scroll_bar_clear): Set bar->redraw_needed_p.
15252
15253 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
15254
152552008-01-23 Jason Rumney <jasonr@gnu.org>
15256
15257 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
15258
15259 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
15260 the unicode range available in MULE by locale-coding-system.
15261 Improve dbcs lead byte detection. Set event timestamp and modifiers
15262 earlier.
15263
152642008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15265
15266 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
15267 [MAC_OSX] (init_mac_osx_environment): Initialize it.
15268 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
15269 when used on child processes.
15270
152712008-01-21 Michael Albinus <michael.albinus@gmx.de>
15272
15273 * dbusbind.c (Fdbus_method_return_internal): Rename from
15274 Fdbus_method_return.
15275 (Fdbus_unregister_object): Move to dbus.el.
15276 (Fdbus_call_method, Fdbus_method_return_internal)
15277 (Fdbus_send_signal): Improve debug messages.
15278
152792008-01-20 Martin Rudalics <rudalics@gmx.at>
15280
15281 * undo.c (undo_inhibit_record_point): New variable.
15282 (syms_of_undo): Initialize it.
15283 (record_point): Don't record point when undo_inhibit_record_point
15284 is set.
15285
152862008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
15287
15288 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
15289
15290 * xdisp.c (Qauto_hscroll_mode): New var.
15291 (syms_of_xdisp): Initialize it.
15292 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
15293 window's buffer.
15294 (hscroll_windows): Don't check automatic_hscrolling_p here.
15295
15296 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
15297 vscroll if we're setting window-buffer to the value it already has.
15298
152992008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
15300
15301 * m/intel386.h: Remove references to XENIX.
15302
153032008-01-17 Andreas Schwab <schwab@suse.de>
15304
15305 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
15306 instead of HAVE_X86_64_LIB64_DIR.
15307 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
15308
153092008-01-17 Glenn Morris <rgm@gnu.org>
15310
15311 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
15312 to HAVE_X86_64_LIB64_DIR.
15313
153142008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
15315
15316 * s/irix3-3.h:
15317 * s/irix4-0.h:
15318 * s/386-ix.h:
15319 * s/domain.h:
15320 * s/hpux9-x11r4.h:
15321 * s/hpux9shxr4.h: Remove files for systems no longer supported.
15322
15323 * sysdep.c: Remove code containing references to symbols defined
15324 by unsupported systems.
15325
153262008-01-16 Glenn Morris <rgm@gnu.org>
15327
15328 * coding.c (select-safe-coding-system-function): Doc fix.
15329
153302008-01-15 Glenn Morris <rgm@gnu.org>
15331
15332 * config.in: Revert 2008-01-13 change: this is a generated file.
15333
153342008-01-13 Tom Tromey <tromey@redhat.com>
15335
15336 * lisp.h: Fix typo.
15337
153382008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15339
15340 * m/sequent-ptx.h:
15341 * m/sequent.h:
15342 * s/ptx.h:
15343 * s/ptx4-2.h:
15344 * s/ptx4.h: Remove files for systems no longer supported.
15345
15346 * callproc.c (Fcall_process): Fix previous change.
15347
153482008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15349
15350 * unexsunos4.c: Remove file, system not supported anymore.
15351
15352 * m/mips.h:
15353 * m/intel386.h:
15354 * callproc.c:
15355 * config.in:
15356 * ecrt0.c:
15357 * emacs.c:
15358 * fileio.c:
15359 * frame.c:
15360 * getpagesize.h:
15361 * keyboard.c:
15362 * lread.c:
15363 * process.c:
15364 * puresize.h:
15365 * sysdep.c:
15366 * systty.h:
15367 * syswait.h:
15368 * unexec.c:
15369 * xdisp.c:
15370 * alloc.c: Remove code containing references to symbols defined by
15371 unsupported systems.
15372
153732008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
15374
15375 * coding.c (detect_coding_mask): Fix previous change.
15376
153772008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
15378
15379 * coding.c (detect_coding_iso2022): New arg
15380 latin_extra_code_state. Allow Latin extra codes only
15381 when *latin_extra_code_state is nonzero.
15382 (detect_coding_mask): If there is a NULL byte, detect the encoding
15383 as UTF-16 or binary. If Latin extra codes exist, detect the
15384 encoding as ISO-2022 only when there's no other proper encoding is
15385 found.
15386
153872008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15388
15389 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
15390 #ifdef MAC_OS.
15391
153922008-01-08 Richard Stallman <rms@gnu.org>
15393
15394 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
15395
153962008-01-06 Nick Roberts <nickrob@snap.net.nz>
15397
15398 * keyboard.c (parse_menu_item): Don't enclose key bindings on
15399 menu bar in parentheses.
15400
154012008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
15402
15403 * m/7300.h:
15404 * m/acorn.h:
15405 * m/alliant-2800.h:
15406 * m/alliant.h:
15407 * m/alliant1.h:
15408 * m/alliant4.h:
15409 * m/altos.h:
15410 * m/amdahl.h:
15411 * m/apollo.h:
15412 * m/att3b.h:
15413 * m/aviion-intel.h:
15414 * m/aviion.h:
15415 * m/celerity.h:
15416 * m/clipper.h:
15417 * m/cnvrgnt.h:
15418 * m/convex.h:
15419 * m/cydra5.h:
15420 * m/delta88k.h:
15421 * m/dpx2.h:
15422 * m/dual.h:
15423 * m/elxsi.h:
15424 * m/f301.h:
15425 * m/gould-np1.h:
15426 * m/gould.h:
15427 * m/i860.h:
15428 * m/ibmps2-aix.h:
15429 * m/ibmrt-aix.h:
15430 * m/ibmrt.h:
15431 * m/irist.h:
15432 * m/is386.h:
15433 * m/isi-ov.h:
15434 * m/mega68.h:
15435 * m/mg1.h:
15436 * m/news-r6.h:
15437 * m/news-risc.h:
15438 * m/news.h:
15439 * m/nh3000.h:
15440 * m/nh4000.h:
15441 * m/ns16000.h:
15442 * m/ns32000.h:
15443 * m/nu.h:
15444 * m/orion.h:
15445 * m/orion105.h:
15446 * m/paragon.h:
15447 * m/pfa50.h:
15448 * m/plexus.h:
15449 * m/pyramid.h:
15450 * m/pyrmips.h:
15451 * m/sh3el.h:
15452 * m/sps7.h:
15453 * m/sr2k.h:
15454 * m/stride.h:
15455 * m/sun1.h:
15456 * m/sun2.h:
15457 * m/sun3-68881.h:
15458 * m/sun3-fpa.h:
15459 * m/sun3-soft.h:
15460 * m/sun3.h:
15461 * m/sun386.h:
15462 * m/symmetry.h:
15463 * m/tad68k.h:
15464 * m/tahoe.h:
15465 * m/targon31.h:
15466 * m/tek4300.h:
15467 * m/tekxd88.h:
15468 * m/tower32.h:
15469 * m/tower32v3.h:
15470 * m/ustation.h:
15471 * m/wicat.h:
15472 * m/xps100.h:
15473 * s/cxux.h:
15474 * s/cxux7.h:
15475 * s/dgux.h:
15476 * s/dgux4.h:
15477 * s/dgux5-4-3.h:
15478 * s/dgux5-4r2.h:
15479 * s/esix.h:
15480 * s/esix5r4.h:
15481 * s/hiuxmpp.h:
15482 * s/hiuxwe2.h:
15483 * s/iris3-5.h:
15484 * s/iris3-6.h:
15485 * s/isc2-2.h:
15486 * s/isc3-0.h:
15487 * s/isc4-0.h:
15488 * s/isc4-1.h:
15489 * s/newsos5.h:
15490 * s/newsos6.h:
15491 * s/osf1.h:
15492 * s/osf5-0.h:
15493 * s/riscix1-1.h:
15494 * s/riscix12.h:
15495 * s/sco4.h:
15496 * s/sco5.h:
15497 * s/sunos4-0.h:
15498 * s/sunos4-1.h:
15499 * s/sunos413.h:
15500 * s/sunos4shr.h:
15501 * s/umax.h:
15502 * s/unipl5-2.h:
15503 * s/xenix.h:
15504 * cxux-crt0.s:
15505 * unexapollo.c:
15506 * unexconvex.c:
15507 * unexenix.c:
15508 * unexsni.c: Remove files for systems no longer supported.
15509
15510 * m/intel386.h: Remove references to unsupported systems.
15511
15512 * w32.c (get_emacs_configuration): Remove reference to i860.
15513
15514 * sysdep.c: Remove dead code.
15515
155162008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
15517
15518 * s/rtu.h:
15519 * m/masscomp.h: Remove files. Platform is obsolete.
15520
155212008-01-04 Michael Albinus <michael.albinus@gmx.de>
15522
15523 * dbusbind.c (Fdbus_method_return): New function.
15524 (xd_read_message): Add the serial number to the event.
15525 (Fdbus_register_method): Activate the function.
15526
155272008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
15528
15529 * keyboard.c (read_key_sequence): Fix typo.
15530
155312008-01-03 Michael Albinus <michael.albinus@gmx.de>
15532
15533 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
15534 (xd_signature, xd_append_arg): Handle element type detection for
15535 empty arrays.
15536 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
15537 SDATA () calls; this must be solved more general.
15538 (Fdbus_register_signal): Use SBYTES instead of strlen.
15539
155402008-01-03 Magnus Henoch <magnus@zemdatav>
15541
15542 * dbusbind.c (xd_append_arg): Use unsigned char instead of
15543 unsigned int for byte values (necessary for big-endian platform).
15544 (Fdbus_call_method): Handle the case of no returned arguments.
15545
155462007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15547
15548 * dbusbind.c (xd_read_message): Use non-static input_event struct.
15549
155502007-12-31 Magnus Henoch <mange@freemail.hu>
15551
15552 * dbusbind.c (xd_signature): Signature of variant is just "v".
15553
155542007-12-30 Michael Albinus <michael.albinus@gmx.de>
15555
15556 * dbusbind.c: Fix several errors and compiler warnings.
15557 Reported by Tom Tromey <tromey@redhat.com>.
15558 (XD_ERROR, XD_DEBUG_MESSAGE)
15559 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
15560 (xd_append_arg): Part for basic D-Bus types rewritten.
15561 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
15562 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
15563 appropriate.
15564 (xd_read_message): Return Qnil. Don't signal an error; it is not
15565 useful during event reading.
15566 (Fdbus_register_signal): Signal an error if the check for
15567 FUNCTIONP fails.
15568 (Fdbus_register_method): New function. The implementation is not
15569 complete, the call of the function signals an error therefore.
15570 (Fdbus_unregister_object): New function, renamed from
15571 Fdbus_unregister_signal. The initial check signals an error, if
15572 the object is not well formed.
15573
155742007-12-30 Richard Stallman <rms@gnu.org>
15575
15576 * textprop.c (get_char_property_and_overlay):
15577 Signal error if POSITION is out of range in a buffer.
15578
155792007-12-29 Martin Rudalics <rudalics@gmx.at>
15580
15581 * w32fns.c (Fx_create_frame): Make copy of frame parameters
15582 because the original parameters are in pure storage now.
15583
155842007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15585
15586 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
15587
155882007-12-22 Eli Zaretskii <eliz@gnu.org>
15589
15590 * callint.c (syms_of_callint) <command-history>: Add reference to
15591 history-length in the doc string.
15592
155932007-12-17 Jason Rumney <jasonr@gnu.org>
15594
15595 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
15596 before passing as wParam.
15597
155982007-12-22 Michael Albinus <michael.albinus@gmx.de>
15599
15600 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
15601 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
15602 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
15603 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
15604 as number.
15605 (Fdbus_call_method): Fix docstring.
15606
156072007-12-21 Michael Albinus <michael.albinus@gmx.de>
15608
15609 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
15610 New macros.
15611 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
15612 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
15613 Simplify.
15614 (xd_signature): New function.
15615 (xd_append_arg): Compute also signatures. Major rewrite.
15616 (xd_retrieve_arg): Make debug messages friendly.
15617 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
15618 Check for signatures of arguments.
15619
156202007-12-19 Michael Albinus <michael.albinus@gmx.de>
15621
15622 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
15623 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
15624 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
15625 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
15626 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
15627 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
15628 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
15629 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
15630 (xd_retrieve_value): Remove. Functionality included in ...
15631 (xd_append_arg): New function.
15632 (Fdbus_call_method, Fdbus_send_signal): Apply it.
15633
156342007-12-16 Michael Albinus <michael.albinus@gmx.de>
15635
15636 * dbusbind.c (top): Include <stdio.h>.
15637 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
15638 dbus_message_new_method_call and dbus_message_new_signal.
15639 (Fdbus_register_signal): Rename unique_name to uname.
15640 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
15641 non-existing unique name. Fix typos in matching rule. Return an
15642 object which is useful in Fdbus_unregister_signal.
15643 (Fdbus_unregister_signal): Reimplementation, in order to remove
15644 only the corresponding entry.
15645 (Vdbus_registered_functions_table): Change the order of entries.
15646 Apply these changes in xd_read_message and Fdbus_register_signal.
15647
156482007-12-16 Andreas Schwab <schwab@suse.de>
15649
15650 * fileio.c (Finsert_file_contents): Fix overflow check to not
15651 depend on undefined integer overflow.
15652
156532007-12-14 Jason Rumney <jasonr@gnu.org>
15654
15655 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
15656 for characters above 127.
15657
156582007-12-13 Jason Rumney <jasonr@gnu.org>
15659
15660 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
15661 before dereferencing array.
15662 (lookup_vk_code): Remove zero comparison.
15663
156642007-12-14 Michael Albinus <michael.albinus@gmx.de>
15665
15666 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
15667 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
15668 Use `unsigned int' instead of `uint'.
15669 (xd_read_message, Fdbus_register_signal): Split expressions into
15670 multiple lines before operators "&&" and "||", according to the
15671 GNU Coding Standards.
15672
156732007-12-14 Eli Zaretskii <eliz@gnu.org>
15674
15675 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
15676
156772007-12-12 Juri Linkov <juri@jurta.org>
15678
15679 * buffer.c (Frename_buffer): In interactive spec replace
15680 `read-buffer' with `read-string' that uses `buffer-name-history'
15681 as history, and the current buffer's name as default.
15682
156832007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
15684
15685 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
15686 manipulating the backtrace manually.
15687 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
15688 (struct backtrace, backtrace_list): Remove.
15689 (command_loop_1): Remove dead var `no_direct'.
15690
15691 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
15692 preserve non-built-in buffer-local variables.
15693 (Fkill_all_local_variables): Don't re-create&re-set permanent
15694 buffer-local variables.
15695
156962007-12-09 Juri Linkov <juri@jurta.org>
15697
15698 * buffer.c (Frename_buffer): Change interactive spec from "s" to
15699 Lisp code that uses `read-buffer' with current buffer as default.
15700
157012007-12-08 Michael Albinus <michael.albinus@gmx.de>
15702
15703 * dbusbind.c (xd_read_message): Generate an event for every
15704 registered handler. There might be several handlers registered
15705 for the same signal.
15706 (Fdbus_register_signal): Don't overwrite a registration for the
15707 same signal. Add a new registration if handlers are different.
15708 (Vdbus_registered_functions_table): Rework doc string.
15709
157102007-12-07 Michael Albinus <michael.albinus@gmx.de>
15711
15712 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
15713 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
15714 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
15715 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
15716 Unify argument lists.
15717 (xd_read_message, Fdbus_register_signal): Reorder and extend event
15718 arguments and hash table keys. Use unique name for service.
15719 (Fdbus_unregister_signal): Remove checks.
15720 (Vdbus_registered_functions_table): Fix doc string.
15721
157222007-12-05 Magnus Henoch <mange@freemail.hu>
15723
15724 * process.c (make_process): Initialize pty_flag to 0.
15725
157262007-12-05 Jason Rumney <jasonr@gnu.org>
15727
15728 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
15729 specified XBMs.
15730
157312007-12-05 Richard Stallman <rms@gnu.org>
15732
15733 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
15734
157352007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15736
15737 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
15738 New variable.
15739 (mac_try_close_socket) [MAC_OSX]: New function.
15740 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
15741 Update cfsockets_for_select. Replace invalid CFRunLoop source.
15742
15743 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
15744 Use mac_try_close_socket.
15745
157462007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15747
15748 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
15749 reloc_base.
15750 (copy_dysymtab): Compute relocation base here.
15751 (rebase_reloc_address) [__ppc64__]: New function.
15752 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
15753 changed.
15754
157552007-12-05 Jason Rumney <jasonr@gnu.org>
15756
15757 * w32proc.c (sys_spawnve): Quote args with wildcards.
15758
157592007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15760
15761 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
15762 __objc_* sections.
15763 (unrelocate) [_LP64]: Set relocation base to address of data segment.
15764
157652007-12-05 Michael Albinus <michael.albinus@gmx.de>
15766
15767 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
15768 Move check for Vdbus_registered_functions_table to
15769 xd_read_queued_messages.
15770 (xd_read_queued_messages): Protect xd_read_message calls by
15771 internal_condition_case_1.
15772
157732007-12-04 Michael Albinus <michael.albinus@gmx.de>
15774
15775 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
15776 Qdbus_system_bus and Qdbus_session_bus, respectively.
15777 (Vdbus_intern_symbols): Remove.
15778 (Vdbus_registered_functions_table): New hash table.
15779 (XD_SYMBOL_INTERN_SYMBOL): Remove.
15780 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
15781 Rewrite in order to manage registered functions by hash table
15782 Vdbus_registered_functions_table.
15783
157842007-12-03 Jan Djärv <jan.h.d@swipnet.se>
15785
15786 * xterm.c: Update URL to Window Manager Specification in comment.
15787
157882007-12-02 Michael Albinus <michael.albinus@gmx.de>
15789
15790 * config.in (HAVE_DBUS): Add.
15791
15792 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
15793 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
15794 (obj): Add $(DBUS_OBJ).
15795 (LIBES): Add $(DBUS_LIBS).
15796 (dbusbind.o): New target.
15797
15798 * dbusbind.c: New file.
15799
15800 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
15801
15802 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
15803 (Qdbus_event): New Lisp symbol.
15804 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
15805 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 15806 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
15807
15808 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
15809
158102007-12-01 Richard Stallman <rms@gnu.org>
15811
15812 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
15813
158142007-11-30 Jason Rumney <jasonr@gnu.org>
15815
15816 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
15817 (w32con_reset_terminal_modes): Clear screen buffer.
15818 (w32_face_attributes): Don't use color indexes that are out of range.
15819 Only reverse the default colors.
15820
15821 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
15822 WINDOWSNT.
15823
15824 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
15825
158262007-11-29 Jason Rumney <jasonr@gnu.org>
15827
15828 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
15829 (w32_face_attributes): Use Vtty_defined_color_alist to determine
15830 if the terminal colors are initialized.
15831 (unspecified_fg, unspecified_bg): Remove unused declarations.
15832
158332007-11-29 Andreas Schwab <schwab@suse.de>
15834
15835 * keyboard.c (apply_modifiers): Fix typo.
15836
158372007-11-29 Richard Stallman <rms@gnu.org>
15838
15839 * keymap.c (Fcurrent_local_map): Doc fix.
15840
158412007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
15842
15843 * s/gnu-kfreebsd.h: New file.
15844
158452007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
15846
15847 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
15848 Don't cast redundantly.
15849
15850 * keyboard.c (KEY_TO_CHAR): New macro.
15851 (parse_modifiers, apply_modifiers): Accept integer arguments.
15852 (read_key_sequence): Use them to unify the "shift->unshift" mapping
15853 for chars and symbol keys.
15854 After doing such remapping, apply function-key-map again.
15855
158562007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
15857
15858 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
15859 compiled anymore.
15860
158612007-11-26 Andreas Schwab <schwab@suse.de>
15862
15863 * process.c (list_processes_1): Fix indentation level of the
15864 command column.
15865
158662007-11-23 Andreas Schwab <schwab@suse.de>
15867
15868 * editfns.c (Fformat): Handle %c specially since it requires the
15869 argument to be of type int.
15870
158712007-11-23 Markus Triska <markus.triska@gmx.at>
15872
15873 * emacs.c (main): Call init_editfns before init_process, since
15874 init_process sets Vprocess_connection_type depending on OS release.
15875
158762007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
15877
15878 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
15879 (find_symbol_value): Use do_symval_forwarding.
15880
15881 * data.c (set_internal): Set the value in the `cons-cell' (for
15882 Buffer_Local_values) not only for frame-local variables.
15883
158842007-11-22 Andreas Schwab <schwab@suse.de>
15885
15886 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
15887 values to sprintf.
15888 * keymap.c (Fsingle_key_description): Likewise.
15889 * print.c (print_object): Likewise.
15890
158912007-11-22 Jan Djärv <jan.h.d@swipnet.se>
15892
15893 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
15894 file for image is nil.
15895
158962007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
15897
15898 * term.c: Include stdarg.h.
15899 (fatal): Implement using varargs.
15900 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15901
159022007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15903
15904 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15905 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15906 Update call to buffer_slot_type_mismatch.
15907 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15908 (buffer_slot_type_mismatch): Update.
15909 * buffer.c (buffer_local_types): Remove.
15910 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15911 (defvar_per_buffer): Set the type in the buffer_objfwd.
15912
159132007-11-21 Jason Rumney <jasonr@gnu.org>
15914
15915 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15916 CreateFileMapping returns NULL on failure.
15917
159182007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15919
15920 * search.c (Fset_match_data): Remove the `evaporate' feature.
15921 (unwind_set_match_data): Don't use the `evaporate' feature.
15922
159232007-11-21 Jason Rumney <jasonr@gnu.org>
15924
15925 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15926
15927 * w32console.c (w32con_write_glyphs): Remove unused variables.
15928
159292007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15930
15931 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15932
15933 * s/darwin.h (MULTI_KBOARD): Remove.
15934
15935 * macfns.c (x_create_tip_frame, Fx_create_frame)
15936 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15937
159382007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15939
15940 * buffer.c (Fbuffer_local_value): Remove redundant test.
15941 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15942 than in `current-buffer' to match the comment.
15943 Do the swap using swap_in_global_binding.
15944
15945 * data.c (store_symval_forwarding, set_internal):
15946 * eval.c (specbind): Remove dead code.
15947
15948 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15949 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15950 Since we do not want to see internal Lisp_*fwd objects here.
15951
159522007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15953
15954 * sysdep.c (init_system_name): Use getaddrinfo if available.
15955
15956 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15957 (x_scroll_bar_note_movement): start, end, with, height in struct
15958 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15959
159602007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15961
15962 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15963
159642007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15965
15966 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15967 This undoes Richard's change of 14-Oct-2002.
15968
15969 * alloc.c (allocate_other_vector):
15970 * lisp.h (allocate_other_vector): Remove.
15971
15972 * window.c (struct save_window_data): Move non-lisp data to the end
15973 and make it `int' rather than Lisp_Object.
15974 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15975 Done wrap/unwrap integer values.
15976 (Fset_window_configuration, compare_window_configurations):
15977 Update use of fields to their new types.
15978
15979 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15980 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15981 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15982 (SET_SCROLL_BAR_X_WINDOW): Remove.
15983 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15984 Access the new x_window field directly.
15985 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15986 Don't wrap/unwrap integers into Lisp_Objects.
15987 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15988 (x_scroll_bar_report_motion):
15989 Don't wrap/unwrap integers into Lisp_Objects.
15990 (x_term_init): Use SDATA.
15991 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15992 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15993 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15994 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15995 * xfns.c (x_set_background_color):
15996 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15997 Access the new x_window field directly.
15998
15999 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
16000 (allocate_pseudovector): Make non-static.
16001
16002 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
16003 (allocate_pseudovector): Declare.
16004 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
16005
160062007-11-15 Andreas Schwab <schwab@suse.de>
16007
16008 * editfns.c (Fformat): Correctly format EMACS_INT values.
16009 Also take precision into account when formatting an integer.
16010
16011 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
16012
160132007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
16014
16015 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
16016 (syms_of_keyboard): Defsubr it.
16017
16018 * data.c (swap_in_global_binding): Fix longstanding bug where
16019 store_symval_forwarding was not called with the right second argument,
16020 thus causing objfwd-ing from being dropped.
16021
160222007-11-14 Juanma Barranquero <lekktu@gmail.com>
16023
16024 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
16025 (Fx_display_pixel_height, Fx_display_planes)
16026 (Fx_display_color_cells, Fx_server_max_request_size)
16027 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
16028 (Fx_display_visual_class, Fx_display_save_under):
16029 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
16030 (Fx_display_pixel_height, Fx_display_planes)
16031 (Fx_display_color_cells, Fx_server_max_request_size)
16032 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
16033 (Fx_display_mm_height, Fx_display_mm_width)
16034 (Fx_display_backing_store, Fx_display_visual_class)
16035 (Fw32_select_font, Fx_display_save_under):
16036 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
16037 (Fx_display_pixel_height, Fx_display_planes)
16038 (Fx_display_color_cells, Fx_server_max_request_size)
16039 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
16040 (Fx_display_save_under): Fix typos in docstrings.
16041
160422007-11-14 Juanma Barranquero <lekktu@gmail.com>
16043
16044 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
16045 corresponding to deleted entries; they are an implementation detail.
16046 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
16047 Remove variables.
16048 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
16049 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
16050 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
16051 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
16052 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
16053 (Fw32_define_rgb_color, Fw32_load_color_file)
16054 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
16055 Fix typos in docstrings.
16056 (Fx_server_version): Reflow docstring.
16057 (Fw32_shell_execute): Doc fixes.
16058
160592007-11-13 Juanma Barranquero <lekktu@gmail.com>
16060
16061 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
16062 if w32_parse_hot_key returned nil.
16063
160642007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
16065
16066 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
16067
160682007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 16069
aac0c6e3
MR
16070 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
16071
16072 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
16073
16074 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
16075 Remove W32_SCROLL_BAR_CLICK_EVENT.
16076
16077 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
16078 Add MULTIMEDIA_KEY_EVENT.
16079
16080 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
16081 (lispy_multimedia_keys) [WINDOWSNT]: New array.
16082 (make_lispy_event) [WINDOWSNT]: Use it to translate
16083 MULTIMEDIA_KEY_EVENT.
16084
16085 * w32term.h (WM_APPCOMMAND): Define if not already.
16086 (GET_APPCOMMAND_LPARAM): Likewise.
16087
16088 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
16089 WM_APPCOMMAND.
16090
16091 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
16092 (syms_of_w32fns): Export and initialize it.
16093 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
16094
160952007-11-09 Chong Yidong <cyd@stupidchicken.com>
16096
16097 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
16098 twice.
16099
16100 * xdisp.c (handle_face_prop): Fix last change.
16101
161022007-11-09 Richard Stallman <rms@gnu.org>
16103
16104 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
16105 not just for after-strings and before-strings.
16106 Call face_for_overlay_string and pass the overlay to it.
16107 (handle_display_prop): Determine whether property came from an overlay.
16108 Pass OVERLAY arg to handle_single_display_spec.
16109 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
16110 (load_overlay_strings): Fill in it->string_overlays.
16111 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
16112
16113 * xfaces.c (face_for_overlay_string): Function renamed from
16114 face_at_buffer_position_no_overlays, and add arg OVERLAY.
16115
16116 * dispextern.h (struct it): New elt string_overlays.
16117 New elt from_overlay, also in stack.
16118 Rearrange a few elements.
16119 (face_for_overlay_string): Decl renamed from
16120 face_at_buffer_position_no_overlays, and add argument.
16121
161222007-11-09 Richard Stallman <rms@gnu.org>
16123
16124 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
16125 to get the base face for an overlay string.
16126
16127 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
16128
16129 * xfaces.c (face_at_buffer_position_no_overlays): New function.
16130
16131 * xdisp.c (handle_stop): Move some code out of loop.
16132
161332007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16134
16135 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
16136 Fix conversion from Lisp object to ATSUFontID.
16137
161382007-11-09 Jason Rumney <jasonr@gnu.org>
16139
16140 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
16141
161422007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16143
16144 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
16145 Don't assume regions are aligned to page boundary.
16146 (print_load_command_name): Add LC_UUID if defined.
16147
161482007-11-09 Richard Stallman <rms@gnu.org>
16149
16150 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
16151
161522007-11-07 Jason Rumney <jasonr@gnu.org>
16153
16154 * s/windows95.h: Remove.
16155
161562007-11-06 Jan Djärv <jan.h.d@swipnet.se>
16157
16158 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
16159 abort with a message on unhandled store_type values.
16160
161612007-11-01 Jan Djärv <jan.h.d@swipnet.se>
16162
16163 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
16164 Remove HAVE_X11R5 and HAVE_X11R4.
16165
161662007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
16167
16168 * Makefile.in: Remove references to sunfns.c and sunfns.o.
16169
161702007-11-01 Johan Bockgård <bojohan@gnu.org>
16171
16172 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
16173 Don't set s->stippled_p here, since it has already been set by
16174 x_set_glyph_string_gc from x_draw_glyph_string.
16175
161762007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
16177
16178 * sunfns.c: Remove file.
16179
16180 * m/sun386.h:
16181 * m/sun2.h:
16182 * m/sparc.h: Remove Sun windows code.
16183
161842007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
16185
16186 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
16187 (init_keyboard): Set current_kboard's window-system to nil.
16188 (tty_read_avail_input): Typo.
16189 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
16190
161912007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
16192
16193 * s/usg5-4.h:
16194 * s/usg5-3.h:
16195 * s/ptx.h:
16196 * m/is386.h:
16197 * m/ibmps2-aix.h:
16198 * Makefile.in: Remove all mentions of X10.
16199
16200 * dispnew.c (syms_of_display): Don't mention version 10.
16201
162022007-10-28 Juanma Barranquero <lekktu@gmail.com>
16203
16204 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
16205 ($(BLD)/abbrev.$(O)): Remove.
16206
162072007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
16208
16209 Rewrite abbrev.c in Elisp.
16210 * image.c (Qcount): Don't declare as extern.
16211 (syms_of_image): Initialize and staticpro `Qcount'.
16212 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
16213 * emacs.c (main): Don't call syms_of_abbrev.
16214 * Makefile.in (obj): Remove abbrev.o.
16215 (abbrev.o): Remove.
16216 * abbrev.c: Remove.
16217
162182007-10-26 Martin Rudalics <rudalics@gmx.at>
16219
16220 * window.c (window_min_size_2): Don't count header-line.
16221
162222007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
16223
16224 * frame.h (struct frame): Move all bit fields after the first bit
16225 field to take advantage of the available space. Group all the
16226 chars together to reduce wasted space due to padding.
16227
162282007-10-26 Juanma Barranquero <lekktu@gmail.com>
16229
16230 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
16231
16232 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
16233 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
16234 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
16235 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
16236 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
16237 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
16238 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
16239 (last_marked, mark_object_loop_halt): Make static.
16240
16241 * frame.c (syms_of_frame) <delete-frame-functions>:
16242 Fix typo in docstring.
16243
162442007-10-25 Juanma Barranquero <lekktu@gmail.com>
16245
16246 * w32.c (init_environment): Fix tiny memory leak.
16247 (w32_get_resource): Remove unused variable `ok'.
16248
162492007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
16250
16251 Make `window-system' into a keyboard-local variable (rather than
16252 frame-local as done originally by multi-tty).
16253
16254 * keyboard.h (struct kboard): Add Vwindow_system.
16255 * keyboard.c (init_kboard): Set a default for Vwindow_system.
16256 (mark_kboards): Mark Vwindow_system.
16257
16258 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
16259 (init_display): Don't set the obsolete `window-system' frame-param.
16260
16261 * xterm.c (x_term_init):
16262 * w32term.c (w32_create_terminal):
16263 * term.c (init_tty): Set Vwindow_system.
16264 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
16265 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
16266
16267 * xfns.c (Fx_create_frame, x_create_tip_frame):
16268 * w32fns.c (Fx_create_frame, x_create_tip_frame):
16269 * macfns.c (Fx_create_frame):
16270 Don't set the obsolete `window-system' frame-param.
16271
16272 * frame.h (Qwindow_system): Remove.
16273 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
16274 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
16275
162762007-10-24 Richard Stallman <rms@gnu.org>
16277
16278 * frame.c (x_figure_window_size): For fullscreen case,
16279 set USPosition | PPosition without clobbering rest of window_prompting.
16280
16281 * keyboard.c (Fcurrent_idle_time): Doc fix.
16282
16283 * print.c (Fwith_output_to_temp_buffer): Doc fix.
16284
162852007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
16286
16287 * process.c (unwind_request_sigio): Only define if __ultrix__.
16288
16289 * callproc.c (child_setup): Remove spurious *.
16290
16291 * lisp.h (Fget_text_property): Declare.
16292 (have_menus_p): Declare it here rather than in sys-dep header files.
16293 * macterm.h (have_menus_p):
16294 * msdos.h (have_menus_p):
16295 * xterm.h (have_menus_p): Remove.
16296
16297 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
16298 (Fmake_variable_frame_local): Just check the variable's const-ness
16299 rather than checking nil or t.
16300
163012007-10-22 Jason Rumney <jasonr@gnu.org>
16302
16303 * w32fns.c: Include math.h.
16304 (w32_abort): Declaration moved to nt/config.nt.
16305
16306 * s/ms-w32.h (HAVE_STDLIB_H): Define.
16307 (abort): Redefinition moved to nt/config.nt.
16308
16309 * m/windowsnt.h: Remove.
16310
163112007-10-22 Juanma Barranquero <lekktu@gmail.com>
16312
16313 * emacs.c (Fdump_emacs): Fix typo in message.
16314 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
16315 <installation-directory>: Reflow docstring.
16316
163172007-10-22 Juri Linkov <juri@jurta.org>
16318
16319 * minibuf.c: Allow minibuffer default to be a list of default values.
16320 With empty input use the first element of this list as returned default.
16321 (string_to_object)
16322 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
16323 (read_minibuf): If defalt is cons, set histstring to its car.
16324 (Fread_string): If default_value is cons, set val to its car.
16325 (Fread_buffer): If def is cons, use its car.
16326 (Fcompleting_read): If defalt is cons, set val to its car.
16327
163282007-10-21 Michael Albinus <michael.albinus@gmx.de>
16329
16330 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
16331
163322007-10-20 Juanma Barranquero <lekktu@gmail.com>
16333
16334 * doc.c (Fdocumentation): Check for advice in all cases.
16335
163362007-10-19 Chong Yidong <cyd@stupidchicken.com>
16337
16338 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
16339
163402007-10-19 Richard Stallman <rms@gnu.org>
16341
16342 * doc.c (Fdocumentation): Check for and handle an advised function.
16343
163442007-10-19 Juanma Barranquero <lekktu@gmail.com>
16345
16346 * process.c (Fset_process_filter): Doc fix.
16347
163482007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
16349
16350 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
16351 which caused key-translation-map to applied repeatedly (thus breaking
16352 double-mode).
16353
163542007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16355
16356 * xselect.c (x_own_selection, x_handle_selection_clear)
16357 (x_clear_frame_selections):
16358 * w32menu.c (list_of_panes, list_of_items):
16359 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
16360 * textprop.c (validate_plist, interval_has_all_properties)
16361 (interval_has_some_properties, interval_has_some_properties_list)
16362 (add_properties, text_property_list):
16363 * process.c (Fget_buffer_process, list_processes_1, status_notify):
16364 * minibuf.c (Fassoc_string):
16365 * macselect.c (x_own_selection, x_clear_frame_selections)
16366 (Fx_disown_selection_internal):
16367 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
16368 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
16369
163702007-10-17 Chong Yidong <cyd@stupidchicken.com>
16371
16372 * process.c: Link to libs for calling res_init() if available.
16373 (Fmake_network_process): Call res_init() before getaddrinfo or
16374 gethostbyname, if possible.
16375
163762007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16377
16378 * lread.c (read1): Set pvectype for char_tables.
16379
16380 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
16381 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
16382 Add type checks.
16383 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
16384
16385 * alloc.c (free_misc): Use XMISCTYPE.
16386 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
16387
163882007-10-17 Glenn Morris <rgm@gnu.org>
16389
16390 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
16391 (syms_of_minibuf): Add Qcompletion_ignore_case.
16392 * dired.c (Qcompletion_ignore_case): Change to external.
16393 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
16394 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
16395 (Fread_file_name): Use it rather than intern'ing.
16396
16397 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
16398 (Fread_coding_system): Ignore case of user input.
16399
164002007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16401
16402 * xdisp.c (handle_display_prop): Ignore display specs after
16403 replacing one when string text is being replaced.
16404 (handle_single_display_spec): Pretend as if characters with display
16405 property haven't been consumed only when buffer text is being replaced.
16406
164072007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
16408
16409 * xfns.c (Fx_create_frame, Fx_display_list):
16410 * window.c (window_fixed_size_p, enlarge_window)
16411 (shrink_window_lowest_first):
16412 * macterm.c (init_font_name_table):
16413 * macfns.c (Fx_create_frame, Fx_display_list):
16414 * lread.c (close_load_descs):
16415 * keyboard.c (read_char_x_menu_prompt):
16416 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
16417 * coding.c (code_convert_region_unwind): Test the type of an object
16418 rather than just !NILP before extracting data from it.
16419
16420 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
16421
16422 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
16423 (XMISCANY): New macro.
16424 (XMISCTYPE): Use it.
16425 (struct Lisp_Misc_Any): New type.
16426 (union Lisp_Misc): Use it.
16427 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
16428 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
16429 (find_symbol_value, set_internal, default_value, Fset_default)
16430 (Fmake_variable_buffer_local, Fmake_local_variable)
16431 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
16432 (Flocal_variable_if_set_p, Fvariable_binding_locus):
16433 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
16434 * alloc.c (allocate_buffer): Set the size and tag.
16435 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
16436 Use XMISCANY.
16437 (die): Follow the GNU convention for error messages.
16438 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
16439 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
16440 tag any more.
16441 (set_buffer_internal_1):
16442 * frame.c (store_frame_param):
16443 * eval.c (specbind):
16444 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
16445
16446 * doc.c (Fsnarf_documentation): Simplify.
16447
164482007-10-14 Juanma Barranquero <lekktu@gmail.com>
16449
16450 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
16451 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
16452
164532007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
16454
16455 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
16456
164572007-10-14 Juanma Barranquero <lekktu@gmail.com>
16458
16459 * eval.c (do_autoload): Don't save autoloads.
16460
16461 * data.c (Ffset): Save autoload of the function being set.
16462
164632007-10-07 John Paul Wallington <jpw@pobox.com>
16464
16465 * xfns.c (x_create_tip_frame): Set the `display-type' frame
16466 parameter before setting up faces.
16467
164682007-10-13 Eli Zaretskii <eliz@gnu.org>
16469
16470 * ccl.c (Fregister_code_conversion_map):
16471 * keyboard.c (append_tool_bar_item): Reformat last change.
16472
16473 * lisp.h (eabs): Rename from `abs'. All callers changed.
16474
164752007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
16476
16477 * buffer.c (add_overlay_mod_hooklist):
16478 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
16479 * fontset.c (make_fontset):
16480 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
16481 (append_tool_bar_item):
16482 * macmenu.c (grow_menu_items):
16483 * w32menu.c (grow_menu_items):
16484 * xmenu.c (grow_menu_items): Use larger_vector.
16485
164862007-10-13 Eli Zaretskii <eliz@gnu.org>
16487
16488 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
16489 selected frame'' on MSDOS).
16490
164912007-10-12 Martin Rudalics <rudalics@gmx.at>
16492
16493 * frame.c (Qexplicit_name): New variable.
16494 (x_report_frame_params): Report it in parameter alist.
16495 (syms_of_frame): Intern and staticpro it.
16496
164972007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
16498
16499 * macfns.c (x_create_tip_frame): Set terminal for frame.
16500
165012007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
16502
16503 * frame.c (Qenvironment): Remove.
16504 (syms_of_frame) <Qenvironment>: Don't initialize.
16505 (Fdelete_frame): Don't treat the `environment' param specially.
16506 * frame.h (Qenvironment): Don't declare.
16507 * callproc.c (set_initial_environment): Don't set unused frame param.
16508
16509 * frame.c (Fframe_with_environment): Remove.
16510 (syms_of_frame) <Sframe_with_environment>: Don't declare.
16511
16512 * lisp.h (Fframe_with_environment): Don't declare.
16513
165142007-10-10 Juanma Barranquero <lekktu@gmail.com>
16515
16516 * indent.c (indent_tabs_mode, last_known_column)
16517 (last_known_column_modified): Make static.
16518 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
16519
165202007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
16521
16522 * puresize.h (BASE_PURESIZE): Increase to 1170000.
16523
165242007-10-09 Jason Rumney <jasonr@gnu.org>
16525
16526 * w32term.c (x_set_window_size): Disable code that attempts to tell
16527 Lisp code about a size change before it actually happens.
16528
165292007-10-09 Richard Stallman <rms@gnu.org>
16530
16531 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
16532 return HANDLED_RETURN.
16533
165342007-10-08 Martin Rudalics <rudalics@gmx.at>
16535
16536 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
16537 when there's an unread command event.
16538
16539 * frame.c (focus_follows_mouse): Move here from frame.el to allow
16540 window autoselection act appropriately when leaving selected frame.
16541 (syms_of_frame): Initialize focus_follows_mouse.
16542 * frame.h (focus_follows_mouse): Extern it.
16543 * macterm.c (XTread_socket): When focus_follows_mouse is nil
16544 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
16545 * msdos.c (dos_rawgetc): Likewise.
16546 * w32term.c (w32_read_socket): Likewise.
16547 * xterm.c (handle_one_xevent): Likewise.
16548 * xdisp.c (syms_of_xdisp): In doc-string of
16549 mouse-autoselect-window mention focus-follows-mouse.
16550
165512007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16552
16553 * macterm.c (mac_load_query_font): Fix missing return value.
16554 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
16555 Add BLOCK_INPUT.
16556
165572007-10-08 Richard Stallman <rms@gnu.org>
16558
16559 * xdisp.c (get_window_cursor_type): Implement documented behavior
16560 for cursor-in-non-selected-windows = t.
16561
165622007-10-08 Jason Rumney <jasonr@gnu.org>
16563
16564 * w32.c (w32_get_resource): Always close registry keys.
16565
165662007-10-08 Jason Rumney <jasonr@gnu.org>
16567
16568 * makefile.w32-in (LIBS): Add COMCTL32.
16569
16570 * w32fns.c (globals_of_w32fns): Init common controls.
16571
165722007-10-08 Richard Stallman <rms@gnu.org>
16573
16574 * image.c (our_memory_buffer): Rename from omfib_buffer.
16575
165762007-10-08 Richard Stallman <rms@gnu.org>
16577
16578 * buffer.c (Foverlays_at): Doc fix.
16579
165802007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
16581
16582 * fns.c (Fplist_put): Preserve uneven tail data.
16583
165842007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
16585
16586 * termhooks.h (enum event_kind): Remove trailing comma.
16587
16588 * frame.h (enum): Remove trailing comma.
16589
165902007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
16591
16592 * w32proc.c (delete_child): Don't terminate threads of zombies.
16593
165942007-10-08 Martin Rudalics <rudalics@gmx.at>
16595
16596 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
16597
16598 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
16599 last-repeatable-command.
16600 (init_kboard): Initialize Vlast_repeatable_command.
16601 (command_loop_1): Set it to real_this_command unless that was
16602 bound to an input event.
16603 (mark_kboards): Mark it.
16604
166052007-10-08 Richard Stallman <rms@gnu.org>
16606
16607 * eval.c (condition-case): Doc fix.
16608
166092007-10-08 Masatake YAMATO <jet@gyve.org>
16610
16611 * xfaces.c (tty_supports_face_attributes_p): Fix code
16612 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
16613 was copied and not edited.
16614
166152007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
16616
16617 Add new `input-decode-map' keymap and use it for terminal
16618 escape sequences.
16619 * keyboard.h (struct kboard): Add Vinput_decode_map.
16620 Remove Vlocal_key_translation_map.
16621 * keyboard.c (read_key_sequence): Add support for input-decode-map.
16622 (init_kboard): Init input-decode-map.
16623 Replace local-key-translation-map back with key-translation-map.
16624 (syms_of_keyboard): Declare input-decode-map.
16625 Remove local-key-translation-map. Update docstrings.
16626 (mark_kboards): Mark Vinput_decode_map.
16627 Don't mark Vlocal_key_translation_map.
16628 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
16629 Replace local-key-translation-map back with key-translation-map.
16630 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
16631 Bind in input-decode-map rather than function-key-map.
16632
16633 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
16634 This was made redundant by the previous introduction of XSETPVECTYPE.
16635
166362007-10-09 Richard Stallman <rms@gnu.org>
16637
16638 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
16639
166402007-09-29 Richard Stallman <rms@gnu.org>
16641
16642 * eval.c (internal_condition_case_2, internal_condition_case_1)
16643 (internal_condition_case): Reenable abort if x_catching_errors ()
16644 to see if that really happens and why.
16645
166462007-10-06 Andreas Schwab <schwab@suse.de>
16647
16648 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
16649
166502007-10-04 Juanma Barranquero <lekktu@gmail.com>
16651
16652 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
16653
166542007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
16655
16656 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
16657
166582007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
16659
16660 * window.h (struct window):
16661 * window.c (struct save_window_data, struct saved_window):
16662 * termhooks.h (struct terminal):
16663 * process.h (struct Lisp_Process):
16664 * frame.h (struct frame):
16665 * buffer.h (struct buffer):
16666 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
16667 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
16668 The size field of (pseudo)vectors is now unsigned.
16669 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
16670
16671 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
16672 Turn `count' into an integer.
16673
16674 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
16675 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
16676 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
16677 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
16678 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
16679
16680 * alloc.c (allocate_pseudovector): New fun.
16681 (ALLOCATE_PSEUDOVECTOR): New macro.
16682 (allocate_window, allocate_terminal, allocate_frame)
16683 (allocate_process): Use it.
16684 (mark_vectorlike): New function.
16685 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
16686 (mark_terminals): Use it.
16687 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
16688 (Fmake_byte_code): Use XSETPVECTYPE.
16689
16690 * frame.c (Fframe_parameters): Minor simplification.
16691
16692 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
16693
16694 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
16695
16696 * buffer.c (Fget_buffer_create, init_buffer_once):
16697 * lread.c (defsubr):
16698 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
16699
16700 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
16701 defined differently in the m/*.h files.
16702 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
16703 (XSETPVECTYPE): New macro.
16704 (XSETPSEUDOVECTOR): Use it.
16705
16706 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
16707 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
16708
16709 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
16710 * lread.c (defvar_per_buffer):
16711 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
16712
16713 * window.c (candidate_window_p): Only consider as visible frames that
16714 are on the same terminal.
16715
16716 * m/ibms390x.h (MARKBIT): Remove unused macro.
16717
167182007-10-01 Juanma Barranquero <lekktu@gmail.com>
16719
16720 * lread.c (Fload): Fix typo in docstring.
16721
167222007-10-01 Michaël Cadilhac <michael@cadilhac.name>
16723
16724 * floatfns.c (Fexpt): Manually check for overflows, so that a power
16725 of a non-zero value can't yield zero.
16726
167272007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
16728
16729 * term.c (term_clear_mouse_face, term_mouse_highlight)
16730 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
16731
16732 * print.c (safe_debug_print): Use XHASH.
16733
16734 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
16735 Lisp elements such as tags.
16736 (XHASH): New macro.
16737 (EQ): Use it.
16738 (SREF, SSET, STRING_COPYIN): Use SDATA.
16739 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
16740
16741 * alloc.c (mark_terminal): Remove left-over declaration.
16742 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
16743 (allocate_vectorlike): Remove type argument. Adjust callers.
16744 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
16745 Only handle the one remaining MEM_TYPE_VECTORLIKE.
16746
16747 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
16748 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
16749 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
16750 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
16751 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
16752 Use them.
16753
16754 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
16755 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
16756 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
16757
167582007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
16759
16760 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
16761 loaded by default.
16762
167632007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
16764
16765 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
16766 on this tty.
16767 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
16768
16769 * term.c (mouse_face_window): Rename from Qmouse_face_window.
16770 Update all users.
16771 (handle_one_term_event): Use Gpm_DrawPointer.
16772 (Fgpm_mouse_start): Rename from Fterm_open_connection.
16773 Signal errors instead of returning nil. Always return nil.
16774 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
16775 Make it a noop if gpm-mouse was not activated.
16776 (syms_of_term): Update names.
16777
167782007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
16779
16780 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
16781 (init_sys_modes): Check that gpm_tty is the current tty.
16782
16783 * alloc.c (allocate_terminal): Set the vector size to only count the
16784 lisp fields. Initialize those to nil.
16785 (mark_object): Don't treat terminals specially.
16786 (mark_terminal): Remove.
16787 (mark_terminals): Use mark_object instead.
16788
16789 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
16790 the GC to the beginning.
16791
16792 * indent.h:
16793 * indent.c: Use EMACS_INT for ints coming from Elisp data.
16794
16795 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
16796
167972007-09-25 Jason Rumney <jasonr@gnu.org>
16798
16799 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
16800
16801 * w32console.c (create_w32cons_output): Remove.
16802
16803 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
16804
16805 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
16806 (reset_sys_modes): Use reset_terminal_modes_hook.
16807
168082007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
16809
16810 * eval.c (do_autoload): Don't output any message.
16811
168122007-09-24 Juri Linkov <juri@jurta.org>
16813
16814 * emacs.c (standard_args): Change priority of "--no-splash"
16815 from 40 to 3. Add "--no-desktop" with the same priority.
16816
168172007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
16818
16819 * alloc.c (gc_sweep): Check cons cell mark bits word by word
16820 and optimize the case where they are all 1.
16821
168222007-09-23 Johannes Weiner <hannes@saeurebad.de>
16823
16824 * lisp.h (abs): Define if not defined.
16825 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
16826 Don't define `abs', since it's defined in lisp.h.
16827
168282007-09-22 Eli Zaretskii <eliz@gnu.org>
16829
16830 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
16831 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
16832 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
16833 (init_tty): Use DEV_TTY instead of "/dev/tty".
16834 [WINDOWSNT]: No need to protect from NAME arg being null.
16835
168362007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
16837
16838 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
16839 up the tty state.
16840
168412007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16842
16843 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
16844 (gpm_tty): Change its type.
16845 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
16846 (gpm_tty): Change its type and initialize it.
16847 (Fterm_open_connection): Check the frame is indeed a tty.
16848 Use the new gpm_tty.
16849 (Fterm_close_connection): Use the new gpm_tty.
16850 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
16851 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
16852
168532007-09-21 Juanma Barranquero <lekktu@gmail.com>
16854
16855 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16856 underline_color, to draw strike-through.
16857
168582007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16859
16860 * lisp.h (allocate_terminal): Declare.
16861
16862 * window.c (candidate_window_p): Consider frames that are being placed
16863 by the user as somewhere between visible and iconified.
16864 (window_loop): Prefer windows on the current frame.
16865 (Fselect_window): Move the use of select-frame to the beginning so we
16866 can just delegate all the work (it'll call us back anyway).
16867
16868 * frame.c (Qdisplay_environment_variable):
16869 * frame.h (Qdisplay_environment_variable): Delete.
16870
16871 * .gdbinit (xbacktrace): Print the arg's address rather than the value
16872 of the first arg, since that value may be a union.
16873
16874 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
16875 parameter rather than Qdisplay_environment_variable. If all else
16876 fails, look for DISPLAY in initial-environment.
16877
168782007-09-21 Glenn Morris <rgm@gnu.org>
16879
16880 * Makefile.in (emacstool): Remove target.
16881 (lisp, shortlisp): Remove termdev.elc.
16882
168832007-09-21 Markus Triska <markus.triska@gmx.at>
16884
16885 * xterm.c (x_delete_display): Compile session management conditionally.
16886
168872007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
16888
16889 * callproc.c (getenv_internal_1): New function.
16890 (getenv_internal): Use it.
16891 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
16892
16893 * terminal.c (get_terminal): Don't accept ints to represent terminals.
16894 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
16895 (Fset_terminal_parameter): Work with dead terminals as well.
16896 (Fmodify_terminal_parameters): Remove.
16897
16898 * terminal.c (get_terminal): Handle terminals.
16899 Make sure the terminal returned is live.
16900 (create_terminal): Use allocate_terminal.
16901 (mark_terminals): Move to alloc.c.
16902 (delete_terminal): Use terminal->name as liveness status.
16903 NULL out fields after freeing their contents.
16904 Don't deallocate the object.
16905 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16906 rather than an int.
16907 (Fterminal_live_p): Accept non-integer arguments.
16908 (Fterminal_list): Return terminal objects rather than an ints.
16909
16910 * alloc.c (enum mem_type): New member for `terminal' objects.
16911 (allocate_terminal): New function.
16912 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16913 Handle terminals.
16914 (mark_terminal): New fun.
16915 (mark_terminals): Move from terminal.c.
16916
16917 * term.c (get_tty_terminal): Don't treat output_initial specially.
16918 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16919 (delete_tty): Use terminal->name as liveness status.
16920
16921 * termhooks.h (struct terminal): Make it into a pseudovector.
16922 Remove `deleted' replaced by checking `name's nullness.
16923
16924 * print.c (print_object): Handle terminals.
16925
16926 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16927 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16928
16929 * frame.c (make_terminal_frame):
16930 * keyboard.c (tty_read_avail_input):
16931 * w32term.c (x_delete_terminal):
16932 * xfns.c (Fx_create_frame, x_create_tip_frame):
16933 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16934
169352007-09-20 Glenn Morris <rgm@gnu.org>
16936
16937 * process.c (Fmake_network_process): Doc fix.
16938
169392007-09-19 Jason Rumney <jasonr@gnu.org>
16940
16941 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16942
169432007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16944
16945 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16946 Fix a C warning regarding variable constness.
16947
16948 * xterm.c (handle_one_xevent): Fix a C warning.
16949
169502007-09-18 Jason Rumney <jasonr@gnu.org>
16951
16952 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16953
169542007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16955
16956 * gtkutil.c (gdpy_def): New variable.
16957 (xg_initialize): Initialize gdpy_def.
16958 (xg_display_close): If no other display exists, set gdpy_def to a
16959 new connection.
16960
169612007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16962
16963 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16964 when we have no file name for the icon.
16965 (xg_tool_bar_expose_callback): Remove.
16966 (xg_create_tool_bar): Don't connect expose signal to
16967 xg_tool_bar_expose_callback.
16968 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16969
169702007-09-16 Andreas Schwab <schwab@suse.de>
16971
16972 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16973 values instead of zapping them.
16974
169752007-09-14 Glenn Morris <rgm@gnu.org>
16976
16977 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16978 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16979 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16980 scope and rename to omfib_buffer for clarity.
16981 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16982
169832007-09-14 Kenichi Handa <handa@m17n.org>
16984
16985 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16986
169872007-09-13 Jason Rumney <jasonr@gnu.org>
16988
16989 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16990
16991 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16992
16993 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16994 (mac_term_init): Call here instead, passing rif.
16995
169962007-09-13 Glenn Morris <rgm@gnu.org>
16997
16998 * s/hpux.h: No longer define `static' as nothing.
16999
170002007-09-13 Johan Bockgård <bojohan@gnu.org>
17001
17002 * callint.c (Fcall_interactively): Remove unused var `fun'.
17003
170042007-09-12 Romain Francoise <romain@orebokech.com>
17005
17006 * window.c (prefer_window_split_horizontally, display_buffer):
17007 Revert 2007-09-08 change.
17008
170092007-09-12 Glenn Morris <rgm@gnu.org>
17010
17011 * alloca.c: Remove file.
17012 * Makefile.in (alloca): Do not undef.
17013 (allocaobj, alloca.o): Remove.
17014 (otherobj): Remove allocaobj.
17015 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
17016 * regex.c (C_ALLOCA): Remove all references and code that was only
17017 used when this was defined.
17018 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
17019 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
17020 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
17021
17022 * Makefile.in (SOURCES, unlock, relock): Delete.
17023
17024 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
17025 (menu_grab_callback): All uses changed.
17026
17027 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
17028 (x_reply_selection_request): All uses changed.
17029
170302007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
17031
17032 * lread.c (load_warn_old_style_backquotes): Change message to look
17033 better when it appears in the middle of byte-compiler messages.
17034
170352007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
17036
17037 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
17038
17039 * xterm.c (x_create_terminal): Add comment.
17040
17041 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
17042
170432007-09-10 Richard Stallman <rms@gnu.org>
17044
17045 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
17046
170472007-09-10 Michaël Cadilhac <michael@cadilhac.name>
17048
17049 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
17050 (DEFUN): Document `intspec', use it instead of `prompt'.
17051
17052 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
17053
17054 * data.c (Finteractive_form): If the interactive specification starts
17055 with a `(', use it as a Lisp form.
17056
17057 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
17058 name and file modes.
17059
17060 * callint.c (Fcall_interactively): Comment fixes.
17061
170622007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
17063
17064 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
17065 and compiled functions.
17066
170672007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
17068
17069 * window.c (prefer_window_split_horizontally): New variable.
17070 (display_buffer): Consider splitting window horizontally depending
17071 on prefer_window_split_horizontally.
17072
170732007-09-08 Eli Zaretskii <eliz@gnu.org>
17074
17075 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
17076
170772007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
17078
17079 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
17080
17081 * frame.c (x_set_frame_parameters): Check number is positive before
17082 using XFASTINT.
17083
17084 * window.c (freeze_window_start): Don't presume selected_window holds
17085 a window object.
17086 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
17087
170882007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
17089
17090 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
17091
170922007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
17093
17094 * window.c (Vsplit_window_preferred_function): New var.
17095 (Fdisplay_buffer): Use it.
17096 (syms_of_window): Export, and initialize it.
17097
170982007-09-06 Pixel <pixel@mandriva.com> (tiny change)
17099
17100 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
17101
171022007-09-06 Glenn Morris <rgm@gnu.org>
17103
17104 * gtkutil.c (menu_grab_callback) <cnt>:
17105 * xselect.c (x_reply_selection_request) <cnt>: Move static
17106 variable to file scope.
17107
171082007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
17109
17110 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
17111 consistent values of selected_frame and selected_window.
17112
171132007-09-04 Jason Rumney <jasonr@gnu.org>
17114
17115 * w32console.c (initialize_w32_display): Zero unused hooks.
17116
171172007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
17118
17119 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
17120 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
17121
171222007-09-04 Jason Rumney <jasonr@gnu.org>
17123
17124 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
17125 in w32console.c. Set up input. Remove XXX comments that have been
17126 confirmed as correct.
17127
17128 * s/ms-w32.h (MULTI_KBOARD): Define.
17129
17130 * w32console.c (one_and_only_w32cons): Remove.
17131 (initialize_w32_display): Take terminal argument.
17132
17133 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
17134 initialize_w32_display.
17135 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
17136
17137 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
17138
17139 * keyboard.c (discard_mouse_events): Discard it.
17140 (make_lispy_event): Translate it to a lisp event.
17141 (lispy_wheel_names): Add wheel-left and right events.
17142 (syms_of_keyboard): Enlarge wheel_syms.
17143
17144 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
17145 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
17146
17147 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
17148
17149 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
17150 from WM_MOUSEHWHEEL.
17151 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
17152
17153 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
17154 terminal.
17155
17156 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
17157 keyboard for the terminal.
17158
171592007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
17160
17161 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
17162 (Vresume_tty_hook): Rename from Vresume_tty_functions.
17163 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
17164 and resume-tty-function to resume-tty-hook.
17165 (Fsuspend_tty, Fresume_tty): Use new names.
17166
171672007-09-02 Jan Djärv <jan.h.d@swipnet.se>
17168
17169 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
17170 if it starts with "n:".
17171
171722007-08-31 Jan Djärv <jan.h.d@swipnet.se>
17173
17174 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
17175
171762007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
17177
17178 * frame.h:
17179 * frame.c (Qterm_environment_variable): Remove.
17180 (syms_of_frame): Don't init and staticpro it.
17181
17182 * callproc.c (getenv_internal): Remove special case for $TERM.
17183
17184 * callproc.c (Vinitial_environment): New variable.
17185 (set_initial_environment): Initialize it.
17186 (syms_of_callproc): Declare it.
17187 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
17188 TERM under which a process runs is never related to the TERM in which
17189 Emacs is running.
17190
171912007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
17192
17193 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
17194 * s/darwin.h: ... do it here.
17195
171962007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
17197
17198 * lisp.h (set_initial_environment): Rename from set_global_environment.
17199
17200 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
17201 removed by mistake on the multi-tty branch.
17202
17203 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
17204 (Fmodify_frame_parameters): Return a value.
17205
17206 * image.c (png_load): Comment-out var only used in commented-out code.
17207
17208 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
17209 before passing it to mark_object.
17210
17211 * xfaces.c (internal_resolve_face_name): Return a value.
17212 (internal_resolve_face_name, resolve_face_name_error): Comment out.
17213
17214 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
17215 (x_icon): Comment-out var only used in commented-out code.
17216
172172007-08-29 Romain Francoise <romain@orebokech.com>
17218
17219 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
17220 QUIT hasn't been provided.
17221
172222007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
17223
17224 * callproc.c (child_setup, getenv_internal): Use the
17225 display-environment-variable and term-environment-variable frame params.
17226 (set_initial_environment): Initialise Vprocess_environment.
17227
17228 * config.in: Disable multi-keyboard support on a mac.
17229
17230 * frame.c (Qterm_environment_variable)
17231 (Qdisplay_environment_variable): New variables.
17232 (syms_of_frame): Intern and staticpro them.
17233 (Fmake_terminal_frame): Disable output method test.
17234
17235 * frame.h: Declare them here.
17236
17237 * macfns.c (x_set_mouse_color): Get rif from the frame.
17238 (x_set_tool_bar_lines): Don't use updating_frame.
17239 (mac_window): Add 2 new parameters for consistency with other systems.
17240 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
17241 frame parameters following what is done in X11 and w32. Don't use
17242 FRAME_MAC_DISPLAY_INFO.
17243 (Fx_open_connection, start_hourglass): Remove window-system check.
17244 (x_create_tip_frame): Get the keyboard from the terminal.
17245
17246 * macmenu.c: Reorder includes.
17247 (Fx_popup_menu): Use terminal specific mouse_position_hook.
17248
17249 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
17250 terminal parameter.
17251 (x_clear_frame): Add a frame parameter.
17252 (note_mouse_movement): Get rif from the frame.
17253 (mac_term_init): Initialize the terminal.
17254 (mac_initialize): Make static and move terminal initialization ...
17255 (mac_create_terminal): ... to this new function.
17256
17257 * macterm.h (struct mac_display_info): Add terminal.
17258 (mac_initialize): Delete declaration.
17259
17260 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
17261
17262 * sysdep.c: Comment out text after #endif.
17263
17264 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
17265 is defined. Better initialize ttys in windows. Use terminal
17266 specific mouse_position_hook.
17267
17268 * termhooks.h (union display_info): Add mac_display_info.
17269
17270 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
17271 Set the default minibuffer frame, window_system and the rest of the
17272 frame parameters following what is done in X11.
17273
17274 * w32term.c (w32_initialize): Make static.
17275
17276 * xselect.c (x_handle_selection_clear): Only access
17277 terminal->kboard when MULTI_KBOARD is defined.
17278
17279 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
17280 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
17281
172822007-08-29 Jason Rumney <jasonr@gnu.org>
17283
17284 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
17285 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
17286
17287 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
17288 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
17289
17290 * keyboard.c (restore_kboard_configuration): Only define when
17291 MULTI_KBOARD defined.
17292
17293 * makefile.w32-in: Update dependancies from Makefile.in.
17294 (OBJ1): Add terminal.$(O)
17295
17296 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
17297 Don't define function body.
17298 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
17299
17300 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
17301
17302 * w32.c (request_sigio, unrequest_sigio): Remove.
17303
17304 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
17305 (w32con_clear_frame, w32con_clear_end_of_line)
17306 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
17307 (w32con_delete_glyphs, w32con_set_terminal_window)
17308 (scroll_line, w32_sys_ring_bell): Add frame arg.
17309 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
17310 Add terminal arg.
17311 (PICK_FRAME): Remove.
17312 (w32con_write_glyphs): Use frame specific terminal coding.
17313 (one_and_only_w32cons): New global variable.
17314 (initialize_w32_display): Use it for storing hooks.
17315 (create_w32cons_output): New function.
17316
17317 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
17318 arg a frame.
17319
17320 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
17321 Set window_system.
17322 (x_set_tool_bar_lines): Don't use updating_frame.
17323 (Fx_create_frame): Set terminal and ref count.
17324 (Fx_open_connection): Remove window-system check.
17325
17326 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
17327
17328 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
17329 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
17330 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
17331 Add frame arg.
17332 (x_delete_terminal, w32_create_terminal): New functions.
17333 (w32_term_init): Create a terminal.
17334 (w32_initialize): Move terminal specific initialization to
17335 w32_create_terminal.
17336
17337 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
17338 (w32_clear_rect, w32_clear_area): Use background from frame.
17339 (w32_display_info): Add terminal.
17340 (w32_sys_ring_bell, x_delete_display): Declare here.
17341
17342 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
17343
17344 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
17345
173462007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
17347
17348 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
17349 Fix get_named_tty calls for the controlling tty.
17350
173512007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
17352
17353 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
17354
173552007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
17356
17357 * term.c (tty_insert_glyphs): Add missing first parameter.
17358
173592007-08-29 Károly Lőrentey <karoly@lorentey.hu>
17360
17361 * buffer.c (Fbuffer_list, Fbury_buffer):
17362 Take frame->buried_buffer_list into account.
17363
17364 * cm.c (current_tty): New variable, for cmputc().
17365 (cmputc): Use it.
17366 (cmcheckmagic): Add tty parameter, look up terminal streams there.
17367 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
17368 (cmgoto): Add tty parameter. Pass it on to calccost().
17369 Use emacs_tputs() instead of tputs().
17370
17371 * cm.h (emacs_tputs): New macro to set current_tty, and then call
17372 tputs().
17373 (current_tty): New variable, for cmputc().
17374 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
17375
17376 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
17377 (internal_condition_case, internal_condition_case_1)
17378 (internal_condition_case_2): Don't abort when x_catching_errors.
17379
17380 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
17381 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
17382 prevent crashes caused by bogus longjmps in read_char.
17383
17384 * keymap.h (Fset_keymap_parent): Add EXFUN.
17385
17386 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
17387 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17388 Remove redundant definition.
17389
17390 * macfns.c (x_set_mouse_color, x_make_gc):
17391 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17392
17393 * w32term.c (x_free_frame_resources):
17394 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17395 (w32_initialize): Use the accessor macros for terminal characteristics.
17396
17397 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
17398 Use the accessor macros for terminal characteristics.
17399 * msdos.c (internal_terminal_init): Use the accessor macros for
17400 terminal characteristics.
17401 (ScreenVisualBell, internal_terminal_init):
17402 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17403
17404 * termopts.h (no_redraw_on_reenter): Declare.
17405
17406 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
17407 (mark_terminals, mark_ttys): Declare.
17408 (Fgarbage_collect): Call them.
17409 (mark_object): Mark buried_buffer_list.
17410
17411 * prefix-args.c: Include stdlib.h for exit.
17412
17413 * syssignal.h: Add comment.
17414
17415 * indent.c: Include stdio.h.
17416
17417 * window.h (Vinitial_window_system): Declare.
17418 (Vwindow_system): Delete declaration.
17419
17420 * fontset.c (Finternal_char_font): Use FRAME_RIF.
17421
17422 * image.c (lookup_image): Don't initialize `c' until the xasserts
17423 have been run.
17424
17425 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
17426 FRAME_FOREGROUND_PIXEL.
17427
17428 * print.c (print_preprocess): Don't lose print_depth levels while
17429 iterating.
17430
17431 * widget.c (update_from_various_frame_slots):
17432 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17433
17434 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
17435 frames.
17436 (window_internal_height): Remove bogus make_number call.
17437 (init_window_once): Call make_terminal_frame with two zero parameters.
17438
17439 * fileio.c (Fread_file_name): Update comment.
17440
17441 * callint.c (Fcall_interactively):
17442 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
17443 Make sure it is correctly unwound.
17444
17445 * xsmfns.c (x_session_close): New function.
17446
17447 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
17448 Delete declarations.
17449
17450 * xterm.h: Remove declaration for x_fully_uncatch_errors.
17451 (x_output): Remove background_pixel and foreground_pixel fields.
17452 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
17453 (x_delete_device, x_session_close): Declare.
17454
17455 * lread.c: Include setjmp.h. Update declaration of `read_char'.
17456 (read_filtered_event): Call `read_char' with a local
17457 `wrong_kboard_jmpbuf'.
17458
17459 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
17460 Don't call single_kboard_state. Use FRAME_RIF.
17461
17462 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
17463 systems.
17464
17465 * lisp.h (set_process_environment): Rename to `set_global_environment'.
17466 (Fframe_with_environment, Fset_input_meta_mode)
17467 (Fset_quit_char): EXFUN.
17468 (x_create_device, tty_output, terminal, tty_display_info): Declare.
17469 (init_sys_modes, reset_sys_modes): Update prototypes.
17470 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
17471
17472 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
17473 Vlocal_key_translation_map, and Vkeyboard_translate_table.
17474 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
17475 Delete declarations.
17476 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
17477 (temporarily_switch_to_single_kboard, tty_read_avail_input):
17478 New declarations.
17479
17480 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
17481 already does that during init_display(). Call syms_of_keymap
17482 before syms_of_keyboard. Call `syms_of_terminal'.
17483 Call set_initial_environment, not set_process_environment.
17484 (shut_down_emacs): Call reset_all_sys_modes() instead of
17485 reset_sys_modes().
17486
17487 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
17488 (internal_resolve_face_name, resolve_face_name_error): New functions.
17489 (resolve_face_name): Protect against loops and errors thrown by Fget.
17490 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
17491 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
17492
17493 * scroll.c: Replace CURTTY() with local variables throughout the
17494 file (where applicable).
17495 (calculate_scrolling, calculate_direct_scrolling)
17496 (scrolling_1, scroll_cost): Use the accessor macros for terminal
17497 characteristics.
17498
17499 * keymap.c (Vfunction_key_map): Remove.
17500 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
17501 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
17502 (Vkey_translation_map): Remove.
17503 (syms_of_keymap): Remove DEFVAR for key-translation-map.
17504 (Fdescribe_buffer_bindings)
17505 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
17506 Update for terminal-local key-translation-map.
17507
17508 * Makefile.in (callproc.o): Update dependencies.
17509 (lisp, shortlisp): Add termdev.elc.
17510 (obj): Add terminal.o.
17511 (terminal.o): Add dependencies.
17512 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
17513 (data.o, fns.o): Add termhooks.h dependency.
17514 (SOME_MACHINE_LISP): Add dnd.elc.
17515 (minibuf.o): Fix typo.
17516 Update dependencies.
17517
17518 * data.c (do_symval_forwarding, store_symval_forwarding)
17519 (find_symbol_value): Use the selected frame's keyboard, not
17520 current_kboard.
17521
17522 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
17523 Vwindow_system.
17524
17525 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
17526 Fmenu_bar_open.
17527 (syms_of_xmenu): Update defsubr.
17528 (mouse_position_for_popup, Fx_popup_menu)
17529 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
17530 (set_frame_menubar, free_frame_menubar)
b97439ce 17531 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
17532 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
17533 an X frame.
17534
17535 * xselect.c (x_own_selection): Abort if not an X frame.
17536 (some_frame_on_display): Check if it is an X frame.
17537 (x_handle_selection_clear): Deal with MULTI_KBOARD.
17538
17539 * coding.c: Include frame.h and termhooks.h.
17540 (terminal_coding, keyboard_coding): Delete.
17541 (Fset_terminal_coding_system_internal)
17542 (Fset_keyboard_coding_system_internal)
17543 (Fkeyboard_coding_system)
17544 (Fterminal_coding_system): Add a terminal parameter.
17545 Get terminal_coding from the terminal.
17546 (init_coding_once): Don't call setup_coding_system here.
17547
17548 * dispextern.h (set_scroll_region, turn_off_insert)
17549 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
17550 (tty_clear_end_of_line, tty_setup_colors)
17551 (delete_tty, updating_frame)
17552 (produce_special_glyphs, produce_glyphs, write_glyphs)
17553 (insert_glyphs): Remove.
17554 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
17555 (tty_turn_off_highlight, get_tty_size): Add declaration.
17556 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
17557
17558 * frame.h (enum output_method): Add output_initial.
17559 (struct x_output): Delete.
17560 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17561 Access foreground_pixel and background_pixel directly from the frame.
17562 (tty_display): Delete.
17563 (struct frame): Add buried_buffer_list, foreground_pixel,
17564 background_pixel and terminal. Delete kboard.
17565 (union output_data): Add tty.
17566 (FRAME_KBOARD): Get the kboard from the terminal.
17567 (FRAME_INITIAL_P): New macro.
17568 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
17569 (Qterm_environment_variable, Qdisplay_environment_variable)
17570 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
17571 New declarations.
17572
17573 * termchar.h (tty_output, tty_display_info): New structures.
17574 (tty_list): Declare.
17575 (FRAME_TTY, CURTTY): New macros.
17576 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
17577 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
17578 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
17579 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
17580
17581 * callproc.c: Include frame.h and termhooks.h, for terminal
17582 parameters.
17583 (add_env): New function.
17584 (child_setup): Use it.
17585 (child_setup, getenv_internal): Handle the new Vprocess_environment.
17586 (getenv_internal): Fix get_terminal_param call.
17587 (Fgetenv_internal, egetenv): Update doc.
17588 (syms_of_callproc): Initialize Vprocess_environment to nil.
17589 Register and initialize them. Remove obsolete defvars. Update doc
17590 strings.
17591 (child_setup): Handle Vlocal_environment_variables.
17592 (getenv_internal): Add terminal parameter.
17593 Handle Vlocal_environment_variables.
17594 (Fgetenv_internal): Add terminal parameter.
17595 (child_setup, getenv_internal, Fgetenv_internal): Store the local
17596 environment in a frame (not terminal) parameter. Update doc strings.
17597 (set_initial_environment): Rename from set_global_environment.
17598 Store Emacs environment in initial frame parameter.
17599
17600 * xdisp.c (redisplay_internal): Update references to
17601 `previous_terminal_frame'.
17602 (display_mode_line, Fformat_mode_line): Replace calls to
17603 `push_frame_kboard' with `push_kboard'.
17604 (get_glyph_string_clip_rects): Add extra parentheses and
17605 braces to prevent compiler warnings.
17606 (calc_pixel_width_or_height): Add xassert to check that the
17607 frame is alive. Don't call `lookup_image' on a termcap frame.
17608 (message2_nolog, message3_nolog, redisplay_internal)
17609 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
17610 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
17611 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
17612 (Fx_display_pixel_width, Fx_display_pixel_height)
17613 (Fx_display_planes, Fx_display_color_cells)
17614 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
17615 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
17616 (Fx_display_backing_store, Fx_display_visual_class)
17617 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
17618 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
17619
17620 * xfns.c (x_set_foreground_color x_set_background_color)
17621 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
17622 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17623 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
17624 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
17625 terminal that is being deleted.
17626 (Fx_create_frame): Use `store_frame_param' to set `window-system'
17627 frame parameter, and make sure it overrides any user-supplied setting.
17628 (Fx_close_connection, Fx_synchronize): Unify argument names with
17629 the rest of the DEFUNs.
17630
17631 * dispnew.c (Fsend_string_to_terminal): Update call to
17632 `get_tty_terminal'.
17633 (Fredraw_frame, Fsend_string_to_terminal)
17634 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
17635 FRAME_TERMCAP_P and FRAME_TTY.
17636 (window_change_signal): Don't believe width/height values that are
17637 impossibly small.
17638 (Vinitial_window_system): Rename from Vwindow_system.
17639 (termscript, Wcm, rif): Delete.
17640
17641 * termhooks.h (struct terminal): New struct containing the
17642 previously global text display hooks and new members NAME,
17643 DELETED and PARAM_ALIST.
17644 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
17645 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
17646 (FRAME_RIF): New macros.
17647 (get_terminal_param, get_device): New declarations.
17648 (termscript): Delete declaration.
17649
17650 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
17651 (XTflash, x_free_frame_resources, x_scroll_bar_create)
17652 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
17653 FRAME_FOREGROUND_PIXEL.
17654 (x_fully_uncatch_errors): Disable definition.
17655 (x_scroll_bar_expose): Fix reference to foreground pixel.
17656 (XTread_socket): Disable loop on all X displays.
17657 (x_delete_terminal): Don't set terminal->deleted and let
17658 delete_terminal delete the frames on the terminal.
17659 (x_delete_display): Doc update to reflect changes in
17660 delete_terminal.
17661 (x_display_info) <terminal>: Move member earlier in the struct.
17662 (deleting_tty): Remove old variable.
17663 (Fsuspend_tty): Call clear_tty_hooks.
17664 (Fresume_tty, init_tty): Call set_tty_hooks.
17665 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
17666 errors on X frames.
17667 (x_catch_errors_unwind): Abort if x_error_message is NULL.
17668 (handle_one_xevent): Initialize `f' to NULL.
17669 (x_delete_terminal, x_create_terminal): New functions.
17670 (XTset_terminal_modes, XTreset_terminal_modes)
17671 (XTread_socket, x_connection_closed, x_term_init)
17672 (x_term_init, x_delete_display): Add terminal parameter.
17673 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
17674 X connections.
17675
17676 * frame.c: Include termchar.h.
17677 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
17678 (Qwindow_system, Qenvironment, Qterm_environment_variable)
17679 (Qdisplay_environment_variable): New vars.
17680 (Fframep): Deal with output_initial.
17681 (Fframe-live-p): Doc fix.
17682 (Fwindow-system): New function.
17683 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
17684 (make_terminal_frame): Don't create frames on a terminal that is
17685 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17686 (store_frame_param): Check for found_for_frame before calling XFRAME.
17687 (Fmake_terminal_frame): Handle NULL tty names correctly.
17688 (syms_of_frame): Enhance doc string of `default-frame-alist'.
17689 (Fdelete_frame): Remove unused variable `count'. Don't allow other
17690 frames to refer to a deleted frame in their 'environment parameter.
17691 (Fframe_with_environment): New function.
17692 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
17693 (get_future_frame_param): New function.
17694 (Fmake_terminal_frame): Use it.
17695 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
17696
17697 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
17698 * sysdep.c (reset_sys_modes): Update for renames.
17699
17700 * keyboard.c (tty_read_avail_input): New function.
17701 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
17702 (syms_of_keyboard): Defsubr them.
17703 (Fset_input_meta_mode, Fset_quit_char): New functions.
17704 (Fset_input_mode): Split to above functions.
17705 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
17706 parameter. Use it in call to `read_char'.
17707 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
17708 Set wrong_kboard_jmpbuf correctly in recursive calls.
17709 Use current_kboard to access Vkeyboard_translate_table.
17710 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
17711 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
17712 Update longjmp invocations. Remember the original current_kboard,
17713 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
17714 changes it. Comment out unnecessary calls to
17715 `record_single_kboard_state' and `any_kboard_state'.
17716 Update recursive calls.
17717 (wrong_kboard_jmpbuf): Remove global variable.
17718 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
17719 Handle deleted interrupted_kboards correctly; that is a legal
17720 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
17721 and read_char calls. Abort if interrupted_kboard died in read_char.
17722 (any_kboard_state, single_kboard_state)
17723 (push_frame_kboard): Remove function.
17724 (pop_kboard): Switch out of single_kboard mode if the kboard has
17725 been deleted. Remove unused variable. Help debugging by not
17726 changing current_kboard unnecessarily. Set current_kboard to the
17727 kboard of the selected frame when the stored kboard object has
17728 been deleted before pop_kboard.
17729 (temporarily_switch_to_single_kboard): Change first parameter to a
17730 frame pointer. Throw an error when caller wants to change kboards
17731 while in single_kboard mode. Don't push_kboard if we weren't in
17732 single kboard state. Don't pop_kboard if we popped into any
17733 kboard state.
17734 (restore_kboard_configuration): Abort if pop_kboard changed the
17735 kboard in single_kboard mode. Call pop_kboard only after setting
17736 up single_kboard mode.
17737 (Frecursive_edit): Switch to single_kboard mode only in nested
17738 command loops.
17739 (cmd_error, command_loop, command_loop_1, timer_check):
17740 Comment out unnecessary call to `any_kboard_state' and
17741 `record_single_kboard_state'.
17742 (delete_kboard): Exit single_kboard mode if we have just deleted
17743 that kboard. Use FRAME_KBOARD.
17744 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
17745 `fatal_error_signal'.
17746 (record_single_kboard_state): Don't push_kboard if we weren't in
17747 single kboard state. Don't pop_kboard if we popped into any
17748 kboard state.
17749 (push_frame_kboard): Rename to push_kboard.
17750 (kbd_buffer_get_event): Use FRAME_TERMINAL.
17751 (read_avail_input): Read input from all terminals.
17752 (mark_kboards): Also mark Vkeyboard_translate_table.
17753 (kbd_buffer_store_event_hold): Simplify condition.
17754 (read_key_sequence): Reinitialize fkey and keytran at each replay.
17755 (Vkeyboard_translate_table): Move to struct kboard.
17756 (init_kboard): Initialize Vkeyboard_translate_table.
17757 (syms_of_keyboard): Use DEFVAR_KBOARD to define
17758 Vkeyboard_translate_table. Update doc strings. Update docs of
17759 local-function-key-map and function-key-map.
17760
17761 * terminal.c: New file.
17762
17763 * term.c: Include errno.h.
17764 (Vring_bell_function, device_list, initial_device)
17765 (next_device_id, ring_bell, update_begin, update_end)
17766 (set_terminal_window, cursor_to, raw_cursor_to)
17767 (clear_to_end, clear_frame, clear_end_of_line)
17768 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
17769 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
17770 (syms_of_term): Move their initialization to terminal.c.
17771 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
17772 (Ftty_display_color_cells)
17773 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
17774 (clear_tty_hooks, set_tty_hooks)
17775 (init_tty, maybe_fatal): New functions.
17776 (Ftty_type): Return nil if terminal is not on a tty instead of
17777 throwing an error. Doc update.
17778 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
17779 Doc update. Initialize new subrs and variables.
17780 (delete_tty): Use terminal->deleted.
17781 (tty_set_terminal_modes): Rename from set_terminal_modes.
17782 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
17783 (set_scroll_region): Rename to `tty_set_scroll_region'.
17784 (turn_on_insert): Rename to `tty_turn_on_insert'.
17785 (turn_off_insert): Rename to `tty_turn_off_insert'.
17786 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
17787 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
17788 (toggle_highligh): Rename to `tty_toggle_highlight'.
17789 (background_highlight): Rename to `tty_background_highlight'.
17790 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
17791 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
17792 (tty_set_scroll_region, tty_background_highlight)
17793 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
17794 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
17795 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
17796 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
17797 Add static modifier.
17798 (tty_reset_terminal_modes, tty_set_terminal_window)
17799 (tty_set_scroll_region, tty_background_highlight)
17800 (tty_highlight_if_desired, tty_cursor_to)
17801 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
17802 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
17803 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
17804 renames.
17805
178062007-08-28 Jan Djärv <jan.h.d@swipnet.se>
17807
17808 * keyboard.c: Qrtl is new.
17809 (parse_tool_bar_item): Handle :rtl keyword.
17810 (syms_of_keyboard): Intern :rtl keyword.
17811
17812 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
17813
17814 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
17815 so no Lisp code is executed.
17816 (file_for_image, find_rtl_image): New functions.
17817 (xg_get_image_for_pixmap): Use file_for_image.
17818 (update_frame_tool_bar): If direction is RTL, use RTL image if
17819 defined. Use Gtk stock images if defined.
17820
178212007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17822
17823 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
17824 for nonexistent or zero-width glyph in composition glyph.
17825
178262007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
17827
17828 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
17829
17830 * xdisp.c (Finvisible_p): New function.
17831 (syms_of_xdisp): defsubr it.
17832
178332007-08-24 Juanma Barranquero <lekktu@gmail.com>
17834
17835 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
17836 Doc fixes.
17837
178382007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17839
17840 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
17841
178422007-08-24 Martin Rudalics <rudalics@gmx.at>
17843
17844 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
17845 whether decoding has modified buffer contents.
17846
178472007-08-24 Jason Rumney <jasonr@gnu.org>
17848
17849 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
17850 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
17851 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
17852 (init_svg_functions) [HAVE_NTGUI]: New function.
17853 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
17854 (svg_load_image): Use them.
17855 (svg_load_image) [HAVE_NTGUI]: Implement background.
17856
178572007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17858
17859 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
17860 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
17861 (LIBX): Remove @RSVG_LIBS@.
17862 (LIBES): Add $(RSVG_LIBS).
17863
17864 * image.c (svg_load_image): Blend with specified background if exists.
17865 Use IMAGE_BACKGROUND. Add Mac OS Support.
17866
17867 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
17868 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
17869 Remove macros.
17870 [MAC_OSX] (socket_callback): Do nothing.
17871 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
17872 ReceiveNextEvent.
17873 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
17874 socket_callback.
17875 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
17876
178772007-08-22 Glenn Morris <rgm@gnu.org>
17878
17879 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
17880
178812007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
17882
17883 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
17884
17885 * image.c: Add support for SVG images. Some additional comments
17886 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
17887 (svg_image_p): New function to test for SVG image.
17888 (svg_load): New function to load SVG image.
17889 (svg_load_image): New function, helper for svg_load.
17890 (Qsvg): New Lisp_object.
17891 (svg_keyword_index): New enum.
17892 (svg_format): New static `image_keyword' struct.
17893 (svg_type): New static `image_type' struct.
17894 (librsvg/rsvg.h): Include it.
17895
178962007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
17897
17898 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17899
179002007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17901
17902 * lread.c (Qold_style_backquotes): New var.
17903 (syms_of_lread): Init and staticpro it.
17904 (load_warn_old_style_backquotes): New fun.
17905 (Fload): Use them to warn about old style backquotes.
17906 (end_of_file_error, Fload): Remove unused vars.
17907
17908 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17909
17910 * lread.c (Vold_style_backquotes): New var.
17911 (syms_of_lread): Init and export it to Elisp.
17912 (read1): Set it when we find an old-style (back)quote.
17913
179142007-08-22 Jason Rumney <jasonr@gnu.org>
17915
17916 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17917
179182007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17919
17920 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17921
179222007-08-19 Richard Stallman <rms@gnu.org>
17923
17924 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17925
179262007-08-19 Andreas Schwab <schwab@suse.de>
17927
17928 * alloc.c (pure): Round PURESIZE up.
17929
179302007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17931
17932 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17933 active frame.
17934
179352007-08-16 Richard Stallman <rms@gnu.org>
17936
17937 * eval.c (Fcommandp): Add parens to clarify.
17938
17939 * minibuf.c (Fall_completions): Use enum for type of table.
17940
17941 * emacs.c (USAGE2): Improve text.
17942
179432007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17944
17945 * term.c (tty_default_color_capabilities): Declare static
17946 variables in file scope, to avoid HPUX compiler problem.
17947
179482007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17949
17950 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17951 to gtk_toolbar_insert.
17952
179532007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17954
17955 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17956
17957 * insdel.c (reset_var_on_error): New fun.
17958 (signal_before_change, signal_after_change):
17959 Use it to reset (after|before)-change-functions to nil in case of error.
17960 Bind inhibit-modification-hooks to t.
17961 Don't bind (after|before)-change-functions to nil while they run.
17962
179632007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17964
17965 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17966 filling pixmap with stippled background.
17967
179682007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17969
17970 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17971 Don't use invisible frame as parent window for repositioning.
17972
179732007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17974
17975 * print.c (new_backquote_output): Rename from old_backquote_output.
17976 (print): Inverse its logic (according to its name) so as to match the
17977 behavior of new_backquote_flag in lread.c.
17978
179792007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17980
17981 * gmalloc.c (posix_memalign): New function.
17982
17983 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17984 ActivateControl/DeactivateControl here.
17985 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17986 frame-notice-user-settings is non-nil.
17987 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17988 for kEventParamFMFontStyle.
17989 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17990 mac_pass_command_to_system and mac_pass_control_to_system here.
17991 (XTread_socket): Call ActivateControl/DeactivateControl here.
17992 (XTread_socket) [TARGET_API_MAC_CARBON]:
17993 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17994 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17995 for window repositioning.
17996
179972007-08-08 Glenn Morris <rgm@gnu.org>
17998
17999 * Replace `iff' in doc-strings and comments.
18000
180012007-08-07 Chong Yidong <cyd@stupidchicken.com>
18002
18003 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
18004
180052007-08-07 Martin Rudalics <rudalics@gmx.at>
18006
18007 * fileio.c (Finsert_file_contents): Run format-decode and
18008 after_insert_file_functions on entire buffer when REPLACE is
18009 non-nil and inhibit modification_hooks and point_motion_hooks.
18010 For consistency, run after_insert_file_functions iff something
18011 got inserted. Move signal_after_change and update_compositions
18012 after code running after_insert_file_functions. Make sure that
18013 undo_list doesn't record intermediate steps of the decoding process.
18014
180152007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18016
18017 * emacs.c (main)
18018 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
18019 Call malloc_enable_thread on interactive startup.
18020
18021 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
18022 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
18023 [USE_PTHREAD]: Conditionalize with it.
18024 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
18025 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
18026 New functions.
18027
180282007-08-06 Chong Yidong <cyd@stupidchicken.com>
18029
18030 * xdisp.c (redisplay_window): When restoring original buffer
18031 position, make sure it is still valid.
18032
18033 * image.c (png_load): Ignore png-supplied background color.
18034
180352007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18036
18037 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
18038 Use kCFAbsoluteTimeIntervalSince1970.
18039
18040 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
18041 New variable.
18042 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
18043 event loop should be quit.
18044 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
18045 Quit dialog event loop if quit_dialog_event_loop is set.
18046
18047 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
18048 (Selection): New typedef. Use instead of ScrapRef.
18049 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
18050 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
18051 (mac_clear_selection): Rename from clear_scrap.
18052 (get_flavor_type_from_symbol): New argument SEL and subsume function of
18053 scrap_has_target_type. All uses changed.
18054 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
18055 (mac_selection_has_target_p): New functions.
18056 (mac_put_selection_value): Rename from put_scrap_string.
18057 (mac_get_selection_value): Rename from get_scrap_string.
18058 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
18059 (put_scrap_private_timestamp, scrap_has_target_type)
18060 (get_scrap_private_timestamp): Remove functions.
18061 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
18062 (x_own_selection, x_get_local_selection):
18063 Use mac_valid_selection_value_p.
18064 (x_own_selection): Don't use put_scrap_private_timestamp.
18065 Record OWNERSHIP-INFO into Vselection_alist instead.
18066 (x_get_local_selection): Don't check type if request is local.
18067 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
18068 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
18069
180702007-08-04 Jan Djärv <jan.h.d@swipnet.se>
18071
18072 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
18073 add comment explaining why.
18074
180752007-08-03 Richard Stallman <rms@gnu.org>
18076
18077 * fileio.c (Fvisited_file_modtime): Use make_time.
18078
180792007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
18080
18081 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
18082 build.
18083
180842007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
18085
18086 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
18087
180882007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
18089
18090 * puresize.h (BASE_PURESIZE): Increase to 1130000.
18091
180922007-07-30 Richard Stallman <rms@gnu.org>
18093
18094 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
18095
180962007-07-29 Jan Djärv <jan.h.d@swipnet.se>
18097
18098 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
18099
181002007-07-28 Nick Roberts <nickrob@snap.net.nz>
18101
18102 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
18103 remote default-directory.
18104
18105 * buffer.c (mode-line-format): Update doc string.
18106
181072007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18108
18109 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
18110 scroll bar gap.
18111 (x_scroll_bar_create): Set bar->fringe_extended_p.
18112 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
18113 on frame edge. Check fringe background extension. Don't clear
18114 extended fringe background area.
18115
18116 * w32term.h (struct scroll_bar): New member fringe_extended_p.
18117 (w32_fill_area): Enclose multiple statements with do ... while (0).
18118
18119 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
18120 Extend fringe background to scroll bar gap.
18121 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
18122 Set bar->fringe_extended_p.
18123 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
18124 Put leftmost/rightmost scroll bars on frame edge. Check fringe
18125 background extension. Don't clear extended fringe background area.
18126
18127 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
18128 New member fringe_extended_p.
18129
181302007-07-25 Glenn Morris <rgm@gnu.org>
18131
18132 * Relicense all FSF files to GPLv3 or later.
18133
18134 * COPYING: Switch to GPLv3.
18135
181362007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
18137
18138 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
18139
18140 * data.c (Finteractive_form): Check for the presence of an
18141 `interactive-form' symbol property more thoroughly.
18142
18143 * data.c (Finteractive_form): Use an `interactive-form' property if
18144 present, analogous to the function-documentation property.
18145
181462007-07-24 Jason Rumney <jasonr@gnu.org>
18147
18148 * w32fns.c (x_real_positions): Get real position from OS instead of
18149 calculating it.
18150
181512007-07-23 Jason Rumney <jasonr@gnu.org>
18152
18153 * filelock.c (current_lock_owner): Allow for @ sign in username.
18154
181552007-07-22 Nick Roberts <nickrob@snap.net.nz>
18156
18157 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
18158 remote default-directory.
18159
18160 * buffer.c (mode-line-format): Describe above case in doc string.
18161
181622007-07-20 Eli Zaretskii <eliz@gnu.org>
18163
18164 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
18165 Define if not defined.
18166
181672007-07-18 Jason Rumney <jasonr@gnu.org>
18168
18169 * w32proc.c (w32_executable_type): Handle 64 bit executables.
18170
181712007-07-18 Richard Stallman <rms@gnu.org>
18172
18173 * data.c (Fsetq_default): Doc fix.
18174
18175 * eval.c (Fsetq): Doc fix.
18176
181772007-07-18 Juanma Barranquero <lekktu@gmail.com>
18178
18179 * coding.c (Ffind_operation_coding_system):
18180 * eval.c (For, Fand): Doc fixes.
18181 Reported by Johan Bockgård.
18182
181832007-07-18 Jan Djärv <jan.h.d@swipnet.se>
18184
18185 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
18186
18187 * xterm.h: Declare x_ewmh_activate_frame.
18188
18189 * xterm.c (x_ewmh_activate_frame): New function.
18190 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
18191
181922007-07-17 Martin Rudalics <rudalics@gmx.at>
18193
18194 * window.c (Fdisplay_buffer): If largest or LRU window is the
18195 only window, split it even if it is not eligible for splitting.
18196 This restores the original behavior broken by the 2007-07-15
18197 change.
18198
181992007-07-17 Glenn Morris <rgm@gnu.org>
18200
18201 * abbrev.c (abbrev_check_chars): New function.
18202 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
18203 Call abbrev_check_chars to check abbrev characters are word
18204 constituents. Doc fix.
18205
182062007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
18207
18208 * process.c (Fstart_process, Fmake_network_process)
18209 (read_process_output): Fix up last changes.
18210
182112007-07-16 Eli Zaretskii <eliz@gnu.org>
18212
18213 * makefile.w32-in (clean): Don't delete *~.
18214
182152007-07-16 Andreas Schwab <schwab@suse.de>
18216
18217 * window.c (Fdisplay_buffer): Use NILP.
18218 (Fset_window_scroll_bars): Likewise.
18219
182202007-07-15 Martin Rudalics <rudalics@gmx.at>
18221
18222 * window.c (window_min_size_2): New function.
18223 (window_min_size_1, size_window, Fdisplay_buffer)
18224 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
18225 windows without mode- or header-lines when window-min-height is
18226 too small.
18227 (size_window): Reset nodelete_p after testing it, following an
18228 earlier note by Kim F. Storm.
18229 (display_buffer): Do not set split_height_threshold to twice the
18230 value of window_min_height to avoid changing the value of a
18231 customizable variable. Rather explicitly check whether the
18232 height of the window that shall be splitted is at least as large
18233 as split_height_threshold.
18234 (Fwindow_full_width_p): New defun.
18235 (syms_of_window): Defsubr it.
18236
18237 * window.h: Add EXFUN for Fwindow_full_width_p.
18238
182392007-07-14 Jason Rumney <jasonr@gnu.org>
18240
18241 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
18242
182432007-07-14 Richard Stallman <rms@gnu.org>
18244
18245 * eval.c (maybe_call_debugger): New function.
18246 (find_handler_clause): Use maybe_call_debugger.
18247 Call it when the handler says `debug'.
18248 Eliminate DEBUGGER_VALUE_PTR.
18249 (Fsignal): Eliminate debugger_value.
18250 (Qdebug): New variable.
18251 (syms_of_eval): Initialize it.
18252
182532007-07-14 Juanma Barranquero <lekktu@gmail.com>
18254
18255 * eval.c (Fprogn):
18256 * keyboard.c (Ftrack_mouse):
18257 * print.c (Fwith_output_to_temp_buffer):
18258 * window.c (Fsave_window_excursion): Doc fix.
18259
182602007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
18261
18262 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
18263
182642007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
18265
18266 * process.h (struct Lisp_Process): Turn slots infd, outfd,
18267 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
18268 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
18269 read_output_delay, and read_output_skip from Lisp_Objects to ints.
18270 Remove unused encoding_carryover.
18271 * process.c: Adjust all functions accordingly.
18272
182732007-07-12 Richard Stallman <rms@gnu.org>
18274
18275 * term.c: Include unistd.h only if HAVE_UNISTD_H.
18276
182772007-07-11 Jason Rumney <jasonr@gnu.org>
18278
18279 * makefile.w32-in (LIBS): Include OLE32.
18280
18281 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
18282 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
18283
182842007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
18285
18286 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
18287 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
18288 from a Lisp_Object into a bare pointer.
18289 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
18290 Adjust the code correspondingly.
18291
18292 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
18293
18294 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
18295 (term_show_mouse_face): Remove unused var `j'.
18296 (handle_one_term_event): Remove unused vars `i' and `j'.
18297 Don't cast return value of ttyname since it's not necessary.
18298
182992007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
18300
18301 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
18302 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
18303
18304 * fns.c (map_char_table): Use an array of int for `indices' rather than
18305 an array of Lisp_Objects (which are only ever integers anyway).
18306 (Fmap_char_table): Update caller.
18307 * lisp.h: Update prototype.
18308 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
18309 * fontset.c (Ffontset_info):
18310 * casetab.c (set_case_table): Update callers.
18311
18312 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
18313
18314 * keymap.c (struct accessible_keymaps_data)
18315 (struct where_is_internal_data): New structures.
18316 (accessible_keymaps_1, where_is_internal_1): Use them to change
18317 interface to adhere to the one used by map_keymap.
18318 (Faccessible_keymaps, where_is_internal): Use map_keymap.
18319 (accessible_keymaps_char_table, where_is_internal_2): Remove.
18320
18321 * keymap.h (map_keymap_function_t): More informative prototype.
18322
183232007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
18324
18325 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
18326 (looking_at_1): Don't change search_regs and last_thing_searched
18327 if `inhibit-changing-match-data' is non-nil.
18328 (string_match_1, search_buffer, set_search_regs): Likewise.
18329 (syms_of_search): Add Lisp level definition for
18330 `inhibit-changing-match-data' and set it to nil.
18331 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
18332 start and end of the match, instead of using values in search_regs.
18333
183342007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
18335
18336 * minibuf.c (Fcompleting_read): New value `confirm-only'
18337 for `require-match'.
18338
183392007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
18340
18341 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
18342 part of the 2007-06-27 change to syms_of_fileio.
18343
183442007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18345
18346 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
18347 Check WINDOWP before using XWINDOW. Consolidate return statements.
18348
183492007-06-27 Richard Stallman <rms@gnu.org>
18350
18351 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
18352
183532007-06-27 Juanma Barranquero <lekktu@gmail.com>
18354
18355 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
18356
183572007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18358
18359 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
18360 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
18361 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
18362 (_free_internal, memalign): Use them.
18363 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
18364 Initialize to PTHREAD_MUTEX_INITIALIZER.
18365 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
18366 (morecore_nolock): Rename from morecore. All uses changed.
18367 Use only nolock versions of internal allocation functions.
18368 (_malloc_internal_nolock, _realloc_internal_nolock)
18369 (_free_internal_nolock): New functions created from
18370 _malloc_internal, _realloc_internal, and _free_internal.
18371 (_malloc_internal, _realloc_internal, _free_internal): Use them.
18372 Copy hook value to automatic variable before its use.
18373 (memalign): Copy hook value to automatic variable before its use.
18374
183752007-06-26 Kenichi Handa <handa@m17n.org>
18376
18377 * coding.c (Ffind_operation_coding_system): Docstring improved.
18378 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
18379
183802007-06-25 David Kastrup <dak@gnu.org>
18381
18382 * keymap.c (Fcurrent_active_maps): Add `position' argument.
18383 (Fwhere_is_internal): Adjust call to `current-active-maps' to
18384 cater for additional parameter.
18385
18386 * keymap.h: Adjust number of parameters to `current-active-maps'.
18387
18388 * doc.c (Fsubstitute_command_keys): Adjust call of
18389 `current-active-maps'.
18390
183912007-06-25 David Kastrup <dak@gnu.org>
18392
18393 * callint.c (Fcall_interactively): Make the parsing of interactive
18394 specs somewhat more readable.
18395
183962007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18397
18398 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
18399 to scroll bar gap also when bitmap fills fringe. Draw only foreground
18400 if extended background has already been filled.
18401
184022007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18403
18404 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
18405 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
18406
18407 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
18408 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
18409 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
18410 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
18411 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
18412 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
18413 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
18414 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
18415 Run timers during dialog popup.
18416 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
18417
184182007-06-21 Jason Rumney <jasonr@gnu.org>
18419
18420 * image.c (convert_mono_to_color_image): Swap fore and background.
18421
184222007-06-20 Jason Rumney <jasonr@gnu.org>
18423
18424 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
18425 (w32_free_bdf_font): Unmap memory not handle.
18426
184272007-06-20 Sam Steingold <sds@gnu.org>
18428
18429 * gmalloc.c (__morecore): Fix the declaration to comply with the
18430 definition.
18431
184322007-06-20 Juanma Barranquero <lekktu@gmail.com>
18433
18434 * w32term.c (w32_delete_display): Remove leftover declaration.
18435 (w32_define_cursor, w32_initialize): Make static.
18436
18437 * w32.c (_wsa_errlist): Fix typo in error message.
18438 (init_environment): Ignore any environment variable from the
18439 registry having a null value.
18440
184412007-06-20 Glenn Morris <rgm@gnu.org>
18442
18443 * Makefile.in (LIBGIF): Default to -lgif.
18444
184452007-06-17 Jason Rumney <jasonr@gnu.org>
18446
18447 * w32menu.c (add_menu_item): Don't use multibyte string functions on
18448 unicode strings.
18449
184502007-06-16 Juanma Barranquero <lekktu@gmail.com>
18451
18452 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
18453 Fix typo in docstring.
18454
184552007-06-16 Eli Zaretskii <eliz@gnu.org>
18456
18457 * w32menu.c (add_menu_item): Escape `&' characters in menu items
18458 and their keybindings.
18459
184602007-06-15 Chong Yidong <cyd@stupidchicken.com>
18461
18462 * composite.c (update_compositions): Fix last fix.
18463
184642007-06-14 Jason Rumney <jasonr@gnu.org>
18465
18466 * w32.c (get_process_times_fn): New function pointer.
18467 (globals_of_w32): Intialize it if present in kernel32.dll.
18468 (w32_get_internal_run_time): New function.
18469
18470 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
18471
184722007-06-14 Kenichi Handa <handa@etlken.m17n.org>
18473
18474 * composite.c (update_compositions): Check the validness of
18475 compositions.
18476
184772007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18478
18479 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
18480 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
18481
18482 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
18483 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
18484
18485 * macgui.h (USE_MAC_TOOLBAR): New define.
18486
18487 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18488 Return immediately unless popup is activated.
18489
18490 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
18491 background to scroll bar gap.
18492 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
18493 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
18494 scroll bars on frame edge. Check fringe background extension.
18495 Don't clear extended fringe background area.
18496 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
18497 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
18498 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
18499 [USE_MAC_TOOLBAR]: New macros.
18500 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
18501 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
18502 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
18503 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
18504 [USE_MAC_TOOLBAR]: New functions.
18505 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
18506 manually if previous repositioning has failed.
18507 (mac_handle_keyboard_event): Use precomputed event kind.
18508 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
18509 as tool bar item click. Handle mouse movement over tool bar items.
18510
18511 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
18512 toolbar_win_gravity.
18513 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
18514 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
18515 Add externs.
18516
18517 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
18518 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
18519
185202007-06-14 Chong Yidong <cyd@stupidchicken.com>
18521
18522 * image.c (search_image_cache): Remove unused variable.
18523
185242007-06-13 Chong Yidong <cyd@stupidchicken.com>
18525
18526 * xfns.c, xmenu.c: Link to xaw3d if available.
18527
185282007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18529
18530 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
18531 frame_foreground and frame_background.
18532
18533 * image.c (lookup_image): Save frame foreground and background colors.
18534 (search_image_cache): Check if saved and current frame colors match.
18535
185362007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
18537
18538 * regex.c (regex_compile): Remove the `regnum' counter.
18539 Use bufp->re_nsub instead. Add support for \(?N:RE\).
18540
185412007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
18542
18543 * term.c: Include intervals.h to declare Fget_text_property.
18544
185452007-06-10 Jason Rumney <jasonr@gnu.org>
18546
18547 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
18548
185492007-06-08 Juanma Barranquero <lekktu@gmail.com>
18550
18551 * callint.c (Fcall_interactively):
18552 * editfns.c (Fdelete_and_extract_region):
18553 * fileio.c (Fread_file_name):
18554 * fns.c (Fmapconcat):
18555 * keyboard.c (cmd_error_internal):
18556 * keymap.c (Fkey_description):
18557 * lread.c (openp):
18558 * minibuf.c (read_minibuf):
18559 * search.c (wordify):
18560 * sunfns.c (sel_read):
18561 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
18562 * xfns.c (x_default_scroll_bar_color_parameter):
18563 * xmenu.c (menu_help_callback):
18564 * xselect.c (Fx_get_atom_name):
18565 * xterm.c (x_term_init): Use empty_unibyte_string.
18566
185672007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
18568
18569 * alloc.c (init_strings): Initialize canonical empty strings.
18570 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
18571 canonical empty string when the requested size is 0.
18572
18573 * emacs.c (empty_unibyte_string): Rename from empty_string.
18574 (empty_multibyte_string): New canonical empty string.
18575 (syms_of_emacs): Don't initialize empty_string.
18576
18577 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
18578 string, if appropriate.
18579 (empty_unibyte_string, empty_multibyte_string): New externs.
18580 (empty_string): Remove extern.
18581
18582 * lread.c (syms_of_lread): Use empty_unibyte_string.
18583
185842007-06-07 Jason Rumney <jasonr@gnu.org>
18585
18586 * s/ms-w32.h: Don't define HAVE_TZNAME.
18587
18588 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
18589
185902007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18591
18592 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
18593
18594 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
18595 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
18596
18597 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18598 Don't call next handler.
18599 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
18600 Remove argument. Install handler to application.
18601 (set_frame_menubar): Don't change deep_p.
18602 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
18603 FRAME_OUTER_TO_INNER_DIFF_Y.
18604 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
18605 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
18606 [HAVE_DIALOGS]: New macros.
18607 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
18608 Use them.
18609 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
18610
18611 * macselect.c [MAC_OSX] (install_service_handler): Rename from
18612 init_service_handler. All callers changed. Return OSStatus value.
18613
18614 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
18615 All callers changed so as not to call SetPortWindowPort.
18616 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
18617 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
18618 mac_draw_string_common.
18619 (mac_draw_image_string_qd): Likewise.
18620 (mac_draw_string_common): Use them. Add INLINE.
18621 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
18622 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
18623 GetGlobalMouse.
18624 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
18625 and FRAME_OUTER_TO_INNER_DIFF_Y.
18626 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
18627 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
18628 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
18629 repositioning window to mac_handle_window_event.
18630 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
18631 saving window location to mac_handle_window_event
18632 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
18633 (install_menu_target_item_handler): Remove argument in extern.
18634 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
18635 Also accept command events.
18636 (do_keystroke): New function created from XTread_socket.
18637 (init_command_handler): Remove functions.
18638 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
18639 and save window location by kEventWindowShowing and kEventWindowHiding
18640 handlers here. Don't call next handler for window state change and
18641 focus events.
18642 (mac_handle_application_event, mac_handle_keyboard_event)
18643 [TARGET_API_MAC_CARBON]: New functions.
18644 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
18645 kEventWindowShowing and kEventWindowHiding events. Move installation
18646 of mouse, font, text input and menu target item handlers to
18647 install_application_handler.
18648 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
18649 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18650 New function.
18651 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18652 Register it.
18653 (XTread_socket) [TARGET_API_MAC_CARBON]:
18654 Consolidate SendEventToEventTarget calls.
18655 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
18656 Move application activation handler to mac_handle_application_event.
18657 Move keyboard handler to mac_handle_keyboard_event.
18658 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
18659 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
18660 init_command_handler. Call install_application_handler.
18661
18662 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
18663 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
18664
186652007-06-07 Glenn Morris <rgm@gnu.org>
18666
18667 * emacs.c (main): Use `emacs-copyright' in --version output.
18668
186692007-06-06 Chong Yidong <cyd@stupidchicken.com>
18670
18671 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
18672
186732007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18674
18675 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
18676
18677 * macgui.h: Replace WindowPtr with WindowRef.
18678
18679 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18680 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18681 Replace ControlHandle with ControlRef.
18682 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
18683
18684 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18685 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18686 Replace ControlHandle with ControlRef.
18687 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
18688 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
18689
18690 * macterm.h (struct scroll_bar): Rename member control_handle_low
18691 and control_handle_high to control_ref_low and control_ref_high.
18692 All uses changed.
18693 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
18694 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
18695 respectively. All uses changed.
18696 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
18697 (install_window_handler, remove_window_handler): Replace WindowPtr
18698 with WindowRef in externs.
18699
187002007-06-05 Juanma Barranquero <lekktu@gmail.com>
18701
18702 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
18703
187042007-06-03 Nick Roberts <nickrob@snap.net.nz>
18705
18706 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
18707
18708 * frame.c (Fmouse_position, Fmouse_pixel_position):
18709 Condition on HAVE_GPM too.
18710
18711 * term.c (term_mouse_highlight): Remove unused variables.
18712 (Fterm_open_connection): Set gpm_zerobased to 1.
18713 (term_mouse_movement, term_mouse_click, handle_one_term_event):
18714 Use zero based co-ordinates.
18715 (handle_one_term_event): Report a drag as mouse movement too.
18716
18717 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
18718
187192007-06-03 Chong Yidong <cyd@stupidchicken.com>
18720
18721 * image.c (search_image_cache): New function. Require background
18722 color match if background color is unspecified in the image spec.
18723 (uncache_image, lookup_image): Use it.
18724
187252007-06-01 Juanma Barranquero <lekktu@gmail.com>
18726
18727 * window.c (Fshrink_window): Reflow docstring.
18728
187292007-06-02 Chong Yidong <cyd@stupidchicken.com>
18730
18731 * Version 22.1 released.
18732
187332007-06-01 Richard Stallman <rms@gnu.org>
18734
18735 * xfns.c (x_encode_text): Add GCPRO.
18736
187372007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18738
18739 * xfns.c (x_set_name_internal): Save encoded name before
18740 x_encode_text in case string data is relocated.
18741
187422007-05-31 Richard Stallman <rms@gnu.org>
18743
18744 * buffer.c (syms_of_buffer): Doc fix.
18745
187462007-05-30 Nick Roberts <nickrob@snap.net.nz>
18747
18748 * sysdep.c (init_sys_modes): Add rather than replace with
18749 O_NONBLOCK.
18750
18751 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
18752 term_mouse_moveto.
18753
18754 * termhooks.h (term_mouse_moveto): New extern.
18755
18756 * term.c (mouse_face_window): Rename...
18757 (Qmouse_face_window): ...to this.
18758 (term_show_mouse_face, term_clear_mouse_face)
18759 (term_mouse_highlight): Use Qmouse_face_window.
18760 (term_mouse_moveto): New function.
18761 (term_mouse_position): Make it work.
18762 (syms_of_term): Uncomment assignment to mouse_position_hook.
18763 Staticpro Qmouse_face_window.
18764
187652007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18766
18767 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
18768 around current_column call.
18769
187702007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
18771
18772 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
18773 * xdisp.c (next_element_from_buffer):
18774 * window.c (delete_window):
18775 * term.c (term_mouse_highlight):
18776 * msdos.c (getdefdir):
18777 * macterm.c (mac_create_bitmap_from_bitmap_data)
18778 (init_font_name_table):
18779 * fns.c (Fsxhash):
18780 * data.c (Fmake_local_variable):
18781 * ccl.c (ccl_driver): Likewise.
18782
187832007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18784
18785 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
18786 Call mac_wakeup_from_rne on window size change.
18787
187882007-05-25 Chong Yidong <cyd@stupidchicken.com>
18789
18790 * image.c (uncache_image): Fix typo.
18791
187922007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
18793
18794 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
18795
187962007-05-22 Richard Stallman <rms@gnu.org>
18797
18798 * xterm.c (x_connection_closed): Remove NO_RETURN.
18799
188002007-05-22 Martin Rudalics <rudalics@gmx.at>
18801
18802 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
18803
188042007-05-21 Chong Yidong <cyd@stupidchicken.com>
18805
18806 * image.c (uncache_image): New function.
18807 (Fimage_refresh): New function.
18808
188092007-05-20 Jan Djärv <jan.h.d@swipnet.se>
18810
18811 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
18812
188132007-05-20 Nick Roberts <nickrob@snap.net.nz>
18814
18815 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
18816 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
18817
188182007-05-20 Nick Roberts <nickrob@snap.net.nz>
18819
18820 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
18821 conditional on [HAVE_GPM_H].
18822
188232007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
18824
18825 * syntax.c (skip_chars): Update syntax-table only after we checked that
18826 the new location is valid.
18827
188282007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18829
18830 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
18831 mac_get_window_bounds.
18832
188332007-05-20 Nick Roberts <nickrob@snap.net.nz>
18834
18835 * Makefile.in (LIBGPM): Allow it to be set from configure.
18836 If set then link Emacs with it.
18837
18838 * config.in: Regenerate.
18839
18840 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
18841 New externs.
18842
18843 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
18844 Include gpm.h.
18845 (handle_one_term_event, term_gpm): New externs.
18846
18847 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
18848 and allow it to be interrupted by SIGIO.
18849
18850 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
18851 (wait_reading_process_output): Wait on gpm_fd too.
18852 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
18853 (add_gpm_wait_descriptor_called_flag): New variable.
18854 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
18855
18856 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
18857 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
18858 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
18859 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
18860 (make_lispy_event): Add case GPM_CLICK_EVENT.
18861 (read_avail_input): Handle mouse input.
18862
18863 * term.c (write_glyphs_with_face): New function.
18864 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
18865 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
18866 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
18867 (mouse_face_face_id, term_gpm, pos_x, pos_y)
18868 (last_mouse_x, last_mouse_y): New variables.
18869 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
18870 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
18871 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
18872 (Fterm_close_connection): New functions.
18873 (term_init): Initialise mouse_face_window.
18874
188752007-05-19 Chong Yidong <cyd@stupidchicken.com>
18876
18877 * xdisp.c (redisplay_window): If first window line is a
18878 continuation line, recompute the new window start instead of
18879 recentering.
18880
188812007-05-18 Glenn Morris <rgm@gnu.org>
18882
18883 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
18884 Suggested by Alfred M. Szmidt <ams@gnu.org>.
18885
188862007-05-17 Glenn Morris <rgm@gnu.org>
18887
18888 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
18889
188902007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18891
18892 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
18893 dead key repeat and up events.
18894
188952007-05-14 Chong Yidong <cyd@stupidchicken.com>
18896
18897 * image.c (pbm_load): Check image size for monochrome pbm.
18898
188992007-05-13 Chong Yidong <cyd@stupidchicken.com>
18900
18901 * xterm.c (XTread_socket): Revert last change.
18902
189032007-05-12 Chong Yidong <cyd@stupidchicken.com>
18904
18905 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18906
18907 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18908
189092007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18910
18911 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18912 mixup (YAILOM).
18913
189142007-05-07 Andreas Schwab <schwab@suse.de>
18915
18916 * keymap.c (Flookup_key): Fix typo in last change.
18917
189182007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18919
18920 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18921 mapping for unibyte strings.
18922
189232007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18924
18925 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18926 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18927
189282007-04-29 Richard Stallman <rms@gnu.org>
18929
18930 * insdel.c (replace_range): For undo, record insertion first.
18931
189322007-04-29 Andreas Schwab <schwab@suse.de>
18933
18934 * lisp.h (VECSIZE): Use OFFSETOF.
18935
189362007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18937
18938 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18939 disabled lines.
18940
189412007-04-28 Richard Stallman <rms@gnu.org>
18942
18943 * lread.c (read_escape): In a string, \s is always space.
18944
189452007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18946
18947 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18948
18949 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18950 submenu for menu bar items.
18951
18952See ChangeLog.10 for earlier changes.
18953
18954;; Local Variables:
18955;; coding: utf-8
18956;; add-log-time-zone-rule: t
aac0c6e3
MR
18957;; End:
18958
76b6f707 18959 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
18960
18961 This file is part of GNU Emacs.
18962
18963 GNU Emacs is free software: you can redistribute it and/or modify
18964 it under the terms of the GNU General Public License as published by
18965 the Free Software Foundation, either version 3 of the License, or
18966 (at your option) any later version.
18967
18968 GNU Emacs is distributed in the hope that it will be useful,
18969 but WITHOUT ANY WARRANTY; without even the implied warranty of
18970 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18971 GNU General Public License for more details.
18972
18973 You should have received a copy of the GNU General Public License
18974 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18975
18976;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40