]> code.delx.au - gnu-emacs/blob - src/ChangeLog
(x_get_glyph_overhangs): Fix calculation of right
[gnu-emacs] / src / ChangeLog
1 2009-06-11 Kenichi Handa <handa@m17n.org>
2
3 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
4 overhang for the static composition case.
5
6 2009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7
8 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
9 overhang for the automatic composition case.
10
11 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
12 composition case.
13
14 2009-06-10 Chong Yidong <cyd@stupidchicken.com>
15
16 * xdisp.c (get_next_display_element): When handling wrap-prefix
17 and line-prefix, treat \n as a control character (bug#3502).
18
19 2009-06-10 Kenichi Handa <handa@m17n.org>
20
21 * font.c (font_parse_family_registry): Fix for one-char foundry.
22 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
23
24 2009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
25
26 * process.c (status_message): Fix handling of multibyte signal
27 string (Bug#3499).
28
29 2009-06-09 Jim Meyering <meyering@redhat.com>
30
31 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
32 color name is missing.
33
34 2009-06-09 Kenichi Handa <handa@m17n.org>
35
36 * charset.c (Fmap_charset_chars): In docstring, state clearly that
37 FROM-CODE and TO-CODE are codepoints of CHARSET.
38
39 2009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
40
41 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
42
43 2009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
44
45 Changes to support :script/:lang/:otf in NS font driver.
46 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
47 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
48 indicate not part of font driver interface, and change callers.
49 (ns_get_family): Remove pointless null check.
50 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
51 ns_spec_to_descriptor, ns_descriptor_to_entity.
52 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
53 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
54 (ns_spec_to_descriptor, ns_descriptor_to_entity)
55 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
56 (ns_get_req_script, ns_accumulate_script_ranges)
57 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
58 New functions.
59 (nsfont_list, nsfont_match): Use ns_findfonts.
60 (nsfont_open): Use font descriptor instead of traits.
61 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
62 (dump_glyphstring): Rename to ns_dump_glyphstring.
63
64 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
65
66 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
67
68 * fontset.c (fontset_from_font): Remove NS-specific code.
69
70 2009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
71
72 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
73 nonactive windows.
74
75 2009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
76
77 * nsterm.m (ns_init_paths): Append path separator to INFOPATH
78 variable.
79
80 2009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com>
81
82 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
83
84 2009-06-07 Chong Yidong <cyd@stupidchicken.com>
85
86 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
87 account for the overflowing of newlines into the last glyph on the
88 display line (Bug#3482).
89
90 2009-06-05 David Reitter <david.reitter@gmail.com>
91
92 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p,
93 Fx_selection_owner_p): rename from Fns_own_selection_internal,
94 Fns_selection_exists_p, Fns_selection_owner_p.
95
96 2009-06-03 Jason Rumney <jasonr@gnu.org>
97
98 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
99 available. (Bug#3379)
100
101 2009-05-29 Kenichi Handa <handa@m17n.org>
102
103 * coding.c (get_translation_table): Check
104 Venable_character_translation.
105
106 2009-05-25 David Reitter <david.reitter@gmail.com>
107
108 * nsterm.m (ns_raise_frame): only raise frame if visible.
109 (x_make_frame_visible): move frame to front rather than calling
110 ns_raise_frame().
111 (keyDown:) do not swallow events that aren't re-sent if frame
112 isn't key window.
113 (drawRect:) do not set visibility/iconified flags because
114 drawRect may be called by NSView even if the frame is hidden.
115
116 * nsfns.m (Fx_create_frame): follow other ports in
117 determining visibility; default to t. Ensure async_visible is set.
118
119 2009-05-23 Eli Zaretskii <eliz@gnu.org>
120
121 * dired.c (Ffile_attributes): Doc fix.
122
123 2009-05-22 Chong Yidong <cyd@stupidchicken.com>
124
125 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
126
127 2009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
128
129 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
130 and xfont_scratch_props.
131 (syms_of_xfont): Do it here instead.
132 (xfont_find_ccl_program): Delete, unused.
133 (xfont_open): Delete unused var `i'.
134
135 2009-05-21 Kenichi Handa <handa@m17n.org>
136
137 * fontset.c (Qlatin): Don't make it static.
138
139 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
140 New functions.
141 (xfont_scripts_cache, xfont_scratch_props): New variables.
142 (Qlatin, Vscalable_fonts_allowed): Extern it.
143 (xfont_list_pattern): Argument changed. Callers changed.
144 Check Vscalable_fonts_allowed. Check the support of a script.
145 (xfont_list): Don't reject a font spec with :script property.
146 (xfont_has_char): Fix setting of encoding.
147 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
148 xfont_scratch_props.
149
150 2009-05-19 Kenichi Handa <handa@m17n.org>
151
152 * font.c (font_sort_entities): Rename from font_sort_entites.
153 Callers changed.
154
155 2009-05-18 Kenichi Handa <handa@m17n.org>
156
157 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
158
159 2009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
160
161 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
162 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
163
164 2009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
165
166 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
167 (x_delete_terminal): Dissociate resource database from display and
168 then call XrmDestroyDatabase before closing display.
169
170 2009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
171
172 * nsterm.m (ns_read_socket): Remove unused variable.
173 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
174 whether selected frame is viable before raising it (based on patch
175 by David Reitter), and improve commentary.
176 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
177
178 2009-05-15 Kenichi Handa <handa@m17n.org>
179
180 * font.c (Ffont_spec): Check arguments.
181
182 2009-05-14 Chong Yidong <cyd@stupidchicken.com>
183
184 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
185 weight when testing attributes (Bug#3282).
186
187 2009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
188
189 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
190 what we expect to get in the next ConfigureNotify event.
191
192 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
193 before Xft one (Bug#1696).
194
195 2009-05-07 David Reitter <david.reitter@gmail.com>
196
197 * nsfns.m (Fx_display_planes): Compute bitplanes using
198 NSBitsPerPixelFromDepth (Bug#3207).
199
200 2009-05-10 Chong Yidong <cyd@stupidchicken.com>
201
202 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
203
204 2009-05-10 Ulrich Mueller <ulm@gentoo.org>
205
206 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
207
208 2009-05-07 David Reitter <david.reitter@gmail.com>
209
210 * nsterm.m (ns_dumpglyphs_stretch,ns_dumpglyphs_image):
211 respect mouse face background.
212
213 2009-05-07 David Reitter <david.reitter@gmail.com>
214
215 * nsterm.m (note_mouse_movement,ns_frame_up_to_date):
216 mouse movement/highlight: bracket drawing operations
217 in ns_update_begin and ns_update_end.
218
219 2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
220
221 * nsfns.m (ns_get_screen): Rewrite.
222 Don't presume selected-frame is of type `ns'.
223
224 * font.c (font_update_drivers): Sanity fallback to avoid disabling
225 all drivers.
226
227 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
228
229 2009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
230
231 * keyboard.h (add_user_signal): Fix typo in extern.
232
233 * lisp.h (add_user_signal): Remove extern.
234
235 * unexelf.c (unexec): Consider a section to precede the .bss section
236 if its addresses overlap that of .bss.
237 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
238 instead of dumping process.
239
240 2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
241
242 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
243
244 2009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
245
246 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
247
248 2009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
249
250 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
251 any statements.
252
253 2009-05-02 Andreas Schwab <schwab@linux-m68k.org>
254
255 * process.c (read_process_output): Make sure the current buffer is
256 always restored.
257
258 * coding.c (record_conversion_result): Don't modify
259 Vlast_code_conversion_error for successful result.
260 (alloc_destination): Don't clobber conversion result. (Bug#1650)
261
262 2009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
263
264 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
265 (load_charset_map): Remove unnecessary code.
266
267 2009-04-30 David Reitter <david.reitter@gmail.com>
268
269 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
270 through f24.
271
272 2009-04-30 Chong Yidong <cyd@stupidchicken.com>
273
274 * xfaces.c (face_at_buffer_position): New arg base_face_id.
275
276 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
277 face_at_buffer_position.
278 (face_before_or_after_it_pos, get_next_display_element)
279 (note_mouse_highlight): Update face_at_buffer_position call.
280
281 * term.c (term_mouse_highlight):
282 * msdos.c (IT_note_mouse_highlight):
283 * fontset.c (Finternal_char_font):
284 * font.c (font_at, font_range): Update face_at_buffer_position call.
285
286 * dispextern.h (face_at_buffer_position): Update prototype.
287
288 2009-04-30 Kenichi Handa <handa@m17n.org>
289
290 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
291
292 2009-04-29 Andreas Schwab <schwab@linux-m68k.org>
293
294 * callproc.c (Fcall_process): Fix GC protection. Make sure
295 current buffer is always restored.
296
297 2009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
298
299 * atimer.c (init_atimer): Also clear stopped_atimers.
300
301 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
302
303 * process.c (create_process): Clean up merger residues of
304 2008-07-17 change.
305
306 2009-04-29 Ulrich Mueller <ulm@gentoo.org>
307
308 * lread.c (Vread_circle): New variable.
309 (read1): Disable recursive read if Vread_circle is nil.
310
311 2009-04-29 Kenichi Handa <handa@m17n.org>
312
313 * fontset.h (set_default_ascii_font): Delete extern.
314
315 * fontset.c (set_default_ascii_font): Delete this unused function.
316
317 * frame.c (x_set_font): When ARG is a font-object, check if the
318 font-object matches with the ASCII font-spec of the frame's
319 fontset. If not, create a new fontset for the frame. (Bug #3075)
320
321 2009-04-28 Andreas Schwab <schwab@linux-m68k.org>
322
323 * fns.c (Flocale_info): Protect vector from GC during decoding.
324
325 * process.c (Fstart_process): Protect argv strings from GC during
326 encoding.
327
328 2009-04-27 Andreas Schwab <schwab@linux-m68k.org>
329
330 * sysdep.c: Include <ctype.h>.
331
332 2009-04-27 David Reitter <david.reitter@gmail.com>
333
334 * nsfont.m (nsfont_open): Remove unused variable shrink.
335 Remove commented-out code.
336
337 2009-04-26 Johan Bockgård <bojohan@gnu.org>
338
339 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
340
341 2009-04-25 Jason Rumney <jasonr@gnu.org>
342
343 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
344
345 2009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
346
347 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
348 Swap bytes in short integer if fringe bitmap width > 8.
349
350 2009-04-23 Kenichi Handa <handa@m17n.org>
351
352 * xfaces.c (Fx_list_fonts): If a font size is specified in
353 PATTERN, set it in returned scalable fonts.
354
355 2009-04-22 Chong Yidong <cyd@stupidchicken.com>
356
357 * keyboard.c (Fset_input_meta_mode): Doc fix.
358
359 * dispnew.c (Fsend_string_to_terminal): Doc fix.
360
361 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc
362 fixes.
363
364 * coding.c (Fterminal_coding_system): Doc fix.
365
366 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
367 (Fx_display_pixel_height, Fx_display_planes)
368 (Fx_display_color_cells, Fx_server_max_request_size)
369 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
370 (Fx_display_mm_height, Fx_display_mm_width)
371 (Fx_display_backing_store, Fx_display_visual_class)
372 (Fx_display_save_under, Fx_close_connection, Fx_synchronize): Doc
373 fixes, replacing "terminal id" with "terminal object".
374 (check_x_display_info): Handle terminal objects instead of
375 terminal ids.
376
377 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
378 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
379 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): Doc
380 fixes, replacing "terminal id" with "terminal object".
381
382 2009-04-21 Kenichi Handa <handa@m17n.org>
383
384 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
385 (font_score): Check AVGWIDTH too.
386
387 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
388 worst case.
389 (decode_coding_emacs_mule, decode_coding_iso_2022)
390 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
391 Likewise.
392
393 2009-04-19 Jason Rumney <jasonr@gnu.org>
394
395 The following changes fix Bug#3005 for wide glyphs on each platform,
396 without reintroducing Bug#1258 for stretch glyphs.
397
398 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
399 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
400 get_phys_cursor_geometry.
401
402 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
403 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
404 using get_phys_cursor_geometry.
405
406 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
407 correctly calculated.
408
409 2009-04-19 Jan Djärv <jan.h.d@swipnet.se>
410
411 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): Use
412 G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
413 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
414 is deprecated.
415
416 2009-04-18 Andreas Schwab <schwab@linux-m68k.org>
417
418 * font.c (font_put_frame_data): Use xfree instead of free.
419
420 2009-04-17 Juanma Barranquero <lekktu@gmail.com>
421
422 * w32font.c (Qja, Qko): Remove declarations.
423 (syms_of_w32font): Don't DEFSYM them.
424
425 2009-04-17 Chong Yidong <cyd@stupidchicken.com>
426
427 * font.c (Qja, Qko): Move definitions here from ftfont.c.
428
429 * font.h (Qja, Qko): Extern them.
430
431 * ftfont.c (Qja, Qko): Remove declarations.
432
433 * xfont.c (Qja, Qko): Remove declarations.
434
435 2009-04-17 Kenichi Handa <handa@m17n.org>
436
437 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
438 string from a vector to handle Latin-1 characters correctly.
439
440 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
441 entity even if the cache hits.
442
443 2009-04-16 Andreas Schwab <schwab@linux-m68k.org>
444
445 * search.c (boyer_moore): Use zero as marker value for a possible
446 match instead of depending on overflow behavior. (Bug#2844)
447
448 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
449 * lisp.h: Adjust prototypes.
450
451 2009-04-16 Chong Yidong <cyd@stupidchicken.com>
452
453 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
454 change (Bug#3003).
455
456 2009-04-16 Kenichi Handa <handa@m17n.org>
457
458 * xfont.c (xfont_has_char): Special handling of `ja' and `ko'
459 adstyle.
460
461 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
462 adstyle.
463
464 * ftfont.c (Qja, Qko): Don't make them static.
465 (enum ftfont_cache_for): New enum.
466 (fc_charset_table): Undo the previous change.
467 (ftfont_get_latin1_charset): Delete it.
468 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. Set
469 FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
470 non-scarable font, try to get AVERAGE_WIDTH.
471 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
472 Change ft_face_cache from a list of a hash-table. Don't check
473 `ja' and `ko' adstyle here.
474 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
475 FTFONT_CACHE_FOR_CHARET.
476 (ftfont_get_charset): Undo the previous change.
477 (ftfont_open): Call ftfont_lookup_cache with
478 FTFONT_CACHE_FOR_FACE.
479 (ftfont_close): Likewise.
480 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
481
482 * font.c (font_sort_entites): Change the meaning of the arg
483 BEST-ONLY. Don't optimize for VEC of lenght 1.
484 (font_select_entity): Just return the value of font_sort_entites.
485
486 * xfaces.c (merge_face_vectors): Reflect font properties in
487 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
488 font_clear_prop if a face attribute doesn't change.
489
490 * charset.h (charset_ksc5601): Extern it.
491
492 * charset.c (charset_ksc5601): New variable.
493 (Fdefine_charset_internal): Set charset_ksc5601.
494 (init_charset_once): Initialize charset_ksc5601 to -1.
495
496 2009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
497
498 * fileio.c (history_delete_duplicates): Remove unused declaration.
499
500 * callint.c (history_delete_duplicates): New declaration.
501 (Fcall_interactively): Remove command history duplicates when
502 history_delete_duplicates is true.
503
504 2009-04-14 Eli Zaretskii <eliz@gnu.org>
505
506 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
507
508 2009-04-14 Kenichi Handa <handa@m17n.org>
509
510 * font.c (Ffont_info): Fix docstring. Fix the second element of
511 the returned value (bug#2949).
512
513 2009-04-14 Chong Yidong <cyd@stupidchicken.com>
514
515 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
516
517 2009-04-14 Kenichi Handa <handa@m17n.org>
518
519 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
520 encoding charset is ascii_compatible.
521
522 * charset.c (Fdefine_charset_internal): Make charset
523 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
524 code_offset is 0, and covers all ASCII characters.
525
526 2009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
527
528 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
529 (ns_string_to_pasteboard_internal):
530 * nsmenu.m (process_dialog):
531 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
532 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
533 * lisp.h (Fx_load_color_file): Declare.
534
535 2009-04-13 Kenichi Handa <handa@m17n.org>
536
537 * font.c (font_delete_unmatched): Preserve the order of list
538 elements.
539 (font_select_entity): Suppress the code to optimize for the same
540 kind of fonts.
541 (font_load_for_lface): Get a font that supports at least ASCII
542 characters.
543
544 * ftfont.c (Qja, Qko): New variables.
545 (fc_charset_table): Delete uniquifier data for iso8859-1.
546 (ftfont_get_latin1_charset): New function.
547 (get_adstyle_property): New function.
548 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
549 bitmap fonts.
550 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
551 Delete iso-8859-1 range from the charset of fonts whose adstyle is
552 `ko' or `ja'.
553 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
554 (ftfont_get_charset): For iso8859-1, call
555 ftfont_get_latin1_charset.
556 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
557 property.
558 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
559 (syms_of_ftfont): DEFSYM Qja and Qko.
560
561 2009-04-09 Kenichi Handa <handa@m17n.org>
562
563 * charset.c (map_charset_chars): For a charset of `superset'
564 method, fix calculation of code range.
565
566 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
567 from the list of extra properties.
568 (font_clear_prop): Be sure to delete `:name' font property.
569
570 2009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
571
572 * dispnew.c (redraw_overlapping_rows): Fix detection of
573 overlapping for topmost and bottommost rows.
574
575 * ftfont.c (ftfont_text_extents): Fix calculation of
576 metrics->descent.
577
578 2009-04-06 Jason Rumney <jasonr@gnu.org>
579
580 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
581
582 2009-04-06 Kenichi Handa <handa@m17n.org>
583
584 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
585
586 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
587
588 2009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
589
590 * ftfont.c (ftfont_open): Fix checking of the return value of
591 FT_Load_Char. Fix setting font->underline_thickness.
592
593 2009-04-04 Chong Yidong <cyd@stupidchicken.com>
594
595 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
596 (Fterminal_parameters, Fterminal_parameter)
597 (Fset_terminal_parameter): In doc string, refer to terminal
598 objects rather than terminal ids.
599
600 2009-04-04 Eli Zaretskii <eliz@gnu.org>
601
602 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
603 ret_lim_data. (Bug#2867)
604
605 2009-04-03 Chong Yidong <cyd@stupidchicken.com>
606
607 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
608 so they don't get wider than the window, matching 2006-01-23
609 change to the partner function in xdisp.c (Bug#2800).
610
611 2009-04-03 Kenichi Handa <handa@m17n.org>
612
613 * print.c (print_object): Make each lowest sub_char_table start a
614 new line (Bug#2866).
615
616 2009-04-02 Kenichi Handa <handa@m17n.org>
617
618 * fontset.c (fontset_font): Record no-font when a fontset
619 explicitly tells not to try another font-specs.
620
621 2009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
622
623 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
624
625 2009-03-30 Kenichi Handa <handa@m17n.org>
626
627 * fontset.c (fontset_from_font): Specify only registry in a
628 font-spec for all characters supported by that registry.
629
630 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
631 even if HAVE_M17N_FLT is not defined.
632
633 2009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
634
635 * ftfont.c: Conditionalize prototyping and use of
636 ftfont_variation_glyphs.
637
638 2009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
639
640 * frame.c (delete_frame): Work around compiler bug.
641
642 * editfns.c (general_insert_function): Adjust to insdel.c changes.
643 * insdel.c (prepare_to_modify_buffer, signal_before_change):
644 Some more EMACS_INT.
645 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
646
647 * xdisp.c (dump_glyph): Fix typo.
648
649 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
650 (adjust_markers_gap_motion, adjust_markers_for_delete)
651 (adjust_markers_for_insert, adjust_point)
652 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
653 (make_gap, copy_text, count_size_as_multibyte, insert)
654 (insert_and_inherit, insert_before_markers)
655 (insert_before_markers_and_inherit, insert_1)
656 (count_combining_before, count_combining_after, insert_1_both)
657 (insert_from_string, insert_from_string_before_markers)
658 (insert_from_string_1, insert_from_gap, insert_from_buffer)
659 (insert_from_buffer_1, adjust_after_replace)
660 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
661 (replace_range_2, del_range, del_range_1, del_range_byte)
662 (del_range_both, del_range_2, modify_region)
663 (prepare_to_modify_buffer, signal_before_change)
664 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
665 for buffer positions and sizes.
666 * lisp.h: Adjust prototypes accordingly.
667
668 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
669 (non_regular_inserted, non_regular_nbytes, read_non_regular)
670 (Finsert_file_contents): Use EMACS_INT for buffer positions.
671
672 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
673
674 2009-03-27 Jan Djärv <jan.h.d@swipnet.se>
675
676 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
677 lines and columns so we keep the same pixel height and width.
678
679 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
680 the property _NET_WM_STATE has changed.
681 (x_handle_net_wm_state): New function to update frame parameter
682 fullscreen.
683 (x_term_init): Initialize atoms for _NET_WM_STATE.
684
685 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
686
687 2009-03-27 Kevin Ryde <user42@zip.com.au>
688
689 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
690 Gpm_GetEvent as an error that justifies closing the filedescriptor.
691 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
692 (Fgpm_mouse_stop): Pass that new parameter.
693 * termhooks.h (close_gpm): Adjust prototype.
694
695 2009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
696
697 * lisp.h (Fx_focus_frame): Declare.
698
699 * callint.c (Fcall_interactively): For '^' just delegate the work to
700 handle-shift-selection.
701 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
702
703 2009-03-24 Chong Yidong <cyd@stupidchicken.com>
704
705 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
706
707 * data.c (Qinteractive_form): New variable.
708 (Finteractive_form): Use it.
709
710 * eval.c (Fcommandp): Use Qinteractive_form.
711
712 2009-03-24 Jason Rumney <jasonr@gnu.org>
713
714 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
715 Calculate total size precisely. Decode environment variables
716 before substituting. (Bug#38)
717
718 2009-03-24 Kenichi Handa <handa@m17n.org>
719
720 * font.c (find_font_encoding): Return Qnil for unsupported
721 encoding (Bug#2722).
722
723 2009-03-23 Jan Djärv <jan.h.d@swipnet.se>
724
725 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
726 that gdpy is set.
727
728 2009-03-22 Alan Mackenzie <acm@muc.de>
729
730 * callint.c (Finteractive): Clarify the doc string - even
731 promptless elements need \n separators.
732
733 2009-03-22 Jason Rumney <jasonr@gnu.org>
734
735 * w32term.c (syms_of_w32term): Doc fix for
736 x-use-underline-position-properties.
737
738 2009-03-21 Eli Zaretskii <eliz@gnu.org>
739
740 * w32.c (getpwuid): Change argument type to unsigned.
741 (struct w32_id): Change type of `rid' member to unsigned.
742 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
743 argument ID to unsigned. All callers changed.
744 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
745
746 2009-03-20 Eli Zaretskii <eliz@gnu.org>
747
748 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
749 negative, produce a float value.
750
751 * dired.c (make_uid, make_gid): New functions.
752 (Ffile_attributes): Use them to avoid negative UID and GID.
753
754 2009-03-20 Juanma Barranquero <lekktu@gmail.com>
755
756 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
757 (syms_of_keyboard) <command-hook-internal, input-method-function>:
758 Fix typos in docstrings.
759
760 2009-03-19 Kenichi Handa <handa@m17n.org>
761
762 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
763 changed, use font_load_for_lface to get a new font object.
764 Call free_realized_fontset after handling ASCII font change.
765
766 * frame.c (x_set_font): Handle the case that ARG is a cons.
767
768 2009-03-19 Glenn Morris <rgm@gnu.org>
769
770 * fileio.c (Fsubstitute_in_file_name): Doc fix.
771
772 2009-03-19 Chong Yidong <cyd@stupidchicken.com>
773
774 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
775
776 2009-03-19 Kenichi Handa <handa@m17n.org>
777
778 * charset.c (load_charset_map_from_file): When a mapfile can't be
779 loaded, signal an error.
780
781 2009-03-18 Eli Zaretskii <eliz@gnu.org>
782
783 * dired.c (Ffile_attributes): Make sure UID and GID are always
784 positive, even if the value is too large for a positive EMACS_INT.
785 Doc fix.
786
787 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
788
789 2009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
790
791 * xmenu.c (xdialog_show): Move Fredisplay call ...
792 (Fx_popup_dialog): ... here.
793
794 2009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
795
796 * dired.c (file_name_completion): Disable the first optimization just
797 installed, since it is not implemented correctly.
798
799 2009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
800
801 * dired.c (file_name_completion): Check completion-ignored-extensions
802 only if the entry can affect bestmatch.
803 Stop the search early, as Ftry_completion already does.
804
805 2009-03-17 Chong Yidong <cyd@stupidchicken.com>
806
807 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
808
809 2009-03-15 Chong Yidong <cyd@stupidchicken.com>
810
811 * keyboard.c (parse_menu_item): Don't display remappings as menu
812 equivalent bindings (Bug#788).
813
814 2009-03-15 Jason Rumney <jasonr@gnu.org>
815
816 * w32term.h (WM_EMACS_PAINT): New message.
817 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
818 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
819 before passing to lisp thread. (Bug#950)
820
821 2009-03-14 David Reitter <david.reitter@gmail.com>
822
823 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
824 variable as it was never reset.
825 (ns_term_init): Remove initialization of Lisp-settable defaults
826 and ns_expand_space.
827 (-setPanelFromDefaultValues): Remove ns_expand_space.
828 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
829 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
830 i.e. no additional spacing, similar to Carbon port.
831
832 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
833 * nsfns.m (ns-popup-prefs-panel): Remove.
834
835 2009-03-14 Jan Djärv <jan.h.d@swipnet.se>
836
837 * sound.c (alsa_configure): Remove call to deprecated
838 snd_pcm_sw_params_set_xfer_align.
839
840 2009-03-14 Stephen Berman <stephen.berman@gmx.net>
841
842 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
843 after clicking in a detached tool bar.
844 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
845
846 2009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
847
848 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
849 int/Lisp_Object mixup).
850
851 2009-03-13 Kenichi Handa <handa@m17n.org>
852
853 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
854 Handle NAME nil and t correctly. Callers changed.
855 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
856 (set_fontset_font): Change ARG to a vector. Handle range_list in
857 ARG correctly.
858 (Fset_fontset_font): Fix the case that TARGET is both a script
859 name and charset name. Adjust the arg to set_fontset_font for
860 the above change.
861 (fontset_from_font): Fix previous change.
862 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
863 entry. If FONTSET is the default fontset, don't set the extra
864 slot of the returning char-table.
865
866 2009-03-12 Juanma Barranquero <lekktu@gmail.com>
867
868 * nsfns.m (Fx_close_connection): Doc fix.
869 (Fns_do_applescript): Reflow docstring.
870 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
871 (Fx_display_pixel_width, Fx_display_pixel_height)
872 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
873 Fix typos in docstrings.
874 (Fns_set_alpha): Fix typos in error messages.
875
876 2009-03-12 David Reitter <david.reitter@gmail.com>
877
878 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
879 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
880 were used for such events.
881
882 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
883 (toggleToolbar, performDragOperation, runHelp): Use it.
884
885 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
886 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
887
888 2009-03-11 Kenichi Handa <handa@m17n.org>
889
890 * font.h (font_open_by_spec): Extern it.
891
892 * font.c (font_open_by_spec): New function.
893 (font_open_by_name): Use font_open_by_spec.
894
895 * frame.c (x_set_font): When ARG is a font-object, don't alter the
896 fontset of the frame.
897
898 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
899 modify the default font of frames that use this fontset.
900 (num_auto_fontsets): New variable.
901 (fontset_from_font): Use num_auto_fontsets to decide a fontset
902 name. Be sure to set FONTSET_ASCII to the correct font name.
903 (update_auto_fontset_alist): New function.
904
905 2009-03-11 Juanma Barranquero <lekktu@gmail.com>
906
907 * makefile.w32-in: Update dependencies.
908
909 2009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
910
911 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
912
913 2009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
914
915 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
916
917 2009-03-10 Chong Yidong <cyd@stupidchicken.com>
918
919 * lread.c (Feval_buffer): Doc fix.
920
921 2009-03-09 Kenichi Handa <handa@m17n.org>
922
923 * charset.c (Qfile_name_handler_alist): Extern it.
924 (load_charset_map_from_file): Temporarily bind
925 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
926
927 2009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
928
929 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
930 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
931
932 2009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
933
934 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
935 (x_set_window_size): Change back to calculated method of setting
936 toolbar height under Cocoa. (Bug#2546)
937 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
938 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
939
940 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
941
942 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
943 accelerator in parens under GNUstep.
944
945 2009-03-06 Kenichi Handa <handa@m17n.org>
946
947 These changes are to detect incorrect composition sequence without
948 looking ahead the source. (Bug#2370)
949
950 * coding.h: Include "composite.h".
951 (enum compisition_state): New enum.
952 (struct compisition_status): New struct.
953 (struct iso_2022_spec): New member cmp_status.
954 (struct emacs_mule_spec): New struct.
955 (struct coding_system): New members ctext_extended_segment_len and
956 embedded_utf_8. Change the union member
957 spec.emacs_mule_full_support to spec.emacs_mule.
958
959 * coding.c (CODING_ISO_CMP_STATUS): New macro.
960 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
961 (MAX_ANNOTATION_LENGTH): Define to 5.
962 (ADD_COMPOSITION_DATA): New arg nbytes.
963 (emacs_mule_char): New arg cmp_status.
964 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
965 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
966 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
967 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
968 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
969 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
970 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
971 (EMACS_MULE_COMPOSITION_END): New macro.
972 (emacs_mule_finish_composition): New function.
973 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
974 (decode_coding_emacs_mule): Avoid long looking ahead while
975 handling composition.
976 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
977 (ENCODE_COMPOSITION_RULE): New macro.
978 (finish_composition): New function.
979 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
980 (DECODE_COMPOSITION_START): New implementation.
981 (DECODE_COMPOSITION_END): Likewise.
982 (STORE_COMPOSITION_RULE): New macro.
983 (decode_coding_iso_2022): Avoid long looking ahead while handling
984 composition, CTEXT extended segment, and embedded UTF-8.
985 (setup_coding_system): For a coding of type iso-2022, reset
986 CODING_ISO_EXTSEGMENT_LEN (coding) and
987 CODING_ISO_EMBEDDED_UTF_8 (coding).
988 (get_translation): Delete arguments last_block, from_nchars,
989 to_nchars. Callers changed.
990 (produce_chars): Don't modify charbuf. Adjusted for the change of
991 get_translation.
992 (produce_composition): Adjust for the new annotation sequence.
993 (handle_composition_annotation): Likewise.
994 (consume_chars): Adjust for the change of get_translation.
995
996 2009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
997
998 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
999
1000 2009-03-05 Kenichi Handa <handa@m17n.org>
1001
1002 * font.c (font_select_entity): New function.
1003 (font_find_for_lface): Use font_select_entity to select a font.
1004
1005 * fontset.c (fontset_find_font): If a font found without
1006 restricting to the characters C doesn't support C, try to find a
1007 font with C restriction.
1008
1009 2009-03-04 Nikolaj Schumacher <me@nschum.de>
1010
1011 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
1012
1013 2009-03-04 Jason Rumney <jasonr@gnu.org>
1014
1015 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
1016 characters that have already been read. (Bug#2569)
1017
1018 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
1019 Log an error message if check_image_size failed.
1020 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
1021 (gs_load): Mention max-image-size in size error message. (Bug#2560)
1022
1023 2009-03-02 Eli Zaretskii <eliz@gnu.org>
1024
1025 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
1026 when decoding process output.
1027
1028 2009-03-01 Richard M Stallman <rms@gnu.org>
1029
1030 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
1031
1032 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
1033
1034 2009-02-28 Eli Zaretskii <eliz@gnu.org>
1035
1036 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
1037 (decode_coding_emacs_mule, decode_coding_iso_2022)
1038 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1039 (decode_coding_raw_text, decode_coding_charset)
1040 (setup_coding_system, decode_eol, decode_coding, consume_chars):
1041 Honor inhibit-eol-conversion. (Bug #2186)
1042
1043 2009-02-28 Jason Rumney <jasonr@gnu.org>
1044
1045 * coding.c (detect_coding_charset): If not checking latin extra,
1046 fail on characters between 0x80 and 0xA0. (Bug#2354)
1047
1048 2009-02-28 Eli Zaretskii <eliz@gnu.org>
1049
1050 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
1051 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
1052
1053 2009-02-27 Glenn Morris <rgm@gnu.org>
1054
1055 * callint.c (Finteractive): Doc fix.
1056
1057 2009-02-27 Kenichi Handa <handa@m17n.org>
1058
1059 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
1060
1061 2009-02-27 Chong Yidong <cyd@stupidchicken.com>
1062
1063 * font.c (font_style_to_value): Set value for unknown symbols to
1064 100 instead of 255.
1065 (weight_table, slant_table, width_table): Treat "unspecified" as
1066 the default value.
1067
1068 2009-02-26 Juanma Barranquero <lekktu@gmail.com>
1069
1070 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
1071
1072 2009-02-25 Juanma Barranquero <lekktu@gmail.com>
1073
1074 * lread.c (Fload): Stop checking Vloads_in_progress and signal
1075 error as soon as a recursive load is detected.
1076
1077 2009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1078
1079 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
1080 before caching.
1081
1082 2009-02-24 Kenichi Handa <handa@m17n.org>
1083
1084 * fontset.c (fontset_find_font): Fix the condition for checking
1085 unavailable font.
1086
1087 2009-02-24 Glenn Morris <rgm@gnu.org>
1088
1089 * xfaces.c (Finternal_set_font_selection_order): Remove leading
1090 whitespace that confuses documentation.
1091
1092 2009-02-23 Miles Bader <miles@gnu.org>
1093
1094 * process.c (Flist_system_processes, Fprocess_attributes)
1095 (syms_of_process): Rename `system-process-attributes' to
1096 `process-attributes'.
1097
1098 2009-02-22 Andreas Schwab <schwab@linux-m68k.org>
1099
1100 * coding.h (struct coding_system): Make safe_charsets a pointer to
1101 unsigned char.
1102 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
1103 being 255.
1104 (SAFE_CHARSET_P): Likewise.
1105 (setup_iso_safe_charsets): Properly setup safe_charsets.
1106 (Fdefine_coding_system_internal): Likewise.
1107 (setup_coding_system): Likewise. Remove unneeded casts.
1108 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
1109 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
1110 unneeded casts.
1111
1112 * insdel.c (del_range_2): Don't modify gap contents when called
1113 from decode_coding_object. (Bug#1809)
1114
1115 2009-02-21 Chong Yidong <cyd@stupidchicken.com>
1116
1117 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
1118 Qfont_object.
1119 (Ftype_of): Recognize font objects.
1120
1121 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
1122
1123 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
1124 moved to data.c.
1125
1126 2009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1127
1128 * nsterm.m (x_make_frame_invisible): Unset async_visible,
1129 async_iconified. Based on a patch by Christian Lynbech
1130 <christian.lynbech@tieto.com>.
1131 (EmacsView-windowDidMiniaturize:): Unset async_visible.
1132
1133 2009-02-20 Glenn Morris <rgm@gnu.org>
1134
1135 * syntax.c (Fskip_chars_forward): Fix doc typo.
1136
1137 2009-02-20 Chong Yidong <cyd@stupidchicken.com>
1138
1139 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
1140
1141 2009-02-19 Chong Yidong <cyd@stupidchicken.com>
1142
1143 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
1144
1145 2009-02-19 Kenichi Handa <handa@m17n.org>
1146
1147 * coding.c (detect_coding): Preserve coding->mode.
1148 Don't overflow coding->carryover. (Bug#2370)
1149
1150 2009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
1151
1152 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
1153
1154 2009-02-18 Kenichi Handa <handa@m17n.org>
1155
1156 * font.c (font_check_otf_features): Fix handling of `nil' element.
1157 (Ffont_spec): Describe :lang and :otf in the docstring.
1158
1159 2009-02-16 Andreas Schwab <schwab@suse.de>
1160
1161 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
1162 string.
1163
1164 2009-02-16 Kenichi Handa <handa@m17n.org>
1165
1166 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
1167 (Bug#1723)
1168
1169 2009-02-14 Chong Yidong <cyd@stupidchicken.com>
1170
1171 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
1172
1173 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
1174 (handle_line_prefix): Suppress wrapping of wrap prefixes.
1175
1176 2009-02-14 Eli Zaretskii <eliz@gnu.org>
1177
1178 * msdos.c (MAX_SCREEN_BUF): New macro.
1179 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
1180 Encode the entire run of glyphs sharing the same face, instead of
1181 doing that one glyph at a time (fixes a bug with displaying
1182 double-size characters).
1183
1184 2009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
1185
1186 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
1187
1188 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
1189 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
1190 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
1191
1192 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
1193 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
1194
1195 2009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
1196
1197 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
1198 invisible areas.
1199
1200 2009-02-12 Jason Rumney <jasonr@gnu.org>
1201
1202 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
1203 (add_font_entity_to_list): Call check_face_name even when family
1204 is unspecified.
1205
1206 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1207 Release DC when finished. Use NULL window to refer to desktop.
1208 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
1209
1210 * w32font.c (add_font_entity_to_list): Fix check for substituted
1211 raster fonts. (Bug#2219)
1212
1213 2009-02-12 Kenichi Handa <handa@m17n.org>
1214
1215 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
1216 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
1217 (autocmp_chars): Use fast_looking_at. Don't compose more
1218 characters than MAX_COMPOSITION_COMPONENTS.
1219 (find_automatic_composition): While looking forward and backward,
1220 check static composition. Fix where to stop looking forward.
1221 (composition_adjust_point): Fix checking of static composition.
1222 (Fcomposition_get_gstring): Pay attention to
1223 MAX_COMPOSITION_COMPONENTS.
1224
1225 * lisp.h (fast_looking_at): Extern it.
1226
1227 * search.c (fast_looking_at): New function.
1228
1229 * term.c (encode_terminal_code): Adjust for the change of
1230 <struct glyph>.u.cmp.to.
1231 (append_composite_glyph): Likewise.
1232
1233 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
1234 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
1235 composition.
1236 (append_composite_glyph): Adjust for the change of
1237 <strcut glyph>.u.cmp.to.
1238
1239 2009-02-11 Juanma Barranquero <lekktu@gmail.com>
1240
1241 * casetab.c (init_casetab_once):
1242 * coding.c (ALLOC_CONVERSION_WORK_AREA):
1243 * font.c (font_update_lface):
1244 * fontset.c (Fnew_fontset):
1245 * ftfont.c (ftfont_drive_otf):
1246 * xfont.c (xfont_open):
1247 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
1248
1249 2009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1250
1251 * fileio.c (Fwrite_region): !NILP -> CONSP.
1252
1253 2009-02-10 Andreas Schwab <schwab@suse.de>
1254
1255 * process.c (send_process): Properly relocate pointer into data
1256 when using encoded data. (Bug#2272)
1257
1258 2009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
1259
1260 * coding.c (detect_coding_charset): Fix previous change.
1261
1262 2009-02-08 Jason Rumney <jasonr@gnu.org>
1263
1264 * w32fns.c (w32_hide_hourglass): Handle case where frame
1265 disappeared while hourglass was displayed. (Bug #2193)
1266
1267 2009-02-07 Andreas Schwab <schwab@suse.de>
1268
1269 * unexelf.c (unexec): Fix error message.
1270
1271 2009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
1272
1273 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
1274 when modal window is active. (Bug #2152)
1275 (applicationShouldTerminate:): Remove now-unneeded while loop
1276 around NSRunAlertPanel.
1277
1278 * nsmenu.m (popupSession): New file-global variable.
1279 (pop_down_menu): End the popupSession before closing dialog.
1280 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
1281 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
1282 don't query NSApp for events (just sleep instead).
1283
1284 2009-02-07 Eli Zaretskii <eliz@gnu.org>
1285
1286 * coding.c (syms_of_coding) <translation-table-for-input>:
1287 Modify doc string to discourage use for character code unification.
1288
1289 2009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1290
1291 * atimer.c (run_timers): Update pending_atimers.
1292
1293 2009-02-06 Chong Yidong <cyd@stupidchicken.com>
1294
1295 * image.c (svg_load_image): Fix last change.
1296
1297 * xfns.c (Fx_create_frame): Signal an error if no font is
1298 found (Bug#2147).
1299
1300 2009-02-05 Juanma Barranquero <lekktu@gmail.com>
1301
1302 * character.c (syms_of_character) <script-representative-chars>:
1303 Fix typo in docstring.
1304
1305 2009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1306
1307 * nsmenu.m (pop_down_menu): New function.
1308 (ns_popup_dialog): Call it on unwind.
1309 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
1310 call timer_check() (Bug#2154).
1311 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
1312 handling_signal is set.
1313 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
1314
1315 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
1316
1317 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
1318
1319 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
1320
1321 * keyboard.c (poll_for_input_1, handle_async_input):
1322 Set handling_signal under HAVE_NS.
1323
1324 2009-02-04 Glenn Morris <rgm@gnu.org>
1325
1326 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
1327
1328 2009-02-04 Kenichi Handa <handa@m17n.org>
1329
1330 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
1331
1332 * charset.c (Fchar_charset): New optional arg restriction.
1333
1334 * coding.h (coding_system_charset_list): Extern it.
1335
1336 * coding.c (coding_system_charset_list): New function.
1337
1338 * composite.c: Include coding.h and termhooks.h.
1339 (composition_gstring_p): Fix for the terminal case.
1340 (composition_gstring_width): Likewise.
1341 (fill_gstring_body): Likewise.
1342 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
1343 the frame.
1344 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
1345 is within a composition.
1346 (Fcomposition_get_gstring): Fix the terminal case.
1347
1348 * term.c (encode_terminal_code): Fix handling of composition.
1349 (produce_composite_glyph): For static composition, get pixel_width
1350 from struct composition.
1351
1352 2009-02-02 Andreas Schwab <schwab@suse.de>
1353
1354 * unexelf.c (unexec): Handle unaligned bss offset.
1355
1356 2009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1357
1358 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
1359 XT,w32read_socket changes to ns_read_socket.
1360
1361 * keyboard.c (handle_interrupt): Don't call
1362 quit_throw_to_read_char() under NS.
1363
1364 * blockinput.h: Remove NS-specific code.
1365
1366 2009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
1367
1368 * dispnew.c (window_change_signal): Don't try to get the size of a
1369 suspended tty frame.
1370 * term.c (Fresume_tty): Resize if the size has changed while the
1371 tty was suspended.
1372
1373 * alloc.c (mark_stack): Properly conditionalize previous change.
1374
1375 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
1376
1377 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
1378 * w32term.c (w32_read_socket) [SYNC_INPUT]:
1379 Remove; this code is not used on Windows.
1380
1381 2009-01-30 Eli Zaretskii <eliz@gnu.org>
1382
1383 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
1384 EOLs that also has stray ^M characters.
1385
1386 2009-01-30 Juanma Barranquero <lekktu@gmail.com>
1387
1388 * atimer.c (run_timers, alarm_signal_handler):
1389 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
1390 * w32inevt.c (w32_console_read_socket):
1391 * w32term.c (w32_read_socket):
1392 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
1393
1394 2009-01-30 Chong Yidong <cyd@stupidchicken.com>
1395
1396 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
1397 Initialize it as a relative filename pattern.
1398 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
1399 (Fcall_process_region): Simplify temp file creation using
1400 temporary-file-directory.
1401
1402 2009-01-29 Eli Zaretskii <eliz@gnu.org>
1403
1404 * msdos.c: Rename pending_signals to msdos_pending_signals.
1405 (sig_suspender, sigprocmask): Adjust.
1406
1407 2009-01-29 Chong Yidong <cyd@stupidchicken.com>
1408
1409 * keyboard.c (pending_signals): New var.
1410 (poll_for_input, input_available_signal, init_keyboard): Set it.
1411 (process_pending_signals): New function.
1412
1413 * lisp.h (QUIT): Check pending_signals instead of
1414 interrupt_input_pending. Use process_pending_signals.
1415
1416 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
1417
1418 * process.c (wait_reading_process_output): Use process_pending_signals.
1419
1420 * sysdep.c (emacs_write): Use process_pending_signals.
1421
1422 * xterm.c (XTread_socket): Update pending_signals.
1423
1424 * w32term.c (w32_read_socket): Update pending_signals.
1425
1426 * w32inevt.c (w32_console_read_socket): Update pending_signals.
1427
1428 2009-01-29 Kenichi Handa <handa@m17n.org>
1429
1430 * xftfont.c (xftfont_has_char): New function.
1431 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
1432
1433 2009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1434
1435 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
1436 under GNUstep.
1437 (ns_query_color): New declaration.
1438
1439 * nsterm.m (ns_confirm_quit): New variable.
1440 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
1441 (EmacsApp-applicationShouldTerminate:): Use it.
1442 (EmacsPrefsController): Let user set it.
1443 (ns_query_color): New function.
1444 (ns_defined_color): Use it.
1445 (ns_initialize): Drop.
1446 (ns_term_init): Add two lines from ns_initialize(), and set
1447 input_interrupt_mode to nil.
1448
1449 * image.c (svg_load_image): Don't right-shift background RGB when
1450 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
1451
1452 2009-01-28 Kenichi Handa <handa@m17n.org>
1453
1454 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
1455 (fontset_get_font_group): Remember that no font-group is specified
1456 for C.
1457
1458 2009-01-27 Chong Yidong <cyd@stupidchicken.com>
1459
1460 * fns.c (concat): Check for string overflow (bug#1787).
1461
1462 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
1463 Quadruple undo limits (bug#1501).
1464
1465 2009-01-27 Kenichi Handa <handa@m17n.org>
1466
1467 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
1468 directly use GT_Get_Char_index.
1469
1470 * xftfont.c (struct xftfont_info): New member `index'.
1471
1472 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
1473 (Ffontset_font): Adjust for the change of fontset entry.
1474
1475 2009-01-26 Kenichi Handa <handa@m17n.org>
1476
1477 * fontset.c (fontset_find_font): Fix handling of non-cons return
1478 value of fontset_get_font_group.
1479 (fontset_font): Revert last change.
1480
1481 2009-01-26 Jason Rumney <jasonr@gnu.org>
1482
1483 * w32font.c (w32font_list_internal): Return quickly if registry is
1484 unknown. Simplify final return.
1485 (add_font_entity_to_list): Break complex logic down into more
1486 manageable chunks. Move unknown registry check to
1487 w32font_list_internal.
1488
1489 2009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
1490
1491 Changes to remove Feval calls from GUI under NS.
1492
1493 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
1494 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
1495 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
1496
1497 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
1498 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
1499 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
1500 instead of NON_ASCII_KEYSTROKE_EVENT.
1501 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
1502 (EmacsApp-applicationShouldTerminate:): Query user.
1503 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
1504 instead of Feval.
1505
1506 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
1507
1508 * keyboard.c (kbd_buffer_get_event): Check for it.
1509 (keys_of_keyboard): Define lispy keys for
1510 ns-put/unput-working-text.
1511
1512 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
1513 versions.
1514 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
1515
1516 2009-01-25 Chong Yidong <cyd@stupidchicken.com>
1517
1518 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
1519 setting current_buffer directly. (Bug#2044)
1520
1521 2009-01-24 Chong Yidong <cyd@stupidchicken.com>
1522
1523 * fontset.c (fontset_font): If we know there is no font, don't do
1524 any work. (Bug#1952, bug#1990).
1525
1526 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
1527
1528 2009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1529
1530 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
1531 (ns_no_defaults): New declaration.
1532 (main): Use it.
1533
1534 * nsterm.h (ns_no_defaults): New declaration.
1535
1536 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
1537
1538 * nsterm.m (ns_no_defaults): New variable.
1539 (ns_initialize): Don't read defaults when ns_no_defaults.
1540 (EmacsView-readSelectionFromPasteboard:)
1541 (writeSelectionToPasteboard:types:): New stubbed-out methods for
1542 NSServicesRequests protocol. (Bug#1435)
1543 (ns_dumpglyphs_stretch): New function.
1544 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
1545 of 2008-11-15 to other terms. (Bug#615)
1546
1547 * nsimage.m (setPixmapData:): Set to ignore image DPI.
1548
1549 2009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
1550
1551 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
1552 call for Sparc64.
1553
1554 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1555
1556 * nsfns.m:
1557 * nsgui.h:
1558 * nsmenu.m:
1559 * nsselect.m:
1560 * nsterm.h:
1561 * nsterm.m: Remove '23' comments that indicated code added during
1562 update from emacs-20 -> emacs-23.
1563
1564 2009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1565
1566 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
1567 ns_alternate_modifier. (Bug#1217)
1568
1569 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
1570 Display all shortcuts, including those w/o super modifier.
1571
1572 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
1573
1574 2009-01-22 Chong Yidong <cyd@stupidchicken.com>
1575
1576 * fileio.c (Vwrite_region_post_annotation_function)
1577 (Vwrite_region_annotation_buffers): New vars.
1578 (build_annotations_unwind): Just reset
1579 Vwrite_region_annotation_buffers.
1580 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
1581 Call write-region-post-annotation-function.
1582 (build_annotations): Add to Vwrite_region_annotation_buffers if
1583 buffer changes.
1584
1585 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1586
1587 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
1588 Tiger.
1589 * nsfns.m (ns_do_applescript):
1590 Conditionalize typeUTF16ExternalRepresentation on Tiger.
1591
1592 2009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1593
1594 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
1595
1596 2009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1597
1598 * nsmenu.m (NSMENUPROFILE): Change #if style.
1599
1600 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
1601
1602 * nsterm.m (x_set_frame_alpha): Add prototype.
1603 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
1604 handle Ctrl-tab. (Bug#1841)
1605 (ns_get_color): Use unsigned long long for scanned hex string value.
1606 (ns_term_shutdown): Abort on non SIGTERM signals.
1607 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
1608 (EmacsPrefsController-setPanelFromDefaultValues): New function.
1609 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
1610 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
1611 (ns_defined_color): Fix settings of the XColor variable fields:
1612 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
1613
1614 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
1615 DPI. (Bug#1316)
1616 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
1617 values in onTiger section.
1618
1619 2009-01-19 Chong Yidong <cyd@stupidchicken.com>
1620
1621 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
1622 Check return value of font_spec_from_name.
1623 (Fx_list_fonts): Doc fix. (Bug#1951)
1624
1625 * font.c (font_spec_from_name): Return Qnil if font name could not
1626 be parsed.
1627 (font_parse_name): Treat a `?' character as part of an XLFD.
1628
1629 * fns.c (Fsubstring): Doc fix.
1630
1631 2009-01-19 Kenichi Handa <handa@m17n.org>
1632
1633 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1634 (ftfont_list): Likewise.
1635
1636 2009-01-18 Juanma Barranquero <lekktu@gmail.com>
1637
1638 * dbusbind.c (Fdbus_register_signal):
1639 * process.c (conv_sockaddr_to_lisp):
1640 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
1641
1642 * callproc.c (Fgetenv_internal): Doc fix.
1643
1644 2009-01-16 Chong Yidong <cyd@stupidchicken.com>
1645
1646 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
1647 it is not even used.
1648
1649 2009-01-16 Glenn Morris <rgm@gnu.org>
1650
1651 * font.c (Ffont_variation_glyphs): Silence compiler.
1652
1653 2009-01-15 Juanma Barranquero <lekktu@gmail.com>
1654
1655 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
1656 Reported by David Robinow <drobinow@gmail.com>.
1657
1658 2009-01-15 Kenichi Handa <handa@m17n.org>
1659
1660 * coding.c (detect_coding_system): Fix handling of null_byte_found.
1661
1662 2009-01-14 Jason Rumney <jasonr@gnu.org>
1663
1664 * frame.c (x_set_font): Always store a font to the font parameter,
1665 never a fontset. (Bug#1562)
1666
1667 2009-01-14 Kenichi Handa <handa@m17n.org>
1668
1669 * coding.c (TWO_MORE_BYTES): New macro.
1670 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
1671
1672 2009-01-13 Chong Yidong <cyd@stupidchicken.com>
1673
1674 * font.c (font_clear_prop): If clearing the family, clear the font
1675 width index too.
1676
1677 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
1678
1679 2009-01-12 Juanma Barranquero <lekktu@gmail.com>
1680
1681 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1682 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1683 functions, use sizeof.
1684
1685 2009-01-12 Martin Rudalics <rudalics@gmx.at>
1686
1687 * keyboard.c (read_char): Fix case where last_nonmenu_event
1688 returned a bad value with submenus. (Bug#447)
1689
1690 2009-01-12 Chong Yidong <cyd@stupidchicken.com>
1691
1692 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1693 family, clear the font width index too.
1694
1695 2009-01-11 Jason Rumney <jasonr@gnu.org>
1696
1697 * keyboard.c (cmd_error_internal): Exit when errors occur before
1698 frame creation and not in daemon mode. (Bug#1836)
1699
1700 2009-01-10 Chong Yidong <cyd@stupidchicken.com>
1701
1702 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1703 of a display vector, backtrack.
1704 (try_window_reusing_current_matrix): Check glyph type before
1705 referencing charpos member.
1706
1707 2009-01-10 Eli Zaretskii <eliz@gnu.org>
1708
1709 Fix Bug #876:
1710
1711 * coding.c (inhibit_null_byte_detection): New variable.
1712 (detect_coding, detect_coding_system): Don't pay attention to null
1713 bytes if inhibit_null_byte_detection is non-zero.
1714 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
1715 <inhibit-iso-escape-detection>: Doc fix.
1716
1717 2009-01-09 Jason Rumney <jasonr@gnu.org>
1718
1719 * w32font.c (add_font_entity_to_list): Don't report unknown
1720 Windows charset as any unrecognized registry. (Bug#1548)
1721 Only report Unicode Plane 2 fonts as unicode-sip.
1722
1723 2009-01-09 Chong Yidong <cyd@stupidchicken.com>
1724
1725 * xfaces.c (Fx_font_family_list): Delete function.
1726 Move compatibility version to faces.el.
1727
1728 * font.c (Ffont_family_list): Return a list of strings, not symbols.
1729
1730 2009-01-09 Martin Rudalics <rudalics@gmx.at>
1731
1732 * frame.c (x_set_frame_parameters): Remember requested value for
1733 fullscreen before it's reset by the parameter handler.
1734
1735 2009-01-09 Glenn Morris <rgm@gnu.org>
1736
1737 * keyboard.c (last_command_char): For clarity, rename to...
1738 (last_command_event): ... and update all users.
1739 (last_input_char): For clarity, rename to...
1740 (last_input_event): ... and update all users.
1741 (last-command-char, last-input-char): Move to subr.el as aliases.
1742 * cmds.c, commands.h: Update for last_command_char rename.
1743
1744 2009-01-08 Chong Yidong <cyd@stupidchicken.com>
1745
1746 * font.c (font_open_for_lface): Handle unspecified height attribute.
1747
1748 2009-01-08 Jason Rumney <jasonr@gnu.org>
1749
1750 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1751 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1752 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1753 Don't declare.
1754 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
1755 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1756
1757 2009-01-07 Kenichi Handa <handa@m17n.org>
1758
1759 * fileio.c (Finsert_file_contents): In the case of replace,
1760 remember the coding system used for decoding in
1761 coding_system (Bug#1039).
1762
1763 * coding.c (decode_coding_utf_8): Check byte_after_cr before
1764 breaking the loop. (Bug#870)
1765 (decode_coding_utf_16, decode_coding_emacs_mule)
1766 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1767 (decode_coding_charset): Likewise.
1768
1769 2009-01-05 Martin Rudalics <rudalics@gmx.at>
1770
1771 * frame.c (x_set_frame_parameters): Make sure height (width) get
1772 applied when fullwidth (fullheight) is set. (Bug#1522)
1773
1774 2009-01-04 Juanma Barranquero <lekktu@gmail.com>
1775
1776 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
1777 (utc_base): Declare as ULONGLONG, not long double.
1778 (convert_time_raw): Delete.
1779 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
1780 (initialize_utc_base): New function.
1781 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
1782 (convert_from_time_t): Use initialize_utc_base; compute result with
1783 64-bit arithmetic.
1784 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
1785
1786 2009-01-03 Eli Zaretskii <eliz@gnu.org>
1787
1788 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
1789 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
1790 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
1791 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
1792 [!subprocesses]: Define.
1793 (syms_of_process) [!subprocesses]: Intern and staticpro them.
1794 (Flist_system_processes, Fsystem_process_attributes)
1795 [!subprocesses]: Call list_system_processes and
1796 system_process_attributes instead of returning Qnil.
1797
1798 * dosfns.c (system_process_attributes, list_system_processes):
1799 New functions.
1800
1801 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
1802
1803 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
1804 Don't use the default (no-op) implementation.
1805
1806 2009-01-03 Jason Rumney <jasonr@gnu.org>
1807
1808 * keyboard.c (parse_modifiers_uncached): Wheel events are
1809 clicks (bug#687).
1810
1811 * w32term.c (x_query_colors, x_query_color): New functions.
1812
1813 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
1814 (svg_load_image): Cast returned pointers from dynamically loaded
1815 functions. Eliminate W32 specific code.
1816
1817 2009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
1818
1819 * nsfns.m (x_set_foreground_color, x_set_background_color)
1820 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
1821 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
1822 x_ prefix instead of ns_. Update references.
1823 (syms_of_nsfns): Add a FIXME comment.
1824
1825 * nsterm.m (x_set_cursor_type): New prototype.
1826 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
1827
1828 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
1829 for Solaris instead of incorrectly providing Qutime and Qcutime.
1830
1831 2009-01-02 Eli Zaretskii <eliz@gnu.org>
1832
1833 * w32.c (process_times): Compute sum of utime and stime.
1834 (system_process_attributes): Add Qtime to the alist.
1835
1836 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
1837 and add them to the alist.
1838
1839 * process.c (top level) <Qtime, Qctime>: New variables.
1840 (syms_of_process): staticpro them.
1841 (Fsystem_process_attributes): Add their documentation to the doc
1842 string.
1843
1844 * process.h: Declare Qtime and Qctime.
1845
1846 2009-01-02 Jason Rumney <jasonr@gnu.org>
1847
1848 * image.c (Qgobject): New symbol.
1849 (syms_of_image): Initialize it.
1850 (init_svg_functions): Load some functions from gobject library.
1851
1852 2009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
1853
1854 * frame.c (make_terminal_frame): Remove redundant code and useless
1855 block.
1856
1857 2009-01-01 Andreas Schwab <schwab@suse.de>
1858
1859 * process.c (conv_sockaddr_to_lisp): Add workaround for
1860 getsockname bug on BSD.
1861
1862 2009-01-01 Chong Yidong <cyd@stupidchicken.com>
1863
1864 * xfns.c (x_create_tip_frame): Set border width of the X window.
1865
1866 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
1867
1868 2009-01-01 Jason Rumney <jasonr@gnu.org>
1869
1870 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
1871 Don't block input, as per earlier xterm.c changes.
1872
1873 2008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
1874
1875 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
1876 (ns_appkit_version_int): New function.
1877 (x-server-version): Use ns_appkit_version_int and follow 21+
1878 convention of returning 3 integers.
1879
1880 2008-12-30 Kenichi Handa <handa@m17n.org>
1881
1882 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
1883 (CHAR_SURROGATE_PAIR_P): New macro.
1884
1885 * font.h (struct font_driver): New member get_variation_glyphs.
1886
1887 * font.c (font_range): Don't require a font for a variation selector.
1888 (Ffont_variation_glyphs): New function.
1889 (syms_of_font): Defsubr it.
1890
1891 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
1892 ftfont_variation_glyphs.
1893 (setup_otf_gstring): New function.
1894 (ftfont_drive_otf): Use it.
1895 (ftfont_shape_by_flt): Handle variation selector.
1896 (ftfont_variation_glyphs): New function.
1897
1898 2008-12-30 Martin Rudalics <rudalics@gmx.at>
1899
1900 * frame.c (Vemacs_iconified): Remove.
1901
1902 2008-12-30 Jason Rumney <jasonr@gnu.org>
1903
1904 * frame.c (store_frame_param, x_get_arg): Enable newer code on
1905 WINDOWSNT too, as related changes have already been synced. (Bug#117)
1906
1907 2008-12-30 Chong Yidong <cyd@stupidchicken.com>
1908
1909 * indent.c (Fvertical_motion): Don't advance iterator if we have
1910 reseated to the desired position.
1911
1912 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
1913 checking for pos match.
1914
1915 2008-12-30 Kenichi Handa <handa@m17n.org>
1916
1917 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
1918 just get the low 8-bit of the code.
1919
1920 * font.c (font_intern_prop): Validate str as multibyte.
1921
1922 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1923
1924 * dispextern.h (struct face): Move lface and hash from the middle
1925 of bitfields.
1926
1927 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
1928
1929 2008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1930
1931 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
1932 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
1933 instead of intervals.h.
1934
1935 2008-12-26 Andreas Schwab <schwab@suse.de>
1936
1937 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
1938 cons.
1939
1940 2008-12-26 Martin Rudalics <rudalics@gmx.at>
1941
1942 * textprop.c (Qminibuffer_prompt): New variable.
1943 (syms_of_textprop): Initialize it.
1944 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
1945 in minibuffer-prompt face. (Bug#1662)
1946
1947 2008-12-25 Jason Rumney <jasonr@gnu.org>
1948
1949 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
1950
1951 2008-12-24 Jason Rumney <jasonr@gnu.org>
1952
1953 * ralloc.c (r_alloc_reset_variable): New function.
1954
1955 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
1956 record of what points where. (Bug#716)
1957
1958 2008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
1959
1960 * minibuf.c (read_minibuf): Follow the non-interactive case when
1961 running as a daemon, before detaching.
1962
1963 2008-12-22 Andreas Schwab <schwab@suse.de>
1964
1965 * buffer.c (init_buffer): Use realloc instead of xrealloc.
1966 * gtkutil.c (free_widget_value): Use xfree instead of free.
1967
1968 2008-12-22 Martin Rudalics <rudalics@gmx.at>
1969
1970 * frame.c (delete_frame): New function derived from
1971 Fdelete_frame to handle Qnoelisp value for FORCE argument.
1972 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
1973 (Fdelete_frame): Call delete_frame. Remove line from doc-string
1974 saying that FORCE non-nil doesn't run `delete-frame-functions'.
1975 * frame.h: Extern delete_frame.
1976 * window.c (window_loop):
1977 * terminal.c (delete_terminal):
1978 * xterm.c (x_connection_closed):
1979 * xfns.c (Fx_hide_tip):
1980 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
1981
1982 2008-12-21 Jason Rumney <jasonr@gnu.org>
1983
1984 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
1985 when character maps to .notdef character.
1986
1987 2008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
1988
1989 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
1990
1991 2008-12-20 Jason Rumney <jasonr@gnu.org>
1992
1993 * frame.c (Fmake_terminal_frame): Raise an error when called from
1994 a graphical frame on Windows. (Bug#1325)
1995
1996 2008-12-20 Jan Djärv <jan.h.d@swipnet.se>
1997
1998 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
1999
2000 2008-12-20 Chong Yidong <cyd@stupidchicken.com>
2001
2002 * minibuf.c (Fread_buffer): Doc fix.
2003
2004 2008-12-20 Jason Rumney <jasonr@gnu.org>
2005
2006 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
2007 server name in UNC paths. (Bug#719)
2008
2009 * coding.c (decode_coding): Clear chars_at_source flag when using
2010 charbuf. (Bug#1035)
2011
2012 2008-12-19 Daniel Engeler <engeler@gmail.com>
2013
2014 * sysdep.c (serial_configure): Fix typo.
2015
2016 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2017
2018 * sysdep.c: Include alloca.h.
2019 (system_process_attributes): Add implementation for Solaris.
2020
2021 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
2022
2023 2008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
2024
2025 Reorganize implementation of Flist_system_processes and
2026 Fsystem_process_attributes. No functional changes.
2027 * process.c: Don't #include pwd.h, grp.h and limits.h.
2028 (Flist_system_processes): Just call list_system_processes.
2029 (Fsystem_process_attributes): Just call system_process_attributes.
2030 (procfs_list_system_processes, time_from_jiffies)
2031 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
2032 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
2033
2034 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
2035 (list_system_processes): Rename from
2036 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
2037 Provide a do nothing implementation.
2038 (system_process_attributes): Rename from
2039 procfs_list_system_processes.
2040 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
2041 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
2042
2043 * w32.c (list_system_processes): Rename from
2044 w32_list_system_processes.
2045 (system_process_attributes): Rename from
2046 w32_system_process_attributes.
2047
2048 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
2049
2050 * process.h (w32_list_system_processes)
2051 (w32_system_process_attributes): Remove.
2052 (list_system_processes, system_process_attributes): New
2053 prototypes.
2054
2055 2008-12-19 Kenichi Handa <handa@m17n.org>
2056
2057 * xfont.c (xfont_decode_coding_xlfd): New function.
2058 (xfont_encode_coding_xlfd): New function.
2059 (xfont_list_pattern): Decode XLFD by iso-8859-1.
2060 (xfont_list): Decode and encode XLFD by iso-8859-1.
2061 (xfont_match): Likewise.
2062 (xfont_list_family): Likewise.
2063 (xfont_open): Likewise.
2064
2065 * ftfont.c (ftfont_open): Generate a multibyte string if given
2066 names are utf-8.
2067
2068 * xftfont.c (xftfont_open): Generate a multibyte string if given
2069 names are utf-8.
2070
2071 2008-12-18 Jan Djärv <jan.h.d@swipnet.se>
2072
2073 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
2074 changed.
2075 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
2076 clicked on a detached tool bar button.
2077
2078 2008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
2079
2080 * emacs.c (main): Print and error and exit when no data is read
2081 from the pipe.
2082
2083 2008-12-17 Jason Rumney <jasonr@gnu.org>
2084
2085 * w32font.c (w32font_has_char): Always return -1.
2086
2087 2008-12-16 Kenichi Handa <handa@m17n.org>
2088
2089 * font.c (font_open_entity): Fix previous change.
2090
2091 2008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
2092
2093 * process.c: Include <limits.h>.
2094
2095 2008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
2096
2097 * font.c (font_update_drivers): Fix mistake in reconstructing the
2098 driver list.
2099
2100 2008-12-16 Chong Yidong <cyd@stupidchicken.com>
2101
2102 * font.c (font_clear_cache): Fix format of font cache data.
2103
2104 2008-12-15 Chong Yidong <cyd@stupidchicken.com>
2105
2106 * xftfont.c (xftfont_open): Free Xft font pattern if
2107 XftFontOpenPattern fails.
2108
2109 * xterm.c (x_free_frame_resources): Remove extraneous call to
2110 free_frame_faces.
2111
2112 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
2113
2114 * xterm.c (x_delete_display): Move xim_close_dpy call to
2115 x_delete_terminal.
2116 (x_delete_terminal): Call xim_close_dpy.
2117
2118 2008-12-13 Jason Rumney <jasonr@gnu.org>
2119
2120 * w32font.c (intern_font_name): New function.
2121 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
2122 (w32font_open_internal, Fx_select_font): Decode font name.
2123 (fill_in_logfont, list_all_matching_fonts): Encode font name.
2124
2125 * w32font.h (intern_font_name): Declare new function.
2126
2127 * w32uniscribe.c (add_opentype_font_name_to_list):
2128 Use intern_font_name.
2129
2130 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
2131
2132 * frame.c (Fdelete_frame): Call free_font_driver_list.
2133
2134 * font.c (free_font_driver_list): Implement missing function.
2135
2136 * w32term.c (w32_term_init): Don't initialize the image cache
2137 here; it will be done in init_frame_faces.
2138
2139 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
2140 (struct x_display_info): Remove unused member null_pixel. New
2141 member xim_callback_data.
2142
2143 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
2144 (xim_initialize): Save pointer to callback function data.
2145 (xim_close_dpy): Free callback function data. Call XCloseIM,
2146 reverting 2008-11-04 change by David Smith.
2147 (x_term_init): Don't initialize the image cache here; it will be
2148 done in init_frame_faces. Remove ancient "null_pixel" cruft.
2149 (x_delete_display): Free x_dnd_atoms member.
2150
2151 2008-12-13 Kenichi Handa <handa@m17n.org>
2152
2153 * font.c (font_rescale_ratio): Moved from xfaces.c.
2154 Argument type changed. Handle a font-spec too.
2155 (font_score): Check Vface_font_rescale_alist.
2156 (font_open_entity): Likewise. (Bug#1547)
2157
2158 * xfaces.c (font_rescale_ratio): Moved to font.c.
2159
2160 2008-12-13 Chong Yidong <cyd@stupidchicken.com>
2161
2162 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
2163
2164 2008-12-12 Jason Rumney <jasonr@gnu.org>
2165
2166 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
2167 Vwindow_system_version to the real w32 major version.
2168
2169 2008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
2170
2171 * term.c (init_tty): Move setting the terminal name before the
2172 potential user: maybe_fatal.
2173
2174 2008-12-11 Chong Yidong <cyd@stupidchicken.com>
2175
2176 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
2177 all callers changed. Call free_frame_faces to free the face cache.
2178
2179 2008-12-11 Jason Rumney <jasonr@gnu.org>
2180
2181 * w32font.c (fill_in_logfont): Don't assume symbol script means
2182 SYMBOL_CHARSET. (Bug#547)
2183
2184 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
2185 size for surrogates. (Bug#1096, bug#872)
2186
2187 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
2188
2189 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
2190
2191 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
2192
2193 * process.c (Fsystem_process_attributes, syms_of_process):
2194 Fix typo in name of Ssystem_process_attributes.
2195 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
2196
2197 2008-12-11 Juanma Barranquero <lekktu@gmail.com>
2198
2199 * syntax.c (Fmodify_syntax_entry): Doc fix.
2200
2201 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
2202
2203 * font.c (Ffont_spec): Move usage to end of docstring.
2204
2205 2008-12-10 Jason Rumney <jasonr@gnu.org>
2206
2207 * w32font.c (Qcham): New symbol.
2208 (font_supported_scripts): Add cham, and comments for other new
2209 scripts in bitfield from OpenType spec.
2210 (add_font_entity_to_list): Limit unicode-sip fonts to those that
2211 contain characters beyond the bmp.
2212
2213 2008-12-10 Kenichi Handa <handa@m17n.org>
2214
2215 * ftfont.c (fc_charset_table): Add "unicode-sip".
2216 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
2217 Qunicode_sip.
2218
2219 2008-12-10 Juanma Barranquero <lekktu@gmail.com>
2220
2221 * coding.c (QCdefault_char): Rename from QCdefalut_char.
2222 (Fcoding_system_put): Use QCdefault_char.
2223 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
2224
2225 2008-12-09 Chong Yidong <cyd@stupidchicken.com>
2226
2227 * xftfont.c (syms_of_xftfont): Fix typo.
2228
2229 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
2230
2231 2008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
2232
2233 * emacs.c (main): Close daemon_pipe on exec.
2234
2235 2008-12-08 Chong Yidong <cyd@stupidchicken.com>
2236
2237 * termchar.h (struct tty): New members termcap_term_buffer and
2238 termcap_strings_buffer.
2239
2240 * term.c (encode_terminal_code): Free any previous memory blocks
2241 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
2242 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
2243 All callers changed.
2244 (init_tty): Store termcap data and string buffers in new struct
2245 tty members termcap_term_buffer and termcap_strings_buffer.
2246 (delete_tty): Free them.
2247 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
2248
2249 2008-12-07 Seiji Zenitani <zenitani@mac.com>
2250
2251 * nsfns.m (ns_set_background_color): Remove code duplication.
2252 It was a substitute for face-transparency on OS X 10.3.
2253
2254 2008-12-06 Chong Yidong <cyd@stupidchicken.com>
2255
2256 * coding.c (make_conversion_work_buffer): Disable buffer
2257 modification hooks in the work buffer.
2258
2259 2008-12-05 Eli Zaretskii <eliz@gnu.org>
2260
2261 * process.c (procfs_system_process_attributes): If `nread' has a
2262 negative value, assign zero to it.
2263
2264 2008-12-05 Chong Yidong <cyd@stupidchicken.com>
2265
2266 * eval.c (Vdebug_on_error): Doc fix.
2267
2268 2008-12-05 Kenichi Handa <handa@m17n.org>
2269
2270 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
2271 second character is a combining character.
2272
2273 2008-12-05 Eli Zaretskii <eliz@gnu.org>
2274
2275 * process.c (procfs_system_process_attributes): Don't use cmd,
2276 cmdsize, and q without initializing them first.
2277
2278 2008-12-04 Jason Rumney <jasonr@gnu.org>
2279
2280 * w32font.c (w32font_draw): Initialize orig_clip before getting
2281 it, and delete it when finished.
2282
2283 2008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
2284
2285 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
2286 case when running as a daemon before detaching.
2287
2288 2008-12-03 Juanma Barranquero <lekktu@gmail.com>
2289
2290 * w32.c (init_environment): Don't unload library shell32.dll.
2291
2292 2008-12-03 Kenichi Handa <handa@m17n.org>
2293
2294 * font.c (font_at): Set `multibyte' at first.
2295
2296 * coding.c (decode_coding_charset): Check type of an element of
2297 vector VALIDS.
2298 (encode_coding_emacs_mule): Be sure to set `code'.
2299
2300 * fontset.c (face_for_char): Handle invalid charset property correctly.
2301 (font_for_char): Likewise.
2302
2303 2008-12-03 Chong Yidong <cyd@stupidchicken.com>
2304
2305 * font.c (Fopen_font): Compute pixel size correctly.
2306 (font_update_lface): Handle fonts with corrupted size specs,
2307 i.e. non-int and non-float.
2308
2309 * ftfont.c (ftfont_match): Initialize entity variable.
2310 (ftfont_resolve_generic_family): Avoid using uninitialized var.
2311 (ftfont_list_family): Initialize list var earlier.
2312
2313 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
2314
2315 * xterm.c (x_draw_glyph_string): Fall back on
2316 underline_minimum_offset for underline position.
2317
2318 2008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
2319
2320 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
2321
2322 * character.c (c_string_width): Specify the type for LEN.
2323
2324 2008-12-03 Kenichi Handa <handa@m17n.org>
2325
2326 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
2327 (decode_coding_utf_8): Likewise.
2328 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
2329 (produce_chars): Initialize consumed_chars to 0.
2330
2331 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
2332
2333 * keyboard.c (make_lispy_position): Only use PT if the selected
2334 window is current.
2335
2336 2008-12-02 Andreas Schwab <schwab@suse.de>
2337
2338 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
2339
2340 * doprnt.c (doprnt1): Fix size of charbuf.
2341
2342 2008-12-02 Chong Yidong <cyd@stupidchicken.com>
2343
2344 * keyboard.c (timer_check): Revert last change.
2345
2346 2008-12-02 Juanma Barranquero <lekktu@gmail.com>
2347
2348 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
2349
2350 2008-12-01 Juanma Barranquero <lekktu@gmail.com>
2351
2352 * makefile.w32-in: Update dependencies.
2353 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
2354
2355 2008-12-01 Andreas Schwab <schwab@suse.de>
2356
2357 * font.c (register_font_driver): Use xmalloc.
2358 (font_put_frame_data): Likewise.
2359
2360 2008-12-01 Chong Yidong <cyd@stupidchicken.com>
2361
2362 * xfaces.c (realize_x_face): Make abort condition clearer.
2363
2364 * gtkutil.c (update_frame_tool_bar): Initialize variable.
2365
2366 2008-11-30 Chong Yidong <cyd@stupidchicken.com>
2367
2368 * keyboard.c (timer_check): After a timer runs, ensure that the
2369 selected window's buffer is current.
2370
2371 2008-11-30 Juanma Barranquero <lekktu@gmail.com>
2372
2373 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
2374 It was accidentally restored by the Unicode merge.
2375
2376 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
2377
2378 2008-11-29 Juanma Barranquero <lekktu@gmail.com>
2379
2380 * w32proc.c: Include "coding.h".
2381 (Fw32_short_file_name): Encode filename passed to Windows API.
2382 (Fw32_long_file_name): Encode filename passed to Windows API and
2383 decode back the result. (Bug#1433)
2384
2385 2008-11-29 Kenichi Handa <handa@m17n.org>
2386
2387 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
2388 not before accessing it.
2389
2390 * charset.c (Fdefine_charset_internal): After calculating
2391 min_char, max_char, and fastmap, copy the charset structure again.
2392 (encode_char): Fix the previous change.
2393
2394 2008-11-28 Seiji Zenitani <zenitani@mac.com>
2395
2396 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
2397
2398 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
2399
2400 * nsterm.m (x_set_frame_alpha): New function.
2401
2402 2008-11-27 Eli Zaretskii <eliz@gnu.org>
2403
2404 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
2405
2406 2008-11-27 Juanma Barranquero <lekktu@gmail.com>
2407
2408 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
2409 pointer to check_face_name.
2410
2411 2008-11-27 Kenichi Handa <handa@m17n.org>
2412
2413 * category.h (SET_CATEGORY_SET): Call set_category_set.
2414 (set_category_set): Extern it.
2415
2416 * category.c (hash_get_category_set): New function.
2417 (Fmodify_category_entry): Adjusted for the change of
2418 char_table_ref_and_range. Call hash_get_category_set to get a
2419 category set to store in the table.
2420
2421 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
2422 Funify_charset.
2423
2424 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
2425 (DECODE_CHAR): Check if the decoder vector is ready.
2426 (ENCODE_CHAR): Check if the encoder char-table is ready.
2427 (maybe_unify_char): Extern it.
2428
2429 * charset.c (Vchar_unified_charset_table): Delete it.
2430 (inhibit_load_charset_map): New variable.
2431 (temp_charset_work): New variable.
2432 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
2433 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
2434 New macros.
2435 (load_charset_map): Meaning of control_flag changed. If
2436 inhibit_load_charset_map is nonzero, setup a table in
2437 temp_charset_work.
2438 (load_charset): New argument control_flag.
2439 (map_charset_for_dump): New function.
2440 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
2441 map_charset_for_dump.
2442 (Fdefine_charset_internal): If the charset method is MAP, load
2443 mapping tables by calling load_charset.
2444 (Funify_charset): Don't load a mapping table but directly set
2445 Vchar_unify_table.
2446 (maybe_unify_char): New function.
2447 (decode_char): Don't handle the deleted method MAP_DEFERRED.
2448 Handle the case of inhibit_load_charset_map being nonzero.
2449 (encode_char): Don't handle the deleted method MAP_DEFERRED.
2450 Handle the case of inhibit_load_charset_map being nonzero.
2451 (Fclear_charset_maps): Just free temp_charset_work.
2452 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
2453 variable.
2454
2455 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
2456 change of char_table_ref_and_range.
2457 (char_table_ref_and_range): Change the meaning of argument FROM
2458 and TO. Now the caller must provide initial values for *FROM
2459 and *TO.
2460
2461 * fontset.c (fontset_add): Adjusted for the change of
2462 char_table_ref_and_range.
2463 (fontset_get_font_group): Likewise.
2464 (Ffontset_info): Likewise.
2465
2466 * keymap.c (describe_vector): Adjusted for the change of
2467 char_table_ref_and_range. For char-table, put boundary between
2468 non-ASCII and 8-bit characters.
2469
2470 * print.c (print_object): For bool-vector, delete unnecessary
2471 check of ASCII_BYTE_P.
2472
2473 2008-11-26 Jason Rumney <jasonr@gnu.org>
2474
2475 * w32font.c (w32font_open_internal): Don't include external
2476 leading in font height. (Bug#879)
2477
2478 2008-11-26 Glenn Morris <rgm@gnu.org>
2479
2480 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
2481 redefinition with ifdef. (Bug#1383)
2482
2483 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2484
2485 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
2486
2487 2008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
2488
2489 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
2490 New EmacsView methods.
2491 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
2492 Fixes bug #1048,1357,1414.
2493
2494 2008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2495
2496 Fix bug #1362.
2497 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
2498 is not an indexed color.
2499 * nsterm.m (free_indexed_color): Add argument checking.
2500 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
2501
2502 2008-11-24 Chong Yidong <cyd@stupidchicken.com>
2503
2504 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
2505 Document confirm-after-completion value for
2506 minibuffer-completion-confirm.
2507
2508 2008-11-24 Jason Rumney <jasonr@gnu.org>
2509
2510 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
2511 warning.
2512
2513 2008-11-23 Jason Rumney <jasonr@gnu.org>
2514
2515 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
2516 restored before returning.
2517
2518 * w32font.c (check_face_name): New function.
2519 (add_font_entity_to_list): Use it to filter out common substituted
2520 fonts. (Bug#642)
2521
2522 2008-11-22 Martin Rudalics <rudalics@gmx.at>
2523
2524 * buffer.c (Fswitch_to_buffer): Reword and mention new option
2525 confirm-nonexistent-file-or-buffer in doc-string.
2526
2527 2008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2528
2529 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
2530 Fix copy/paste typo. Add checks.
2531
2532 2008-11-21 Kenichi Handa <handa@m17n.org>
2533
2534 * coding.c (detect_coding_iso_2022): Reject invalid composition
2535 sequence.
2536 (DECODE_COMPOSITION_START): If the current source is the last
2537 block, and the current composition doesn't end, regard this
2538 sequence as invalid.
2539 (decode_coding_iso_2022): Handle invalid composition sequence.
2540
2541 2008-11-20 Martin Rudalics <rudalics@gmx.at>
2542
2543 * window.c (coordinates_in_window): Don't return
2544 ON_VERTICAL_BORDER for the rightmost position of a mode/header
2545 line when the window is not the rightmost one. (Bug#1372)
2546
2547 2008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2548
2549 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
2550
2551 2008-11-15 Eli Zaretskii <eliz@gnu.org>
2552
2553 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
2554 and bright_bg if noninteractive is non-zero.
2555
2556 2008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2557
2558 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
2559 x_draw_glyph_string_background.
2560
2561 * w32term.c (x_draw_glyph_string): Likewise.
2562
2563 2008-11-15 Chong Yidong <cyd@stupidchicken.com>
2564
2565 * xterm.c (x_draw_glyph_string): Stop drawing the background of
2566 the next glyph string once past the overhang width.
2567
2568 * nsterm.m (ns_draw_glyph_string): Likewise.
2569
2570 * w32term.c (x_draw_glyph_string): Likewise.
2571
2572 2008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
2573
2574 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
2575 double file close.
2576
2577 2008-11-14 Martin Rudalics <rudalics@gmx.at>
2578
2579 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
2580 dedicated status of window before attempting to display another
2581 buffer in it.
2582
2583 2008-11-14 Juanma Barranquero <lekktu@gmail.com>
2584
2585 * msdos.c (Fmsdos_long_file_names):
2586 (syms_of_msdos) <dos-unsupported-char-glyph>:
2587 * dosfns.c (Fint86): Fix typos in docstrings.
2588
2589 2008-11-14 Eli Zaretskii <eliz@gnu.org>
2590
2591 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
2592
2593 2008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
2594
2595 * puresize.h (BASE_PURESIZE): Increase to 1260000.
2596
2597 2008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
2598
2599 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
2600
2601 * frame.h: Negative alpha means "don't touch".
2602
2603 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
2604
2605 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
2606
2607 2008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
2608
2609 * hftctl.c:
2610 * chpdef.h:
2611 * acldef.h: Remove files used only for systems no longer supported.
2612
2613 * Makefile.in: Fix .o alphabetical ordering.
2614 (hftctl.o): Remove dependency, file removed.
2615 (keymap.o, print.o): Depend on charset.h.
2616
2617 2008-11-10 Kenichi Handa <handa@m17n.org>
2618
2619 * character.c (Fget_byte): Fix and make it faster for unibyte target.
2620
2621 2008-11-08 Chong Yidong <cyd@stupidchicken.com>
2622
2623 * dired.c (file_name_completion): If completion_ignore_case is
2624 enabled, ignore case when checking completion-regexp-list.
2625
2626 2008-11-08 Eli Zaretskii <eliz@gnu.org>
2627
2628 * vm-limit.c (get_lim_data): Fix last change.
2629
2630 2008-11-08 Kenichi Handa <handa@m17n.org>
2631
2632 * character.c (Fget_byte): New function.
2633 (syms_of_character): Defsubr Fget_byte.
2634
2635 2008-11-07 Chong Yidong <cyd@stupidchicken.com>
2636
2637 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
2638 cursor position is valid after scrolling.
2639
2640 2008-11-06 Juanma Barranquero <lekktu@gmail.com>
2641
2642 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
2643
2644 2008-11-06 Glenn Morris <rgm@gnu.org>
2645
2646 * xterm.c (handle_one_xevent): Don't let popup menus cause
2647 mouse-autoselect-window related window switching. (Bug#1261)
2648
2649 2008-11-04 David Smith <davidsmith@acm.org> (tiny change)
2650
2651 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
2652
2653 2008-11-04 Andreas Schwab <schwab@suse.de>
2654
2655 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
2656
2657 2008-11-03 Chong Yidong <cyd@stupidchicken.com>
2658
2659 * xfns.c (Fx_wm_set_size_hint): New function.
2660
2661 2008-11-03 Martin Rudalics <rudalics@gmx.at>
2662
2663 * textprop.c (Fprevious_single_char_property_change): Return 0
2664 when there's no change in a string. (Bug#1301)
2665
2666 2008-11-02 Martin Rudalics <rudalics@gmx.at>
2667
2668 * frame.c (do_switch_frame): New argument NORECORD passed to
2669 Fselect_window.
2670 (Fselect_frame): New argument NORECORD passed to
2671 do_switch_frame.
2672 (Fset_frame_selected_window): New argument NORECORD passed to
2673 Fselect_frame.
2674 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2675 in call of do_switch_frame.
2676 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2677 Handle NORECORD argument in call of Fselect_frame.
2678 * lisp.h (do_switch_frame, Fselect_frame)
2679 (Fset_frame_selected_window): Adjust declarations.
2680 * window.c (select_frame_norecord): New function.
2681 (run_window_configuration_change_hook): Use it and call
2682 Fselect_frame with NORECORD set.
2683 (Fselect_window): Pass NORECORD to Fselect_frame.
2684 (Fset_window_configuration): Handle NORECORD argument in call of
2685 do_switch_frame.
2686 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2687 Fset_frame_selected_window.
2688 * keyboard.c (command_loop_1): Handle NORECORD in call of
2689 Fselect_frame (currently ifdefd).
2690
2691 2008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2692
2693 * emacs.c (USAGE2): Untabify.
2694
2695 2008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2696
2697 * composite.c (fill_gstring_header): Fix copy/paste typo.
2698
2699 2008-10-31 Martin Rudalics <rudalics@gmx.at>
2700
2701 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2702 (Fother_window): Rename argument and rewrite doc-string.
2703 (select_window_norecord): Fix return value. (Bug#1276)
2704
2705 2008-10-30 Juanma Barranquero <lekktu@gmail.com>
2706
2707 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2708 new frames overriding foreground for tooltips. Based on similar patch
2709 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2710
2711 2008-10-29 Chong Yidong <cyd@stupidchicken.com>
2712
2713 * emacs.c (Fdaemon_initialized): Initialize nfd.
2714
2715 2008-10-29 Martin Rudalics <rudalics@gmx.at>
2716
2717 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2718 (Fwindow_text_height): Clarify doc-strings.
2719 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2720 doc-string of window-scroll-functions.
2721
2722 2008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2723
2724 * category.c (syms_of_category): Fix typo in docstring.
2725
2726 2008-10-28 Juanma Barranquero <lekktu@gmail.com>
2727
2728 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2729 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2730 Fix typos in docstrings.
2731
2732 2008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2733
2734 * emacs.c (daemon_pipe): Make non-static.
2735 (IS_DAEMON): Move definition ...
2736 * lisp.h (IS_DAEMON): ... here.
2737 (daemon_pipe): Declare.
2738 (is_daemon): Remove.
2739 * dispnew.c (init_display): Use IS_DAEMON.
2740
2741 2008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2742
2743 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2744 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2745
2746 * emacs.c (is_daemon): Remove.
2747 (main): Don't set is_daemon.
2748 (IS_DAEMON): New macro.
2749 (Fdaemonp, Fdaemon_initialized): Use it.
2750 (Fdaemon_initialized): Write a char into the pipe to make sure the
2751 parent exits.
2752 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2753
2754 2008-10-27 Chong Yidong <cyd@stupidchicken.com>
2755
2756 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2757 over-sized glyph, draw it with the default glyph width.
2758
2759 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2760 glyph, draw it with the default glyph width.
2761
2762 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2763 glyph, draw it with the default glyph width.
2764
2765 * xdisp.c (try_scrolling): When computing the distance from the
2766 scroll margin to PT, try moving some distance past the window
2767 bottom before giving up.
2768
2769 2008-10-27 Martin Rudalics <rudalics@gmx.at>
2770
2771 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
2772 (Fset_window_buffer): Explain in doc-string that a window can be
2773 "strongly" dedicated to its buffer.
2774
2775 2008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
2776
2777 * emacs.c (daemon_name): New variable.
2778 (main): Deal with --daemon=SERVER_NAME.
2779 (Fdaemonp): Return a name if one was passed to --daemon.
2780
2781 2008-10-26 Romain Francoise <romain@orebokech.com>
2782
2783 * emacs.c (daemon_pipe): New variable.
2784 (main): Create a pipe before forking, make the parent exit only after
2785 the child has closed its end of the pipe. Move closing the
2786 descriptors ...
2787 (Fdaemon_initialized): ... here. New function.
2788
2789 2008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2790
2791 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
2792 the previous unoptimized table.
2793
2794 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
2795 the distinction between non-nil and non-t value of `dedicated'.
2796
2797 2008-10-25 Chong Yidong <cyd@stupidchicken.com>
2798
2799 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
2800 read_char_minibuf_menu_text is large enough to hold the menu string.
2801
2802 2008-10-25 Martin Rudalics <rudalics@gmx.at>
2803
2804 * window.c (Fget_buffer_window, Fdelete_windows_on)
2805 (Freplace_buffer_in_windows): Make buffer argument optional and
2806 rename to buffer_or_name.
2807
2808 2008-10-24 Chong Yidong <cyd@stupidchicken.com>
2809
2810 * xdisp.c (handle_single_display_spec, handle_display_prop):
2811 Undo 2005-05-16 change.
2812 (handle_stop): Pop iterator if it's loaded with an empty string.
2813 (get_overlay_strings_1): Don't save iterator if it's loaded with
2814 an empty string (bug#1201).
2815
2816 2008-10-24 Kenichi Handa <handa@m17n.org>
2817
2818 * ftfont.c (ftfont_otf_features): Fix previous change.
2819 (ftfont_otf_capability): Check FeatureList.FeatureCount before
2820 calling ftfont_otf_features.
2821
2822 2008-10-24 Kenichi Handa <handa@m17n.org>
2823
2824 * font.c (font_match_p): Fix for the case that a vector of
2825 characters is in script-representative-chars.
2826
2827 2008-10-24 Michael Albinus <michael.albinus@gmx.de>
2828
2829 * dbusbind.c (xd_in_read_queued_messages): New variable.
2830 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
2831 (xd_read_queued_messages): Catch Qdbus_error from the macros.
2832 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
2833 macro. (Bug#1186).
2834
2835 2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
2836
2837 * s/sol2-10.h: New file.
2838
2839 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
2840
2841 * xdisp.c (fill_glyph_string): Fix typo in source (though the
2842 poor beast has survived 9+ years and the jump from xterm.c!).
2843
2844 2008-10-23 Martin Rudalics <rudalics@gmx.at>
2845
2846 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
2847 Reword doc-string.
2848 (Fbury_buffer): In doc-string say what happens to the buffer's window.
2849
2850 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
2851
2852 * character.c (syms_of_character) <script-representative-chars>:
2853 <unicode-category-table>: Doc fixes.
2854
2855 2008-10-23 Noah Friedman <friedman@splode.com>
2856
2857 * coding.c (make_conversion_work_buffer): Check that
2858 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
2859 Fget_buffer_create.
2860
2861 2008-10-23 Kenichi Handa <handa@m17n.org>
2862
2863 * font.c (font_add_log): Check the values of extra properties.
2864
2865 2008-10-22 Martin Rudalics <rudalics@gmx.at>
2866
2867 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2868 Reword doc-string.
2869 (Fset_window_parameter): Use NILP.
2870 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
2871 (Frecenter): Use "selected" instead of "current" window in doc-strings.
2872
2873 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
2874
2875 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
2876
2877 2008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2878
2879 * nsfns.m (ns_appkit_version): New function.
2880 (x-server-version): Use it.
2881 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
2882 (x-server-vendor): Don't check_ns().
2883
2884 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
2885
2886 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
2887
2888 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
2889 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
2890
2891 2008-10-22 Kenichi Handa <handa@m17n.org>
2892
2893 * syntax.c (scan_words): Call word_boundary_p instead of comparing
2894 scripts.
2895
2896 * category.c (word_boundary_p): Check scripts instead of charset.
2897 Handle nil value in word-separating-categories and
2898 word-combining-categories.
2899 (syms_of_category): Fix docstrings of word-separating-categories
2900 and word-combining-categories.
2901
2902 2008-10-21 Eli Zaretskii <eliz@gnu.org>
2903
2904 * coding.c (Fencode_coding_region, Fdecode_coding_region)
2905 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
2906
2907 2008-10-21 Martin Rudalics <rudalics@gmx.at>
2908
2909 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
2910 Rename arg "buffer" to "buffer_or_name".
2911 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
2912 it optional.
2913 (no_switch_window): Remove since the return value is not used.
2914 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
2915 Consider window as dedicated when Fwindow_dedicated_p returns a
2916 non-nil value.
2917 * lisp.h: Remove prototype for no_switch_window.
2918
2919 2008-10-21 Jan Djärv <jan.h.d@swipnet.se>
2920
2921 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2922 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
2923
2924 2008-10-21 Kenichi Handa <handa@m17n.org>
2925
2926 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
2927 check Vlatin_extra_code_table.
2928
2929 2008-10-20 Eli Zaretskii <eliz@gnu.org>
2930
2931 * fileio.c (Fset_file_modes): Doc fix.
2932
2933 2008-10-19 Michael Albinus <michael.albinus@gmx.de>
2934
2935 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
2936 in arrays.
2937
2938 2008-10-19 Martin Rudalics <rudalics@gmx.at>
2939
2940 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2941 Mention kill-buffer in doc-string.
2942 (Fset_window_buffer): Reinsert tem check removed in last commit.
2943 (Fenlarge_window, Fshrink_window): Have argument names and
2944 doc-string follow Elisp manual more closely.
2945
2946 2008-10-18 Eli Zaretskii <eliz@gnu.org>
2947
2948 * fileio.c (Fset_file_modes): Doc fix.
2949
2950 2008-10-18 Martin Rudalics <rudalics@gmx.at>
2951
2952 * window.c (Fwindow_width, Fset_window_start)
2953 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
2954 (Fdelete_windows_on, Freplace_buffer_in_windows):
2955 Make doc-strings follow code and Elisp manual more closely.
2956 (Fwindow_dedicated_p): Make window argument optional.
2957 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
2958 (Fset_window_buffer): Respect any non-nil dedicated value for
2959 window. Rename "buffer" argument to "buffer_or_name".
2960
2961 2008-10-18 Ulrich Mueller <ulm@gentoo.org>
2962
2963 * m/sh3.h: New file, machine description for SuperH.
2964
2965 2008-10-17 Martin Rudalics <rudalics@gmx.at>
2966
2967 * window.c (Fsplit_window): Rename arg horflag to horizontal.
2968
2969 2008-10-17 Kenichi Handa <handa@m17n.org>
2970
2971 * ftfont.c (ftfont_otf_features): Fix indexing
2972 gsub_gpos->FeatureList.Feature. Check the validity of indices.
2973
2974 2008-10-16 Magnus Henoch <mange@freemail.hu>
2975
2976 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
2977 (Fdbus_call_method_asynchronously): Ditto.
2978 This change makes C-h f display the argument list.
2979
2980 2008-10-16 Chong Yidong <cyd@stupidchicken.com>
2981
2982 * fileio.c (Fexpand_file_name): Doc fix.
2983
2984 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
2985 of :foreground and :background equivalent to unspecified (20.x
2986 compatibility).
2987
2988 2008-10-15 Eli Zaretskii <eliz@gnu.org>
2989
2990 * buffer.c (syms_of_buffer): Doc fix.
2991
2992 2008-10-14 Kenichi Handa <handa@m17n.org>
2993
2994 * font.c (font_clear_prop): When clearing font width, clear the
2995 average width field too.
2996
2997 2008-10-12 Andreas Schwab <schwab@suse.de>
2998
2999 * ftfont.c (ftfont_shape_by_flt): Make static.
3000 * ftfont.h (ftfont_shape_by_flt): Don't declare.
3001
3002 * font.c: Don't include <m17n-flt.h>.
3003
3004 2008-10-10 Eli Zaretskii <eliz@gnu.org>
3005
3006 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
3007
3008 2008-10-09 Eli Zaretskii <eliz@gnu.org>
3009
3010 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
3011 away code.
3012
3013 2008-10-09 Chong Yidong <cyd@stupidchicken.com>
3014
3015 * dispnew.c (update_text_area): Avoid looping due to large glyph
3016 overhangs (bug#1070).
3017
3018 2008-10-09 Kenichi Handa <handa@m17n.org>
3019
3020 * fontset.c (face_for_char): If face->fontset is negative, just
3021 return ascii_face.
3022
3023 * font.c (font_delete_unmatched): Fix previous change.
3024 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
3025
3026 2008-10-09 Martin Rudalics <rudalics@gmx.at>
3027
3028 * frame.c (Fraise_frame): On text-only terminals select frame in
3029 order to make it visible. (Bug#1061)
3030
3031 2008-10-08 Chong Yidong <cyd@stupidchicken.com>
3032
3033 * fontset.c (fontset_find_font): Check frame validity.
3034
3035 2008-10-07 Chong Yidong <cyd@stupidchicken.com>
3036
3037 * gtkutil.c (xg_display_open): Reset default display if none exists.
3038 (xg_display_close): Allow Emacs to close all displays (bug#985).
3039
3040 2008-10-06 Andreas Schwab <schwab@suse.de>
3041
3042 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
3043
3044 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
3045
3046 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
3047
3048 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
3049
3050 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
3051 during initialization.
3052
3053 2008-10-04 Eli Zaretskii <eliz@gnu.org>
3054
3055 * xdisp.c (redisplay_internal): If frame switched, redisplay the
3056 whole thing on MSDOS frames as well as on a TTY.
3057
3058 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
3059 well as for TTY.
3060 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
3061 well as on a TTY.
3062
3063 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
3064 as well as for TTY.
3065
3066 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
3067
3068 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
3069 MSDOS frames as well.
3070
3071 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3072
3073 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
3074 correct arguments.
3075 * menu.c (find_and_return_menu_selection): Add cast.
3076
3077 2008-10-03 Glenn Morris <rgm@gnu.org>
3078
3079 * emacs.c (USAGE1): Add --daemon.
3080
3081 2008-10-02 Eli Zaretskii <eliz@gnu.org>
3082
3083 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
3084 100, so it's in percents as advertised.
3085
3086 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
3087
3088 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
3089 (ns_output.current_cursor, ns_output.desired_cursor)
3090 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
3091 (FRAME_NEW_CURSOR_COLOR): Remove.
3092
3093 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
3094 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
3095 enumeration (HOLLOW_BOX_CURSOR, etc.).
3096
3097 * nsterm.m (ns_frame_rehighlight): Remove commented code.
3098 (draw_window_cursor): Simplify code.
3099 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
3100 Don't change cursor type. In latter, call rehighlight instead of doing
3101 updates manually.
3102 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
3103 Use core Emacs cursor types.
3104
3105 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
3106
3107 2008-10-02 Martin Rudalics <rudalics@gmx.at>
3108
3109 * process.c (Faccept_process_output): Fix doc-string.
3110
3111 2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
3112
3113 * gmalloc.c (__sbrk): Also define for uClibc.
3114
3115 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
3116 for uClibc.
3117
3118 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3119
3120 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
3121 styles.
3122 (nsfont_open): Reenable the cache.
3123
3124 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3125
3126 * font.c (font_matching_entity): Reflect ATTRS in font selection.
3127 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
3128
3129 2008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
3130
3131 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
3132 a suspended terminal.
3133
3134 2008-09-30 Michael Albinus <michael.albinus@gmx.de>
3135
3136 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
3137
3138 2008-09-30 Eli Zaretskii <eliz@gnu.org>
3139
3140 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
3141
3142 2008-09-30 Chong Yidong <cyd@stupidchicken.com>
3143
3144 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
3145 in a continued line coincides with a line beginning.
3146
3147 2008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
3148
3149 * nsfont.m (nsfont_trait_distance): Fix bug.
3150 (nsfont_list): Return a list rather than a vector (syncs with Handa
3151 changes of 2008-05-14).
3152 (nsfont_open): Improve logging.
3153
3154 2008-09-29 Andreas Schwab <schwab@suse.de>
3155
3156 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
3157
3158 2008-09-28 Martin Rudalics <rudalics@gmx.at>
3159
3160 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
3161 name as char-resolve-modifiers.
3162 Reported by: Markus Triska <markus.triska@gmx.at>
3163
3164 2008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
3165
3166 * dispnew.c (init_display): Return earlier when running as a daemon.
3167
3168 2008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3169
3170 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
3171
3172 2008-09-27 Eli Zaretskii <eliz@gnu.org>
3173
3174 * composite.c (Fcomposition_get_gstring)
3175 (Fcompose_region_internal, Fcompose_string_internal)
3176 (Ffind_composition_internal): Doc fix.
3177 (syms_of_composite) <compose-chars-after-function>: Doc fix.
3178 (syms_of_composite) <auto-composition-function>: Doc fix.
3179 (syms_of_composite) <composition-function-table>: Doc fix.
3180
3181 2008-09-25 Chong Yidong <cyd@stupidchicken.com>
3182
3183 * search.c (wordify): New argument for lax word-ends.
3184 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
3185
3186 2008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
3187
3188 * lisp.h (is_daemon): Declare.
3189 * dispnew.c (init_display): Do not try to initialize the terminal
3190 when running as a daemon.
3191
3192 2008-09-22 Chong Yidong <cyd@stupidchicken.com>
3193
3194 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
3195 x_display_pixel_height.
3196
3197 2008-09-22 Martin Rudalics <rudalics@gmx.at>
3198
3199 * undo.c (record_point): Don't call Fundo_boundary for first
3200 change. (Bug#731)
3201
3202 2008-09-22 Juanma Barranquero <lekktu@gmail.com>
3203
3204 * emacs.c (Fdaemonp): Doc fix.
3205
3206 2008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
3207
3208 * emacs.c (main): Place #ifdef in the proper place.
3209
3210 2008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
3211
3212 * emacs.c (standard_args): Add --daemon.
3213 (main): Disconnect from the terminal when --daemon is passed.
3214 (is_daemon): New variable.
3215 (Fdaemonp): New function.
3216 (syms_of_emacs): Defsubr it.
3217
3218 2008-09-20 Chong Yidong <cyd@stupidchicken.com>
3219
3220 * xdisp.c (get_next_display_element): Handle string display
3221 correctly when checking for the end of a box run.
3222
3223 2008-09-20 Glenn Morris <rgm@gnu.org>
3224
3225 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
3226 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
3227 (Frename_file): Avoid copying to trash if a rename involves
3228 a delete. (Bug#964).
3229
3230 2008-09-20 Eli Zaretskii <eliz@gnu.org>
3231
3232 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
3233 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
3234 frames as well as termcap frames.
3235 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
3236 get_named_tty.
3237
3238 2008-09-19 Eli Zaretskii <eliz@gnu.org>
3239
3240 * process.c (procfs_system_process_attributes): Fix cmdline in
3241 case /proc/PID/cmdline is empty.
3242
3243 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
3244 x_display_pixel_height.
3245
3246 2008-09-19 Juanma Barranquero <lekktu@gmail.com>
3247
3248 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
3249
3250 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
3251 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
3252
3253 2008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
3254
3255 * dispextern.h (struct it): Move line_wrap away from the middle of
3256 bitfields. Move voffset in struct iterator_stack_entry after the
3257 bitfields. Move tab_width near after another short.
3258
3259 2008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
3260
3261 * frame.h (struct frame): Move alpha from the middle of bitfields.
3262
3263 * window.h (struct window): Move frozen_window_start_p after the
3264 rest of the bitfields to reduce padding.
3265
3266 2008-09-18 Chong Yidong <cyd@stupidchicken.com>
3267
3268 * xterm.h (x_display_info): Remove `height' and `width' members.
3269
3270 * nsterm.h (ns_display_info): Remove `height' and `width' members.
3271
3272 * w32term.h (w32_display_info): Remove `height', `width',
3273 `height_in', and `width_in' members.
3274
3275 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3276 New functions.
3277 (x_calc_absolute_position): Use them.
3278 (x_term_init): Omit removed `height' and `width' members.
3279
3280 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3281 New functions.
3282 (w32_read_socket, x_calc_absolute_position): Use them.
3283 (w32_initialize_display_info, w32_term_init): Omit removed members
3284 of w32_display_info.
3285
3286 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
3287 New functions.
3288 (ns_initialize_display_info): Omit removed members of ns_display_info.
3289
3290 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3291 New functions.
3292 (x_calc_absolute_position): Use them.
3293 (x_term_init): Omit removed `height' and `width' members.
3294
3295 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
3296 (compute_tip_xy):
3297 * frame.c (x_fullscreen_adjust):
3298 * xmenu.c (menu_position_func): Use x_display_pixel_height and
3299 x_display_pixel_width.
3300
3301 2008-09-18 Kenichi Handa <handa@m17n.org>
3302
3303 * composite.c (fill_gstring_header): Don't check FROM and TO here.
3304 (composition_compute_stop_pos): Fix handling of static composition.
3305 (Fcomposition_get_gstring): Check FROM and TO at first.
3306
3307 2008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
3308
3309 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
3310 mixup (YAILOM).
3311
3312 2008-09-17 Chong Yidong <cyd@stupidchicken.com>
3313
3314 * indent.c (Fvertical_motion): Use position reported by iterator
3315 instead of PT for determining screen motion (bug#943).
3316
3317 2008-09-17 Romain Francoise <romain@orebokech.com>
3318
3319 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
3320
3321 2008-09-17 Kenichi Handa <handa@m17n.org>
3322
3323 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
3324
3325 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
3326 if necessary.
3327
3328 2008-09-16 Kenichi Handa <handa@m17n.org>
3329
3330 * coding.c (make_conversion_work_buffer): Avoid calling
3331 Fget_buffer_create if it is not necessary.
3332
3333 2008-09-15 Martin Rudalics <rudalics@gmx.at>
3334
3335 * window.c (Fselect_window): Don't update window_select_count and
3336 use_time when norecord is not nil.
3337
3338 2008-09-14 Kenichi Handa <handa@m17n.org>
3339
3340 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
3341 specpdl_ptr.
3342
3343 2008-09-12 Kenichi Handa <handa@m17n.org>
3344
3345 * indent.c (scan_for_column): Don't handle automatic composition
3346 if the current buffer is not associated with a window.
3347
3348 * composite.c (composition_reseat_it): If the current buffer is
3349 not associated with a window, ignore the automatic composition.
3350 (find_automatic_composition): Likewise.
3351
3352 2008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3353
3354 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
3355 (Fgpm_mouse_stop): Use it.
3356 * termhooks.h (close_gpm): Declare.
3357 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
3358 connection if Gpm_GetEvent fails.
3359
3360 * window.c (set_window_buffer): Always preserve current-buffer.
3361
3362 2008-09-12 Glenn Morris <rgm@gnu.org>
3363
3364 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
3365
3366 2008-09-11 Glenn Morris <rgm@gnu.org>
3367
3368 * charset.c (charset-map-path): Doc fix.
3369
3370 2008-09-10 Kenichi Handa <handa@m17n.org>
3371
3372 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
3373
3374 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
3375 compose a grapheme cluster with the preceding base glyph.
3376
3377 * composite.c (composition_compute_stop_pos): Fix previous change.
3378 Reset cmp_it->id to -1 at first.
3379
3380 2008-09-10 Glenn Morris <rgm@gnu.org>
3381
3382 * Makefile.in (character.o, chartab.o): Fix config.h typo.
3383
3384 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
3385
3386 * keyboard.c (read_key_sequence): Reapply translation maps when
3387 switching keyboards.
3388
3389 2008-09-09 Kenichi Handa <handa@m17n.org>
3390
3391 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
3392 characters.
3393
3394 * composite.c (FORWARD_CHAR): Fix calculation
3395 of (POSITION).pos_byte.
3396 (composition_compute_stop_pos): Limit the search of composition to
3397 at most 500 characters ahead. If we reach the limit or find a
3398 newline, set cmp_it->ch to -2 and return 0.
3399 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
3400
3401 2008-09-08 Kenichi Handa <handa@m17n.org>
3402
3403 * indent.c (Fvertical_motion): Be sure to set
3404 it_overshoot_expected if it.cmp_it.id is non-negative.
3405
3406 2008-09-07 Andreas Schwab <schwab@suse.de>
3407
3408 * callproc.c (Fcall_process): Don't hold references to string data
3409 across garbage collection. Move initialisation of new_argv down
3410 to avoid compiler bug.
3411
3412 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3413
3414 * process.c (Fsystem_process_attributes): Doc fix.
3415
3416 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
3417
3418 * callproc.c (Fcall_process): Canonicalize current directory name.
3419
3420 * xdisp.c (move_it_to): When moving by vpos, ensure that the
3421 iterator advances to the next line if the current line ends in a
3422 continued tab.
3423
3424 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
3425
3426 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
3427 member to point to cmp_from.
3428
3429 * xdisp.c: Doc fix for references to gidx data member.
3430
3431 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3432
3433 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
3434
3435 2008-09-07 Kenichi Handa <handa@m17n.org>
3436
3437 * composite.c (FORWARD_CHAR): Check STOP after
3438 incrementing (POSITION).pos.
3439
3440 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3441
3442 * process.c (Fsystem_process_attributes): Doc fix.
3443
3444 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
3445
3446 * keyboard.c (Ftop_level): Doc fix.
3447
3448 2008-09-06 Eli Zaretskii <eliz@gnu.org>
3449
3450 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
3451 minibuffer, don't let lower part of menu invade the echo area.
3452
3453 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
3454 "char *q" to access menu text and advance through it. Revert the
3455 change that displayed ">" instead of ASCII character 0x10.
3456
3457 2008-09-05 Eli Zaretskii <eliz@gnu.org>
3458
3459 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
3460 toggle boxes and radio buttons on MS-DOS as well.
3461
3462 2008-09-05 Kenichi Handa <handa@m17n.org>
3463
3464 * composite.c (autocmp_chars): Check lookback count.
3465 (composition_compute_stop_pos): Set cmp_it->lookback.
3466 (composition_reseat_it): Check lookback count.
3467 (struct position_record): New struct.
3468 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
3469 (find_automatic_composition): New function.
3470 (composition_adjust_point): Use find_automatic_composition.
3471
3472 * dispextern.h (struct composition_it): New member lookback.
3473
3474 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
3475
3476 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
3477 if moving by a single line.
3478
3479 2008-09-02 Andreas Schwab <schwab@suse.de>
3480
3481 * xterm.c (x_delete_display): Fix merge error.
3482
3483 * fileio.c (Fexpand_file_name): Remove unused variables.
3484
3485 2008-09-02 Eli Zaretskii <eliz@gnu.org>
3486
3487 * fileio.c (Fexpand_file_name): Copy argument `name' into local
3488 storage on all platforms, not just on DOS_NT.
3489
3490 2008-09-02 Jason Rumney <jasonr@gnu.org>
3491
3492 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
3493 Ensure mouse is not grabbed after menu is finished.
3494
3495 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
3496
3497 * xfaces.c (Finternal_set_alternative_font_family_alist)
3498 (Finternal_set_alternative_font_registry_alist): Properly copy
3499 entire alist structure.
3500
3501 2008-09-01 Kenichi Handa <handa@m17n.org>
3502
3503 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
3504 representative chars of the script is a vector.
3505 (ftfont_list): Handle the case where the representative chars of
3506 the script is a vector.
3507
3508 * character.c (syms_of_character): Docstring of
3509 script-representative-chars fixed.
3510
3511 2008-08-31 Eli Zaretskii <eliz@gnu.org>
3512
3513 * msdos.c (BUILD_CHAR_GLYPH): New macro.
3514 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
3515 the menu. Allocate larger buffer for `text', to account for
3516 possible ^C characters.
3517
3518 2008-08-31 Martin Rudalics <rudalics@gmx.at>
3519
3520 * xdisp.c (prepare_menu_bars): Don't call
3521 Vwindow_size_change_functions with arg Qt.
3522
3523 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
3524
3525 * font.h (font_range):
3526 * fileio.c (report_file_error):
3527 * composite.c (composition_update_it): Yet another int/Lisp_Object
3528 mixup (YAILOM).
3529
3530 2008-08-30 Glenn Morris <rgm@gnu.org>
3531
3532 * data.c (Fmake_variable_frame_local): Doc fix.
3533
3534 * frame.c (Fmodify_frame_parameters): Doc fix.
3535
3536 2008-08-30 Eli Zaretskii <eliz@gnu.org>
3537
3538 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
3539 needed by GetTokenInformation.
3540 (w32_system_process_attributes): Check return values of all system
3541 APIs.
3542
3543 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
3544 only when the state changes.
3545 (IT_update_begin, IT_update_end): Add termscript trace.
3546
3547 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
3548 clipboard is unavailable. Set dst to NULL if it doesn't point to
3549 malloc'ed data.
3550 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
3551 passing random values to xfree.
3552
3553 * dispnew.c (init_display): Set `tty's association in frame's
3554 parameters alist to the name of the terminal device, if that is known.
3555
3556 2008-08-29 Jason Rumney <jasonr@gnu.org>
3557
3558 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
3559
3560 2008-08-29 Eli Zaretskii <eliz@gnu.org>
3561
3562 * composite.c (fill_gstring_body): Avoid compiler warnings.
3563
3564 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
3565 LGLYPH_SET_CODE to avoid compiler warnings.
3566
3567 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
3568
3569 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
3570
3571 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
3572 LGLYPH_SET_CODE.
3573
3574 2008-08-29 Kenichi Handa <handa@m17n.org>
3575
3576 * fileio.c (report_file_error): Don't downcase the first character
3577 of errstring if it is still unibyte.
3578
3579 2008-08-29 Kenichi Handa <handa@m17n.org>
3580
3581 These changes are to re-implement the automatic composition so
3582 that it doesn't use text properties.
3583
3584 * Makefile.in (ftfont.o): Depend on composite.h.
3585 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
3586
3587 * character.h (Vunicode_category_table): Extern it.
3588
3589 * character.c (Vunicode_category_table): New variable.
3590 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
3591
3592 * chartab.c (optimize_sub_char_table): Perform more greedy
3593 optimization.
3594
3595 * composite.h (enum composition_method):
3596 Delete COMPOSITION_WITH_GLYPH_STRING.
3597 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
3598 (Vcomposition_function_table): Extern it.
3599 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
3600 (composition_gstring_put_cache, composition_gstring_from_id)
3601 (composition_gstring_p, composition_gstring_width)
3602 (composition_compute_stop_pos, composition_reseat_it)
3603 (composition_update_it, composition_adjust_point): Extern them.
3604 (Fcomposition_get_gstring): EXFUN it.
3605
3606 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
3607 (Vcomposition_function_table)
3608 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
3609 (gstring_hash_table, gstring_work, gstring_work_headers):
3610 New variables.
3611 (gstring_lookup_cache, composition_gstring_put_cache)
3612 (composition_gstring_from_id, composition_gstring_p)
3613 (composition_gstring_width, fill_gstring_header)
3614 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
3615 (composition_reseat_it, composition_update_it)
3616 (composition_adjust_point, Fcomposition_get_gstring): New functions.
3617 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
3618 and gstring_work_headers. DEFVAR_LISP composition-function-table.
3619 Defsubr compostion_get_gstring.
3620
3621 * dispextern.h (struct glyph): New union u.cmp. Delete the member
3622 cmp_id.
3623 (struct glyph_string): Delete the member gidx. New members
3624 cmp_id, cmp_from, and cmp_to.
3625 (enum it_method): Delete GET_FROM_COMPOSITION.
3626 (struct composition_it): New struct.
3627 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
3628 Delete c, len, cmp_id, cmp_len in u.comp.
3629
3630 * font.h (enum lgstring_indices): Delete it.
3631 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
3632 (enum lglyph_indices): Likewise.
3633 (font_range): Adjust extern.
3634 (font_fill_lglyph_metrics): Extern it.
3635
3636 * font.c (QCf): New variable.
3637 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3638 (font_prepare_composition): Delete this function.
3639 (font_range): Type and arguments changed.
3640 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
3641 (font_fill_lglyph_metrics): New function.
3642 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
3643 (syms_of_font): DEFSYM QCf. Delete defsubr for
3644 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
3645 Defsubr Sfont_shape_gstring.
3646
3647 * fontset.h (font_for_char): Extern it.
3648
3649 * fontset.c (font_for_char): New function.
3650
3651 * ftfont.c: Include composite.h.
3652 (ftfont_resolve_generic_family): Add langset "en" to pattern.
3653 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3654
3655 * indent.c: Include composite.h and dispextern.h.
3656 (check_composition): Delete this function.
3657 (scan_for_column): Handle composition by
3658 composition_compute_stop_pos, composition_reseat_it, and
3659 composition_update_it.
3660 (compute_motion): Likewise.
3661 (Fvertical_motion): Fix checking of composition.
3662
3663 * keyboard.c (adjust_point_for_property): Check composition by
3664 composition_adjust_point.
3665
3666 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
3667 struct glyph_string.
3668
3669 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3670 (append_composite_glyph): Adjust for the change of struct it and
3671 struct glyph.
3672 (produce_composite_glyph): Likewise.
3673
3674 * w32term.c (x_draw_composite_glyph_string_foreground):
3675 Adjust for the change of struct glyph_string.
3676 (x_draw_glyph_string): Likewise.
3677
3678 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3679 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3680
3681 * xdisp.c: Include font.h.
3682 (it_props): Delete the entry for Qauto_composed.
3683 (init_iterator): Initialize it->cmp_it.id to -1.
3684 (compute_stop_pos): Call composition_compute_stop_pos.
3685 (face_before_or_after_it_pos): Adjust for the change of struct it.
3686 (handle_auto_composed_prop): Delete it.
3687 (handle_composition_prop): Handle only static composition.
3688 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3689 from xassert. Initialize it->cmp_it.stop_pos.
3690 (push_it): Adjust for the change of struct it.
3691 (pop_it): Likewise.
3692 (get_next_element): Delete next_element_from_composition.
3693 (CHAR_COMPOSED_P): New macro.
3694 (get_next_display_element): For automatic composition, get a face
3695 from the font in the glyph-string.
3696 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
3697 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
3698 (next_element_from_string): Check if the character at the current
3699 position is composed by CHAR_COMPOSED_P.
3700 (next_element_from_buffer): Likewise.
3701 (next_element_from_composition): Adjust for the change of struct it.
3702 Update it->cmp_it.
3703 (dump_glyph): Adjust for the change of struct glyph.
3704 (fill_composite_glyph_string): Adjust for the change of struct
3705 it and struct glyph. Don't handle automatic composition here.
3706 (fill_gstring_glyph_string): New function.
3707 (x_get_glyph_overhangs): Handle automatic composition.
3708 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
3709 (BUILD_GSTRING_GLYPH_STRING): New macro.
3710 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3711 automatic composition.
3712 (append_composite_glyph): Adjust for the change of struct it and
3713 struct glyph.
3714 (x_produce_glyphs): Adjust for the change of struct it.
3715
3716 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
3717 the change of struct glyph_string.
3718 (x_draw_glyph_string): Likewise.
3719
3720 2008-08-29 Glenn Morris <rgm@gnu.org>
3721
3722 * buffer.c (word-wrap): Doc fix.
3723 * xdisp.c (truncate-partial-width-windows): Doc fix.
3724 Increase default to 50.
3725
3726 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
3727
3728 * xdisp.c (update_tool_bar_unwind): New function.
3729 (update_tool_bar): Temporarily set selected frame before building
3730 tool-bar items.
3731
3732 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
3733
3734 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3735 snprintf, respectively.
3736 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3737
3738 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
3739
3740 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3741 LDFLAGS to GNUstep CC invocation.
3742
3743 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
3744
3745 * indent.c (Fvertical_motion): Revert last change. Handle the
3746 general case where we are moving forward, and PT spans multiple
3747 screen lines.
3748
3749 * eval.c (find_handler_clause): Temporarily increase
3750 max-lisp-eval-depth while printing the backtrace buffer, to
3751 guarantee that help-mode code can run.
3752
3753 2008-08-27 Eli Zaretskii <eliz@gnu.org>
3754
3755 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3756 colors under -rv.
3757 (IT_set_frame_parameters): Don't swap foreground and background
3758 colors if `(reverse . t)' is present in the frame properties.
3759 (internal_terminal_init): Call init_frame_faces only for the
3760 initial frame.
3761
3762 2008-08-27 Andreas Schwab <schwab@suse.de>
3763
3764 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3765
3766 2008-08-27 Andreas Schwab <schwab@suse.de>
3767
3768 * search.c (search_buffer): Set char_base to zero only at the end.
3769
3770 2008-08-27 Kenichi Handa <handa@m17n.org>
3771
3772 * fileio.c (report_file_error): Fix handling of multibyte error string.
3773
3774 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
3775
3776 * xterm.c (x_term_init): Temporarily hide the partially
3777 initialized terminal while calling vendor-specific-keysyms.
3778
3779 2008-08-26 Eli Zaretskii <eliz@gnu.org>
3780
3781 * msdos.c (internal_terminal_init): Most initializations done only
3782 once, especially initial_screen_colors[] and termscript open.
3783
3784 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
3785
3786 * eval.c (Fcondition_case): Doc fix.
3787
3788 * widgetprv.h (EmacsFramePart): Change font member to the new font
3789 struct.
3790
3791 * widget.c: Include character.h and font.h for XSETFONT.
3792 (setup_frame_gcs): Compute X font id from font struct, just once.
3793
3794 2008-08-26 Eli Zaretskii <eliz@gnu.org>
3795
3796 * term.c (get_named_tty): Fix last change.
3797
3798 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
3799
3800 * indent.c (Fvertical_motion): If moving forward starting from a
3801 multi-line string, move the iterator to the last line of that string.
3802
3803 2008-08-25 Eli Zaretskii <eliz@gnu.org>
3804
3805 * frame.c (do_switch_frame): Mark previously displayed frame as
3806 obscured for FRAME_MSDOS_P frames as well.
3807
3808 2008-08-24 Eli Zaretskii <eliz@gnu.org>
3809
3810 * frame.c (make_terminal_frame): Initialize f->terminal,
3811 f->terminal->reference_count, and scroll bars on MS-DOS as well.
3812 Set the top frame to newly created frame.
3813 (Fmake_terminal_frame): Reuse the_only_display_info.
3814
3815 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
3816 estimating available memory.
3817
3818 2008-08-23 David Reitter <david.reitter@gmail.com>
3819
3820 * nsterm.m (ns_draw_window_cursor): Don't call
3821 NSDisableScreenUpdates and NSEnableScreenUpdates on
3822 non-NS_IMPL_COCOA systems.
3823
3824 2008-08-23 Andreas Schwab <schwab@suse.de>
3825
3826 * process.c (procfs_system_process_attributes): Fix use of
3827 uninitialized variables.
3828
3829 2008-08-23 Eli Zaretskii <eliz@gnu.org>
3830
3831 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
3832
3833 * dispnew.c (init_display): Remove MS-DOS specific conditions for
3834 calling tty-set-up-initial-frame-faces.
3835
3836 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
3837 Allow MSDOS frames along with X frames.
3838
3839 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
3840 addition to output_termcap.
3841
3842 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
3843
3844 * termchar.h (FRAME_TTY): Support output_msdos_raw.
3845 (struct tty_display_info) [MSDOS]: Add fields related to mouse
3846 highlight.
3847
3848 * process.c [!subprocesses]: Define QCname.
3849 (syms_of_process): Intern and staticpro it.
3850
3851 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
3852 Adjust for changes in encoding/decoding routines.
3853 Use encode_coding_object and decode_coding_object instead of
3854 encode_coding and decode_coding.
3855
3856 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
3857
3858 * dosfns.c: Include frame.h before termhooks.h.
3859 (dos_cleanup): Use CURTTY ()->termscript instead of a global
3860 variable termscript.
3861
3862 * s/msdos.h (USER_FULL_NAME): Define.
3863 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
3864
3865 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
3866 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
3867 pw->pw_gecos.
3868
3869 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
3870 SELECTED_FRAME as additional (1st) argument.
3871 (tty_read_avail_input): Handle output_msdos_raw in
3872 addition to output_termcap.
3873
3874 * msdos.c: Include frame.h before termhooks.h.
3875 (mouse_on, mouse_off, mouse_moveto, mouse_init)
3876 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
3877 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
3878 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
3879 (IT_set_terminal_modes, IT_reset_terminal_modes)
3880 (IT_set_frame_parameters): Use tty->termscript instead of a global
3881 variable termscript.
3882 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
3883 global variable terminal_coding. Don't refer to
3884 Vnonascii_translation_table.
3885 (internal_terminal_init): Set Vwindow_system in current_kboard.
3886 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
3887 Announce date and time of session start, if termscript is open.
3888 Don't zero out the_only_display_info (it is done in
3889 term.c:init_tty). Open termscript only of not already open.
3890 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
3891 here instead of dos_ttraw. Don't initialize display if this is an
3892 initial tty. Don't set FRAME_FONT.
3893 (Vwindow_system_version): Bump to 23.
3894 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
3895 is available, set up mouse_position_hook.
3896 (dos_ttraw, IT_set_terminal_modes): If called with initial
3897 terminal, do nothing.
3898 (IT_set_frame_parameters): Handle the Qtty_type frame
3899 parameter by calling internal_terminal_init.
3900 (dos_set_window_size, show_mouse_face)
3901 (clear_mouse_face, IT_note_mode_line_highlight)
3902 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
3903 (dos_rawgetc): Use tty_display_info instead of x_display_info.
3904 (initialize_msdos_display): New function.
3905 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
3906 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
3907 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
3908 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
3909 Accept additional argument: a pointer to a frame. Update all callers.
3910 (request_sigio, unrequest_sigio): Don't define, now defined on
3911 sysdep.c.
3912 (IT_write_glyphs): Rewrite to use encode_terminal_code.
3913
3914 * term.c [MSDOS]: Include msdos.h.
3915 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
3916 conditional to DOS_NT. Allow only one call to this function in a
3917 session. Don't allocate a new struct tty_display_info; instead,
3918 reuse the_only_display_info. Call get_tty_size to get screen
3919 dimensions. Call init_baud_rate to set bad_rate.
3920 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
3921 (Fsuspend_tty) [MSDOS]: Don't close input and output.
3922 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
3923 (get_tty_terminal, get_named_tty, Ftty_type)
3924 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
3925 output_termcap.
3926 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
3927 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
3928 only when subprocesses are supported.
3929
3930 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
3931 f->output_data.x.
3932 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
3933 terminal devices.
3934
3935 * msdos.h: Remove definition of struct x_display_info and struct
3936 x_output.
3937 (FRAME_FONT): Use output_data.tty.
3938 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
3939 (struct x_display_info): Rename from display_info. Update all users in
3940 msdos.c.
3941 (struct x_output): Remove background_pixel and foreground_pixel.
3942 (the_only_display_info): Rename from the_only_x_display.
3943 (dos_ttraw): Update prototype.
3944
3945 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
3946 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
3947
3948 2008-08-23 Jason Rumney <jasonr@gnu.org>
3949
3950 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
3951 (fn_TIFFSetDirectory): New library function used.
3952 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
3953 (tiff_load): Use :index to select among multiple images. Set count
3954 property when multiple images exist.
3955 (gif_format): Use :index, not :image.
3956
3957 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
3958
3959 * xdisp.c (try_scrolling): Check INT_MAX instead of
3960 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
3961 to obtain INT_MAX.
3962
3963 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
3964
3965 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
3966
3967 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
3968
3969 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
3970 GNUstep library location.
3971
3972 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
3973
3974 * xfaces.c (x_update_menu_appearance): Check validity of menu font
3975 before using it.
3976
3977 * puresize.h (BASE_PURESIZE): Increase to 1250000.
3978
3979 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3980
3981 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
3982 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
3983 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
3984 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
3985 (EmacsApp-cursor_blink_handler): Remove declaration.
3986 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
3987 match 01 Feb 2008 changes in xterm.c.
3988 (ns_read_socket): Add cast to avoid warning.
3989 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
3990 GNUstep.
3991
3992 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
3993
3994 * xselect.c (x_get_foreign_selection): Return nil if desired
3995 selection could not be obtained, instead of signalling an error.
3996
3997 2008-08-20 David Reitter <david.reitter@gmail.com>
3998
3999 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
4000 * nsterm.m: Remove ns-specific code for cursor blinking.
4001 (ns_draw_window_cursor): Clear cursor properly rather than
4002 redrawing the area. Respect width of bar cursors.
4003 These changes enable the use of generic blink-cursor-mode and
4004 generic cursor types in NS and support smooth cursor movements (do
4005 not blink off after command).
4006 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
4007 Nextstep, too.
4008
4009 2008-08-19 Kenichi Handa <handa@m17n.org>
4010
4011 * font.c (Vfont_log_deferred): New variable.
4012 (font_add_log): Check Vfont_log_deferred.
4013 (font_deferred_log): New function.
4014
4015 * font.h (font_deferred_log): Extern it.
4016
4017 * fontset.c (reorder_font_vector): Use encoding charset of fonts
4018 for sorting.
4019 (face_for_char): Use deferred log.
4020
4021 2008-08-18 Kenichi Handa <handa@m17n.org>
4022
4023 * fontset.c (face_for_char): Add font log.
4024
4025 * font.c (font_add_log): Add the font properties :script, :lang,
4026 and :otf in the log.
4027
4028 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
4029
4030 * xdisp.c: Remove dead code.
4031 (handle_invisible_prop, next_overlay_string): Defer call to
4032 setup_for_ellipsis.
4033 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
4034
4035 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
4036
4037 * xfaces.c (lookup_derived_face): Properly handle possible zero
4038 return value of get_lface_attributes.
4039 (merge_faces): Don't tell lookup_derived_face to signal an error
4040 if face is not found.
4041
4042 * dired.c (Fdirectory_files): Doc fix.
4043
4044 * process.c (make_process): Initialize kill_without_query struct
4045 member.
4046
4047 2008-08-15 Eli Zaretskii <eliz@gnu.org>
4048
4049 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
4050 Alternative calculation of totphys for Visual Studio 6.
4051
4052 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
4053
4054 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
4055 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
4056 All users changed.
4057 (stat): Only root directory passed to GetDriveType. Allow RAM
4058 disk as well as local fixed disk when w32-get-true-file-attributes
4059 is set to `local'.
4060 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
4061 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
4062 (w32_cached_id, w32_add_to_cache): New functions.
4063 (get_name_and_id): Look account names in the cache before calling
4064 lookup_account_sid.
4065 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
4066 New initialization flags.
4067 (globals_of_w32): Initialize them to zero.
4068 (w32_system_process_attributes): Use w32_cached_id and
4069 w32_add_to_cache.
4070
4071 2008-08-14 Lawrence Mitchell <wence@gmx.li>
4072
4073 * lread.c (Fread_char, Fread_char_exclusive): If no character
4074 event is read before timeout is reached, return nil, rather than
4075 converting to a number.
4076
4077 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
4078
4079 * fns.c (use_dialog_box): Doc fix.
4080
4081 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
4082 on OS X.
4083
4084 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
4085
4086 * frame.c (Qns_parse_geometry): New var.
4087 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
4088
4089 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
4090
4091 * xdisp.c (x_produce_glyphs): Handle the case when font has no
4092 space character in calculating tabs.
4093
4094 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
4095
4096 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
4097
4098 2008-08-10 Glenn Morris <rgm@gnu.org>
4099
4100 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
4101 silence gcc "limited range of data type" warnings in some
4102 make_fixnum_or_float calls.
4103
4104 2008-08-09 Eli Zaretskii <eliz@gnu.org>
4105
4106 * w32.c (w32_system_process_attributes): If the process does not
4107 exist, return nil.
4108
4109 * w32.c: Include thelp32.h, psapi.h and coding.h.
4110 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
4111 declarations.
4112 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
4113 (Process32Next_Proc): New typedefs.
4114 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
4115 (g_b_init_process32_next, g_b_init_open_thread_token)
4116 (g_b_init_impersonate_self, g_b_init_revert_to_self)
4117 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
4118 (g_b_init_get_process_working_set_size)
4119 (g_b_init_global_memory_status_ex): New static variables.
4120 (globals_of_w32): Initialize them.
4121 (create_toolhelp32_snapshot, process32_first, process32_next)
4122 (open_thread_token, impersonate_self, revert_to_self)
4123 (get_process_memory_info, get_process_working_set_size)
4124 (global_memory_status, global_memory_status_ex): New wrapper
4125 functions.
4126 (w32_list_system_processes, w32_system_process_attributes)
4127 (enable_privilege, restore_privilege, ltime, process_times):
4128 New functions.
4129 (convert_time_raw): New function.
4130 (convert_time): Remove conversion of FILETIME into time in 100
4131 nsec units, call convert_time_raw instead.
4132
4133 * process.h (w32_list_system_processes, w32_system_process_attributes):
4134 Add prototypes.
4135 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
4136 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
4137 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
4138 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
4139
4140 * process.c (Fsystem_process_attributes): Doc fix.
4141
4142 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
4143
4144 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
4145 a continued multi-char glyph; if so, advance to the actual glyph.
4146
4147 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
4148
4149 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
4150
4151 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
4152 (.m.o): Use it.
4153 * config.in: Regenerate.
4154
4155 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
4156
4157 * xdisp.c (redisplay_window): Revert last change.
4158 (try_window): Check bottom scroll margin too.
4159
4160 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4161
4162 * config.in: Regenerate.
4163
4164 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
4165 -list-load-path-shadows'.
4166 (nsgui.h): Reduce number of things depending on it.
4167
4168 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
4169
4170 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
4171 instead of window-end which does the wrong thing at eob.
4172 (try_cursor_movement): Minor optimization.
4173 (redisplay_window): If scroll margin is defined, don't assume
4174 window doesn't need scrolling.
4175
4176 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
4177
4178 * config.in: Regenerate.
4179
4180 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
4181 (mostlyclean): Don't delete *.d under NS.
4182
4183 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
4184
4185 2008-08-06 Kenichi Handa <handa@m17n.org>
4186
4187 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
4188
4189 2008-08-06 Andreas Schwab <schwab@suse.de>
4190
4191 * config.in: Regenerate.
4192
4193 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
4194
4195 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
4196 forcing a window start.
4197
4198 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
4199 (auto_save_1): Update modtime when auto-save-list-file-name is on.
4200
4201 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4202
4203 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
4204 argument.
4205
4206 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
4207
4208 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
4209 <scroll-down-aggressively, before-change-functions>:
4210 <after-change-functions>: Reflow docstrings.
4211
4212 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4213 Ken Raeburn <raeburn@gnu.org>
4214
4215 Dock menu customization, based on a patch by Ken Raeburn, plus some
4216 other fixes.
4217 * nsmenu.m (dockMenu): New variable.
4218 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
4219
4220 * nsterm.h (dockMenu): Declare.
4221
4222 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
4223 (ns_term_init): Initialize dockMenu.
4224 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
4225 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
4226 left.
4227
4228 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
4229
4230 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
4231
4232 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
4233
4234 * config.in: Regenerate.
4235
4236 2008-08-04 Seiji Zenitani <zenitani@mac.com>
4237
4238 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
4239
4240 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
4241
4242 * nsterm.h (find_and_call_menu_selection): Fix prototype.
4243
4244 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4245
4246 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
4247
4248 * keyboard.h: Comment an #endif.
4249
4250 * lisp.h (have_menus_p): Adjust comment.
4251
4252 * menu.c (find_and_return_menu_selection): Fix comparison with
4253 client_data.
4254
4255 * nsmenu.m (popup_activated_flag): New variable.
4256 (popup_activated): New function.
4257 (menu-or-popup-active-p): New exported lisp definition.
4258 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
4259 when popup done.
4260 (ns_popup_dialog): Set popup_activated_flag.
4261
4262 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
4263 version for GNUstep (handled by conditional typedef in nsterm.m).
4264 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
4265 in rgb.txt).
4266
4267 * process.c (init_process): Use DARWIN_OS, not DARWIN.
4268
4269 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
4270
4271 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
4272
4273 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
4274 shortcircuit if popup_activated like GTK and X toolkit.
4275
4276 * m/inter386.h: Change DARWIN to DARWIN_OS.
4277
4278 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
4279 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
4280 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
4281 comment on NO_SOCK_SIGIO.
4282
4283 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
4284
4285 * nsterm.m (windowDidResize): Remove stopModal call.
4286
4287 2008-08-03 Andreas Schwab <schwab@suse.de>
4288
4289 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
4290 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
4291
4292 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
4293
4294 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
4295 Don't use uninitialized pointer variable when using getrlimit.
4296
4297 2008-08-02 Jason Rumney <jasonr@gnu.org>
4298
4299 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4300
4301 2008-08-02 Eli Zaretskii <eliz@gnu.org>
4302
4303 * alloc.c (NSTATICS): Bump to 0x640.
4304
4305 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
4306
4307 * lisp.h: Add prototype for directory_files_internal.
4308
4309 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
4310 New functions.
4311 (syms_of_process): Defsubr them. Add initializations for various
4312 Q* symbols used in procfs_system_process_attributes.
4313 (procfs_list_system_processes, procfs_system_process_attributes)
4314 [HAVE_PROCFS]: New functions.
4315 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
4316 (procfs_get_total_memory): New functions.
4317
4318 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
4319
4320 * xfaces.c (Fx_load_color_file): Fix previous change;
4321 it is #ifdef WINDOWSNT, not WINDOWS_NT.
4322
4323 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
4324
4325 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
4326
4327 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4328
4329 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
4330
4331 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
4332
4333 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
4334
4335 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
4336 define NSApplicationDelegateReplySuccess.
4337 (EmacsView -converstationIdentifier): Use long instead of
4338 NSInteger for GNUstep, since it doesn't have NSInteger.
4339
4340 * xmenu.c: Revert last change.
4341
4342 * keyboard.h: Fix last change.
4343
4344 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
4345
4346 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
4347 on Windows.
4348
4349 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4350
4351 Warning clearing and clean-up in NS port.
4352 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
4353 Add prototypes.
4354 * nsgui.h (FACE_DEFAULT): Remove, unused.
4355 (XGCValues): Change colors to unsigned long.
4356 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
4357 nsterm.m.
4358 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
4359 (ns_list_fonts): Remove, unused.
4360 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
4361 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
4362 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
4363 (nsfont_draw): Compare face colors to 0, not nil.
4364 * nsmenu.m (struct widget_value): Drop unneeded declaration.
4365 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
4366 (-addSubmenuWithTitle:): Use NSMenuItem class.
4367 (ns_popup_menu): Use NO, not NULL, for enabled setting.
4368 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
4369 (ns_clip_to_row): Make gc arg a BOOL.
4370 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
4371 ns_clip_to_row() call.
4372 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
4373 used). Cast FRAME_FONT assignments.
4374 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
4375 (ns_string_to_lispmod): Change arg to const char.
4376 (ns_term_init): Use NSMenuItem class.
4377 (EmacsApp -openFile:): Move to different section of file.
4378 (EmacsApp -application:openFiles:): Don't return a value, call
4379 -replyToOpenOrPrint:.
4380 (EmacsView -keyDown:): Fix up cast.
4381 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
4382 (EmacsView -menuDown:): Cast tag in call to
4383 find_and_call_menu_selection().
4384 (ns_list_fonts): Remove, unused.
4385 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
4386 (ns_fontname_to_xlfd): Make static.
4387 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
4388 Remove prototypes (now in keyboard.h).
4389 (next_menubar_widget_id): Remove, unused.
4390 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
4391 Remove prototypes (now in keyboard.h).
4392 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
4393
4394 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
4395
4396 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
4397 (floatfns.o): Depend on syssignal.h.
4398 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
4399
4400 * systty.h: Fix previous change that removed BSD_TERMIOS.
4401 Add comments to #ifdefs.
4402
4403 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4404
4405 * w32fns.c (w32-load-color-file): Remove.
4406 (x-open-connection): Use renamed Fx_load_color_file.
4407 * xfaces.c (x-load-color-file): Add.
4408 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
4409 Emacs.clr.
4410 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
4411
4412 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
4413
4414 * dbusbind.c (Fdbus_call_method_asynchronously)
4415 (Fdbus_method_error_internal): New defuns.
4416 (xd_read_message): Handle also reply messages.
4417 (Vdbus_registered_functions_table): Extend docstring.
4418
4419 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
4420
4421 * keyboard.c (gobble_input): Fix previous change.
4422
4423 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4424
4425 * bitmaps/README:
4426 * xfns.c:
4427 * termcap.c:
4428 * term.c:
4429 * syswait.h:
4430 * systty.h:
4431 * systime.h:
4432 * syssignal.h:
4433 * sysdep.c:
4434 * process.h:
4435 * process.c:
4436 * print.c:
4437 * ndir.h:
4438 * lread.c:
4439 * keyboard.c:
4440 * getpagesize.h:
4441 * floatfns.c:
4442 * fileio.c:
4443 * emacs.c:
4444 * doc.c:
4445 * dispnew.c:
4446 * dired.c:
4447 * data.c:
4448 * callproc.c:
4449 * buffer.c:
4450 * README:
4451 * Makefile.in:
4452 * s/template.h:
4453 * s/msdos.h:
4454 * m/vax.h: Remove VMS support.
4455 * s/vms.h:
4456 * vlimit.h:
4457 * uaf.h:
4458 * temacs.opt:
4459 * param.h:
4460 * ioctl.h: Remove file.
4461
4462 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4463
4464 * s/ms-w32.h (MULTI_KBOARD): Remove.
4465 * xterm.c:
4466 * xselect.c:
4467 * xfns.c:
4468 * window.c:
4469 * w32term.c:
4470 * w32fns.c:
4471 * terminal.c:
4472 * termhooks.h:
4473 * term.c:
4474 * sysdep.c:
4475 * keyboard.h:
4476 * keyboard.c:
4477 * frame.h:
4478 * frame.c:
4479 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
4480 * config.in: Regenerate.
4481
4482 2008-07-30 Jason Rumney <jasonr@gnu.org>
4483
4484 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
4485
4486 * w32font.c (w32font_encode_char): Leave as unicode if in range.
4487 (w32font_open_internal): Get unicode version of textmetrics.
4488 Don't enable or disable glyph indices here.
4489 (w32font_open): Disable use of glyph indices.
4490
4491 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
4492
4493 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
4494
4495 * minibuf.c (Vread_buffer_function): Doc fix.
4496
4497 2008-07-30 John Paul Wallington <jpw@pobox.com>
4498
4499 * minibuf.c (read_buffer_completion_ignore_case): New var.
4500 (Fread_buffer): Use it.
4501
4502 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
4503
4504 * systty.h (sensemode): Remove empty #if. Remove reference to
4505 BSD_TERMIOS, unused.
4506
4507 * sysdep.c: Remove reference to DGUX.
4508 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
4509
4510 * config.in: Regenerate.
4511
4512 2008-07-30 Jason Rumney <jasonr@gnu.org>
4513
4514 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
4515
4516 2008-07-29 Jason Rumney <jasonr@gnu.org>
4517
4518 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
4519 is populated.
4520 (uniscribe_encode_char): Always use uniscribe.
4521 Avoid using context if cache is populated.
4522
4523 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
4524
4525 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
4526 open menu.
4527
4528 * gtkutil.c (menu_nav_ended): Remove.
4529 (create_menus): Remove signal connect for menu_nav_ended.
4530
4531 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
4532
4533 * xdisp.c (redisplay_window): Check return value of
4534 compute_window_start_on_continuation_line before forcing a window
4535 start.
4536
4537 2008-07-28 Jason Rumney <jasonr@gnu.org>
4538
4539 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
4540
4541 * w32term.c (w32_enable_unicode_output, cleartype_active):
4542 Remove obsolete display options.
4543 (x_draw_glyph_string_background): Don't use old cleartype_active
4544 workaround.
4545 (w32_initialize): Remove cleartype_active initialization.
4546 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
4547
4548 2008-07-28 Andreas Schwab <schwab@suse.de>
4549
4550 * lisp.h (init_weak_hash_tables, syms_of_font)
4551 (xd_read_queued_messages, syms_of_dbusbind): Declare.
4552 (remove_hash_entry): Don't declare.
4553 * eval.c (maybe_call_debugger): Make static and move before use.
4554 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
4555 * xdisp.c: Include "gtkutil.h" if USE_GTK.
4556 * xterm.h (x_set_frame_alpha): Declare.
4557
4558 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
4559
4560 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
4561 (create_menus): Connect selection-done to menu_nav_ended.
4562
4563 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4564
4565 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
4566 Set Vx_resource_name to a fallback. Replace read of 'buffered'
4567 parameter with read of 'alpha' one.
4568 (Qns_frame_parameter): Remove.
4569 * nsselect.m (selection-coding-system)
4570 (next-selection-coding-system, Vselection_coding_system)
4571 (Vnext_selection_coding_system): Drop.
4572
4573 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4574
4575 * nsfns.m (do-applescript, do_applescript): Rename to
4576 ns-do-applescript, ns_do_applescript, and move within file.
4577
4578 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
4579
4580 Remove support for Mac Carbon.
4581 * mactoolbox.c:
4582 * macterm.h:
4583 * macterm.c:
4584 * macselect.c:
4585 * macmenu.c:
4586 * macgui.h:
4587 * macfns.c:
4588 * mac.c: Remove file.
4589 * s/darwin.h:
4590 * m/intel386.h:
4591 * xfaces.c:
4592 * xdisp.c:
4593 * window.c:
4594 * tparam.c:
4595 * termhooks.h:
4596 * termcap.c:
4597 * term.c:
4598 * syssignal.h:
4599 * sysselect.h:
4600 * sysdep.c:
4601 * process.c:
4602 * lread.c:
4603 * lisp.h:
4604 * keyboard.c:
4605 * image.c:
4606 * fringe.c:
4607 * frame.h:
4608 * frame.c:
4609 * fontset.c:
4610 * font.h:
4611 * font.c:
4612 * fns.c:
4613 * fileio.c:
4614 * emacs.c:
4615 * dispnew.c:
4616 * dispextern.h:
4617 * config.in:
4618 * atimer.c:
4619 * Makefile.in: Remove code for Carbon.
4620
4621 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4622
4623 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
4624
4625 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4626
4627 * macterm.h (kCGBitmapByteOrder32Host): New define for
4628 non-universal SDKs.
4629
4630 * image.c (mac_create_cg_image_from_image, image_load_image_io)
4631 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4632
4633 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
4634 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4635
4636 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
4637
4638 * w32inevt.c: Include dispextern.h.
4639
4640 2008-07-26 Andreas Schwab <schwab@suse.de>
4641
4642 * print.c (print_object): Fix off-by-one in last change.
4643
4644 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
4645
4646 * term.c (syms_of_term): Don't initialize default_orig_pair,
4647 default_set_foreground and default_set_background on Windows.
4648
4649 2008-07-25 Jason Rumney <jasonr@gnu.org>
4650
4651 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
4652 ScriptItemize. Clean up return value checking. Remove unused
4653 variables.
4654 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
4655 shaping engine.
4656
4657 * w32font.c (w32font_has_char): Handle the case where we can't
4658 determine the script for a character.
4659
4660 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
4661
4662 * term.c (syms_of_term): Initialize default_orig_pair,
4663 default_set_foreground, and default_set_background.
4664
4665 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4666 clash (bug#86).
4667 (getloadavg): Callers changed.
4668
4669 * image.c (svg_load_image): Fix last change.
4670 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4671 image size is valid. Use g_object_unref instead of deprecated
4672 rsvg_handle_free to free rsvg handle.
4673 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4674
4675 2008-07-25 Jason Rumney <jasonr@gnu.org>
4676
4677 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4678 surrogates before looking up glyph index.
4679 (w32font_text_extents): Encode as surrogates if falling back to
4680 functions that need UTF-16 wide chars.
4681
4682 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4683 BMP as surrogates before looking up glyph index.
4684
4685 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
4686
4687 * image.c (svg_load_image): Check for failure in return value of
4688 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4689
4690 2008-07-25 Jason Rumney <jasonr@gnu.org>
4691
4692 * w32font.c (Fx_select_font): Reverse sense of second arg.
4693
4694 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4695
4696 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4697 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4698
4699 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4700 (PURESIZE): Use it.
4701
4702 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4703
4704 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4705 * m/alpha.h (TEXT_END):
4706 * m/ibmrs6000.h (TEXT_END):
4707 * m/macppc.h (TEXT_END):
4708 * s/darwin.h (TEXT_END):
4709 * s/msdos.h (TEXT_END): Remove, unused.
4710 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4711 * s/cygwin.h: Remove comment.
4712
4713 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4714 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4715 * m/intel386.h (DOT_GLOBAL_START):
4716 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4717 (USG): Remove, file not used on USG platforms.
4718
4719 * Makefile.in (HAVE_X11): Remove empty #else.
4720
4721 2008-07-24 Andreas Schwab <schwab@suse.de>
4722
4723 * fileio.c (Finsert_file_contents): Properly adjust undo list
4724 after format conversion.
4725
4726 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4727
4728 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4729 (menu_nav_ended): Remove.
4730 (create_menus): Remove signal connect for menu_nav_ended.
4731 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4732 create_menus.
4733 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4734
4735 2008-07-23 Jason Rumney <jasonr@gnu.org>
4736
4737 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4738 with opened font.
4739 (w32font_open): Set font type to gdi.
4740
4741 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4742
4743 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4744
4745 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4746 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4747 defines it.
4748 * unexec.c (ADDR_CORRECT): Define unconditionally.
4749
4750 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4751
4752 * unexec.c: Remove code depending on !COFF and USG, the file is
4753 not used for such systems.
4754
4755 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4756 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4757 (LD_SWITCH_SYSTEM_1): Remove, update users.
4758
4759 * s/darwin.h (DATA_END):
4760 * m/intel386.h (DATA_END):
4761 * m/ibmrs6000.h (DATA_END):
4762 * m/alpha.h (DATA_END): Remove, unused.
4763
4764 * config.in: Regenerate.
4765 * s/ms-w32.h (subprocesses): Define unconditionally.
4766 * s/template.h (subprocesses): Update comment.
4767 * s/vms.h (subprocesses):
4768 * s/usg5-4.h (subprocesses):
4769 * s/hpux10-20.h (subprocesses):
4770 * s/gnu-linux.h (subprocesses):
4771 * s/cygwin.h (subprocesses):
4772 * s/bsd-common.h (subprocesses):
4773 * s/aix4-2.h (subprocesses):
4774 * s/darwin.h (subprocesses): Do not define, defined by default now.
4775
4776 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
4777 Remove all references.
4778 (temacs): Add GNUstep specific ld flags.
4779
4780 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
4781 similarly to what X does.
4782
4783 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4784
4785 * nsfns.m (x-list-fonts): Remove.
4786 (syms_of_nsfns): Drop the x-list-fonts declaration.
4787 * nsterm.m: Get rid of remaining "//" comments.
4788
4789 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
4790
4791 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4792
4793 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
4794 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
4795 (Fns_own_selection_internal, Fx_disown_selection_internal)
4796 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
4797
4798 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
4799 ... */' style of docstrings. Doc fixes.
4800
4801 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4802
4803 * terminfo.c (UP, BC, PC): Undo previous change.
4804
4805 * nsfns.m: Rename ns prefixed functions/variables to the
4806 corresponding x versions. Update references.
4807
4808 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
4809
4810 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
4811
4812 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4813
4814 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
4815 Remove forwarding functions.
4816 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
4817 non-static.
4818 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
4819 non-static.
4820 (ns_frame_parm_handlers): Use the new names.
4821 (syms_of_nsfns): Move to the end of file.
4822
4823 * nsterm.m (syms_of_nsterm): Move to the end of file.
4824
4825 * dispnew.c (init_display): Remove code for X10.
4826
4827 2008-07-22 Jason Rumney <jasonr@gnu.org>
4828
4829 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
4830 bare drive.
4831
4832 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4833
4834 * nsterm.m (syms_of_nsterm): Remove debugging println.
4835
4836 2008-07-22 David Reitter <david.reitter@gmail.com>
4837
4838 * nsfns.m (do_applescript, F_do_applescript): NS version of the
4839 Carbon implementation of the same functionality: execute arbitrary
4840 AppleScript code.
4841
4842 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
4843
4844 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
4845 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
4846 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
4847 (Fx_display_mm_height, Fx_display_mm_width)
4848 (Fx_display_backing_store, Fx_display_visual_class)
4849 (Fx_display_save_under, Fx_open_connection)
4850 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
4851 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
4852 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4853 (Fx_display_pixel_width, Fx_display_pixel_height)
4854 (Fx_display_usable_bounds, Fx_display_planes)
4855 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
4856 ... */' style of docstrings.
4857
4858 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
4859
4860 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
4861 on this platform.
4862 (mips):
4863 * m/iris4d.h (mips): Do not define.
4864 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
4865
4866 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
4867
4868 * image.c:
4869 * nsfns.m:
4870 * nsselect.m:
4871 * nsterm.h:
4872 * nsterm.m: Rename ns prefixed functions/variables to the
4873 corresponding x versions. Update references.
4874
4875 * m/ibms390x.h (NO_REMAP): Do not undefine.
4876
4877 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
4878
4879 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
4880
4881 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
4882 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
4883 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
4884 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
4885 (Fns_display_mm_height, Fns_display_mm_width)
4886 (Fns_display_backing_store, Fns_display_visual_class)
4887 (Fns_display_save_under, Fns_open_connection)
4888 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
4889 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
4890 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4891 (Fns_display_pixel_width, Fns_display_pixel_height)
4892 (Fns_display_usable_bounds, Fx_display_planes)
4893 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
4894
4895 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
4896
4897 * print.c (print_object): Check print_depth before searching for
4898 circularities.
4899
4900 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
4901
4902 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
4903 only sprintf.
4904
4905 2008-07-21 Kenichi Handa <handa@m17n.org>
4906
4907 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
4908
4909 2008-07-20 Andreas Schwab <schwab@suse.de>
4910
4911 * syntax.c (find_start_pos, find_start_value)
4912 (find_start_value_byte, find_start_begv, find_defun_start)
4913 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
4914
4915 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4916
4917 * s/sol2-3.h: Insert contents of s/sol2.h.
4918 (LD_SWITCH_SYSTEM): Remove redundant definition.
4919 * s/sol2.h: Remove, unused.
4920
4921 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4922
4923 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
4924
4925 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4926
4927 * Makefile.in (ns_appdir): Fix typo in find command.
4928
4929 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4930
4931 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
4932
4933 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
4934 added not supported anymore.
4935
4936 * s/usg5-4-2.h (LIBS_SYSTEM):
4937 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
4938
4939 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4940 * s/lynxos.h (GETPGRP_NO_ARG):
4941 * s/hpux10-20.h (NO_SIOCTL_H):
4942 * s/gnu.h (GETPGRP_NO_ARG):
4943 * s/gnu-linux.h (NO_SIOCTL_H):
4944 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4945 * s/cygwin.h (GETPGRP_NO_ARG):
4946 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
4947 (C_DEBUG_SWITCH): Remove duplicate definition.
4948
4949 * m/ibms390.h: Remove boilerplate comments.
4950
4951 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
4952
4953 * process.c (HAVE_SERIAL): Consolidate ifdefs.
4954 (wait_reading_process_output): Remove code for SunOS, platform not
4955 supported anymore. Use SOLARIS2 instead of sun.
4956
4957 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4958
4959 * font.c (font_open_by_name): Under NS, default lface height to zero.
4960 (font_open_for_lface): Under NS, set size based on frame fontsize.
4961 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
4962 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
4963
4964 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4965
4966 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
4967 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
4968 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
4969 YES/NO.
4970 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
4971 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
4972 * Makefile.in (clean): Clear out build destination dir.
4973
4974 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4975
4976 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
4977 xterm, xselect.
4978 * lisp.h: Remove declaration of hash_remove.
4979 * nsgui.h: Remove redefinitions of hash_remove.
4980 * fns.c (hash_remove): Rename to hash_remove_from_table.
4981
4982 2008-07-19 Seiji Zenitani <zenitani@mac.com>
4983
4984 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
4985 strdup() the family UTF8String before modifying it.
4986
4987 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4988
4989 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
4990 NS_FACE_BACKGROUND with 0 instead of nil.
4991 * nsfont.m (nsfont_draw): Same.
4992
4993 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
4994
4995 * nsfns.m (ns_set_background_color): Fix crash.
4996
4997 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
4998
4999 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
5000
5001 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
5002
5003 * puresize.h (BASE_PURESIZE): Increase to 1240000.
5004
5005 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5006
5007 * gtkutil.c: Include <config.h> instead of "config.h".
5008
5009 * lisp.h (Foverlay_buffer): Add EXFUN.
5010
5011 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
5012 child process to complete child_setup. Undo 2005-09-21 change.
5013
5014 * s/darwin.h: Mention setsid after vfork.
5015
5016 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5017
5018 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
5019 Depend on macgui.h.
5020
5021 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
5022 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
5023
5024 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
5025 and f19.
5026 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
5027
5028 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
5029 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
5030 Remove enumerators.
5031
5032 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
5033 Check if FACE_FROM_ID returns NULL.
5034
5035 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
5036
5037 * w32inevt.c (change_frame_size): Remove extern declaration.
5038 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
5039 change_frame_size.
5040
5041 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5042
5043 * getloadavg.c: Revert last change (2008-07-15).
5044
5045 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
5046
5047 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
5048 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
5049 from configure.
5050
5051 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
5052
5053 * s/sol2.h:
5054 * s/sol2-4.h: Reorganize conditionals.
5055
5056 * ecrt0.c: Remove code depending on m68000, not used anymore.
5057
5058 * fns.c (hash_remove): Make static.
5059 * lisp.h (hash_remove): Don't prototype.
5060
5061 * m/ibmrs6000.h:
5062 * m/ibms390x.h:
5063 * m/macppc.h: Remove boilerplate comments.
5064
5065 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
5066 Solaris, which does not need them.
5067
5068 * m/vax.h: Remove comments about unsupported systems.
5069
5070 * s/darwin.h: Reorganize ifdefs.
5071
5072 2008-07-17 Andreas Schwab <schwab@suse.de>
5073
5074 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
5075
5076 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
5077
5078 Use SDATA. Follow coding convention of placing operators at
5079 beginning of next line rather than end of previous line, and placing
5080 spaces around infix operators.
5081
5082 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
5083 in case it was defined already.
5084 USE @GNUSTEP_MAKEFILES@ rather than envvars.
5085 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
5086 ns_default.
5087 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
5088 Lisp_Objects.
5089 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
5090 (ns_defined_color, ns_color_to_lisp): Declare.
5091 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
5092 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
5093 it's accepted even with USE_LISP_UNION_TYPE.
5094 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
5095 (update_frame_tool_bar): Remove apparently obsolete tests for
5096 non-integerness of f->tool_bar_lines.
5097 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
5098 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
5099 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
5100 (nsfont_open): Don't confuse NULL for Qnil.
5101 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
5102 * menu.h (find_and_call_menu_selection):
5103 * menu.c (find_and_call_menu_selection): Use just int for vector size.
5104 (find_and_return_menu_selection): Always return something.
5105 * frame.h: Include dispextern.h for Display_Info.
5106 (display_x_get_resource): Declare.
5107
5108 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
5109
5110 * syntax.c: Remove stdio.h include accidentally introduced in
5111 Emacs.app commit.
5112 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
5113 NS_IMPL_COCOA.
5114 * keyboard.c (handle_async_input, input_available_signal): Remove
5115 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
5116
5117 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5118
5119 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
5120 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
5121 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
5122 Use SDATA.
5123
5124 * keymap.c: Remove all NS-specific code.
5125 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
5126 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
5127 where_is_preferred_modifier, return a different value depending on how
5128 preferred is the binding.
5129 (where_is_internal): Adjust accordingly.
5130 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
5131 Adjust to new preferred_sequence_p.
5132 (syms_of_keymap): Declare `where-is-preferred-modifier'.
5133 * keyboard.c (parse_solitary_modifier): Not static any more.
5134 * keyboard.h (parse_solitary_modifier): Declare.
5135
5136 2008-07-16 Andreas Schwab <schwab@suse.de>
5137
5138 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
5139 of easymenu.
5140
5141 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
5142
5143 * xdisp.c (move_it_in_display_line): Account for word wrap, so
5144 that we don't move off the line.
5145
5146 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
5147
5148 * keyboard.c (Qsuper): Remove.
5149 (parse_menu_item): Don't call where_is_internal specially for NS.
5150
5151 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5152
5153 * s/gnu-linux.h: Remove boilerplate comments.
5154
5155 * m/alpha.h (__ELF__): Consolidate conditions.
5156
5157 * m/m68k.h (linux): Use GNU_LINUX instead.
5158 Remove boilerplate comments.
5159
5160 * m/intel386.h: Undo refactoring from previous change.
5161 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
5162 too, remove dead code.
5163 (linux): Use GNU_LINUX instead.
5164
5165 2008-07-16 Jason Rumney <jasonr@gnu.org>
5166
5167 * w32gui.h: Repeat 26 June changes lost by last change.
5168
5169 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
5170
5171 * systty.h: Remove code for Aix on 386, unsupported platform.
5172
5173 * s/ms-w32.h: Remove boilerplate comments.
5174 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
5175
5176 * s/gnu-linux.h (TERM): Remove support.
5177 (HAVE_SYSVIPC): Remove, unused.
5178 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
5179 for this system.
5180
5181 * process.c: Remove support for IRIS, unused.
5182 Remove support for TERM, not relevant anymore.
5183
5184 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
5185 used with the definition.
5186
5187 * s/aix4-2.h (static): Do not undef.
5188
5189 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
5190 only used on Aix.
5191 (HAVE_SYSVIPC): Remove, unused.
5192
5193 * m/hp800.h (CANNOT_DUMP): Do not undef.
5194
5195 * m/alpha.h: Fix comment.
5196
5197 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
5198 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
5199 used by this configuration.
5200 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
5201 * unexec.c: Remove code depending on HPUX and
5202 USG_SHARED_LIBRARIES, not used with this file. Remove code
5203 depending on IRIS, unused. Remove if 0-ed code.
5204
5205 * s/template.h: Remove comments about static.
5206
5207 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
5208 Remove if 0-ed code.
5209 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
5210 were the same as the default.
5211 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
5212 Remove boilerplate comments.
5213 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
5214 (HAVE_SYSVIPC): Remove, unused.
5215 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
5216
5217 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5218 Remove boilerplate comments.
5219 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5220 Remove boilerplate comments.
5221 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
5222 Remove boilerplate comments.
5223 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
5224
5225 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
5226 USG systems which do not use DATA_SEG_BITS.
5227 Refactor code. Remove boilerplate comments.
5228
5229 * m/ibms390.h:
5230 * m/m68k.h:
5231 * s/bsd-common.h:
5232 * s/cygwin.h:
5233 * s/darwin.h:
5234 * s/freebsd.h:
5235 * s/gnu.h:
5236 * s/msdos.h: Remove boilerplate comments.
5237
5238 * m/iris4d.h: Remove boilerplate comments and code for systems that
5239 do not use this file.
5240 (IRIS_4D): Remove, unused.
5241
5242 * m/mips.h: Remove boilerplate comments and code for systems that
5243 do not use this file.
5244 (SIGN_EXTEND_CHAR):
5245 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
5246 * unexmips.c: Remove file, unused.
5247
5248 * editfns.c (Fuser_full_name): Replace the only use of
5249 USER_FULL_NAME with its value.
5250 * config.in: Regenerate.
5251
5252 2008-07-16 David Reitter <david.reitter@gmail.com>
5253
5254 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
5255 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
5256
5257 2008-07-16 Glenn Morris <rgm@gnu.org>
5258
5259 * emacs.c (system-type): Doc fix.
5260
5261 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
5262
5263 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
5264 If the cache doesn't work, let's fix it, rather than work around it.
5265
5266 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5267
5268 * Makefile.in: Correct additions for nsfont.o in last commit.
5269 * nsfont.m: New file (forgot last commit).
5270
5271 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5272
5273 * callproc.c (set_initial_environment): Initialize
5274 Vprocess_environment under CANNOT_DUMP (fixes crash when
5275 batch-compiling for bootstrap).
5276
5277 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5278 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5279
5280 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
5281 fix crash due to different init order.
5282
5283 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5284
5285 Changes and additions for NeXTstep windowing system (Cocoa and
5286 GNUstep) support.
5287
5288 * Makefile.in:
5289 * config.in: Support defines and build commands for NS port.
5290 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
5291 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
5292 * dispextern.h: Include nsgui.h and add needed typedefs under NS
5293 windowing.
5294 (struct face): Add synth_ital field.
5295 * dispnew.c: Include nsterm.h when compiling under NS windowing.
5296 (init_display): Initialize Vinitial_window_system to "ns" when so
5297 compiled.
5298 * emacs.c: Include GSConfig.h when compiling under GNUstep.
5299 (display_arg): Use under NS.
5300 (main): Under NS, allocate autorelease pool and handle command line
5301 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
5302 (standard_args): Add NS-specific args.
5303 (shut_down_emacs): Shut down NS terminal if compiled under NS.
5304 * font.c (DEFAULT_ENCODING): New variable.
5305 (font_find_for_lface): Use it.
5306 (syms_of_font): Load syms_of_nsfont under NS.
5307 * font.h: Declare nsfont_driver when compiled under NS.
5308 * fontset.c: When compiling under NS, include nsterm.h.
5309 (fontset_from_font): Autoconstruct fontset under NS.
5310 * frame.c (various): Under NS, include nsterm.h, add Qns window system
5311 symbol, document and use it.
5312 (do_switch_frame): When for_deletion under Cocoa, add
5313 Fraise_frame(Qnil).
5314 (x_set_frame_parameters): Ensure font attribute changes are picked up.
5315 (x_get_arg): Allow "yes" and "no" as boolean values.
5316 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
5317 Qright under Cocoa.
5318 (focus-follows-mouse): Default to 0 under NS.
5319 * frame.h (enum output_method): Add output_ns.
5320 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
5321 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
5322 (FRAME_WINDOW_P): NS-specific definition.
5323 * fringe.c (max_used_fringe_bitmap): Make public.
5324 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
5325 (getloadavg): Use NeXT code under descendant OS's.
5326 * image.c (includes and header section, x_create_bitmap_from_data)
5327 (x_create_bitmap_from_file, free_bitmap_record, image_background)
5328 (image_background_transparent, x_clear_image_1)
5329 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5330 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
5331 (x_to_xcolors, x_from_xcolors, x_disable_image)
5332 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
5333 other GUIs, including XPM support using code originally written for
5334 Carbon GUI.
5335 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
5336 using NS API.
5337 (image_ascent): Use font metrics macros instead of direct struct field
5338 access.
5339 * keyboard.c (includes): Add nsterm.h when compiling under NS.
5340 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
5341 Also, handle NS as GTK for menu bar purposes.
5342 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
5343 toolkit where they differ.
5344 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
5345 use cachelist, still needed under NS.
5346 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
5347 (struct widget_value): Define it here for menu.c.
5348 * keymap.c (includes): Include modifier internals.
5349 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
5350 NS.
5351 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
5352 support for preferring sequences using certain modifiers, specified by
5353 the FIRSTONLY argument.
5354 * lisp.h (hash_remove): Rename to avoid name clash when compiling
5355 under NS GNUstep implementation.
5356 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
5357 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
5358 * menu.c: Include nsterm.h under NS.
5359 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
5360 (free_menubar_widget_tree_value, update_submenu_strings)
5361 (find_and_call_menu_selection): Treat NS as X and NT.
5362 (find_and_return_menu_selection): New function, used for popup menus.
5363 * nsgui.h:
5364 * nsterm.h:
5365 * nsfns.m:
5366 * nsimage.m:
5367 * nsmenu.m:
5368 * nsselect.m:
5369 * nsterm.m: New files.
5370 * process.c (wait_reading_process_output): Under NS, call ns_select()
5371 instead of plain select().
5372 * syntax.c (char_quoted): Under NS, avoid a crash when called near
5373 beginning of buffer.
5374 * sysselect.h (init_process): Rename when compiling under Cocoa to
5375 avoid name conflict.
5376 * termhooks.h (display_info): Add ns_display_info to union.
5377 * terminal.c (Fterminal_live_p): Add ns to terminal types.
5378 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
5379 COCOA environment.
5380 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
5381 unexec() signature. (Note, this will dump, but the resulting file
5382 crashes; unexosx is used instead; keeping around for reference and
5383 possible aid in getting dump working under GNUstep.)
5384 * w32gui.h (button_type, widget_value): Remove definitions (now in
5385 keyboard.h).
5386 * window.c: Include nsterm.h when compiling under NS.
5387 * xdisp.c (includes): Include nsterm.h when compiling under NS.
5388 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
5389 other GUI windowing systems.
5390 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
5391 GTK.
5392 (x_consider_frame_title): Under NS, set icon type and frame
5393 modified-state indicator; use ns_set_name_as_filename() when using
5394 formatted title.
5395 (update_window_cursor): Make public when compiling under NS.
5396 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
5397 (hourglass_atimer, Vhourglass_delay
5398 * xfaces.c (header section, init_frame_faces, clear_font_table)
5399 (defined_color, unload_color, x_face_list_fonts)
5400 (prepare_face_for_display): Add NS support parallel to other GUIs.
5401 Emulate GCs like other non-X GUIs.
5402 (split_font_name): Don't lowercase font name under NS.
5403 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
5404 under NS.
5405 * s/darwin.h: Add support for compilation under NS.
5406
5407 2008-07-15 Jason Rumney <jasonr@gnu.org>
5408
5409 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
5410 (w32_show_hourglass): Rename from show_hourglass.
5411 (w32_hide_hourglass): Rename from hide_hourglass.
5412 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
5413 (Vhourglass_delay): Declare extern.
5414 (hourglass_started): Remove.
5415
5416 * xdisp.c (Vhourglass_delay): Remove static.
5417 (hourglass_started, start_hourglass, cancel_hourglass):
5418 Don't include these versions on WINDOWSNT.
5419
5420 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5421
5422 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
5423 variables (formerly in xfns.c).
5424 (show_hourglass, hide_hourglass): New prototypes (same).
5425 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
5426 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
5427 in xfns.c).
5428 (syms_of_xdisp): Declare/initialize display-hourglass,
5429 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
5430 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
5431 formerly in xfns.c.
5432 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5433 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5434 (start_hourglass, cancel_hourglass): Remove.
5435 (show_hourglass, hide_hourglass): Remove prototypes and static
5436 modifiers.
5437 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
5438 hourglass_atimer, hourglass_shown_p declaration/initialization.
5439 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5440 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5441 (start_hourglass, cancel_hourglass): Remove.
5442 (show_hourglass, hide_hourglass): Remove prototypes and static
5443 modifiers.
5444 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
5445 hourglass_atimer, hourglass_shown_p declaration/initialization.
5446 * w32fns.c (display_hourglass_p, Vhourglass_delay)
5447 (DEFAULT_HOURGLASS_DELAY): Remove.
5448 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
5449 hourglass_shown_p declaration/initialization.
5450
5451 2008-07-14 Jason Rumney <jasonr@gnu.org>
5452
5453 * w32fns.c (w32_get_arg): Remove wrapper function.
5454 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
5455 directly.
5456 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
5457
5458 2008-07-14 Kenichi Handa <handa@m17n.org>
5459
5460 * xfont.c (xfont_open): Add workaround for X's bug.
5461
5462 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5463
5464 * fontset.c: Include <stdio.h> unconditionally.
5465
5466 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
5467
5468 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
5469 for filtering.
5470
5471 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
5472
5473 * s/vms.h: Use __GNUC__ instead of _GNUC_.
5474
5475 * m/macppc.h:
5476 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
5477
5478 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
5479 (SPECIAL_EMACS_INT):
5480 * m/ia64.h (SPECIAL_EMACS_INT):
5481 * m/amdx86-64.h (SPECIAL_EMACS_INT):
5482 * s/gnu.h (NLIST_STRUCT):
5483 * s/aix4-2.h (X11R5_INHIBIT_I18N):
5484 * s/gnu-linux.h (LINUX):
5485 * s/msdos.h (HAVE_FACES):
5486 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
5487
5488 * systty.h:
5489 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
5490 anymore.
5491
5492 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
5493
5494 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
5495 always defined as int.
5496
5497 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
5498 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
5499 * s/gnu-linux.h (HAVE_WAIT_HEADER):
5500 * s/freebsd.h (HAVE_WAIT_HEADER):
5501 * s/bsd-common.h (HAVE_UNION_WAIT):
5502 * s/aix4-2.h (HAVE_WAIT_HEADER):
5503 * m/mips.h (HAVE_UNION_WAIT):
5504 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
5505 (COFF, static): Do not define, they are undefined later in the file.
5506
5507 * process.c (update_status): Don't use a union.
5508 (status_convert):
5509 (sigchld_handler): Use int instead of WAITTYPE.
5510
5511 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
5512
5513 * indent.c (Fvertical_motion): Restore hscroll before moving to
5514 goal column.
5515
5516 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5517
5518 * lisp.h: Remove left over code.
5519
5520 2008-07-11 Andreas Schwab <schwab@suse.de>
5521
5522 * lisp.h: Fix logic in last change.
5523
5524 * menu.h: New file.
5525 * menu.c: Include it.
5526 * xmenu.c: Likewise.
5527 * Makefile.in: Update dependencies.
5528
5529 2008-07-11 Kenichi Handa <handa@m17n.org>
5530
5531 * fontset.c (fontset_from_font): Cancel the previous change.
5532
5533 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5534
5535 * lisp.h:
5536 * w32heap.c:
5537 * emacs.c:
5538 * alloc.c: Replace all references of NO_UNION_TYPE with
5539 USE_LISP_UNION_TYPE.
5540
5541 * m/xtensa.h (NO_UNION_TYPE):
5542 * m/vax.h (NO_UNION_TYPE):
5543 * m/template.h (NO_UNION_TYPE):
5544 * m/sparc.h (NO_UNION_TYPE):
5545 * m/mips.h (NO_UNION_TYPE):
5546 * m/macppc.h (NO_UNION_TYPE):
5547 * m/m68k.h (NO_UNION_TYPE):
5548 * m/iris4d.h (NO_UNION_TYPE):
5549 * m/intel386.h (NO_UNION_TYPE):
5550 * m/ibms390x.h (NO_UNION_TYPE):
5551 * m/ibms390.h (NO_UNION_TYPE):
5552 * m/ibmrs6000.h (NO_UNION_TYPE):
5553 * m/ia64.h (NO_UNION_TYPE):
5554 * m/hp800.h (NO_UNION_TYPE):
5555 * m/arm.h (NO_UNION_TYPE):
5556 * m/amdx86-64.h (NO_UNION_TYPE):
5557 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
5558 defining it the same.
5559
5560 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
5561
5562 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
5563
5564 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5565
5566 * fileio.c:
5567 * sysdep.c
5568 * systty.h:
5569 * m/ibmrs6000.h:
5570 * m/iris4d.h:
5571 * s/aix4-2.h:
5572 * s/freebsd.h:
5573 * s/gnu-linux.h:
5574 * s/hpux10-20.h:
5575 * s/hpux11.h:
5576 * s/netbsd.h:
5577 * s/sol2-3.h:
5578 * s/sol2-4.h:
5579 * s/sol2.h:
5580 * s/usg5-4.h:
5581 * s/vms.h: Remove references to unused variables.
5582
5583 2008-07-10 Andreas Schwab <schwab@suse.de>
5584
5585 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
5586 pattern before matching the generic family.
5587
5588 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5589
5590 * unexec.c:
5591 * s/vms.h:
5592 * s/usg5-4-2.h:
5593 * s/sol2-5.h:
5594 * s/freebsd.h:
5595 * s/darwin.h: Remove dead code.
5596
5597 * m/template.h:
5598 * m/sparc.h:
5599 * m/mips.h:
5600 * m/m68k.h:
5601 * m/iris4d.h:
5602 * m/intel386.h:
5603 * m/ibms390x.h:
5604 * m/ibms390.h:
5605 * m/ia64.h:
5606 * m/hp800.h:
5607 * m/arm.h:
5608 * m/amdx86-64.h: Remove dead code and references to unused
5609 and compiler defined symbols.
5610
5611 * unexmips.c:
5612 * unexelf.c: Remove references to desupported systems.
5613
5614 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
5615
5616 * m/powermac.h: Remove boilerplate comments.
5617 (NO_REMAP): Remove unused definition.
5618
5619 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
5620 define them.
5621
5622 2008-07-10 Kenichi Handa <handa@m17n.org>
5623
5624 * xfont.c (xfont_open): Log the reason of failure.
5625
5626 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
5627
5628 * fontset.c (fontset_get_font_group):
5629 * font.c (font_check_otf): Specify argument types.
5630
5631 2008-07-09 Kenichi Handa <handa@m17n.org>
5632
5633 * coding.c (detect_coding_utf_8): Set detect_info->found only when
5634 non-ASCII char is found.
5635
5636 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
5637 (reorder_font_vector): Change the arg preferred_family to font.
5638 Prefer the spec matching with font.
5639 (fontset_get_font_group): New function.
5640 (fontset_find_font): Change the format of an element of a realized
5641 fontset. Use fontset_get_font_group.
5642 (fontset_font): Try the current fontset, the default fontset, the
5643 fallbacks of the current fontset, and the fallbacks of the default
5644 fontset in this order.
5645 (face_for_char): Delete the shortcut to use the current font.
5646 (fontset_from_font): Don't set fonts for Latin in the fontset.
5647
5648 * font.h (font_make_object, font_match_p): Adjust prototypes.
5649
5650 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
5651
5652 * font.c (font_make_object): New arg entity and pixelsize.
5653 (font_check_otf_features, font_check_otf): New functions.
5654 (font_match_p): Check :lang, :script, and :otf properties.
5655
5656 * xfont.c (xfont_open): Adjust it for the change of
5657 font_make_object.
5658 (xfont_text_extents): Fix initial setting of metrics.
5659
5660 * ftfont.c (struct ftfont_info): New member index, delete member
5661 fc_charset_idx. Make the member order compatible with struct
5662 xftfont_info.
5663 (fc_charset_table): Change charset names to registry names.
5664 (ftfont_pattern_entity): Delete the args registry and
5665 fc_charset_idx. Change the value of :font-entity property
5666 to (FONTNAME . INDEX). Always set :registry property to
5667 `iso10646-1'.
5668 (struct ftfont_cache_data): New struct.
5669 (ftfont_lookup_cache): New arg for_face.
5670 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5671 (ftfont_driver): Set the member otf_capability.
5672 (ftfont_get_charset): Adjust it for the change of
5673 fc_charset_table.
5674 (OTF_TAG_SYM): New macro.
5675 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5676 for the change of fc_charset_table.
5677 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5678 ftfont_pattern_entity. Add FC_INDEX to objset.
5679 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5680 and ftfont_pattern_entity.
5681 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5682 font_make_object, struct ftfont_info.
5683 (ftfont_has_char): Use ftfont_get_fc_charset.
5684 (ftfont_otf_features, ftfont_otf_capability): New functions.
5685 (ftfont_shape): Use ftfont_get_otf.
5686 (ftfont_text_extents): Fix initial setting of metrics.
5687
5688 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5689 member order compatible with struct ftfont_info.
5690 (xftfont_open): Add FC_CHARSET to the pattern. Set
5691 xftfont_info->ft_size. Don't unlock the face. Check BDF
5692 properties if appropriate.
5693 (xftfont_close): Unlock the face.
5694 (xftfont_anchor_point, xftfont_shape): Deleted.
5695 (syms_of_xftfont): Don't set members anchor_point and shape of
5696 xftfont_driver.
5697
5698 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5699 font_make_object.
5700
5701 * w32font.c (w32font_open): Adjust it for the change of
5702 font_make_object.
5703 (w32font_open_internal): Don't set properties of font_object here.
5704
5705 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
5706
5707 * macfns.c (x_create_tip_frame):
5708 * w32fns.c (x_create_tip_frame):
5709 * xfns.c (x_create_tip_frame): Pass parameter argument to
5710 face-set-after-frame-default.
5711
5712 * xfaces.c (Finternal_merge_in_global_face): Save merged
5713 attributes for the default face back into the face vector.
5714
5715 2008-07-08 Andreas Schwab <schwab@suse.de>
5716
5717 * fontset.h: Declare fontset_from_font. Don't declare
5718 new_fontset_from_font and fontset_from_font_name.
5719 * xterm.c: Include "fontset.h".
5720 * Makefile.in (xterm.o): Update dependencies.
5721
5722 2008-07-08 Glenn Morris <rgm@gnu.org>
5723
5724 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5725 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5726
5727 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
5728
5729 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5730 (x_set_frame_parameters): Don't bind it.
5731
5732 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
5733
5734 * w32fns.c (map_w32_filename): Declare extern.
5735
5736 2008-07-07 Jason Rumney <jasonr@gnu.org>
5737
5738 * w32term.c (WS_EX_LAYERED): Define if not already.
5739
5740 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
5741
5742 * xfaces.c (set_font_frame_param): Don't try to set the font
5743 parameter if it is still unspecified in the lface.
5744
5745 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
5746
5747 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5748 face if it didn't already exist.
5749
5750 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5751
5752 2008-07-05 Andreas Schwab <schwab@suse.de>
5753
5754 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5755
5756 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
5757
5758 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5759 word-wrapping.
5760 (IT_DISPLAYING_WHITESPACE): New macro.
5761 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5762 when word-wrapping. Simplify word-wrapping logic. Use correct
5763 pixel positions when saving copies of the iterator.
5764 (display_line): Use proper wrap point if the last character on a
5765 line was preceded by whitespace.
5766
5767 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5768
5769 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
5770
5771 2008-07-04 Kenichi Handa <handa@m17n.org>
5772
5773 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
5774
5775 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
5776
5777 2008-07-02 Jason Rumney <jasonr@gnu.org>
5778
5779 * xfns.c (syms_of_xfns): Only define x-select-font when both
5780 HAVE_FREETYPE and USE_GTK.
5781
5782 * xdisp.c (next_element_from_display_vector): Move assignment out
5783 of if statement.
5784
5785 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
5786
5787 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
5788
5789 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
5790 (syms_of_fileio): Initialize and export them.
5791 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
5792
5793 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
5794 (Fsystem_move_file_to_trash): New function.
5795 (syms_of_w32fns): Export it to lisp.
5796
5797 2008-07-01 Jason Rumney <jasonr@gnu.org>
5798
5799 * w32font.c (w32font_text_extents): Don't count overhang as part
5800 of width.
5801
5802 2008-06-30 Miles Bader <miles@gnu.org>
5803
5804 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
5805 Add `avoid_cursor_p' field.
5806
5807 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
5808 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
5809 (append_glyph, append_composite_glyph, produce_image_glyph)
5810 (append_stretch_glyph): Initialize avoid_cursor_p.
5811 (get_it_property): Rename from `get_line_height_property'.
5812 (x_produce_glyphs): Use get_it_property.
5813 (handle_line_prefix, push_display_prop): New functions.
5814 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
5815 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
5816 New variables.
5817 (syms_of_xdisp): Initialize them.
5818
5819 2008-06-30 Kenichi Handa <handa@m17n.org>
5820
5821 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
5822 XftDefaultSubstitute (they are called in XftFontMatch).
5823 (xftfont_open): Fix args to ftfont_font_format.
5824
5825 * ftfont.c (fc_charset_table): New member lang.
5826 (ftfont_resolve_generic_family): New arg pattern.
5827 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
5828 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
5829 (ftfont_open): Fix args to ftfont_font_format.
5830 (ftfont_font_format): New arg filename.
5831
5832 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
5833
5834 * xfaces.c (Finternal_merge_in_global_face): If default face was
5835 modified, realize it again. Update the font face attribute.
5836
5837 2008-06-29 Jason Rumney <jasonr@gnu.org>
5838
5839 * w32term.c (x_set_frame_alpha): Fix logic.
5840
5841 2008-06-29 Kenichi Handa <handa@m17n.org>
5842
5843 * fontset.c (Finternal_char_font): Return font-object instead of
5844 font-name.
5845
5846 * composite.c (get_composition_id): Fix the width calculation for TAB.
5847
5848 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
5849
5850 * indent.c (Fvertical_motion): Properly handle float column arg.
5851
5852 2008-06-28 Jason Rumney <jasonr@gnu.org>
5853
5854 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
5855 (pfnSetLayeredWindowAttributes): New function pointer.
5856 (w32_initialize): Initialize it when supported.
5857 (x_set_frame_alpha): New function.
5858
5859 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
5860 (w32_frame_parm_handlers): Set alpha handler.
5861
5862 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
5863
5864 2008-06-27 Jason Rumney <jasonr@gnu.org>
5865
5866 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
5867 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
5868 (w32_to_x_charset, x_to_w32_charset)
5869 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5870 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5871 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5872 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5873 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5874 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5875 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
5876 (Qw32_charset_unicode): Remove.
5877 (syms_of_w32fns): Update for above changes.
5878
5879 * w32font.c (w32_to_x_charset, x_to_w32_charset)
5880 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5881 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5882 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5883 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5884 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5885 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5886 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
5887 (syms_of_w32font): Update for above changes.
5888
5889 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
5890
5891 * s/usg5-4.h: Fix previous change: keep the correct branch of a
5892 removed #if.
5893 (USG_SHARED_LIBRARIES): Remove duplicate definition.
5894
5895 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
5896 Eli Zaretskii <eliz@gnu.org>
5897
5898 * makefile.w32-in (LOCAL_FLAGS):
5899 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
5900
5901 * sysdep.c (_spawnlp, _getpid):
5902 Declare with explicit _cdecl instead of _CRTAPI1.
5903
5904 * editfns.c (Fget_internal_run_time):
5905 Check for WINDOWSNT with #ifdef, not #if.
5906
5907 2008-06-26 Jason Rumney <jasonr@gnu.org>
5908
5909 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
5910
5911 * w32term.c (x_draw_glyph_string_foreground)
5912 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
5913 Use FONT_HANDLE macro.
5914 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
5915
5916 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5917 (uniscribe_encode_char): Use FONT_HANDLE macro.
5918
5919 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
5920 (w32font_text_extents): Use precast w32_font.
5921 (w32font_close): Free cached metrics.
5922 (w32font_open_internal): Allocate space for name on stack.
5923
5924 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
5925
5926 * xdisp.c (extend_face_to_end_of_line): Fix last change.
5927
5928 2008-06-26 Jason Rumney <jasonr@gnu.org>
5929
5930 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
5931 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
5932
5933 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
5934
5935 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
5936
5937 2008-06-26 Jason Rumney <jasonr@gnu.org>
5938
5939 * w32bdf.c, w32bdf.h: Remove obsolete files.
5940
5941 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
5942
5943 * w32gui.h: Don't include w32bdf.h.
5944 (XCharStruct, enum w32_char_font_type, W32FontStruct):
5945 Remove obsolete font support.
5946
5947 * w32font.h (struct w32font_info): Remove compat_w32_font.
5948 Add hfont member.
5949 (FONT_COMPAT): Remove obsolete macro.
5950
5951 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
5952 (w32font_encode_char, w32font_text_extents): Use new hfont member.
5953 (w32font_open_internal): Remove compat code. Set new hfont member.
5954 (Fx_select_font): Use new hfont member.
5955
5956 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5957 (uniscribe_encode_char): Use new hfont member.
5958
5959 * w32term.c (x_draw_glyph_string_foreground)
5960 (x_draw_composite_glyph_string_foreground): Use new hfont member.
5961 (x_draw_glyph_string): Use metrics in w32font_info.
5962
5963 2008-06-26 Kenichi Handa <handa@m17n.org>
5964
5965 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
5966
5967 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
5968
5969 * unexnext.c:
5970 * m/ews4800.h:
5971 * m/hp9000s300.h:
5972 * m/ibm370aix.h:
5973 * m/mips-siemens.h:
5974 * m/ncr386.h:
5975 * m/next.h:
5976 * m/pmax.h:
5977 * m/powerpcle.h:
5978 * m/tandem-s2.h:
5979 * s/386bsd.h:
5980 * s/bsd386.h:
5981 * s/bsd4-1.h:
5982 * s/bsd4-2.h:
5983 * s/bsdos2-1.h:
5984 * s/bsdos2.h:
5985 * s/bsdos3.h:
5986 * s/bsdos4.h:
5987 * s/nextstep.h:
5988 * s/ultrix4-3.h:
5989 * s/usg5-0.h:
5990 * s/usg5-2-2.h:
5991 * s/usg5-2.h:
5992 * s/usg5-4-3.h:
5993 * s/ux4800.h:
5994 * s/uxpds.h:
5995 * s/uxpv.h: Remove support for obsolete systems.
5996 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
5997 Remove, insert contents in s/hpux10-20.h.
5998 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
5999 Remove, insert contents in s/aix4-2.h.
6000 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
6001 * s/bsd4-3.h: Rename to ...
6002 * s/bsd-common.h: ... this.
6003 * data.c:
6004 * doc.c:
6005 * ecrt0.c:
6006 * emacs.c:
6007 * fileio.c:
6008 * floatfns.c:
6009 * keyboard.c:
6010 * mem-limits.h:
6011 * print.c:
6012 * process.c:
6013 * sysdep.c:
6014 * syssignal.h:
6015 * systty.h:
6016 * syswait.h:
6017 * term.c:
6018 * unexec.c:
6019 * unexelf.c:
6020 * unexhp9k800.c:
6021 * m/hp800.h:
6022 * m/ibmrs6000.h:
6023 * m/mips.h:
6024 * m/vax.h:
6025 * s/darwin.h:
6026 * s/freebsd.h:
6027 * s/gnu.h:
6028 * s/ms-w32.h:
6029 * s/msdos.h:
6030 * s/netbsd.h:
6031 * s/template.h: Remove references to obsolete variables.
6032
6033 * Makefile.in: Add dependencies for all unexec files.
6034 (admindir): Remove unused variable.
6035 (UNEXEC_SRC): Remove references.
6036
6037 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
6038
6039 * xfns.c (x_default_font_parameter): If Xft is available, first
6040 try Monospace-12 for the default font.
6041
6042 2008-06-25 Jason Rumney <jasonr@gnu.org>
6043
6044 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
6045
6046 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
6047
6048 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
6049
6050 * buffer.c (syms_of_buffer): Remove default-word-wrap.
6051
6052 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
6053
6054 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
6055 <scroll-conservatively>: Fix typo in docstring.
6056
6057 * xselect.c (Fx_send_client_event): Doc fix.
6058
6059 2008-06-25 Kenichi Handa <handa@m17n.org>
6060
6061 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
6062
6063 * font.c (font_parse_fcname): Remove unused variables.
6064 (font_sort_entites): Delete the arg SPEC. Caller changed.
6065 Fix for the case of ! best_only.
6066 (font_delete_unmatched): Check DPI and AVGWIDTH too.
6067
6068 * lisp.h (Fstring_to_unibyte): EXFUN it.
6069
6070 * character.h (str_to_unibyte): Extern it.
6071
6072 * character.c (str_to_unibyte): New function.
6073
6074 * fns.c (Fstring_to_unibyte): New function.
6075 (syms_of_fns): Defsubr it.
6076
6077 2008-06-24 Kenichi Handa <handa@m17n.org>
6078
6079 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
6080 DPI too.
6081 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
6082
6083 2008-06-24 Andreas Schwab <schwab@suse.de>
6084
6085 * Makefile.in (${lispsource}loaddefs.el): Rename from
6086 ../lisp/loaddefs.el.
6087 (bootstrap-clean): Do what distclean does but don't remove
6088 Makefile.
6089 (distclean): Depend on bootstrap-clean and remove Makefile.
6090
6091 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
6092
6093 * buffer.h (struct buffer): New member word_wrap.
6094
6095 * buffer.c (syms_of_buffer): New variables default-word-wrap and
6096 word-wrap.
6097 (init_buffer_once): Initialize them.
6098
6099 * dispextern.h (struct it): Replace bool truncate_lines_p with a
6100 line_wrap enum possessing three possible values.
6101
6102 * termopts.h: Replace truncate_partial_width_windows with
6103 Vtruncate_partial_width_windows.
6104
6105 * dispnew.c (direct_output_for_insert): Avoid direct output when
6106 inserting a space with word wrap on.
6107
6108 * indent.c (compute_motion): Obey integer values of
6109 truncate-partial-width-windows.
6110
6111 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
6112 replacing truncate_partial_width_windows.
6113 (init_iterator): If Vtruncate_partial_width_windows is an integer,
6114 truncate only if the window width is below that integer.
6115 (start_display, resize_mini_window, produce_stretch_glyph)
6116 (display_string, move_it_in_display_line_to): Use line_wrap.
6117 (back_to_previous_visible_line_start, reseat_1): Reset
6118 string_from_display_prop_p.
6119 (display_line): Extend default face to end of line when wrapping.
6120
6121 2008-06-24 Kim F. Storm <storm@cua.dk>
6122
6123 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
6124 to wrap continued lines at word boundaries.
6125
6126 2008-06-24 Jason Rumney <jasonr@gnu.org>
6127
6128 * font.c (Ffont_face_attributes): Multiply pixel size before point
6129 conversion to avoid multiplying rounding error.
6130
6131 2008-06-23 Jason Rumney <jasonr@gnu.org>
6132
6133 * w32term.c (x_draw_glyph_string_background)
6134 (x_draw_glyph_string): Remove old bdf font code.
6135
6136 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
6137
6138 2008-06-22 Kenichi Handa <handa@m17n.org>
6139
6140 * font.c (font_find_for_lface): Try the adstyle specified in
6141 the property of LFACE_FONT of LFACE (if any).
6142
6143 2008-06-21 Seiji Zenitani <zenitani@mac.com>
6144 Ryo Yoshitake <ryo@shiftmode.net>
6145
6146 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
6147
6148 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
6149
6150 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
6151 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
6152 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
6153 (witness-emacs): Remove.
6154 (lisp, shortlisp): Move loaddefs.el earlier.
6155 (mostlyclean): Forget about witness-emacs.
6156
6157 2008-06-22 Glenn Morris <rgm@gnu.org>
6158
6159 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
6160 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
6161
6162 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6163
6164 * Makefile.in (PRECOMP): Remove.
6165 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
6166 (witness-emacs): Run `compile-first'.
6167 (.el.elc): Use the new compile-onefile target.
6168
6169 2008-06-21 Kenichi Handa <handa@m17n.org>
6170
6171 * xftfont.c (xftfont_open): Handle QCembolden only when
6172 FC_EMBOLDEN is defined.
6173
6174 2008-06-21 Andreas Schwab <schwab@suse.de>
6175
6176 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
6177 (.el.elc): Likewise.
6178
6179 2008-06-21 Miles Bader <miles@gnu.org>
6180
6181 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
6182 build dir, not the lisp source dir.
6183
6184 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
6185
6186 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
6187 (bootstrapclean): Remove.
6188 (.el.elc): New rule.
6189 (PRECOMP): New var.
6190 (../lisp/subdirs.el): Remove.
6191 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
6192 (witness-emacs): New target.
6193 (mostlyclean): Remove witness-emacs as well.
6194 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
6195 Add witness-emacs dependency.
6196
6197 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
6198
6199 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
6200 defined by the font.
6201
6202 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6203
6204 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
6205 (bootstrap-clean): New target that keeps TAGS around.
6206 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
6207 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
6208
6209 2008-06-20 Jason Rumney <jasonr@gnu.org>
6210
6211 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
6212 Remove obsolete font code.
6213
6214 * w32font.c (font_matches_spec): Use csb bitfield from font signature
6215 to determine language support.
6216
6217 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6218
6219 * sysdep.c (cfsetspeed): New fun extracted from the code.
6220 (cfmakeraw): Move before first use.
6221
6222 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
6223
6224 * sysdep.c (cfmakeraw): Provide fallback implementation.
6225 (serial_configure): Provide fallback implementation of cfsetspeed.
6226
6227 2008-06-20 Kenichi Handa <handa@m17n.org>
6228
6229 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
6230 the pattern.
6231
6232 * fontset.c (fontset_from_font): Copy font_spec before changing
6233 the elements.
6234
6235 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
6236
6237 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6238
6239 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
6240 for explicit `font' parameters.
6241
6242 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
6243
6244 2008-06-19 Kenichi Handa <handa@m17n.org>
6245
6246 * frame.c: Include <ctype.h>.
6247 (x_set_font_backend): Allow spacing characters in the X resource
6248 for FontBackend.
6249
6250 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
6251
6252 * w32fns.c, xfns.c (Qfont_param): New var.
6253 (syms_of_w32fns): Initialize it.
6254 (x_default_font_parameter): Record explicit `font' into
6255 `font-parameter'.
6256
6257 2008-06-18 Kenichi Handa <handa@m17n.org>
6258
6259 * font.c (font_parse_xlfd): Fix previous change.
6260 (font_parse_fcname): Don't use :fc-unknown-spec.
6261 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
6262 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
6263 (font_add_log): Prepend the driver name to the resulting fonts.
6264
6265 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
6266 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
6267 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
6268
6269 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
6270 (QCembolden): New variables.
6271 (syms_of_xftfont): DEFSYM them.
6272 (xftfont_open): Call XftFontMatch. Don't trust the result of
6273 XftTextExtents8 if the pixel_size is less than 5.
6274
6275 2008-06-18 Andreas Schwab <schwab@suse.de>
6276
6277 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
6278 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
6279
6280 2008-06-18 Jason Rumney <jasonr@gnu.org>
6281
6282 * w32font.c (w32font_list, w32font_match): Add logging.
6283
6284 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
6285
6286 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
6287
6288 * font.c (font_parse_fcname): Store divider characters for
6289 unknown-spec list. For known key symbols, intern using correct
6290 symbol name.
6291
6292 2008-06-17 Kenichi Handa <handa@m17n.org>
6293
6294 * xfaces.c (realize_default_face): If the frame is not on window
6295 system, set the fontset of face to nil.
6296
6297 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6298
6299 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
6300
6301 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
6302
6303 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
6304 (build_font_name_from_vector): Delete externs.
6305
6306 * xfaces.c (struct font_name): Don't declare.
6307
6308 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
6309
6310 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
6311
6312 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
6313
6314 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
6315
6316 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
6317
6318 * font.c (Ffont_spec): Fix usage in docstring.
6319 (Ffont_face_attributes): Doc fix.
6320
6321 2008-06-16 Andreas Schwab <schwab@suse.de>
6322
6323 * font.c (Ffont_face_attributes): Fix definition.
6324
6325 2008-06-16 Jason Rumney <jasonr@gnu.org>
6326
6327 * font.h (font_style_symbolic_from_value): Remove.
6328
6329 * font.c (font_style_symbolic_from_value): Remove.
6330 (font_style_symbolic): Revert to pre 2008-06-13 version.
6331
6332 * w32font.c (w32_to_fc_weight): New function.
6333 (w32font_full_name, logfont_to_fcname): Use it.
6334
6335 2008-06-16 Kenichi Handa <handa@m17n.org>
6336
6337 * font.c (font_check_object): Delete it.
6338 (font_clear_cache): Check if a font-object is alive.
6339 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
6340 font-object to nil.
6341 (font_close_object): Don't check FONT_CLOSE_OBJECT.
6342 (font_at): Don't call font_check_object.
6343 (Ffont_get): Return a symbol for :weight, :slant, and :width.
6344
6345 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
6346
6347 * puresize.h (BASE_PURESIZE): Increase to 1230000.
6348
6349 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
6350
6351 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
6352
6353 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
6354
6355 * font.c (font_parse_fcname): Only one decimal point.
6356 (font_unparse_fcname): Handle data in family and foundry indices
6357 as symbols, not strings.
6358 (font_unparse_gtkname, Ffont_face_attributes): New functions.
6359
6360 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
6361
6362 * font.h (font_unparse_gtkname): Add prototype.
6363
6364 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6365
6366 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
6367
6368 2008-06-15 Andreas Schwab <schwab@suse.de>
6369
6370 * font.c (font_update_drivers): Fix crash when no drivers match.
6371
6372 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
6373
6374 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
6375 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
6376
6377 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
6378
6379 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
6380
6381 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
6382
6383 * process.c (Fserial_process_configure, Fprocess_send_eof):
6384 Use EQ to compare Lisp_Objects.
6385
6386 2008-06-13 Jason Rumney <jasonr@gnu.org>
6387
6388 * w32fns.c (Fw32_select_font): Remove old font API function.
6389
6390 * w32font.c (logfont_to_fcname): New function.
6391 (Fx_select_font): New font dialog function compatible with
6392 GTK/fontconfig version.
6393
6394 * font.c (font_style_symbolic_from_value): New function.
6395 (font_style_symbolic): Use it.
6396
6397 * font.h (font_style_symbolic_from_value): Declare new function.
6398
6399 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
6400
6401 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
6402 <font-width-table>: Fix typos in docstrings.
6403
6404 2008-06-13 Daniel Engeler <engeler@gmail.com>
6405
6406 These changes add serial port access.
6407 * process.c: Add HAVE_SERIAL.
6408 (Fdelete_process, Fprocess_status, Fset_process_buffer)
6409 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
6410 (list_processes_1, select_wrapper, Fstop_process)
6411 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
6412 (status_notify): Modify to handle serial processes.
6413 [HAVE_SERIAL] (Fserial_process_configure)
6414 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
6415 New functions.
6416 * process.h (struct Lisp_Process): Add `type'.
6417 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
6418 New functions.
6419 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
6420 serial ports.
6421 (serial_open, serial_configure): New functions.
6422 * w32.h: Add FILE_SERIAL.
6423 (struct _child_process): Add ovl_read, ovl_write.
6424
6425 2008-06-13 Kenichi Handa <handa@m17n.org>
6426
6427 * dispextern.h (enum lface_attribute_index): New member
6428 LFACE_FOUNDRY_INDEX.
6429
6430 * font.c (font_score): Delete arg alternate_families. Check only
6431 weight, slant, width, and size. Ignore the difference of alias
6432 style symbols.
6433 (font_sort_entites): Adjust for the above change. Reflect the
6434 order of font-driver to scores.
6435 (font_list_entities): Don't check alternate_familes here.
6436 (font_clear_prop): Handle foundry.
6437 (font_update_lface): Don't parse "foundry-family" form here.
6438 Handle FONT_FOUNDRY_INDEX.
6439 (font_find_for_lface): Likewise. Handle alternate families here.
6440 If registry is nil, try iso8859-1 and ascii-0.
6441 (font_open_for_lface): Pay attention to size in ENTITY.
6442 (font_open_by_name): Simplify by calling font_load_for_lface.
6443 (free_font_driver_list): Delete it.
6444 (font_update_drivers): Preserve the order of backends.
6445 (syms_of_font): Setting of sort_shift_bits adjusted for the change
6446 of font_score and font_sort_entites.
6447 (font_update_sort_order): Likewise.
6448
6449 * xfaces.c (LFACE_FOUNDRY): New macro.
6450 (check_lface_attrs): Check foundry.
6451 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
6452 (merge_face_vectors): Check foundry.
6453 (merge_face_ref): Likewise.
6454 (Finternal_set_lisp_face_attribute): Likewise.
6455 (x_update_menu_appearance): Likewise.
6456 (Finternal_get_lisp_face_attribute): Likewise.
6457 (lface_hash): Likewise.
6458 (lface_same_font_attributes_p): Likewise.
6459 (x_supports_face_attributes_p): Likewise.
6460 (tty_supports_face_attributes_p): Likewise.
6461 (Finternal_set_alternative_font_family_alist): Intern strings.
6462 (Finternal_set_alternative_font_registry_alist): Downcase strings.
6463 (realize_default_face): Set LFACE_FOUNDRY (lface).
6464
6465 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
6466 font-driver at first.
6467
6468 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
6469
6470 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6471
6472 * lread.c (Fload): Use xfree, not free on saved_doc_string.
6473
6474 2008-06-12 Jim Meyering <meyering@redhat.com>
6475
6476 Make unexec_free handle NULL the same way free does.
6477 * unexmacosx.c (unexec_free): Ignore a NULL argument.
6478
6479 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
6480
6481 * character.h (CHAR_TO_BYTE_SAFE): New macro.
6482 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
6483 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
6484 (WEAK_ALIAS): Simplify.
6485 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
6486 when searching a unibyte buffer.
6487
6488 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
6489
6490 * xfns.c (Fx_select_font): Rename from x-font-dialog.
6491
6492 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
6493
6494 * w32font.c: Include ctype.h.
6495
6496 2008-06-11 Jason Rumney <jasonr@gnu.org>
6497
6498 * w32font.c (w32font_encode_char): Detect missing glyphs that are
6499 misreported as space.
6500 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
6501 as aliases for registry iso10646-1.
6502
6503 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
6504
6505 * buffer.c (clone_per_buffer_values): Skip `name'.
6506
6507 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
6508
6509 * font.c (font_parse_fcname): Fix last change; accept decimal
6510 points in font size.
6511
6512 2008-06-10 Jason Rumney <jasonr@gnu.org>
6513
6514 * w32uniscribe.c (add_opentype_font_name_to_list):
6515 Skip non unicode fonts.
6516
6517 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
6518
6519 * xfns.c (Fx_font_dialog): New function.
6520
6521 * gtkutil.c (xg_dialog_response_cb): Rename from
6522 xg_file_response_callback.
6523 (pop_down_dialog): Rename from pop_down_file_dialog.
6524 (xg_get_file_name): Callers changed.
6525 (xg_get_font_name): New function.
6526
6527 * gtkutil.h (xg_get_font_name): Insert prototype.
6528
6529 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6530
6531 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
6532 x_underline_minimum_display_offset.
6533 (syms_of_xdisp): Declare it here rather than in xterm.c.
6534 * dispextern.h (underline_minimum_offset): Declare it.
6535 * w32term.c (x_draw_glyph_string): Use it.
6536 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
6537 (syms_of_xterm): Don't declare it any more.
6538 (x_draw_glyph_string): Adjust to the new name.
6539
6540 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
6541
6542 * xterm.c (x_underline_minimum_display_offset): New var.
6543 (x_draw_glyph_string): Use it.
6544 (syms_of_xterm): Declare it.
6545
6546 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
6547
6548 * font.c (font_parse_fcname): Accept GTK-style font names too.
6549
6550 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6551
6552 * dired.c (file_name_completion): Don't return t if the match is exact
6553 but with different capitalization.
6554 * minibuf.c (Ftry_completion): Simplify.
6555
6556 * window.c (Vwindow_point_insertion_type): New var.
6557 (set_window_buffer): Use it.
6558 (syms_of_window): Init and export it to Lisp.
6559
6560 2008-06-10 Kenichi Handa <handa@m17n.org>
6561
6562 * font.h (font_intern_prop): Prototype adjusted.
6563
6564 * font.c (font_intern_prop): New arg force_symbol.
6565 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
6566 Adjust for the change of font_intern_prop.
6567
6568 * ftfont.c (ftfont_pattern_entity):
6569 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
6570 (w32_registry):
6571 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
6572 the change of font_intern_prop.
6573
6574 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
6575
6576 * w32menu.c (digest_single_submenu): Declare extern.
6577
6578 2008-06-09 Jason Rumney <jasonr@gnu.org>
6579
6580 * w32term.c (x_make_frame_visible): Use alternate restore flags.
6581
6582 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
6583 (parse_single_submenu): Remove.
6584 (digest_single_submenu): Remove.
6585 (syms_of_w32menu): Don't initialise variables that have moved
6586 to menu.c.
6587 (set_frame_menubar): Sync with version in xmenu.c.
6588 (w32_menu_show): Sync with xmenu_show in xmenu.c.
6589
6590 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
6591 Make static again.
6592
6593 2008-06-09 Jason Rumney <jasonr@gnu.org>
6594
6595 Changes to w32 files related to the move of common menu code
6596 to menu.c on 2008-06-08 by Chong Yidong.
6597
6598 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
6599 defs to w32gui.h.
6600 (single_keymap_panes, push_menu_item, push_menu_pane):
6601 Make globally visible.
6602
6603 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
6604 (local_free, malloc_widget_value, free_widget_value)
6605 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
6606 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
6607 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
6608 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
6609 (menu_items, menu_items_allocated, menu_items_used)
6610 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
6611 (init_menu_items, finish_menu_items, discard_menu_items)
6612 (grow_menu_items, push_submenu_start, push_submenu_end)
6613 (push_left_right_boundary, push_menu_pane, push_menu_item)
6614 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
6615 (free_menubar_widget_tree_value, parse_single_submenu)
6616 (update_submenu_strings): Remove functions.
6617 (xmalloc_widget_value): Remove and declare extern.
6618
6619 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
6620 (OBJ1): Build it.
6621
6622 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
6623 (local_heap, local_alloc, local_free, malloc_widget_value)
6624 (free_widget_value): Define here.
6625
6626 2008-06-09 Kenichi Handa <handa@m17n.org>
6627
6628 * font.h (Qascii_0): Extern it.
6629
6630 * font.c (Qascii_0): New variable.
6631 (syms_of_font): DEFSYM it.
6632 (font_open_by_name): If the registry "iso8859-1" fails, try also
6633 "ascii-0".
6634
6635 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
6636
6637 2008-06-08 Kenichi Handa <handa@m17n.org>
6638
6639 * .gdbinit (xfont): New command.
6640
6641 2008-06-08 Andreas Schwab <schwab@suse.de>
6642
6643 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
6644 * Makefile.in (menu.o): Update dependencies.
6645
6646 * Makefile.in (obj): Always add menu.o.
6647 * emacs.c (main): Always call syms_of_menu.
6648 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
6649
6650 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
6651
6652 * Makefile.in: Compile menu.c.
6653
6654 * lisp.h: Declare syms_of_menu.
6655
6656 * emacs.c (main): Call syms_of_menu.
6657
6658 * keyboard.h: Relocate platform-independent menu definitions from
6659 xmenu.c.
6660
6661 * menu.c: New file. Relocate platform-independent menu
6662 definitions from xmenu.c. Suggested by Adrian Robert.
6663
6664 * xmenu.c: Remove platform-independent menu definitions.
6665 (menu_items menu_items_inuse, menu_items_allocated)
6666 (menu_items_used, menu_items_n_panes)
6667 (menu_items_submenu_depth): Move to keyboard.h.
6668 (init_menu_items, finish_menu_items, unuse_menu_items)
6669 (discard_menu_items, restore_menu_items, save_menu_items)
6670 (grow_menu_items, push_submenu_start, push_submenu_end)
6671 (push_left_right_boundary, push_menu_pane, push_menu_item)
6672 (keymap_panes, single_keymap_panes, single_menu_item)
6673 (list_of_panes, list_of_items, find_and_call_menu_selection)
6674 (xmalloc_widget_value, free_menubar_widget_value_tree)
6675 (parse_single_submenu, digest_single_submenu)
6676 (update_submenu_strings): Move to menu.c.
6677
6678 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6679
6680 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6681
6682 2008-06-06 Miles Bader <miles@gnu.org>
6683
6684 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6685 face, not frame default.
6686
6687 2008-06-05 Martin Rudalics <rudalics@gmx.at>
6688
6689 * window.c (pop_up_windows, pop_up_frames)
6690 (display_buffer_reuse_frames, Vpop_up_frame_function)
6691 (Vdisplay_buffer_function, Veven_window_heights)
6692 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6693 (Vspecial_display_function, Vsame_window_buffer_names)
6694 (Vsame_window_regexps, split_height_threshold)
6695 (Vsplit_window_preferred_function): Move those vars to window.el.
6696 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6697 (Fdisplay_buffer): Move those functions to window.el.
6698 (syms_of_window): Remove corresponding declarations.
6699 (display_buffer): New function.
6700 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6701 * dispnew.c (Flast_nonminibuf_frame): New function.
6702 * buffer.c (Fpop_to_buffer): Move to window.el.
6703
6704 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6705
6706 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6707
6708 2008-06-05 Kenichi Handa <handa@m17n.org>
6709
6710 * coding.c (detect_coding): Fix previous change.
6711 (detect_coding_system): Likewise.
6712
6713 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6714
6715 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6716
6717 * keymap.c (Vminibuffer_local_filename_must_match_map):
6718 Rename from Vminibuffer_local_must_match_filename_map.
6719 (syms_of_keymap):
6720 * minibuf.c (Fcompleting_read): Adjust accordingly.
6721 * commands.h: Rename declaration as well.
6722
6723 2008-06-05 Kenichi Handa <handa@m17n.org>
6724
6725 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6726 family name.
6727 (Ffont_put): Likewise.
6728
6729 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6730 current font-spec.
6731
6732 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6733 is unspecified.
6734
6735 * xfaces.c (realize_x_face): If the font-related face attributes
6736 are the same as those of default face, realize a new fontset from
6737 default->fontset.
6738 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6739
6740 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6741
6742 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6743 (move_it_in_display_line): New wrapper.
6744
6745 * window.c (window_scroll_pixel_based_preserve_x)
6746 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6747 (window_scroll_pixel_based, window_scroll_line_based):
6748 Use them to preserve column positions.
6749 (syms_of_window): Initialize them.
6750
6751 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6752 (HPOS . VPOS) pair.
6753
6754 * dispextern.h (move_it_in_display_line): Declare.
6755
6756 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
6757
6758 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6759 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6760 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6761
6762 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
6763
6764 * window.c (Fset_window_parameter): Doc fix.
6765 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6766
6767 2008-06-04 Joakim Verona <joakim@verona.se>
6768
6769 * window.h (struct window): Add new member window_parameters.
6770
6771 * window.c (Fwindow_parameters, Fwindow_parameter)
6772 (Fset_window_parameter): New defuns.
6773 (syms_of_window): Defsubr the new defuns.
6774 (make_window): Initialize window_parameters to nil.
6775
6776 2008-06-04 John Paul Wallington <jpw@pobox.com>
6777
6778 * eval.c (Fdefmacro): Doc fix.
6779
6780 2008-06-04 Kenichi Handa <handa@m17n.org>
6781
6782 * coding.c (detect_coding): Fix handling of coding->head_ascii.
6783 Be sure to call setup_coding_system when we find a proper coding system.
6784 (detect_coding_system): Fix handling of coding->head_ascii.
6785
6786 2008-06-03 Andreas Schwab <schwab@suse.de>
6787
6788 * font.c (font_prop_validate_spacing): Fix last change.
6789
6790 2008-06-03 Kenichi Handa <handa@m17n.org>
6791
6792 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
6793 (font_parse_fcname): Fix handling of unknown key.
6794
6795 * xfont.c (xfont_list): Try an alias.
6796
6797 * charset.c (char_charset): Return NULL if the arg charset_list is
6798 specified and C doesn't belong to any of them.
6799
6800 2008-06-02 Chip Coldwell <coldwell@redhat.com>
6801
6802 * font.c (font_pixel_size): Don't take cdr of an integer.
6803
6804 2008-06-02 Jim Meyering <meyering@redhat.com>
6805
6806 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
6807 * alloc.c (xfree): Return right away for a NULL arg.
6808 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
6809 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
6810 * mac.c (create_apple_event_from_event_ref): Likewise.
6811 (create_apple_event_from_drag_ref, cfstring_create_normalized):
6812 Likewise.
6813 * doprnt.c (doprnt1): Likewise.
6814 * frame.c (frame): Likewise.
6815 * keyboard.c (wipe_kboard): Likewise.
6816 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
6817 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
6818 * term.c (tty_default_color_capabilities, maybe_fatal)
6819 (delete_tty): Likewise.
6820 * w16select.c (string): Likewise.
6821 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
6822 * w32bdf.c (w32_free_bdf_font): Likewise.
6823 * w32fns.c (w32_unload_font): Likewise.
6824 * w32font.c (w32font_close): Likewise.
6825 * window.c (size_window): Likewise.
6826 * xselect.c (receive_incremental_selection): Likewise.
6827 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
6828 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
6829 * w32.c (stat): Likewise.
6830
6831 Remove useless if-before-free tests.
6832 * editfns.c (Fset_time_zone_rule): Likewise.
6833 * lread.c (nosuffix): Likewise.
6834 * ralloc.c (get_bloc): Likewise.
6835 * regex.c (reg_free): Likewise.
6836 * xftfont.c (xftfont_open, xftfont_close): Likewise.
6837 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
6838 * xsmfns.c (smc_save_yourself_CB): Likewise.
6839
6840 2008-06-02 Kenichi Handa <handa@m17n.org>
6841
6842 * font.c (font_find_for_lface): Handle float font size.
6843 (font_open_for_lface): Likewise.
6844
6845 * xfaces.c (x_supports_face_attributes_p): Check face->font before
6846 comparing the properties.
6847
6848 2008-06-01 Jason Rumney <jasonr@gnu.org>
6849
6850 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
6851 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
6852 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
6853 Don't add empty script list.
6854 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
6855
6856 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
6857
6858 * Makefile.in (dot, dotdot): Remove, update users.
6859 ".." has been used elsewhere in the file for a long time.
6860 (LIBXT_STATIC): Remove conditional based on unused variable.
6861
6862 2008-06-01 Miles Bader <miles@gnu.org>
6863
6864 * xfaces.c (Vface_remapping_alist): New variable.
6865 (syms_of_xfaces): Initialize it.
6866 (enum named_merge_point_kind): New type.
6867 (struct named_merge_point): Add `named_merge_point_kind' field.
6868 (push_named_merge_point): Make cycle detection respect different
6869 named-merge-point kinds.
6870 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
6871 Remove face-name alias resolution.
6872 (lface_from_face_name): New definition using
6873 `lface_from_face_name_no_resolve'.
6874 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
6875 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
6876 (get_lface_attributes): New definition that layers face-remapping on
6877 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
6878 (lookup_basic_face): New function.
6879 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
6880 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
6881 `get_lface_attributes'.
6882 (face_at_buffer_position): Use `lookup_basic_face' to lookup
6883 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
6884 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
6885
6886 * xdisp.c (init_iterator): Pass base_face_id through
6887 `lookup_basic_face' when we actually use it as a face-id.
6888 (handle_single_display_prop): Use `lookup_basic_face' to lookup
6889 DEFAULT_FACE_ID.
6890
6891 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
6892 lookup the initial face-id.
6893
6894 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
6895
6896 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
6897
6898 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
6899 (Fremove_text_properties): Fix typos in docstrings.
6900
6901 2008-05-31 Kenichi Handa <handa@m17n.org>
6902
6903 * font.c (font_list_entities): Fix the car part of data to be
6904 stored in the cache.
6905
6906 * ftfont.c (ftfont_font_format): Don't use strcasestr.
6907
6908 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6909
6910 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
6911 Add a `test' argument so another predicate than `equal' can be used.
6912 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
6913 (map_char_table): Remove unused vars `c' and `i'.
6914 * lisp.h (Foptimize_char_table): Adjust declaration.
6915 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
6916
6917 2008-05-30 Kenichi Handa <handa@m17n.org>
6918
6919 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
6920 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
6921 defined.
6922
6923 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6924
6925 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6926 (Fmake_variable_frame_local): Disallow mixing buffer-local and
6927 frame-local settings for the same variable.
6928
6929 2008-05-30 Kenichi Handa <handa@m17n.org>
6930
6931 * fontset.c (Ffont_info): Move to font.c.
6932 (syms_of_fontset): Delete defsubr of Sfont_info.
6933
6934 * font.c (font_style_to_value, font_score): Delete casting of the
6935 args to xstcasecmp.
6936 (register_font_driver): Increment num_font_drivers only when
6937 registering the driver globally.
6938 (Ffont_info): Move from fontset.c. Handle a font object too.
6939 (syms_of_font): Defsubr Sfont_info.
6940
6941 2008-05-29 Kenichi Handa <handa@m17n.org>
6942
6943 * coding.h (enum define_coding_utf8_arg_index): New enum.
6944 (enum coding_attr_index): Change coding_attr_utf_16_bom to
6945 coding_attr_utf_bom.
6946 (enum utf_bom_type): Rename from utf_16_bom_type.
6947 (struct utf_16_spec): Adjust for the above change.
6948 (struct coding_system): Add utf_8_bom in `spec' union.
6949
6950 * coding.c (CODING_UTF_8_BOM): New macro.
6951 (enum coding_category): Delete coding_category_utf_8, add
6952 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
6953 coding_category_utf_8_sig.
6954 (CATEGORY_MASK_UTF_8): Delete it.
6955 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
6956 (CATEGORY_MASK_UTF_8_SIG): New macros.
6957 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
6958 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
6959 CATEGORY_MASK_UTF_8_SIG.
6960 (CATEGORY_MASK_UTF_8): New macro.
6961 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
6962 (detect_coding_utf_8): Check BOM.
6963 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
6964 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
6965 (encode_coding_utf_16): Likewise.
6966 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
6967 (detect_coding, detect_coding_system): Handle utf-8-auto.
6968 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
6969 (syms_of_coding): Fix setting up of Vcoding_category_table.
6970
6971 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
6972
6973 * process.c (Faccept_process_output): If `millisec' is non-nil,
6974 `seconds' default to 0.
6975 (wait_reading_process_output): Also return non-nil if we read output
6976 from a non-running process.
6977
6978 2008-05-29 Jason Rumney <jasonr@gnu.org>
6979
6980 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
6981 `raster' specified.
6982 (add_font_entity_to_list): Allow non-opentype truetype fonts back
6983 in the uniscribe backend, but disallow any font that has no
6984 unicode subrange support.
6985
6986 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
6987
6988 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
6989 Fix typos in docstrings.
6990
6991 2008-05-29 Kenichi Handa <handa@m17n.org>
6992
6993 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
6994 (Fx_family_fonts): Set frame correctly.
6995
6996 2008-05-28 Jason Rumney <jasonr@gnu.org>
6997
6998 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
6999
7000 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
7001
7002 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
7003 calling build_annotations.
7004
7005 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
7006
7007 * coding.c (Fdecode_coding_region, Fencode_coding_region)
7008 (Fencode_coding_string):
7009 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
7010 <latin-extra-code-table>: Fix typos in docstrings.
7011 (syms_of_coding) <coding-system-alist>: Doc fix.
7012 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
7013
7014 2008-05-28 Kenichi Handa <handa@m17n.org>
7015
7016 * fontset.c (Ffont_info): Don't call font_close_object.
7017
7018 * font.c (font_parse_family_registry): Use Ffont_put to validate
7019 foundry and family.
7020 (font_delete_unmatched): Don't check spacing.
7021 (font_list_entities): Add spacing to the spec to list fonts.
7022
7023 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
7024 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
7025
7026 * coding.c (encode_coding_raw_text): Fix previous change.
7027 (encode_coding_object): When the dst_object is a buffer and is
7028 different from src_object, move gap to PT.
7029
7030 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
7031
7032 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
7033
7034 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7035
7036 * coding.c (encode_coding_raw_text): Set coding->produced_char for
7037 all branches. Compute it differently.
7038
7039 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
7040
7041 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
7042
7043 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
7044 into "else if () ... else ...".
7045
7046 2008-05-27 Jason Rumney <jasonr@gnu.org>
7047
7048 * w32font.c (w32font_open_internal): Determine if glyph indices
7049 are likely to work here.
7050
7051 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
7052
7053 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
7054 draw overlap glyphs with appropriate highlighting.
7055
7056 2008-05-27 Kenichi Handa <handa@m17n.org>
7057
7058 * xfont.c (xfont_open): Fix calculation of font->average_width.
7059
7060 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
7061
7062 * casefiddle.c (casify_object): Try to guess better whether the
7063 argument is a byte or a char.
7064
7065 2008-05-26 Andreas Schwab <schwab@suse.de>
7066
7067 * xselect.c (x_reply_selection_request): Properly handle format == 32.
7068 Always send multiples of format size.
7069
7070 * xterm.c (x_set_frame_alpha): Fix type mismatch.
7071
7072 2008-05-26 Jason Rumney <jasonr@gnu.org>
7073
7074 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
7075 (compute_metrics): Don't set failure if we just cleared the cache.
7076 (w32_weight_table): Remove unused variable.
7077 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
7078 backwards compatibility.
7079
7080 2008-05-25 Kenichi Handa <handa@m17n.org>
7081
7082 * w32term.c (x_draw_glyph_string):
7083 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
7084
7085 * xfaces.c: Delete unused function prototypes.
7086 (xstrlwr, font_frame): Delete them.
7087 (clear_face_cache): Delete unused variable.
7088
7089 * xftfont.c (xftfont_open): Delete unused variable.
7090 If underline_thickness is not 1, adjust underline_position.
7091
7092 * ftxfont.c (ftxfont_open): Delete unused variable.
7093
7094 * fontset.c (face_for_char): Optimize for the case of no charset
7095 property.
7096
7097 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
7098 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
7099 (otf_open, font_otf_capability, generate_otf_features)
7100 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7101 Comment out by surrounding "#if 0" and "#endif" for the moment.
7102 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
7103 (syms_of_font): Codes for accessing above commented out.
7104
7105 2008-05-24 Eli Zaretskii <eliz@gnu.org>
7106
7107 * w32proc.c: Include dispextern.h.
7108
7109 * w32.c: Include dispextern.h.
7110
7111 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
7112
7113 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
7114 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
7115 Fix typos in docstrings.
7116
7117 2008-05-23 Jason Rumney <jasonr@gnu.org>
7118
7119 * xsmfns.c: Remove includes that are already included by config.h.
7120
7121 2008-05-23 Kenichi Handa <handa@m17n.org>
7122
7123 * charset.c (Qemacs, charset_emacs): New variables.
7124 (char_charset): Fix for non-Unicode characters.
7125 (syms_of_charset): Define charset_emacs.
7126
7127 * w32term.c (x_draw_glyph_string): Be sure to update
7128 s->underline_thickness and s->underline_position. Be sure to draw
7129 underline within the current line area.
7130
7131 * xterm.c (x_draw_glyph_string): Be sure to update
7132 s->underline_thickness and s->underline_position. Be sure to draw
7133 underline within the current line area.
7134
7135 * fontset.c: Delete unused variables and add casting for char *
7136 throughout the file.
7137 (fontset_font): Try the fallback fonts of the current fontset
7138 before consulting the default fontset.
7139
7140 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
7141
7142 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
7143
7144 2008-05-22 Jason Rumney <jasonr@gnu.org>
7145
7146 * font.c: Don't include strings.h.
7147
7148 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
7149
7150 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
7151 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
7152 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
7153 to call xstrcasecmp.
7154
7155 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
7156
7157 * fontset.c (fs_query_fontset): Use xstrcasecmp.
7158
7159 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
7160
7161 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
7162
7163 2008-05-22 Kenichi Handa <handa@m17n.org>
7164
7165 * puresize.h (BASE_PURESIZE): Increase to 1220000.
7166
7167 * font.c (font_prop_validate_style): Adjust for the format
7168 change of font_style_table.
7169
7170 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
7171 two args.
7172
7173 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
7174 two args.
7175
7176 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
7177
7178 * minibuf.c (keys_of_minibuf): Delete.
7179 * lisp.h (keys_of_minibuf): Delete.
7180 * emacs.c (main): Don't call keys_of_minibuf.
7181
7182 2008-05-22 Kenichi Handa <handa@m17n.org>
7183
7184 * ftfont.c (ftfont_resolve_generic_family): Rename from
7185 ftfont_list_generic_family. Return a single family for each
7186 generic family.
7187 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
7188 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
7189 Call font_add_log.
7190 (ftfont_match): Call font_add_log.
7191
7192 * font.h (Ffont_xlfd_name): EXFUN adjusted.
7193 (FONT_DEBUG): Define it.
7194 (font_add_log): Extern it.
7195 (font_assert): Rename from xassert.
7196
7197 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
7198 (xfont_list_family): Call font_add_log.
7199 (xfont_match): Likewise.
7200 (memq_no_quit): Delete.
7201
7202 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
7203 call of Ffont_xlfd_name.
7204
7205 * xfaces.c (struct table_entry, slant_table, weight_table)
7206 (swidth_table): Move to font.c.
7207
7208 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
7209 xassert are changed to font_assert. Delete many unused variables.
7210 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
7211 New variables.
7212 (struct table_entry): Move from xfaces.c and modified.
7213 (weight_table, slant_table, width_table): Move from xfaces.c and
7214 contents adjusted for the change of struct table_entry.
7215 (font_style_to_value, font_style_symbolic): Adjust for the
7216 format change of font_style_table.
7217 (font_parse_family_registry): Don't overwrite existing foundry and
7218 family of font_spec.
7219 (font_score): Fix calculation of diff for sizes.
7220 (font_sort_entites): Call font_add_log.
7221 (font_delete_unmatched): Return a newly created list.
7222 (font_list_entities): Fix previous change. Call font_add_log.
7223 (font_matching_entity, font_open_entity, font_close_entity):
7224 Call font_add_log.
7225 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
7226 (Finternal_set_font_style_table): Delete.
7227 (BUILD_STYLE_TABLE): New macro.
7228 (build_style_table): New function.
7229 (Vfont_log, font_log_env_checked): New variables.
7230 (font_add_log): New function.
7231 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
7232 Declare Lisp variables "font-weight-table", "font-slant-table",
7233 "font-width-table", and "font-log". Initialize font_style_table.
7234
7235 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
7236
7237 * xterm.c (x_set_frame_alpha): Move declarations before statements.
7238
7239 2008-05-21 Seiji Zenitani <zenitani@mac.com>
7240 Ryo Yoshitake <ryo@shiftmode.net>
7241
7242 * frame.c (Qalpha): Add a new frame parameter `alpha'.
7243 (Vframe_alpha_lower_limit): New variable.
7244 (x_set_alpha): New function.
7245
7246 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
7247
7248 * xfns.c (x-create-frame, Qalpha):
7249 Initialize the frame parameter `alpha'.
7250 * xterm.c (OPAQUE, OPACITY): New.
7251 (x_set_frame_alpha): New function.
7252 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
7253
7254 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
7255 * w32fns.c (w32_frame_parm_handlers): Likewise.
7256
7257 2008-05-20 Jason Rumney <jasonr@gnu.org>
7258
7259 * w32font.c (add_font_entity_to_list): Don't add non-opentype
7260 truetype fonts to opentype list.
7261
7262 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
7263
7264 * fontset.c (Ffontset_info): Doc fix.
7265 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
7266 <ignore-relative-composition>: Fix typos in docstrings.
7267
7268 * font.c (syms-of-font) <font-encoding-alist>:
7269 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
7270 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
7271 (Ffont_otf_alternates): Doc fixes.
7272
7273 2008-05-20 Kenichi Handa <handa@m17n.org>
7274
7275 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
7276 font.h through out the file.
7277 (FONT_DRIVERS): Rename from FONTOBJ.
7278 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
7279 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
7280
7281 * emacs.c (main): Call syms_of_font unconditionally.
7282
7283 * font.h (find_font_encoding): Extern it.
7284
7285 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
7286 fontset.c.
7287 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
7288 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
7289 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
7290 only when HAVE_WINDOW_SYSTEM is defined.
7291 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
7292 when HAVE_WINDOW_SYSTEM is defined.
7293
7294 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
7295 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
7296
7297 * xfaces.c: Include font.h unconditionally.
7298 (merge_face_ref, merge_face_vectors)
7299 (Finternal_set_lisp_face_attribute): Cancel the previous change.
7300
7301 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
7302
7303 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
7304 indirect_variable.
7305 * eval.c (lisp_indirect_variable): New fun.
7306 (Fuser_variable_p): Use it.
7307
7308 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
7309
7310 * lisp.h (indirect_variable):
7311 * data.c (indirect_variable, let_shadows_buffer_binding_p):
7312 Use Lisp_Symbol pointers rather than Lisp_Object.
7313 Adjust callers.
7314 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
7315 To this end, change calling-convention.
7316
7317 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
7318 if some non-hidden buffers are selected by string&pred.
7319
7320 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
7321
7322 * process.c (wait_reading_process_output): Always check status
7323 when in batch mode.
7324
7325 2008-05-19 Kenichi Handa <handa@m17n.org>
7326
7327 * font.c (font_list_entities): Fix handling of cache.
7328 (font_matching_entity): Likewise.
7329
7330 * ftfont.c (cs_iso8859_1): Delete.
7331 (ft_face_cache): New variable.
7332 (struct ftfont_info): New member fc_charset_idx.
7333 (ftfont_build_basic_charsets): Delete.
7334 (fc_charset_table): New variable.
7335 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
7336 . FC_CHARSET_IDX) as :font-entity property in the font entity.
7337 Callers changed.
7338 (ftfont_lookup_cache, ftfont_get_charset): New functions.
7339 (ftfont_spec_pattern): New argument fc_charset_idx.
7340 Check registry more rigidly. Change callers.
7341 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
7342 change of :font-entity property of the font.
7343
7344 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
7345 property of the font.
7346
7347 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
7348
7349 * coding.c (Fcoding_system_p): Rename argument to match docstring.
7350 (Funencodable_char_position, Fcheck_coding_systems_region)
7351 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
7352 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
7353 (Ffind_operation_coding_system, Fset_coding_system_priority)
7354 (Fcoding_system_eol_type): Doc fixes.
7355
7356 2008-05-17 Glenn Morris <rgm@gnu.org>
7357
7358 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
7359
7360 2008-05-16 Eli Zaretskii <eliz@gnu.org>
7361
7362 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
7363 and st_gid.
7364
7365 * frame.c (Fdelete_frame): Don't call font_update_drivers if
7366 HAVE_WINDOW_SYSTEM is not defined.
7367
7368 * xfaces.c (merge_face_ref, merge_face_vectors)
7369 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
7370 HAVE_WINDOW_SYSTEM is defined.
7371 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
7372
7373 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
7374
7375 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
7376
7377 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7378
7379 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
7380
7381 2008-05-15 Kenichi Handa <handa@m17n.org>
7382
7383 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
7384 preference.
7385
7386 2008-05-15 Glenn Morris <rgm@gnu.org>
7387
7388 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
7389
7390 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
7391
7392 * fns.c (init_fns): Don't initialize weak_hash_tables here.
7393 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
7394
7395 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
7396
7397 2008-05-15 Kenichi Handa <handa@m17n.org>
7398
7399 * ftfont.c (ftfont_list): Downcase family name to check generic
7400 families.
7401
7402 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
7403 font-spec for QCfont value.
7404
7405 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
7406 buffer. Check the return value of it.
7407
7408 2008-05-14 Jason Rumney <jasonr@gnu.org>
7409
7410 * w32term.c (w32_get_glyph_overhangs): Remove.
7411 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
7412
7413 2008-05-14 Kenichi Handa <handa@m17n.org>
7414
7415 * font.c (font_prop_validate): Make nil a valid value.
7416 (font_clear_cache): Check if the cached vector of entities is nil
7417 or not.
7418
7419 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7420
7421 * emacs.c (main_thread): Conditionalize on
7422 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7423 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
7424
7425 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
7426 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
7427 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7428
7429 2008-05-14 Kenichi Handa <handa@m17n.org>
7430
7431 * coding.c (detect_coding_iso_2022): Ignore a coding category that
7432 has no corresponding coding system.
7433
7434 2008-05-14 Jason Rumney <jasonr@gnu.org>
7435
7436 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
7437
7438 * w32font.h (w32font_open_internal): Update declaration.
7439
7440 * w32font.c (w32font_open_internal): Change last argument from
7441 w32font_info struct to font object. Fill in font object from
7442 font_entity. Get Outline metrics if possible. Use them to
7443 calculate underline position and thickness. Use xlfd name as name
7444 property. Don't set codepage.
7445 (w32font_open): Pass font_object to w32font_open_internal. Don't
7446 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
7447 (w32font_draw): Use s->font.
7448 (clear_cached_metrics): Don't clear non-existent blocks.
7449
7450 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
7451 font was not found.
7452 (x_draw_glyph_string): Use underline position and thickness from font.
7453
7454 * w32uniscribe.c (uniscribe_open): Pass font_object to
7455 w32font_open_internal.
7456
7457 2008-05-14 Kenichi Handa <handa@m17n.org>
7458
7459 These changes are to delete all legacy font-handling codes, and
7460 make Emacs use only font-backends.
7461
7462 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
7463 (frame.o, image.o, print.o): Depend on $(FONTSRC).
7464
7465 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
7466
7467 * charset.h (Vcharset_non_preferred_head)
7468 (Vcurrent_iso639_language): Extern them.
7469
7470 * charset.c (Vcharset_non_preferred_head): New variable.
7471 (Vcurrent_iso639_language): New variable.
7472 (syms_of_charset): Declare it as a Lisp variable.
7473 (char_charset): Don't check non preferred charsets. As a last
7474 resort, return charset_unicode.
7475 (Fset_charset_priority): Update Vcharset_non_preferred_head.
7476
7477 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
7478 conditionals. Don't check enable_font_backend. Delete all codes
7479 used only when USE_FONT_BACKEND is not defined.
7480
7481 * dispextern.h (struct glyph_string): Change type of `font' to
7482 `struct font *'.
7483 (struct glyph_string): New member underline_position and
7484 underline_thickness.
7485 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
7486 (struct face): Change type of `font' to `struct font *'. Remove
7487 members `font_name', `font_info_id'.
7488 (per_char_metric, encode_char): Delete externs.
7489 (calc_pixel_width_or_height): Adjust the prototype.
7490
7491 * emacs.c (enable_font_backend): Delete extern.
7492 (main): Don't set enable_font_backend. Don't check the command
7493 line argument "-disable-font-backend".
7494
7495 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
7496 (enum font_property_index): New members FONT_DPI_INDEX,
7497 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
7498 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
7499 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
7500 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
7501 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
7502 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
7503 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
7504 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
7505 (struct font_spec, struct font_entity): New structs.
7506 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
7507 (struct font): Many members from old "struct font_info" moved to
7508 here. Members font and entity deleted.
7509 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
7510 the new font-related objects.
7511 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
7512 (CHECK_FONT_GET_OBJECT): Likewise.
7513 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
7514 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
7515 (struct font_driver): New members case_sensitive anc check. Type
7516 of the member list and open changed.
7517 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
7518 (font_symbolic_width, font_find_object, font_get_spec)
7519 (font_set_lface_from_name): Delete extern.
7520 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
7521
7522 * font.c: Include <strings.h>.
7523 (enable_font_backend): Delete it.
7524 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
7525 (CHECK_VALIDATE_FONT_SPEC): Delete it.
7526 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
7527 (null_string): Delete it.
7528 (null_vector): Make it static.
7529 (font_family_alist): Delete it.
7530 (Qnormal): Extern it.
7531 (QCextra, QClanguage): Delete it.
7532 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
7533 (font_make_spec, font_make_entity, font_make_object)
7534 (font_intern_prop): Renamed from intern_downcase. Don't downcase
7535 the string. Callers changed.
7536 (font_pixel_size): Adjusted for the format change of font-related
7537 objects.
7538 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
7539 (font_style_to_value, font_style_symbolic): New function.
7540 (build_font_family_alist): Delete it.
7541 (font_registry_charsets): Use Fassoc_string instead of
7542 assq_no_quit.
7543 (font_prop_validate_symbol): Don't return null_string.
7544 (font_prop_validate_style): Adjusted for the change of
7545 style-related values in a font vector.
7546 (font_property_table): Delete entries for QClanguage and
7547 QCantialias, add entries for QCavgwidth.
7548 (get_font_prop_index): Delete the 2nd argument FROM.
7549 (font_prop_validate): Arguments changed.
7550 (font_put_extra): Adjusted for the change of font-related objects.
7551 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
7552 (font_parse_fcname, font_unparse_fcname)
7553 (font_prepare_composition): Likewise.
7554 (font_parse_family_registry): Renamed from font_merge_old_spec.
7555 (otf_open): Delete the 1st arg entity.
7556 (font_otf_capability): Adjusted for the above change.
7557 (font_score): New arg alternate_families. Adjusted for the change
7558 of font-related objects.
7559 (font_sort_entites): New arg best_only.
7560 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
7561 Delete them.
7562 (font_match_p): Check alternate families.
7563 (font_find_object): Delete it.
7564 (font_check_object): New function.
7565 (font_clear_cache): Adjusted for the change of font-related objects.
7566 (font_delete_unmatched): New arg.
7567 (font_list_entities): Call font_driver->list with a spec that
7568 doesn't specify style-related properties.
7569 (font_matching_entity): Arguments changed. Caller changed.
7570 (font_open_entity): Adjusted for the change of font-related objects.
7571 (font_close_object, font_has_char, font_encode_char)
7572 (font_get_name, font_get_spec): Likewise.
7573 (font_spec_from_name, font_clear_prop, font_update_lface):
7574 New functions.
7575 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
7576 (font_prepare_for_face, font_done_for_face, font_open_by_name)
7577 (font_at): Adjusted for the change of font-related objects.
7578 (font_range): New function.
7579 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
7580 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
7581 (Fcopy_font_spec, Fmerge_font_spec): New function.
7582 (Ffont_family_list): Renamed from list-families.
7583 (Finternal_set_font_style_table): Arguments changed.
7584 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
7585 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
7586 change of font-related objects.
7587 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
7588
7589 * fontset.h (struct font_info): Delete it. Most members go to
7590 struct font.
7591 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
7592 (enum FONT_SPEC_INDEX): Delete it.
7593 (font_info, list_fonts_func, load_font_func, query_font_func)
7594 (set_frame_fontset_func, find_ccl_program_func)
7595 (get_font_repertory_func, new_fontset_from_font_name): Delete
7596 externs.
7597 (fontset_from_font_name): Extern it.
7598 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
7599 (FONT_INFO_FROM_FACE): Deleted.
7600 (face_for_font): Adjust prototype.
7601
7602 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
7603 conditionals. Don't check enable_font_backend. Delete all codes
7604 used only when USE_FONT_BACKEND is not defined.
7605 (get_font_info_func, list_font_func, load_font_func)
7606 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
7607 (get_font_repertory_func): Delete them.
7608 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
7609 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
7610 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
7611 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
7612 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
7613 (fontset_compare_rfontdef): New function.
7614 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
7615 rfont-defs by qsort. Adjusted for the change of font-group vector.
7616 (load_font_get_repertory): Deleted.
7617 (fontset_find_font): Use new macros to ref/set elements of
7618 font-def and rfont-def.
7619 (fontset_font): Fix the timing of remembering that no font for C.
7620 (free_face_fontset): Do nothing if the face has no fontset.
7621 (face_suitable_for_char_p): Use new macros to ref/set elements of
7622 rfont-def.
7623 (face_for_char): Likewise. Call face_for_char with font_object.
7624 (fs_load_font): Delete. Delete #pragma surrounding it.
7625 (fs_query_fontset): Use strcasecmp instead of strcmp.
7626 (generate_ascii_font_name): Adjusted for the format change of
7627 font-spec.
7628 (Fset_fontset_font): Likewise. Use new macros to set elements of
7629 font-def.
7630 (Fnew_fontset): Use font_unparse_xlfd to generate
7631 FONTSET_ASCII (fontset).
7632 (new_fontset_from_font_name): Deleted.
7633 (fontset_from_font): Renamed from new_fontset_from_font. Check if
7634 a fontset is already created for the font. FIx updating of
7635 Vfontset_alias_alist.
7636 (fontset_ascii_font): Deleted.
7637 (Ffont_info): Adjusted for the format change of font-spec.
7638 (Finternal_char_font): Likewise.
7639 (Ffontset_info): Likewise.
7640 (syms_of_fontset): Don't check load_font_func.
7641
7642 * fns.c (internal_equal): Handle PREV_FONT.
7643
7644 * frame.h: Delete USE_FONT_BACKEND conditional.
7645
7646 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
7647 conditionals. Don't check enable_font_backend. Delete all codes
7648 used only when USE_FONT_BACKEND is not defined.
7649 (x_set_font): Call x_new_font, not x_new_fontset2.
7650 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
7651 already set for the frame.
7652
7653 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
7654 a font-entity by font_make_entity. Use font_intern_prop instead
7655 of intern_downcase. Use FONT_SET_STYLE to set a style-related
7656 font property. If a font is scalable, set avgwidth property to 0.
7657 Set font-entity property by font_put_extra.
7658 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
7659 (ffont_driver): Adjusted for the change of struct font_driver.
7660 (ftfont_spec_pattern): New function.
7661 (ftfont_list): Return a list, not vector.
7662 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
7663 (ftfont_list_family): Don't downcase names.
7664 (ftfont_free_entity): Deleted.
7665 (ftfont_open): Return a font-object. Adjusted for the change of
7666 struct font. Get underline_thickness and underline_position from
7667 font property. Don't update dpyinfo->smallest_font_height and
7668 dpyinfo->smallest_char_width.
7669 (ftfont_close): Don't free `struct font'.
7670 (ftfont_has_char): Adjusted for the format change of font-entity.
7671 (ftfont_encode_char, ftfont_text_extents): Likewise.
7672
7673 * ftxfont.c (ftxfont_list): Return a list, not vector.
7674 (ftxfont_open): Return a font-object. Adjusted for the change of
7675 struct font. Get underline_thickness and underline_position from
7676 font property. Don't update dpyinfo->smallest_font_height and
7677 dpyinfo->smallest_char_width.
7678 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7679 (ftxfont_draw): Adjusted for the change of struct font.
7680
7681 * image.c (image_ascent): Don't include "charset.h". Include
7682 "character.h" and "font.h".
7683
7684 * lisp.h (enum pvec_type): New member PREV_FONT.
7685 (Fassoc_string): EXFUN it.
7686
7687 * print.c: Include font.h.
7688 (print_object): Handle font-related objects.
7689
7690 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
7691 conditionals. Don't check enable_font_backend. Delete all codes
7692 used only when USE_FONT_BACKEND is not defined.
7693 (handle_auto_composed_prop): Do nothing if it->f is not on a
7694 window system. Check how many following characters can be
7695 displayed by the same font.
7696 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7697 'struct font *'.
7698 (get_char_face_and_encoding): Assign the whole encoding task to
7699 the `encode-char' method of a font driver.
7700 (fill_composite_glyph_string): Adjusted for the change of `struct
7701 face' and `struct glyph_string'.
7702 (fill_glyph_string): Likewise.
7703 (get_per_char_metric): Arguments changed.
7704 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7705 and `struct glyph_string'.
7706 (produce_stretch_glyph, calc_line_height_property)
7707 (x_produce_glyphs): Likewise.
7708
7709 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7710 conditionals. Don't check enable_font_backend. Delete all codes
7711 used only when USE_FONT_BACKEND is not defined. Use
7712 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7713 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7714 (Qp): Extern them.
7715 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7716 Deleted.
7717 (struct font_name): Deleted.
7718 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7719 (compare_fonts_by_sort_order): New function.
7720 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7721 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7722 Deleted.
7723 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7724 compare_fonts_by_sort_order.
7725 (Fx_font_family_list): Call Ffont_family_list.
7726 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7727 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7728 (face_symbolic_slant, face_symbolic_swidth)
7729 (split_font_name_into_vector, build_font_name_from_vector)
7730 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7731 (font_rescale_ratio, split_font_name, build_font_name)
7732 (free_font_names, sort_fonts, x_face_list_fonts)
7733 (face_font_available_p, sorted_font_list, cmp_font_names)
7734 (font_list_1, concat_font_list, font_list, remove_duplicates):
7735 Deleted.
7736 (Fx_list_fonts): Use Ffont_list.
7737 (LFACE_AVGWIDTH): Deleted.
7738 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7739 by FONTP.
7740 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7741 (set_lface_from_font_name): Delete it.
7742 (set_lface_from_font): Renamed from
7743 set_lface_from_font_and_fontset. Caller changed. Don't set
7744 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7745 for face.
7746 (merge_face_vectors): Copy font-spec if necessary.
7747 Clear properties of the font-spec if necessary.
7748 (merge_face_ref): Clear properties of the font-spec if necessary.
7749 (Finternal_set_lisp_face_attribute): Likewise.
7750 (set_font_frame_param): Use font_load_for_lface to load a
7751 font-object, and call Fmodify_frame_parameters with it.
7752 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7753 font name by Ffont_xlfd_name.
7754 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7755 QCslant, and QCwidth.
7756 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7757 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7758 Compare fonts by EQ.
7759 (lookup_non_ascii_face): Deleted.
7760 (face_for_font): The 2nd argument changed.
7761 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7762 Check atomic font properties by case insensitive.
7763 (realize_non_ascii_face): Set face->overstrike correctly.
7764 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7765 (dump_realized_face): Get font name from
7766 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7767
7768 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
7769 conditionals. Don't check enable_font_backend. Delete all codes
7770 used only when USE_FONT_BACKEND is not defined.
7771 (xic_create_xfontset): Original code deleted and renamed from
7772 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
7773 (x_make_gc): Don't set GCFont in GCs.
7774 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
7775 opened by "fixed".
7776 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
7777 find_ccl_program_func, query_font_func, set_frame_fontset_func,
7778 get_font_repertory_func.
7779
7780 * xfont.c: Include <stdlib.h> and "ccl.h".
7781 (struct xfont_info): New structure.
7782 (xfont_query_font): Deleted.
7783 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
7784 moved from xterm.c.
7785 (xfont_driver): Adjusted for the change of struct font_driver.
7786 (compare_font_names): New function.
7787 (xfont_list_pattern): Sort font names case insensitively. Make
7788 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
7789 (xfont_list): Return a list, not vector.
7790 (xfont_match): If the font doesn't have QCname property, generate
7791 a name from the other font properties.
7792 (xfont_open): Return a font-object. Adjusted for the change of
7793 struct font. Get underline_thickness and underline_position from
7794 font property. Don't update dpyinfo->smallest_font_height and
7795 dpyinfo->smallest_char_width.
7796 (xfont_close): Don't free struct font.
7797 (xfont_prepare_face): Adjusted for the change of struct font.
7798 (xfont_done_face): Deleted.
7799 (xfont_has_char): Adjusted for the change of struct font.
7800 (xfont_encode_char, xfont_draw): Likewise.
7801 (xfont_check): New function.
7802
7803 * xftfont.c (xftfont_list): Adjusted for the change of `list'
7804 callback function.
7805 (xftfont_match): Adjusted for the format change of font-entity.
7806 (xftfont_open): Adjusted for the format change of font-entity and
7807 font-object. Adjusted for the change of struct font. Return a
7808 font-object. Don't update dpyinfo->smallest_font_height and
7809 dpyinfo->smallest_char_width.
7810 (xftfont_close): Block input while calling XftFontClose.
7811 (xftfont_prepare_face): Don't block input while calling
7812 xftfont_get_colors. Adjusted for the change of struct font.
7813 (xftfont_shape): Return value of error case fixed.
7814
7815 * xrdb.c (x_load_resources): Don't setup a fontset resource.
7816
7817 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
7818 conditionals.
7819 (FONT_WIDTH): Return (f)->max_width.
7820 (struct x_display_info): Delete member `font'.
7821 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
7822 (x_find_ccl_program, x_get_font_repertory): Delete externs.
7823 (struct x_output): Change type of `font' to `struct font *'.
7824
7825 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
7826 conditionals. Don't check enable_font_backend. Delete all codes
7827 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
7828 (x_per_char_metric, x_encode_char): Deleted.
7829 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
7830 (x_compute_glyph_string_overhangs): Adjusted for the change of
7831 `struct face'.
7832 (x_draw_glyph_string_foreground)
7833 (x_draw_composite_glyph_string_foreground): Likewise.
7834 (x_draw_glyph_string): Likewise. Use font->underline_position and
7835 font->underline_thickness.
7836 (x_new_font): Renamed from x_new_fontset2.
7837 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
7838 (x_check_font): Call `check' method of a font driver.
7839 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
7840 (x_query_font, x_get_font_repertory): Deleted.
7841 (x_find_ccl_program): Renamed and moved to xfont.c.
7842 (x_redisplay_interface): Adjusted for the change of `struct
7843 redisplay_interface'.
7844
7845 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
7846 conditionals. Don't check enable_font_backend. Delete all codes
7847 used only when USE_FONT_BACKEND is not defined. Surround non-used
7848 code by "#ifdef OLD_FONT" and "endif".
7849 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
7850
7851 * w32font.h (struct w32font_info): New member.
7852 (FONT_COMPAT): New macro.
7853 (w32font_open_internal): Prototype adjusted.
7854
7855 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
7856 OLD_FONT" and "endif".
7857
7858 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
7859 conditionals. Don't check enable_font_backend. Delete all codes
7860 used only when USE_FONT_BACKEND is not defined.
7861 (w32font_open): Return a font-object. Make a font-object by
7862 font_make_object. Adjusted for the change of struct w32font_info.
7863 (w32font_close): Don't free struct font. Adjusted for the change
7864 of struct w32font_info.
7865 (w32font_encode_char, w32font_text_extents, w32font_draw):
7866 Adjusted for the change of struct w32font_info.
7867 (w32font_draw): Likewise.
7868 (w32font_list_internal): Return a list, not vector.
7869 (w32font_open_internal): Change the 4th arg to font-object.
7870 Adjusted for the change of struct w32font_info and font-object format.
7871 (add_font_name_to_list): Don't downcase names.
7872 (w32_enumfont_pattern_entity): Make a font-entity by
7873 font_make_entity. Adjusted for the format change of font-entity.
7874 Use FONT_SET_STYLE to set a style-related font property. If a
7875 font is scalable, set avgwidth property to 0. Set font-entity
7876 property by font_put_extra.
7877 (font_matches_spec): Adjusted for the format change of font-entity.
7878 (w32_weight_table, w32_decode_weight): New variables.
7879 (w32_encode_weight): New function.
7880 (fill_in_logfont): Adjusted for the format change of font-spec.
7881 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
7882 weight value.
7883 (w32font_driver): Adjusted for the change of struct font_driver.
7884
7885 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
7886 conditionals. Don't check enable_font_backend. Surround non-used
7887 code by "#ifdef OLD_FONT" and "endif".
7888 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
7889 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
7890
7891 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
7892 conditionals. Don't check enable_font_backend. Delete all codes
7893 used only when USE_FONT_BACKEND is not defined. Surround non-used
7894 code by "#ifdef OLD_FONT" and "endif".
7895
7896 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
7897 (uniscribe_open): Return value changed to font-object.
7898 Adjusted for the format change of font-object.
7899 (uniscribe_otf_capability): Adjusted for the change of struct font.
7900 (add_opentype_font_name_to_list): Don't downcase names.
7901 (uniscribe_font_driver): Adjusted for the change of struct
7902 font_driver.
7903
7904 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
7905
7906 * dispnew.c (update_frame_1): Check if tty output is still valid
7907 before flushing it.
7908
7909 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
7910
7911 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
7912 to Gtk+ menus.
7913
7914 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
7915
7916 * dired.c (file_name_completion): Tweak the code so as to always do it
7917 in a single pass. Tighten the scope of some variables.
7918
7919 * dired.c (Qdefault_directory): New var.
7920 (file_name_completion): Use it instead of Fexpand_file_name.
7921 (syms_of_dired): Initialize it.
7922
7923 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7924
7925 * fileio.c (double_dollars): Remove dead code.
7926
7927 2008-05-10 Eli Zaretskii <eliz@gnu.org>
7928
7929 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
7930 Mention w32-get-true-file-attributes in doc string.
7931
7932 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
7933
7934 2008-05-09 Glenn Morris <rgm@gnu.org>
7935
7936 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
7937 2008-04-23.
7938
7939 2008-05-09 Eli Zaretskii <eliz@gnu.org>
7940
7941 Support for reporting owner and group of each file on MS-Windows:
7942 * dired.c (stat_uname, stat_gname): New functions, with special
7943 implementation for w32.
7944 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
7945
7946 * w32.c: Rename the_passwd_* to dflt_passwd_*.
7947 (dflt_group_name): New static variable.
7948 (dflt_group): Rename from the_group.
7949 (init_user_info): Init dflt_group fields. Get user's group name
7950 from LookupAccountSid.
7951 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
7952 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
7953 New initialization states.
7954 (globals_of_w32): Initialize them to zero. Initialize the default
7955 group name to "None".
7956 (GetFileSecurity_Name): New global var, the name of the function
7957 to call for GetFileSecurity.
7958 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
7959 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
7960 (get_file_security, get_security_descriptor_owner)
7961 (get_security_descriptor_group, is_valid_sid)
7962 (get_file_security_desc, get_rid, get_name_and_id)
7963 (get_file_owner_and_group): New functions.
7964 (stat): Use get_file_security_desc and get_file_owner_and_group to
7965 report the owner and primary group of each file. Don't ignore the
7966 high 32 bits of file's size, now that st_size is 64-bit wide.
7967 Fix test when to get true file attributes.
7968 (init_user_info): Use get_rid instead of equivalent inline code.
7969 (fstat): Don't ignore the high 32 bits of file's size.
7970
7971 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
7972
7973 * image.c (png_load): Use correct bit-depth for setting background
7974 color.
7975
7976 2008-05-08 Eli Zaretskii <eliz@gnu.org>
7977
7978 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
7979 epa-hook.elc.
7980
7981 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
7982
7983 * font.c (Ffont_match_p): Don't use `iff' in docstring.
7984
7985 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
7986
7987 * macfns.c (Fx_create_frame): Make a copy of frame parameters
7988 because the original parameters are in pure storage now.
7989 (mac_window): Remove unused params. Update callers.
7990
7991 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
7992
7993 * lread.c (substitute_object_recurse): Use lower-level primitives.
7994 Don't signal errors when traversing sub-char-tables.
7995 Don't loop over all the possible characters when traversing char-tables.
7996
7997 * print.c (print_preprocess): Add sub-char-tables to the print-table,
7998 just like we do in print.c.
7999
8000 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
8001
8002 * minibuf.c (Ftry_completion): Remove code left over from when we used
8003 scmp instead of Fcompare_strings.
8004
8005 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
8006
8007 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
8008
8009 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8010
8011 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
8012 Create bitmap context in native byte order.
8013
8014 * macterm.c (XDrawLine)
8015 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
8016 context in native byte order.
8017
8018 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8019
8020 * config.in: Regenerate.
8021
8022 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
8023 New definitions for Image I/O support.
8024 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
8025 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
8026 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8027 (mac_data_provider_release_data, image_load_image_io)
8028 [USE_MAC_IMAGE_IO]: New functions.
8029 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
8030 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
8031 (init_image_func_pointer) [MAC_OSX]: Remove function.
8032 (image_load_quartz2d) [MAC_OSX]: Check availability of
8033 CGImageCreateWithPNGDataProvider at compile time.
8034 Use lowercase `false' for boolean constant.
8035 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
8036 Use image_load_image_io.
8037 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
8038 Don't check MyCGImageCreateWithPNGDataProvider.
8039 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
8040 Don't call init_image_func_pointer.
8041
8042 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
8043
8044 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
8045 Make variable non-static.
8046 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
8047 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
8048
8049 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
8050 (RED_FROM_ULONG): Mask off higher bits.
8051 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
8052
8053 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
8054 Include AvailabilityMacros.h.
8055 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
8056 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
8057
8058 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
8059
8060 * chartab.c (Fset_char_table_range): If range is t, really set all
8061 chars to that value.
8062
8063 2008-05-03 Eli Zaretskii <eliz@gnu.org>
8064
8065 * dired.c (Ffile_attributes): Don't allow the device number become
8066 negative.
8067
8068 2008-05-02 Daiki Ueno <ueno@unixuser.org>
8069
8070 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
8071
8072 2008-05-02 Juri Linkov <juri@jurta.org>
8073
8074 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
8075 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
8076 DEFAULT argument as a list of default values in docstrings.
8077
8078 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
8079
8080 * puresize.h (BASE_PURESIZE): Increase to 1210000.
8081
8082 2008-05-01 Martin Rudalics <rudalics@gmx.at>
8083
8084 * dispnew.c (change_frame_size_1): Preserve small windows when
8085 shrinking frames by calling set_window_height|width with third
8086 arg 2.
8087
8088 * window.h (struct window): Replace field too_small_ok by field
8089 resize_proportionally.
8090
8091 * window.c (make_window): Initialize resize_proportionally.
8092 (enlarge_window): Temporarily set resize_proportionally to make
8093 sure that shrink_windows does scale the window proportionally.
8094 (shrink_windows): When window has resize_proportionally set try
8095 to shrink it proportionally by stealing from other windows.
8096 (struct saved_window, Fset_window_configuration)
8097 (compare_window_configurations): Handle resize_proportionally.
8098 (WINDOW_TOTAL_SIZE): New macro.
8099 (window_min_size, shrink_windows, size_window): Use it.
8100 (check_min_window_sizes): Remove. Invalid values of
8101 window-min-height|width are handled by window_min_size_2 now.
8102 (size_window, Fsplit_window, enlarge_window)
8103 (adjust_window_trailing_edge, grow_mini_window): Don't call
8104 check_min_window_sizes.
8105 (window_min_size_2, window_min_size_1, window_min_size):
8106 New argument safe_p for retrieving "safe" minimum sizes.
8107 (Fdisplay_buffer, Fsplit_window, enlarge_window)
8108 (adjust_window_trailing_edge, grow_mini_window):
8109 Adjust arguments of window_min_size... functions.
8110 (shrink_windows): Argument min_size removed. New argument
8111 safe_p allows shrinking windows to their safe minimum sizes.
8112 Calculate minimum size and decide whether a window shall be
8113 deleted for each window individually.
8114 (size_window): When nodelete_p equals 2, tell shrink_windows to
8115 delete windows only if their new minimum size is no more safe.
8116 (shrink_window_lowest_first): Call window_min_size_1 to make
8117 sure to preserve modeline of bottom-most window when resizing
8118 the minibuffer.
8119 (Fset_window_configuration, Fcurrent_window_configuration)
8120 (compare_window_configurations): Do not handle
8121 window-min-height|width any more.
8122 (syms_of_window): Clarify window-min-height|width doc-strings.
8123
8124 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
8125
8126 * dired.c (file_name_completion): Fix up the encoding/decoding issue
8127 some more. Copy some of the code from Ftry_completions.
8128 Remove special case code that dates back to initial revision when the
8129 slash was only added when necessary and that can't trigger nowadays.
8130
8131 2008-04-27 Kenichi Handa <handa@m17n.org>
8132
8133 * font.c (font_prop_validate): Signal `error' instead of `font'.
8134
8135 2008-04-29 Jason Rumney <jasonr@gnu.org>
8136
8137 * w32fns.c (Fw32_battery_status): New defun.
8138 (syms_of_w32fns): Defsubr it.
8139
8140 2008-04-28 Andreas Schwab <schwab@suse.de>
8141
8142 * dired.c (file_name_completion): Fix another mixing of encoded
8143 and decoded names.
8144
8145 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
8146
8147 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
8148
8149 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
8150
8151 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
8152
8153 2008-04-27 Andreas Schwab <schwab@suse.de>
8154
8155 * dired.c (file_name_completion): Fix inappropriate mixing of
8156 encoded and decoded names.
8157
8158 * xterm.c (XTread_socket): Fix use of uninitialized variable.
8159
8160 * puresize.h (BASE_PURESIZE): Increase to 1200000.
8161
8162 2008-04-26 Eli Zaretskii <eliz@gnu.org>
8163
8164 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
8165 2008-03-31, it's not needed anymore with `struct stat' definition
8166 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
8167 for the same reasons.
8168
8169 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
8170
8171 * m/sparc.h: Additional redefinitions for GNU/Linux.
8172
8173 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8174
8175 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
8176 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
8177 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
8178 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
8179 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8180 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
8181 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8182 Likewise.
8183
8184 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
8185 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
8186 (mac_ax_number_of_characters): Add externs.
8187 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
8188 [USE_MAC_TSM]: Likewise.
8189 (mac_handle_text_input_event) [MAC_OSX]:
8190 Handle kEventTextInputOffsetToPos for no active input area case.
8191 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8192 (mac_handle_document_access_event)
8193 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
8194 (install_application_handler) [MAC_OSX]: Register handlers for
8195 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
8196 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
8197 Register mac_handle_document_access_event.
8198
8199 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
8200 Make functions non-static.
8201
8202 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
8203
8204 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
8205 (read_file_name_completion_ignore_case, insert_default_directory)
8206 (Qdefault_directory): Move to minibuffer.el.
8207 (Fread_file_name): Call the new `read-file-name' instead.
8208
8209 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8210
8211 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
8212 Make function non-static.
8213 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
8214 Remove function.
8215 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8216 Move to mactoolbox.c.
8217 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
8218
8219 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
8220 (mac_rect_make): New macro.
8221
8222 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
8223 instead of float.
8224 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8225 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
8226 (XSetBackground) [USE_CG_DRAWING]: Likewise.
8227 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
8228 CGRectMake.
8229 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8230 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
8231 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
8232 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8233 instead of WindowRef in argument type.
8234 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
8235 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
8236 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
8237 instead of DISPLAY. All uses changed.
8238 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
8239 (x_calc_absolute_position): Simplify so as not to use
8240 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
8241
8242 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8243 instead of WindowRef in argument type.
8244 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
8245 [TARGET_API_MAC_CARBON]: Remove externs.
8246 (create_apple_event, mac_event_parameters_to_lisp)
8247 [TARGET_API_MAC_CARBON]: Add externs.
8248
8249 * mactoolbox.c (Vmac_ts_script_language_on_focus)
8250 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
8251 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
8252 is clicked.
8253 (x_activate_menubar): Remove extern for saved_menu_event_location.
8254 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8255 Move from mac.c.
8256
8257 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8258
8259 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
8260 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
8261
8262 2008-04-23 Jason Rumney <jasonr@gnu.org>
8263
8264 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
8265 attributes only for local files.
8266
8267 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
8268 default to Qlocal.
8269
8270 2008-04-22 Juri Linkov <juri@jurta.org>
8271
8272 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
8273 read-buffer-to-switch instead of using the letter "B".
8274
8275 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
8276
8277 * fileio.c (Qdefault_directory): New variable.
8278 (Fread_file_name): Use it to pass `dir' to the completion functions.
8279
8280 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
8281
8282 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
8283
8284 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
8285
8286 * keyboard.c (Vpre_help_message): Remove.
8287 (show_help_echo): Remove default C code.
8288
8289 * dired.c (directory_files_internal, file_name_completion):
8290 Only call ENCODE_FILE if the string is indeed decoded.
8291
8292 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8293
8294 * Makefile.in (TOOLKIT_DEFINES): Remove.
8295 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
8296
8297 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8298
8299 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
8300 (mactoolbox.o): New target.
8301
8302 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
8303 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
8304
8305 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
8306 Use mac_set_frame_window_background instead of XSetWindowBackground.
8307 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
8308 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
8309 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
8310 instead of SetWindowTitleWithCFString.
8311 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
8312 Move function to mactoolbox.c.
8313 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
8314 Use mac_set_window_modified instead of SetWindowModified.
8315 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
8316 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
8317 (Fx_focus_frame): Use mac_front_non_floating_window instead of
8318 FrontNonFloatingWindow. Use mac_activate_window instead of
8319 ActivateWindow. Use mac_active_non_floating_window instead of
8320 ActiveNonFloatingWindow.
8321 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
8322 Use mac_show_hourglass and mac_hide_hourglass.
8323 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
8324 instead of GetGlobalMouse.
8325 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
8326 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
8327 Use mac_bring_window_to_front instead of BringToFront.
8328 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
8329 mactoolbox.c.
8330 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
8331 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
8332 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
8333 mactoolbox.c.
8334
8335 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
8336 (XtPointer): Move typedef from macmenu.c.
8337 (enum button_type): Move enum from macmenu.c.
8338 (widget_value): Move typedef from macmenu.c.
8339 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
8340 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8341 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8342 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8343 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8344 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8345 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8346 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
8347 (Selection): Move typedef from macselect.c.
8348 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
8349 macterm.c.
8350 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
8351 (mac_is_window_collapsed, mac_bring_window_to_front)
8352 (mac_send_window_behind, mac_hide_window, mac_show_window)
8353 (mac_collapse_window, mac_front_non_floating_window)
8354 (mac_active_non_floating_window, mac_activate_window)
8355 (mac_move_window_structure, mac_move_window, mac_size_window)
8356 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
8357
8358 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
8359 (enum mac_menu_kind): Move enum to mactoolbox.c.
8360 (min_menu_id): Move variable to mactoolbox.c.
8361 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
8362 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
8363 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8364 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8365 [TARGET_API_MAC_CARBON]: Likewise.
8366 (XtPointer): Move typedef to macgui.h.
8367 (enum button_type): Move enum to macgui.h.
8368 (widget_value): Move typedef to macgui.h.
8369 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8370 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8371 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8372 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8373 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8374 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8375 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
8376 (popup_activated_flag): Make variable non-static.
8377 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
8378 (add_menu_item, fill_menu, dispose_menus):
8379 Move functions to mactoolbox.c.
8380 (restore_show_help_function, menu_target_item_handler)
8381 (install_menu_target_item_handler, mac_handle_dialog_event)
8382 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
8383 [TARGET_API_MAC_CARBON]: Likewise.
8384 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
8385 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8386 (find_and_call_menu_selection, name_is_separator): Make function
8387 non-static.
8388 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
8389 to mactoolbox.c.
8390 (set_frame_menubar): Don't call install_menu_quit_handler.
8391 (menu_item_selection): New variable.
8392 (mac_menu_show): Use create_and_show_popup_menu.
8393 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
8394 selection but set variable menu_item_selection. All uses changed.
8395 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
8396 Call install_menu_quit_handler. Move to mactoolbox.c.
8397
8398 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
8399 (Selection): Move typedef to macgui.h.
8400 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
8401 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
8402 Make variables non-static.
8403 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8404 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
8405 Make functions non-static.
8406 (Vmac_service_selection) [MAC_OSX]: Likewise.
8407 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
8408 (mac_valid_selection_target_p, mac_clear_selection)
8409 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8410 (mac_put_selection_value, mac_selection_has_target_p)
8411 (mac_get_selection_value, mac_get_selection_target_list)
8412 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
8413 Move functions to mactoolbox.c.
8414 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
8415 Likewise.
8416 (copy_scrap_flavor_data, mac_handle_service_event)
8417 (install_service_handler) [MAC_OSX]: Likewise.
8418 (syms_of_macselect) <Vmac_dnd_known_types>:
8419 Use mac_dnd_default_known_types.
8420
8421 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
8422 Move to mactoolbox.c.
8423 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
8424 (Fx_selection_owner_p): Add EXFUN.
8425 (install_window_handler, remove_window_handler, XSetWindowBackground):
8426 Remove externs.
8427 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
8428 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
8429 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
8430 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
8431 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
8432 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
8433 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
8434 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
8435 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
8436 (create_and_show_popup_menu, mac_get_selection_from_symbol)
8437 (mac_valid_selection_target_p, mac_clear_selection)
8438 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8439 (mac_put_selection_value, mac_selection_has_target_p)
8440 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
8441 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
8442 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
8443 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8444 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
8445 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8446 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
8447 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8448 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8449
8450 * mactoolbox.c: New file.
8451
8452 2008-04-18 Jason Rumney <jasonr@gnu.org>
8453
8454 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
8455
8456 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8457
8458 * character.c (Fmultibyte_char_to_unibyte):
8459 Return latin1 chars unchanged.
8460
8461 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
8462 relocated if it points to `name'.
8463
8464 2008-04-17 Kenichi Handa <handa@m17n.org>
8465
8466 * data.c (Faset): Allow setting a multibyte character in an
8467 ASCII-only unibyte string.
8468
8469 * lisp.h (STRING_SET_MULTIBYTE): New macro.
8470
8471 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
8472
8473 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
8474 done in config.h.
8475
8476 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
8477
8478 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
8479 (Fchar_direction): Add usage in the docstring.
8480
8481 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
8482
8483 * keyboard.c (read_key_sequence): Remove always-true checks.
8484
8485 2008-04-14 Jason Rumney <jasonr@gnu.org>
8486
8487 * w32font.c (w32font_open_internal): Set max_bounds.descent in
8488 compatibility struct, for better underline positioning.
8489
8490 2008-04-13 David Hansen <david.hansen@gmx.net>
8491
8492 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
8493 string.
8494
8495 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
8496
8497 * m/hp800.h (XUINT, XSET): Remove.
8498
8499 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
8500
8501 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
8502 previous change.
8503
8504 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
8505
8506 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
8507 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
8508
8509 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8510
8511 * keymap.h (map_keymap_canonical): Declare.
8512 * xmenu.c (single_keymap_panes): Use it.
8513
8514 2008-04-11 Glenn Morris <rgm@gnu.org>
8515
8516 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
8517 set the target's value to that of the alias.
8518
8519 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8520
8521 * term.c (set_tty_color_mode): Left over typo.
8522
8523 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
8524
8525 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
8526 only after check for file name handler functions. Signal, when
8527 native functionality is not supported.
8528 (syms_of_fileio): Declare it unconditionally.
8529
8530 2008-04-10 Jason Rumney <jasonr@gnu.org>
8531
8532 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
8533 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
8534
8535 * w32.c (logon_network_drive): Also logon to remote drives that
8536 are mapped to drive letters.
8537
8538 2008-04-10 Glenn Morris <rgm@gnu.org>
8539
8540 * xdisp.c (truncate-partial-width-windows): Doc fix.
8541
8542 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
8543
8544 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
8545 Move functions to minibuffer.el.
8546 (syms_of_fileio): Don't declare them.
8547
8548 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8549
8550 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
8551 (syms_of_minibuf): Remove its initialization.
8552
8553 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
8554
8555 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
8556
8557 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
8558
8559 2008-04-09 Jason Rumney <jasonr@gnu.org>
8560
8561 * makefile.w32-in (distclean): Delete makefile too.
8562 (maintainer-clean): New target.
8563
8564 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
8565
8566 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
8567 for new font backend and composite cases.
8568
8569 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
8570
8571 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
8572 Most of the code moved to run_timers.
8573 (do_pending_atimers): Call run_timers.
8574 (run_timers): New function.
8575
8576 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
8577 run atimers.
8578
8579 * process.c (wait_reading_process_output): The same as above.
8580
8581 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8582
8583 * minibuf.c (last_exact_completion): Remove variable.
8584 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
8585 (complete_and_exit_1, complete_and_exit_2)
8586 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
8587 (Fdisplay_completion_list, display_completion_list_1)
8588 (Fminibuffer_completion_help, Fself_insert_and_exit)
8589 (Fexit_minibuffer, Fminibuffer_message): Move functions to
8590 minibuffer.el.
8591 (syms_of_minibuf): Remove corresponding initializations.
8592
8593 * keyboard.c (Qdeactivate_mark): New var.
8594 (command_loop_1): Use it to call `deactivate-mark'.
8595 (syms_of_keyboard): Initialize it.
8596
8597 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
8598 to another frame.
8599 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
8600 Don't call set_tty_color_mode.
8601 (store_frame_param): Reset previous_frame rather than call
8602 set_tty_color_mode.
8603 * term.c (set_tty_color_mode): Rewrite.
8604 * dispextern.h (set_tty_color_mode): New type.
8605 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
8606
8607 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
8608
8609 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
8610 for generic chars, which do not exist any more in emacs-unicode.
8611
8612 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
8613
8614 * coding.c (detect_coding_emacs_mule)
8615 (Ffind_operation_coding_system): Fix typo.
8616
8617 2008-04-08 Jason Rumney <jasonr@gnu.org>
8618
8619 * w32uniscribe.c (SNAME): Extract only symbol name.
8620
8621 * w32font.h (struct w32_metric_cache): New struct.
8622 (w32font_info): Use it.
8623 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
8624 (CACHE_BLOCKSIZE): New constants.
8625
8626 * w32font.c (Qja, Qko, Qzh): New symbols.
8627 (syms_of_w32font): Initialise them.
8628 (font_matches_spec): Use them to filter by language.
8629 (recompute_cached_metrics): Remove function.
8630 (compute_metrics, clear_cached_metrics): New functions.
8631 (w32font_encode_char): Use them to manage metric cache.
8632 (w32font_text_extents): Cache metrics for all glyphs on demand.
8633 Delay converting glyph indices to WORD until needed.
8634 (w32font_open_internal): Initialize metric cache to empty.
8635 (registry_to_w32_charset): Charset should always be a symbol.
8636 (fill_in_logfont, list_all_matching_fonts): Family should
8637 always be a symbol.
8638
8639 2008-04-06 Jason Rumney <jasonr@gnu.org>
8640
8641 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
8642 Give up if glyph indices not supported. Use uniscribe obtained
8643 ABC widths for individual metrics. Map glyph clusters back to
8644 characters using fClusterStart flag. Return number of glyphs
8645 produced, not chars processed.
8646 (uniscribe_shape): Map char at FROM to current glyph.
8647
8648 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8649
8650 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
8651 Use SetMenuItemHierarchicalMenu.
8652
8653 2008-04-05 Jason Rumney <jasonr@gnu.org>
8654
8655 * image.c (pbm_load): Allow color values up to 65535.
8656 Throw an error if max_color_idx is outside the supported range.
8657 Report an error when image size is invalid.
8658 Read two bytes at a time when raw images have max_color_idx above 255.
8659
8660 2008-04-05 Eli Zaretskii <eliz@gnu.org>
8661
8662 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8663 cFileName a file name that includes `?' characters, use the 8+3
8664 alias in cAlternateFileName instead.
8665
8666 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
8667
8668 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8669 append "CCL: Quitted" when the CCL program is quitted.
8670 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8671
8672 * ccl.h (struct ccl_program): New member quit_silently.
8673
8674 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
8675
8676 * search.c (compile_pattern_1): Treat non-nil and non-string of
8677 search-spaces-regexp as nil.
8678
8679 * minibuf.c (Fassoc_string): Tweak docstring.
8680
8681 2008-04-05 Eli Zaretskii <eliz@gnu.org>
8682
8683 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8684 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8685 2008-03-14 to force inode be positive.
8686
8687 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8688 _S_* ones, since we now use our own sys/stat.h.
8689 (stat, fstat): Don't mangle the inode number.
8690 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8691
8692 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8693
8694 * frame.h (struct frame): Give one more bit to `visible' since we use
8695 values larger than 1 to indicate obscured frames on ttys.
8696
8697 * keymap.c (Qkeymap_canonicalize): New var.
8698 (Fmap_keymap_internal): New fun.
8699 (describe_map): Use keymap-canonicalize.
8700
8701 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8702 (Fundo_boundary): Set them.
8703 (syms_of_undo): Initialize them.
8704 (record_point): Use them instead of last_point_position*.
8705 (last_undo_buffer): Change type.
8706
8707 2008-04-04 Jason Rumney <jasonr@gnu.org>
8708
8709 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8710 (recompute_cached_metrics): Don't set ascent and descent per char.
8711
8712 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8713 (uniscribe_check_otf): Add GC protection before consing.
8714 Rearrange loop for counting features.
8715
8716 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8717
8718 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8719 buffer with byte-size of source buffer.
8720
8721 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
8722
8723 * callint.c (Fcall_interactively): Handle temporary region even
8724 when shift-select-mode is off.
8725
8726 2008-04-03 Jason Rumney <jasonr@gnu.org>
8727
8728 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8729
8730 2008-04-03 Kenichi Handa <handa@m17n.org>
8731
8732 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8733 (CATEGORY_MASK_UTF_16): Likewise.
8734 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8735 binary file.
8736 (detect_coding): Add null-byte detection for a binary file.
8737 (detect_coding_system): Likewise.
8738
8739 2008-04-03 Jason Rumney <jasonr@gnu.org>
8740
8741 * w32uniscribe.c: New file.
8742
8743 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8744
8745 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8746
8747 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8748 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8749 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8750 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8751 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8752 (Qphonetic): New symbols.
8753 (syms_of_w32font): Initialize them.
8754 (font_supported_scripts): Use them.
8755 (w32font_list_family): List all charsets.
8756 (w32font_text_extents, recompute_cached_metrics): Fix metric
8757 calculations.
8758 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8759 Give opentype fonts their own format.
8760 (font_matches_spec): New arguments backend and logfont.
8761 Handle :otf spec for uniscribe backend.
8762 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8763 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8764
8765 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8766 font backend.
8767 (globals_of_w32fns): Initialize uniscribe font backend.
8768
8769 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
8770 dependencies.
8771 (w32uniscribe.$(O)): New file to build.
8772 (FONT_OBJ): Include w32uniscribe.$(O).
8773 (LIBS): Add uniscribe libraries.
8774
8775 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
8776
8777 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
8778
8779 * callint.c (Vshift_select_mode): New var.
8780 (Finteractive): Document new ^ spec.
8781 (Fcall_interactively): Call handle-shift-selection if the ^ spec
8782 is present.
8783
8784 * keyboard.c (Vthis_command_keys_shift_translated): New var.
8785 (command_loop_1): Avoid running the direct display versions of
8786 forward-char and backward-char if shift-selection may occur.
8787 (read_key_sequence): Set Vthis_command_keys_shift_translated if
8788 shift-translation takes place.
8789
8790 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
8791 avoid clobbering by define-minor-mode.
8792
8793 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
8794 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
8795
8796 * syntax.c (Fforward_word): Add ^ interactive spec.
8797
8798 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
8799 (Fscroll_right): Add ^ interactive spec.
8800
8801 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
8802
8803 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
8804
8805 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
8806
8807 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
8808
8809 2008-03-31 Juri Linkov <juri@jurta.org>
8810
8811 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
8812
8813 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
8814
8815 * gtkutil.c (xg_set_geometry): Fix indentation.
8816 (xg_resize_outer_widget): Remove.
8817 (x_wm_size_hint_off): Fix indentation.
8818 (xg_frame_set_char_size): Call flush_and_sync after
8819 gtk_window_resize.
8820 (x_wm_set_size_hint): Pass NULL as geometry window to
8821 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
8822 Add menu bar and tool bar height to base height.
8823 (xg_update_frame_menubar, free_frame_menubar)
8824 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
8825 (update_frame_tool_bar, free_frame_tool_bar):
8826 Change xg_resize_outer_widget to xg_frame_set_char_size.
8827
8828 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
8829
8830 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
8831 (Fdbus_call_method): New parameter TIMEOUT.
8832 (dbus-send-signal): Optimize UNGCPRO call.
8833
8834 2008-03-29 Juri Linkov <juri@jurta.org>
8835
8836 * window.c (Fdisplay_buffer): Move call to
8837 Vsplit_window_preferred_function out of conditions that check
8838 if window is eligible for vertical splitting.
8839 When Vsplit_window_preferred_function is non-nil, call it and use
8840 its non-nil return value as window. Otherwise, continue doing
8841 vertical splitting using Fsplit_window with arg horflag=nil.
8842 (syms_of_window) <Vsplit_window_preferred_function>: Change the
8843 default value from `split-window' to nil.
8844
8845 2008-03-29 Juri Linkov <juri@jurta.org>
8846
8847 * callint.c (Fcall_interactively): Revert 2008-03-16 change
8848 for interactive code letters 'b' and 'B'.
8849
8850 2008-03-29 Eli Zaretskii <eliz@gnu.org>
8851
8852 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
8853 multibyte string.
8854
8855 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
8856
8857 * keyboard.c (pending_funcalls): New var.
8858 (timer_check): Run it.
8859 (syms_of_keyboard): Initialize it.
8860 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
8861 (Vdelete_terminal_functions): New vars.
8862 (syms_of_terminal): Initialize them.
8863 (Fdelete_terminal): Run delete-terminal-functions.
8864 * xdisp.c (safe_eval): Rewrite.
8865 (safe_call2): New fun.
8866 * frame.c (Qdelete_frame_functions): New var.
8867 (syms_of_frame): Initialize it.
8868 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
8869 * lisp.h (safe_call2, pending_funcalls): Declare.
8870
8871 2008-03-28 Andreas Schwab <schwab@suse.de>
8872
8873 * indent.c (Fmove_to_column): Move declaration before statements.
8874
8875 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
8876
8877 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
8878 (struct frame): Use bit fields for boolean vars.
8879
8880 * process.c (server_accept_connection): Simplify naming.
8881 (emacs_get_tty_pgrp): Use SDATA.
8882
8883 * coding.c (decode_coding_object): Fix last change.
8884
8885 2008-03-27 Jason Rumney <jasonr@gnu.org>
8886
8887 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
8888
8889 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
8890
8891 * charset.c (Fdefine_charset_internal): Change the way of
8892 registering charsets in Vcharset_order_list.
8893 (syms_of_charset): Make the charset `eight-bit' supplementary.
8894
8895 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
8896
8897 * regex.c (EXTEND_BUFFER): Change order of pointer addition
8898 operations, to avoid having the difference between pointers
8899 overflow.
8900
8901 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
8902
8903 * indent.c (check_display_width): New fun.
8904 (scan_for_column): Use it.
8905
8906 * data.c (syms_of_data): Mark most-positive-fixnum and
8907 most-negative-fixnum as constants.
8908
8909 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
8910
8911 * indent.c (scan_for_column): Extract from current_column_1.
8912 Merge with the same code from Fmove_to_column.
8913 (current_column_1, Fmove_to_column): Use it.
8914
8915 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
8916
8917 * keymap.c (map_keymap_internal): New fun.
8918 (map_keymap): Use it.
8919 (Fmap_keymap_internal): New fun.
8920 (Fmap_keymap): Remove left-out test from before make_save_value.
8921
8922 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
8923
8924 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
8925 Use XCAR/XCDR.
8926
8927 * process.h (struct Lisp_Process): Remove filter_multibyte.
8928 * process.c (QCfilter_multibyte): Remove.
8929 (setup_process_coding_systems): Don't use filter_multibyte.
8930 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
8931 (read_process_output): Don't adjust multibyteness to filter_multibyte.
8932 (Fset_process_filter_multibyte): Change the coding-system to
8933 approximate the previous behavior.
8934 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
8935 coding-system.
8936
8937 * coding.c (decode_coding_object): When not decoding into a buffer,
8938 obey the coding system's preference of (uni|multi)byte.
8939
8940 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
8941
8942 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
8943 every char is changed and has a different byte-length.
8944 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
8945 Fix int -> EMACS_INT.
8946
8947 2008-03-23 David Hansen <david.hansen@gmx.net>
8948
8949 * dbusbind.c (xd_read_message): Remove extra copying of message
8950 strings. Check for NULL `interface' or `member'.
8951
8952 2008-03-22 Eli Zaretskii <eliz@gnu.org>
8953
8954 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8955 cFileName a file name that includes `?' characters, use the 8+3
8956 alias in cAlternateFileName instead.
8957
8958 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
8959
8960 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
8961
8962 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8963
8964 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
8965 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
8966 work on current_buffer only instead (that was already the case
8967 for some of the code anyway).
8968 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
8969 (temp_set_point, temp_set_point_both): Use EMACS_INT.
8970 (SET_PT, SET_PT_BOTH): Adjust.
8971 * intervals.h (set_point, temp_set_point, set_point_both)
8972 (temp_set_point_both): Remove redundant declarations.
8973
8974 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8975
8976 * fileio.c (Finsert_file_contents):
8977 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
8978 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
8979 when buffer != current_buffer anyway.
8980
8981 2008-03-20 Andreas Schwab <schwab@suse.de>
8982
8983 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
8984 as default.
8985
8986 2008-03-19 Jason Rumney <jasonr@gnu.org>
8987
8988 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
8989 (syms_of_w32fns): Initialize them.
8990 (HOURGLASS_ID): New constant.
8991 (x_window_to_frame): Don't check hourglass_window.
8992 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
8993 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
8994 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
8995 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
8996 Only change the cursor if hourglass is not active.
8997 (Fx_create_frame): Initialize frame's current_cursor.
8998 (hourglass_atimer): Remove.
8999 (hourglass_started): New function.
9000 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
9001 (show_hourglass): Adapt to w32, changing argument to frame.
9002
9003 * w32term.h (struct w32_output): Remove hourglass_window.
9004 Add current_cursor.
9005
9006 * eval.c (call_debugger, Fsignal):
9007 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
9008 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
9009 (Fexecute_extended_command, cancel_hourglass_unwind):
9010 * minibuf.c (read_minibuf):
9011 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
9012
9013 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
9014
9015 * window.c (run_funs): New fun.
9016 (run_window_configuration_change_hook): Use it to run the buffer-local
9017 and the global part of the hook.
9018
9019 * xdisp.c (format_mode_line_unwind_data): Add window argument.
9020 (unwind_format_mode_line): Restore selected window.
9021 (x_consider_frame_title, Fformat_mode_line): Set selected window.
9022
9023 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
9024
9025 * editfns.c (Fchar_equal): Check they are valid characters.
9026
9027 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
9028
9029 2008-03-17 Andreas Schwab <schwab@suse.de>
9030
9031 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
9032 against a charset.
9033
9034 * lisp.h (Fbuffer_list): Declare.
9035
9036 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
9037
9038 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
9039 handlebox_widget is != 0.
9040
9041 2008-03-16 Juri Linkov <juri@jurta.org>
9042
9043 * callint.c (Fcall_interactively): For interactive code letters
9044 'b' and 'B' put the buffer list into the list of default "future"
9045 values of the minibuffer.
9046
9047 2008-03-16 Andreas Schwab <schwab@suse.de>
9048
9049 * keyboard.c (read_key_sequence): Fix downcasing of letters with
9050 modifiers.
9051
9052 * regex.c (re_match_2_internal): Correct matching of a charset
9053 against latin-1 characters.
9054
9055 2008-03-16 Kenichi Handa <handa@m17n.org>
9056
9057 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
9058 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
9059 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
9060 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
9061 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
9062 CHAR_STRING_ADVANCE.
9063 (produce_chars): Fix for the case that the source and the
9064 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
9065 instead of CHAR_STRING_ADVANCE.
9066 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
9067 STRING_CHAR_ADVANCE.
9068
9069 2008-03-15 Andreas Schwab <schwab@suse.de>
9070
9071 * regex.c (re_match_2_internal): Correct matching of eight bit
9072 characters in unibyte strings.
9073
9074 2008-03-15 Martin Rudalics <rudalics@gmx.at>
9075
9076 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
9077 at end of range when it coincides with the end of the buffer.
9078
9079 2008-03-14 Eli Zaretskii <eliz@gnu.org>
9080
9081 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
9082
9083 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
9084
9085 2008-03-14 Jason Rumney <jasonr@gnu.org>
9086
9087 * editfns.c (initial_tz): New variable.
9088 (syms_of_editfns): Initialize it.
9089 (Fset_time_zone_rule): Set it when first called.
9090 Use it when TZSTRING is nil.
9091
9092 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
9093 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
9094 (monitor_from_point_fn, get_monitor_info_fn): New globals.
9095 (globals_of_w32fns): Initialize them.
9096 (compute_tip_xy): Use them to position tooltips.
9097
9098 2008-03-14 Glenn Morris <rgm@gnu.org>
9099
9100 * emacs.c (main): Revert previous change.
9101 (standard_args): Revert -internal-script back to -scriptload,
9102 and remove the long-option form.
9103
9104 2008-03-13 Glenn Morris <rgm@gnu.org>
9105
9106 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
9107 Remove option -enable-font-backend.
9108
9109 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
9110
9111 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
9112
9113 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
9114
9115 * xterm.c (x_connection_closed): For GTK: If this is the last
9116 terminal just exit without closing the display.
9117
9118 2008-03-11 Jason Rumney <jasonr@gnu.org>
9119
9120 * w32font.c (w32font_full_name): Use floor to round.
9121
9122 2008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
9123
9124 * sound.c (alsa_configure): Declare vol at beginning of block.
9125
9126 * fontset.c (Ffontset_info): Remove extra semicolon.
9127
9128 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
9129
9130 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
9131 size of resulting string.
9132
9133 2008-03-10 Jason Rumney <jasonr@gnu.org>
9134
9135 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
9136
9137 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9138
9139 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
9140 Don't pretend as if characters with display property haven't been
9141 consumed for string-replacing-string case.
9142
9143 2008-03-08 Kim F. Storm <storm@cua.dk>
9144
9145 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
9146 (get_next_display_element, next_element_from_string)
9147 (next_element_from_ellipsis, next_element_from_buffer): Use it.
9148
9149 2008-03-08 Andreas Schwab <schwab@suse.de>
9150
9151 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
9152
9153 2008-03-06 Jason Rumney <jasonr@gnu.org>
9154
9155 * w32font.c (w32_registry): Take font_type argument. Use ANSI
9156 when charset not specified. Only translate ANSI to unicode when
9157 font_type is truetype.
9158 (w32font_coverage_ok): New function.
9159 (add_font_entity_to_list): Use it to filter unsuitable fonts.
9160
9161 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
9162
9163 * lread.c (Fread_char): Resolve modifiers.
9164 (Fread_char_exclusive): Likewise.
9165
9166 * character.c (char_resolve_modifier_mask): New function.
9167 (char_string): Use char_resolve_modifier_mask.
9168 (Fchar_resolve_modifiers): New function.
9169 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
9170 function.
9171
9172 2008-03-04 Jason Rumney <jasonr@gnu.org>
9173
9174 * makefile.w32-in: Always include w32font.c in the build.
9175 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
9176
9177 2008-03-04 Andreas Schwab <schwab@suse.de>
9178
9179 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
9180 (versionclean): Likewise.
9181
9182 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
9183
9184 * .cvsignore: Add oo.
9185
9186 2008-03-03 Andreas Schwab <schwab@suse.de>
9187
9188 * coding.c (decode_coding_object): Inhibit gap shrinking while
9189 decoding in place.
9190
9191 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
9192
9193 * w32term.c: Remove unused include "gnu.h".
9194 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
9195
9196 * gnu.h: Rename to ...
9197 * emacs-icon.h: ... this.
9198 * xterm.c: Use emacs-icon.h instead of gnu.h.
9199 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
9200
9201 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
9202
9203 * w32font.c: Include math.h.
9204
9205 2008-03-03 Jason Rumney <jasonr@gnu.org>
9206
9207 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
9208 Compute options separately.
9209 (w32font_open_internal): Set glyph_idx before caching metrics.
9210
9211 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
9212 Define if system headers don't.
9213 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
9214 (w32font_encode_char): Don't declare here.
9215
9216 * w32font.c (Quniscribe, QCformat): New symbols.
9217 (syms_of_w32font): Define them.
9218 (w32font_has_char): Indicate uncertainty.
9219 (w32font_encode_char): Encode as glyph point. Make static.
9220 (recompute_cached_metrics): New function.
9221 (w32font_open_internal): Use it. Set font to use glyph points
9222 initially. Set format based on type of font.
9223 (w32font_text_extents, w32font_draw): Optionally use glyph points.
9224 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
9225 on it. Set format based on information available here.
9226 (add_font_entity_to_list): Identify backend based on opentype_only.
9227
9228 2008-03-02 Andreas Schwab <schwab@suse.de>
9229
9230 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
9231
9232 * coding.c (decode_coding_big5, produce_chars):
9233 Fix typos in last change.
9234
9235 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
9236
9237 * gnu.h: New icon.
9238
9239 2008-03-02 Kenichi Handa <handa@m17n.org>
9240
9241 * coding.c (decode_coding_utf_8): When eol-type of CODING is
9242 `dos', don't decode '\r' if that is the last in the source.
9243 (decode_coding_utf_16, decode_coding_emacs_mule)
9244 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9245 (decode_coding_raw_text, decode_coding_charset): Likewise.
9246 (produce_chars): Don't decode EOL here. Use EMACS_INT.
9247
9248 2008-03-01 Jason Rumney <jasonr@gnu.org>
9249
9250 * w32font.c (w32font_full_name): Report point size for scalable fonts.
9251
9252 2008-03-01 Kim F. Storm <storm@cua.dk>
9253
9254 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
9255
9256 2008-03-01 Jason Rumney <jasonr@gnu.org>
9257
9258 * w32font.c (w32font_full_name): New function.
9259 (w32font_open_internal): Use it.
9260
9261 2008-03-01 Kim F. Storm <storm@cua.dk>
9262
9263 * dispnew.c (line_draw_cost): Fix invalid glyph check.
9264
9265 2008-03-01 Jason Rumney <jasonr@gnu.org>
9266
9267 * font.c (font_unparse_fcname): Increase len when style is a symbol.
9268
9269 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
9270
9271 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
9272 xg_frame_resized when the event is for the edit widget.
9273
9274 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
9275
9276 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
9277 set_char_size.
9278 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
9279 operations on widgets here. Just set frame size if needed.
9280 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
9281 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
9282 (x_wm_set_size_hint): Set size hints on the edit widget only, not
9283 the whole frame.
9284 (xg_create_tool_bar): Move attachment of the tool bar to
9285 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
9286 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
9287
9288 2008-03-01 Jason Rumney <jasonr@gnu.org>
9289
9290 * w32fns.c (w32_msg_pump): Disable debug code.
9291
9292 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9293
9294 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
9295
9296 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
9297
9298 * xdisp.c (next_overlay_string): Don't set
9299 overlay_strings_at_end_processed_p if we're currently reading from
9300 a display string.
9301
9302 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
9303
9304 * xdisp.c (get_overlay_strings_1): Fix typo.
9305
9306 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
9307
9308 * xdisp.c (get_overlay_strings_1): Add missing argument type.
9309
9310 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
9311
9312 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
9313
9314 * xdisp.c (display_mode_element): Cancel the previous change.
9315 (decode_mode_spec): Likewise.
9316 (handle_auto_composed_prop): Don't make composition if it->string
9317 is a string.
9318
9319 2008-02-27 Kim F. Storm <storm@cua.dk>
9320
9321 * lisp.h (GLYPH): Change type from int to struct with separate char
9322 and face_id members.
9323 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
9324 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
9325 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
9326 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
9327 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
9328 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
9329 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
9330 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
9331 handle new Lisp glyph code encoding, either an integer or a cons.
9332
9333 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
9334 (GLYPH_ALIAS): Delete.
9335 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
9336 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
9337 (GLYPH_FROM_CHAR): Replace macro by ...
9338 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
9339
9340 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
9341 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
9342 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
9343 (GLYPH_INVALID_P): New macro.
9344 (spec_glyph_lookup_face): Update prototype.
9345
9346 * dispnew.c (line_draw_cost): Adapt to new glyph type.
9347 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
9348 new glyph code encoding.
9349 (spec_glyph_lookup_face): No return value; update passed glyph instead.
9350 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
9351
9352 * xdisp.c (get_next_display_element, next_element_from_display_vector):
9353 Adapt to new glyph type and new glyph code encoding.
9354
9355 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
9356
9357 * indent.c (current_column, current_column_1, Fmove_to_column)
9358 (compute_motion): Adapt to new glyph code encoding.
9359
9360 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
9361
9362 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
9363
9364 * process.c (wait_reading_process_output): Check for window
9365 changes caused by timers.
9366 Suggested by Johan Bockgård.
9367
9368 2008-02-27 Glenn Morris <rgm@gnu.org>
9369
9370 * emacs.c (USAGE1): Add `--disable-font-backend'.
9371
9372 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
9373
9374 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
9375 is made to the buffer.
9376
9377 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
9378
9379 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
9380 (face_at_string_position):
9381 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
9382 (face_at_string_position):
9383 * xdisp.c (display_string, next_overlay_change):
9384 * buffer.h (overlays_at):
9385 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
9386 Update callers.
9387
9388 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
9389
9390 * editfns.c (Fformat): Doc fix.
9391
9392 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
9393
9394 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
9395 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
9396 (Ffont_otf_alternates, Fquery_font): Doc fixes.
9397
9398 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9399
9400 * buffer.c (Fbuffer_swap_text): New function.
9401 (syms_of_buffer): Defsubr it.
9402
9403 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
9404
9405 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
9406
9407 2008-02-25 Jason Rumney <jasonr@gnu.org>
9408
9409 * w32font.c (w32font_draw): Draw one character at a time when padding.
9410
9411 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9412
9413 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
9414 Handle a nil arg. Use run_window_configuration_change_hook.
9415 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
9416 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
9417 Use run_window_configuration_change_hook.
9418
9419 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9420
9421 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
9422 1-pixel width.
9423
9424 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9425
9426 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
9427 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
9428 if the glyph in the font is zero pixel with.
9429
9430 * dispextern.h (struct glyph_string): New member padding_p.
9431
9432 * w32font.c (w32font_draw): Pay attention to s->padding_p.
9433
9434 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
9435
9436 * xfont.c (xfont_draw): Pay attention to s->padding_p.
9437
9438 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
9439
9440 * font.c: If the font driver doesn't have `shape' function, return Qnil.
9441
9442 2008-02-25 Jason Rumney <jasonr@gnu.org>
9443
9444 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
9445
9446 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
9447
9448 Allow fine-grained image-cache flushing.
9449 * dispextern.h (struct image): Add `dependencies' field.
9450 (clear_image_caches): Change arg to Lisp_Object.
9451 * image.c (make_image): Initialize `dependencies' field.
9452 (clear_image_cache): Change arg to allow fine-grained flushing.
9453 Perform the flush even if image-cache-eviction-delay is nil.
9454 (clear_image_caches): Change arg to Lisp_Object.
9455 (Fclear_image_cache): Expand meaning of the argument.
9456 (mark_image): Mark `dependencies' field.
9457 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
9458 (lface_hash): Use XHASH rather than XFASTINT.
9459 (face_at_buffer_position): Fix int -> EMACS_INT position.
9460 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
9461 (select_frame_for_redisplay): Remove code duplication.
9462 (redisplay_internal): Adapt arg to call to clear_image_caches.
9463
9464 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
9465
9466 * s/vms4-0.h:
9467 * s/vms4-2.h:
9468 * s/vms4-4.h:
9469 * s/vms5-5.h: Remove, unused.
9470
9471 * s/irix5-2.h:
9472 * s/irix6-0.h:
9473 * s/riscos5.h:
9474 * s/mach-bsd4-3.h:
9475 * m/mips4.h: Remove files for obsolete systems.
9476
9477 * Makefile.in:
9478 * filelock.c:
9479 * unexmips.c:
9480 * m/hp9000s300.h:
9481 * m/iris4d.h:
9482 * s/aix3-1.h:
9483 * s/hpux.h:
9484 * s/msdos.h:
9485 * s/usg5-0.h:
9486 * s/usg5-2-2.h:
9487 * s/usg5-2.h:
9488 * s/usg5-3.h: Remove references to obsolete variables.
9489
9490 * s/irix5-0.h: Remove, move all the contents ...
9491 * s/irix6-5.h: ... here. Simplify.
9492 * config.in: Regenerate.
9493
9494 2008-02-24 Jason Rumney <jasonr@gnu.org>
9495
9496 * w32term.c (x_draw_glyph_string_background): Clear the background
9497 manually when cleartype is in use.
9498 (x_draw_glyph_string_foreground): Draw text transparently when
9499 cleartype is in use.
9500
9501 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
9502 a font into it unless we have to.
9503
9504 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9505
9506 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
9507 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
9508
9509 2008-02-18 Jason Rumney <jasonr@gnu.org>
9510
9511 * w32fns.c (Fw32_shell_execute): Encode parameters.
9512
9513 2008-02-09 Eli Zaretskii <eliz@gnu.org>
9514
9515 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
9516
9517 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
9518
9519 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
9520
9521 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
9522
9523 * xterm.c (x_set_offset): Don't change the gravity if
9524 CHANGE_GRAVITY is -1.
9525
9526 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
9527
9528 * fileio.c (auto_save_error_occurred): New var.
9529 (auto_save_error): Set it.
9530 (Fdo_auto_save): Don't overwrite the error message if an auto-save
9531 error occurred.
9532
9533 2008-02-23 Eli Zaretskii <eliz@gnu.org>
9534
9535 * w32.c (globals_of_w32): Add initializations for
9536 g_b_init_get_sid_sub_authority and
9537 g_b_init_get_sid_sub_authority_count.
9538
9539 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
9540
9541 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
9542 (font_parse_xlfd): Use them for sanity check.
9543 (Finternal_set_font_style_table): Make sure the table is bijective.
9544
9545 Consolidate the image_cache to the terminal struct.
9546 * termhooks.h (P_): Remove redundant def.
9547 (struct terminal): New field `image_cache'.
9548 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
9549 of FRAME_X_IMAGE_CACHE.
9550 * xterm.h (struct x_display_info): Remove image_cache field.
9551 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9552 * w32term.h (struct w32_display_info): Remove image_cache field.
9553 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9554 * macterm.h (struct mac_display_info): Remove image_cache field.
9555 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9556 * xterm.c (x_term_init):
9557 * w32term.c (w32_term_init):
9558 * macterm.c (mac_term_init): Set the image_cache in the terminal.
9559 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
9560 Remove declarations.
9561 (clear_image_caches, mark_image_cache): New declarations.
9562 * xfaces.c (clear_face_cache):
9563 * xdisp.c (redisplay_internal): Use clear_image_caches.
9564 * image.c (clear_image_cache): Don't check that a frame is on
9565 a window-system before checking if it shares the same cache.
9566 (clear_image_caches): New function.
9567 (Fclear_image_cache): Use it.
9568 (mark_image): Move from allo.c.
9569 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
9570 * alloc.c (mark_image, mark_image_cache): Move to image.c.
9571 (mark_object): Don't call mark_image_cache for frames.
9572 (mark_terminals): Call mark_image_cache.
9573
9574 * lisp.h (Fdelete_terminal): Declare.
9575
9576 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
9577 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
9578 wrong_type_argument.
9579
9580 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
9581
9582 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
9583 malayalam.el, and tamil.el. Add sinhala.el.
9584
9585 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
9586
9587 * xterm.c (x_connection_closed): Consolidate identical tests.
9588 (x_delete_terminal): Don't crash if called via x_connection_closed.
9589
9590 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
9591
9592 * xdisp.c (decode_mode_spec): New arg string.
9593 (display_mode_element): Adjust for the above change.
9594
9595 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9596
9597 * callint.c (Fcall_interactively): Use AREF.
9598
9599 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
9600
9601 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
9602
9603 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
9604
9605 * xfns.c (Fx_show_tip): Set string to " " if empty.
9606
9607 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
9608
9609 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
9610 with Qt.
9611
9612 2008-02-17 Kenichi Handa <handa@m17n.org>
9613
9614 * ftfont.c (ftfont_shape): Return Lispy number.
9615
9616 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
9617 for GCs.
9618 (Finternal_set_font_selection_order): Call font_update_sort_order
9619 only when enable_font_backend is set.
9620 (realize_x_face): Set face->font_info to that of default face only
9621 when enable_font_backend is set.
9622
9623 * xdisp.c (handle_composition_prop): Set it->c to the fist
9624 character of the composed region.
9625 (fill_composite_glyph_string): Set base_face->font_info to
9626 s->font_info. Get a face for ascii from base_face->ascii_face.
9627 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
9628 with a face already decided.
9629 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
9630 non-negative.
9631 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
9632 call font_prepare_composition unconditionally.
9633
9634 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
9635
9636 * xterm.h (struct x_display_info): New member font.
9637
9638 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
9639 (x_set_mouse_face_gc, x_new_font): Likewise.
9640 (x_term_init): Setup display_info->font.
9641 (x_delete_terminal): Free display_info->font.
9642
9643 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
9644
9645 * ftxfont.c (ftxfont_default_fid): Delete it.
9646 (ftxfont_open): Set xfont->fid to 0.
9647 (ftxfont_end_for_frame): Clear data specific to the frame and the
9648 font-driver.
9649
9650 * xftfont.c (xftfont_default_fid): Delete it.
9651 (xftfont_open): Set xfont->fid to 0.
9652
9653 * fontset.c (FONTSET_OBJLIST): New macro.
9654 (fontset_find_font): Update font-object list of the fontset.
9655 (free_realized_fontset): New function.
9656 (free_face_fontset): Call free_realized_fontset.
9657 (Ffont_info): Call font_close_object only when enable_font_backend
9658 is set.
9659
9660 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
9661 [HAVE_NTGUI]: Include w32term.h.
9662 [MAC_OS]: Include macterm.ch.
9663 (font_otf_ValueRecord): Use make_number.
9664 (font_finish_cache): Fix handling of reference count.
9665 (font_clear_cache): Update num_fonts.
9666 (font_open_entity): Update smallest_char_width and
9667 smallest_font_height of the frame.
9668 (font_close_object): Update num_fonts.
9669 (Fclear_font_cache): Fix finding the target cache data.
9670
9671 2008-02-16 Glenn Morris <rgm@gnu.org>
9672
9673 * fontset.c (Finternal_char_font): Fix compilation warning.
9674
9675 2008-02-16 Eli Zaretskii <eliz@gnu.org>
9676
9677 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9678 instead of char arrays. Enlarge the size of array passed to
9679 get_token_information.
9680
9681 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9682 warnings.
9683
9684 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9685
9686 * .gdbinit: Don't set `args', it breaks gdb --args.
9687
9688 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9689
9690 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9691 within a narrowed buffer.
9692
9693 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9694
9695 * coding.c (decode_coding_object, encode_coding_object):
9696 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9697
9698 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9699
9700 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9701 hardcoding 1.
9702 (detect_coding_system):
9703 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9704 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9705 * insdel.c (insert_from_gap):
9706 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9707 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9708 (string_to_multibyte):
9709 * character.c (chars_in_text, multibyte_chars_in_text):
9710 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9711
9712 * character.h (FETCH_STRING_CHAR_ADVANCE)
9713 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9714 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9715 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9716
9717 * casefiddle.c (casify_region): Only call after-change and composition
9718 functions on the part of the region that was changed.
9719
9720 * keyboard.c (read_avail_input):
9721 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9722
9723 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9724
9725 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9726 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9727
9728 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
9729
9730 * w32menu.c (push_submenu_start, push_submenu_end)
9731 (push_left_right_boundary, push_menu_pane, push_menu_item):
9732 * keyboard.c (read_key_sequence): Don't pass args with side effects
9733 to AREF, it fails when compiling with -DENABLE_CHECKING.
9734
9735 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9736
9737 * Makefile.in (${lispsource}international/charprop.el):
9738 Delete this target.
9739
9740 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9741 emacs-unicode-2.
9742
9743 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9744
9745 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9746
9747 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9748
9749 * frame.c (Qnoelisp): New symbol.
9750 (syms_of_frame): Initialize it.
9751 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9752 harmless Elisp code, from a strong `force' from x_connection_closed.
9753 * frame.h (Qnoelisp): Declare.
9754 * xterm.c (x_connection_closed): Pass `noelisp'.
9755
9756 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9757 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9758 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9759 rather than `int' for the type of `type'.
9760
9761 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9762
9763 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9764
9765 * Makefile.in (GNUC): Remove support for gcc-1.x.
9766
9767 2008-02-10 Richard Stallman <rms@gnu.org>
9768
9769 * lisp.h (ASET): Use AREF, not ASLOT.
9770
9771 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9772
9773 * lisp.h (ASET): Check bounds.
9774
9775 2008-02-10 Glenn Morris <rgm@gnu.org>
9776
9777 * buffer.c (mode-name): Doc fix.
9778
9779 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9780
9781 * Makefile.in:
9782 * emacs.c:
9783 * gmalloc.c:
9784 * keyboard.c:
9785 * lisp.h:
9786 * m/ibm370aix.h:
9787 * process.c:
9788 * regex.c:
9789 * s/hpux.h:
9790 * sysdep.c:
9791 * sysselect.h:
9792 * systty.h:
9793 * unexec.c:
9794 * w32term.c:
9795 * xsmfns.c:
9796 * xterm.c: Remove code that deals with obsolete variables.
9797
9798 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
9799
9800 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
9801 nothing else needs it anymore.
9802
9803 2008-02-09 Eli Zaretskii <eliz@gnu.org>
9804
9805 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
9806 instead of unibyte_char_to_multibyte.
9807
9808 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9809
9810 * s/gnu-linux.h: Remove commented out code.
9811
9812 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
9813
9814 * Makefile.in: Update what RMS says about using autoconf.
9815 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
9816 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
9817 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
9818 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
9819
9820 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
9821
9822 * keymap.c (Fkey_description): Move side effect outside of macro call.
9823
9824 * xfaces.c (Finternal_make_lisp_face):
9825 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
9826
9827 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
9828 (syms_of_fontset): Use ASET.
9829
9830 * fns.c (concat): Move side effect outside of macro call.
9831 (hash_clear): Use ASET.
9832
9833 2008-02-08 Richard Stallman <rms@gnu.org>
9834
9835 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
9836 If FORCE, and frame has a surrogate minibuffer for another frame,
9837 delete the other frame first.
9838
9839 2008-02-07 Timo Savola <timo.savola@iki.fi>
9840
9841 * xterm.c (x_detect_focus_change): Handle embed client message.
9842 (handle_one_xevent): Ditto.
9843 (handle_one_xevent): If embedded and we get a button press/release,
9844 request focus.
9845 (xembed_set_info, xembed_send_message): New functions.
9846 (x_make_frame_visible): Call xembed_set_info if embedded.
9847 (x_make_frame_invisible): Call xembed_set_info if embedded.
9848 (x_term_init): Initialize Xatom_XEMBED.
9849 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
9850 (x_iconify_frame): Ditto.
9851
9852 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
9853 (enum xembed_info, enum xembed_message, enum xembed_focus)
9854 (enum xembed_modifier, enum xembed_accelerator): New.
9855 (xembed_set_info, xembed_send_message): Declare.
9856 (FRAME_X_EMBEDDED_P): New.
9857
9858 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
9859 gtk_plug_new.
9860
9861 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
9862 window ID of a frame.
9863 (x_window): Reparent frame if embedded.
9864 (Fx_create_frame): Don't set border width if embedded.
9865
9866 * emacs.c (USAGE3): Add --parent-id.
9867 (standard_args): Ditto.
9868
9869 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
9870
9871 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
9872
9873 2008-02-07 Jim Meyering <meyering@redhat.com>
9874
9875 Use "do...while (0)", not "if (1)...else" in macro definitions.
9876 The latter provokes a warning from gcc about the empty else, when
9877 followed by ";". Also, without that trailing semicolon, it would
9878 silently swallow up any following statement.
9879 * syntax.h (SETUP_SYNTAX_TABLE)
9880 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
9881 * buffer.h (DECODE_POSITION): Likewise.
9882 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
9883 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
9884 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
9885 (FETCH_CHAR_ADVANCE): Likewise.
9886 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
9887
9888 2008-02-07 Jim Meyering <meyering@redhat.com>
9889
9890 * lread.c [lint]: Don't include <sys/inode.h>.
9891
9892 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
9893
9894 * xselect.c (x_handle_dnd_message):
9895 * xmenu.c (digest_single_submenu, xmenu_show):
9896 * xdisp.c (with_echo_area_buffer_unwind_data)
9897 (format_mode_line_unwind_data, unwind_format_mode_line)
9898 (display_menu_bar):
9899 * eval.c (Ffetch_bytecode):
9900 * doc.c (store_function_docstring):
9901 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
9902 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
9903 * buffer.c (add_overlay_mod_hooklist): Use ASET.
9904
9905 2008-02-07 Kenichi Handa <handa@m17n.org>
9906
9907 * ftxfont.c (ftxfont_open): Don't set
9908 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
9909
9910 * ftfont.c (ftfont_open): Fix previous change.
9911
9912 2008-02-06 Jason Rumney <jasonr@gnu.org>
9913
9914 * w32font.c (w32font_text_extents): Fill in lbearing metric.
9915 Use cached metrics for ASCII characters.
9916 (w32font_open_internal): Don't set font's owning_frame.
9917 Cache metrics for ASCII characters.
9918
9919 * w32font.h (struct w32font_info): Add ascii_metrics.
9920 Remove owning_frame.
9921
9922 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
9923
9924 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
9925 to negative value.
9926
9927 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
9928
9929 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
9930
9931 * charset.c (syms_of_charset): Set QCtest and Qeq.
9932
9933 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
9934
9935 * process.c (Fstart_process):
9936 * callproc.c (Fcall_process): Handle the case where
9937 Funhandled_file_name_directory returns nil.
9938
9939 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
9940 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
9941 * font.c (check_gstring): Use them and AREF to access the vector before
9942 we know it's really a gstring.
9943 (Ffont_shape_text): Fix typo.
9944 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
9945
9946 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
9947 Declare.
9948
9949 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
9950
9951 2008-02-05 Jason Rumney <jasonr@gnu.org>
9952
9953 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
9954 Set smallest_font_height and smallest_char_width in display info.
9955
9956 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
9957
9958 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
9959
9960 2008-02-05 Miles Bader <miles@gnu.org>
9961
9962 * xfaces.c (get_lface_attributes, merge_named_face)
9963 (lookup_named_face, lookup_derived_face, realize_named_face):
9964 Revert 2008-02-01 change by cyd@stupidchicken.com.
9965
9966 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
9967
9968 * fontset.c (Ffontset_info): Handle the case of inhibitting the
9969 fallback fonts.
9970 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
9971
9972 2008-02-04 Jason Rumney <jasonr@gnu.org>
9973
9974 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
9975 set full_name.
9976 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
9977
9978 2008-02-03 Jason Rumney <jasonr@gnu.org>
9979
9980 * makefile.w32-in (OBJ1): Include font.o here.
9981 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
9982
9983 2008-02-02 Jason Rumney <jasonr@gnu.org>
9984
9985 * makefile.w32-in (temacs): Bump EMHEAP to 21.
9986
9987 2008-02-01 Jason Rumney <jasonr@gnu.org>
9988
9989 * s/cygwin.h: Define VIRT_ADDR_VARIES.
9990
9991 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
9992
9993 2008-02-01 Andreas Schwab <schwab@suse.de>
9994
9995 * Makefile.in (shortlisp, lisp): Update for rename of
9996 ../lisp/language/myanmar.el.
9997
9998 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
9999
10000 * xfaces.c (get_lface_attributes): Delete function.
10001 (merge_named_face, lookup_named_face, lookup_derived_face)
10002 (realize_named_face): Call lface_from_face_name directly, and use
10003 the fact that merge_face_vectors does not alter its FROM argument.
10004
10005 2008-02-01 Jason Rumney <jasonr@gnu.org>
10006
10007 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
10008 input in the default locale. Handle non-Unicode multibyte input.
10009
10010 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10011
10012 * fontset.c (reorder_font_vector): Exclude nil elements from the
10013 font group. Don't try multiple fonts.
10014 (fontset_font): Adjust for the above change.
10015 (Finternal_char_font): Return nil if the found font doesn't
10016 contain the character ch.
10017
10018 * Makefile.in (lisp, shortlisp): Add cham.el.
10019
10020 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10021
10022 * font.h (FONTP): Make it return 1 also for a font-object.
10023
10024 * .gdbinit (xfontset): New function.
10025
10026 * font.c (font_find_for_lface): Check if the character C is
10027 supported or not only for the first font.
10028
10029 * fontset.c (reorder_font_vector): Fix typo.
10030 (fontset_find_font): Don't add a font-spec specifying a script.
10031 Use 0 (not Qt) for the indication of empty font-group. Change the
10032 format of RFONT-DEF. Return Qt if no font in the font-group
10033 support the character.
10034 (fontset_font): Adjust for the above change. If no font was
10035 found the character, remember that.
10036 (face_for_char): Adjust for the change of RFONT-DEF.
10037 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
10038 no font for the target.
10039 (Finternal_char_font): Adjust for the change of RFONT-DEF.
10040
10041 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10042
10043 * font.c (font_load_for_face): Handle the case that the font in
10044 face->lface is a string.
10045
10046 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10047
10048 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
10049
10050 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10051
10052 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
10053 Fix previous change. If the frame is not on a window system,
10054 signal an error.
10055
10056 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10057
10058 * coding.c (decode_coding_object, encode_coding_object): Adjust
10059 marker positions after conversion.
10060
10061 * lisp.h (struct Lisp_Marker): New member need_adjustment.
10062
10063 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10064
10065 * font.c (font_find_for_lface): Fix the handling of the return
10066 value of font_has_char.
10067 (Ffont_shape_text): Fix previous change.
10068
10069 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
10070 (fontset_ref_and_range): Delete it.
10071 (fontset_find_font): Call char_table_ref_and_range instead of
10072 FONTSET_REF_AND_RANGE.
10073 (make_fontset): Don't setup font groups of Latin here.
10074 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
10075 (new_fontset_from_font): Make the specified font the default for
10076 all Latin characters.
10077
10078 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10079
10080 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
10081 is on a window system before accessing the fontset of the frame.
10082
10083 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10084
10085 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
10086
10087 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
10088 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
10089
10090 * font.c (Ffont_shape_text): If the font driver doesn't have a
10091 shaper function, make zero-width glyphs to have at least one-pixel
10092 width. Fix setting of `to' field of glyphs.
10093
10094 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10095
10096 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
10097 glyphs.
10098
10099 * font.h (struct font_driver): Improve docstring of member `shape'.
10100
10101 2008-02-01 Kenichi Handa <handa@m17n.org>
10102
10103 * composite.c (syms_of_composite): Fix docstring of
10104 auto-composition-function.
10105
10106 * font.h (LGLYPH_SIZE): New macro.
10107
10108 * font.c (Ffont_fill_gstring): Stop filling when a character not
10109 supported by the font is found.
10110 (Ffont_shape_text): When a shape callback function returns nil,
10111 try at most two more times with larger gstring.
10112 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
10113
10114 * xdisp.c (handle_auto_composed_prop): Change the argument to
10115 auto-composition-function.
10116
10117 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
10118 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
10119 Lispy glyph and store it in the lgstring.
10120
10121 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
10122
10123 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
10124
10125 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10126
10127 * font.c (Ffont_shape_text): Avoid unnecessary composition.
10128
10129 * fontset.c (Vfont_encoding_charset_alist): New variable.
10130 (syms_of_fontset): DEFVAR it.
10131 (reorder_font_vector, fontset_find_font): Optimize for the case of
10132 no need of reordering.
10133 (face_for_char): Map the charset property by
10134 Vfont_encoding_charset_alist.
10135
10136 2008-02-01 Jason Rumney <jasonr@gnu.org>
10137
10138 * w32font.c (logfonts_match): Don't check adstyle here.
10139 (font_matches_spec): Check here against physical font instead.
10140 (add_font_entity_to_list): Avoid some substitutions.
10141
10142 * font.c (font_parse_fcname): Default weight and slant to normal.
10143 (font_score): Prefer normal fonts if weight or slant unspecified.
10144 (font_score) [WINDOWSNT]: Scale weight difference down to closer
10145 match freetype scores.
10146
10147 2008-02-01 Jason Rumney <jasonr@gnu.org>
10148
10149 * w32font.c (w32font_text_extents): Don't use the frame stored in the
10150 font, as it may have been deleted.
10151 (w32_enumfont_pattern_entity): Map generic family to adstyle using
10152 most common hyphenless variation.
10153 (logfonts_match): Check generic family.
10154 (font_matches_spec): Don't check generic family here.
10155 (fill_in_logfont): Set generic family based on adstyle.
10156
10157 * w32font.h (w32font_get_cache): Update declaration.
10158
10159 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10160
10161 * ftfont.c (ftfont_get_cache): Adjust the argument type.
10162
10163 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
10164 If none of the new drivers are available, call font_update_drivers
10165 with the old drivers.
10166
10167 * w32font.c (w32font_get_cache): Adjust the argument type.
10168
10169 * xfont.c (xfont_get_cache): Adjust the argument type.
10170
10171 * font.h (struct font_driver): Change argument type of get_cache.
10172
10173 * xftfont.c (xftfont_start_for_frame): Delete prototype.
10174
10175 * font.c (Ffont_get): Fix arguments to Fassoc.
10176 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
10177 (font_clear_cache): New function.
10178 (font_list_entities, font_matching_entity): Use font_get_cache.
10179 (font_update_drivers): Call font_clear_cache when finishing a driver.
10180
10181 * fontset.c (fontset_find_font): Fix previous change.
10182
10183 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10184
10185 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
10186 dpyinfo->font_table.
10187 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
10188 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
10189
10190 * font.c (font_at): Handle the case that the arg C is negative.
10191 Handle the unibyte case.
10192 (Ffont_at): Call font_at with the arg C -1.
10193
10194 * xdisp.c (handle_auto_composed_prop): Don't get a character at
10195 the position here, and call font_at with the arg C -1.
10196 Don't check the range of the existing composition at the point.
10197
10198 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10199
10200 * fontset.c (fontset_add): New args charset_id and family.
10201 Change caller.
10202 (load_font_get_repertory, fontset_find_font): Assume that
10203 font_spec is always a font-spec object.
10204 (Fset_fontset_font): Always store a font-spec object in a fontset.
10205
10206 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
10207 instead of get_property_and_range.
10208
10209 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10210
10211 * xftfont.c (struct xftfont_info): Delete the member ft_face.
10212 (xftfont_open): Don't keep locking face.
10213 (xftfont_close): Don't unlock face.
10214 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
10215
10216 * fontset.c (fontset_find_font): Don't prefer a font of
10217 supplementary charset.
10218
10219 2008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
10222 script, langsys_tag to langsys, new member script.
10223 (OTF_TAG_STR): Terminate by '\0'.
10224 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
10225 listing to the script specified in that property. Fix arg to
10226 OTF_check_features.
10227
10228 2008-02-01 Jason Rumney <jasonr@gnu.org>
10229
10230 * w32font.h: New file.
10231
10232 * w32font.c: Include it.
10233 (struct w32font_info): Add owning_frame field. Move to w32font.h.
10234 (w32font_open): Set owning_frame.
10235 (w32font_text_extents): Use owning_frame.
10236 (struct font_callback_data): Add opentype_only field.
10237 (add_font_entity_to_list): Use it to filter fonts.
10238 Don't check against full name.
10239 (w32font_list_internal): New function.
10240 (w32font_list): Use it.
10241 (w32font_match_internal): New function.
10242 (w32font_match): Use it.
10243 (w32font_open_internal): New function.
10244 (w32font_open): Use it.
10245 (w32font_get_cache, w32font_close, w32font_has_char)
10246 (w32font_encode_char, w32font_text_extents, w32font_draw):
10247 Make non-static.
10248
10249 * makefile.w32-in (w32font.o): Depend on w32font.h.
10250
10251 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10252
10253 * charset.c (Fdefine_charset_internal): Record a supplementary
10254 charset at the tail of Vcharset_order_list.
10255
10256 * font.c (Ffont_shape_text): Fix the return value.
10257
10258 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
10259
10260 * xdisp.c (handle_auto_composed_prop): Fix previous change.
10261
10262 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10263
10264 * ftfont.c (struct OpenTypeSpec): New struct.
10265 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
10266 (ftfont_get_open_type_spec): New function.
10267 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
10268
10269 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
10270
10271 2008-02-01 Jason Rumney <jasonr@gnu.org>
10272
10273 * w32font.c (add_font_entity_to_list): Compare only the beginning
10274 of full name.
10275
10276 2008-02-01 Kenichi Handa <handa@m17n.org>
10277
10278 * xdisp.c (handle_auto_composed_prop): Simplify the code.
10279 Never return HANDLED_RECOMPUTE_PROPS.
10280
10281 2008-02-01 Kenichi Handa <handa@m17n.org>
10282
10283 * font.c (font_gstring_produce): Delete it.
10284
10285 * composite.h (COMPOSITION_METHOD):
10286 Handle COMPOSITION_WITH_GLYPH_STRING.
10287
10288 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10289
10290 * xfont.c (Qx): Delete.
10291 (syms_of_xfont): Don't initialize Qx.
10292
10293 * composite.h (enum composition_method):
10294 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
10295
10296 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10297
10298 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
10299 (choose_face_font): Accept new form of font-spec.
10300
10301 * frame.h (font_driver_list): Declare it unconditionally.
10302 (struct frame): Define members font_driver_list and font_data_list
10303 unconditionally.
10304
10305 * fontset.c: Include "font.h" unconditionally.
10306 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
10307 (Fset_fontset_font): Accept a font-spec object.
10308
10309 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
10310 PIXEL_SIZE part a wild card.
10311
10312 * dispextern.h (struct glyph_string): Define members clip and
10313 num_clips unconditionally.
10314 (struct face): Define members font_info and extra unconditionally.
10315
10316 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
10317 ftfont_info only when HAVE_LIBOTF is defined.
10318
10319 2008-02-01 Andreas Schwab <schwab@suse.de>
10320
10321 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
10322 and end.
10323
10324 2008-02-01 Jason Rumney <jasonr@gnu.org>
10325
10326 * w32font.c (w32font_driver): Add new fields.
10327
10328 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10329
10330 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
10331 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
10332 (LIBES): Add @M17N_FLT_CFLAGS@.
10333
10334 * composite.c (compose_text): Don't treat the new style
10335 composition specially.
10336
10337 * emacs.c (main): Call syms_of_font unconditionally.
10338
10339 * font.h (FONT_ENTITY_NOT_LOADABLE)
10340 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
10341 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
10342 (struct font_driver): New member shape.
10343 (font_registry_charsets): Extern it.
10344 (font_find_for_lface, font_prepare_composition): Adjust prototype.
10345 (font_otf_capability, font_drive_otf): Delete their externs.
10346
10347 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
10348 (font_charset_alist, font_registry_charsets): Move from xfont.c
10349 and rename.
10350 (font_prop_validate_otf): New function.
10351 (font_property_table): Register it for QCotf.
10352 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
10353 (font_drive_otf): Delete.
10354 (font_prepare_composition): New arg F. Adjust for the change of
10355 lispy gstring.
10356 (font_find_for_lface): New arg C.
10357 (font_load_for_face): Adjust for the change of font_find_for_lface.
10358 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
10359 lispy gstring.
10360 (Ffont_shape_text): New function.
10361 (Fopen_font): If the font size is not given, use 12-pixel.
10362 (Ffont_at): New arg STRING.
10363 (syms_of_font): Initalize font_charset_alist.
10364 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
10365 conditionally.
10366
10367 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
10368 fonts of the same font-spec. Change the format of RFONT-DEF.
10369 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
10370 Adjust for the change of RFONT-DEF.
10371 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
10372
10373 * ftfont.h: New file.
10374
10375 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
10376 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10377 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10378 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
10379 font_otf_capability and font_drive_otf, set ftfont_shape.
10380 (ftfont_list): Adjust for the change of :otf property value.
10381 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
10382 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
10383 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
10384 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10385 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
10386 (otf_gstring, gstring, m17n_flt_initialized): New variables.
10387
10388 * w32term.c (x_draw_composite_glyph_string_foreground):
10389 Adjust for the change of lispy gstring.
10390
10391 * xdisp.c (handle_composition_prop): Adjust for the change of
10392 lispy gstring. Call a function for auto-composition with the
10393 third arg it->window.
10394 (fill_composite_glyph_string): Adjust for the change of lispy string.
10395 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
10396
10397 * xfaces.c (set_font_frame_param): Adjust for the change of
10398 font_find_for_lface.
10399
10400 * xfont.c (x_font_charset_alist): Move to font.c and rename.
10401 (xfont_registry_charsets): Likewise. Change caller.
10402 (syms_of_xfont): Don't handle x_font_charset_alist.
10403
10404 * xftfont.c: Include "ftfont.h".
10405 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10406 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10407 (xftfont_close) [HAVE_LIBOTF]: Close otf.
10408 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10409 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
10410 Set xftfont_driver.shape to xftfont_shape.
10411
10412 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10413 the change of lispy gstring.
10414
10415 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10416
10417 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
10418
10419 2008-02-01 Jason Rumney <jasonr@gnu.org>
10420
10421 * w32font.c (w32font_draw): Fill background manually.
10422
10423 2008-02-01 Jason Rumney <jasonr@gnu.org>
10424
10425 * font.c (Qfontp): Remove unused symbol.
10426 (QCantialias): New symbol.
10427 (syms_of_font): Define it.
10428 (font_property_table): Set a validator for QCantialias.
10429
10430 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
10431 Define if not already.
10432 (QCfamily): Share with xfaces.c.
10433 (Qstandard, Qsubpixel, Qnatural): New symbols.
10434 (syms_of_w32font): Define them. Don't define QCfamily here.
10435 (w32_antialias_type, lispy_antialias_type): New functions.
10436 (w32_enumfont_pattern_entity): New arg requested_font.
10437 Set antialias parameter if non-default was requested.
10438 (fill_in_logfont): Fill in lfQuality if :antialias specified.
10439
10440 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10441
10442 * lread.c (read1): Undo the previous change.
10443
10444 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
10445
10446 * frame.c (Fdelete_frame): Call font_update_drivers only when
10447 USE_FONT_BACKEND is defined.
10448
10449 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10450
10451 * font.h (struct font_bitmap): New member bits_per_pixel.
10452 (struct font_driver): New members start_for_frame and end_for_frame.
10453 (struct font_data_list): New struct.
10454 (font_put_frame_data, font_get_frame_data): Extern them.
10455
10456 * frame.h (struct frame): New member font_data_list.
10457
10458 * font.c (font_update_drivers): Call driver->start_for_frame and
10459 driver->end_for_frame at proper timings.
10460 (font_put_frame_data, font_get_frame_data): New functions.
10461 (Ffont_spec): Add usage in the docstring.
10462
10463 * frame.c (make_frame): Initialize f->font_data_list to NULL.
10464 (Fdelete_frame): Call font_update_drivers.
10465
10466 * xftfont.c (struct xftface_info): Delete the member xft_draw.
10467 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
10468 (xftfont_get_xft_draw): New function.
10469 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
10470 (xftfont_end_for_frame): New function.
10471 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
10472
10473 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
10474 Change argument. Cache GCs in the per-frame data.
10475 (struct ftxfont_frame_data): New struct.
10476 (ftxfont_draw_bitmap): New arg gc_fore and flush.
10477 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
10478 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
10479 (ftxfont_end_for_frame): New function.
10480 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
10481
10482 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
10483
10484 2008-02-01 Kenichi Handa <handa@m17n.org>
10485
10486 * xselect.c (Vselection_coding_system)
10487 (Vnext_selection_coding_system): Delete them.
10488 (syms_of_xselect): Don't declare selection-coding-system and
10489 next-selection-coding-system. They are declared in select.el.
10490
10491 2008-02-01 Jason Rumney <jasonr@gnu.org>
10492
10493 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
10494
10495 * w32fns.c: Include imm.h.
10496 (get_composition_string_fn, get_ime_context_fn): New optional
10497 system functions.
10498 (globals_of_w32fns): Load them from imm32.dll.
10499 (ignore_ime_char): New flag.
10500 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
10501 WM_IME_ENDCOMPOSITION messages.
10502
10503 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
10504 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
10505
10506 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10507
10508 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
10509 (READCHAR_REPORT_MULTIBYTE): New macro.
10510 (readchar): New 2nd arg MULTIBYTE.
10511 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
10512 Make symbol's name multibyte according to the multibyteness of the
10513 source.
10514
10515 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10516
10517 * xfaces.c (face_for_overlay_string): Call lookup_face with
10518 correct arguments (fix of synching with the trunk).
10519
10520 2008-02-01 Kenichi Handa <handa@m17n.org>
10521
10522 * font.c (font_prop_validate_symbol, font_prop_validate_style)
10523 (font_prop_validate_non_neg, font_prop_validate_spacing):
10524 Delete argument prop_index.
10525 (font_property_table): Change arguments to validater. Change Callers.
10526 (font_lispy_object): Delete.
10527 (font_at): Use font_find_object instead fo font_lispy_object.
10528
10529 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10530
10531 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
10532 and file names.
10533
10534 2008-02-01 Jason Rumney <jasonr@gnu.org>
10535
10536 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
10537 (font_matches_spec): Remove debug output.
10538 (add_font_entity_to_list): Avoid using substituted fonts.
10539
10540 2008-02-01 Jason Rumney <jasonr@gnu.org>
10541
10542 * doc.c (Fsnarf_documentation):
10543 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
10544
10545 2008-02-01 Miles Bader <miles@gnu.org>
10546
10547 * dispextern.h (struct glyph_row): Only define "clip" field if
10548 HAVE_WINDOW_SYSTEM is defined.
10549
10550 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10551
10552 Fix up multi-tty merge.
10553
10554 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
10555 and indentation.
10556
10557 * xfaces.c (free_realized_face, clear_face_gcs):
10558 Include font_done_for_face in the input_blocked section, just in case.
10559
10560 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
10561 (get_char_face_and_encoding): Undo last change and remove the *other*
10562 duplicate definition (i.e. keep the one that's better scoped and that
10563 includes code for the font-backend).
10564
10565 * terminal.c (create_terminal): Default keyboard_coding to
10566 `no-conversion' and terminal_coding to `undecided'.
10567
10568 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
10569
10570 * fontset.c (free_realized_fontsets): Check that the table entry does
10571 contain a fontset before trying to compare it to `base'.
10572
10573 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
10574 syms_of_charset, and syms_of_coding earlier because init_window_once
10575 now needs Vcoding_system_hash_table to be setup.
10576
10577 * coding.h (default_buffer_file_coding): Remove.
10578
10579 * coding.c (default_buffer_file_coding): Remove.
10580 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
10581 than ->symbol, and use the terminal-local coding system.
10582 (syms_of_coding): Don't setup the coding-systems that are not
10583 terminal-local.
10584 (Fdefine_coding_system_internal): Use XCAR/XCDR.
10585
10586 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
10587 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
10588
10589 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
10590 in chartab.c and were re-added here by mistake.
10591 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
10592
10593 * doc.c (Fsnarf_documentation):
10594 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
10595 src to etc.
10596
10597 * ChangeLog.10: Add mistakenly removed entry.
10598
10599 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
10600
10601 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
10602
10603 2008-02-01 Miles Bader <miles@gnu.org>
10604
10605 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
10606 Add extra args to FACE_FOR_CHAR.
10607
10608 2008-02-01 Kenichi Handa <handa@m17n.org>
10609
10610 * keymap.c (where_is_internal_1): If key is a cons, store the copy
10611 in sequence.
10612
10613 * chartab.c (map_sub_char_table, map_char_table): If the range
10614 contains just one character, call the function with that character
10615 even if the depth is not 3.
10616
10617 2008-02-01 Jason Rumney <jasonr@gnu.org>
10618
10619 * w32font.c (w32font_text_extents): Calculate metrics for the
10620 whole string.
10621
10622 2008-02-01 Jason Rumney <jasonr@gnu.org>
10623
10624 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
10625
10626 2008-02-01 Jason Rumney <jasonr@gnu.org>
10627
10628 * w32term.c (x_set_glyph_string_clipping): Use
10629 get_glyph_string_clip_rects.
10630 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10631 Adjust for the change of struct glyph_string.
10632
10633 * w32font.c (w32font_draw): Do clipping here.
10634
10635 2008-02-01 Kenichi Handa <handa@m17n.org>
10636
10637 * xftfont.c (xftfont_draw): Adjust for the change of struct
10638 glyph_string.
10639
10640 * xterm.c (x_set_glyph_string_clipping): Use
10641 get_glyph_string_clip_rects.
10642 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10643 Adjust for the change of struct glyph_string.
10644
10645 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
10646 the resulting clip(s}.
10647 (expose_overlaps): Add arg r. Change callers. Set it to
10648 row->clip temporarily.
10649 (expose_window): Redraw rows overlapping the exposed area.
10650
10651 * dispextern.h (struct glyph_row): New member clip.
10652 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
10653 clip_height, new member clip, and num_clips.
10654
10655 2008-02-01 Kenichi Handa <handa@m17n.org>
10656
10657 * data.c (Fchar_or_string_p): Fix docstring.
10658
10659 2008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10662 create a temporary XftDraw object.
10663
10664 2008-02-01 Kenichi Handa <handa@m17n.org>
10665
10666 * font.c (Ffontp): Fix docstring.
10667
10668 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10669 strong evidence of ISO-2022.
10670
10671 2008-02-01 Kenichi Handa <handa@m17n.org>
10672
10673 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10674 SYNTAX_ENTRY_FOLLOW_PARENT.
10675
10676 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10677
10678 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10679 its type.
10680 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10681 Update to the new type of weak_hash_tables and next_weak.
10682
10683 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10684 a plain C pointer to Lisp_Hash_Table.
10685
10686 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10687 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10688 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10689 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10690 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10691 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10692 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10693 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10694 (GC_EQ): Remove since they've been identical to their non-GC_
10695 alter-egos ever since the markbit was eradicated.
10696
10697 * alloc.c:
10698 * buffer.c:
10699 * buffer.h:
10700 * data.c:
10701 * fileio.c:
10702 * filelock.c:
10703 * fns.c:
10704 * frame.h:
10705 * lisp.h:
10706 * macterm.c:
10707 * print.c:
10708 * process.c:
10709 * w32fns.c:
10710 * w32menu.c:
10711 * w32term.c:
10712 * xfns.c:
10713 * xmenu.c:
10714 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10715
10716 2008-02-01 Kenichi Handa <handa@m17n.org>
10717
10718 * chartab.c (map_sub_char_table): Make it work for the top-level
10719 char-table. Fix handling of parent char-table.
10720 (map_char_table): Adjust for the above change.
10721
10722 2008-02-01 Jason Rumney <jasonr@gnu.org>
10723
10724 * w32font.c (Qgdi): Rename from Qw32.
10725
10726 2008-02-01 Jason Rumney <jasonr@gnu.org>
10727
10728 * w32bdf.c (get_quoted_string): Make function static.
10729
10730 2008-02-01 Kenichi Handa <handa@m17n.org>
10731
10732 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10733 bigger ascent and descent than those of the font, use them as
10734 font's ascent and descent.
10735
10736 2008-02-01 Kenichi Handa <handa@m17n.org>
10737
10738 * Makefile.in (${lispsource}international/charprop.el): Move this
10739 target within "#ifdef HAVE_UNIDATA" and "#endif".
10740
10741 2008-02-01 Kenichi Handa <handa@m17n.org>
10742
10743 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10744 (shortlisp): Add ../lisp/language/tai-viet.el.
10745
10746 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
10747
10748 * Makefile.in (${lispsource}international/charprop.el): Depend on
10749 temacs${EXEEXT}.
10750
10751 2008-02-01 Jason Rumney <jasonr@gnu.org>
10752
10753 * w32font.c (w32font_close): Delete the GDI font object.
10754
10755 * w32menu.c: Include character.h.
10756
10757 * w32proc.c: Likewise.
10758
10759 * w32select.c: Likewise.
10760
10761 * makefile.w32-in (w32proc.o): Depend on character.h.
10762
10763 2008-02-01 Jason Rumney <jasonr@gnu.org>
10764
10765 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10766
10767 * w32menu.c (syms_of_w32menu): Likewise.
10768
10769 * w32proc.c (syms_of_ntproc): Likewise.
10770
10771 * w32select.c (syms_of_w32select): Likewise.
10772
10773 * w32term.c (syms_of_w32term): Likewise.
10774
10775 2008-02-01 Jason Rumney <jasonr@gnu.org>
10776
10777 * w32font.c (w32font_draw): Delete brush after using it.
10778
10779 2008-02-01 Jason Rumney <jasonr@gnu.org>
10780
10781 * w32font.c (w32font_open): Don't set font_idx.
10782 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
10783 to font settings.
10784 (w32font_draw): Fill background explicitly.
10785
10786 2008-02-01 Jason Rumney <jasonr@gnu.org>
10787
10788 * w32term.c (w32_initialize): Don't call w32font_initialize.
10789
10790 * w32font.c (w32font_info): Remove subranges.
10791 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
10792 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
10793 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
10794 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
10795 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
10796 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
10797 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
10798 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
10799 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
10800 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
10801 New symbols.
10802 (font_callback_data): New struct.
10803 (w32font_list, w32font_match): Use it.
10804 (w32font_open): Don't populate subranges.
10805 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
10806 (w32font_encode_char): Always return unicode code-point as-is.
10807 (w32font_text_extents): Supply a transformation matrix to
10808 GetGlyphOutline. Never look up by glyph index. Avoid looping
10809 twice. Use unicode version of GetTexExtentPoint32 instead of
10810 glyph index version.
10811 (set_fonts_frame): Remove.
10812 (w32_enumfont_pattern_entity): Add frame parameter, use it to
10813 set frame parameter. Use backward compatible fake foundries.
10814 Save generic family in extra slot under QCfamily. Make width slot
10815 constant. Save QCspacing value. Save list of scripts instead of
10816 binary subranges.
10817 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
10818 (add_font_entity_to_list): Use font_callback_data struct. Filter
10819 unwanted fonts.
10820 (add_one_font_entity_to_list): Use font_callback_data struct.
10821 (w32_registry): Default to iso10646_1.
10822 (fill_in_logfont): Use dpi from extra slot. Don't bother with
10823 string font registries. Don't fill in font name if it is a generic
10824 family name, fill family instead. Use spacing, family and script
10825 extra info to fill pitch, family and charset fields.
10826 (list_all_matching_fonts): Use font_callback_data struct.
10827 (unicode_range_for_char): Remove.
10828 (font_supported_scripts): New function.
10829 (w32font_initialize): Remove.
10830 (syms_of_w32font): Update which symbols are defined.
10831
10832 2008-02-01 Jason Rumney <jasonr@gnu.org>
10833
10834 * font.c (font_pixel_size): Reverse assq_no_quit args.
10835
10836 * w32term.h (FONT_WIDTH): Report max width, not average.
10837 (FONT_MAX_WIDTH): Remove.
10838 (FONT_AVG_WIDTH): New macro.
10839
10840 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
10841 redefinition of FONT_WIDTH.
10842
10843 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
10844 (w32_cache_char_metrics): Use FONT_WIDTH.
10845
10846 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
10847
10848 2008-02-01 Jason Rumney <jasonr@gnu.org>
10849
10850 * w32font.c (w32font_open): Make lfHeight negative.
10851
10852 * w32fns.c (x_default_font_parameter): Use new style font name.
10853 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
10854
10855 2008-02-01 Jason Rumney <jasonr@gnu.org>
10856
10857 * w32font.c (QCsubranges): New symbol.
10858 (w32font_open, w32font_has_char): Get subranges from subproperty
10859 of extra.
10860 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
10861 (syms_of_w32font): Define :subranges symbol.
10862
10863 * font.c (font_put_extra): Expose externally.
10864
10865 * font.h (font_put_extra): Move declaration from font.c.
10866
10867 * font.c (Ffont_get): Use font driver to determine otf capability.
10868 (adjust_anchor): Check if driver defines anchor_point before using.
10869
10870 * w32font.c (w32font_open): Handle size, height and pixel_size better.
10871 (w32font_draw): Use options.
10872 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
10873 Fix detection of truetype fonts.
10874 (registry_to_w32_charset): Handle charsets other than iso8859-1
10875 expressed as lisp symbols.
10876 (w32_registry): Express charset as lisp symbol.
10877 (fill_in_logfont): Reverse pixel and point height logic.
10878 Don't set width here. Set quality to default.
10879
10880 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
10881 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
10882
10883 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10884 Remove redundant loop and allocation.
10885
10886 * makefile.w32-in (font.o, w32font.o): New objects.
10887 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
10888 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
10889
10890 * xdisp.c (fill_composite_glyph_string): Make the first arg to
10891 STORE_XCHARB a valid l-value.
10892
10893 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
10894 calculations for non-Truetype fonts.
10895 (x_draw_glyph_string): Sync with xterm.c.
10896 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10897 Remove redundant code.
10898 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
10899
10900 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
10901 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
10902
10903 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
10904 (x_to_w32_charset, w32_to_x_charset): Expose externally.
10905
10906 * w32font.c: New file for w32 font backend.
10907
10908 2008-02-01 Kenichi Handa <handa@m17n.org>
10909
10910 * term.c: Don't include "buffer.h" twice.
10911
10912 2008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * character.c (Funibyte_string): New function.
10915 (syms_of_character): Defsubr it.
10916
10917 2008-02-01 Jason Rumney <jasonr@gnu.org>
10918
10919 * w32term.c [USE_FONT_BACKEND]:
10920 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
10921 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
10922 (x_draw_glyph_string, x_draw_glyph_string_foreground)
10923 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
10924 (x_free_frame_resources): Sync with xterm.c.
10925
10926 2008-02-01 Andreas Schwab <schwab@suse.de>
10927
10928 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
10929 char-table size.
10930
10931 2008-02-01 Kenichi Handa <handa@m17n.org>
10932
10933 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
10934
10935 2008-02-01 Kenichi Handa <handa@m17n.org>
10936
10937 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
10938 font_otf_gpos, add font_drive_otf.
10939
10940 * fontset.c (fontset_find_font): Pay attention to font size
10941 specified for a font.
10942 (reorder_font_vector): Check contents of font_def.
10943
10944 * font.c (struct otf_list): Delete it.
10945 (otf_list): Make it a lisp variable.
10946 (otf_open): Use lispy otf_list.
10947 (generate_otf_features): Rename from parse_gsub_gpos_spec.
10948 (check_otf_features): New function.
10949 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
10950 New functions.
10951 (font_drive_otf): New function merging font_otf_gsub and
10952 font_otf_gpos.
10953 (font_open_for_lface): New arg spec. Change argument order.
10954 (font_load_for_face): Adjust for the change of font_open_for_lface.
10955 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
10956 Ffont_otf_gpos.
10957 (syms_of_font): Staticpro otf_list. Delete defsubr of
10958 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
10959
10960 * xfaces.c (set_font_frame_param): Adjust for the change of
10961 font_open_for_lface.
10962
10963 * font.h (font_open_for_lface): Adjust prototype.
10964 (struct font_driver): Delete members otf_gsub and otf_gpos, add
10965 member otf_drive.
10966 (font_otf_gsub, font_otf_gpos): Delete externs.
10967 (font_drive_otf): Extern it.
10968
10969 2008-02-01 Kenichi Handa <handa@m17n.org>
10970
10971 * font.c (font_at): If the window W is not on a window system,
10972 return Qnil.
10973
10974 * coding.c (produce_chars, encode_coding): Don't call
10975 insert_from_gap if no characters to produce.
10976
10977 2008-02-01 Kenichi Handa <handa@m17n.org>
10978
10979 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
10980 Fclear_face_cache.
10981
10982 * xfaces.c (face_for_font): Check also face->font==font->font.font.
10983
10984 2008-02-01 Miles Bader <miles@gnu.org>
10985
10986 * emacs.c (main): Change default value of `enable_font_backend' to 1.
10987 Parse "--disable-font-backend" option.
10988 (standard_args): Add "--disable-font-backend" option.
10989
10990 2008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * fontset.c (fontset_find_font): New function.
10993 (fontset_font): Use fontset_find_font.
10994 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
10995 Register the specified font for all Latin characters.
10996 (new_fontset_from_font): Register the specified font for all Latin
10997 characters.
10998 (dump_fontset): For a realized fontset, include the base fontset
10999 name in the returned vector.
11000
11001 2008-02-01 Kenichi Handa <handa@m17n.org>
11002
11003 * character.h (CHAR_STRING): Cast C to unsigned on calling
11004 char_string.
11005
11006 * character.c (char_string): Type of arg C changed to unsigned.
11007 Signal an error if C is an invalid character code.
11008
11009 * editfns.c (general_insert_function, Fchar_to_string):
11010 Use CHARACTERP, not INTEGERP.
11011
11012 2008-02-01 Kenichi Handa <handa@m17n.org>
11013
11014 * character.h (MIN_MULTIBYTE_LEADING_CODE)
11015 (MAX_MULTIBYTE_LEADING_CODE): New macros.
11016
11017 * regex.c (analyse_first): Fix for multibyte characters in "case
11018 charset:" and "case categoryspec:".
11019
11020 2008-02-01 Andreas Schwab <schwab@suse.de>
11021
11022 * Makefile.in (LIBES): Move standard libraries to the end.
11023
11024 2008-02-01 Kenichi Handa <handa@m17n.org>
11025
11026 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
11027 nonzero, don't shrink the buffer nextb.
11028
11029 * buffer.h (struct buffer_text): New member inhibit_shrinking.
11030
11031 * coding.c (coding_alloc_by_making_gap): New arg offset.
11032 (alloc_destination): Call coding_alloc_by_making_gap with the arg
11033 offset.
11034 (decode_coding_iso_2022): Update coding->safe_charsets.
11035 (decode_coding_gap): Temporarily set
11036 current_buffer->text->inhibit_shrinking to 1.
11037
11038 2008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
11041 indexing into elements of s->cmp and s->char2b.
11042
11043 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
11044
11045 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
11046
11047 2008-02-01 Kenichi Handa <handa@m17n.org>
11048
11049 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
11050 target_multibyte instead of multibyte.
11051 (re_match_2_internal): Call bcmp_translate with target_multibyte.
11052 (bcmp_translate): Change the argument name from multibyte to
11053 target_multibyte.
11054
11055 2008-02-01 Kenichi Handa <handa@m17n.org>
11056
11057 These changes are to compile a regexp into a pattern that can be
11058 used both for multibyte and unibyte targets.
11059
11060 * Makefile.in (search.o): Depend on charset.h.
11061
11062 * character.c (multibyte_char_to_unibyte_safe): New function.
11063
11064 * search.c: Include "charset.h".
11065 (compile_pattern_1): Delete argument multibyte. Don't set
11066 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
11067 (compile_pattern): Don't compare cp->buf.target_multibyte.
11068 Compare cp->buf.charset_unibyte.
11069 (compile_pattern): Set cp->buf.target_multibyte.
11070
11071 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
11072
11073 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
11074
11075 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
11076 multibyte. Change callers.
11077 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
11078 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
11079 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
11080 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
11081 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
11082 (regex_compile): Make the compiled pattern usable both for
11083 multibyte and unibyte targets.
11084 (analyse_first): Make the fastmap usable both for multibyte and
11085 unibyte targets.
11086 (TRANSLATE_VIA_MULTIBYTE): Delete.
11087 (re_match_2_internal): Pay attention to the case that the
11088 multibyteness of bufp and target may be different.
11089
11090 2008-02-01 Kenichi Handa <handa@m17n.org>
11091
11092 * xdisp.c (x_produce_glyphs): When a font is not found, make the
11093 empty box occupy at least one column width.
11094
11095 2008-02-01 Miles Bader <miles@gnu.org>
11096
11097 * Makefile.in: Remove redundant HAVE_XFT clause.
11098
11099 2008-02-01 Kenichi Handa <handa@m17n.org>
11100
11101 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
11102
11103 2008-02-01 Kenichi Handa <handa@m17n.org>
11104
11105 * fontset.c (Finternal_char_font): Fix for the case of POSITION
11106 being nil.
11107
11108 2008-02-01 Kenichi Handa <handa@m17n.org>
11109
11110 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
11111
11112 2008-02-01 Kenichi Handa <handa@m17n.org>
11113
11114 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
11115
11116 2008-02-01 Kenichi Handa <handa@m17n.org>
11117
11118 * search.c (simple_search): Fix previous change.
11119
11120 2008-02-01 Kenichi Handa <handa@m17n.org>
11121
11122 * xftfont.c (ftfont_font_format): Extern declaration.
11123
11124 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
11125
11126 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
11127 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
11128
11129 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
11130 (ftfont_font_format): Fix previous change.
11131
11132 * font.h (Ffont_xlfd_name): EXFUN it.
11133
11134 * font.c (font_parse_xlfd): Fix the array size of `f'.
11135 (register_font_driver): Use EQ to compare driver->type.
11136
11137 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
11138 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
11139 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
11140
11141 2008-02-01 Kenichi Handa <handa@m17n.org>
11142
11143 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
11144 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
11145
11146 2008-02-01 Kenichi Handa <handa@m17n.org>
11147
11148 * xfont.c (xfont_open): Set font->format.
11149
11150 * xftfont.c (xftfont_open): Set font->format.
11151
11152 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
11153 (ftfont_list): Include FC_FONTFORMAT in FcObject.
11154 (ftfont_open): Set font->format.
11155 (ftfont_font_format): New function.
11156
11157 * font.h (struct font): New member format.
11158
11159 * font.c (Qopentype): New variable.
11160 (syms_of_font): Defsym it.
11161 (Fquery_font): Change the format of the last element of the return
11162 value.
11163
11164 2008-02-01 Kenichi Handa <handa@m17n.org>
11165
11166 * xfns.c (xic_create_xfontset): Try the default fontset name as a
11167 last resort.
11168
11169 2008-02-01 Kenichi Handa <handa@m17n.org>
11170
11171 * coding.c (detect_coding_charset): Fix detection of multi-byte
11172 charset.
11173
11174 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
11175
11176 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
11177
11178 2008-02-01 Kenichi Handa <handa@m17n.org>
11179
11180 * xdisp.c (get_next_display_element): Set it->face_id for the
11181 first component of a composition.
11182 (x_produce_glyphs): Check if the font is changed or not for composition.
11183
11184 2008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * fontset.c (Qlatin): New variable.
11187 (syms_of_fontset): Define it as a lisp symbol.
11188 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
11189
11190 2008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * font.c (font_unparse_fcname): Pay attention to the case that
11193 some of font property is a null string.
11194
11195 2008-02-01 Kenichi Handa <handa@m17n.org>
11196
11197 * term.c: Include "composite.h".
11198 (encode_terminal_code): Output all components of composition.
11199 Check the size of encode_terminal_src.
11200 (produce_glyphs): For composition, call produce_composite_glyph.
11201 (append_composite_glyph, produce_composite_glyph): New functions.
11202
11203 * xdisp.c (x_produce_glyphs): In handling composition, if a font
11204 is not found, get font_info from the current ascii face.
11205
11206 2008-02-01 Kenichi Handa <handa@m17n.org>
11207
11208 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
11209 buffer-file-name to Qnil before calling insert_from_buffer.
11210
11211 * font.c (font_unparse_fcname): Pay attention to the case that
11212 foundry is a null string.
11213
11214 2008-02-01 Kenichi Handa <handa@m17n.org>
11215
11216 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
11217
11218 * font.c (Qunicode_sip): New variable.
11219 (syms_of_font): Declare it as a Lisp symbol.
11220
11221 * font.h (Qunicode_sip): Extern it.
11222
11223 2008-02-01 Kenichi Handa <handa@m17n.org>
11224
11225 * composite.c (get_composition_id): Pay attention to TAB component.
11226
11227 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
11228 TAB. Adjust for the change of s->char2b which always points to
11229 the first element of allocated memory.
11230
11231 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
11232
11233 * xdisp.c (handle_composition_prop): Set it->c to the first
11234 non-TAB component.
11235 (fill_composite_glyph_string): Change argument.
11236 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
11237 (x_produce_glyphs): Fix handling of left/right padding.
11238
11239 2008-02-01 Kenichi Handa <handa@m17n.org>
11240
11241 * coding.c (detect_coding_system): Fix for handling off
11242 inhibit_iso_escape_detection. Fix for the case that no coding
11243 system is defined for a specific coding category.
11244
11245 2008-02-01 Kenichi Handa <handa@m17n.org>
11246
11247 * font.c (font_matching_entity): Delete unused local var.
11248
11249 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
11250 opening a font.
11251
11252 * fileio.c (Finsert_file_contents): On recovering a file, assume
11253 Unix-like eol.
11254 (choose_write_coding_system): On auto-saving a file, force
11255 Unix-like eol.
11256
11257 * coding.c (setup_coding_system): Fix setting of
11258 coding->common_flags based on eol_type.
11259 (coding_inherit_eol_type): If PARENT is not nil, be sure to
11260 inherit from it.
11261
11262 2008-02-01 Kenichi Handa <handa@m17n.org>
11263
11264 * alloc.c (NSTATICS): Increas to 0x600.
11265
11266 2008-02-01 Kenichi Handa <handa@m17n.org>
11267
11268 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
11269 (ftfont_list): Don't check :name property.
11270 (ftfont_match): New function.
11271 (ftfont_pattern_entity): If the pattern doesn't contain
11272 FC_SPACING, don't assume FC_MONO.
11273
11274 * font.h (struct font_driver): New member `match'.
11275 (font_update_drivers): Adjust prototype.
11276
11277 * font.c (font_parse_fcname, font_parse_name): Don't change :name
11278 property of FONT.
11279 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
11280 them unconditionally.
11281 (font_matching_entity): New function.
11282 (font_open_by_name): Try font_matching_entity if exact match is
11283 not found.
11284 (font_update_drivers): Delete the arg FONT. Return a list of
11285 actually used backends. Don't free faces, font caches here.
11286 Don't store data in frame parameters. Don't call x_set_font.
11287 (Ffont_spec): Store :name property as is.
11288 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
11289 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
11290 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
11291 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
11292 Call font->driver->otf_gsub instead of font_otf_gsub.
11293
11294 * frame.c (x_set_font_backend): Do more works that were done in
11295 font_update_drivers before.
11296
11297 * xfont.c (xfont_match): New function.
11298 (xfont_driver): Set xfont_driver.match to xfont_match.
11299 (xfont_draw): Set font in GC if necessary.
11300
11301 * ftxfont.c (ftxfont_match): New function.
11302 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
11303
11304 * xftfont.c (xftfont_match): New function.
11305 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
11306
11307 2008-02-01 Kenichi Handa <handa@m17n.org>
11308
11309 * font.h (struct font): New member scalable.
11310 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
11311 (font_otf_gsub): Adjust prototype.
11312
11313 * font.c (font_otf_capability): Fix handling of the default langsys.
11314 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
11315 Check the contents of SPEC.
11316 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
11317 (check_gstring): New function.
11318 (REPLACEMENT_CHARACTER): New macro.
11319 (font_otf_gsub): New arg alternate_subst. Be sure to set all
11320 glyph codes of GSTRING.
11321 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
11322 (font_prepare_composition): Set cmp->glyph_len.
11323 (font_open_entity): Set font->scalable.
11324 (Ffont_get): Handle :otf property.
11325 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
11326 functions.
11327 (Fquery_font): Use font->font.full_name.
11328 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
11329 Sfont_otf_alternates.
11330
11331 * ftfont.c (ftfont_open): Set font->font.full_name and
11332 font->font.name properly. Fix calculation of font->font.height
11333 and font->min_width.
11334
11335 * ftxfont.c (ftxfont_create_gcs): New function.
11336 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
11337 (ftxfont_draw_backgrond): Fix filling region.
11338 (ftxfont_default_fid): New function.
11339 (ftxfont_open): Set xfont->fid to the return value of
11340 ftxfont_default_fid.
11341 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
11342 (ftxfont_done_face): Free only GCs that are created by
11343 ftxfont_create_gcs.
11344 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
11345
11346 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
11347 Clip to src->width, etc (not src->clip_XXX).
11348
11349 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
11350 FontBackend frame parameter.
11351
11352 2008-02-01 Kenichi Handa <handa@m17n.org>
11353
11354 * font.h (struct font_driver_list): New member `on'.
11355 (Fclear_font_cache): EXFUN it.
11356 (font_update_drivers): Extern it.
11357
11358 * font.c (font_unparse_fcname): Fix typo (swidth->width).
11359 (font_list_entities): Check driver_list->on.
11360 (register_font_driver): Initalize `on' member to 0.
11361 (font_update_drivers): New function.
11362 (Fclear_font_cache): Check driver_list->on.
11363
11364 * frame.h (Qfont_backend): Extern it.
11365 (x_set_font_backend): Extern it.
11366
11367 * frame.c (Qfont_backend): New variable.
11368 (frame_parms): New element for font-backend.
11369 (x_set_font_backend): New function.
11370
11371 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
11372 FontBackend frame parameter.
11373 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
11374 x_set_font_backend.
11375
11376 * xfont.c (xfont_list): Don't try listing by :name property if the
11377 name is not for XLFD.
11378
11379 2008-02-01 Kenichi Handa <handa@m17n.org>
11380
11381 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
11382 (LGLYPH_SET_TO): New macros.
11383 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
11384 element of G is vector or not.
11385 (font_at): Extern it.
11386
11387 * font.c: Include window.h.
11388 (font_lispy_object): New function.
11389 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
11390 end of valid glyph.
11391 (font_close_object): Fix getting (struct font *).
11392 (font_at): New function.
11393 (Ffont_get): If FONT is a font-object, get entity from it.
11394 (Ffont_make_gstring): Initialize elements of glyphs with nil.
11395 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
11396 range check.
11397 (Ffont_at): New function.
11398 (syms_of_font): Defsubr Sfont_at.
11399
11400 * xdisp.c (it_props): Move the entry for Qauto_composed to just
11401 before the entry for Qcomposition.
11402 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
11403 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
11404 the font in gstring.
11405 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
11406 LGLYPH_FORM (g) to detect the end of valid glyph.
11407 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
11408 we are composing with gstring.
11409
11410 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
11411 Check if adjustment is vector or not.
11412
11413 * Makefile.in (font.o): Make it depends on window.h.
11414
11415 2008-02-01 Kenichi Handa <handa@m17n.org>
11416
11417 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
11418 adjustment is vector or not.
11419
11420 2008-02-01 Miles Bader <miles@gnu.org>
11421
11422 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
11423
11424 2008-02-01 Kenichi Handa <handa@m17n.org>
11425
11426 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
11427 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
11428 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
11429
11430 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
11431 (DEVICE_DELTA): Fix typo.
11432 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
11433 LGLYPH format.
11434
11435 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11436 the change of LGLYPH format.
11437
11438 2008-02-01 Kenichi Handa <handa@m17n.org>
11439
11440 * ftfont.c (ftfont_list): Fix typo.
11441 (ftfont_build_basic_charsets): Don't include letters with diacritics.
11442
11443 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11444
11445 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
11446
11447 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
11448 xftface_info is non-NULL.
11449
11450 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11451
11452 * ftfont.c (ftfont_list): Move misplaced #endif.
11453
11454 2008-02-01 Kenichi Handa <handa@m17n.org>
11455
11456 * ftfont.c (ftfont_list): Pay attention to the case that
11457 FC_CAPABILITY is not defined.
11458
11459 2008-02-01 Kenichi Handa <handa@m17n.org>
11460
11461 * xftfont.c (xftfont_open): Set charset related members to -1.
11462
11463 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
11464 QCname.
11465 (ftfont_open): Set charset related members to -1.
11466
11467 * fontset.c (Votf_script_alist): New variable.
11468 (syms_of_fontset): Initialize it.
11469 (fontset_font): Delete unused variable.
11470
11471 * fontset.h (Votf_script_alist): Extern it.
11472
11473 * font.c (font_find_for_lface): Optimize code.
11474
11475 * font.h (font_close_object, font_merge_old_spec): Extern them.
11476
11477 2008-02-01 Kenichi Handa <handa@m17n.org>
11478
11479 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
11480 (syms_of_font): Initialize them.
11481 (font_pixel_size): Allow float value in dpi.
11482 (font_prop_validate_type): Delete.
11483 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
11484 Change caller.
11485 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
11486 (font_prop_validate_extra): Delete.
11487 (font_prop_validate_spacing): New function.
11488 (font_property_table): Add elements for all known properties.
11489 (get_font_prop_index): Rename from check_font_prop_name. New
11490 argument FROM. Change caller.
11491 (font_prop_validate): Validate all known properties.
11492 (font_put_extra): Delete argument force. Change caller.
11493 (font_expand_wildcards): Make it static. Fix the way of shrinking
11494 the possible range.
11495 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
11496 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
11497 Change caller.
11498 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
11499 (font_parse_fcname): Delete argument merge. Fix parsing of point
11500 size. Don't validate properties values here. Change caller.
11501 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
11502 (font_open_by_name): Delete unused variable.
11503 (Ffont_spec): Likewise. Validate property values.
11504 (Ffont_match_p): New function.
11505
11506 * font.h (QCscalable): Extern it.
11507 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
11508
11509 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
11510
11511 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
11512 (xfont_list_pattern): New function.
11513 (xfont_list): Use xfont_list_pattern.
11514
11515 2008-02-01 Kenichi Handa <handa@m17n.org>
11516
11517 * font.h (Flist_fonts): EXFUN it.
11518
11519 2008-02-01 Jason Rumney <jasonr@gnu.org>
11520
11521 * w32term.c (w32_initialize): Add back smoothing_type and
11522 smoothing_enabled definitions.
11523
11524 2008-02-01 Kenichi Handa <handa@m17n.org>
11525
11526 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
11527 s->face->font on determining underline position.
11528
11529 2008-02-01 Kenichi Handa <handa@m17n.org>
11530
11531 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
11532 (font_has_char): Accept font-object too.
11533 (font_find_for_lface): Try at first with a size specified in face.
11534
11535 2008-02-01 Kenichi Handa <handa@m17n.org>
11536
11537 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
11538 font_open_by_name.
11539
11540 2008-02-01 Kenichi Handa <handa@m17n.org>
11541
11542 * font.h (QCspacing, QCdpi): Extern them.
11543 (enum font_spacing): New enum.
11544 (FONT_PIXEL_SIZE_QUANTUM): New macro.
11545
11546 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
11547 (QCspacing, QCdpi): New variables.
11548 (syms_of_font): Initialize them.
11549 (font_pixel_size): New function.
11550 (font_put_extra): New function.
11551 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
11552 in FONT_EXTRA.
11553 (font_parse_fcname): Handle enumerated values (e.g. bold).
11554 Fix handling font size. Add QCname property that contains only
11555 unknown properties.
11556 (font_score): Change argument. Change caller. Pay attention to
11557 FONT_PIXEL_SIZE_QUANTUM.
11558 (font_sort_entites, font_list_entities, font_find_for_lface)
11559 (font_open_for_lface, font_open_by_name): Fix handling of font size.
11560 (Ffont_spec): Add QCname property that contains only unknown properties.
11561
11562 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
11563 include weight in listing pattern, instead check weight of each
11564 listed font. Don't include scalable in pattern. Pay attention to
11565 FONT_PIXEL_SIZE_QUANTUM.
11566
11567 2008-02-01 Kenichi Handa <handa@m17n.org>
11568
11569 * font.c (font_parse_fcname): Fix parsing of point-size.
11570 (font_unparse_fcname): Produce symbolic names for style properties.
11571 (font_list_entities): Handle float size correctly.
11572 (font_open_by_name): Prefer `normal' property values if the name
11573 doesn't specify them.
11574
11575 * fontset.c (Finternal_char_font): Use font_get_name, not
11576 Ffont_xlfd_name.
11577
11578 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
11579 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
11580 pattern. Don't force scalable.
11581
11582 * xftfont.c (xftfont_open): For generating a name, start from
11583 96-byte buffer.
11584
11585 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11586
11587 * frame.h (x_new_fontset2): Fix prototype.
11588
11589 2008-02-01 Kenichi Handa <handa@m17n.org>
11590
11591 * font.h (struct font_driver): Delete member parse_name.
11592 (font_match_p, font_get_spec, font_parse_fcname)
11593 (font_unparse_fcname): Extern them.
11594 (font_get_name): Adjust prototype.
11595
11596 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
11597 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
11598 (font_expand_wildcards): Fix handling ENCODING field. Avoid
11599 unnecessary checks for weight, slant, and swidth.
11600 (font_parse_fcname): New function.
11601 (font_unparse_fcname): New function.
11602 (font_parse_name): New function.
11603 (font_match_p): New function.
11604 (font_get_name): Change return value to Lisp string.
11605 (font_get_spec): New function.
11606 (Qunspecified, Qignore_defface): Don't extern them.
11607 (font_find_for_lface): Assume that LFACE is fully specified.
11608 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
11609 object, use it for FACE.
11610 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
11611 driver->parse_name.
11612 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
11613
11614 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
11615 prototype.
11616
11617 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
11618 argument F. Don't call Fnew_fontset. Instead, directly call
11619 make_fontset.
11620
11621 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
11622
11623 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
11624 of x_new_fontset2.
11625
11626 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
11627 (Qsans__serif): New variables.
11628 (ftfont_generic_family_list): New variable.
11629 (syms_of_ftfont): Initialize the above variables.
11630 (ftfont_pattern_entity): Delete argument NAME.
11631 (ftfont_list_generic_family): New function.
11632 (ftfont_parse_name): Delete this function.
11633 (ftfont_list): Try generic family only when FcFontList found no font.
11634 (ftfont_list_family): Fix args to FcObjectSetBuild.
11635
11636 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
11637 object in attrs[LFACE_FONT_INDEX].
11638 (set_lface_from_font_name): Cancel all changes for font-backend.
11639 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
11640 function.
11641 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
11642 font object in QCfont attribute.
11643 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
11644 (realize_default_face) [USE_FONT_BACKEND]: Call
11645 set_lface_from_font_and_fontset.
11646
11647 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
11648 "fixed", and signal error here if no suitable font was found.
11649
11650 * xfont.c (xfont_parse_name): Delete this function.
11651
11652 * xftfont.c (xftfont_open): Change coding style of error
11653 handling. Generate fontconfig's fontname pattern.
11654
11655 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
11656 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
11657
11658 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
11659 Both args FONTSET and FONT_OBJECT must be existing ones.
11660
11661 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11662
11663 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
11664
11665 2008-02-01 Kenichi Handa <handa@m17n.org>
11666
11667 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11668
11669 * font.h (struct font): Fix typo.
11670
11671 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11672 XLFD_XXX_INDEX.
11673 (enum xlfd_field_mask): New enum.
11674 (intern_font_field): Changed argument. Change caller. If digits
11675 are followed by non-digits, return a symbol.
11676 (font_expand_wildcards): New function.
11677 (font_parse_xlfd): Fix wildcard handling.
11678 (Ffont_spec): If :name is specified, reflect the info in the other
11679 properties.
11680
11681 * ftfont.c (ftfont_pattern_entity): Fix typo.
11682 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11683 locale.
11684
11685 2008-02-01 Kenichi Handa <handa@m17n.org>
11686
11687 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11688
11689 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11690 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11691 registry doesn't specify encoding part.
11692 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11693 (font_open_by_name): At first try parsing the name.
11694 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11695 as Lisp symbols.
11696
11697 * fontset.c (reorder_font_vector): Pay attention to the case that
11698 the 3rd element of font_def is nil.
11699 (fontset_font): For the default fontset, append one more fontset
11700 elements for a script-based font specification. Don't add script
11701 attribute on finding a font.
11702 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11703 font name.
11704 (fontset_ascii_font): If a font can't be opened, return nil.
11705
11706 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11707 (ftfont_pattern_entity): New function.
11708 (ftfont_get_cache): Assume that freetype_font_cache is already
11709 initialized.
11710 (ftfont_list): Handle the case that a file is specified in font
11711 name. Use ftfont_pattern_entity to generate entities.
11712 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11713 (syms_of_ftfont): Initialize freetype_font_cache.
11714
11715 * xftfont.c (xftfont_open): Make the font name fontconfig's
11716 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11717 (xftfont_close): Free font->font.name if not NULL.
11718
11719 * xfont.c (xfont_list): If script is specified for a font, return
11720 null_vector.
11721 (xfont_list_family): Declare argument type.
11722
11723 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11724 name, set LFACE_FONT (lface) to nil.
11725
11726 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11727 return Qnil.
11728
11729 2008-02-01 Kenichi Handa <handa@m17n.org>
11730
11731 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11732 (standard_args): Add "-enable-font-backend".
11733
11734 2008-02-01 Kenichi Handa <handa@m17n.org>
11735
11736 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11737 (struct xftdraw_list, xftdraw_list): Delete them.
11738 (register_xftdraw, check_xftdraw): Delete them.
11739 (xftfont_prepare_face): Don't call register_xftdraw.
11740 (xftfont_done_face): Don't call check_xftdraw.
11741 (xftfont_draw): Get background color only when with_background is
11742 nonzero.
11743
11744 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11745
11746 2008-02-01 Kenichi Handa <handa@m17n.org>
11747
11748 These changes are for the new font handling codes.
11749
11750 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11751 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11752 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11753 (FONTSRC, FONTOBJ): New variables.
11754 (obj): Add $(FONTOBJ).
11755 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11756 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11757 @LIBOTF_LIBS@.
11758 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11759 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11760
11761 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11762
11763 * character.h (Vscript_representative_chars): Extern it.
11764
11765 * character.c (Vscript_representative_chars): New variable.
11766 (syms_of_character): Declare it as a Lisp variable.
11767
11768 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
11769 enable_font_backend is nonzero, accept the composition method
11770 COMPOSITION_WITH_GLYPH_STRING.
11771
11772 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
11773 enumeration COMPOSITION_WITH_GLYPH_STRING.
11774
11775 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
11776 members clip_x, clip_y, clip_width, and clip_height.
11777 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
11778
11779 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
11780 --enable-font-backend. Call syms_of_font.
11781
11782 * fns.c (assoc_no_quit): New function.
11783
11784 * fontset.h (FONT_INFO_FROM_FACE): New macro.
11785 (face_for_font, new_fontset_from_font)
11786 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
11787
11788 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
11789 (fontset_font, fontset_ascii, face_for_char)
11790 (make_fontset_for_ascii_face, Ffont_info)
11791 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
11792 is nonzero, use font-backend mechanism.
11793 (find_font_encoding): Make it non-static.
11794 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
11795 New functions.
11796
11797 * frame.h (struct frame): New members resx and resy.
11798 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
11799 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
11800
11801 * frame.c [USE_FONT_BACKEND]: Include "font.h".
11802 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
11803
11804 * lisp.h (assoc_no_quit): Extern it.
11805
11806 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
11807 Through out the file, use FONT_INFO_FROM_FACE instead of
11808 FONT_INFO_FROM_ID, use get_per_char_metric instead of
11809 rif->per_char_metric.
11810 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
11811 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
11812 (get_glyph_face_and_encoding, fill_composite_glyph_string)
11813 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11814 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
11815 nonzero, use font-backend mechanism.
11816 (get_per_char_metric): New function.
11817
11818 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
11819 (set_lface_from_font_name)
11820 (set_font_frame_param, free_realized_face)
11821 (prepare_face_for_display, clear_face_gcs)
11822 (Finternal_set_font_selection_order, realize_x_face)
11823 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
11824 font-backend mechanism.
11825 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
11826 (load_face_font) [USE_FONT_BACKEND]: Abort.
11827 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
11828 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
11829
11830 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
11831 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
11832 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
11833 nonzero, register all available font drivers. Call
11834 x_default_font_parameter for deciding a font.
11835 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
11836
11837 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
11838 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
11839 (x_set_glyph_string_clipping_exactly)
11840 (x_compute_glyph_string_overhangs)
11841 (x_draw_glyph_string_foreground)
11842 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
11843 (x_free_frame_resources) [USE_FONT_BACKEND]: If
11844 enable_font_backend is nonzero, use font-backend mechanism.
11845 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
11846
11847 2008-02-01 Kenichi Handa <handa@m17n.org>
11848
11849 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
11850 system_eol_type.
11851 (syms_of_coding): Initialize system_eol_type.
11852
11853 * process.c (Fset_process_coding_system): Inherit system's eol
11854 format if necessary.
11855
11856 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11857
11858 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
11859
11860 2008-02-01 Kenichi Handa <handa@m17n.org>
11861
11862 * coding.c (decode_eol): Pay attention to buffer relocation in
11863 del_range_2.
11864 (decode_coding): Call decode_eol before restoring undo_list.
11865
11866 2008-02-01 Kenichi Handa <handa@m17n.org>
11867
11868 * charset.c (Fdefine_charset_internal): Fix setting of
11869 emacs_mule_bytes.
11870
11871 2008-02-01 Kenichi Handa <handa@m17n.org>
11872
11873 * keyboard.c (read_char): Check if C is a character or not before
11874 looking up Vkeyboard_translate_table.
11875
11876 2008-02-01 Kenichi Handa <handa@m17n.org>
11877
11878 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
11879 condition to terminate the loop.
11880
11881 2008-02-01 Kenichi Handa <handa@m17n.org>
11882
11883 * coding.c (produce_composition): Compare charbuf[i] instead of
11884 args[i] against 0.
11885 (Fterminal_coding_system): Use EQ to compare Lisp objects.
11886
11887 2008-02-01 Kenichi Handa <handa@m17n.org>
11888
11889 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
11890 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
11891 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
11892 detect_coding.
11893 (emacs_mule_char): Handle old style (Emacs 20) component character
11894 of a composition.
11895 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
11896 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
11897 composition rule.
11898 (decode_coding_emacs_mule): Handle invalid bytes correctly.
11899
11900 2008-02-01 Kenichi Handa <handa@m17n.org>
11901
11902 * coding.c (encode_coding_ccl): Allocate destination dynamically
11903 when necessary.
11904
11905 2008-02-01 Kenichi Handa <handa@m17n.org>
11906
11907 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
11908 the loop. When quitted, show a proper error message.
11909
11910 2008-02-01 Kenichi Handa <handa@m17n.org>
11911
11912 * xterm.c (x_set_glyph_string_clipping_exactly): Set
11913 src->clip_head and src->clip_tail temporarily instead of src->hl.
11914
11915 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
11916 character sequence.
11917 (Fccl_execute_on_string): Use ASET, not XSET.
11918
11919 2008-02-01 Kenichi Handa <handa@m17n.org>
11920
11921 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
11922
11923 2008-02-01 Kenichi Handa <handa@m17n.org>
11924
11925 * coding.c (decode_coding): Fix the condition of terminating the
11926 decoding loop.
11927
11928 2008-02-01 Kenichi Handa <handa@m17n.org>
11929
11930 * data.c (Faset): On setting a character bigger than 255 in a
11931 unibyte string, signal an error instead of make the string multibyte.
11932
11933 2008-02-01 Kenichi Handa <handa@m17n.org>
11934
11935 * charset.c (map_charset_chars): Fix for ascii-compatible charset
11936 made by a mapping table.
11937
11938 2008-02-01 Kenichi Handa <handa@m17n.org>
11939
11940 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
11941 not.
11942 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
11943 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
11944
11945 * xterm.c (x_draw_composite_glyph_string_foreground): Check
11946 s->face is NULL or not.
11947
11948 2008-02-01 Kenichi Handa <handa@m17n.org>
11949
11950 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
11951 (x_draw_glyph_string): Fix drawing of right_overhang and
11952 left_overhang around/on cursor.
11953
11954 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
11955
11956 2008-02-01 Kenichi Handa <handa@m17n.org>
11957
11958 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
11959
11960 2008-02-01 Kenichi Handa <handa@m17n.org>
11961
11962 * coding.c (Fdefine_coding_system_internal)
11963 (Fdefine_coding_system_alias): Avoid a duplicated element in
11964 Vcoding_system_alist.
11965
11966 2008-02-01 Kenichi Handa <handa@m17n.org>
11967
11968 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
11969
11970 * coding.c (Qcoding_system_define_form): New variable.
11971 (syms_of_coding): Intern and staticpro it.
11972 (Fcoding_system_p): Check Qcoding_system_define_form.
11973 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
11974
11975 * coding.h (CODING_SYSTEM_P): If ID is not available, call
11976 Fcoding_system_p.
11977 (CHECK_CODING_SYSTEM): If ID is not available, call
11978 Fcheck_coding_system.
11979 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
11980 Try also Fcheck_coding_system.
11981
11982 2008-02-01 Kenichi Handa <handa@m17n.org>
11983
11984 * coding.c (code_conversion_restore): GCPRO arg.
11985
11986 2008-02-01 Kenichi Handa <handa@m17n.org>
11987
11988 * character.c (lisp_string_width): Check multibyteness of STRING.
11989
11990 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11991
11992 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
11993 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
11994 (decode_mac_font_name): Use decode_coding_c_string instead of
11995 decode_coding.
11996 (x_load_font): Initialize fontp->fontset to -1. Set
11997 fontp->encoding_type.
11998
11999 2008-02-01 Kenichi Handa <handa@m17n.org>
12000
12001 * search.c (search_buffer): Give up BM search on case-fold-search
12002 if one of a target character has a case-equivalence of different
12003 byte length even if that target charcter is an ASCII.
12004 (simple_search): Fix calculation of byte length of matched text.
12005 (boyer_moore): Fix handling of case-equivalent multibyte characters.
12006
12007 2008-02-01 Kenichi Handa <handa@m17n.org>
12008
12009 * coding.c (decode_coding): Fix handling of invalid bytes.
12010
12011 2008-02-01 Kenichi Handa <handa@m17n.org>
12012
12013 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
12014 Unicode characters.
12015
12016 2008-02-01 Kenichi Handa <handa@m17n.org>
12017
12018 * coding.c (encode_coding_object): If a pre-write-conversion
12019 function makes a new buffer, kill it.
12020
12021 2008-02-01 Kenichi Handa <handa@m17n.org>
12022
12023 * coding.c (QCascii_compatible_p): New variable.
12024 (syms_of_coding): Initialize it.
12025 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
12026 calling string_char.
12027 (record_conversion_result): Add `default:' case.
12028 (coding_charset_list): Delete unused variable `coding_type'.
12029 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
12030 property in the plist of the coding system.
12031 (Fcoding_system_put): Check QCascii_compatible_p.
12032
12033 2008-02-01 Miles Bader <miles@gnu.org>
12034
12035 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
12036 removed calculation of frame `f', as it's now used.
12037
12038 2008-02-01 Kenichi Handa <handa@m17n.org>
12039
12040 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
12041 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
12042 (UNIDATA): New variable.
12043 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
12044 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
12045 $(RUN_TEMACS) unconditionally.
12046
12047 2008-02-01 Kenichi Handa <handa@m17n.org>
12048
12049 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
12050 (admindir): New variable.
12051 ($(lispsource)international/charprop.el): New target.
12052
12053 2008-02-01 Miles Bader <miles@gnu.org>
12054
12055 * character.c (chars-in-region): Remove obsolete function.
12056 (syms_of_character): Remove its initialization.
12057
12058 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
12059
12060 * w32select.c (validate_coding_system)
12061 (setup_windows_coding_system): New functions.
12062 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
12063 setup_windows_coding_system.
12064 (setup_config, Fw32_get_clipboard_data): Use
12065 validate_coding_system.
12066 (Fx_selection_exists): Move call to setup_config to a place
12067 where signals are allowed.
12068
12069 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
12070 (Fcheck_coding_system): Add declarations.
12071
12072 2008-02-01 Kenichi Handa <handa@m17n.org>
12073
12074 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
12075
12076 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12077
12078 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
12079 string as the second argument for x_new_fontset.
12080
12081 2008-02-01 Kenichi Handa <handa@m17n.org>
12082
12083 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
12084 (encode_coding_object): Use safe_call instead of call2.
12085
12086 2008-02-01 Kenichi Handa <handa@m17n.org>
12087
12088 * fontset.c (Fset_fontset_font): Check family element of a given vector.
12089
12090 * Makefile.in (lisp): Include charprop.el.
12091
12092 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12093
12094 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
12095 Not sure if it's unnecessary.
12096
12097 2008-02-01 Steven Tamm <steventamm@mac.com>
12098
12099 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
12100 some possibly unnecessary fontset checking code that crashed
12101 when creating a new frame.
12102
12103 2008-02-01 Kenichi Handa <handa@m17n.org>
12104
12105 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
12106 lookup_face.
12107
12108 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
12109
12110 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
12111
12112 2008-02-01 Kenichi Handa <handa@m17n.org>
12113
12114 * coding.c: Cancel the change done in HEAD on 2008-02-01.
12115 (coding_charset_list): New function.
12116
12117 * coding.h (coding_charset_list): Extern it.
12118
12119 2008-02-01 Kenichi Handa <handa@m17n.org>
12120
12121 * fontset.c (Fset_fontset_font): Call find_font_encoding with
12122 concatenation of family and registry.
12123
12124 2008-02-01 Kenichi Handa <handa@m17n.org>
12125
12126 * character.h (BYTE8_STRING): Fix typo.
12127
12128 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
12129 string to multibyte (sync to HEAD).
12130
12131 * casefiddle.c (casify_region): Handle changes in byte-length
12132 using replace_range_2 (sync to HEAD).
12133
12134 2008-02-01 Andreas Schwab <schwab@suse.de>
12135
12136 * chartab.c (map_char_table): GCPRO table and arg.
12137
12138 2008-02-01 Kenichi Handa <handa@m17n.org>
12139
12140 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
12141 already at limit.
12142
12143 2008-02-01 Kenichi Handa <handa@m17n.org>
12144
12145 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
12146 instead of fast_c_string_match_ignore_case.
12147 (find_font_encoding): Change argument to Lisp_Object. Use
12148 fast_string_match_ignore_case instead of
12149 fast_c_string_match_ignore_case. Change caller.
12150
12151 2008-02-01 Kenichi Handa <handa@m17n.org>
12152
12153 * xdisp.c (get_next_display_element): In unibyte case, decide to
12154 display in octal form by checking a character by
12155 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
12156
12157 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
12158
12159 * character.c (unibyte_has_multibyte_table): New variable.
12160
12161 * character.h (unibyte_has_multibyte_table): Extern it.
12162 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
12163
12164 2008-02-01 Kenichi Handa <handa@m17n.org>
12165
12166 * coding.c (encode_coding_iso_2022): Fix handling of charset
12167 annotation.
12168
12169 2008-02-01 Kenichi Handa <handa@m17n.org>
12170
12171 * coding.c (setup_coding_system): If coding_system is nil, use
12172 Qundecided.
12173 (Fterminal_coding_system): Return nil if terminal coding system is
12174 `undecided'.
12175 (syms_of_coding): Define coding-system `undecided' here. Setup
12176 terminal_coding as `undecided'.
12177
12178 2008-02-01 Kenichi Handa <handa@m17n.org>
12179
12180 * xdisp.c (message_dolog, set_message_1): Call
12181 unibyte_char_to_multibyte with arg type int.
12182
12183 * lread.c (read1): Fix reading of a char-table.
12184
12185 * print.c (print_object): Include sub char-table in circularities
12186 detection.
12187
12188 2008-02-01 Kenichi Handa <handa@m17n.org>
12189
12190 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
12191 Append the found sequences in car of ARGS instead of prepending.
12192
12193 2008-02-01 Kenichi Handa <handa@m17n.org>
12194
12195 * fileio.c (report_file_error): Make a unibyte string from
12196 strerror (errorno).
12197 (Fsubstitute_in_file_name): Fix the arg to
12198 unibyte_char_to_multibyte. It is evaluated twice.
12199
12200 2008-02-01 Kenichi Handa <handa@m17n.org>
12201
12202 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
12203
12204 2008-02-01 Kenichi Handa <handa@m17n.org>
12205
12206 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
12207 BOM is not found.
12208 (detect_coding, detect_coding_system): Optimization for ISO-2022
12209 when no 8-bit data is found.
12210
12211 2008-02-01 Jason Rumney <jasonr@gnu.org>
12212
12213 * w32fns.c (x_to_w32_font): Update to use new coding struct.
12214
12215 2008-02-01 Kenichi Handa <handa@m17n.org>
12216
12217 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
12218 CHARS.
12219
12220 2008-02-01 Steven Tamm <steventamm@mac.com>
12221
12222 * macterm.c (mac_encode_char): Add charset argument and update
12223 to use encoding_type.
12224 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
12225 switch to pure fontset.
12226 (decode_mac_font_name): Temporarily remove decoding.
12227 (x_font_name_to_mac_font_name): Temporarily remove encoding.
12228 (x_load_font): Temporarily remove encoding.
12229
12230 2008-02-01 Kenichi Handa <handa@m17n.org>
12231
12232 * xfaces.c (Fface_font): If frame is not on a window system,
12233 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
12234 refer to face->font.
12235 (split_font_name_into_vector, build_font_name_from_vector)
12236 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
12237 when HAVE_WINDOW_SYSTEM is defined.
12238
12239 2008-02-01 Kenichi Handa <handa@m17n.org>
12240
12241 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
12242 (x_produce_glyphs): Fix setting of members of cmp in case
12243 cmp->glyph_len is zero.
12244
12245 * fontset.c (Fset_fontset_font): Fix docstring.
12246 (Ffontset_info): Make it backward compatible. New arg ALL.
12247
12248 2008-02-01 Kim F. Storm <storm@cua.dk>
12249
12250 * process.c (read_process_output): Grow decoding_buf when needed;
12251 this could cause a crash in allocate_string and compact_small_strings.
12252
12253 2008-02-01 Kenichi Handa <handa@m17n.org>
12254
12255 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
12256
12257 2008-02-01 Kenichi Handa <handa@m17n.org>
12258
12259 * coding.c (setup_coding_system): Set coding->common_flags
12260 correctly for raw-text.
12261 (consume_chars): On encoding unibyte text by raw-text, don't check
12262 multibyte form.
12263 (encode_coding): On encoding by raw-text, never use translation tables.
12264
12265 * fileio.c (e_write): Short cut for the case of no encoding.
12266
12267 2008-02-01 Kenichi Handa <handa@m17n.org>
12268
12269 * coding.c (detect_coding, detect_coding_system): Delete unused
12270 variables.
12271
12272 2008-02-01 Kenichi Handa <handa@m17n.org>
12273
12274 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
12275 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
12276
12277 2008-02-01 Kenichi Handa <handa@m17n.org>
12278
12279 * coding.c (Ffind_coding_systems_region_internal): Include
12280 raw-text and no-conversion in the result.
12281
12282 2008-02-01 Kenichi Handa <handa@m17n.org>
12283
12284 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
12285 (load_font_get_repertory): Delete unnecessary check of ENCODING of
12286 FONT_DEF.
12287 (font_def_arg, add_arg, from_arg, to_arg): New args.
12288 (set_fontset_font): Change argument.
12289 (Fset_fontset_font): Fix for the case that TARGET is a script
12290 name and charset name.
12291 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
12292
12293 2008-02-01 Kenichi Handa <handa@m17n.org>
12294
12295 * fontset.c (fontset_font): Rename from fontset_face. Change return
12296 value.
12297 (face_suitable_for_char_p, face_for_char): Adjust for the change
12298 of fontset_font.
12299 (make_fontset_for_ascii_face): Fix setting of the fontset element
12300 for ASCII.
12301 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
12302 to get a font name.
12303 (Ffontset_info): Adjust for the change of fontset_font.
12304
12305 * coding.c (emacs_mule_char): Check invalid code more rigidly.
12306
12307 * character.h (LEADING_CODE_LATIN_1_MIN)
12308 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
12309
12310 2008-02-01 Kenichi Handa <handa@m17n.org>
12311
12312 * editfns.c (check_translation): New function.
12313 (Ftranslate_region_internal): Handle M:N mapping.
12314
12315 2008-02-01 Kenichi Handa <handa@m17n.org>
12316
12317 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
12318
12319 2008-02-01 Kenichi Handa <handa@m17n.org>
12320
12321 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
12322 goto invalid_code.
12323 (decode_coding_iso_2022): Fix handling of invalid designation.
12324
12325 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
12326 after calling code_conversion_save.
12327
12328 2008-02-01 Kenichi Handa <handa@m17n.org>
12329
12330 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
12331
12332 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
12333
12334 * fontset.c: Include "intervals.h".
12335 (fontset_face): Fix comparing of Lisp_Objects.
12336 (free_face_fontset, new_fontset_from_font_name): Fix
12337 Lisp_Object/int mixup.
12338
12339 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
12340
12341 * coding.c: Add many prototypes for static functions.
12342 (get_translation_table): Allow max_lookup to be NULL.
12343 (decode_coding, Ffind_coding_systems_region_internal)
12344 (Funencodable_char_position, Fcheck_coding_systems_region): Call
12345 get_translation_table with max_lookup NULL.
12346
12347 2008-02-01 Kenichi Handa <handa@m17n.org>
12348
12349 * coding.c (get_translation_table): Declare it as Lisp_Object.
12350 (LOOKUP_TRANSLATION_TABLE): New macro.
12351 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
12352 instead of CHAR_TABLE_REF.
12353
12354 2008-02-01 Kenichi Handa <handa@m17n.org>
12355
12356 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
12357 annotation data format.
12358 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
12359 Change arguments FROM and TO to single argument NCHARS. Change caller.
12360 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
12361 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12362 (decode_coding_ccl, decode_coding_charset): Pay attention to
12363 coding->charbuf_used.
12364 (get_translation): New function.
12365 (produce_chars): New arguments translation_table and last_block.
12366 Translate characters here. Return number of carryover chars.
12367 Change caller.
12368 (produce_composition): New argument pos. Change caller.
12369 Adjust for the change of annotation data format.
12370 (produce_charset, produce_annotation): Likewise.
12371 (decode_coding, encode_coding): Don't call translate_chars.
12372 (consume_chars): New arg translation_table. Change caller.
12373 (translate_chars): Delete.
12374 (syms_of_coding): Make translation-table's number of extra slots 2.
12375
12376 2008-02-01 Kenichi Handa <handa@m17n.org>
12377
12378 * search.c (simple_search): Fix setting this_pos_byte in backward
12379 search.
12380
12381 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
12382 byte sequence.
12383 (detect_coding_ccl): Fix setting of the variable valids.
12384
12385 2008-02-01 Kenichi Handa <handa@m17n.org>
12386
12387 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
12388
12389 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
12390
12391 * editfns.c (Ftranslate_region_internal): Rename from
12392 Ftranslate_region. Accept a char-table in TABLE.
12393 (syms_of_editfns): Defsubr Stranslate_region_internal.
12394
12395 * xfaces.c (set_lface_from_font_name): If a font is specified for
12396 a frame, generate a fontset from the font.
12397 (build_scalable_font_name): If the scalable font is requested for
12398 a specific size, don't change that size.
12399 (try_font_list): Try a scalable font also in the case that a
12400 pattern string is specified.
12401
12402 2008-02-01 Kenichi Handa <handa@m17n.org>
12403
12404 * xfaces.c (Fface_font): New optional arg CHARACTER.
12405
12406 2008-02-01 Kenichi Handa <handa@m17n.org>
12407
12408 * charset.h (CHARSET_OFFSET): New macro.
12409
12410 2008-02-01 Kenichi Handa <handa@m17n.org>
12411
12412 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
12413
12414 * fontset.c (fontset_face): Handle the case that repertory is a
12415 char-table.
12416 (find_font_encoding): Return nil for unknown encoding.
12417 (Fset_fontset_font): Ignore a font of unknown encoding.
12418
12419 2008-02-01 Kenichi Handa <handa@m17n.org>
12420
12421 * keymap.c (describe_vector): Handle default value of a char table.
12422
12423 * fontset.c (fontset_face): Handle fallback fonts correctly.
12424 (Ffontset_info): Return infomation about fallback fonts.
12425
12426 2008-02-01 Kenichi Handa <handa@m17n.org>
12427
12428 * fontset.c (FONTSET_DEFAULT): New macro.
12429 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
12430 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
12431 the case that it is nil.
12432 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
12433 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
12434
12435 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
12436 subset or superset.
12437
12438 2008-02-01 Kenichi Handa <handa@m17n.org>
12439
12440 * emacs.c (main): Call init_charset after syms_of_XXX.
12441
12442 * charset.c (Vcharset_map_directory): Delete.
12443 (Vcharset_map_path): New variable.
12444 (load_charset_map_from_file): Use Vcharset_map_path instead.
12445 (init_charset): Initialize Vcharset_map_path.
12446 (syms_of_charset): Delete declaration of "charset-map-directory",
12447 add declaration of "charset-map-path".
12448
12449 2008-02-01 Kenichi Handa <handa@m17n.org>
12450
12451 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
12452 ASCII only string.
12453
12454 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
12455
12456 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
12457 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
12458
12459 2008-02-01 Kenichi Handa <handa@m17n.org>
12460
12461 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
12462
12463 * coding.c (QCmnemonic, QCdefalut_char)
12464 (QCdecode_translation_table, QCencode_translation_table)
12465 (QCpost_read_conversion, QCpre_write_conversion): New variables.
12466 (get_translation_table): Return a list of translation tables if
12467 necessary.
12468 (decode_coding): Call get_translation_table with ENCODEP 0.
12469 (char_encodable_p): If translation_table is non-nil, always call
12470 translate_char.
12471 (Fdefine_coding_system_internal): Accept list of translation
12472 tables as :encode-translation-table and :decode-translation-table.
12473 (Fcoding_system_put): New function.
12474 (syms_of_coding): Declare new symbols. Defsubr
12475 Scoding_system_put.
12476 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
12477 typically JISX0212.
12478
12479 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
12480 when the charset is superset type.
12481
12482 * character.c (translate_char): Accept list of translation tables.
12483
12484 2008-02-01 Kenichi Handa <handa@m17n.org>
12485
12486 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
12487 (CODING_ATTR_TRANS_TBL): New macro.
12488
12489 * coding.c (get_translation_table): New function.
12490 (translate_chars): Fix the bug of skipping annotation data.
12491 (decode_coding, encode_coding): Utilize get_translation_table.
12492 (char_encodable_p, Funencodable_char_position): Translate char if
12493 necessary.
12494 (Ffind_coding_systems_region_internal)
12495 (Fcheck_coding_systems_region): Setup translation table for encode
12496 in a coding system attribute vector in advance.
12497 (Fdefine_coding_system_internal): Allow a symbol as translation
12498 table. For shift-jis type coding system, allow 4th charset.
12499
12500 2008-02-01 Kenichi Handa <handa@m17n.org>
12501
12502 * coding.c (decode_coding_sjis): Check the first byte rigidly.
12503
12504 * xdisp.c (get_next_display_element): Pass -1 as POS to
12505 FACE_FOR_CHAR if displaying a C-string.
12506
12507 2008-02-01 Kenichi Handa <handa@m17n.org>
12508
12509 * composite.c (get_composition_id): Handle xoff and yoff in a
12510 composition rule.
12511
12512 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
12513 (struct composition): New member lbearing and rbearing.
12514
12515 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
12516 (x_get_glyph_overhangs): Handle a composition glyph.
12517 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
12518
12519 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
12520 composition glyph.
12521
12522 2008-02-01 Kenichi Handa <handa@m17n.org>
12523
12524 * print.c: Include charset.h.
12525 (Vprint_charset_text_property): New variable.
12526 (Qdefault): Extern it.
12527 (PRINT_STRING_NON_CHARSET_FOUND)
12528 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
12529 (print_check_string_result): New variable.
12530 (print_check_string_charset_prop): New function.
12531 (print_prune_charset_plist): New variable.
12532 (print_prune_string_charset): New function.
12533 (print_object): Call print_prune_string_charset if
12534 Vprint_charset_text_property is not t.
12535 (print_interval): Print nothing if interval->plist is nil.
12536 (syms_of_print): Declare Vprint_charset_text_property as a lisp
12537 variable. Init and staticpro print_prune_charset_plist.
12538
12539 2008-02-01 Kenichi Handa <handa@m17n.org>
12540
12541 * fontset.c (new_fontset_from_font_name): Use the specified font
12542 for all characters in the new fontset.
12543
12544 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12545 OBJECT args.
12546
12547 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
12548 OBJECT args for composition too.
12549
12550 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12551 OBJECT args.
12552
12553 2008-02-01 Kenichi Handa <handa@m17n.org>
12554
12555 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
12556
12557 * fontset.c (reorder_font_vector): Adjust for the change of
12558 FONT_DEF format.
12559 (fontset_face): New arg id. Change caller.
12560 (face_for_char): New args pos and object.
12561 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
12562 (fs_query_fontset): Check NAME by Fassoc too.
12563 (Fset_fontset_font): Allow non-XLFD font name.
12564 (Ffontset_info): Adjust for the change of FONT_DEF format.
12565
12566 * fontset.h (face_for_char): Adjust prototype.
12567
12568 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
12569 (append_space, extend_face_to_end_of_line)
12570 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12571 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
12572
12573 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
12574 POS and OBJECT args.
12575
12576 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
12577 POS and OBJECT args.
12578
12579 2008-02-01 Jason Rumney <jasonr@gnu.org>
12580
12581 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
12582 of GlobalAlloc'ed memory.
12583
12584 2008-02-01 Kenichi Handa <handa@m17n.org>
12585
12586 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
12587
12588 * charset.h (charset_table_used): Delete extern.
12589
12590 * charset.c (charset_table_used): Make it static.
12591 (map_charset_chars): Fix args to c_function with.
12592
12593 * chartab.c (map_sub_char_table_for_charset): Fix args to
12594 c_function with.
12595
12596 * coding.h (enum coding_result_code): Delete
12597 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
12598
12599 * coding.c (Qinsufficient_source, Qinconsistent_eol)
12600 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
12601 (Vlast_code_conversion_error): New variables.
12602 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
12603 (ONE_MORE_BYTE): Record error if any instead of signaling an
12604 error. If non-ASCII multibyte char is found, return the negative
12605 value of the code. All callers changed to check it.
12606 (ONE_MORE_BYTE_NO_CHECK): Likewise.
12607 (record_conversion_result): New function. Change all codes setting
12608 coding->result to call this function.
12609 (detect_coding_utf_8, decode_coding_utf_8)
12610 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
12611 Don't use the local variable incomplete.
12612 (emacs_mule_char): Change the second arg to `const'.
12613 (decode_coding): Fix of flushing out unprocessed data.
12614 (make_conversion_work_buffer): Fix making of a work buffer.
12615 (decode_coding_object): Return coding->dst_object.
12616
12617 * fontset.c (set_fontset_font): Fix args.
12618
12619 * lisp.h (CHARACTERBITS): Define as 22.
12620
12621 * process.c (send_process): Be sure to set coding->src_multibyte.
12622
12623 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
12624
12625 2008-02-01 Kenichi Handa <handa@m17n.org>
12626
12627 * xdisp.c (handle_auto_composed_prop): Give limit to
12628 Fnext_single_char_property_change.
12629
12630 2008-02-01 Kenichi Handa <handa@m17n.org>
12631
12632 * composite.c (syms_of_composite): Don't make the composition hash
12633 table weak.
12634
12635 * fontset.c (Fset_fontset_font): Fix docstring.
12636
12637 * lisp.h (detect_coding_system): Adjust prototype.
12638
12639 * fileio.c (kill_workbuf_unwind): Delete this function.
12640 (Finsert_file_contents): Adjust the call of detect_coding_system.
12641 Get conversion_buffer by code_conversion_save. Use the macro
12642 CODING_MAY_REQUIRE_DECODING. After decoding, update
12643 coding_system.
12644
12645 * coding.h (make_conversion_work_buffer): Delete extern.
12646 (code_conversion_save): Extern it.
12647
12648 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
12649 (CODING_GET_INFO): Delete argument eol_type. Change callers.
12650 (decode_coding_utf_8): Don't do eol converion.
12651 (detect_coding_utf_16): Check coding->src_chars, not
12652 coding->src_bytes. Add heuristics for those that have no signature.
12653 (decode_coding_emacs_mule, decode_coding_iso_2022)
12654 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12655 Don't do eol converion.
12656 (adjust_coding_eol_type): Return a new coding system.
12657 (detect_coding): Don't detect eol. Fix for utf-16 detection.
12658 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
12659 each change.
12660 (decode_coding): Pay attention to undo_list. Do eol conversion for
12661 all types of coding-systems (if necessary).
12662 (Vcode_conversion_work_buf_list): Delete it.
12663 (Vcode_conversion_reused_workbuf): Rename from
12664 Vcode_conversion_reused_work_buf.
12665 (Vcode_conversion_workbuf_name): New variable.
12666 (reused_workbuf_in_use): New variable.
12667 (make_conversion_work_buffer): Delete the arg DEPTH.
12668 (code_conversion_restore): Change argument to cons.
12669 (code_conversion_save): Delete the argument BUFFER. Change callers.
12670 (detect_coding_system): New argument src_chars. Change callers.
12671 Fix for utf-16 detection.
12672 (init_coding_once): Don't use ISO_carriage_return.
12673 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12674 reused_workbuf_in_use.
12675
12676 2008-02-01 Kenichi Handa <handa@m17n.org>
12677
12678 * keymap.c (store_in_keymap): Pay attention to the case that idx
12679 is a cons specifying a character range.
12680
12681 2008-02-01 Kenichi Handa <handa@m17n.org>
12682
12683 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12684 HANDLED_RECOMPUTE_PROPS.
12685
12686 * coding.c (Fdefine_coding_system_internal): Fix checking of
12687 ascii compatibility.
12688
12689 2008-02-01 Kenichi Handa <handa@m17n.org>
12690
12691 * charset.c (find_charsets_in_text): Delete unused locale variable.
12692 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12693
12694 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12695 Resync charset_list to Vemacs_mule_charset_list.
12696
12697 * keymap.c (store_in_keymap): Pay attention to the case that idx
12698 is a cons specifying a character range.
12699
12700 2008-02-01 Kenichi Handa <handa@m17n.org>
12701
12702 * composite.c (update_compositions): Bind inhibit-read-only, etc
12703 to t before calling remove-list-of-text-properties.
12704
12705 * print.c (print_object): Always print ASCII chars as is.
12706
12707 2008-02-01 Kenichi Handa <handa@m17n.org>
12708
12709 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12710
12711 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12712 is a char table.
12713
12714 2008-02-01 Kenichi Handa <handa@m17n.org>
12715
12716 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12717
12718 2008-02-01 Kenichi Handa <handa@m17n.org>
12719
12720 * xfaces.c (set_lface_from_font_name): Fix for the case that
12721 FONTNAME is not fontset name.
12722
12723 2008-02-01 Kenichi Handa <handa@m17n.org>
12724
12725 * fns.c (base64_encode_1): Fix previous change.
12726
12727 2008-02-01 Kenichi Handa <handa@m17n.org>
12728
12729 * fontset.c (set_fontset_font): New function.
12730 (Fset_fontset_font): If a font is specified for a charset, use
12731 map_charset_chars to store the font spec in a fontset.
12732
12733 2008-02-01 Kenichi Handa <handa@m17n.org>
12734
12735 * fontset.c (fontset_face): Create a fallback fontset on demand.
12736 (make_fontset): Don't create a fallback fontset here.
12737 (free_face_fontset): Free a fallback fontset (if any) too.
12738 (n_auto_fontsets): Delete this variable.
12739 (auto_fontset_alist): New variable.
12740 (new_fontset_from_font_name): Check auto_fontset_alist.
12741 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12742 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12743 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12744 Defsubr Sfontset_list_all.
12745
12746 2008-02-01 Kenichi Handa <handa@m17n.org>
12747
12748 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12749
12750 2008-02-01 Kenichi Handa <handa@m17n.org>
12751
12752 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12753
12754 2008-02-01 Kenichi Handa <handa@m17n.org>
12755
12756 * editfns.c (Fgoto_char): Fix docstring.
12757
12758 2008-02-01 Kenichi Handa <handa@m17n.org>
12759
12760 * insdel.c (insert_from_gap): Adjust intervals correctly.
12761
12762 2008-02-01 Jason Rumney <jasonr@gnu.org>
12763
12764 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12765 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12766 (w32_initialize): Try to load it.
12767 (x_get_font_repertory): Use it if available.
12768 (w32_encode_char): Add shortcut for unicode output.
12769
12770 * w32fns.c (w32_load_system_font): Default charset to -1.
12771 (x_to_w32_charset): Match all fonts for unicode.
12772 (w32_to_x_charset): New parameter matching. Don't return partial
12773 or wildcard charsets.
12774 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
12775 (w32_codepage_for_font): Return CP_UNICODE for unicode.
12776 (w32_to_x_font): Match charset to real charset.
12777 (enum_font_cb2): Always list unicode versions.
12778
12779 * makefile.w32-in (temacs): Increase EMHEAP.
12780
12781 2008-02-01 Jason Rumney <jasonr@gnu.org>
12782
12783 * w32term.c (w32_encode_char): New charset parameter.
12784 font_info.encoding becomes encoding_type.
12785 (x_get_font_repertory): New function. Warning: stub only!
12786 (x_new_font): Return quickly if font already set.
12787 (x_new_fontset): fontsetname parameter is Lisp_Object.
12788 Use new fs_query_fontset. Try new_fontset_from_font_name.
12789 Use fontset_name for return value.
12790
12791 * w32term.h: Declare x_get_font_repertory.
12792
12793 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
12794 place of find_charset_in_text. Use encode_coding_object in place
12795 of encode_coding.
12796 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
12797 decode_coding.
12798
12799 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
12800 of x_new_fontset.
12801 (w32_load_system_font): Initialize charset as unicode.
12802 font_info.encoding becomes encoding_type.
12803 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
12804 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
12805 (syms_of_w32fns): Set get_font_repertory_func.
12806
12807 * w32console.c: Include character.h. Use terminal_encode_buffer
12808 from term.c.
12809 (write_glyphs): Use new version of encode_terminal_code. Use
12810 encode_coding_object in place of encode_coding.
12811
12812 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
12813 encoding becomes encoding_type.
12814
12815 * term.c (terminal_encode_buffer): Make externally visible.
12816
12817 * makefile.w32-in: Add character.h dependancies.
12818 (character.o, chartab.o): New targets.
12819
12820 2008-02-01 Kenichi Handa <handa@m17n.org>
12821
12822 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
12823 CODING_ID_EOL_TYPE.
12824
12825 2008-02-01 Andreas Schwab <schwab@suse.de>
12826
12827 * coding.c (produce_chars): Revert last change.
12828
12829 2008-02-01 Kenichi Handa <handa@m17n.org>
12830
12831 * charset.h (charset_unicode): Extern it.
12832
12833 * charset.c (string_xstring_p): Check by (C >= 0x100).
12834 (find_charsets_in_text): Change format of the arc CHARSETS. New
12835 arg MULTIBYTE.
12836 (Ffind_charset_region, Ffind_charset_string): Adjust for the
12837 change of find_charsets_in_text.
12838 (Fsplit_char): Fix doc. Never return unknown.
12839
12840 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
12841
12842 * coding.c (Fdefine_coding_system_alias): Update
12843 Vcoding_system_list.
12844
12845 * fontset.c (load_font_get_repertory): Pay attention to the case
12846 that ENCODING of a font is specified by a char-table.
12847
12848 * xterm.c (x_get_font_repertory): Handle the case that the
12849 encoding of font is other than Unicode.
12850
12851 2008-02-01 Kenichi Handa <handa@m17n.org>
12852
12853 * term.c (encode_terminal_code): Don't handle glyph-table. Check
12854 if a character is encodable by the terminal coding system. If
12855 not, produces proper number of `?'s. Update
12856 terminal_encode_buffer and terminal_encode_buf_size if necessary.
12857 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
12858
12859 2008-02-01 Kenichi Handa <handa@m17n.org>
12860
12861 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
12862 variables.
12863 (encode_terminal_code): Change argument. Encode multiple
12864 characters at once. Store the result of encoding in
12865 terminal_encode_buffer.
12866 (write_glyphs, insert_glyphs): Adjust for the change of
12867 encode_terminal_code.
12868 (term_init): Initialize terminal_encode_buffer and
12869 terminal_encode_buf_size.
12870
12871 * coding.c (consume_chars): If coding->src_object is nil, don't
12872 check annotation.
12873
12874 2008-02-01 Kenichi Handa <handa@m17n.org>
12875
12876 * character.c (char_string): Use ASCII_CHAR_P instead of
12877 SINGLE_BYTE_CHAR_P.
12878
12879 2008-02-01 Kenichi Handa <handa@m17n.org>
12880
12881 * xdisp.c (handle_auto_composed_prop): Check if the last
12882 characters of auto-composed region is newly composed with the
12883 following characters.
12884 (handle_composition_prop): Fix checking of point being inside
12885 composition.
12886
12887 2008-02-01 Kenichi Handa <handa@m17n.org>
12888
12889 * fns.c (concat): Don't change multibyteness of the result by
12890 concatenating an 8-bit character.
12891
12892 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
12893 multibyteness of the result when newelt is an 8-bit character.
12894
12895 2008-02-01 Dave Love <fx@gnu.org>
12896
12897 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
12898 EMACS_INT.
12899
12900 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
12901
12902 * xfaces.c (face_numeric_value): Declare dim size_t.
12903 (Finternal_lisp_face_equal_p): Remove unused f.
12904
12905 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
12906 (MATRIX_ROW): Remove unused vars.
12907 (draw_glyphs, x_insert_glyphs, fast_find_position)
12908 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
12909 byte/char counts.
12910
12911 * regex.c (regex_compile): Remove unused var.
12912
12913 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12914
12915 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
12916 (Faccessible_keymaps, where_is_internal): Remove unused vars.
12917
12918 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
12919
12920 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
12921
12922 * fileio.c (Fwrite_region): Remove unused var.
12923
12924 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
12925 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
12926
12927 * composite.c (Fremove_list_of_text_properties): Declare.
12928
12929 * coding.c (inhibit_pre_post_conversion): Remove (unused).
12930 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
12931 (coding_inherit_eol_type): Remove unused attrs.
12932 (detect_coding): Cast arg of detect_eol.
12933
12934 * charset.c (syms_of_charset): Remove unused var p.
12935 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
12936 byte/char counts.
12937
12938 * casetab.c (set_case_table): Remove unused var.
12939
12940 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
12941 unused vars.
12942
12943 2008-02-01 Dave Love <fx@gnu.org>
12944
12945 * xterm.c (x_bitmap_mask): Declare.
12946
12947 2008-02-01 Dave Love <fx@gnu.org>
12948
12949 * xterm.c (x_term_init): Fix type error.
12950
12951 * lisp.h: Add Funibyte_char_to_multibyte.
12952
12953 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
12954 (Fset_coding_system_priority): Doc fix.
12955
12956 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
12957
12958 * indent.c (check_composition): Make start and end EMACS_INT.
12959
12960 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
12961
12962 * xdisp.c (handle_composition_prop, check_point_in_composition):
12963 Make buffer positions EMACS_INT.
12964
12965 * composite.c (find_composition, run_composition_function)
12966 (update_compositions, Ffind_composition_internal): Make buffer
12967 positions EMACS_INT.
12968
12969 * composite.h (find_composition, update_compositions): Make
12970 position args EMACS_INT.
12971
12972 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
12973
12974 * intervals.c (get_property_and_range):
12975 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
12976
12977 * unexalpha.c: Don't include varargs.h.
12978
12979 2008-02-01 Dave Love <fx@gnu.org>
12980
12981 * coding.h (ENCODE_UTF_8): New.
12982
12983 * Makefile.in (gtkutil.o): Depend on coding.h.
12984
12985 * coding.c (Fset_coding_system_priority): Doc fix.
12986
12987 2008-02-01 Kenichi Handa <handa@m17n.org>
12988
12989 * fileio.c (Finsert_file_contents): Call setup_coding_system in
12990 the case of auto saving.
12991
12992 2008-02-01 Andreas Schwab <schwab@suse.de>
12993
12994 * chartab.c (map_char_table, map_char_table_for_charset): Protect
12995 `range' from GC.
12996
12997 2008-02-01 Kenichi Handa <handa@m17n.org>
12998
12999 * coding.c (decode_coding_sjis): Check bytes more rigidly.
13000
13001 2008-02-01 Kenichi Handa <handa@m17n.org>
13002
13003 * fileio.c (choose_write_coding_system): Return a decided coding system.
13004 (Fwrite_region): Set Vlast_coding_system_used to the return value
13005 of choose_write_coding_system.
13006
13007 2008-02-01 Kenichi Handa <handa@m17n.org>
13008
13009 * charset.c (Fset_charset_priority): Pay attention to duplicated
13010 arguments.
13011
13012 * coding.c (QCcategory): New variable.
13013 (syms_of_coding): Defsym it. Set all elements of
13014 Vcoding_category_table and their symbol values.
13015 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
13016 coding-category-XXX, and coding-category-list.
13017 (Fdefine_coding_system_internal): Add category in the plist.
13018
13019 2008-02-01 Kenichi Handa <handa@m17n.org>
13020
13021 * callproc.c (Fcall_process): Handle carryover correctly.
13022
13023 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
13024 (raw_text_coding_system): Check NILP (coding_system).
13025 (coding_inherit_eol_type): Check NILP (coding_system) and
13026 NILP (parent).
13027 (consume_chars): Fix for the case of raw-text.
13028
13029 * process.c (read_process_output): Handle carryover correctly.
13030
13031 2008-02-01 Dave Love <fx@gnu.org>
13032
13033 * regex.c (re_search_2): Fix last change.
13034
13035 2008-02-01 Kenichi Handa <handa@m17n.org>
13036
13037 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
13038 target_multibyte. Even in a unibyte case, return a converted
13039 multibyte char.
13040 (GET_CHAR_AFTER): New macro.
13041 (PATFETCH): Translate via multibyte char.
13042 (HANDLE_UNIBYTE_RANGE): Delete this macro.
13043 (SETUP_MULTIBYTE_RANGE): New macro.
13044 (regex_compile): Setup compiled code so that its multibyteness
13045 matches that of a target. Fix the handling of "[X-YZ]" using
13046 SETUP_MULTIBYTE_RANGE.
13047 (analyse_first) <charset>: For filling fastmap for all multibyte
13048 characters, don't check by BASE_LEADING_CODE_P.
13049 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
13050 the same as RE_MULTIBYTE_P (bufp) now.
13051 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
13052 (TARGET_CHAR_AND_LENGTH): Delete this macro.
13053 (TRANSLATE_VIA_MULTIBYTE): New macro.
13054 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
13055 It is the same as RE_MULTIBYTE_P (bufp) now.
13056 <exactn>: Translate via multibyte.
13057 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
13058 translate it.
13059 <charset, charset_not>: Fetch a character by
13060 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
13061 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
13062 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
13063 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
13064 by GET_CHAR_AFTER.
13065 (bcmp_translate): Likewise.
13066
13067 * search.c (compile_pattern): Check the member target_multibyte,
13068 not the member multibyte of buf.
13069
13070 * lread.c (read1): While reading a string, set force_singlebyte
13071 and force_multibyte correctly.
13072
13073 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
13074 up of unibyte_to_multibyte_table.
13075
13076 2008-02-01 Kenichi Handa <handa@m17n.org>
13077
13078 * coding.c (setup_coding_system): If coding has
13079 post-read-conversion or pre-write-conversion, set
13080 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
13081 respectively.
13082 (decode_coding_gap): Run post-read-conversion if any.
13083
13084 * fileio.c (Finsert_file_contents): Even if we read into a
13085 unibyte buffer, check if we must decode the result or not.
13086
13087 2008-02-01 Kenichi Handa <handa@m17n.org>
13088
13089 * coding.c (make_conversion_work_buffer): Change the work buffer
13090 name to the same one as that of Emacs 21.
13091
13092 2008-02-01 Kenichi Handa <handa@m17n.org>
13093
13094 * coding.h (make_conversion_work_buffer): Adjust prototype.
13095 (code_conversion_restore): Don't extern it.
13096
13097 * coding.c (detected_mask): Delete unused variable.
13098 (decode_coding_iso_2022): Pay attention to the byte sequence of
13099 CTEXT extended segment, and retain those bytes as is.
13100 (decode_coding_ccl): Delete unused variable `valids'.
13101 (setup_coding_system): Delete unused variable `category'.
13102 (consume_chars): Delete unused variable `category'. Make it work
13103 for non-multibyte case.
13104 (make_conversion_work_buffer): Change argument.
13105 (saved_coding): Delete unused variable.
13106 (code_conversion_restore): Don't check saved_coding->destination.
13107 (code_conversion_save): New function.
13108 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
13109 instead of record_unwind_protect.
13110 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
13111 (detect_coding_system): Delete unused variable `mask'.
13112 (Fdefine_coding_system_internal): Delete unused variable id.
13113
13114 * fileio.c (kill_workbuf_unwind): New function.
13115 (Finsert_file_contents): On replacing, call
13116 make_conversion_work_buffer with correct args, and call
13117 record_unwind_protect with the first arg kill_workbuf_unwind.
13118
13119 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
13120
13121 2008-02-01 Kenichi Handa <handa@m17n.org>
13122
13123 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
13124 (fontset_add): Fix for the case that TO is less than TO1.
13125 (Ffontset_info): Don't use fallback fontset on checking the
13126 default fontset.
13127 (dump_fontset): New function for debugging.
13128
13129 * coding.c (Fdefine_coding_system_internal): Fix for the case that
13130 coding_type is Qcharset.
13131
13132 2008-02-01 Kenichi Handa <handa@m17n.org>
13133
13134 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
13135 (map_char_table): Don't inherit the value from the parent on
13136 initializing VAL. Adjust for the above change.
13137
13138 2008-02-01 Kenichi Handa <handa@m17n.org>
13139
13140 * coding.c (Qsignature, Qendian): Delete these variables.
13141 (syms_of_coding): Don't initialize them.
13142 (CATEGORY_MASK_UTF_16_AUTO): New macro.
13143 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
13144 detect_info->found.
13145 (decode_coding_utf_16): Don't detect BOM here.
13146 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
13147 is NOT utf_16_without_bom.
13148 (setup_coding_system): For a coding system of type utf-16, check
13149 if the attribute :endian is Qbig or not (not nil or not), and set
13150 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
13151 (detect_coding): If coding type is utf-16 and BOM detection is
13152 required, detect it.
13153 (Fdefine_coding_system_internal): For a coding system of type
13154 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
13155
13156 2008-02-01 Kenichi Handa <handa@m17n.org>
13157
13158 * coding.c (coding_set_source): Fix for the case that the current
13159 buffer is different from coding->src_object.
13160 (decode_coding_object): Don't use the conversion work buffer if
13161 DST_OBJECT is a buffer.
13162
13163 2008-02-01 Dave Love <fx@gnu.org>
13164
13165 * lread.c (read_emacs_mule_char) [len==2]: Index
13166 emacs_mule_charset correctly.
13167
13168 2008-02-01 Dave Love <fx@gnu.org>
13169
13170 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
13171 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
13172 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
13173 treated specially.)
13174 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
13175 (detected_mask): Remove Big5 bits.
13176
13177 2008-02-01 Kenichi Handa <handa@m17n.org>
13178
13179 The following changes are to make the font rescaling facility
13180 compatible with Emacs 21.
13181
13182 * xfaces.c (Vface_font_rescale_alist): Rename from
13183 Vface_resizing_fonts.
13184 (struct font_name): Rename member resizing_ratio to rescale_ratio.
13185 (font_rescale_ratio): Rename from font_resizing_ratio.
13186 (split_font_name): Set font->rescale_ratio.
13187 (better_font_p): Pay attention to font->rescale_ratio.
13188 (build_scalable_font_name): Likewise. Change RESX, and RESY
13189 fields.
13190 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
13191
13192 2008-02-01 Kenichi Handa <handa@m17n.org>
13193
13194 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
13195 (Qutf_16_le): Remove these variables.
13196 (syms_of_coding): Don't DEFSYM them.
13197 (decode_coding_utf_16): Fix handling of BOM.
13198 (encode_coding_utf_16): Fix handling of BOM.
13199
13200 2008-02-01 Kenichi Handa <handa@m17n.org>
13201
13202 * fileio.c (Finsert_file_contents): On replacing, before decoding
13203 the file into the work buffer, set point of the work buffer to the end.
13204
13205 2008-02-01 Dave Love <fx@gnu.org>
13206
13207 * coding.c (Fcheck_coding_systems_region): Fix type errors.
13208
13209 2008-02-01 Dave Love <fx@gnu.org>
13210
13211 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13212 and fix C types.
13213
13214 2008-02-01 Kenichi Handa <handa@m17n.org>
13215
13216 * xdisp.c (SKIP_GLYPHS): New macro.
13217 (set_cursor_from_row): Pay attention to string display properties.
13218
13219 * category.c (copy_category_entry): Fix for the case that RANGE
13220 is an integer.
13221
13222 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
13223
13224 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
13225
13226 2008-02-01 Kenichi Handa <handa@m17n.org>
13227
13228 * charset.c (Fcharset_id_internal): New function.
13229 (syms_of_charset): Defsubr it.
13230
13231 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
13232 with the last arg charset_list acquired from coding.
13233 (Fdefine_coding_system_internal): For ccl-based coding system, fix
13234 the attribute coding_attr_ccl_valids.
13235
13236 * coding.h (enum define_coding_ccl_arg_index): Set the first
13237 member coding_arg_ccl_decoder to coding_arg_max.
13238
13239 * ccl.h (ccl_driver): Adjust prototype.
13240
13241 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
13242 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
13243 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
13244 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
13245 last arg Qnil.
13246
13247 2008-02-01 Kenichi Handa <handa@m17n.org>
13248
13249 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
13250 call encode_char.
13251
13252 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
13253
13254 2008-02-01 Dave Love <fx@gnu.org>
13255
13256 * composite.c (syms_of_composite): Make composition_hash_table weak.
13257
13258 2008-02-01 Kenichi Handa <handa@m17n.org>
13259
13260 * dispextern.h (check_face_attributes, generate_ascii_font_name)
13261 (font_name_registry): Don't extern them.
13262 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
13263
13264 * fontset.h (Qfontset): Don't extern it.
13265 (new_fontset_from_font_name): Extern it.
13266
13267 * fontset.c: Give 8 extra slots to fontset objects.
13268 (Qfontset_info): New variable.
13269 (syms_of_fontset): Defsym it.
13270 (FONTSET_FALLBACK): New macro.
13271 (fontset_face): Try also the default fontset.
13272 (make_fontset): Realize a fallback fontset from the default fontset.
13273 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
13274 using split_font_name_into_vector and build_font_name_from_vector.
13275 (Fset_fontset_font): Access the elements of font_spec by enum
13276 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
13277 name by using split_font_name_into_vector.
13278 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
13279 generate a proper font name from the fontset name. Update
13280 Vfontset_alias_alist.
13281 (n_auto_fontsets): New variable.
13282 (new_fontset_from_font_name): New function.
13283 (Ffont_info): Store the information about fonts generated from the
13284 default fontset in the first extra slot of the returned char-table.
13285
13286 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
13287 (font_name_registry): Delete function.
13288 (split_font_name_into_vector): New function.
13289 (build_font_name_from_vector): New function.
13290 (font_list): The argument REGISTRY is now a list of registry names.
13291 (choose_face_font): If we are choosing an ASCII font, and ATTRS
13292 specifies an explicit font name, return the name as is. Make a
13293 list of registy names.
13294
13295 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
13296 of x_new_fontset.
13297 (Fx_create_frame): Don't call x_new_fontset here. Just use
13298 x_list_fonts to check the existence of fonts.
13299
13300 * xterm.h (x_new_fontset): Adjust prototype.
13301
13302 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
13303 string. Use new_fontset_from_font_name to create a fontset from a
13304 font name.
13305
13306 2008-02-01 Kenichi Handa <handa@m17n.org>
13307
13308 * syntax.c (Vfind_word_boundary_function_table): New name for
13309 Vnext_word_boundary_function_table.
13310 (find-word-boundary-function-table): New name for
13311 next-word-boundary-function-table.
13312
13313 2008-02-01 Dave Love <fx@gnu.org>
13314
13315 * Makefile.in: Fix some dependencies.
13316
13317 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
13318 set it to nil before returning.
13319
13320 * composite.c (update_compositions): Fix type error.
13321
13322 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
13323
13324 2008-02-01 Kenichi Handa <handa@m17n.org>
13325
13326 * xterm.c (x_new_font): Optimize for the case that the font is
13327 already set for the frame.
13328
13329 2008-02-01 Kenichi Handa <handa@m17n.org>
13330
13331 * chartab.c (char_table_ascii): Check if the char table contents
13332 is sub-char-table or not.
13333 (char_table_set, char_table_set_range): Fix argument to
13334 char_table_ascii.
13335
13336 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
13337 (detect_coding_utf_8, detect_coding_utf_16)
13338 (detect_coding_emacs_mule, detect_coding_iso_2022)
13339 (detect_coding_sjis, detect_coding_big5)
13340 (detect_coding_ccl, detect_coding_charset): Change argument MASK
13341 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
13342 sequence is valid in this coding system. Change callers.
13343 (MAX_ANNOTATION_LENGTH): New macro.
13344 (ADD_ANNOTATION_DATA): New macro.
13345 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
13346 ADD_ANNOTATION_DATA. Change the format of annotation data.
13347 (ADD_CHARSET_DATA): New macro.
13348 (emacs_mule_char): New argument ID. Change callers.
13349 (decode_coding_emacs_mule, decode_coding_iso_2022)
13350 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13351 Produce charset annotation data in coding->charbuf.
13352 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
13353 to charset annotation data in coding->charbuf.
13354 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
13355 coding->common_flags if the coding system is iso-2022 based and
13356 uses designation.
13357 (produce_composition): Adjust for the new annotation data format.
13358 (produce_charset): New function.
13359 (produce_annotation): Handle charset annotation.
13360 (handle_composition_annotation, handle_charset_annotation): New
13361 functions.
13362 (consume_chars): Handle charset annotation. Utilize the above two
13363 functions.
13364 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
13365 buffer, get the deleted text as a string and set
13366 coding->src_object to that string.
13367 (detect_coding, detect_coding_system): Use the new struct
13368 coding_detection_info.
13369
13370 * coding.h (struct coding_detection_info): New structure.
13371 (struct coding_system): Adjust prototype of the member `detector'.
13372 (CODING_ANNOTATE_CHARSET_MASK): New macro.
13373
13374 2008-02-01 Kenichi Handa <handa@m17n.org>
13375
13376 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
13377
13378 2008-02-01 Dave Love <fx@gnu.org>
13379
13380 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
13381 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
13382 to new local and nullify apropos_accumulate before returning.
13383 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
13384
13385 2008-02-01 Kenichi Handa <handa@m17n.org>
13386
13387 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
13388 correctly.
13389
13390 2008-02-01 Dave Love <fx@gnu.org>
13391
13392 * fns.c (Flanginfo): Call synchronize_system_time_locale.
13393
13394 2008-02-01 Kenichi Handa <handa@m17n.org>
13395
13396 The following changes are to make character composition happen
13397 automatically on displaying.
13398
13399 * Makefile.in (lisp, shortlisp): Add composite.elc.
13400
13401 * composite.h (Qauto_composed, Vauto_composition_function)
13402 (Qauto_composition_function): Extern them.
13403
13404 * composite.c (Vcomposition_function_table)
13405 (Qcomposition_function_table): Delete variables.
13406 (Qauto_composed, Vauto_composition_function)
13407 (Qauto_composition_function): New variables.
13408 (run_composition_function): Don't call
13409 compose-chars-after-function.
13410 (update_compositions): Clear `auto-composed' text property.
13411 (compose_chars_in_text): Delete this function.
13412 (syms_of_composite): Staticpro Qauto_composed and
13413 Qauto_composition_function. Declare Vauto_composition_function as
13414 a Lisp variable.
13415
13416 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
13417
13418 * xdisp.c (it_props): Add an entry for Qauto_composed.
13419 (handle_auto_composed_prop): New function.
13420
13421 * xselect.c (selection_data_to_lisp_data): Don't call
13422 compose_chars_in_text.
13423
13424 2008-02-01 Dave Love <fx@gnu.org>
13425
13426 * keyboard.c (read_char): Modify checking around use of
13427 Vkeyboard_translate_table.
13428
13429 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13430 and fix C types.
13431
13432 2008-02-01 Kenichi Handa <handa@m17n.org>
13433
13434 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
13435 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13436 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
13437 the case that the last byte is '\r' correctly.
13438 (decode_coding): Flush out the unprocessed data correctly.
13439 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
13440
13441 2008-02-01 Dave Love <fx@gnu.org>
13442
13443 * xterm.c (XTread_socket): Fix changes for defined keysyms.
13444 Add XK_ISO... case.
13445 (xaw_scroll_callback): Revert last change.
13446
13447 2008-02-01 Kenichi Handa <handa@m17n.org>
13448
13449 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
13450
13451 2008-02-01 Kenichi Handa <handa@m17n.org>
13452
13453 * xfaces.c (Vface_resizing_fonts): New variable.
13454 (struct font_name): New member `resizing_ratio'.
13455 (font_resizing_ratio): New function.
13456 (split_font_name): Set font->resizing_ratio.
13457 (better_font_p): Pay attention to font->resizing_ratio.
13458 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
13459 RESX, and RESY fields.
13460 (try_alternative_families): Try scalable fonts if
13461 Vscalable_fonts_allowed is not Qt.
13462 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
13463
13464 2008-02-01 Dave Love <fx@gnu.org>
13465
13466 * xterm.c (xaw_scroll_callback): Cast correctly.
13467
13468 2008-02-01 Dave Love <fx@gnu.org>
13469
13470 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
13471 (lispy_kana_keys): Comment out.
13472 (make_lispy_event) [XK_kana_A]: Comment out.
13473
13474 * xterm.c (xaw_scroll_callback): Cast call_data.
13475 (XTread_socket): Deal with ASCII keysyms.
13476 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
13477
13478 2008-02-01 Dave Love <fx@gnu.org>
13479
13480 * xterm.c (Vx_keysym_table): New.
13481 (syms_of_xterm): Initialize it.
13482 (XTread_socket): Use it.
13483 From head: Eliminate incorrect optimization that tried to avoid
13484 decoding the output of X*LookupString.
13485 (x_get_font_repertory): Delete charset declaration.
13486
13487 2008-02-01 Kenichi Handa <handa@m17n.org>
13488
13489 * coding.c (detect_coding_charset): If only ASCII bytes are found,
13490 return 0.
13491 (Fdefine_coding_system_internal): Setup
13492 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
13493
13494 2008-02-01 Dave Love <fx@gnu.org>
13495
13496 * coding.c (Fcheck_coding_system): Doc fix.
13497
13498 * editfns.c (Finsert_byte): Return a proper value.
13499
13500 2008-02-01 Kenichi Handa <handa@m17n.org>
13501
13502 * coding.c (decode_coding): Fix args to translate_chars. Pay
13503 attention to Vstandard_translation_table_for_decode.
13504 (encode_coding): Fix args to translate_chars. Pay attention to
13505 Vstandard_translation_table_for_encode.
13506
13507 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
13508 SINGLE_BYTE_CHAR_P.
13509
13510 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
13511 not by SINGLE_BYTE_CHAR_P.
13512
13513 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
13514 SINGLE_BYTE_CHAR_P.
13515
13516 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
13517 SINGLE_BYTE_CHAR_P.
13518
13519 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
13520 by SINGLE_BYTE_CHAR_P.
13521
13522 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
13523 SINGLE_BYTE_CHAR_P.
13524
13525 2008-02-01 Dave Love <fx@gnu.org>
13526
13527 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
13528
13529 2008-02-01 Dave Love <fx@gnu.org>
13530
13531 * fns.c (Flanginfo): Fix typo.
13532
13533 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
13534
13535 2008-02-01 Kenichi Handa <handa@m17n.org>
13536
13537 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
13538 (detect_coding_emacs_mule, detect_coding_iso_2022)
13539 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
13540 incomplete byte sequence. Don't update *mask when correctly detected.
13541 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
13542 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
13543 (detect_coding, detect_coding_system): Adjust for the changes above.
13544
13545 2008-02-01 Kenichi Handa <handa@m17n.org>
13546
13547 * character.c (char_string): Rename from
13548 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
13549 (string_char): Rename from string_char.
13550
13551 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
13552 if C is greater than MAX_3_BYTE_CHAR.
13553 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
13554 string_char instead of string_char_with_unification.
13555
13556 2008-02-01 Dave Love <fx@gnu.org>
13557
13558 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
13559
13560 2008-02-01 Kenichi Handa <handa@m17n.org>
13561
13562 * keymap.c (push_key_description): Pay attention to force_multibyte.
13563
13564 * regex.c (re_search_2): Fix for the case of unibyte buffer.
13565
13566 2008-02-01 Dave Love <fx@gnu.org>
13567
13568 * charset.c (define_charset_internal): Rename `supprementary'.
13569
13570 * Makefile.in (lisp, shortlisp): Remove latin-N.
13571
13572 2008-02-01 Dave Love <fx@gnu.org>
13573
13574 * xfns.c (x_window, x_window): Use use_xim.
13575
13576 * xterm.c (use_xim): Initialize.
13577 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
13578 (x_term_init): Maybe set use_xim.
13579
13580 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
13581
13582 2008-02-01 Kenichi Handa <handa@m17n.org>
13583
13584 * search.c (search_buffer): Fix case-fold-search of multibyte
13585 characters.
13586 (boyer_moore): Rename the last argument to char_high_bits.
13587
13588 2008-02-01 Kenichi Handa <handa@m17n.org>
13589
13590 * xdisp.c (display_string): Fix for the case of zero width glyph.
13591
13592 * xfns.c (x_set_font): Change the error message of the case that
13593 x_new_fontset returns Qt.
13594
13595 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
13596 (Finternal_set_lisp_face_attribute): Use signal_error for the
13597 error of invalid fontset.
13598
13599 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
13600 fontset, return Qt.
13601
13602 2008-02-01 Dave Love <fx@gnu.org>
13603
13604 * unexelf.c (unexec): Make .got handling not SGI-specific.
13605
13606 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
13607
13608 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
13609
13610 * keyboard.c (read_key_sequence): Fix type error.
13611
13612 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
13613 type error.
13614
13615 * fontset.c (fontset_add): Return Lisp_Object.
13616
13617 2008-02-01 Dave Love <fx@gnu.org>
13618
13619 * charset.h (charset_ordered_list_tick): Declare extern.
13620
13621 2008-02-01 Kenichi Handa <handa@m17n.org>
13622
13623 The following changes (and some of 2008-02-01 changes of mine) are
13624 for handling syntax, category, and case conversion for unibyte
13625 characters by converting them to multibyte on the fly. With these
13626 changes, we don't have to setup syntax and case tables for unibyte
13627 characters in each language environment.
13628
13629 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
13630 multibyte if necessary.
13631
13632 * bytecode.c (Fbyte_code): Likewise.
13633
13634 * character.h (LEADING_CODE_LATIN_1_MIN)
13635 (LEADING_CODE_LATIN_1_MAX): New macros.
13636 (unibyte_to_multibyte_table): Extern it.
13637 (unibyte_char_to_multibyte): New macro.
13638 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
13639 (CHAR_LEADING_CODE): New macro.
13640 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
13641
13642 * character.c (unibyte_to_multibyte_table): New variable.
13643 (unibyte_char_to_multibyte): Move to character.h and define as macro.
13644 (multibyte_char_to_unibyte): If C is an eight-bit character,
13645 convert it to the corresponding byte value.
13646
13647 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
13648 not 1, signals an error. Update the elements of
13649 unibyte_to_multibyte_table.
13650 (init_charset_once): Initialize unibyte_to_multibyte_table.
13651 (syms_of_charset): Define the charset `iso-8859-1'.
13652
13653 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
13654 as is without converting it to unibyte. In a unibyte buffer,
13655 convert C to multibyte before checking the syntax.
13656
13657 * lisp.h (unibyte_char_to_multibyte): Delete extern.
13658
13659 * minibuf.c (Fminibuffer_complete_word): Use the macro
13660 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
13661
13662 * regex.h (struct re_pattern_buffer): New member target_multibyte.
13663
13664 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
13665 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
13666 that is zero, convert an eight-bit char to multibyte.
13667 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13668 non-emacs case.
13669 (PATFETCH): Convert an eight-bit char to multibyte.
13670 (HANDLE_UNIBYTE_RANGE): New macro.
13671 (regex_compile): Setup the compiled pattern for multibyte chars
13672 even if the given regex string is unibyte. Use PATFETCH_RAW
13673 instead of PATFETCH in many places. To handle `charset'
13674 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13675 only for ASCII chars.
13676 (analyse_first) <exactn>: Simplify because the compiled pattern
13677 is multibyte.
13678 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13679 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13680 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13681 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13682 multibyte always 1.
13683 (re_search_2): In emacs, set the locale variable multibyte to 1,
13684 otherwise to 0. New local variable target_multibyte. Check it
13685 to decide the multibyteness of STR1 and STR2. If
13686 target_multibyte is zero, convert unibyte chars to multibyte
13687 before translating and checking fastmap.
13688 (TARGET_CHAR_AND_LENGTH): New macro.
13689 (re_match_2_internal): In emacs, set the locale variable multibyte
13690 to 1, otherwise to 0. New local variable target_multibyte. Check
13691 it to decide the multibyteness of STR1 and STR2. Use
13692 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13693 <charset, charset_not>: If multibyte is nonzero, check fastmap
13694 only for ASCII chars. Call bcmp_translate with
13695 target_multibyte, not with multibyte.
13696 <begline>: Declare the local variable C as `unsigned'.
13697 (bcmp_translate): Change the last arg name to target_multibyte.
13698
13699 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13700 the regexp pattern and the matching target. Set cp->buf.multibyte
13701 to the multibyteness of the regexp pattern. Set
13702 cp->but.target_multibyte to the multibyteness of the matching target.
13703 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13704 FETCH_STRING_CHAR_ADVANCE.
13705 (Freplace_match): Convert unibyte chars to multibyte.
13706
13707 * syntax.c (char_quoted, back_comment, scan_words)
13708 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13709 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13710 unibyte chars to multibyte.
13711 (skip_chars): Delete the arg syntaxp, and move the code for
13712 handling syntaxes to skip_syntaxes. Change callers.
13713 Fix the case that the multibyteness of STRING and the current
13714 buffer doesn't match.
13715 (skip_syntaxes): New function.
13716 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13717 SINGLE_BYTE_CHAR_P.
13718
13719 2008-02-01 Kenichi Handa <handa@m17n.org>
13720
13721 * xfaces.c (QCfontset): New variable.
13722 (LFACE_FONTSET): New macro.
13723 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13724 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13725 (Finternal_set_lisp_face_attribute)
13726 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13727 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13728 check also LFACE_FONTSET_INDEX.
13729 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13730 attrs[LFACE_FONT_INDEX].
13731 (syms_of_xfaces): Intern and staticpro QCfontset.
13732
13733 * dispextern.h (enum lface_attribute_index): New member
13734 LFACE_FONTSET_INDEX.
13735
13736 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13737
13738 2008-02-01 Kenichi Handa <handa@m17n.org>
13739
13740 * coding.c (coding_set_destination): Fix coding->destination for
13741 the case converting a region.
13742 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13743 (encode_coding_object): Fix coding->dst_pos and
13744 coding->dst_pos_byte for the case converting a region.
13745
13746 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13747
13748 * character.h (BYTE8_STRING): New macro.
13749
13750 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13751
13752 2008-02-01 Kenichi Handa <handa@m17n.org>
13753
13754 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13755 characters by octal form.
13756
13757 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13758
13759 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13760 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13761 _fetch_multibyte_char_len.
13762 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13763
13764 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13765
13766 * casefiddle.c (casify_object): Simplify. Handle the case that
13767 the case conversion change the byte length.
13768 (casify_region): Likewise.
13769
13770 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
13771
13772 * character.c (_fetch_multibyte_char_len): Delete this variable.
13773 (syms_of_character): Setup Vprintable_chars.
13774
13775 * editfns.c (Fchar_equal): Fix for the unibyte case.
13776 (Finsert_byte): New function.
13777 (syms_of_editfns): Defsubr it.
13778
13779 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
13780 of direct code 0x3ffff.
13781
13782 * search.c (Freplace_match): Fix for the unibyte case.
13783
13784 2008-02-01 Kenichi Handa <handa@m17n.org>
13785
13786 * lread.c (safe_to_load_p): Fix the logic.
13787
13788 * syntax.c (scan_words): Don't treat characters belonging to
13789 different scripts as constituting a word.
13790
13791 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13792
13793 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
13794
13795 * emacs.c (main): In the case of --unibyte, instead of aborting on
13796 finding non-empty buffer, make it unibyte.
13797
13798 2008-02-01 Kenichi Handa <handa@m17n.org>
13799
13800 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
13801 to create a fontset.
13802
13803 2008-02-01 Dave Love <fx@gnu.org>
13804
13805 * character.c (Funibyte_char_to_multibyte): Doc fix.
13806
13807 * xfns.c [HAVE_STDLIB_H]: Fix last change.
13808
13809 2008-02-01 Kenichi Handa <handa@m17n.org>
13810
13811 * fontset.c (fontset_add): Make the type `int'.
13812 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
13813
13814 * character.c (unibyte_char_to_multibyte)
13815 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
13816 charset_unibyte, not charset_primary.
13817
13818 * charset.h (charset_unibyte): Extern it instead of charset_primary.
13819
13820 * charset.c (charset_unibyte): Rename from charset_primary.
13821 (Funibyte_charset): Rename from Fprimary_charset.
13822 (Fset_unibyte_charset): Rename from Fset_primary_charset.
13823 (syms_of_charset): Adjust for the above changes.
13824
13825 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13826 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13827 it->multibyte_p is zero.
13828
13829 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
13830 Delete extern.
13831
13832 2008-02-01 Kenichi Handa <handa@m17n.org>
13833
13834 * coding.c (Fdefine_coding_system_internal): Fix category setting
13835 for a coding system of type iso-2022.
13836
13837 2008-02-01 Kenichi Handa <handa@m17n.org>
13838
13839 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
13840
13841 2008-02-01 Kenichi Handa <handa@m17n.org>
13842
13843 * syntax.c (Vnext_word_boundary_function_table): New variable.
13844 (next-word-boundary-function-table): Declare it as a Lisp variable
13845 in syms_of_syntax.
13846 (scan_words): Call functions in Vnext_word_boundary_function_table
13847 if any.
13848
13849 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
13850
13851 * fontset.c (fs_load_font): If fontp->charset is not negative,
13852 return fontp without setting its members.
13853
13854 2008-02-01 Dave Love <fx@gnu.org>
13855
13856 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
13857
13858 * m/sparc.h (HAVE_ALLOCA): Delete.
13859
13860 * s/irix6-5.h: Don't include strings.h.
13861 (bcopy, bzero, bcmp): Don't undef.
13862
13863 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
13864
13865 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
13866 (TIOCSIGSEND): Don't test IRIX6.
13867 (bcopy, bzero, bcmp): Define conditionally.
13868
13869 2008-02-01 Kenichi Handa <handa@m17n.org>
13870
13871 * buffer.c (Qas, Qmake, Qto): New variables.
13872 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
13873 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
13874
13875 * callproc.c (Fcall_process): Don't call insert_1_both directly if
13876 we are inserting a process output into a multibyte buffer.
13877
13878 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
13879 multibyte_char_to_unibyte.
13880
13881 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
13882 by the primary charset, make it eight-bit char.
13883 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
13884
13885 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
13886 (charset_8_bit__control, charset_8_bit_graphic)
13887 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
13888 (define_charset_internal): New function.
13889 (syms_of_charset): Call define_charset_internal for pre-defined
13890 charsets.
13891
13892 * charset.h (charset_8_bit): Extern it.
13893
13894 * coding.c (make_conversion_work_buffer): Adjust for the change
13895 of Fset_buffer_multibyte.
13896 (encode_coding_raw_text): Increment p0 in the loop.
13897
13898 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
13899
13900 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
13901 for the change of Fset_buffer_multibyte.
13902
13903 * fns.c (Fstring_to_multibyte): New function.
13904 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
13905
13906 2008-02-01 Dave Love <fx@gnu.org>
13907
13908 * xfns.c (x_put_x_image): Declare args.
13909
13910 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
13911 (try_font_list): Declare an arg.
13912
13913 * xdisp.c (message2_nolog, set_message): Declare an arg.
13914
13915 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
13916
13917 * syntax.c (scan_sexps_forward): Declare an arg.
13918
13919 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
13920 Declare an arg.
13921
13922 * lisp.h (Fnew_fontset): Declare.
13923
13924 * keymap.c (push_key_description): Call CHARACTERP correctly.
13925
13926 * fontset.c (fontset_add): Declare args. Call make_number correctly.
13927 (face_for_char): Delete unused vars.
13928 (Fset_fontset_font): Doc fix. Delete unused vars.
13929
13930 * doc.c (Fsubstitute_command_keys): Delete unused vars.
13931
13932 * composite.c (update_compositions): Declare arg.
13933
13934 * cm.c (calccost, cmgoto): Declare args.
13935
13936 * charset.c: Remove `emacs' conditional. Doc fixes.
13937 (map_char_table_for_charset): Declare.
13938
13939 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
13940
13941 * ccl.c: Remove `emacs' conditional.
13942
13943 2008-02-01 Kenichi Handa <handa@m17n.org>
13944
13945 The following changes are to allow specifying multiple font
13946 patterns for a character range (specified by script or charset).
13947
13948 * Makefile.in (abbrev.o): Depend on syntax.h.
13949 (xfaces.o): Depend on charset.h.
13950
13951 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
13952 SINGLE_BYTE_CHAR_P.
13953
13954 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
13955
13956 * character.h (Vchar_script_table): Extern it.
13957
13958 * character.c (Vscript_alist): Delete.
13959 (Vchar_script_table, Qchar_script_table): New variable.
13960 (syms_of_character): Declare Vchar_script_table as a lisp variable
13961 and initialize it.
13962
13963 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
13964 have property char-table-extra-slots, make no extra slot.
13965
13966 * dispextern.h (struct face): Delete member `charset'.
13967 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
13968 SINGLE_BYTE_CHAR_P.
13969 (choose_face_font, lookup_non_ascii_face, font_name_registry):
13970 Add prototypes.
13971 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
13972 (generate_ascii_font_name): Rename from generate_ascii_font.
13973
13974 * fontset.h (get_font_repertory_func): New prototype.
13975 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
13976 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
13977
13978 * fontset.c (Qprepend, Qappend): New variables.
13979 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
13980 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
13981 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
13982 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
13983 (fontset_ref_and_range, fontset_add, reorder_font_vector)
13984 (load_font_get_repertory): New functions.
13985 (fontset_set): Delete.
13986 (fontset_face): New arg FACE. Return face ID, not face.
13987 Complete re-write to handle new fontset structure. Change caller.
13988 (free_face_fontset): Use ASET istead of AREF (X) = Y.
13989 (face_for_char): Don't call lookup_face.
13990 (make_fontset_for_ascii_face): New arg FACE.
13991 (fs_load_font): New arg CHARSET_ID. Don't check
13992 Vfont_encoding_alist here.
13993 (find_font_encoding): New function.
13994 (list_fontsets): Use STRINGP, not ! NILP.
13995 (accumulate_script_ranges): New function.
13996 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
13997 re-written to handle new fontset structure.
13998 (Ffontset_font): Return a copy of element.
13999 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
14000 docstring of font-encoding-alist.
14001
14002 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
14003 (Fset_fotset_font): Fix arguments to 5.
14004
14005 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
14006
14007 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
14008 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14009 (highlight_trailing_whitespace): Adjust for the change of
14010 lookup_named_face.
14011
14012 * xfaces.c: Include charset.h.
14013 (load_face_font): Delete argument C. Change caller.
14014 (generate_ascii_font_name): Rename from generate_ascii_font.
14015 (font_name_registry): New function.
14016 (cache_face): Store ascii faces before non-ascii faces in buckets.
14017 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
14018 Lookup only ascii faces.
14019 (lookup_non_ascii_face): New function.
14020 (lookup_named_face): Delete argument C. Change caller.
14021 (lookup_derived_face): Delete argument C. Change caller.
14022 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
14023 a string, just call font_list with it.
14024 (choose_face_font): Delete arguments FACE and C. New arg
14025 FONT_SPEC. Change caller.
14026 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
14027 Change caller.
14028 (realize_non_ascii_face): New function.
14029 (realize_x_face): Call load_face_font here.
14030 (realize_tty_face): Delete argument C. Change caller.
14031 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
14032 get a face ID.
14033 (dump_realized_face): Don't print charset of FACE.
14034
14035 * xfns.c (x_set_font): Always call x_new_fontset and
14036 store_frame_parameter.
14037 (Fx_create_frame): Call x_new_fontset, not x_new_font.
14038 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
14039
14040 * xterm.h (x_get_font_repertory): Extern it.
14041
14042 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14043 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14044 it->multibyte_p is zero.
14045 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14046 (x_new_fontset): If FONTSETNAME doesn't match any existing
14047 fontsets, create a new one.
14048 (x_get_font_repertory): New function.
14049
14050 2008-02-01 Kenichi Handa <handa@m17n.org>
14051
14052 * coding.c (Ffind_coding_systems_region_internal): Detect an
14053 ASCII only string correctly.
14054
14055 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
14056 version is 0.
14057
14058 2008-02-01 Kenichi Handa <handa@m17n.org>
14059
14060 * lread.c: Include "coding.h".
14061 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
14062 (load_each_byte, unread_char): New variables.
14063 (readchar_backlog): Delete.
14064 (readchar): Return a character unless load_each_byte is nonzero.
14065 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
14066 cons. If unread_char is not -1, simply return it.
14067 (unreadchar): Handle the case that readcharfun is
14068 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
14069 (read_multibyte): Delete.
14070 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
14071 (read_emacs_mule_char): New functions.
14072 (Fload): Even if the file doesn't have the extension ".elc", if
14073 safe_to_load_p returns a positive version number, assume that the
14074 file contains bytecompiled code. If the version is less than 22,
14075 load the file while decoding multibyte sequences by emacs-mule.
14076 (readevalloop): Don't use readchar_backlog.
14077 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
14078 (Fread_from_string): Pay attention to the case that STREAM is a cons.
14079 (read_escape): Delete the arg BYTEREP.
14080 (read1): Set load_each_byte to 1 temporarily while handling
14081 #@NUMBER. Don't call read_multibyte.
14082 (read_vector): Call Fread with a cons. If readcharfun is
14083 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
14084 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
14085 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
14086 and Qload_force_doc_strings.
14087
14088 2008-02-01 Kenichi Handa <handa@m17n.org>
14089
14090 * xdisp.c (face_before_or_after_it_pos): Call
14091 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
14092
14093 2008-02-01 Kenichi Handa <handa@m17n.org>
14094
14095 * character.h (TRAILING_CODE_P): New macro.
14096 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
14097 (string_char_with_unification): Fix prototype.
14098 (Vscript_alist): Extern it.
14099
14100 * character.c (Vscript_alist): New variable.
14101 (string_char_with_unification, str_as_unibyte)
14102 (string_escape_byte8): Add `const' to local variables.
14103 (syms_of_character): Declare script-alist as a Lisp variable.
14104
14105 * charset.h (Vcharset_ordered_list): Extern it.
14106 (charset_ordered_list_tick): Extern it.
14107 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
14108 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
14109 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
14110 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
14111 (Funify_charset): Adjust for the change of Funify_charset.
14112
14113 * charset.c (charset_ordered_list_tick): New variable.
14114 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
14115 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
14116 deunify intead of unify a charset.
14117 (string_xstring_p): Add `const' to local variables.
14118 (find_charsets_in_text): Add `const' to arguments and local variables.
14119 (encode_char): Adjust for the change of Funify_charset. Fix
14120 detecting of invalid code.
14121 (Fset_charset_priority): Increment charset_ordered_list_tick.
14122 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
14123 and TO_CODE.
14124
14125 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
14126 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
14127 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
14128 (decode_coding_ccl, consume_chars)
14129 (Ffind_coding_systems_region_internal)
14130 (Fcheck_coding_systems_region): Add `const' to local variables.
14131
14132 * print.c (print_object): Use octal form for printing the
14133 contents of a bool vector.
14134
14135 2008-02-01 Dave Love <fx@gnu.org>
14136
14137 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
14138 <version == 20>: Refuse to load.
14139
14140 2008-02-01 Dave Love <fx@gnu.org>
14141
14142 * fns.c: Move coding.h.
14143 (Qcodeset, Qdays, Qmonths): New.
14144 (concat): Use CHARACTERP instead of INTEGERP.
14145 (Flocale_codeset): Delete.
14146 (Flanginfo): New function.
14147 (syms_of_fns): Change accordingly.
14148
14149 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
14150
14151 2008-02-01 Dave Love <fx@gnu.org>
14152
14153 * casetab.c (init_casetab_once, init_casetab_once): Fix
14154 CHAR_TABLE_SET call.
14155
14156 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
14157
14158 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
14159
14160 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
14161 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
14162 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
14163
14164 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
14165
14166 * coding.c (ENCODE_DESIGNATION, decode_eol)
14167 (make_conversion_work_buffer, code_conversion_restore)
14168 (Fdefine_coding_system_internal): Convert Lisp types.
14169 (code_conversion_restore): Use EQ, not ==.
14170 (Fencode_coding_string): Fix code_convert_string call.
14171
14172 * coding.h (code_convert_region): Fix prototype.
14173
14174 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
14175
14176 * fontset.c (fontset_ref, fontset_set, fs_load_font)
14177 (Ffontset_info): Convert Lisp types.
14178
14179 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
14180
14181 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
14182
14183 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
14184
14185 * chartab.c: Include "...h", not <...h> in some cases.
14186
14187 * callproc.c (Fcall_process): Remove unused variables.
14188
14189 2008-02-01 Dave Love <fx@gnu.org>
14190
14191 * coding.c (Fset_coding_system_priority): Allow null arg list.
14192
14193 2008-02-01 Dave Love <fx@gnu.org>
14194
14195 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
14196 (Fself_insert_and_exit): Use CHARACTERP.
14197
14198 * callproc.c (Fcall_process): Remove unused vars.
14199
14200 * xterm.c (XTread_socket): Add extra dead keysyms.
14201
14202 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
14203
14204 * dispextern.h: Remove prototypes for redraw_frame,
14205 redraw_garbaged_frames.
14206
14207 * cmds.c (Fself_insert_command): Use CHARACTERP.
14208
14209 * chartab.c (make_sub_char_table): Remove unused var.
14210 (Fset_char_table_default, Fmap_char_table): Doc fix.
14211
14212 * keymap.c (access_keymap): Remove generic char code.
14213 (push_key_description): Use CHARACTERP.
14214
14215 2008-02-01 Dave Love <fx@gnu.org>
14216
14217 * charset.c: Doc fixes.
14218 (Funify_charset): Extra checking.
14219
14220 2008-02-01 Dave Love <fx@gnu.org>
14221
14222 * lread.c: Remove some unused variables.
14223 (safe_to_load_p): If safe, return the magic number version byte.
14224 (Fload): Maybe use load-with-code-conversion.
14225
14226 2008-02-01 Kenichi Handa <handa@m17n.org>
14227
14228 * category.c (Fmodify_category_entry): Don't modify the contents
14229 of category_set for characters out of the range. Avoid
14230 unnecessary modification.
14231
14232 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
14233 Vchar_unify_table. The default value of the table is now nil.
14234
14235 * character.c (syms_of_character): Setup Vchar_width_table for
14236 eight-bit-control and raw-byte chars.
14237
14238 * charset.h (enum define_charset_arg_index): Delete
14239 charset_arg_parents and add charset_arg_subset and
14240 charset_arg_superset.
14241 (enum charset_attr_index): Delete charset_parents and add
14242 charset_subset and charset_superset.
14243 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
14244 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
14245 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
14246 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
14247 (CHARSET_SUPERSET): New macros.
14248 (charset_work): Extern it.
14249 (ENCODE_CHAR): Use charset_work.
14250 (CHAR_CHARSET_P): Adjust for the change of encoder format.
14251 (map_charset_chars): Extern it.
14252
14253 * charset.c (load_charset_map): Set the default value of encoder
14254 and deunifier char-tables to nil.
14255 (map_charset_chars): Change argument. Change callers. Use
14256 map_char_table_for_charset instead of map_char_table.
14257 (Fmap_charset_chars): New optional args from_code and to_code.
14258 (Fdefine_charset_internal): Adjust for the change of
14259 `define-charset' (:parents -> :subset or :superset).
14260 (charset_work): New variable.
14261 (encode_char, syms_of_charset): Adjust for the change of
14262 Fdefine_charset_internal.
14263 (Ffind_charset_string): Setup the vector `charsets' correctly.
14264
14265 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
14266 the previous change.
14267 (char_table_ref_and_range): Adjust for the above change.
14268 (map_sub_char_table_for_charset): New function.
14269 (map_char_table_for_charset): New function.
14270
14271 * keymap.c (describe_vector): Handle a char-table directly here.
14272 (describe_char_table): Delete.
14273
14274 * lisp.h (map_charset_chars): Delete.
14275
14276 2008-02-01 Dave Love <fx@gnu.org>
14277
14278 * fns.c (count_combining): Comment out (unused).
14279 (Flocale_codeset): New.
14280 (syms_of_fns): Defsubr it.
14281
14282 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
14283 (size_t): Remove.
14284
14285 2008-02-01 Dave Love <fx@gnu.org>
14286
14287 * Makefile.in (chartab.o): Depend on charset.h.
14288
14289 2008-02-01 Kenichi Handa <handa@m17n.org>
14290
14291 * character.c (syms_of_character): Set the default value of
14292 Vprintable_chars to Qnil.
14293
14294 2008-02-01 Dave Love <fx@gnu.org>
14295
14296 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
14297
14298 2008-02-01 Kenichi Handa <handa@m17n.org>
14299
14300 * charset.c (load_charset_map): Handle the case that from < to
14301 correctly.
14302
14303 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
14304 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
14305 Pay attention to raw-8-bit chars.
14306
14307 2008-02-01 Kenichi Handa <handa@m17n.org>
14308
14309 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
14310 It is not bytecompiled now.
14311
14312 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
14313 (charset_jisx0208): New variables.
14314 (Fdefine_charset_internal): Setup them if appropriate.
14315 (init_charset_once): Initialize them to -1.
14316
14317 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
14318 (charset_jisx0208): Extern them.
14319
14320 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
14321 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
14322 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
14323 (setup_iso_safe_charsets): Fix arguments to Fassq.
14324 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
14325 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
14326 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
14327 (encode_coding_iso_2022): Change the 1st arg to
14328 ENCODE_ISO_CHARACTER to a variable.
14329
14330 2008-02-01 Kenichi Handa <handa@m17n.org>
14331
14332 * charset.h (enum define_charset_arg_index): New enums
14333 charset_arg_min_code and charset_arg_max_code.
14334 (struct charset): New member char_index_offset.
14335
14336 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
14337 Take charset->char_index_offset into account.
14338 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
14339 args[charset_arg_max_code]. Setup charset.char_index_offset.
14340 (syms_of_charset): Fix args to Fdefine_charset_internal.
14341
14342 2008-02-01 Dave Love <fx@gnu.org>
14343
14344 * coding.c (decode_coding_utf_8): Reject overlong sequences.
14345
14346 2008-02-01 Dave Love <fx@gnu.org>
14347
14348 * coding.c: Doc fixes.
14349 (Fcoding_system_aliases): Fix return value.
14350 (Qmac): Remove (duplicated) definition.
14351
14352 2008-02-01 Dave Love <fx@gnu.org>
14353
14354 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
14355 functions.
14356
14357 * character.c (Fstring): Doc fix.
14358
14359 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
14360
14361 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
14362 ids.
14363 (font-encoding-alist): Doc fix.
14364
14365 2008-02-01 Dave Love <fx@gnu.org>
14366
14367 * term.c (costs_set): Declare static, non-initialized for pcc.
14368 (encode_terminal_code): Remove unused var.
14369
14370 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
14371 for K&R.
14372
14373 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
14374
14375 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
14376 (suffixes): Move out of make_subsidiaries for K&R.
14377
14378 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
14379
14380 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
14381
14382 2008-02-01 Dave Love <fx@gnu.org>
14383
14384 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
14385
14386 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
14387
14388 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
14389
14390 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
14391
14392 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
14393
14394 2008-02-01 Kenichi Handa <handa@m17n.org>
14395
14396 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
14397 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
14398
14399 2008-02-01 Kenichi Handa <handa@m17n.org>
14400
14401 * coding.c (decode_coding_charset): Adjust for the change of
14402 Fdefine_coding_system_internal.
14403 (Fdefine_coding_system_internal): For a coding system of
14404 `charset' type, store a list of charset IDs in
14405 `charset_attr_charset_valids' element of coding attributes.
14406
14407 2008-02-01 Kenichi Handa <handa@m17n.org>
14408
14409 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
14410 (emacs_mule_char): New arg src. Delete arg `composition'. Change
14411 caller. Handle 2-byte and 3-byte charsets correctly.
14412 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
14413 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
14414 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
14415 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14416 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
14417 sequence.
14418 (decode_coding_emacs_mule): Handle composition correctly. Rewind
14419 `src' and `consumed_chars' correctly before calling emacs_mule_char.
14420 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
14421 and alt&rule composition.
14422 (decode_coding_iso_2022): Handle composition correctly.
14423 (init_coding_once): Setup emacs_mule_bytes for private charsets.
14424
14425 * charset.c (Fdefine_charset_internal): Fix bug for the case of
14426 re-defining a charset. If the charset has :emacs-mule-id, setup
14427 emacs_mule_bytes.
14428 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
14429
14430 2008-02-01 Kenichi Handa <handa@m17n.org>
14431
14432 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
14433 (encode_coding_big5, encode_coding_charset): If coding requires safe
14434 encoding, produce a character specified by
14435 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
14436
14437 2008-02-01 Dave Love <fx@gnu.org>
14438
14439 * xterm.c (XSetIMValues): Declare.
14440
14441 * process.c: Conditionally include sys/wait.h, pty.h.
14442
14443 * print.c (print_object): Fix print format for 64-bit systems.
14444
14445 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
14446
14447 * buffer.c (emacs_strerror): Declare.
14448
14449 * fontset.c (Fclear_face_cache): Declare.
14450 (accumulate_font_info): Comment-out (unused).
14451 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
14452 variables.
14453
14454 * character.h (string_escape_byte8): Declare.
14455
14456 * charset.c (load_charset_map, load_charset_map_from_file): Remove
14457 unused vars.
14458 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
14459 (Fmap_charset_chars): Doc fix.
14460
14461 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
14462 (Fset_coding_system_priority, Fset_coding_system_priority)
14463 (Fdefine_coding_system_internal): Doc fix.
14464
14465 2008-02-01 Dave Love <fx@gnu.org>
14466
14467 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
14468
14469 2008-02-01 Kenichi Handa <handa@m17n.org>
14470
14471 * character.c (string_escape_byte8): Make multibyte string with
14472 correct size.
14473
14474 * charset.c (Fmake_char): Delete unnecessary code.
14475
14476 2008-02-01 Kenichi Handa <handa@m17n.org>
14477
14478 * xfns.c (x_encode_text): Allocate coding.destination here, and
14479 call encode_coding_object with dst_object Qnil.
14480
14481 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
14482 multibyte form correctly.
14483
14484 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
14485 against Vfont_encoding_alist.
14486
14487 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
14488 handling of charset list.
14489 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
14490 (decode_coding_object): Move point to coding->dst_pos before
14491 calling post-read-conversion function.
14492 (encode_coding_object): Give correct arguments to
14493 pre-write-conversion. Ignore the return value of
14494 pre-write-conversion function. Pay attention to the case that
14495 pre-write-conversion changes the current buffer. If dst_object is
14496 Qt, even if coding->src_bytes is zero, allocate at least one byte
14497 to coding->destination.
14498
14499 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
14500
14501 * charset.c (Fmake_char): Make it more backward compatible.
14502 (Fmap_charset_chars): Fix docstring.
14503
14504 2008-02-01 Dave Love <fx@gnu.org>
14505
14506 * coding.c: Doc fixes.
14507 (Fdefine_coding_system_alias): Use names, not symbols, in
14508 coding-system-alist.
14509
14510 2008-02-01 Kenichi Handa <handa@m17n.org>
14511
14512 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
14513 of calling free_realized_face.
14514
14515 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
14516
14517 * charset.c (read_hex): Don't treat SPC as a comment starter.
14518 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
14519 (Fdecode_char): Fix typo.
14520
14521 2008-02-01 Kenichi Handa <handa@m17n.org>
14522
14523 * charset.h (struct charset): New member `code_space_mask'.
14524
14525 * coding.c (coding_set_source): Delete the local variable beg_byte.
14526 (encode_coding_charset, Fdefine_coding_system_internal):
14527 Delete the local variable charset.
14528 (Fdefine_coding_system_internal): Setup
14529 attrs[coding_attr_charset_valids] correctly.
14530
14531 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
14532 member to check if CODE is valid or not.
14533 (Fdefine_charset_internal): Initialize `code_space_mask' member.
14534 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
14535 is within the range of charset->min_code and carset->max_code.
14536
14537 2008-02-01 Dave Love <fx@gnu.org>
14538
14539 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
14540
14541 * dispextern.h (generate_ascii_font): Fix return type.
14542
14543 * xfaces.c (generate_ascii_font): Fix arg declaration.
14544
14545 * coding.c (coding_inherit_eol_type)
14546 (Fset_terminal_coding_system_internal)
14547 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
14548
14549 2008-02-01 Kenichi Handa <handa@m17n.org>
14550
14551 * coding.c (decode_coding_charset, encode_coding_charset): Handle
14552 multiple charsets correctly.
14553
14554 2008-02-01 Kenichi Handa <handa@m17n.org>
14555
14556 * search.c (boyer_moore): Fix handling of multibyte character
14557 translation.
14558
14559 * xdisp.c (display_mode_element): When the variable `elt' is
14560 changed, update `this' and `lisp_string'.
14561
14562 2008-02-01 Kenichi Handa <handa@m17n.org>
14563
14564 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
14565
14566 * callproc.c (Fcall_process): Be sure to give the current buffer
14567 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
14568
14569 * charset.c (struct charset_map_entries): New struct.
14570 (load_charset_map): Rename from parse_charset_map. New args
14571 entries and n_entries. Change caller.
14572 (load_charset_map_from_file): Rename from load_charset_map.
14573 Change caller. New arg control_flag. Call load_charset_map at
14574 the tail.
14575 (load_charset_map_from_vector): New function.
14576 (Fdefine_charset_internal): Setup charset.compact_codes_p.
14577 (encode_char): If the charset is compact, change a character index
14578 to a code point.
14579
14580 * coding.c (coding_alloc_by_making_gap): Check the case that the
14581 source and destination are the same correctly.
14582 (decode_coding_raw_text): Set coding->consumed_char and
14583 coding->consumed to 0.
14584 (produce_chars): If coding->chars_at_source is nonzero, update
14585 coding->consumed_char and coding->consumed before calling
14586 alloc_destination.
14587 (Fdefine_coding_system_alias): Register ALIAS in
14588 Vcoding_system_alist.
14589 (syms_of_coding): Define `no-conversion' coding system at the tail.
14590
14591 * fileio.c (Finsert_file_contents): Set coding_system instead of
14592 val. If the current buffer is multibyte, always call
14593 decode_coding_gap.
14594
14595 * xfaces.c (try_font_list): Give higher priority to fontset's
14596 family than face's family.
14597
14598 2008-02-01 Kenichi Handa <handa@m17n.org>
14599
14600 * callproc.c (Fcall_process): Be sure to give the current buffer
14601 to decode_coding_c_string.
14602
14603 * xfaces.c (try_font_list): Give a family specified in a fontset
14604 higher priority than a family specified in a face.
14605
14606 2008-02-01 Kenichi Handa <handa@m17n.org>
14607
14608 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
14609 Fix arguments to insert_from_buffer.
14610
14611 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
14612
14613 2008-02-01 Kenichi Handa <handa@m17n.org>
14614
14615 * coding.c (produce_chars): Set the variable `multibytep' correctly.
14616 (decode_coding_gap): Set coding->dst_multibyte correctly.
14617
14618 2008-02-01 Kenichi Handa <handa@m17n.org>
14619
14620 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
14621 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
14622 (encode_coding_utf_16): Substitute coding->default_char for
14623 non-Unicode characters.
14624 (decode_coding): Don't call record_insert here.
14625 (setup_coding_system): Initialize `surrogate' of
14626 coding->spec.utf_16 to 0.
14627 (EMIT_ONE_BYTE): Fix for multibyte case.
14628
14629 * insdel.c (insert_from_gap): Call record_insert.
14630
14631 2008-02-01 Kenichi Handa <handa@m17n.org>
14632
14633 * casefiddle.c (casify_region): Fix multibyte case.
14634
14635 * character.c (c_string_width): Add return type `int'.
14636 (char_string_with_unification): Delete arg ADVANCED.
14637
14638 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
14639 (CHAR_STRING): Adjust for the change of char_string_with_unification.
14640 (CHAR_STRING_ADVANCE): Make it do-while statement.
14641
14642 * chartab.c (sub_char_table_set_range): Optimize for the case
14643 DEPTH == 3. Add workaround code for a GCC optimization bug.
14644
14645 * charset.c (parse_charset_map): Remove an unused variable.
14646
14647 * coding.c: Delete unused variables.
14648
14649 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
14650 earlier. If inserted is zero and the coding system doesn't
14651 require flushing, don't call decode_coding_gap.
14652
14653 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
14654
14655 2008-02-01 Kenichi Handa <handa@m17n.org>
14656
14657 The following changes are for using Unicode as an internal
14658 character model, and use UTF-8 format for buffer/string
14659 representation.
14660
14661 * .gdbinit (xchartable): Adjust for the change of char table structure.
14662 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
14663
14664 * Makefile.in (obj): Add character.o and chartab.o.
14665 (lisp, shortlisp): Remove utf-8.elc.
14666 (*.o): For many files, change dependency on charset.h to
14667 character.h, and add dependency on character.h.
14668 (character.o, chartab.o): New targets.
14669
14670 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14671 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14672 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14673 of "charset.h".
14674
14675 * dired.c, filelock.c: Include "character.h".
14676
14677 * alloc.c: Include "character.h" instead of "charset.h".
14678 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14679 (syms_of_alloc): Remove defsubr for Smake_char_table.
14680
14681 * buffer.c: Include "character.h" instead of "charset.h", don't
14682 include "coding.h".
14683 (Fset_buffer_multibyte): Adjust for UTF-8.
14684
14685 * buffer.h: EXFUN Fbuffer_live_p.
14686
14687 * callproc.c: Include "character.h" instead of "charset.h".
14688 (Fcall_process): Big change for the new code-conversion APIs.
14689
14690 * casetab.c: Include "character.h" instead of "charset.h".
14691 (set_canon, set_identity, shuffle): Adjust for the new
14692 map_char_table spec.
14693 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14694 accessing the char table structure.
14695
14696 * chartab.c: New file that implements char table.
14697
14698 * category.c: Include "character.h".
14699 (copy_category_entry): New function.
14700 (copy_category_table): Call map_char_table and copy_category_entry.
14701 (Fmake_category_table): Initialize all top-level slots.
14702 (char_category_set): New function.
14703 (modify_lower_category_set): Delete.
14704 (Fmodify_category_entry): Call char_table_ref_and_range.
14705
14706 * category.h (CATEGORY_SET): Just call char_category_set.
14707
14708 * ccl.c: Include "character.h".
14709 (Qccl, Qcclp): New variables.
14710 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14711 it's less than 256.
14712 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14713 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14714 and DST type.
14715 (ccl_driver): Change types of argument, adjust code accordingly.
14716 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14717 ccl_driver.
14718 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14719
14720 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14721 New members src_multibyte, dst_multibyte, consumed, and produced.
14722 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14723 (CODING_SPEC_CCL_PROGRAM): New macro.
14724 (ccl_driver): Update prototype.
14725 (Qccl, Qcclp, Fccl_program_p): Extern them.
14726 (CHECK_CCL_PROGRAM): New macro.
14727
14728 * character.c, character.h, chartab.c: New files.
14729
14730 * charset.c: Mostly re-written. Move character and multibyte sequence
14731 handling codes to character.c.
14732
14733 * charset.h: Mostly re-written. Move character and multibyte sequence
14734 handling codes to character.h.
14735
14736 * coding.c, coding.h: Mostly re-written.
14737
14738 * composite.c: Include "character.h" instead of "charset.h".
14739 (CHAR_WIDTH): Move to character.h.
14740 (HASH_KEY, HASH_VALUE): Delete.
14741
14742 * composite.h (enum composition_method): Change order of enumeration
14743 symbols.
14744
14745 * data.c: Include "character.h" instead of "charset.h".
14746 (Faref): Call CHAR_TABLE_REF for a char table.
14747 (Faset): Call CHAR_TABLE_SET for a char table.
14748
14749 * dispextern.h (free_realized_face, check_face_attribytes)
14750 (generate_ascii_font): Extern them.
14751 (free_realized_multibyte_face): Delete extern.
14752
14753 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14754 table structure.
14755
14756 * editfns.c: Include "character.h" instead of "charset.h".
14757 (Fchar_to_string): Always call CHAR_STRING.
14758
14759 * emacs.c (main): Call init_charset_once, init_charset,
14760 syms_of_chartab, and syms_of_character.
14761
14762 * fileio.c: Include "character.h" instead of "charset.h".
14763 (Finsert_file_contents): Big change for the new code-conversion API.
14764 (choose_write_coding_system, Fwrite_region): Likewise.
14765 (build_annotations_2): Delete.
14766 (e_write): Big change for the new code-conversion API.
14767
14768 * fns.c: Include "character.h" instead of "charset.h".
14769 (copy_sub_char_table): Move to chartab.c.
14770 (Fcopy_sequence): Call copy_char_table for a char table.
14771 (concat): Delete codes calling count_multibyte.
14772 (string_char_to_byte, string_byte_to_char): Adjust for the new
14773 multibyte form.
14774 (internal_equal): Adjust for the change of char table structure.
14775 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
14776 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
14777 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
14778 (char_table_translate, optimize_sub_char_table)
14779 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
14780 chartab.c.
14781 (char_table_ref_and_index): Delete.
14782 (HASH_KEY, HASH_VALUE): Move to lisp.h.
14783 (Fmd5): Call preferred_coding_system instead of accessing
14784 Vcoding_category_list. Adjust for the new code-conversion API.
14785 (syms_of_fns): Move defsubr for char table related functions to
14786 chartab.c.
14787
14788 * fontset.c: Mostly re-written.
14789
14790 * fontset.h (struct font_info): Change type of the member encoding_type.
14791 (enum FONT_SPEC_INDEX): New enum.
14792 (fontset_font_pattern, fs_load_font): Update prototype.
14793 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
14794
14795 * indent.c: Include "character.h" instead of "charset.h".
14796 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
14797
14798 * insdel.c: Include "character.h" instead of "charset.h".
14799 (copy_text): Don't refer to Vnonascii_translation_table.
14800 (insert_from_gap): New function.
14801
14802 * keyboard.c: Include "character.h" instead of "charset.h".
14803 (command_loop_1): Never call direct_output_forward_char before
14804 a non-ASCII character.
14805 (read_char): If Vkeyboard_translate_table is a char table, always
14806 translate a character.
14807
14808 * keymap.c: Include "character.h".
14809 (store_in_keymap): Handle the case that IDX is a cons.
14810 (Fdefine_key): Handle the case that KEY is a cons and the car part
14811 is also a cons (range).
14812 (push_key_description): Adjust for the new character code.
14813 (describe_vector): Call describe_char_table for a char table.
14814 (describe_char_table): New function.
14815
14816 * keymap.h (describe_char_table): Extern it.
14817
14818 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
14819 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
14820 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
14821 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
14822 Delete.
14823 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
14824 structure.
14825 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
14826 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
14827 (CHARTAB_SIZE_BITS_3): New macros.
14828 (chartab_size): Extern it.
14829 (struct Lisp_Char_Table): Re-design.
14830 (struct Lisp_Sub_Char_Table): New structure.
14831 (HASH_KEY, HASH_VALUE): Move from fns.c.
14832 (CHARACTERBITS): Define as 22.
14833 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
14834 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
14835 (GC_SUB_CHAR_TABLE_P): New macro.
14836 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
14837 (code_convert_string_norecord): Deleted extern.
14838 (init_character_once, syms_of_character, init_charset)
14839 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
14840
14841 * lread.c: Include "character.h".
14842 (read_multibyte): New arg NBYTES.
14843 (read_escape): Change the meaning of returned *BYTEREP.
14844 (to_multibyte): Delete.
14845 (read1): Adjust the handling of char table and string.
14846
14847 * print.c: Include "character.h" instead of "charset.h".
14848 (print_string): Convert 8-bit raw bytes to octal form by
14849 string_escape_byte8.
14850 (print_object): Adjust for the new multibyte form. Print 8-bit
14851 raw bytes always in octal form. Handle sub char table correctly.
14852
14853 * process.c: Include "character.h" instead of "charset.h".
14854 (read_process_output, send_process): Adjust for the new
14855 code-conversion API.
14856
14857 * puresize.h (BASE_PURESIZE): Increase.
14858
14859 * regex.c: Include "character.h" instead of "charset.h".
14860 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
14861 (regex_compile): Accept a range whose starting and ending
14862 character have different leading bytes.
14863 (analyse_first): Adjust for the above change.
14864
14865 * search.c: Include "character.h" instead of "charset.h".
14866 (search_buffer, boyer_moore): Adjust for the new multibyte form.
14867 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
14868
14869 * syntax.c: Include "character.h" instead of "charset.h".
14870 (syntax_parent_lookup): Delete.
14871 (Fmodify_syntax_entry): Accept a cons as CHAR.
14872 (skip_chars): Adjust for the new multibyte form.
14873 (init_syntax_once): Call char_table_set_range instead of directly
14874 accessing the structure of a char table.
14875
14876 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
14877 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
14878 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
14879 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
14880
14881 * term.c: Include "buffer.h" and "character.h".
14882 (encode_terminal_code, write_glyphs): Adjust for the new
14883 code-conversion API.
14884 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
14885
14886 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
14887
14888 * xdisp.c: Include "character.h".
14889 (get_next_display_element): Adjust for the new multibyte form.
14890 (disp_char_vector): Adjust for the new char table structure.
14891 (decode_mode_spec_coding): Adjust for the new structure of
14892 coding system.
14893 (decode_mode_spec): Adjust for the new code-conversion API.
14894
14895 * xfaces.c: Include "character.h" instead of "charset.h".
14896 (load_face_font): Adjust for the change of choose_face_font and
14897 FS_LOAD_FONT.
14898 (generate_ascii_font): New function.
14899 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
14900 (set_font_frame_param): Adjust for the change of choose_face_font.
14901 (free_realized_face): Make it public.
14902 (free_realized_faces_for_fontset): Rename from
14903 free_realized_multibyte_face. Free also faces realized for ASCII.
14904 (choose_face_font): Change arguments. Adjust for the change of
14905 fontset_font_pattern and FS_LOAD_FONT.
14906
14907 * xfns.c: Include "character.h".
14908 (x_encode_text): Adjust for the new code-conversion API.
14909
14910 * xselect.c: Don't include "charset.h".
14911 (selection_data_to_lisp_data): Adjust for the new code conversion API.
14912
14913 * xterm.c: Include "character.h".
14914 (x_encode_char): New argument CHARSET. Change caller.
14915 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
14916 Call ENCODE_CHAR instead of SPLIT_CHAR.
14917 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
14918 CHAR_WIDTH instead of CHARSET_WIDTH.
14919 (XTread_socket): Adjust for the new code-conversion API.
14920 (x_new_font): Adjust for the change of FS_LOAD_FONT.
14921 (x_load_font): Adjust for the change of struct font.
14922
14923 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
14924
14925 * xfaces.c (face_at_buffer_position): Remove unused vars.
14926
14927 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14928
14929 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
14930 Fix overflow checking.
14931
14932 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14933
14934 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
14935 Cancel previous change.
14936
14937 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14938
14939 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
14940 ccl->eight_bit_control. Fix check for buffer overflow.
14941 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
14942 (ccl_driver): Initialize extra_bytes to 0.
14943
14944 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14945
14946 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
14947 return it ORed with ctrl_modifier.
14948
14949 2008-01-29 Miles Bader <miles@gnu.org>
14950
14951 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
14952
14953 2008-01-28 Jason Rumney <jasonr@gnu.org>
14954
14955 * w32.c (stat): Don't double check for networked drive.
14956
14957 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
14958
14959 * window.c (run_window_configuration_change_hook): New function.
14960 Code extracted from set_window_buffer. Set the selected frame.
14961 (set_window_buffer): Use it.
14962 * window.h (run_window_configuration_change_hook): Declare.
14963 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
14964
14965 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
14966
14967 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
14968
14969 * Makefile.in: Remove references to unused macros.
14970
14971 2008-01-26 Eli Zaretskii <eliz@gnu.org>
14972
14973 * w32.c (g_b_init_get_sid_sub_authority)
14974 (g_b_init_get_sid_sub_authority_count): New static variables.
14975 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
14976 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
14977 (init_user_info): Use them to retrieve uid and gid.
14978 Use 500/513, the Windows defaults, as Administrator's uid/gid.
14979 (fstat): Use pw_uid and pw_gid from the_passwd structure for
14980 st_uid and st_gid of the file.
14981
14982 2008-01-26 Jason Rumney <jasonr@gnu.org>
14983
14984 * w32.c (logon_network_drive): New function.
14985 (stat): Use it.
14986
14987 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
14988
14989 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
14990 invisible text covered with an ellipsis.
14991
14992 2008-01-25 Richard Stallman <rms@gnu.org>
14993
14994 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
14995 jump back to beginning. Move some other initializations after that.
14996 (Qwindow_text_change_functions, Vwindow_text_change_functions):
14997 New variables.
14998 (syms_of_xdisp): Init them.
14999
15000 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
15001
15002 * buffer.c (reset_buffer_local_variables):
15003 Implement `permanent-local-hook'.
15004 (Qpermanent_local_hook): New variable.
15005 (syms_of_buffer): Init and staticpro it.
15006
15007 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
15008
15009 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
15010
15011 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
15012
15013 * fns.c (Fclrhash): Return TABLE.
15014
15015 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15016
15017 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
15018 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
15019 is set even without positional changes.
15020 (x_scroll_bar_clear): Set bar->redraw_needed_p.
15021
15022 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
15023
15024 2008-01-23 Jason Rumney <jasonr@gnu.org>
15025
15026 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
15027
15028 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
15029 the unicode range available in MULE by locale-coding-system.
15030 Improve dbcs lead byte detection. Set event timestamp and modifiers
15031 earlier.
15032
15033 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15034
15035 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
15036 [MAC_OSX] (init_mac_osx_environment): Initialize it.
15037 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
15038 when used on child processes.
15039
15040 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
15041
15042 * dbusbind.c (Fdbus_method_return_internal): Rename from
15043 Fdbus_method_return.
15044 (Fdbus_unregister_object): Move to dbus.el.
15045 (Fdbus_call_method, Fdbus_method_return_internal)
15046 (Fdbus_send_signal): Improve debug messages.
15047
15048 2008-01-20 Martin Rudalics <rudalics@gmx.at>
15049
15050 * undo.c (undo_inhibit_record_point): New variable.
15051 (syms_of_undo): Initialize it.
15052 (record_point): Don't record point when undo_inhibit_record_point
15053 is set.
15054
15055 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
15056
15057 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
15058
15059 * xdisp.c (Qauto_hscroll_mode): New var.
15060 (syms_of_xdisp): Initialize it.
15061 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
15062 window's buffer.
15063 (hscroll_windows): Don't check automatic_hscrolling_p here.
15064
15065 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
15066 vscroll if we're setting window-buffer to the value it already has.
15067
15068 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
15069
15070 * m/intel386.h: Remove references to XENIX.
15071
15072 2008-01-17 Andreas Schwab <schwab@suse.de>
15073
15074 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
15075 instead of HAVE_X86_64_LIB64_DIR.
15076 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
15077
15078 2008-01-17 Glenn Morris <rgm@gnu.org>
15079
15080 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
15081 to HAVE_X86_64_LIB64_DIR.
15082
15083 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
15084
15085 * s/irix3-3.h:
15086 * s/irix4-0.h:
15087 * s/386-ix.h:
15088 * s/domain.h:
15089 * s/hpux9-x11r4.h:
15090 * s/hpux9shxr4.h: Remove files for systems no longer supported.
15091
15092 * sysdep.c: Remove code containing references to symbols defined
15093 by unsupported systems.
15094
15095 2008-01-16 Glenn Morris <rgm@gnu.org>
15096
15097 * coding.c (select-safe-coding-system-function): Doc fix.
15098
15099 2008-01-15 Glenn Morris <rgm@gnu.org>
15100
15101 * config.in: Revert 2008-01-13 change: this is a generated file.
15102
15103 2008-01-13 Tom Tromey <tromey@redhat.com>
15104
15105 * lisp.h: Fix typo.
15106
15107 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15108
15109 * m/sequent-ptx.h:
15110 * m/sequent.h:
15111 * s/ptx.h:
15112 * s/ptx4-2.h:
15113 * s/ptx4.h: Remove files for systems no longer supported.
15114
15115 * callproc.c (Fcall_process): Fix previous change.
15116
15117 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
15118
15119 * unexsunos4.c: Remove file, system not supported anymore.
15120
15121 * m/mips.h:
15122 * m/intel386.h:
15123 * callproc.c:
15124 * config.in:
15125 * ecrt0.c:
15126 * emacs.c:
15127 * fileio.c:
15128 * frame.c:
15129 * getpagesize.h:
15130 * keyboard.c:
15131 * lread.c:
15132 * process.c:
15133 * puresize.h:
15134 * sysdep.c:
15135 * systty.h:
15136 * syswait.h:
15137 * unexec.c:
15138 * xdisp.c:
15139 * alloc.c: Remove code containing references to symbols defined by
15140 unsupported systems.
15141
15142 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
15143
15144 * coding.c (detect_coding_mask): Fix previous change.
15145
15146 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
15147
15148 * coding.c (detect_coding_iso2022): New arg
15149 latin_extra_code_state. Allow Latin extra codes only
15150 when *latin_extra_code_state is nonzero.
15151 (detect_coding_mask): If there is a NULL byte, detect the encoding
15152 as UTF-16 or binary. If Latin extra codes exist, detect the
15153 encoding as ISO-2022 only when there's no other proper encoding is
15154 found.
15155
15156 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15157
15158 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
15159 #ifdef MAC_OS.
15160
15161 2008-01-08 Richard Stallman <rms@gnu.org>
15162
15163 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
15164
15165 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
15166
15167 * keyboard.c (parse_menu_item): Don't enclose key bindings on
15168 menu bar in parentheses.
15169
15170 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
15171
15172 * m/7300.h:
15173 * m/acorn.h:
15174 * m/alliant-2800.h:
15175 * m/alliant.h:
15176 * m/alliant1.h:
15177 * m/alliant4.h:
15178 * m/altos.h:
15179 * m/amdahl.h:
15180 * m/apollo.h:
15181 * m/att3b.h:
15182 * m/aviion-intel.h:
15183 * m/aviion.h:
15184 * m/celerity.h:
15185 * m/clipper.h:
15186 * m/cnvrgnt.h:
15187 * m/convex.h:
15188 * m/cydra5.h:
15189 * m/delta88k.h:
15190 * m/dpx2.h:
15191 * m/dual.h:
15192 * m/elxsi.h:
15193 * m/f301.h:
15194 * m/gould-np1.h:
15195 * m/gould.h:
15196 * m/i860.h:
15197 * m/ibmps2-aix.h:
15198 * m/ibmrt-aix.h:
15199 * m/ibmrt.h:
15200 * m/irist.h:
15201 * m/is386.h:
15202 * m/isi-ov.h:
15203 * m/mega68.h:
15204 * m/mg1.h:
15205 * m/news-r6.h:
15206 * m/news-risc.h:
15207 * m/news.h:
15208 * m/nh3000.h:
15209 * m/nh4000.h:
15210 * m/ns16000.h:
15211 * m/ns32000.h:
15212 * m/nu.h:
15213 * m/orion.h:
15214 * m/orion105.h:
15215 * m/paragon.h:
15216 * m/pfa50.h:
15217 * m/plexus.h:
15218 * m/pyramid.h:
15219 * m/pyrmips.h:
15220 * m/sh3el.h:
15221 * m/sps7.h:
15222 * m/sr2k.h:
15223 * m/stride.h:
15224 * m/sun1.h:
15225 * m/sun2.h:
15226 * m/sun3-68881.h:
15227 * m/sun3-fpa.h:
15228 * m/sun3-soft.h:
15229 * m/sun3.h:
15230 * m/sun386.h:
15231 * m/symmetry.h:
15232 * m/tad68k.h:
15233 * m/tahoe.h:
15234 * m/targon31.h:
15235 * m/tek4300.h:
15236 * m/tekxd88.h:
15237 * m/tower32.h:
15238 * m/tower32v3.h:
15239 * m/ustation.h:
15240 * m/wicat.h:
15241 * m/xps100.h:
15242 * s/cxux.h:
15243 * s/cxux7.h:
15244 * s/dgux.h:
15245 * s/dgux4.h:
15246 * s/dgux5-4-3.h:
15247 * s/dgux5-4r2.h:
15248 * s/esix.h:
15249 * s/esix5r4.h:
15250 * s/hiuxmpp.h:
15251 * s/hiuxwe2.h:
15252 * s/iris3-5.h:
15253 * s/iris3-6.h:
15254 * s/isc2-2.h:
15255 * s/isc3-0.h:
15256 * s/isc4-0.h:
15257 * s/isc4-1.h:
15258 * s/newsos5.h:
15259 * s/newsos6.h:
15260 * s/osf1.h:
15261 * s/osf5-0.h:
15262 * s/riscix1-1.h:
15263 * s/riscix12.h:
15264 * s/sco4.h:
15265 * s/sco5.h:
15266 * s/sunos4-0.h:
15267 * s/sunos4-1.h:
15268 * s/sunos413.h:
15269 * s/sunos4shr.h:
15270 * s/umax.h:
15271 * s/unipl5-2.h:
15272 * s/xenix.h:
15273 * cxux-crt0.s:
15274 * unexapollo.c:
15275 * unexconvex.c:
15276 * unexenix.c:
15277 * unexsni.c: Remove files for systems no longer supported.
15278
15279 * m/intel386.h: Remove references to unsupported systems.
15280
15281 * w32.c (get_emacs_configuration): Remove reference to i860.
15282
15283 * sysdep.c: Remove dead code.
15284
15285 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
15286
15287 * s/rtu.h:
15288 * m/masscomp.h: Remove files. Platform is obsolete.
15289
15290 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
15291
15292 * dbusbind.c (Fdbus_method_return): New function.
15293 (xd_read_message): Add the serial number to the event.
15294 (Fdbus_register_method): Activate the function.
15295
15296 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
15297
15298 * keyboard.c (read_key_sequence): Fix typo.
15299
15300 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
15301
15302 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
15303 (xd_signature, xd_append_arg): Handle element type detection for
15304 empty arrays.
15305 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
15306 SDATA () calls; this must be solved more general.
15307 (Fdbus_register_signal): Use SBYTES instead of strlen.
15308
15309 2008-01-03 Magnus Henoch <magnus@zemdatav>
15310
15311 * dbusbind.c (xd_append_arg): Use unsigned char instead of
15312 unsigned int for byte values (necessary for big-endian platform).
15313 (Fdbus_call_method): Handle the case of no returned arguments.
15314
15315 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15316
15317 * dbusbind.c (xd_read_message): Use non-static input_event struct.
15318
15319 2007-12-31 Magnus Henoch <mange@freemail.hu>
15320
15321 * dbusbind.c (xd_signature): Signature of variant is just "v".
15322
15323 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
15324
15325 * dbusbind.c: Fix several errors and compiler warnings.
15326 Reported by Tom Tromey <tromey@redhat.com>.
15327 (XD_ERROR, XD_DEBUG_MESSAGE)
15328 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
15329 (xd_append_arg): Part for basic D-Bus types rewritten.
15330 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
15331 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
15332 appropriate.
15333 (xd_read_message): Return Qnil. Don't signal an error; it is not
15334 useful during event reading.
15335 (Fdbus_register_signal): Signal an error if the check for
15336 FUNCTIONP fails.
15337 (Fdbus_register_method): New function. The implementation is not
15338 complete, the call of the function signals an error therefore.
15339 (Fdbus_unregister_object): New function, renamed from
15340 Fdbus_unregister_signal. The initial check signals an error, if
15341 the object is not well formed.
15342
15343 2007-12-30 Richard Stallman <rms@gnu.org>
15344
15345 * textprop.c (get_char_property_and_overlay):
15346 Signal error if POSITION is out of range in a buffer.
15347
15348 2007-12-29 Martin Rudalics <rudalics@gmx.at>
15349
15350 * w32fns.c (Fx_create_frame): Make copy of frame parameters
15351 because the original parameters are in pure storage now.
15352
15353 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15354
15355 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
15356
15357 2007-12-22 Eli Zaretskii <eliz@gnu.org>
15358
15359 * callint.c (syms_of_callint) <command-history>: Add reference to
15360 history-length in the doc string.
15361
15362 2007-12-17 Jason Rumney <jasonr@gnu.org>
15363
15364 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
15365 before passing as wParam.
15366
15367 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
15368
15369 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
15370 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
15371 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
15372 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
15373 as number.
15374 (Fdbus_call_method): Fix docstring.
15375
15376 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
15377
15378 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
15379 New macros.
15380 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
15381 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
15382 Simplify.
15383 (xd_signature): New function.
15384 (xd_append_arg): Compute also signatures. Major rewrite.
15385 (xd_retrieve_arg): Make debug messages friendly.
15386 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
15387 Check for signatures of arguments.
15388
15389 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
15390
15391 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
15392 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
15393 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
15394 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
15395 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
15396 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
15397 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
15398 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
15399 (xd_retrieve_value): Remove. Functionality included in ...
15400 (xd_append_arg): New function.
15401 (Fdbus_call_method, Fdbus_send_signal): Apply it.
15402
15403 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
15404
15405 * dbusbind.c (top): Include <stdio.h>.
15406 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
15407 dbus_message_new_method_call and dbus_message_new_signal.
15408 (Fdbus_register_signal): Rename unique_name to uname.
15409 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
15410 non-existing unique name. Fix typos in matching rule. Return an
15411 object which is useful in Fdbus_unregister_signal.
15412 (Fdbus_unregister_signal): Reimplementation, in order to remove
15413 only the corresponding entry.
15414 (Vdbus_registered_functions_table): Change the order of entries.
15415 Apply these changes in xd_read_message and Fdbus_register_signal.
15416
15417 2007-12-16 Andreas Schwab <schwab@suse.de>
15418
15419 * fileio.c (Finsert_file_contents): Fix overflow check to not
15420 depend on undefined integer overflow.
15421
15422 2007-12-14 Jason Rumney <jasonr@gnu.org>
15423
15424 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
15425 for characters above 127.
15426
15427 2007-12-13 Jason Rumney <jasonr@gnu.org>
15428
15429 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
15430 before dereferencing array.
15431 (lookup_vk_code): Remove zero comparison.
15432
15433 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
15434
15435 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
15436 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
15437 Use `unsigned int' instead of `uint'.
15438 (xd_read_message, Fdbus_register_signal): Split expressions into
15439 multiple lines before operators "&&" and "||", according to the
15440 GNU Coding Standards.
15441
15442 2007-12-14 Eli Zaretskii <eliz@gnu.org>
15443
15444 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
15445
15446 2007-12-12 Juri Linkov <juri@jurta.org>
15447
15448 * buffer.c (Frename_buffer): In interactive spec replace
15449 `read-buffer' with `read-string' that uses `buffer-name-history'
15450 as history, and the current buffer's name as default.
15451
15452 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
15453
15454 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
15455 manipulating the backtrace manually.
15456 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
15457 (struct backtrace, backtrace_list): Remove.
15458 (command_loop_1): Remove dead var `no_direct'.
15459
15460 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
15461 preserve non-built-in buffer-local variables.
15462 (Fkill_all_local_variables): Don't re-create&re-set permanent
15463 buffer-local variables.
15464
15465 2007-12-09 Juri Linkov <juri@jurta.org>
15466
15467 * buffer.c (Frename_buffer): Change interactive spec from "s" to
15468 Lisp code that uses `read-buffer' with current buffer as default.
15469
15470 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
15471
15472 * dbusbind.c (xd_read_message): Generate an event for every
15473 registered handler. There might be several handlers registered
15474 for the same signal.
15475 (Fdbus_register_signal): Don't overwrite a registration for the
15476 same signal. Add a new registration if handlers are different.
15477 (Vdbus_registered_functions_table): Rework doc string.
15478
15479 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
15480
15481 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
15482 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
15483 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
15484 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
15485 Unify argument lists.
15486 (xd_read_message, Fdbus_register_signal): Reorder and extend event
15487 arguments and hash table keys. Use unique name for service.
15488 (Fdbus_unregister_signal): Remove checks.
15489 (Vdbus_registered_functions_table): Fix doc string.
15490
15491 2007-12-05 Magnus Henoch <mange@freemail.hu>
15492
15493 * process.c (make_process): Initialize pty_flag to 0.
15494
15495 2007-12-05 Jason Rumney <jasonr@gnu.org>
15496
15497 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
15498 specified XBMs.
15499
15500 2007-12-05 Richard Stallman <rms@gnu.org>
15501
15502 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
15503
15504 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15505
15506 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
15507 New variable.
15508 (mac_try_close_socket) [MAC_OSX]: New function.
15509 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
15510 Update cfsockets_for_select. Replace invalid CFRunLoop source.
15511
15512 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
15513 Use mac_try_close_socket.
15514
15515 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15516
15517 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
15518 reloc_base.
15519 (copy_dysymtab): Compute relocation base here.
15520 (rebase_reloc_address) [__ppc64__]: New function.
15521 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
15522 changed.
15523
15524 2007-12-05 Jason Rumney <jasonr@gnu.org>
15525
15526 * w32proc.c (sys_spawnve): Quote args with wildcards.
15527
15528 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15529
15530 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
15531 __objc_* sections.
15532 (unrelocate) [_LP64]: Set relocation base to address of data segment.
15533
15534 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
15535
15536 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
15537 Move check for Vdbus_registered_functions_table to
15538 xd_read_queued_messages.
15539 (xd_read_queued_messages): Protect xd_read_message calls by
15540 internal_condition_case_1.
15541
15542 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
15543
15544 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
15545 Qdbus_system_bus and Qdbus_session_bus, respectively.
15546 (Vdbus_intern_symbols): Remove.
15547 (Vdbus_registered_functions_table): New hash table.
15548 (XD_SYMBOL_INTERN_SYMBOL): Remove.
15549 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
15550 Rewrite in order to manage registered functions by hash table
15551 Vdbus_registered_functions_table.
15552
15553 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
15554
15555 * xterm.c: Update URL to Window Manager Specification in comment.
15556
15557 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
15558
15559 * config.in (HAVE_DBUS): Add.
15560
15561 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
15562 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
15563 (obj): Add $(DBUS_OBJ).
15564 (LIBES): Add $(DBUS_LIBS).
15565 (dbusbind.o): New target.
15566
15567 * dbusbind.c: New file.
15568
15569 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
15570
15571 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
15572 (Qdbus_event): New Lisp symbol.
15573 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
15574 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
15575 (keys_of_keyboard): Define dbus-event.
15576
15577 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
15578
15579 2007-12-01 Richard Stallman <rms@gnu.org>
15580
15581 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
15582
15583 2007-11-30 Jason Rumney <jasonr@gnu.org>
15584
15585 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
15586 (w32con_reset_terminal_modes): Clear screen buffer.
15587 (w32_face_attributes): Don't use color indexes that are out of range.
15588 Only reverse the default colors.
15589
15590 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
15591 WINDOWSNT.
15592
15593 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
15594
15595 2007-11-29 Jason Rumney <jasonr@gnu.org>
15596
15597 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
15598 (w32_face_attributes): Use Vtty_defined_color_alist to determine
15599 if the terminal colors are initialized.
15600 (unspecified_fg, unspecified_bg): Remove unused declarations.
15601
15602 2007-11-29 Andreas Schwab <schwab@suse.de>
15603
15604 * keyboard.c (apply_modifiers): Fix typo.
15605
15606 2007-11-29 Richard Stallman <rms@gnu.org>
15607
15608 * keymap.c (Fcurrent_local_map): Doc fix.
15609
15610 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
15611
15612 * s/gnu-kfreebsd.h: New file.
15613
15614 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
15615
15616 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
15617 Don't cast redundantly.
15618
15619 * keyboard.c (KEY_TO_CHAR): New macro.
15620 (parse_modifiers, apply_modifiers): Accept integer arguments.
15621 (read_key_sequence): Use them to unify the "shift->unshift" mapping
15622 for chars and symbol keys.
15623 After doing such remapping, apply function-key-map again.
15624
15625 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
15626
15627 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
15628 compiled anymore.
15629
15630 2007-11-26 Andreas Schwab <schwab@suse.de>
15631
15632 * process.c (list_processes_1): Fix indentation level of the
15633 command column.
15634
15635 2007-11-23 Andreas Schwab <schwab@suse.de>
15636
15637 * editfns.c (Fformat): Handle %c specially since it requires the
15638 argument to be of type int.
15639
15640 2007-11-23 Markus Triska <markus.triska@gmx.at>
15641
15642 * emacs.c (main): Call init_editfns before init_process, since
15643 init_process sets Vprocess_connection_type depending on OS release.
15644
15645 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
15646
15647 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
15648 (find_symbol_value): Use do_symval_forwarding.
15649
15650 * data.c (set_internal): Set the value in the `cons-cell' (for
15651 Buffer_Local_values) not only for frame-local variables.
15652
15653 2007-11-22 Andreas Schwab <schwab@suse.de>
15654
15655 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
15656 values to sprintf.
15657 * keymap.c (Fsingle_key_description): Likewise.
15658 * print.c (print_object): Likewise.
15659
15660 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
15661
15662 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
15663 file for image is nil.
15664
15665 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
15666
15667 * term.c: Include stdarg.h.
15668 (fatal): Implement using varargs.
15669 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15670
15671 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15672
15673 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15674 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15675 Update call to buffer_slot_type_mismatch.
15676 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15677 (buffer_slot_type_mismatch): Update.
15678 * buffer.c (buffer_local_types): Remove.
15679 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15680 (defvar_per_buffer): Set the type in the buffer_objfwd.
15681
15682 2007-11-21 Jason Rumney <jasonr@gnu.org>
15683
15684 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15685 CreateFileMapping returns NULL on failure.
15686
15687 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15688
15689 * search.c (Fset_match_data): Remove the `evaporate' feature.
15690 (unwind_set_match_data): Don't use the `evaporate' feature.
15691
15692 2007-11-21 Jason Rumney <jasonr@gnu.org>
15693
15694 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15695
15696 * w32console.c (w32con_write_glyphs): Remove unused variables.
15697
15698 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15699
15700 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15701
15702 * s/darwin.h (MULTI_KBOARD): Remove.
15703
15704 * macfns.c (x_create_tip_frame, Fx_create_frame)
15705 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15706
15707 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15708
15709 * buffer.c (Fbuffer_local_value): Remove redundant test.
15710 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15711 than in `current-buffer' to match the comment.
15712 Do the swap using swap_in_global_binding.
15713
15714 * data.c (store_symval_forwarding, set_internal):
15715 * eval.c (specbind): Remove dead code.
15716
15717 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15718 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15719 Since we do not want to see internal Lisp_*fwd objects here.
15720
15721 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15722
15723 * sysdep.c (init_system_name): Use getaddrinfo if available.
15724
15725 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15726 (x_scroll_bar_note_movement): start, end, with, height in struct
15727 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15728
15729 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15730
15731 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15732
15733 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15734
15735 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15736 This undoes Richard's change of 14-Oct-2002.
15737
15738 * alloc.c (allocate_other_vector):
15739 * lisp.h (allocate_other_vector): Remove.
15740
15741 * window.c (struct save_window_data): Move non-lisp data to the end
15742 and make it `int' rather than Lisp_Object.
15743 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15744 Done wrap/unwrap integer values.
15745 (Fset_window_configuration, compare_window_configurations):
15746 Update use of fields to their new types.
15747
15748 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15749 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15750 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15751 (SET_SCROLL_BAR_X_WINDOW): Remove.
15752 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15753 Access the new x_window field directly.
15754 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15755 Don't wrap/unwrap integers into Lisp_Objects.
15756 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15757 (x_scroll_bar_report_motion):
15758 Don't wrap/unwrap integers into Lisp_Objects.
15759 (x_term_init): Use SDATA.
15760 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15761 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15762 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15763 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15764 * xfns.c (x_set_background_color):
15765 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15766 Access the new x_window field directly.
15767
15768 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
15769 (allocate_pseudovector): Make non-static.
15770
15771 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
15772 (allocate_pseudovector): Declare.
15773 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
15774
15775 2007-11-15 Andreas Schwab <schwab@suse.de>
15776
15777 * editfns.c (Fformat): Correctly format EMACS_INT values.
15778 Also take precision into account when formatting an integer.
15779
15780 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
15781
15782 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
15783
15784 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
15785 (syms_of_keyboard): Defsubr it.
15786
15787 * data.c (swap_in_global_binding): Fix longstanding bug where
15788 store_symval_forwarding was not called with the right second argument,
15789 thus causing objfwd-ing from being dropped.
15790
15791 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
15792
15793 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
15794 (Fx_display_pixel_height, Fx_display_planes)
15795 (Fx_display_color_cells, Fx_server_max_request_size)
15796 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15797 (Fx_display_visual_class, Fx_display_save_under):
15798 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
15799 (Fx_display_pixel_height, Fx_display_planes)
15800 (Fx_display_color_cells, Fx_server_max_request_size)
15801 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
15802 (Fx_display_mm_height, Fx_display_mm_width)
15803 (Fx_display_backing_store, Fx_display_visual_class)
15804 (Fw32_select_font, Fx_display_save_under):
15805 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
15806 (Fx_display_pixel_height, Fx_display_planes)
15807 (Fx_display_color_cells, Fx_server_max_request_size)
15808 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15809 (Fx_display_save_under): Fix typos in docstrings.
15810
15811 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
15812
15813 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
15814 corresponding to deleted entries; they are an implementation detail.
15815 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
15816 Remove variables.
15817 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
15818 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
15819 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
15820 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
15821 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
15822 (Fw32_define_rgb_color, Fw32_load_color_file)
15823 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
15824 Fix typos in docstrings.
15825 (Fx_server_version): Reflow docstring.
15826 (Fw32_shell_execute): Doc fixes.
15827
15828 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
15829
15830 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
15831 if w32_parse_hot_key returned nil.
15832
15833 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
15834
15835 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
15836
15837 2007-11-09 Jason Rumney <jasonr@gnu.org>
15838
15839 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
15840
15841 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
15842
15843 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
15844 Remove W32_SCROLL_BAR_CLICK_EVENT.
15845
15846 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
15847 Add MULTIMEDIA_KEY_EVENT.
15848
15849 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
15850 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15851 (make_lispy_event) [WINDOWSNT]: Use it to translate
15852 MULTIMEDIA_KEY_EVENT.
15853
15854 * w32term.h (WM_APPCOMMAND): Define if not already.
15855 (GET_APPCOMMAND_LPARAM): Likewise.
15856
15857 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
15858 WM_APPCOMMAND.
15859
15860 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
15861 (syms_of_w32fns): Export and initialize it.
15862 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
15863
15864 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
15865
15866 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
15867 twice.
15868
15869 * xdisp.c (handle_face_prop): Fix last change.
15870
15871 2007-11-09 Richard Stallman <rms@gnu.org>
15872
15873 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
15874 not just for after-strings and before-strings.
15875 Call face_for_overlay_string and pass the overlay to it.
15876 (handle_display_prop): Determine whether property came from an overlay.
15877 Pass OVERLAY arg to handle_single_display_spec.
15878 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
15879 (load_overlay_strings): Fill in it->string_overlays.
15880 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
15881
15882 * xfaces.c (face_for_overlay_string): Function renamed from
15883 face_at_buffer_position_no_overlays, and add arg OVERLAY.
15884
15885 * dispextern.h (struct it): New elt string_overlays.
15886 New elt from_overlay, also in stack.
15887 Rearrange a few elements.
15888 (face_for_overlay_string): Decl renamed from
15889 face_at_buffer_position_no_overlays, and add argument.
15890
15891 2007-11-09 Richard Stallman <rms@gnu.org>
15892
15893 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
15894 to get the base face for an overlay string.
15895
15896 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15897
15898 * xfaces.c (face_at_buffer_position_no_overlays): New function.
15899
15900 * xdisp.c (handle_stop): Move some code out of loop.
15901
15902 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15903
15904 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
15905 Fix conversion from Lisp object to ATSUFontID.
15906
15907 2007-11-09 Jason Rumney <jasonr@gnu.org>
15908
15909 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
15910
15911 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15912
15913 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
15914 Don't assume regions are aligned to page boundary.
15915 (print_load_command_name): Add LC_UUID if defined.
15916
15917 2007-11-09 Richard Stallman <rms@gnu.org>
15918
15919 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
15920
15921 2007-11-07 Jason Rumney <jasonr@gnu.org>
15922
15923 * s/windows95.h: Remove.
15924
15925 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
15926
15927 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
15928 abort with a message on unhandled store_type values.
15929
15930 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
15931
15932 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
15933 Remove HAVE_X11R5 and HAVE_X11R4.
15934
15935 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15936
15937 * Makefile.in: Remove references to sunfns.c and sunfns.o.
15938
15939 2007-11-01 Johan Bockgård <bojohan@gnu.org>
15940
15941 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
15942 Don't set s->stippled_p here, since it has already been set by
15943 x_set_glyph_string_gc from x_draw_glyph_string.
15944
15945 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15946
15947 * sunfns.c: Remove file.
15948
15949 * m/sun386.h:
15950 * m/sun2.h:
15951 * m/sparc.h: Remove Sun windows code.
15952
15953 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
15954
15955 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
15956 (init_keyboard): Set current_kboard's window-system to nil.
15957 (tty_read_avail_input): Typo.
15958 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
15959
15960 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
15961
15962 * s/usg5-4.h:
15963 * s/usg5-3.h:
15964 * s/ptx.h:
15965 * m/is386.h:
15966 * m/ibmps2-aix.h:
15967 * Makefile.in: Remove all mentions of X10.
15968
15969 * dispnew.c (syms_of_display): Don't mention version 10.
15970
15971 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
15972
15973 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
15974 ($(BLD)/abbrev.$(O)): Remove.
15975
15976 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
15977
15978 Rewrite abbrev.c in Elisp.
15979 * image.c (Qcount): Don't declare as extern.
15980 (syms_of_image): Initialize and staticpro `Qcount'.
15981 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
15982 * emacs.c (main): Don't call syms_of_abbrev.
15983 * Makefile.in (obj): Remove abbrev.o.
15984 (abbrev.o): Remove.
15985 * abbrev.c: Remove.
15986
15987 2007-10-26 Martin Rudalics <rudalics@gmx.at>
15988
15989 * window.c (window_min_size_2): Don't count header-line.
15990
15991 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
15992
15993 * frame.h (struct frame): Move all bit fields after the first bit
15994 field to take advantage of the available space. Group all the
15995 chars together to reduce wasted space due to padding.
15996
15997 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
15998
15999 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
16000
16001 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
16002 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
16003 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
16004 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
16005 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
16006 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
16007 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
16008 (last_marked, mark_object_loop_halt): Make static.
16009
16010 * frame.c (syms_of_frame) <delete-frame-functions>:
16011 Fix typo in docstring.
16012
16013 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
16014
16015 * w32.c (init_environment): Fix tiny memory leak.
16016 (w32_get_resource): Remove unused variable `ok'.
16017
16018 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
16019
16020 Make `window-system' into a keyboard-local variable (rather than
16021 frame-local as done originally by multi-tty).
16022
16023 * keyboard.h (struct kboard): Add Vwindow_system.
16024 * keyboard.c (init_kboard): Set a default for Vwindow_system.
16025 (mark_kboards): Mark Vwindow_system.
16026
16027 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
16028 (init_display): Don't set the obsolete `window-system' frame-param.
16029
16030 * xterm.c (x_term_init):
16031 * w32term.c (w32_create_terminal):
16032 * term.c (init_tty): Set Vwindow_system.
16033 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
16034 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
16035
16036 * xfns.c (Fx_create_frame, x_create_tip_frame):
16037 * w32fns.c (Fx_create_frame, x_create_tip_frame):
16038 * macfns.c (Fx_create_frame):
16039 Don't set the obsolete `window-system' frame-param.
16040
16041 * frame.h (Qwindow_system): Remove.
16042 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
16043 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
16044
16045 2007-10-24 Richard Stallman <rms@gnu.org>
16046
16047 * frame.c (x_figure_window_size): For fullscreen case,
16048 set USPosition | PPosition without clobbering rest of window_prompting.
16049
16050 * keyboard.c (Fcurrent_idle_time): Doc fix.
16051
16052 * print.c (Fwith_output_to_temp_buffer): Doc fix.
16053
16054 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
16055
16056 * process.c (unwind_request_sigio): Only define if __ultrix__.
16057
16058 * callproc.c (child_setup): Remove spurious *.
16059
16060 * lisp.h (Fget_text_property): Declare.
16061 (have_menus_p): Declare it here rather than in sys-dep header files.
16062 * macterm.h (have_menus_p):
16063 * msdos.h (have_menus_p):
16064 * xterm.h (have_menus_p): Remove.
16065
16066 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
16067 (Fmake_variable_frame_local): Just check the variable's const-ness
16068 rather than checking nil or t.
16069
16070 2007-10-22 Jason Rumney <jasonr@gnu.org>
16071
16072 * w32fns.c: Include math.h.
16073 (w32_abort): Declaration moved to nt/config.nt.
16074
16075 * s/ms-w32.h (HAVE_STDLIB_H): Define.
16076 (abort): Redefinition moved to nt/config.nt.
16077
16078 * m/windowsnt.h: Remove.
16079
16080 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
16081
16082 * emacs.c (Fdump_emacs): Fix typo in message.
16083 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
16084 <installation-directory>: Reflow docstring.
16085
16086 2007-10-22 Juri Linkov <juri@jurta.org>
16087
16088 * minibuf.c: Allow minibuffer default to be a list of default values.
16089 With empty input use the first element of this list as returned default.
16090 (string_to_object)
16091 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
16092 (read_minibuf): If defalt is cons, set histstring to its car.
16093 (Fread_string): If default_value is cons, set val to its car.
16094 (Fread_buffer): If def is cons, use its car.
16095 (Fcompleting_read): If defalt is cons, set val to its car.
16096
16097 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
16098
16099 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
16100
16101 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
16102
16103 * doc.c (Fdocumentation): Check for advice in all cases.
16104
16105 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
16106
16107 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
16108
16109 2007-10-19 Richard Stallman <rms@gnu.org>
16110
16111 * doc.c (Fdocumentation): Check for and handle an advised function.
16112
16113 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
16114
16115 * process.c (Fset_process_filter): Doc fix.
16116
16117 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
16118
16119 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
16120 which caused key-translation-map to applied repeatedly (thus breaking
16121 double-mode).
16122
16123 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16124
16125 * xselect.c (x_own_selection, x_handle_selection_clear)
16126 (x_clear_frame_selections):
16127 * w32menu.c (list_of_panes, list_of_items):
16128 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
16129 * textprop.c (validate_plist, interval_has_all_properties)
16130 (interval_has_some_properties, interval_has_some_properties_list)
16131 (add_properties, text_property_list):
16132 * process.c (Fget_buffer_process, list_processes_1, status_notify):
16133 * minibuf.c (Fassoc_string):
16134 * macselect.c (x_own_selection, x_clear_frame_selections)
16135 (Fx_disown_selection_internal):
16136 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
16137 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
16138
16139 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
16140
16141 * process.c: Link to libs for calling res_init() if available.
16142 (Fmake_network_process): Call res_init() before getaddrinfo or
16143 gethostbyname, if possible.
16144
16145 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
16146
16147 * lread.c (read1): Set pvectype for char_tables.
16148
16149 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
16150 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
16151 Add type checks.
16152 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
16153
16154 * alloc.c (free_misc): Use XMISCTYPE.
16155 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
16156
16157 2007-10-17 Glenn Morris <rgm@gnu.org>
16158
16159 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
16160 (syms_of_minibuf): Add Qcompletion_ignore_case.
16161 * dired.c (Qcompletion_ignore_case): Change to external.
16162 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
16163 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
16164 (Fread_file_name): Use it rather than intern'ing.
16165
16166 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
16167 (Fread_coding_system): Ignore case of user input.
16168
16169 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16170
16171 * xdisp.c (handle_display_prop): Ignore display specs after
16172 replacing one when string text is being replaced.
16173 (handle_single_display_spec): Pretend as if characters with display
16174 property haven't been consumed only when buffer text is being replaced.
16175
16176 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
16177
16178 * xfns.c (Fx_create_frame, Fx_display_list):
16179 * window.c (window_fixed_size_p, enlarge_window)
16180 (shrink_window_lowest_first):
16181 * macterm.c (init_font_name_table):
16182 * macfns.c (Fx_create_frame, Fx_display_list):
16183 * lread.c (close_load_descs):
16184 * keyboard.c (read_char_x_menu_prompt):
16185 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
16186 * coding.c (code_convert_region_unwind): Test the type of an object
16187 rather than just !NILP before extracting data from it.
16188
16189 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
16190
16191 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
16192 (XMISCANY): New macro.
16193 (XMISCTYPE): Use it.
16194 (struct Lisp_Misc_Any): New type.
16195 (union Lisp_Misc): Use it.
16196 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
16197 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
16198 (find_symbol_value, set_internal, default_value, Fset_default)
16199 (Fmake_variable_buffer_local, Fmake_local_variable)
16200 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
16201 (Flocal_variable_if_set_p, Fvariable_binding_locus):
16202 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
16203 * alloc.c (allocate_buffer): Set the size and tag.
16204 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
16205 Use XMISCANY.
16206 (die): Follow the GNU convention for error messages.
16207 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
16208 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
16209 tag any more.
16210 (set_buffer_internal_1):
16211 * frame.c (store_frame_param):
16212 * eval.c (specbind):
16213 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
16214
16215 * doc.c (Fsnarf_documentation): Simplify.
16216
16217 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
16218
16219 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
16220 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
16221
16222 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
16223
16224 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
16225
16226 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
16227
16228 * eval.c (do_autoload): Don't save autoloads.
16229
16230 * data.c (Ffset): Save autoload of the function being set.
16231
16232 2007-10-07 John Paul Wallington <jpw@pobox.com>
16233
16234 * xfns.c (x_create_tip_frame): Set the `display-type' frame
16235 parameter before setting up faces.
16236
16237 2007-10-13 Eli Zaretskii <eliz@gnu.org>
16238
16239 * ccl.c (Fregister_code_conversion_map):
16240 * keyboard.c (append_tool_bar_item): Reformat last change.
16241
16242 * lisp.h (eabs): Rename from `abs'. All callers changed.
16243
16244 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
16245
16246 * buffer.c (add_overlay_mod_hooklist):
16247 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
16248 * fontset.c (make_fontset):
16249 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
16250 (append_tool_bar_item):
16251 * macmenu.c (grow_menu_items):
16252 * w32menu.c (grow_menu_items):
16253 * xmenu.c (grow_menu_items): Use larger_vector.
16254
16255 2007-10-13 Eli Zaretskii <eliz@gnu.org>
16256
16257 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
16258 selected frame'' on MSDOS).
16259
16260 2007-10-12 Martin Rudalics <rudalics@gmx.at>
16261
16262 * frame.c (Qexplicit_name): New variable.
16263 (x_report_frame_params): Report it in parameter alist.
16264 (syms_of_frame): Intern and staticpro it.
16265
16266 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
16267
16268 * macfns.c (x_create_tip_frame): Set terminal for frame.
16269
16270 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
16271
16272 * frame.c (Qenvironment): Remove.
16273 (syms_of_frame) <Qenvironment>: Don't initialize.
16274 (Fdelete_frame): Don't treat the `environment' param specially.
16275 * frame.h (Qenvironment): Don't declare.
16276 * callproc.c (set_initial_environment): Don't set unused frame param.
16277
16278 * frame.c (Fframe_with_environment): Remove.
16279 (syms_of_frame) <Sframe_with_environment>: Don't declare.
16280
16281 * lisp.h (Fframe_with_environment): Don't declare.
16282
16283 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
16284
16285 * indent.c (indent_tabs_mode, last_known_column)
16286 (last_known_column_modified): Make static.
16287 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
16288
16289 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
16290
16291 * puresize.h (BASE_PURESIZE): Increase to 1170000.
16292
16293 2007-10-09 Jason Rumney <jasonr@gnu.org>
16294
16295 * w32term.c (x_set_window_size): Disable code that attempts to tell
16296 Lisp code about a size change before it actually happens.
16297
16298 2007-10-09 Richard Stallman <rms@gnu.org>
16299
16300 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
16301 return HANDLED_RETURN.
16302
16303 2007-10-08 Martin Rudalics <rudalics@gmx.at>
16304
16305 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
16306 when there's an unread command event.
16307
16308 * frame.c (focus_follows_mouse): Move here from frame.el to allow
16309 window autoselection act appropriately when leaving selected frame.
16310 (syms_of_frame): Initialize focus_follows_mouse.
16311 * frame.h (focus_follows_mouse): Extern it.
16312 * macterm.c (XTread_socket): When focus_follows_mouse is nil
16313 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
16314 * msdos.c (dos_rawgetc): Likewise.
16315 * w32term.c (w32_read_socket): Likewise.
16316 * xterm.c (handle_one_xevent): Likewise.
16317 * xdisp.c (syms_of_xdisp): In doc-string of
16318 mouse-autoselect-window mention focus-follows-mouse.
16319
16320 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16321
16322 * macterm.c (mac_load_query_font): Fix missing return value.
16323 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
16324 Add BLOCK_INPUT.
16325
16326 2007-10-08 Richard Stallman <rms@gnu.org>
16327
16328 * xdisp.c (get_window_cursor_type): Implement documented behavior
16329 for cursor-in-non-selected-windows = t.
16330
16331 2007-10-08 Jason Rumney <jasonr@gnu.org>
16332
16333 * w32.c (w32_get_resource): Always close registry keys.
16334
16335 2007-10-08 Jason Rumney <jasonr@gnu.org>
16336
16337 * makefile.w32-in (LIBS): Add COMCTL32.
16338
16339 * w32fns.c (globals_of_w32fns): Init common controls.
16340
16341 2007-10-08 Richard Stallman <rms@gnu.org>
16342
16343 * image.c (our_memory_buffer): Rename from omfib_buffer.
16344
16345 2007-10-08 Richard Stallman <rms@gnu.org>
16346
16347 * buffer.c (Foverlays_at): Doc fix.
16348
16349 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
16350
16351 * fns.c (Fplist_put): Preserve uneven tail data.
16352
16353 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
16354
16355 * termhooks.h (enum event_kind): Remove trailing comma.
16356
16357 * frame.h (enum): Remove trailing comma.
16358
16359 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
16360
16361 * w32proc.c (delete_child): Don't terminate threads of zombies.
16362
16363 2007-10-08 Martin Rudalics <rudalics@gmx.at>
16364
16365 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
16366
16367 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
16368 last-repeatable-command.
16369 (init_kboard): Initialize Vlast_repeatable_command.
16370 (command_loop_1): Set it to real_this_command unless that was
16371 bound to an input event.
16372 (mark_kboards): Mark it.
16373
16374 2007-10-08 Richard Stallman <rms@gnu.org>
16375
16376 * eval.c (condition-case): Doc fix.
16377
16378 2007-10-08 Masatake YAMATO <jet@gyve.org>
16379
16380 * xfaces.c (tty_supports_face_attributes_p): Fix code
16381 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
16382 was copied and not edited.
16383
16384 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
16385
16386 Add new `input-decode-map' keymap and use it for terminal
16387 escape sequences.
16388 * keyboard.h (struct kboard): Add Vinput_decode_map.
16389 Remove Vlocal_key_translation_map.
16390 * keyboard.c (read_key_sequence): Add support for input-decode-map.
16391 (init_kboard): Init input-decode-map.
16392 Replace local-key-translation-map back with key-translation-map.
16393 (syms_of_keyboard): Declare input-decode-map.
16394 Remove local-key-translation-map. Update docstrings.
16395 (mark_kboards): Mark Vinput_decode_map.
16396 Don't mark Vlocal_key_translation_map.
16397 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
16398 Replace local-key-translation-map back with key-translation-map.
16399 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
16400 Bind in input-decode-map rather than function-key-map.
16401
16402 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
16403 This was made redundant by the previous introduction of XSETPVECTYPE.
16404
16405 2007-10-09 Richard Stallman <rms@gnu.org>
16406
16407 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
16408
16409 2007-09-29 Richard Stallman <rms@gnu.org>
16410
16411 * eval.c (internal_condition_case_2, internal_condition_case_1)
16412 (internal_condition_case): Reenable abort if x_catching_errors ()
16413 to see if that really happens and why.
16414
16415 2007-10-06 Andreas Schwab <schwab@suse.de>
16416
16417 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
16418
16419 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
16420
16421 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
16422
16423 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
16424
16425 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
16426
16427 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
16428
16429 * window.h (struct window):
16430 * window.c (struct save_window_data, struct saved_window):
16431 * termhooks.h (struct terminal):
16432 * process.h (struct Lisp_Process):
16433 * frame.h (struct frame):
16434 * buffer.h (struct buffer):
16435 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
16436 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
16437 The size field of (pseudo)vectors is now unsigned.
16438 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
16439
16440 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
16441 Turn `count' into an integer.
16442
16443 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
16444 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
16445 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
16446 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
16447 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
16448
16449 * alloc.c (allocate_pseudovector): New fun.
16450 (ALLOCATE_PSEUDOVECTOR): New macro.
16451 (allocate_window, allocate_terminal, allocate_frame)
16452 (allocate_process): Use it.
16453 (mark_vectorlike): New function.
16454 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
16455 (mark_terminals): Use it.
16456 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
16457 (Fmake_byte_code): Use XSETPVECTYPE.
16458
16459 * frame.c (Fframe_parameters): Minor simplification.
16460
16461 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
16462
16463 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
16464
16465 * buffer.c (Fget_buffer_create, init_buffer_once):
16466 * lread.c (defsubr):
16467 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
16468
16469 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
16470 defined differently in the m/*.h files.
16471 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
16472 (XSETPVECTYPE): New macro.
16473 (XSETPSEUDOVECTOR): Use it.
16474
16475 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
16476 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
16477
16478 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
16479 * lread.c (defvar_per_buffer):
16480 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
16481
16482 * window.c (candidate_window_p): Only consider as visible frames that
16483 are on the same terminal.
16484
16485 * m/ibms390x.h (MARKBIT): Remove unused macro.
16486
16487 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
16488
16489 * lread.c (Fload): Fix typo in docstring.
16490
16491 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
16492
16493 * floatfns.c (Fexpt): Manually check for overflows, so that a power
16494 of a non-zero value can't yield zero.
16495
16496 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
16497
16498 * term.c (term_clear_mouse_face, term_mouse_highlight)
16499 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
16500
16501 * print.c (safe_debug_print): Use XHASH.
16502
16503 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
16504 Lisp elements such as tags.
16505 (XHASH): New macro.
16506 (EQ): Use it.
16507 (SREF, SSET, STRING_COPYIN): Use SDATA.
16508 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
16509
16510 * alloc.c (mark_terminal): Remove left-over declaration.
16511 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
16512 (allocate_vectorlike): Remove type argument. Adjust callers.
16513 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
16514 Only handle the one remaining MEM_TYPE_VECTORLIKE.
16515
16516 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
16517 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
16518 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
16519 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
16520 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
16521 Use them.
16522
16523 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
16524 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
16525 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
16526
16527 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
16528
16529 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
16530 loaded by default.
16531
16532 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
16533
16534 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
16535 on this tty.
16536 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
16537
16538 * term.c (mouse_face_window): Rename from Qmouse_face_window.
16539 Update all users.
16540 (handle_one_term_event): Use Gpm_DrawPointer.
16541 (Fgpm_mouse_start): Rename from Fterm_open_connection.
16542 Signal errors instead of returning nil. Always return nil.
16543 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
16544 Make it a noop if gpm-mouse was not activated.
16545 (syms_of_term): Update names.
16546
16547 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
16548
16549 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
16550 (init_sys_modes): Check that gpm_tty is the current tty.
16551
16552 * alloc.c (allocate_terminal): Set the vector size to only count the
16553 lisp fields. Initialize those to nil.
16554 (mark_object): Don't treat terminals specially.
16555 (mark_terminal): Remove.
16556 (mark_terminals): Use mark_object instead.
16557
16558 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
16559 the GC to the beginning.
16560
16561 * indent.h:
16562 * indent.c: Use EMACS_INT for ints coming from Elisp data.
16563
16564 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
16565
16566 2007-09-25 Jason Rumney <jasonr@gnu.org>
16567
16568 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
16569
16570 * w32console.c (create_w32cons_output): Remove.
16571
16572 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
16573
16574 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
16575 (reset_sys_modes): Use reset_terminal_modes_hook.
16576
16577 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
16578
16579 * eval.c (do_autoload): Don't output any message.
16580
16581 2007-09-24 Juri Linkov <juri@jurta.org>
16582
16583 * emacs.c (standard_args): Change priority of "--no-splash"
16584 from 40 to 3. Add "--no-desktop" with the same priority.
16585
16586 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
16587
16588 * alloc.c (gc_sweep): Check cons cell mark bits word by word
16589 and optimize the case where they are all 1.
16590
16591 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
16592
16593 * lisp.h (abs): Define if not defined.
16594 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
16595 Don't define `abs', since it's defined in lisp.h.
16596
16597 2007-09-22 Eli Zaretskii <eliz@gnu.org>
16598
16599 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
16600 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
16601 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
16602 (init_tty): Use DEV_TTY instead of "/dev/tty".
16603 [WINDOWSNT]: No need to protect from NAME arg being null.
16604
16605 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
16606
16607 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
16608 up the tty state.
16609
16610 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16611
16612 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
16613 (gpm_tty): Change its type.
16614 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
16615 (gpm_tty): Change its type and initialize it.
16616 (Fterm_open_connection): Check the frame is indeed a tty.
16617 Use the new gpm_tty.
16618 (Fterm_close_connection): Use the new gpm_tty.
16619 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
16620 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
16621
16622 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
16623
16624 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16625 underline_color, to draw strike-through.
16626
16627 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16628
16629 * lisp.h (allocate_terminal): Declare.
16630
16631 * window.c (candidate_window_p): Consider frames that are being placed
16632 by the user as somewhere between visible and iconified.
16633 (window_loop): Prefer windows on the current frame.
16634 (Fselect_window): Move the use of select-frame to the beginning so we
16635 can just delegate all the work (it'll call us back anyway).
16636
16637 * frame.c (Qdisplay_environment_variable):
16638 * frame.h (Qdisplay_environment_variable): Delete.
16639
16640 * .gdbinit (xbacktrace): Print the arg's address rather than the value
16641 of the first arg, since that value may be a union.
16642
16643 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
16644 parameter rather than Qdisplay_environment_variable. If all else
16645 fails, look for DISPLAY in initial-environment.
16646
16647 2007-09-21 Glenn Morris <rgm@gnu.org>
16648
16649 * Makefile.in (emacstool): Remove target.
16650 (lisp, shortlisp): Remove termdev.elc.
16651
16652 2007-09-21 Markus Triska <markus.triska@gmx.at>
16653
16654 * xterm.c (x_delete_display): Compile session management conditionally.
16655
16656 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
16657
16658 * callproc.c (getenv_internal_1): New function.
16659 (getenv_internal): Use it.
16660 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
16661
16662 * terminal.c (get_terminal): Don't accept ints to represent terminals.
16663 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
16664 (Fset_terminal_parameter): Work with dead terminals as well.
16665 (Fmodify_terminal_parameters): Remove.
16666
16667 * terminal.c (get_terminal): Handle terminals.
16668 Make sure the terminal returned is live.
16669 (create_terminal): Use allocate_terminal.
16670 (mark_terminals): Move to alloc.c.
16671 (delete_terminal): Use terminal->name as liveness status.
16672 NULL out fields after freeing their contents.
16673 Don't deallocate the object.
16674 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16675 rather than an int.
16676 (Fterminal_live_p): Accept non-integer arguments.
16677 (Fterminal_list): Return terminal objects rather than an ints.
16678
16679 * alloc.c (enum mem_type): New member for `terminal' objects.
16680 (allocate_terminal): New function.
16681 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16682 Handle terminals.
16683 (mark_terminal): New fun.
16684 (mark_terminals): Move from terminal.c.
16685
16686 * term.c (get_tty_terminal): Don't treat output_initial specially.
16687 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16688 (delete_tty): Use terminal->name as liveness status.
16689
16690 * termhooks.h (struct terminal): Make it into a pseudovector.
16691 Remove `deleted' replaced by checking `name's nullness.
16692
16693 * print.c (print_object): Handle terminals.
16694
16695 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16696 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16697
16698 * frame.c (make_terminal_frame):
16699 * keyboard.c (tty_read_avail_input):
16700 * w32term.c (x_delete_terminal):
16701 * xfns.c (Fx_create_frame, x_create_tip_frame):
16702 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16703
16704 2007-09-20 Glenn Morris <rgm@gnu.org>
16705
16706 * process.c (Fmake_network_process): Doc fix.
16707
16708 2007-09-19 Jason Rumney <jasonr@gnu.org>
16709
16710 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16711
16712 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16713
16714 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16715 Fix a C warning regarding variable constness.
16716
16717 * xterm.c (handle_one_xevent): Fix a C warning.
16718
16719 2007-09-18 Jason Rumney <jasonr@gnu.org>
16720
16721 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16722
16723 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16724
16725 * gtkutil.c (gdpy_def): New variable.
16726 (xg_initialize): Initialize gdpy_def.
16727 (xg_display_close): If no other display exists, set gdpy_def to a
16728 new connection.
16729
16730 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16731
16732 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16733 when we have no file name for the icon.
16734 (xg_tool_bar_expose_callback): Remove.
16735 (xg_create_tool_bar): Don't connect expose signal to
16736 xg_tool_bar_expose_callback.
16737 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16738
16739 2007-09-16 Andreas Schwab <schwab@suse.de>
16740
16741 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16742 values instead of zapping them.
16743
16744 2007-09-14 Glenn Morris <rgm@gnu.org>
16745
16746 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16747 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16748 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16749 scope and rename to omfib_buffer for clarity.
16750 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16751
16752 2007-09-14 Kenichi Handa <handa@m17n.org>
16753
16754 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16755
16756 2007-09-13 Jason Rumney <jasonr@gnu.org>
16757
16758 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16759
16760 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16761
16762 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16763 (mac_term_init): Call here instead, passing rif.
16764
16765 2007-09-13 Glenn Morris <rgm@gnu.org>
16766
16767 * s/hpux.h: No longer define `static' as nothing.
16768
16769 2007-09-13 Johan Bockgård <bojohan@gnu.org>
16770
16771 * callint.c (Fcall_interactively): Remove unused var `fun'.
16772
16773 2007-09-12 Romain Francoise <romain@orebokech.com>
16774
16775 * window.c (prefer_window_split_horizontally, display_buffer):
16776 Revert 2007-09-08 change.
16777
16778 2007-09-12 Glenn Morris <rgm@gnu.org>
16779
16780 * alloca.c: Remove file.
16781 * Makefile.in (alloca): Do not undef.
16782 (allocaobj, alloca.o): Remove.
16783 (otherobj): Remove allocaobj.
16784 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
16785 * regex.c (C_ALLOCA): Remove all references and code that was only
16786 used when this was defined.
16787 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
16788 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
16789 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
16790
16791 * Makefile.in (SOURCES, unlock, relock): Delete.
16792
16793 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
16794 (menu_grab_callback): All uses changed.
16795
16796 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
16797 (x_reply_selection_request): All uses changed.
16798
16799 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
16800
16801 * lread.c (load_warn_old_style_backquotes): Change message to look
16802 better when it appears in the middle of byte-compiler messages.
16803
16804 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
16805
16806 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
16807
16808 * xterm.c (x_create_terminal): Add comment.
16809
16810 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
16811
16812 2007-09-10 Richard Stallman <rms@gnu.org>
16813
16814 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
16815
16816 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
16817
16818 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
16819 (DEFUN): Document `intspec', use it instead of `prompt'.
16820
16821 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
16822
16823 * data.c (Finteractive_form): If the interactive specification starts
16824 with a `(', use it as a Lisp form.
16825
16826 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
16827 name and file modes.
16828
16829 * callint.c (Fcall_interactively): Comment fixes.
16830
16831 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
16832
16833 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
16834 and compiled functions.
16835
16836 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
16837
16838 * window.c (prefer_window_split_horizontally): New variable.
16839 (display_buffer): Consider splitting window horizontally depending
16840 on prefer_window_split_horizontally.
16841
16842 2007-09-08 Eli Zaretskii <eliz@gnu.org>
16843
16844 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
16845
16846 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16847
16848 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
16849
16850 * frame.c (x_set_frame_parameters): Check number is positive before
16851 using XFASTINT.
16852
16853 * window.c (freeze_window_start): Don't presume selected_window holds
16854 a window object.
16855 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
16856
16857 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
16858
16859 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
16860
16861 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16862
16863 * window.c (Vsplit_window_preferred_function): New var.
16864 (Fdisplay_buffer): Use it.
16865 (syms_of_window): Export, and initialize it.
16866
16867 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
16868
16869 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
16870
16871 2007-09-06 Glenn Morris <rgm@gnu.org>
16872
16873 * gtkutil.c (menu_grab_callback) <cnt>:
16874 * xselect.c (x_reply_selection_request) <cnt>: Move static
16875 variable to file scope.
16876
16877 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
16878
16879 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
16880 consistent values of selected_frame and selected_window.
16881
16882 2007-09-04 Jason Rumney <jasonr@gnu.org>
16883
16884 * w32console.c (initialize_w32_display): Zero unused hooks.
16885
16886 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16887
16888 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
16889 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
16890
16891 2007-09-04 Jason Rumney <jasonr@gnu.org>
16892
16893 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
16894 in w32console.c. Set up input. Remove XXX comments that have been
16895 confirmed as correct.
16896
16897 * s/ms-w32.h (MULTI_KBOARD): Define.
16898
16899 * w32console.c (one_and_only_w32cons): Remove.
16900 (initialize_w32_display): Take terminal argument.
16901
16902 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
16903 initialize_w32_display.
16904 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
16905
16906 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
16907
16908 * keyboard.c (discard_mouse_events): Discard it.
16909 (make_lispy_event): Translate it to a lisp event.
16910 (lispy_wheel_names): Add wheel-left and right events.
16911 (syms_of_keyboard): Enlarge wheel_syms.
16912
16913 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
16914 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
16915
16916 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
16917
16918 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
16919 from WM_MOUSEHWHEEL.
16920 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
16921
16922 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
16923 terminal.
16924
16925 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
16926 keyboard for the terminal.
16927
16928 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16929
16930 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
16931 (Vresume_tty_hook): Rename from Vresume_tty_functions.
16932 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
16933 and resume-tty-function to resume-tty-hook.
16934 (Fsuspend_tty, Fresume_tty): Use new names.
16935
16936 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
16937
16938 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
16939 if it starts with "n:".
16940
16941 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
16942
16943 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
16944
16945 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
16946
16947 * frame.h:
16948 * frame.c (Qterm_environment_variable): Remove.
16949 (syms_of_frame): Don't init and staticpro it.
16950
16951 * callproc.c (getenv_internal): Remove special case for $TERM.
16952
16953 * callproc.c (Vinitial_environment): New variable.
16954 (set_initial_environment): Initialize it.
16955 (syms_of_callproc): Declare it.
16956 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
16957 TERM under which a process runs is never related to the TERM in which
16958 Emacs is running.
16959
16960 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16961
16962 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
16963 * s/darwin.h: ... do it here.
16964
16965 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
16966
16967 * lisp.h (set_initial_environment): Rename from set_global_environment.
16968
16969 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
16970 removed by mistake on the multi-tty branch.
16971
16972 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
16973 (Fmodify_frame_parameters): Return a value.
16974
16975 * image.c (png_load): Comment-out var only used in commented-out code.
16976
16977 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
16978 before passing it to mark_object.
16979
16980 * xfaces.c (internal_resolve_face_name): Return a value.
16981 (internal_resolve_face_name, resolve_face_name_error): Comment out.
16982
16983 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
16984 (x_icon): Comment-out var only used in commented-out code.
16985
16986 2007-08-29 Romain Francoise <romain@orebokech.com>
16987
16988 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
16989 QUIT hasn't been provided.
16990
16991 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16992
16993 * callproc.c (child_setup, getenv_internal): Use the
16994 display-environment-variable and term-environment-variable frame params.
16995 (set_initial_environment): Initialise Vprocess_environment.
16996
16997 * config.in: Disable multi-keyboard support on a mac.
16998
16999 * frame.c (Qterm_environment_variable)
17000 (Qdisplay_environment_variable): New variables.
17001 (syms_of_frame): Intern and staticpro them.
17002 (Fmake_terminal_frame): Disable output method test.
17003
17004 * frame.h: Declare them here.
17005
17006 * macfns.c (x_set_mouse_color): Get rif from the frame.
17007 (x_set_tool_bar_lines): Don't use updating_frame.
17008 (mac_window): Add 2 new parameters for consistency with other systems.
17009 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
17010 frame parameters following what is done in X11 and w32. Don't use
17011 FRAME_MAC_DISPLAY_INFO.
17012 (Fx_open_connection, start_hourglass): Remove window-system check.
17013 (x_create_tip_frame): Get the keyboard from the terminal.
17014
17015 * macmenu.c: Reorder includes.
17016 (Fx_popup_menu): Use terminal specific mouse_position_hook.
17017
17018 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
17019 terminal parameter.
17020 (x_clear_frame): Add a frame parameter.
17021 (note_mouse_movement): Get rif from the frame.
17022 (mac_term_init): Initialize the terminal.
17023 (mac_initialize): Make static and move terminal initialization ...
17024 (mac_create_terminal): ... to this new function.
17025
17026 * macterm.h (struct mac_display_info): Add terminal.
17027 (mac_initialize): Delete declaration.
17028
17029 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
17030
17031 * sysdep.c: Comment out text after #endif.
17032
17033 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
17034 is defined. Better initialize ttys in windows. Use terminal
17035 specific mouse_position_hook.
17036
17037 * termhooks.h (union display_info): Add mac_display_info.
17038
17039 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
17040 Set the default minibuffer frame, window_system and the rest of the
17041 frame parameters following what is done in X11.
17042
17043 * w32term.c (w32_initialize): Make static.
17044
17045 * xselect.c (x_handle_selection_clear): Only access
17046 terminal->kboard when MULTI_KBOARD is defined.
17047
17048 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
17049 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
17050
17051 2007-08-29 Jason Rumney <jasonr@gnu.org>
17052
17053 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
17054 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
17055
17056 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
17057 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
17058
17059 * keyboard.c (restore_kboard_configuration): Only define when
17060 MULTI_KBOARD defined.
17061
17062 * makefile.w32-in: Update dependancies from Makefile.in.
17063 (OBJ1): Add terminal.$(O)
17064
17065 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
17066 Don't define function body.
17067 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
17068
17069 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
17070
17071 * w32.c (request_sigio, unrequest_sigio): Remove.
17072
17073 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
17074 (w32con_clear_frame, w32con_clear_end_of_line)
17075 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
17076 (w32con_delete_glyphs, w32con_set_terminal_window)
17077 (scroll_line, w32_sys_ring_bell): Add frame arg.
17078 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
17079 Add terminal arg.
17080 (PICK_FRAME): Remove.
17081 (w32con_write_glyphs): Use frame specific terminal coding.
17082 (one_and_only_w32cons): New global variable.
17083 (initialize_w32_display): Use it for storing hooks.
17084 (create_w32cons_output): New function.
17085
17086 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
17087 arg a frame.
17088
17089 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
17090 Set window_system.
17091 (x_set_tool_bar_lines): Don't use updating_frame.
17092 (Fx_create_frame): Set terminal and ref count.
17093 (Fx_open_connection): Remove window-system check.
17094
17095 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
17096
17097 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
17098 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
17099 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
17100 Add frame arg.
17101 (x_delete_terminal, w32_create_terminal): New functions.
17102 (w32_term_init): Create a terminal.
17103 (w32_initialize): Move terminal specific initialization to
17104 w32_create_terminal.
17105
17106 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
17107 (w32_clear_rect, w32_clear_area): Use background from frame.
17108 (w32_display_info): Add terminal.
17109 (w32_sys_ring_bell, x_delete_display): Declare here.
17110
17111 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
17112
17113 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
17114
17115 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
17116
17117 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
17118 Fix get_named_tty calls for the controlling tty.
17119
17120 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
17121
17122 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
17123
17124 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
17125
17126 * term.c (tty_insert_glyphs): Add missing first parameter.
17127
17128 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
17129
17130 * buffer.c (Fbuffer_list, Fbury_buffer):
17131 Take frame->buried_buffer_list into account.
17132
17133 * cm.c (current_tty): New variable, for cmputc().
17134 (cmputc): Use it.
17135 (cmcheckmagic): Add tty parameter, look up terminal streams there.
17136 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
17137 (cmgoto): Add tty parameter. Pass it on to calccost().
17138 Use emacs_tputs() instead of tputs().
17139
17140 * cm.h (emacs_tputs): New macro to set current_tty, and then call
17141 tputs().
17142 (current_tty): New variable, for cmputc().
17143 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
17144
17145 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
17146 (internal_condition_case, internal_condition_case_1)
17147 (internal_condition_case_2): Don't abort when x_catching_errors.
17148
17149 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
17150 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
17151 prevent crashes caused by bogus longjmps in read_char.
17152
17153 * keymap.h (Fset_keymap_parent): Add EXFUN.
17154
17155 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
17156 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17157 Remove redundant definition.
17158
17159 * macfns.c (x_set_mouse_color, x_make_gc):
17160 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17161
17162 * w32term.c (x_free_frame_resources):
17163 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17164 (w32_initialize): Use the accessor macros for terminal characteristics.
17165
17166 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
17167 Use the accessor macros for terminal characteristics.
17168 * msdos.c (internal_terminal_init): Use the accessor macros for
17169 terminal characteristics.
17170 (ScreenVisualBell, internal_terminal_init):
17171 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17172
17173 * termopts.h (no_redraw_on_reenter): Declare.
17174
17175 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
17176 (mark_terminals, mark_ttys): Declare.
17177 (Fgarbage_collect): Call them.
17178 (mark_object): Mark buried_buffer_list.
17179
17180 * prefix-args.c: Include stdlib.h for exit.
17181
17182 * syssignal.h: Add comment.
17183
17184 * indent.c: Include stdio.h.
17185
17186 * window.h (Vinitial_window_system): Declare.
17187 (Vwindow_system): Delete declaration.
17188
17189 * fontset.c (Finternal_char_font): Use FRAME_RIF.
17190
17191 * image.c (lookup_image): Don't initialize `c' until the xasserts
17192 have been run.
17193
17194 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
17195 FRAME_FOREGROUND_PIXEL.
17196
17197 * print.c (print_preprocess): Don't lose print_depth levels while
17198 iterating.
17199
17200 * widget.c (update_from_various_frame_slots):
17201 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17202
17203 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
17204 frames.
17205 (window_internal_height): Remove bogus make_number call.
17206 (init_window_once): Call make_terminal_frame with two zero parameters.
17207
17208 * fileio.c (Fread_file_name): Update comment.
17209
17210 * callint.c (Fcall_interactively):
17211 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
17212 Make sure it is correctly unwound.
17213
17214 * xsmfns.c (x_session_close): New function.
17215
17216 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
17217 Delete declarations.
17218
17219 * xterm.h: Remove declaration for x_fully_uncatch_errors.
17220 (x_output): Remove background_pixel and foreground_pixel fields.
17221 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
17222 (x_delete_device, x_session_close): Declare.
17223
17224 * lread.c: Include setjmp.h. Update declaration of `read_char'.
17225 (read_filtered_event): Call `read_char' with a local
17226 `wrong_kboard_jmpbuf'.
17227
17228 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
17229 Don't call single_kboard_state. Use FRAME_RIF.
17230
17231 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
17232 systems.
17233
17234 * lisp.h (set_process_environment): Rename to `set_global_environment'.
17235 (Fframe_with_environment, Fset_input_meta_mode)
17236 (Fset_quit_char): EXFUN.
17237 (x_create_device, tty_output, terminal, tty_display_info): Declare.
17238 (init_sys_modes, reset_sys_modes): Update prototypes.
17239 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
17240
17241 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
17242 Vlocal_key_translation_map, and Vkeyboard_translate_table.
17243 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
17244 Delete declarations.
17245 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
17246 (temporarily_switch_to_single_kboard, tty_read_avail_input):
17247 New declarations.
17248
17249 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
17250 already does that during init_display(). Call syms_of_keymap
17251 before syms_of_keyboard. Call `syms_of_terminal'.
17252 Call set_initial_environment, not set_process_environment.
17253 (shut_down_emacs): Call reset_all_sys_modes() instead of
17254 reset_sys_modes().
17255
17256 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
17257 (internal_resolve_face_name, resolve_face_name_error): New functions.
17258 (resolve_face_name): Protect against loops and errors thrown by Fget.
17259 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
17260 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
17261
17262 * scroll.c: Replace CURTTY() with local variables throughout the
17263 file (where applicable).
17264 (calculate_scrolling, calculate_direct_scrolling)
17265 (scrolling_1, scroll_cost): Use the accessor macros for terminal
17266 characteristics.
17267
17268 * keymap.c (Vfunction_key_map): Remove.
17269 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
17270 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
17271 (Vkey_translation_map): Remove.
17272 (syms_of_keymap): Remove DEFVAR for key-translation-map.
17273 (Fdescribe_buffer_bindings)
17274 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
17275 Update for terminal-local key-translation-map.
17276
17277 * Makefile.in (callproc.o): Update dependencies.
17278 (lisp, shortlisp): Add termdev.elc.
17279 (obj): Add terminal.o.
17280 (terminal.o): Add dependencies.
17281 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
17282 (data.o, fns.o): Add termhooks.h dependency.
17283 (SOME_MACHINE_LISP): Add dnd.elc.
17284 (minibuf.o): Fix typo.
17285 Update dependencies.
17286
17287 * data.c (do_symval_forwarding, store_symval_forwarding)
17288 (find_symbol_value): Use the selected frame's keyboard, not
17289 current_kboard.
17290
17291 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
17292 Vwindow_system.
17293
17294 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
17295 Fmenu_bar_open.
17296 (syms_of_xmenu): Update defsubr.
17297 (mouse_position_for_popup, Fx_popup_menu)
17298 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
17299 (set_frame_menubar, free_frame_menubar)
17300 (create_and_show_popup_menu, xmenu_show)
17301 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
17302 an X frame.
17303
17304 * xselect.c (x_own_selection): Abort if not an X frame.
17305 (some_frame_on_display): Check if it is an X frame.
17306 (x_handle_selection_clear): Deal with MULTI_KBOARD.
17307
17308 * coding.c: Include frame.h and termhooks.h.
17309 (terminal_coding, keyboard_coding): Delete.
17310 (Fset_terminal_coding_system_internal)
17311 (Fset_keyboard_coding_system_internal)
17312 (Fkeyboard_coding_system)
17313 (Fterminal_coding_system): Add a terminal parameter.
17314 Get terminal_coding from the terminal.
17315 (init_coding_once): Don't call setup_coding_system here.
17316
17317 * dispextern.h (set_scroll_region, turn_off_insert)
17318 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
17319 (tty_clear_end_of_line, tty_setup_colors)
17320 (delete_tty, updating_frame)
17321 (produce_special_glyphs, produce_glyphs, write_glyphs)
17322 (insert_glyphs): Remove.
17323 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
17324 (tty_turn_off_highlight, get_tty_size): Add declaration.
17325 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
17326
17327 * frame.h (enum output_method): Add output_initial.
17328 (struct x_output): Delete.
17329 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17330 Access foreground_pixel and background_pixel directly from the frame.
17331 (tty_display): Delete.
17332 (struct frame): Add buried_buffer_list, foreground_pixel,
17333 background_pixel and terminal. Delete kboard.
17334 (union output_data): Add tty.
17335 (FRAME_KBOARD): Get the kboard from the terminal.
17336 (FRAME_INITIAL_P): New macro.
17337 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
17338 (Qterm_environment_variable, Qdisplay_environment_variable)
17339 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
17340 New declarations.
17341
17342 * termchar.h (tty_output, tty_display_info): New structures.
17343 (tty_list): Declare.
17344 (FRAME_TTY, CURTTY): New macros.
17345 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
17346 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
17347 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
17348 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
17349
17350 * callproc.c: Include frame.h and termhooks.h, for terminal
17351 parameters.
17352 (add_env): New function.
17353 (child_setup): Use it.
17354 (child_setup, getenv_internal): Handle the new Vprocess_environment.
17355 (getenv_internal): Fix get_terminal_param call.
17356 (Fgetenv_internal, egetenv): Update doc.
17357 (syms_of_callproc): Initialize Vprocess_environment to nil.
17358 Register and initialize them. Remove obsolete defvars. Update doc
17359 strings.
17360 (child_setup): Handle Vlocal_environment_variables.
17361 (getenv_internal): Add terminal parameter.
17362 Handle Vlocal_environment_variables.
17363 (Fgetenv_internal): Add terminal parameter.
17364 (child_setup, getenv_internal, Fgetenv_internal): Store the local
17365 environment in a frame (not terminal) parameter. Update doc strings.
17366 (set_initial_environment): Rename from set_global_environment.
17367 Store Emacs environment in initial frame parameter.
17368
17369 * xdisp.c (redisplay_internal): Update references to
17370 `previous_terminal_frame'.
17371 (display_mode_line, Fformat_mode_line): Replace calls to
17372 `push_frame_kboard' with `push_kboard'.
17373 (get_glyph_string_clip_rects): Add extra parentheses and
17374 braces to prevent compiler warnings.
17375 (calc_pixel_width_or_height): Add xassert to check that the
17376 frame is alive. Don't call `lookup_image' on a termcap frame.
17377 (message2_nolog, message3_nolog, redisplay_internal)
17378 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
17379 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
17380 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
17381 (Fx_display_pixel_width, Fx_display_pixel_height)
17382 (Fx_display_planes, Fx_display_color_cells)
17383 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
17384 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
17385 (Fx_display_backing_store, Fx_display_visual_class)
17386 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
17387 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
17388
17389 * xfns.c (x_set_foreground_color x_set_background_color)
17390 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
17391 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17392 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
17393 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
17394 terminal that is being deleted.
17395 (Fx_create_frame): Use `store_frame_param' to set `window-system'
17396 frame parameter, and make sure it overrides any user-supplied setting.
17397 (Fx_close_connection, Fx_synchronize): Unify argument names with
17398 the rest of the DEFUNs.
17399
17400 * dispnew.c (Fsend_string_to_terminal): Update call to
17401 `get_tty_terminal'.
17402 (Fredraw_frame, Fsend_string_to_terminal)
17403 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
17404 FRAME_TERMCAP_P and FRAME_TTY.
17405 (window_change_signal): Don't believe width/height values that are
17406 impossibly small.
17407 (Vinitial_window_system): Rename from Vwindow_system.
17408 (termscript, Wcm, rif): Delete.
17409
17410 * termhooks.h (struct terminal): New struct containing the
17411 previously global text display hooks and new members NAME,
17412 DELETED and PARAM_ALIST.
17413 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
17414 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
17415 (FRAME_RIF): New macros.
17416 (get_terminal_param, get_device): New declarations.
17417 (termscript): Delete declaration.
17418
17419 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
17420 (XTflash, x_free_frame_resources, x_scroll_bar_create)
17421 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
17422 FRAME_FOREGROUND_PIXEL.
17423 (x_fully_uncatch_errors): Disable definition.
17424 (x_scroll_bar_expose): Fix reference to foreground pixel.
17425 (XTread_socket): Disable loop on all X displays.
17426 (x_delete_terminal): Don't set terminal->deleted and let
17427 delete_terminal delete the frames on the terminal.
17428 (x_delete_display): Doc update to reflect changes in
17429 delete_terminal.
17430 (x_display_info) <terminal>: Move member earlier in the struct.
17431 (deleting_tty): Remove old variable.
17432 (Fsuspend_tty): Call clear_tty_hooks.
17433 (Fresume_tty, init_tty): Call set_tty_hooks.
17434 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
17435 errors on X frames.
17436 (x_catch_errors_unwind): Abort if x_error_message is NULL.
17437 (handle_one_xevent): Initialize `f' to NULL.
17438 (x_delete_terminal, x_create_terminal): New functions.
17439 (XTset_terminal_modes, XTreset_terminal_modes)
17440 (XTread_socket, x_connection_closed, x_term_init)
17441 (x_term_init, x_delete_display): Add terminal parameter.
17442 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
17443 X connections.
17444
17445 * frame.c: Include termchar.h.
17446 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
17447 (Qwindow_system, Qenvironment, Qterm_environment_variable)
17448 (Qdisplay_environment_variable): New vars.
17449 (Fframep): Deal with output_initial.
17450 (Fframe-live-p): Doc fix.
17451 (Fwindow-system): New function.
17452 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
17453 (make_terminal_frame): Don't create frames on a terminal that is
17454 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17455 (store_frame_param): Check for found_for_frame before calling XFRAME.
17456 (Fmake_terminal_frame): Handle NULL tty names correctly.
17457 (syms_of_frame): Enhance doc string of `default-frame-alist'.
17458 (Fdelete_frame): Remove unused variable `count'. Don't allow other
17459 frames to refer to a deleted frame in their 'environment parameter.
17460 (Fframe_with_environment): New function.
17461 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
17462 (get_future_frame_param): New function.
17463 (Fmake_terminal_frame): Use it.
17464 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
17465
17466 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
17467 * sysdep.c (reset_sys_modes): Update for renames.
17468
17469 * keyboard.c (tty_read_avail_input): New function.
17470 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
17471 (syms_of_keyboard): Defsubr them.
17472 (Fset_input_meta_mode, Fset_quit_char): New functions.
17473 (Fset_input_mode): Split to above functions.
17474 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
17475 parameter. Use it in call to `read_char'.
17476 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
17477 Set wrong_kboard_jmpbuf correctly in recursive calls.
17478 Use current_kboard to access Vkeyboard_translate_table.
17479 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
17480 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
17481 Update longjmp invocations. Remember the original current_kboard,
17482 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
17483 changes it. Comment out unnecessary calls to
17484 `record_single_kboard_state' and `any_kboard_state'.
17485 Update recursive calls.
17486 (wrong_kboard_jmpbuf): Remove global variable.
17487 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
17488 Handle deleted interrupted_kboards correctly; that is a legal
17489 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
17490 and read_char calls. Abort if interrupted_kboard died in read_char.
17491 (any_kboard_state, single_kboard_state)
17492 (push_frame_kboard): Remove function.
17493 (pop_kboard): Switch out of single_kboard mode if the kboard has
17494 been deleted. Remove unused variable. Help debugging by not
17495 changing current_kboard unnecessarily. Set current_kboard to the
17496 kboard of the selected frame when the stored kboard object has
17497 been deleted before pop_kboard.
17498 (temporarily_switch_to_single_kboard): Change first parameter to a
17499 frame pointer. Throw an error when caller wants to change kboards
17500 while in single_kboard mode. Don't push_kboard if we weren't in
17501 single kboard state. Don't pop_kboard if we popped into any
17502 kboard state.
17503 (restore_kboard_configuration): Abort if pop_kboard changed the
17504 kboard in single_kboard mode. Call pop_kboard only after setting
17505 up single_kboard mode.
17506 (Frecursive_edit): Switch to single_kboard mode only in nested
17507 command loops.
17508 (cmd_error, command_loop, command_loop_1, timer_check):
17509 Comment out unnecessary call to `any_kboard_state' and
17510 `record_single_kboard_state'.
17511 (delete_kboard): Exit single_kboard mode if we have just deleted
17512 that kboard. Use FRAME_KBOARD.
17513 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
17514 `fatal_error_signal'.
17515 (record_single_kboard_state): Don't push_kboard if we weren't in
17516 single kboard state. Don't pop_kboard if we popped into any
17517 kboard state.
17518 (push_frame_kboard): Rename to push_kboard.
17519 (kbd_buffer_get_event): Use FRAME_TERMINAL.
17520 (read_avail_input): Read input from all terminals.
17521 (mark_kboards): Also mark Vkeyboard_translate_table.
17522 (kbd_buffer_store_event_hold): Simplify condition.
17523 (read_key_sequence): Reinitialize fkey and keytran at each replay.
17524 (Vkeyboard_translate_table): Move to struct kboard.
17525 (init_kboard): Initialize Vkeyboard_translate_table.
17526 (syms_of_keyboard): Use DEFVAR_KBOARD to define
17527 Vkeyboard_translate_table. Update doc strings. Update docs of
17528 local-function-key-map and function-key-map.
17529
17530 * terminal.c: New file.
17531
17532 * term.c: Include errno.h.
17533 (Vring_bell_function, device_list, initial_device)
17534 (next_device_id, ring_bell, update_begin, update_end)
17535 (set_terminal_window, cursor_to, raw_cursor_to)
17536 (clear_to_end, clear_frame, clear_end_of_line)
17537 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
17538 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
17539 (syms_of_term): Move their initialization to terminal.c.
17540 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
17541 (Ftty_display_color_cells)
17542 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
17543 (clear_tty_hooks, set_tty_hooks)
17544 (init_tty, maybe_fatal): New functions.
17545 (Ftty_type): Return nil if terminal is not on a tty instead of
17546 throwing an error. Doc update.
17547 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
17548 Doc update. Initialize new subrs and variables.
17549 (delete_tty): Use terminal->deleted.
17550 (tty_set_terminal_modes): Rename from set_terminal_modes.
17551 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
17552 (set_scroll_region): Rename to `tty_set_scroll_region'.
17553 (turn_on_insert): Rename to `tty_turn_on_insert'.
17554 (turn_off_insert): Rename to `tty_turn_off_insert'.
17555 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
17556 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
17557 (toggle_highligh): Rename to `tty_toggle_highlight'.
17558 (background_highlight): Rename to `tty_background_highlight'.
17559 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
17560 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
17561 (tty_set_scroll_region, tty_background_highlight)
17562 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
17563 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
17564 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
17565 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
17566 Add static modifier.
17567 (tty_reset_terminal_modes, tty_set_terminal_window)
17568 (tty_set_scroll_region, tty_background_highlight)
17569 (tty_highlight_if_desired, tty_cursor_to)
17570 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
17571 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
17572 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
17573 renames.
17574
17575 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
17576
17577 * keyboard.c: Qrtl is new.
17578 (parse_tool_bar_item): Handle :rtl keyword.
17579 (syms_of_keyboard): Intern :rtl keyword.
17580
17581 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
17582
17583 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
17584 so no Lisp code is executed.
17585 (file_for_image, find_rtl_image): New functions.
17586 (xg_get_image_for_pixmap): Use file_for_image.
17587 (update_frame_tool_bar): If direction is RTL, use RTL image if
17588 defined. Use Gtk stock images if defined.
17589
17590 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17591
17592 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
17593 for nonexistent or zero-width glyph in composition glyph.
17594
17595 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
17596
17597 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
17598
17599 * xdisp.c (Finvisible_p): New function.
17600 (syms_of_xdisp): defsubr it.
17601
17602 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
17603
17604 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
17605 Doc fixes.
17606
17607 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17608
17609 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
17610
17611 2007-08-24 Martin Rudalics <rudalics@gmx.at>
17612
17613 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
17614 whether decoding has modified buffer contents.
17615
17616 2007-08-24 Jason Rumney <jasonr@gnu.org>
17617
17618 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
17619 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
17620 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
17621 (init_svg_functions) [HAVE_NTGUI]: New function.
17622 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
17623 (svg_load_image): Use them.
17624 (svg_load_image) [HAVE_NTGUI]: Implement background.
17625
17626 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17627
17628 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
17629 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
17630 (LIBX): Remove @RSVG_LIBS@.
17631 (LIBES): Add $(RSVG_LIBS).
17632
17633 * image.c (svg_load_image): Blend with specified background if exists.
17634 Use IMAGE_BACKGROUND. Add Mac OS Support.
17635
17636 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
17637 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
17638 Remove macros.
17639 [MAC_OSX] (socket_callback): Do nothing.
17640 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
17641 ReceiveNextEvent.
17642 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
17643 socket_callback.
17644 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
17645
17646 2007-08-22 Glenn Morris <rgm@gnu.org>
17647
17648 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
17649
17650 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
17651
17652 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
17653
17654 * image.c: Add support for SVG images. Some additional comments
17655 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
17656 (svg_image_p): New function to test for SVG image.
17657 (svg_load): New function to load SVG image.
17658 (svg_load_image): New function, helper for svg_load.
17659 (Qsvg): New Lisp_object.
17660 (svg_keyword_index): New enum.
17661 (svg_format): New static `image_keyword' struct.
17662 (svg_type): New static `image_type' struct.
17663 (librsvg/rsvg.h): Include it.
17664
17665 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
17666
17667 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17668
17669 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17670
17671 * lread.c (Qold_style_backquotes): New var.
17672 (syms_of_lread): Init and staticpro it.
17673 (load_warn_old_style_backquotes): New fun.
17674 (Fload): Use them to warn about old style backquotes.
17675 (end_of_file_error, Fload): Remove unused vars.
17676
17677 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17678
17679 * lread.c (Vold_style_backquotes): New var.
17680 (syms_of_lread): Init and export it to Elisp.
17681 (read1): Set it when we find an old-style (back)quote.
17682
17683 2007-08-22 Jason Rumney <jasonr@gnu.org>
17684
17685 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17686
17687 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17688
17689 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17690
17691 2007-08-19 Richard Stallman <rms@gnu.org>
17692
17693 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17694
17695 2007-08-19 Andreas Schwab <schwab@suse.de>
17696
17697 * alloc.c (pure): Round PURESIZE up.
17698
17699 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17700
17701 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17702 active frame.
17703
17704 2007-08-16 Richard Stallman <rms@gnu.org>
17705
17706 * eval.c (Fcommandp): Add parens to clarify.
17707
17708 * minibuf.c (Fall_completions): Use enum for type of table.
17709
17710 * emacs.c (USAGE2): Improve text.
17711
17712 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17713
17714 * term.c (tty_default_color_capabilities): Declare static
17715 variables in file scope, to avoid HPUX compiler problem.
17716
17717 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17718
17719 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17720 to gtk_toolbar_insert.
17721
17722 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17723
17724 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17725
17726 * insdel.c (reset_var_on_error): New fun.
17727 (signal_before_change, signal_after_change):
17728 Use it to reset (after|before)-change-functions to nil in case of error.
17729 Bind inhibit-modification-hooks to t.
17730 Don't bind (after|before)-change-functions to nil while they run.
17731
17732 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17733
17734 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17735 filling pixmap with stippled background.
17736
17737 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17738
17739 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17740 Don't use invisible frame as parent window for repositioning.
17741
17742 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17743
17744 * print.c (new_backquote_output): Rename from old_backquote_output.
17745 (print): Inverse its logic (according to its name) so as to match the
17746 behavior of new_backquote_flag in lread.c.
17747
17748 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17749
17750 * gmalloc.c (posix_memalign): New function.
17751
17752 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17753 ActivateControl/DeactivateControl here.
17754 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17755 frame-notice-user-settings is non-nil.
17756 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17757 for kEventParamFMFontStyle.
17758 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17759 mac_pass_command_to_system and mac_pass_control_to_system here.
17760 (XTread_socket): Call ActivateControl/DeactivateControl here.
17761 (XTread_socket) [TARGET_API_MAC_CARBON]:
17762 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17763 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17764 for window repositioning.
17765
17766 2007-08-08 Glenn Morris <rgm@gnu.org>
17767
17768 * Replace `iff' in doc-strings and comments.
17769
17770 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
17771
17772 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
17773
17774 2007-08-07 Martin Rudalics <rudalics@gmx.at>
17775
17776 * fileio.c (Finsert_file_contents): Run format-decode and
17777 after_insert_file_functions on entire buffer when REPLACE is
17778 non-nil and inhibit modification_hooks and point_motion_hooks.
17779 For consistency, run after_insert_file_functions iff something
17780 got inserted. Move signal_after_change and update_compositions
17781 after code running after_insert_file_functions. Make sure that
17782 undo_list doesn't record intermediate steps of the decoding process.
17783
17784 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17785
17786 * emacs.c (main)
17787 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
17788 Call malloc_enable_thread on interactive startup.
17789
17790 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
17791 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
17792 [USE_PTHREAD]: Conditionalize with it.
17793 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
17794 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
17795 New functions.
17796
17797 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
17798
17799 * xdisp.c (redisplay_window): When restoring original buffer
17800 position, make sure it is still valid.
17801
17802 * image.c (png_load): Ignore png-supplied background color.
17803
17804 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17805
17806 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
17807 Use kCFAbsoluteTimeIntervalSince1970.
17808
17809 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
17810 New variable.
17811 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
17812 event loop should be quit.
17813 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
17814 Quit dialog event loop if quit_dialog_event_loop is set.
17815
17816 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
17817 (Selection): New typedef. Use instead of ScrapRef.
17818 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
17819 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
17820 (mac_clear_selection): Rename from clear_scrap.
17821 (get_flavor_type_from_symbol): New argument SEL and subsume function of
17822 scrap_has_target_type. All uses changed.
17823 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
17824 (mac_selection_has_target_p): New functions.
17825 (mac_put_selection_value): Rename from put_scrap_string.
17826 (mac_get_selection_value): Rename from get_scrap_string.
17827 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
17828 (put_scrap_private_timestamp, scrap_has_target_type)
17829 (get_scrap_private_timestamp): Remove functions.
17830 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
17831 (x_own_selection, x_get_local_selection):
17832 Use mac_valid_selection_value_p.
17833 (x_own_selection): Don't use put_scrap_private_timestamp.
17834 Record OWNERSHIP-INFO into Vselection_alist instead.
17835 (x_get_local_selection): Don't check type if request is local.
17836 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
17837 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
17838
17839 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
17840
17841 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
17842 add comment explaining why.
17843
17844 2007-08-03 Richard Stallman <rms@gnu.org>
17845
17846 * fileio.c (Fvisited_file_modtime): Use make_time.
17847
17848 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
17849
17850 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
17851 build.
17852
17853 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
17854
17855 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
17856
17857 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
17858
17859 * puresize.h (BASE_PURESIZE): Increase to 1130000.
17860
17861 2007-07-30 Richard Stallman <rms@gnu.org>
17862
17863 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
17864
17865 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
17866
17867 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
17868
17869 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
17870
17871 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
17872 remote default-directory.
17873
17874 * buffer.c (mode-line-format): Update doc string.
17875
17876 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17877
17878 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
17879 scroll bar gap.
17880 (x_scroll_bar_create): Set bar->fringe_extended_p.
17881 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
17882 on frame edge. Check fringe background extension. Don't clear
17883 extended fringe background area.
17884
17885 * w32term.h (struct scroll_bar): New member fringe_extended_p.
17886 (w32_fill_area): Enclose multiple statements with do ... while (0).
17887
17888 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
17889 Extend fringe background to scroll bar gap.
17890 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
17891 Set bar->fringe_extended_p.
17892 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17893 Put leftmost/rightmost scroll bars on frame edge. Check fringe
17894 background extension. Don't clear extended fringe background area.
17895
17896 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17897 New member fringe_extended_p.
17898
17899 2007-07-25 Glenn Morris <rgm@gnu.org>
17900
17901 * Relicense all FSF files to GPLv3 or later.
17902
17903 * COPYING: Switch to GPLv3.
17904
17905 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
17906
17907 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
17908
17909 * data.c (Finteractive_form): Check for the presence of an
17910 `interactive-form' symbol property more thoroughly.
17911
17912 * data.c (Finteractive_form): Use an `interactive-form' property if
17913 present, analogous to the function-documentation property.
17914
17915 2007-07-24 Jason Rumney <jasonr@gnu.org>
17916
17917 * w32fns.c (x_real_positions): Get real position from OS instead of
17918 calculating it.
17919
17920 2007-07-23 Jason Rumney <jasonr@gnu.org>
17921
17922 * filelock.c (current_lock_owner): Allow for @ sign in username.
17923
17924 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
17925
17926 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
17927 remote default-directory.
17928
17929 * buffer.c (mode-line-format): Describe above case in doc string.
17930
17931 2007-07-20 Eli Zaretskii <eliz@gnu.org>
17932
17933 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
17934 Define if not defined.
17935
17936 2007-07-18 Jason Rumney <jasonr@gnu.org>
17937
17938 * w32proc.c (w32_executable_type): Handle 64 bit executables.
17939
17940 2007-07-18 Richard Stallman <rms@gnu.org>
17941
17942 * data.c (Fsetq_default): Doc fix.
17943
17944 * eval.c (Fsetq): Doc fix.
17945
17946 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
17947
17948 * coding.c (Ffind_operation_coding_system):
17949 * eval.c (For, Fand): Doc fixes.
17950 Reported by Johan Bockgård.
17951
17952 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
17953
17954 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
17955
17956 * xterm.h: Declare x_ewmh_activate_frame.
17957
17958 * xterm.c (x_ewmh_activate_frame): New function.
17959 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
17960
17961 2007-07-17 Martin Rudalics <rudalics@gmx.at>
17962
17963 * window.c (Fdisplay_buffer): If largest or LRU window is the
17964 only window, split it even if it is not eligible for splitting.
17965 This restores the original behavior broken by the 2007-07-15
17966 change.
17967
17968 2007-07-17 Glenn Morris <rgm@gnu.org>
17969
17970 * abbrev.c (abbrev_check_chars): New function.
17971 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
17972 Call abbrev_check_chars to check abbrev characters are word
17973 constituents. Doc fix.
17974
17975 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
17976
17977 * process.c (Fstart_process, Fmake_network_process)
17978 (read_process_output): Fix up last changes.
17979
17980 2007-07-16 Eli Zaretskii <eliz@gnu.org>
17981
17982 * makefile.w32-in (clean): Don't delete *~.
17983
17984 2007-07-16 Andreas Schwab <schwab@suse.de>
17985
17986 * window.c (Fdisplay_buffer): Use NILP.
17987 (Fset_window_scroll_bars): Likewise.
17988
17989 2007-07-15 Martin Rudalics <rudalics@gmx.at>
17990
17991 * window.c (window_min_size_2): New function.
17992 (window_min_size_1, size_window, Fdisplay_buffer)
17993 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
17994 windows without mode- or header-lines when window-min-height is
17995 too small.
17996 (size_window): Reset nodelete_p after testing it, following an
17997 earlier note by Kim F. Storm.
17998 (display_buffer): Do not set split_height_threshold to twice the
17999 value of window_min_height to avoid changing the value of a
18000 customizable variable. Rather explicitly check whether the
18001 height of the window that shall be splitted is at least as large
18002 as split_height_threshold.
18003 (Fwindow_full_width_p): New defun.
18004 (syms_of_window): Defsubr it.
18005
18006 * window.h: Add EXFUN for Fwindow_full_width_p.
18007
18008 2007-07-14 Jason Rumney <jasonr@gnu.org>
18009
18010 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
18011
18012 2007-07-14 Richard Stallman <rms@gnu.org>
18013
18014 * eval.c (maybe_call_debugger): New function.
18015 (find_handler_clause): Use maybe_call_debugger.
18016 Call it when the handler says `debug'.
18017 Eliminate DEBUGGER_VALUE_PTR.
18018 (Fsignal): Eliminate debugger_value.
18019 (Qdebug): New variable.
18020 (syms_of_eval): Initialize it.
18021
18022 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
18023
18024 * eval.c (Fprogn):
18025 * keyboard.c (Ftrack_mouse):
18026 * print.c (Fwith_output_to_temp_buffer):
18027 * window.c (Fsave_window_excursion): Doc fix.
18028
18029 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
18030
18031 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
18032
18033 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
18034
18035 * process.h (struct Lisp_Process): Turn slots infd, outfd,
18036 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
18037 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
18038 read_output_delay, and read_output_skip from Lisp_Objects to ints.
18039 Remove unused encoding_carryover.
18040 * process.c: Adjust all functions accordingly.
18041
18042 2007-07-12 Richard Stallman <rms@gnu.org>
18043
18044 * term.c: Include unistd.h only if HAVE_UNISTD_H.
18045
18046 2007-07-11 Jason Rumney <jasonr@gnu.org>
18047
18048 * makefile.w32-in (LIBS): Include OLE32.
18049
18050 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
18051 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
18052
18053 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
18054
18055 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
18056 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
18057 from a Lisp_Object into a bare pointer.
18058 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
18059 Adjust the code correspondingly.
18060
18061 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
18062
18063 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
18064 (term_show_mouse_face): Remove unused var `j'.
18065 (handle_one_term_event): Remove unused vars `i' and `j'.
18066 Don't cast return value of ttyname since it's not necessary.
18067
18068 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
18069
18070 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
18071 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
18072
18073 * fns.c (map_char_table): Use an array of int for `indices' rather than
18074 an array of Lisp_Objects (which are only ever integers anyway).
18075 (Fmap_char_table): Update caller.
18076 * lisp.h: Update prototype.
18077 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
18078 * fontset.c (Ffontset_info):
18079 * casetab.c (set_case_table): Update callers.
18080
18081 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
18082
18083 * keymap.c (struct accessible_keymaps_data)
18084 (struct where_is_internal_data): New structures.
18085 (accessible_keymaps_1, where_is_internal_1): Use them to change
18086 interface to adhere to the one used by map_keymap.
18087 (Faccessible_keymaps, where_is_internal): Use map_keymap.
18088 (accessible_keymaps_char_table, where_is_internal_2): Remove.
18089
18090 * keymap.h (map_keymap_function_t): More informative prototype.
18091
18092 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
18093
18094 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
18095 (looking_at_1): Don't change search_regs and last_thing_searched
18096 if `inhibit-changing-match-data' is non-nil.
18097 (string_match_1, search_buffer, set_search_regs): Likewise.
18098 (syms_of_search): Add Lisp level definition for
18099 `inhibit-changing-match-data' and set it to nil.
18100 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
18101 start and end of the match, instead of using values in search_regs.
18102
18103 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
18104
18105 * minibuf.c (Fcompleting_read): New value `confirm-only'
18106 for `require-match'.
18107
18108 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
18109
18110 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
18111 part of the 2007-06-27 change to syms_of_fileio.
18112
18113 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18114
18115 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
18116 Check WINDOWP before using XWINDOW. Consolidate return statements.
18117
18118 2007-06-27 Richard Stallman <rms@gnu.org>
18119
18120 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
18121
18122 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
18123
18124 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
18125
18126 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18127
18128 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
18129 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
18130 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
18131 (_free_internal, memalign): Use them.
18132 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
18133 Initialize to PTHREAD_MUTEX_INITIALIZER.
18134 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
18135 (morecore_nolock): Rename from morecore. All uses changed.
18136 Use only nolock versions of internal allocation functions.
18137 (_malloc_internal_nolock, _realloc_internal_nolock)
18138 (_free_internal_nolock): New functions created from
18139 _malloc_internal, _realloc_internal, and _free_internal.
18140 (_malloc_internal, _realloc_internal, _free_internal): Use them.
18141 Copy hook value to automatic variable before its use.
18142 (memalign): Copy hook value to automatic variable before its use.
18143
18144 2007-06-26 Kenichi Handa <handa@m17n.org>
18145
18146 * coding.c (Ffind_operation_coding_system): Docstring improved.
18147 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
18148
18149 2007-06-25 David Kastrup <dak@gnu.org>
18150
18151 * keymap.c (Fcurrent_active_maps): Add `position' argument.
18152 (Fwhere_is_internal): Adjust call to `current-active-maps' to
18153 cater for additional parameter.
18154
18155 * keymap.h: Adjust number of parameters to `current-active-maps'.
18156
18157 * doc.c (Fsubstitute_command_keys): Adjust call of
18158 `current-active-maps'.
18159
18160 2007-06-25 David Kastrup <dak@gnu.org>
18161
18162 * callint.c (Fcall_interactively): Make the parsing of interactive
18163 specs somewhat more readable.
18164
18165 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18166
18167 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
18168 to scroll bar gap also when bitmap fills fringe. Draw only foreground
18169 if extended background has already been filled.
18170
18171 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18172
18173 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
18174 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
18175
18176 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
18177 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
18178 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
18179 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
18180 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
18181 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
18182 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
18183 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
18184 Run timers during dialog popup.
18185 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
18186
18187 2007-06-21 Jason Rumney <jasonr@gnu.org>
18188
18189 * image.c (convert_mono_to_color_image): Swap fore and background.
18190
18191 2007-06-20 Jason Rumney <jasonr@gnu.org>
18192
18193 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
18194 (w32_free_bdf_font): Unmap memory not handle.
18195
18196 2007-06-20 Sam Steingold <sds@gnu.org>
18197
18198 * gmalloc.c (__morecore): Fix the declaration to comply with the
18199 definition.
18200
18201 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
18202
18203 * w32term.c (w32_delete_display): Remove leftover declaration.
18204 (w32_define_cursor, w32_initialize): Make static.
18205
18206 * w32.c (_wsa_errlist): Fix typo in error message.
18207 (init_environment): Ignore any environment variable from the
18208 registry having a null value.
18209
18210 2007-06-20 Glenn Morris <rgm@gnu.org>
18211
18212 * Makefile.in (LIBGIF): Default to -lgif.
18213
18214 2007-06-17 Jason Rumney <jasonr@gnu.org>
18215
18216 * w32menu.c (add_menu_item): Don't use multibyte string functions on
18217 unicode strings.
18218
18219 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
18220
18221 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
18222 Fix typo in docstring.
18223
18224 2007-06-16 Eli Zaretskii <eliz@gnu.org>
18225
18226 * w32menu.c (add_menu_item): Escape `&' characters in menu items
18227 and their keybindings.
18228
18229 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
18230
18231 * composite.c (update_compositions): Fix last fix.
18232
18233 2007-06-14 Jason Rumney <jasonr@gnu.org>
18234
18235 * w32.c (get_process_times_fn): New function pointer.
18236 (globals_of_w32): Intialize it if present in kernel32.dll.
18237 (w32_get_internal_run_time): New function.
18238
18239 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
18240
18241 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
18242
18243 * composite.c (update_compositions): Check the validness of
18244 compositions.
18245
18246 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18247
18248 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
18249 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
18250
18251 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
18252 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
18253
18254 * macgui.h (USE_MAC_TOOLBAR): New define.
18255
18256 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18257 Return immediately unless popup is activated.
18258
18259 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
18260 background to scroll bar gap.
18261 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
18262 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
18263 scroll bars on frame edge. Check fringe background extension.
18264 Don't clear extended fringe background area.
18265 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
18266 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
18267 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
18268 [USE_MAC_TOOLBAR]: New macros.
18269 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
18270 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
18271 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
18272 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
18273 [USE_MAC_TOOLBAR]: New functions.
18274 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
18275 manually if previous repositioning has failed.
18276 (mac_handle_keyboard_event): Use precomputed event kind.
18277 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
18278 as tool bar item click. Handle mouse movement over tool bar items.
18279
18280 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
18281 toolbar_win_gravity.
18282 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
18283 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
18284 Add externs.
18285
18286 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
18287 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
18288
18289 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
18290
18291 * image.c (search_image_cache): Remove unused variable.
18292
18293 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
18294
18295 * xfns.c, xmenu.c: Link to xaw3d if available.
18296
18297 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18298
18299 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
18300 frame_foreground and frame_background.
18301
18302 * image.c (lookup_image): Save frame foreground and background colors.
18303 (search_image_cache): Check if saved and current frame colors match.
18304
18305 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
18306
18307 * regex.c (regex_compile): Remove the `regnum' counter.
18308 Use bufp->re_nsub instead. Add support for \(?N:RE\).
18309
18310 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
18311
18312 * term.c: Include intervals.h to declare Fget_text_property.
18313
18314 2007-06-10 Jason Rumney <jasonr@gnu.org>
18315
18316 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
18317
18318 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
18319
18320 * callint.c (Fcall_interactively):
18321 * editfns.c (Fdelete_and_extract_region):
18322 * fileio.c (Fread_file_name):
18323 * fns.c (Fmapconcat):
18324 * keyboard.c (cmd_error_internal):
18325 * keymap.c (Fkey_description):
18326 * lread.c (openp):
18327 * minibuf.c (read_minibuf):
18328 * search.c (wordify):
18329 * sunfns.c (sel_read):
18330 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
18331 * xfns.c (x_default_scroll_bar_color_parameter):
18332 * xmenu.c (menu_help_callback):
18333 * xselect.c (Fx_get_atom_name):
18334 * xterm.c (x_term_init): Use empty_unibyte_string.
18335
18336 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
18337
18338 * alloc.c (init_strings): Initialize canonical empty strings.
18339 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
18340 canonical empty string when the requested size is 0.
18341
18342 * emacs.c (empty_unibyte_string): Rename from empty_string.
18343 (empty_multibyte_string): New canonical empty string.
18344 (syms_of_emacs): Don't initialize empty_string.
18345
18346 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
18347 string, if appropriate.
18348 (empty_unibyte_string, empty_multibyte_string): New externs.
18349 (empty_string): Remove extern.
18350
18351 * lread.c (syms_of_lread): Use empty_unibyte_string.
18352
18353 2007-06-07 Jason Rumney <jasonr@gnu.org>
18354
18355 * s/ms-w32.h: Don't define HAVE_TZNAME.
18356
18357 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
18358
18359 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18360
18361 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
18362
18363 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
18364 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
18365
18366 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18367 Don't call next handler.
18368 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
18369 Remove argument. Install handler to application.
18370 (set_frame_menubar): Don't change deep_p.
18371 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
18372 FRAME_OUTER_TO_INNER_DIFF_Y.
18373 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
18374 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
18375 [HAVE_DIALOGS]: New macros.
18376 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
18377 Use them.
18378 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
18379
18380 * macselect.c [MAC_OSX] (install_service_handler): Rename from
18381 init_service_handler. All callers changed. Return OSStatus value.
18382
18383 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
18384 All callers changed so as not to call SetPortWindowPort.
18385 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
18386 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
18387 mac_draw_string_common.
18388 (mac_draw_image_string_qd): Likewise.
18389 (mac_draw_string_common): Use them. Add INLINE.
18390 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
18391 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
18392 GetGlobalMouse.
18393 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
18394 and FRAME_OUTER_TO_INNER_DIFF_Y.
18395 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
18396 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
18397 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
18398 repositioning window to mac_handle_window_event.
18399 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
18400 saving window location to mac_handle_window_event
18401 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
18402 (install_menu_target_item_handler): Remove argument in extern.
18403 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
18404 Also accept command events.
18405 (do_keystroke): New function created from XTread_socket.
18406 (init_command_handler): Remove functions.
18407 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
18408 and save window location by kEventWindowShowing and kEventWindowHiding
18409 handlers here. Don't call next handler for window state change and
18410 focus events.
18411 (mac_handle_application_event, mac_handle_keyboard_event)
18412 [TARGET_API_MAC_CARBON]: New functions.
18413 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
18414 kEventWindowShowing and kEventWindowHiding events. Move installation
18415 of mouse, font, text input and menu target item handlers to
18416 install_application_handler.
18417 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
18418 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18419 New function.
18420 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18421 Register it.
18422 (XTread_socket) [TARGET_API_MAC_CARBON]:
18423 Consolidate SendEventToEventTarget calls.
18424 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
18425 Move application activation handler to mac_handle_application_event.
18426 Move keyboard handler to mac_handle_keyboard_event.
18427 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
18428 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
18429 init_command_handler. Call install_application_handler.
18430
18431 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
18432 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
18433
18434 2007-06-07 Glenn Morris <rgm@gnu.org>
18435
18436 * emacs.c (main): Use `emacs-copyright' in --version output.
18437
18438 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
18439
18440 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
18441
18442 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18443
18444 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
18445
18446 * macgui.h: Replace WindowPtr with WindowRef.
18447
18448 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18449 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18450 Replace ControlHandle with ControlRef.
18451 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
18452
18453 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18454 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18455 Replace ControlHandle with ControlRef.
18456 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
18457 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
18458
18459 * macterm.h (struct scroll_bar): Rename member control_handle_low
18460 and control_handle_high to control_ref_low and control_ref_high.
18461 All uses changed.
18462 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
18463 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
18464 respectively. All uses changed.
18465 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
18466 (install_window_handler, remove_window_handler): Replace WindowPtr
18467 with WindowRef in externs.
18468
18469 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
18470
18471 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
18472
18473 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
18474
18475 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
18476
18477 * frame.c (Fmouse_position, Fmouse_pixel_position):
18478 Condition on HAVE_GPM too.
18479
18480 * term.c (term_mouse_highlight): Remove unused variables.
18481 (Fterm_open_connection): Set gpm_zerobased to 1.
18482 (term_mouse_movement, term_mouse_click, handle_one_term_event):
18483 Use zero based co-ordinates.
18484 (handle_one_term_event): Report a drag as mouse movement too.
18485
18486 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
18487
18488 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
18489
18490 * image.c (search_image_cache): New function. Require background
18491 color match if background color is unspecified in the image spec.
18492 (uncache_image, lookup_image): Use it.
18493
18494 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
18495
18496 * window.c (Fshrink_window): Reflow docstring.
18497
18498 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
18499
18500 * Version 22.1 released.
18501
18502 2007-06-01 Richard Stallman <rms@gnu.org>
18503
18504 * xfns.c (x_encode_text): Add GCPRO.
18505
18506 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18507
18508 * xfns.c (x_set_name_internal): Save encoded name before
18509 x_encode_text in case string data is relocated.
18510
18511 2007-05-31 Richard Stallman <rms@gnu.org>
18512
18513 * buffer.c (syms_of_buffer): Doc fix.
18514
18515 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
18516
18517 * sysdep.c (init_sys_modes): Add rather than replace with
18518 O_NONBLOCK.
18519
18520 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
18521 term_mouse_moveto.
18522
18523 * termhooks.h (term_mouse_moveto): New extern.
18524
18525 * term.c (mouse_face_window): Rename...
18526 (Qmouse_face_window): ...to this.
18527 (term_show_mouse_face, term_clear_mouse_face)
18528 (term_mouse_highlight): Use Qmouse_face_window.
18529 (term_mouse_moveto): New function.
18530 (term_mouse_position): Make it work.
18531 (syms_of_term): Uncomment assignment to mouse_position_hook.
18532 Staticpro Qmouse_face_window.
18533
18534 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18535
18536 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
18537 around current_column call.
18538
18539 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
18540
18541 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
18542 * xdisp.c (next_element_from_buffer):
18543 * window.c (delete_window):
18544 * term.c (term_mouse_highlight):
18545 * msdos.c (getdefdir):
18546 * macterm.c (mac_create_bitmap_from_bitmap_data)
18547 (init_font_name_table):
18548 * fns.c (Fsxhash):
18549 * data.c (Fmake_local_variable):
18550 * ccl.c (ccl_driver): Likewise.
18551
18552 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18553
18554 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
18555 Call mac_wakeup_from_rne on window size change.
18556
18557 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
18558
18559 * image.c (uncache_image): Fix typo.
18560
18561 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
18562
18563 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
18564
18565 2007-05-22 Richard Stallman <rms@gnu.org>
18566
18567 * xterm.c (x_connection_closed): Remove NO_RETURN.
18568
18569 2007-05-22 Martin Rudalics <rudalics@gmx.at>
18570
18571 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
18572
18573 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
18574
18575 * image.c (uncache_image): New function.
18576 (Fimage_refresh): New function.
18577
18578 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
18579
18580 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
18581
18582 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
18583
18584 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
18585 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
18586
18587 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
18588
18589 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
18590 conditional on [HAVE_GPM_H].
18591
18592 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
18593
18594 * syntax.c (skip_chars): Update syntax-table only after we checked that
18595 the new location is valid.
18596
18597 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18598
18599 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
18600 mac_get_window_bounds.
18601
18602 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
18603
18604 * Makefile.in (LIBGPM): Allow it to be set from configure.
18605 If set then link Emacs with it.
18606
18607 * config.in: Regenerate.
18608
18609 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
18610 New externs.
18611
18612 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
18613 Include gpm.h.
18614 (handle_one_term_event, term_gpm): New externs.
18615
18616 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
18617 and allow it to be interrupted by SIGIO.
18618
18619 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
18620 (wait_reading_process_output): Wait on gpm_fd too.
18621 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
18622 (add_gpm_wait_descriptor_called_flag): New variable.
18623 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
18624
18625 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
18626 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
18627 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
18628 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
18629 (make_lispy_event): Add case GPM_CLICK_EVENT.
18630 (read_avail_input): Handle mouse input.
18631
18632 * term.c (write_glyphs_with_face): New function.
18633 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
18634 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
18635 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
18636 (mouse_face_face_id, term_gpm, pos_x, pos_y)
18637 (last_mouse_x, last_mouse_y): New variables.
18638 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
18639 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
18640 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
18641 (Fterm_close_connection): New functions.
18642 (term_init): Initialise mouse_face_window.
18643
18644 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
18645
18646 * xdisp.c (redisplay_window): If first window line is a
18647 continuation line, recompute the new window start instead of
18648 recentering.
18649
18650 2007-05-18 Glenn Morris <rgm@gnu.org>
18651
18652 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
18653 Suggested by Alfred M. Szmidt <ams@gnu.org>.
18654
18655 2007-05-17 Glenn Morris <rgm@gnu.org>
18656
18657 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
18658
18659 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18660
18661 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
18662 dead key repeat and up events.
18663
18664 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
18665
18666 * image.c (pbm_load): Check image size for monochrome pbm.
18667
18668 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
18669
18670 * xterm.c (XTread_socket): Revert last change.
18671
18672 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
18673
18674 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18675
18676 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18677
18678 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18679
18680 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18681 mixup (YAILOM).
18682
18683 2007-05-07 Andreas Schwab <schwab@suse.de>
18684
18685 * keymap.c (Flookup_key): Fix typo in last change.
18686
18687 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18688
18689 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18690 mapping for unibyte strings.
18691
18692 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18693
18694 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18695 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18696
18697 2007-04-29 Richard Stallman <rms@gnu.org>
18698
18699 * insdel.c (replace_range): For undo, record insertion first.
18700
18701 2007-04-29 Andreas Schwab <schwab@suse.de>
18702
18703 * lisp.h (VECSIZE): Use OFFSETOF.
18704
18705 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18706
18707 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18708 disabled lines.
18709
18710 2007-04-28 Richard Stallman <rms@gnu.org>
18711
18712 * lread.c (read_escape): In a string, \s is always space.
18713
18714 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18715
18716 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18717
18718 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18719 submenu for menu bar items.
18720
18721 See ChangeLog.10 for earlier changes.
18722
18723 ;; Local Variables:
18724 ;; coding: utf-8
18725 ;; add-log-time-zone-rule: t
18726 ;; End:
18727
18728 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
18729
18730 This file is part of GNU Emacs.
18731
18732 GNU Emacs is free software: you can redistribute it and/or modify
18733 it under the terms of the GNU General Public License as published by
18734 the Free Software Foundation, either version 3 of the License, or
18735 (at your option) any later version.
18736
18737 GNU Emacs is distributed in the hope that it will be useful,
18738 but WITHOUT ANY WARRANTY; without even the implied warranty of
18739 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18740 GNU General Public License for more details.
18741
18742 You should have received a copy of the GNU General Public License
18743 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18744
18745 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40