(unexec): Consider a section to precede the .bss section
[bpt/emacs.git] / src / ChangeLog
CommitLineData
bcda200f
YM
12009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * keyboard.h (add_user_signal): Fix typo in extern.
4
5 * lisp.h (add_user_signal): Remove extern.
6
7 * unexelf.c (unexec): Consider a section to precede the .bss section
8 if its addresses overlap that of .bss.
9 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
10 instead of dumping process.
11
864660a2
SM
122009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
13
14 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
15
50da4e56
SM
162009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
17
18 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
19
51520a1a
DN
202009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
21
22 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
23 any statements.
24
409ea3a1
AS
252009-05-02 Andreas Schwab <schwab@linux-m68k.org>
26
59c4c60f
AS
27 * process.c (read_process_output): Make sure the current buffer is
28 always restored.
29
409ea3a1
AS
30 * coding.c (record_conversion_result): Don't modify
31 Vlast_code_conversion_error for successful result.
32 (alloc_destination): Don't clobber conversion result. (Bug#1650)
33
56f00ed2
KH
342009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
35
36 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 37 (load_charset_map): Remove unnecessary code.
56f00ed2 38
4491c9d2
DR
392009-04-30 David Reitter <david.reitter@gmail.com>
40
35f5b128 41 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
42 through f24.
43
6970f632
CY
442009-04-30 Chong Yidong <cyd@stupidchicken.com>
45
46 * xfaces.c (face_at_buffer_position): New arg base_face_id.
47
48 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
49 face_at_buffer_position.
50 (face_before_or_after_it_pos, get_next_display_element)
51 (note_mouse_highlight): Update face_at_buffer_position call.
52
53 * term.c (term_mouse_highlight):
54 * msdos.c (IT_note_mouse_highlight):
55 * fontset.c (Finternal_char_font):
35f5b128 56 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
57
58 * dispextern.h (face_at_buffer_position): Update prototype.
59
0c616f63
KH
602009-04-30 Kenichi Handa <handa@m17n.org>
61
35f5b128 62 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 63
ad3aaf33
AS
642009-04-29 Andreas Schwab <schwab@linux-m68k.org>
65
66 * callproc.c (Fcall_process): Fix GC protection. Make sure
67 current buffer is always restored.
68
c3c963a0
YM
692009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
70
71 * atimer.c (init_atimer): Also clear stopped_atimers.
72
73 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
74
7e3386cb
YM
75 * process.c (create_process): Clean up merger residues of
76 2008-07-17 change.
77
91f68422
CY
782009-04-29 Ulrich Mueller <ulm@gentoo.org>
79
80 * lread.c (Vread_circle): New variable.
81 (read1): Disable recursive read if Vread_circle is nil.
82
24b34550
KH
832009-04-29 Kenichi Handa <handa@m17n.org>
84
85 * fontset.h (set_default_ascii_font): Delete extern.
86
87 * fontset.c (set_default_ascii_font): Delete this unused function.
88
89 * frame.c (x_set_font): When ARG is a font-object, check if the
90 font-object matches with the ASCII font-spec of the frame's
9c358bda 91 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 92
77bf07e1
AS
932009-04-28 Andreas Schwab <schwab@linux-m68k.org>
94
95 * fns.c (Flocale_info): Protect vector from GC during decoding.
96
97 * process.c (Fstart_process): Protect argv strings from GC during
98 encoding.
99
2c55aacf
AS
1002009-04-27 Andreas Schwab <schwab@linux-m68k.org>
101
102 * sysdep.c: Include <ctype.h>.
103
b892d3c9
DR
1042009-04-27 David Reitter <david.reitter@gmail.com>
105
35f5b128 106 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
107 Remove commented-out code.
108
9d0644c4
JB
1092009-04-26 Johan Bockgård <bojohan@gnu.org>
110
111 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
112
b7053016
JR
1132009-04-25 Jason Rumney <jasonr@gnu.org>
114
115 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
116
4e8231f3
YM
1172009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
118
119 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
120 Swap bytes in short integer if fringe bitmap width > 8.
121
493dcf2c
KH
1222009-04-23 Kenichi Handa <handa@m17n.org>
123
124 * xfaces.c (Fx_list_fonts): If a font size is specified in
125 PATTERN, set it in returned scalable fonts.
126
401e9e57
CY
1272009-04-22 Chong Yidong <cyd@stupidchicken.com>
128
708e05dc
CY
129 * keyboard.c (Fset_input_meta_mode): Doc fix.
130
131 * dispnew.c (Fsend_string_to_terminal): Doc fix.
132
133 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc
134 fixes.
135
136 * coding.c (Fterminal_coding_system): Doc fix.
137
138 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
139 (Fx_display_pixel_height, Fx_display_planes)
140 (Fx_display_color_cells, Fx_server_max_request_size)
141 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
142 (Fx_display_mm_height, Fx_display_mm_width)
143 (Fx_display_backing_store, Fx_display_visual_class)
144 (Fx_display_save_under, Fx_close_connection, Fx_synchronize): Doc
145 fixes, replacing "terminal id" with "terminal object".
146 (check_x_display_info): Handle terminal objects instead of
147 terminal ids.
148
401e9e57
CY
149 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
150 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
fdc496e7
CY
151 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): Doc
152 fixes, replacing "terminal id" with "terminal object".
401e9e57 153
df80c7f0
KH
1542009-04-21 Kenichi Handa <handa@m17n.org>
155
5a8f12af 156 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 157 (font_score): Check AVGWIDTH too.
908567ef 158
df80c7f0
KH
159 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
160 worst case.
161 (decode_coding_emacs_mule, decode_coding_iso_2022)
162 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
163 Likewise.
164
705af33f
JR
1652009-04-19 Jason Rumney <jasonr@gnu.org>
166
167 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 168 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
169
170 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
171 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
172 get_phys_cursor_geometry.
173
b71ac3dd 174 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
175 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
176 using get_phys_cursor_geometry.
177
178 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
179 correctly calculated.
180
dc2933eb
JD
1812009-04-19 Jan Djärv <jan.h.d@swipnet.se>
182
183 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): Use
184 G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
185 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
186 is deprecated.
187
973e7849
AS
1882009-04-18 Andreas Schwab <schwab@linux-m68k.org>
189
190 * font.c (font_put_frame_data): Use xfree instead of free.
191
314d66f4
JB
1922009-04-17 Juanma Barranquero <lekktu@gmail.com>
193
194 * w32font.c (Qja, Qko): Remove declarations.
195 (syms_of_w32font): Don't DEFSYM them.
196
cf702558
CY
1972009-04-17 Chong Yidong <cyd@stupidchicken.com>
198
199 * font.c (Qja, Qko): Move definitions here from ftfont.c.
200
201 * font.h (Qja, Qko): Extern them.
202
203 * ftfont.c (Qja, Qko): Remove declarations.
204
205 * xfont.c (Qja, Qko): Remove declarations.
206
b50504f5
KH
2072009-04-17 Kenichi Handa <handa@m17n.org>
208
bde25748
KH
209 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
210 string from a vector to handle Latin-1 characters correctly.
211
b50504f5
KH
212 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
213 entity even if the cache hits.
214
f4646fff
AS
2152009-04-16 Andreas Schwab <schwab@linux-m68k.org>
216
217 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 218 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 219
e7deaab0
AS
220 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
221 * lisp.h: Adjust prototypes.
222
0a0e7d49
CY
2232009-04-16 Chong Yidong <cyd@stupidchicken.com>
224
225 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
226 change (Bug#3003).
227
3c908a57
KH
2282009-04-16 Kenichi Handa <handa@m17n.org>
229
bd0af90d
KH
230 * xfont.c (xfont_has_char): Special handling of `ja' and `ko'
231 adstyle.
232
233 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
234 adstyle.
235
236 * ftfont.c (Qja, Qko): Don't make them static.
237 (enum ftfont_cache_for): New enum.
238 (fc_charset_table): Undo the previous change.
239 (ftfont_get_latin1_charset): Delete it.
240 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. Set
241 FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
242 non-scarable font, try to get AVERAGE_WIDTH.
243 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
244 Change ft_face_cache from a list of a hash-table. Don't check
245 `ja' and `ko' adstyle here.
246 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
247 FTFONT_CACHE_FOR_CHARET.
248 (ftfont_get_charset): Undo the previous change.
249 (ftfont_open): Call ftfont_lookup_cache with
250 FTFONT_CACHE_FOR_FACE.
251 (ftfont_close): Likewise.
252 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
253
254 * font.c (font_sort_entites): Change the meaning of the arg
255 BEST-ONLY. Don't optimize for VEC of lenght 1.
256 (font_select_entity): Just return the value of font_sort_entites.
257
258 * xfaces.c (merge_face_vectors): Reflect font properties in
259 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
260 font_clear_prop if a face attribute doesn't change.
261
3c908a57
KH
262 * charset.h (charset_ksc5601): Extern it.
263
264 * charset.c (charset_ksc5601): New variable.
265 (Fdefine_charset_internal): Set charset_ksc5601.
266 (init_charset_once): Initialize charset_ksc5601 to -1.
267
d65859c3
DN
2682009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
269
270 * fileio.c (history_delete_duplicates): Remove unused declaration.
271
272 * callint.c (history_delete_duplicates): New declaration.
273 (Fcall_interactively): Remove command history duplicates when
274 history_delete_duplicates is true.
275
3ba010e5
EZ
2762009-04-14 Eli Zaretskii <eliz@gnu.org>
277
278 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
279
06f19b91
KH
2802009-04-14 Kenichi Handa <handa@m17n.org>
281
282 * font.c (Ffont_info): Fix docstring. Fix the second element of
283 the returned value (bug#2949).
284
2cce8bfc
CY
2852009-04-14 Chong Yidong <cyd@stupidchicken.com>
286
287 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
288
d156542d
KH
2892009-04-14 Kenichi Handa <handa@m17n.org>
290
291 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
292 encoding charset is ascii_compatible.
293
294 * charset.c (Fdefine_charset_internal): Make charset
295 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
296 code_offset is 0, and covers all ASCII characters.
297
86fa089e
SM
2982009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
299
300 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
301 (ns_string_to_pasteboard_internal):
302 * nsmenu.m (process_dialog):
303 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
304 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
305 * lisp.h (Fx_load_color_file): Declare.
306
a8a3728b
KH
3072009-04-13 Kenichi Handa <handa@m17n.org>
308
309 * font.c (font_delete_unmatched): Preserve the order of list
310 elements.
311 (font_select_entity): Suppress the code to optimize for the same
312 kind of fonts.
313 (font_load_for_lface): Get a font that supports at least ASCII
314 characters.
315
316 * ftfont.c (Qja, Qko): New variables.
317 (fc_charset_table): Delete uniquifier data for iso8859-1.
318 (ftfont_get_latin1_charset): New function.
319 (get_adstyle_property): New function.
320 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
321 bitmap fonts.
322 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
323 Delete iso-8859-1 range from the charset of fonts whose adstyle is
324 `ko' or `ja'.
325 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
326 (ftfont_get_charset): For iso8859-1, call
327 ftfont_get_latin1_charset.
328 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
329 property.
330 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
331 (syms_of_ftfont): DEFSYM Qja and Qko.
332
483670b5
KH
3332009-04-09 Kenichi Handa <handa@m17n.org>
334
12b55765
KH
335 * charset.c (map_charset_chars): For a charset of `superset'
336 method, fix calculation of code range.
337
483670b5
KH
338 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
339 from the list of extra properties.
340 (font_clear_prop): Be sure to delete `:name' font property.
341
57d3b93b
KH
3422009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
343
b4b2c2ca
YM
344 * dispnew.c (redraw_overlapping_rows): Fix detection of
345 overlapping for topmost and bottommost rows.
346
57d3b93b
KH
347 * ftfont.c (ftfont_text_extents): Fix calculation of
348 metrics->descent.
349
472c3609
JR
3502009-04-06 Jason Rumney <jasonr@gnu.org>
351
352 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
353
ab193662
KH
3542009-04-06 Kenichi Handa <handa@m17n.org>
355
356 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
357
358 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
359
0c26f026
KH
3602009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
361
362 * ftfont.c (ftfont_open): Fix checking of the return value of
363 FT_Load_Char. Fix setting font->underline_thickness.
364
e173bbce
CY
3652009-04-04 Chong Yidong <cyd@stupidchicken.com>
366
367 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
368 (Fterminal_parameters, Fterminal_parameter)
369 (Fset_terminal_parameter): In doc string, refer to terminal
370 objects rather than terminal ids.
371
693a2698
EZ
3722009-04-04 Eli Zaretskii <eliz@gnu.org>
373
374 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
375 ret_lim_data. (Bug#2867)
376
d5221487
CY
3772009-04-03 Chong Yidong <cyd@stupidchicken.com>
378
379 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
380 so they don't get wider than the window, matching 2006-01-23
381 change to the partner function in xdisp.c (Bug#2800).
382
223509a3
KH
3832009-04-03 Kenichi Handa <handa@m17n.org>
384
385 * print.c (print_object): Make each lowest sub_char_table start a
386 new line (Bug#2866).
387
74fcd0b1
KH
3882009-04-02 Kenichi Handa <handa@m17n.org>
389
390 * fontset.c (fontset_font): Record no-font when a fontset
391 explicitly tells not to try another font-specs.
392
c542407d
SM
3932009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
394
395 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
396
e3869731
KH
3972009-03-30 Kenichi Handa <handa@m17n.org>
398
d8d2f142
KH
399 * fontset.c (fontset_from_font): Specify only registry in a
400 font-spec for all characters supported by that registry.
401
e3869731
KH
402 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
403 even if HAVE_M17N_FLT is not defined.
404
5da5f805
CY
4052009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
406
407 * ftfont.c: Conditionalize prototyping and use of
408 ftfont_variation_glyphs.
409
ab226c50
SM
4102009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
411
9628fed7
SM
412 * frame.c (delete_frame): Work around compiler bug.
413
414 * editfns.c (general_insert_function): Adjust to insdel.c changes.
415 * insdel.c (prepare_to_modify_buffer, signal_before_change):
416 Some more EMACS_INT.
417 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
418
419 * xdisp.c (dump_glyph): Fix typo.
420
ae19ba7c
SM
421 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
422 (adjust_markers_gap_motion, adjust_markers_for_delete)
423 (adjust_markers_for_insert, adjust_point)
424 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
425 (make_gap, copy_text, count_size_as_multibyte, insert)
426 (insert_and_inherit, insert_before_markers)
427 (insert_before_markers_and_inherit, insert_1)
428 (count_combining_before, count_combining_after, insert_1_both)
429 (insert_from_string, insert_from_string_before_markers)
430 (insert_from_string_1, insert_from_gap, insert_from_buffer)
431 (insert_from_buffer_1, adjust_after_replace)
432 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
433 (replace_range_2, del_range, del_range_1, del_range_byte)
434 (del_range_both, del_range_2, modify_region)
435 (prepare_to_modify_buffer, signal_before_change)
436 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
437 for buffer positions and sizes.
438 * lisp.h: Adjust prototypes accordingly.
439
440 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
441 (non_regular_inserted, non_regular_nbytes, read_non_regular)
442 (Finsert_file_contents): Use EMACS_INT for buffer positions.
443
ab226c50
SM
444 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
445
46dfb8fb
JD
4462009-03-27 Jan Djärv <jan.h.d@swipnet.se>
447
448 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
449 lines and columns so we keep the same pixel height and width.
450
451 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
452 the property _NET_WM_STATE has changed.
46dfb8fb
JD
453 (x_handle_net_wm_state): New function to update frame parameter
454 fullscreen.
455 (x_term_init): Initialize atoms for _NET_WM_STATE.
456
457 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
458
d347e494
SM
4592009-03-27 Kevin Ryde <user42@zip.com.au>
460
461 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
462 Gpm_GetEvent as an error that justifies closing the filedescriptor.
463 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
464 (Fgpm_mouse_stop): Pass that new parameter.
465 * termhooks.h (close_gpm): Adjust prototype.
466
84db11d6
SM
4672009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
468
c95a5008
SM
469 * lisp.h (Fx_focus_frame): Declare.
470
84db11d6
SM
471 * callint.c (Fcall_interactively): For '^' just delegate the work to
472 handle-shift-selection.
473 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
474
0a1958d6
CY
4752009-03-24 Chong Yidong <cyd@stupidchicken.com>
476
0bfdff23
CY
477 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
478
0a1958d6
CY
479 * data.c (Qinteractive_form): New variable.
480 (Finteractive_form): Use it.
481
482 * eval.c (Fcommandp): Use Qinteractive_form.
483
58aec0d6
JR
4842009-03-24 Jason Rumney <jasonr@gnu.org>
485
486 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
487 Calculate total size precisely. Decode environment variables
488 before substituting. (Bug#38)
489
553dd618
KH
4902009-03-24 Kenichi Handa <handa@m17n.org>
491
492 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 493 encoding (Bug#2722).
553dd618 494
c39ea606
JD
4952009-03-23 Jan Djärv <jan.h.d@swipnet.se>
496
497 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
498 that gdpy is set.
499
bc9b2b5e
AM
5002009-03-22 Alan Mackenzie <acm@muc.de>
501
502 * callint.c (Finteractive): Clarify the doc string - even
503 promptless elements need \n separators.
504
9f995a76
JR
5052009-03-22 Jason Rumney <jasonr@gnu.org>
506
507 * w32term.c (syms_of_w32term): Doc fix for
508 x-use-underline-position-properties.
509
22749e9a
EZ
5102009-03-21 Eli Zaretskii <eliz@gnu.org>
511
512 * w32.c (getpwuid): Change argument type to unsigned.
513 (struct w32_id): Change type of `rid' member to unsigned.
514 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
515 argument ID to unsigned. All callers changed.
516 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
517
e00553bf
EZ
5182009-03-20 Eli Zaretskii <eliz@gnu.org>
519
520 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
521 negative, produce a float value.
522
523 * dired.c (make_uid, make_gid): New functions.
524 (Ffile_attributes): Use them to avoid negative UID and GID.
525
f761d6b6
JB
5262009-03-20 Juanma Barranquero <lekktu@gmail.com>
527
528 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
529 (syms_of_keyboard) <command-hook-internal, input-method-function>:
530 Fix typos in docstrings.
531
d507f8d7
KH
5322009-03-19 Kenichi Handa <handa@m17n.org>
533
534 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
535 changed, use font_load_for_lface to get a new font object.
536 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
537
538 * frame.c (x_set_font): Handle the case that ARG is a cons.
539
c68845e0
GM
5402009-03-19 Glenn Morris <rgm@gnu.org>
541
542 * fileio.c (Fsubstitute_in_file_name): Doc fix.
543
bfa49dd1
CY
5442009-03-19 Chong Yidong <cyd@stupidchicken.com>
545
546 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
547
8458d4c1
KH
5482009-03-19 Kenichi Handa <handa@m17n.org>
549
550 * charset.c (load_charset_map_from_file): When a mapfile can't be
551 loaded, signal an error.
552
78e7d1fe
EZ
5532009-03-18 Eli Zaretskii <eliz@gnu.org>
554
555 * dired.c (Ffile_attributes): Make sure UID and GID are always
556 positive, even if the value is too large for a positive EMACS_INT.
557 Doc fix.
558
559 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
560
5da9fdfa
YM
5612009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
562
563 * xmenu.c (xdialog_show): Move Fredisplay call ...
564 (Fx_popup_dialog): ... here.
565
7519c40d
SM
5662009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
567
568 * dired.c (file_name_completion): Disable the first optimization just
569 installed, since it is not implemented correctly.
570
2cd298e2
SM
5712009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
572
573 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 574 only if the entry can affect bestmatch.
2cd298e2
SM
575 Stop the search early, as Ftry_completion already does.
576
48d37adf
CY
5772009-03-17 Chong Yidong <cyd@stupidchicken.com>
578
e10c9c93 579 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 580
9286b16a
CY
5812009-03-15 Chong Yidong <cyd@stupidchicken.com>
582
583 * keyboard.c (parse_menu_item): Don't display remappings as menu
584 equivalent bindings (Bug#788).
585
f7b146dc
JR
5862009-03-15 Jason Rumney <jasonr@gnu.org>
587
588 * w32term.h (WM_EMACS_PAINT): New message.
589 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
590 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
591 before passing to lisp thread. (Bug#950)
592
f761d6b6 5932009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 594
d93f9575
CY
595 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
596 variable as it was never reset.
597 (ns_term_init): Remove initialization of Lisp-settable defaults
598 and ns_expand_space.
599 (-setPanelFromDefaultValues): Remove ns_expand_space.
600 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
601 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
602 i.e. no additional spacing, similar to Carbon port.
603
d93f9575
CY
604 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
605 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 606
305018ec
JD
6072009-03-14 Jan Djärv <jan.h.d@swipnet.se>
608
609 * sound.c (alsa_configure): Remove call to deprecated
610 snd_pcm_sw_params_set_xfer_align.
611
f761d6b6 6122009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
613
614 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
615 after clicking in a detached tool bar.
616 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
617
46e722a9
SM
6182009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
619
348db3dd
SM
620 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
621 int/Lisp_Object mixup).
46e722a9 622
a3d16f39
KH
6232009-03-13 Kenichi Handa <handa@m17n.org>
624
625 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 626 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
627 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
628 (set_fontset_font): Change ARG to a vector. Handle range_list in
629 ARG correctly.
630 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 631 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
632 the above change.
633 (fontset_from_font): Fix previous change.
fe24f56a 634 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
635 entry. If FONTSET is the default fontset, don't set the extra
636 slot of the returning char-table.
637
b066e6b6
JB
6382009-03-12 Juanma Barranquero <lekktu@gmail.com>
639
640 * nsfns.m (Fx_close_connection): Doc fix.
641 (Fns_do_applescript): Reflow docstring.
642 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
643 (Fx_display_pixel_width, Fx_display_pixel_height)
644 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
645 Fix typos in docstrings.
646 (Fns_set_alpha): Fix typos in error messages.
647
d472514e 6482009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 649
d472514e 650 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
651 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
652 were used for such events.
653
d472514e
JB
654 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
655 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 656
d472514e 657 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
658 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
659
fb930676
KH
6602009-03-11 Kenichi Handa <handa@m17n.org>
661
ff85581a
KH
662 * font.h (font_open_by_spec): Extern it.
663
c50b7e98
KH
664 * font.c (font_open_by_spec): New function.
665 (font_open_by_name): Use font_open_by_spec.
666
fb930676
KH
667 * frame.c (x_set_font): When ARG is a font-object, don't alter the
668 fontset of the frame.
669
670 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
671 modify the default font of frames that use this fontset.
672 (num_auto_fontsets): New variable.
673 (fontset_from_font): Use num_auto_fontsets to decide a fontset
674 name. Be sure to set FONTSET_ASCII to the correct font name.
675 (update_auto_fontset_alist): New function.
676
df4e8455
JB
6772009-03-11 Juanma Barranquero <lekktu@gmail.com>
678
679 * makefile.w32-in: Update dependencies.
680
0a375797
AR
6812009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
682
683 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
684
61313fa3
SM
6852009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
686
687 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
688
b55103fb
CY
6892009-03-10 Chong Yidong <cyd@stupidchicken.com>
690
691 * lread.c (Feval_buffer): Doc fix.
692
dde2559c
KH
6932009-03-09 Kenichi Handa <handa@m17n.org>
694
695 * charset.c (Qfile_name_handler_alist): Extern it.
696 (load_charset_map_from_file): Temporarily bind
697 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
698
df4e8455 6992009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 700
47f588bb
GM
701 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
702 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 703
4ddf94bd
AR
7042009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
705
4c9bdfc2
AR
706 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
707 (x_set_window_size): Change back to calculated method of setting
708 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
709 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
710 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
711
fe41ae9e
AR
712 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
713
4c9bdfc2
AR
714 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
715 accelerator in parens under GNUstep.
716
825d0875
KH
7172009-03-06 Kenichi Handa <handa@m17n.org>
718
719 These changes are to detect incorrect composition sequence without
f3b3be74 720 looking ahead the source. (Bug#2370)
825d0875
KH
721
722 * coding.h: Include "composite.h".
723 (enum compisition_state): New enum.
724 (struct compisition_status): New struct.
725 (struct iso_2022_spec): New member cmp_status.
726 (struct emacs_mule_spec): New struct.
727 (struct coding_system): New members ctext_extended_segment_len and
728 embedded_utf_8. Change the union member
729 spec.emacs_mule_full_support to spec.emacs_mule.
730
731 * coding.c (CODING_ISO_CMP_STATUS): New macro.
732 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 733 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
734 (ADD_COMPOSITION_DATA): New arg nbytes.
735 (emacs_mule_char): New arg cmp_status.
736 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
737 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
738 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
739 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
740 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
741 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
742 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
743 (EMACS_MULE_COMPOSITION_END): New macro.
744 (emacs_mule_finish_composition): New function.
745 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
746 (decode_coding_emacs_mule): Avoid long looking ahead while
747 handling composition.
748 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
749 (ENCODE_COMPOSITION_RULE): New macro.
750 (finish_composition): New function.
751 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
752 (DECODE_COMPOSITION_START): New implementation.
753 (DECODE_COMPOSITION_END): Likewise.
754 (STORE_COMPOSITION_RULE): New macro.
755 (decode_coding_iso_2022): Avoid long looking ahead while handling
756 composition, CTEXT extended segment, and embedded UTF-8.
757 (setup_coding_system): For a coding of type iso-2022, reset
758 CODING_ISO_EXTSEGMENT_LEN (coding) and
759 CODING_ISO_EMBEDDED_UTF_8 (coding).
760 (get_translation): Delete arguments last_block, from_nchars,
761 to_nchars. Callers changed.
762 (produce_chars): Don't modify charbuf. Adjusted for the change of
763 get_translation.
98a326f7 764 (produce_composition): Adjust for the new annotation sequence.
825d0875 765 (handle_composition_annotation): Likewise.
98a326f7 766 (consume_chars): Adjust for the change of get_translation.
825d0875 767
ccbc4452
AR
7682009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
769
4ddf94bd 770 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 771
988a7ddb
KH
7722009-03-05 Kenichi Handa <handa@m17n.org>
773
774 * font.c (font_select_entity): New function.
775 (font_find_for_lface): Use font_select_entity to select a font.
776
777 * fontset.c (fontset_find_font): If a font found without
a8a3728b 778 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
779 font with C restriction.
780
98a326f7 7812009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 782
be1bce46 783 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 784
10ea2b82
JR
7852009-03-04 Jason Rumney <jasonr@gnu.org>
786
2c93b248 787 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 788 characters that have already been read. (Bug#2569)
2c93b248 789
10ea2b82
JR
790 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
791 Log an error message if check_image_size failed.
792 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 793 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 794
71a0c011
EZ
7952009-03-02 Eli Zaretskii <eliz@gnu.org>
796
797 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
798 when decoding process output.
799
2f63bba8
RS
8002009-03-01 Richard M Stallman <rms@gnu.org>
801
802 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
803
804 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
805
0a9564cb
EZ
8062009-02-28 Eli Zaretskii <eliz@gnu.org>
807
808 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
809 (decode_coding_emacs_mule, decode_coding_iso_2022)
810 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
811 (decode_coding_raw_text, decode_coding_charset)
812 (setup_coding_system, decode_eol, decode_coding, consume_chars):
813 Honor inhibit-eol-conversion. (Bug #2186)
814
449148b3
JR
8152009-02-28 Jason Rumney <jasonr@gnu.org>
816
817 * coding.c (detect_coding_charset): If not checking latin extra,
818 fail on characters between 0x80 and 0xA0. (Bug#2354)
819
a4aee864
EZ
8202009-02-28 Eli Zaretskii <eliz@gnu.org>
821
822 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 823 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 824
d88bee5a
GM
8252009-02-27 Glenn Morris <rgm@gnu.org>
826
827 * callint.c (Finteractive): Doc fix.
828
a808f22d
KH
8292009-02-27 Kenichi Handa <handa@m17n.org>
830
831 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
832
caf8d60c
CY
8332009-02-27 Chong Yidong <cyd@stupidchicken.com>
834
835 * font.c (font_style_to_value): Set value for unknown symbols to
836 100 instead of 255.
b61137ea
CY
837 (weight_table, slant_table, width_table): Treat "unspecified" as
838 the default value.
caf8d60c 839
1a0de25c
JB
8402009-02-26 Juanma Barranquero <lekktu@gmail.com>
841
842 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
843
8fc45744
JB
8442009-02-25 Juanma Barranquero <lekktu@gmail.com>
845
107bd7d1
JB
846 * lread.c (Fload): Stop checking Vloads_in_progress and signal
847 error as soon as a recursive load is detected.
8fc45744 848
f097e223
AR
8492009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
850
851 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
852 before caching.
853
8810a12f
KH
8542009-02-24 Kenichi Handa <handa@m17n.org>
855
856 * fontset.c (fontset_find_font): Fix the condition for checking
857 unavailable font.
858
2c7d1565
GM
8592009-02-24 Glenn Morris <rgm@gnu.org>
860
861 * xfaces.c (Finternal_set_font_selection_order): Remove leading
862 whitespace that confuses documentation.
863
a20878b6
MB
8642009-02-23 Miles Bader <miles@gnu.org>
865
866 * process.c (Flist_system_processes, Fprocess_attributes)
867 (syms_of_process): Rename `system-process-attributes' to
868 `process-attributes'.
869
b3b58c01
AS
8702009-02-22 Andreas Schwab <schwab@linux-m68k.org>
871
1b3b981b
AS
872 * coding.h (struct coding_system): Make safe_charsets a pointer to
873 unsigned char.
874 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
875 being 255.
876 (SAFE_CHARSET_P): Likewise.
877 (setup_iso_safe_charsets): Properly setup safe_charsets.
878 (Fdefine_coding_system_internal): Likewise.
879 (setup_coding_system): Likewise. Remove unneeded casts.
880 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
881 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
882 unneeded casts.
883
b3b58c01
AS
884 * insdel.c (del_range_2): Don't modify gap contents when called
885 from decode_coding_object. (Bug#1809)
886
0b6f228c
CY
8872009-02-21 Chong Yidong <cyd@stupidchicken.com>
888
889 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
890 Qfont_object.
891 (Ftype_of): Recognize font objects.
892
893 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
894
895 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
896 moved to data.c.
897
52f8870b
AR
8982009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
899
900 * nsterm.m (x_make_frame_invisible): Unset async_visible,
901 async_iconified. Based on a patch by Christian Lynbech
902 <christian.lynbech@tieto.com>.
903 (EmacsView-windowDidMiniaturize:): Unset async_visible.
904
7087d5e9
GM
9052009-02-20 Glenn Morris <rgm@gnu.org>
906
907 * syntax.c (Fskip_chars_forward): Fix doc typo.
908
41d2ceef
CY
9092009-02-20 Chong Yidong <cyd@stupidchicken.com>
910
911 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
912
1a3b7ca6
CY
9132009-02-19 Chong Yidong <cyd@stupidchicken.com>
914
915 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
916
73cce38d
KH
9172009-02-19 Kenichi Handa <handa@m17n.org>
918
919 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 920 Don't overflow coding->carryover. (Bug#2370)
73cce38d 921
a51092ee
DN
9222009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
923
924 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
925
c423ecca
KH
9262009-02-18 Kenichi Handa <handa@m17n.org>
927
928 * font.c (font_check_otf_features): Fix handling of `nil' element.
929 (Ffont_spec): Describe :lang and :otf in the docstring.
930
4c1958f4
AS
9312009-02-16 Andreas Schwab <schwab@suse.de>
932
933 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
934 string.
935
5704f39a
KH
9362009-02-16 Kenichi Handa <handa@m17n.org>
937
938 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 939 (Bug#1723)
5704f39a 940
8f0085aa
CY
9412009-02-14 Chong Yidong <cyd@stupidchicken.com>
942
a057d86a 943 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
944
945 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
946 (handle_line_prefix): Suppress wrapping of wrap prefixes.
947
aff01dd9
EZ
9482009-02-14 Eli Zaretskii <eliz@gnu.org>
949
950 * msdos.c (MAX_SCREEN_BUF): New macro.
951 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
952 Encode the entire run of glyphs sharing the same face, instead of
953 doing that one glyph at a time (fixes a bug with displaying
954 double-size characters).
955
ba301db3
AR
9562009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
957
958 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
959
960 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
961 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 962 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
963
964 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 965 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 966
51d861de
SM
9672009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
968
969 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
970 invisible areas.
971
7fed8996
JR
9722009-02-12 Jason Rumney <jasonr@gnu.org>
973
631ea4fb
JR
974 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
975 (add_font_entity_to_list): Call check_face_name even when family
976 is unspecified.
977
cb4a3e42
JR
978 * w32term.c (x_display_pixel_height, x_display_pixel_width):
979 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 980 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 981
7fed8996 982 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 983 raster fonts. (Bug#2219)
7fed8996 984
895416e3
KH
9852009-02-12 Kenichi Handa <handa@m17n.org>
986
987 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
988 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
989 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 990 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
991 (find_automatic_composition): While looking forward and backward,
992 check static composition. Fix where to stop looking forward.
993 (composition_adjust_point): Fix checking of static composition.
994 (Fcomposition_get_gstring): Pay attention to
1dacf998 995 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
996
997 * lisp.h (fast_looking_at): Extern it.
998
999 * search.c (fast_looking_at): New function.
1000
51d861de 1001 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
1002 <struct glyph>.u.cmp.to.
1003 (append_composite_glyph): Likewise.
1004
51d861de 1005 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
1006 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
1007 composition.
51d861de 1008 (append_composite_glyph): Adjust for the change of
895416e3
KH
1009 <strcut glyph>.u.cmp.to.
1010
8510724d
JB
10112009-02-11 Juanma Barranquero <lekktu@gmail.com>
1012
1013 * casetab.c (init_casetab_once):
1014 * coding.c (ALLOC_CONVERSION_WORK_AREA):
1015 * font.c (font_update_lface):
1016 * fontset.c (Fnew_fontset):
1017 * ftfont.c (ftfont_drive_otf):
1018 * xfont.c (xfont_open):
1019 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
1020
294fa707
SM
10212009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1022
1023 * fileio.c (Fwrite_region): !NILP -> CONSP.
1024
b5bfebec
AS
10252009-02-10 Andreas Schwab <schwab@suse.de>
1026
1027 * process.c (send_process): Properly relocate pointer into data
adab88bd 1028 when using encoded data. (Bug#2272)
b5bfebec 1029
cb84a2be
KH
10302009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
1031
1032 * coding.c (detect_coding_charset): Fix previous change.
1033
89e09428
JR
10342009-02-08 Jason Rumney <jasonr@gnu.org>
1035
1036 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 1037 disappeared while hourglass was displayed. (Bug #2193)
89e09428 1038
4470a277
AS
10392009-02-07 Andreas Schwab <schwab@suse.de>
1040
1041 * unexelf.c (unexec): Fix error message.
1042
3175b12a
AR
10432009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
1044
1045 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 1046 when modal window is active. (Bug #2152)
3175b12a
AR
1047 (applicationShouldTerminate:): Remove now-unneeded while loop
1048 around NSRunAlertPanel.
1049
1050 * nsmenu.m (popupSession): New file-global variable.
1051 (pop_down_menu): End the popupSession before closing dialog.
1052 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
1053 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
1054 don't query NSApp for events (just sleep instead).
1055
8434d0b8
EZ
10562009-02-07 Eli Zaretskii <eliz@gnu.org>
1057
51d861de
SM
1058 * coding.c (syms_of_coding) <translation-table-for-input>:
1059 Modify doc string to discourage use for character code unification.
8434d0b8 1060
aa82edfd
CY
10612009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1062
1063 * atimer.c (run_timers): Update pending_atimers.
1064
2d283c7c
CY
10652009-02-06 Chong Yidong <cyd@stupidchicken.com>
1066
eb306cab
CY
1067 * image.c (svg_load_image): Fix last change.
1068
2d283c7c
CY
1069 * xfns.c (Fx_create_frame): Signal an error if no font is
1070 found (Bug#2147).
1071
4d8e170e
JB
10722009-02-05 Juanma Barranquero <lekktu@gmail.com>
1073
1074 * character.c (syms_of_character) <script-representative-chars>:
1075 Fix typo in docstring.
1076
c96169a0
AR
10772009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1078
1079 * nsmenu.m (pop_down_menu): New function.
1080 (ns_popup_dialog): Call it on unwind.
1081 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
1082 call timer_check() (Bug#2154).
1083 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
1084 handling_signal is set.
1085 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
1086
1087 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
1088
1089 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
1090
1091 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
1092
51d861de
SM
1093 * keyboard.c (poll_for_input_1, handle_async_input):
1094 Set handling_signal under HAVE_NS.
c96169a0 1095
aacd8ba1
GM
10962009-02-04 Glenn Morris <rgm@gnu.org>
1097
1098 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
1099
4cb75c4b
KH
11002009-02-04 Kenichi Handa <handa@m17n.org>
1101
1102 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
1103
1104 * charset.c (Fchar_charset): New optional arg restriction.
1105
1106 * coding.h (coding_system_charset_list): Extern it.
1107
1108 * coding.c (coding_system_charset_list): New function.
1109
1110 * composite.c: Include coding.h and termhooks.h.
1111 (composition_gstring_p): Fix for the terminal case.
1112 (composition_gstring_width): Likewise.
1113 (fill_gstring_body): Likewise.
1114 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
1115 the frame.
1116 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
1117 is within a composition.
867d4bb3 1118 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
1119
1120 * term.c (encode_terminal_code): Fix handling of composition.
1121 (produce_composite_glyph): For static composition, get pixel_width
1122 from struct composition.
1123
826ba17e
AS
11242009-02-02 Andreas Schwab <schwab@suse.de>
1125
1126 * unexelf.c (unexec): Handle unaligned bss offset.
1127
8ad093db
AR
11282009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1129
1130 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
1131 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 1132
8ad093db
AR
1133 * keyboard.c (handle_interrupt): Don't call
1134 quit_throw_to_read_char() under NS.
d0a76a6e 1135
8ad093db
AR
1136 * blockinput.h: Remove NS-specific code.
1137
4d18a7a2
DN
11382009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
1139
db878925
DN
1140 * dispnew.c (window_change_signal): Don't try to get the size of a
1141 suspended tty frame.
1142 * term.c (Fresume_tty): Resize if the size has changed while the
1143 tty was suspended.
1144
4d18a7a2
DN
1145 * alloc.c (mark_stack): Properly conditionalize previous change.
1146
8984df7c
JB
11472009-01-30 Juanma Barranquero <lekktu@gmail.com>
1148
1149 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
1150 * w32term.c (w32_read_socket) [SYNC_INPUT]:
1151 Remove; this code is not used on Windows.
1152
75f4f1ac
EZ
11532009-01-30 Eli Zaretskii <eliz@gnu.org>
1154
1155 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
1156 EOLs that also has stray ^M characters.
1157
07a1e794
JB
11582009-01-30 Juanma Barranquero <lekktu@gmail.com>
1159
1160 * atimer.c (run_timers, alarm_signal_handler):
1161 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
1162 * w32inevt.c (w32_console_read_socket):
1163 * w32term.c (w32_read_socket):
1164 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
1165
a8b11cc9
CY
11662009-01-30 Chong Yidong <cyd@stupidchicken.com>
1167
1168 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
1169 Initialize it as a relative filename pattern.
1170 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
1171 (Fcall_process_region): Simplify temp file creation using
1172 temporary-file-directory.
1173
c279587b
EZ
11742009-01-29 Eli Zaretskii <eliz@gnu.org>
1175
1176 * msdos.c: Rename pending_signals to msdos_pending_signals.
1177 (sig_suspender, sigprocmask): Adjust.
1178
a8fe3242
CY
11792009-01-29 Chong Yidong <cyd@stupidchicken.com>
1180
1181 * keyboard.c (pending_signals): New var.
1182 (poll_for_input, input_available_signal, init_keyboard): Set it.
1183 (process_pending_signals): New function.
1184
1185 * lisp.h (QUIT): Check pending_signals instead of
1186 interrupt_input_pending. Use process_pending_signals.
1187
51d861de 1188 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 1189
51d861de 1190 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
1191
1192 * sysdep.c (emacs_write): Use process_pending_signals.
1193
1194 * xterm.c (XTread_socket): Update pending_signals.
1195
1196 * w32term.c (w32_read_socket): Update pending_signals.
1197
1198 * w32inevt.c (w32_console_read_socket): Update pending_signals.
1199
6570a1c4
KH
12002009-01-29 Kenichi Handa <handa@m17n.org>
1201
1202 * xftfont.c (xftfont_has_char): New function.
1203 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
1204
d72a4afa
AR
12052009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1206
1207 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
1208 under GNUstep.
1209 (ns_query_color): New declaration.
1210
1211 * nsterm.m (ns_confirm_quit): New variable.
1212 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
1213 (EmacsApp-applicationShouldTerminate:): Use it.
1214 (EmacsPrefsController): Let user set it.
1215 (ns_query_color): New function.
1216 (ns_defined_color): Use it.
1217 (ns_initialize): Drop.
1218 (ns_term_init): Add two lines from ns_initialize(), and set
1219 input_interrupt_mode to nil.
1220
1221 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 1222 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 1223
9fe78804
KH
12242009-01-28 Kenichi Handa <handa@m17n.org>
1225
1226 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
1227 (fontset_get_font_group): Remember that no font-group is specified
1228 for C.
9fe78804 1229
fa57de36
CY
12302009-01-27 Chong Yidong <cyd@stupidchicken.com>
1231
930600e9
CY
1232 * fns.c (concat): Check for string overflow (bug#1787).
1233
fa57de36
CY
1234 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
1235 Quadruple undo limits (bug#1501).
1236
7179ce7b
KH
12372009-01-27 Kenichi Handa <handa@m17n.org>
1238
1239 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
1240 directly use GT_Get_Char_index.
1241
1242 * xftfont.c (struct xftfont_info): New member `index'.
1243
1244 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 1245 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 1246
5be8fcc0
CY
12472009-01-26 Kenichi Handa <handa@m17n.org>
1248
1249 * fontset.c (fontset_find_font): Fix handling of non-cons return
1250 value of fontset_get_font_group.
1251 (fontset_font): Revert last change.
1252
19ae3e61
JR
12532009-01-26 Jason Rumney <jasonr@gnu.org>
1254
1255 * w32font.c (w32font_list_internal): Return quickly if registry is
1256 unknown. Simplify final return.
1257 (add_font_entity_to_list): Break complex logic down into more
1258 manageable chunks. Move unknown registry check to
1259 w32font_list_internal.
1260
8612b71a
AR
12612009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
1262
1263 Changes to remove Feval calls from GUI under NS.
1264
d8038940
JB
1265 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
1266 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
1267 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
1268
1269 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
1270 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
1271 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
1272 instead of NON_ASCII_KEYSTROKE_EVENT.
1273 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
1274 (EmacsApp-applicationShouldTerminate:): Query user.
1275 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
1276 instead of Feval.
1277
1278 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
1279
1280 * keyboard.c (kbd_buffer_get_event): Check for it.
1281 (keys_of_keyboard): Define lispy keys for
1282 ns-put/unput-working-text.
1283
1284 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
1285 versions.
1286 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
1287
6288ae55
CY
12882009-01-25 Chong Yidong <cyd@stupidchicken.com>
1289
1290 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 1291 setting current_buffer directly. (Bug#2044)
6288ae55 1292
289e7f8f
CY
12932009-01-24 Chong Yidong <cyd@stupidchicken.com>
1294
5ce87308 1295 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 1296 any work. (Bug#1952, bug#1990).
5ce87308 1297
64cc3cf6 1298 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 1299
b3243e6f
AR
13002009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1301
1302 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
1303 (ns_no_defaults): New declaration.
1304 (main): Use it.
e0d2e69a 1305
d900b2af 1306 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 1307
d900b2af 1308 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 1309
d900b2af
AR
1310 * nsterm.m (ns_no_defaults): New variable.
1311 (ns_initialize): Don't read defaults when ns_no_defaults.
1312 (EmacsView-readSelectionFromPasteboard:)
1313 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 1314 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
1315 (ns_dumpglyphs_stretch): New function.
1316 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 1317 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 1318
e0d2e69a
AR
1319 * nsimage.m (setPixmapData:): Set to ignore image DPI.
1320
3ac71f5d
CY
13212009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
1322
1323 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
1324 call for Sparc64.
1325
3fe53a83
AR
13262009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1327
1328 * nsfns.m:
1329 * nsgui.h:
1330 * nsmenu.m:
1331 * nsselect.m:
1332 * nsterm.h:
1333 * nsterm.m: Remove '23' comments that indicated code added during
1334 update from emacs-20 -> emacs-23.
1335
10f87c6f 13362009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
1337
1338 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 1339 ns_alternate_modifier. (Bug#1217)
a3b53a85 1340
c7cef62d
AR
1341 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
1342 Display all shortcuts, including those w/o super modifier.
1343
575fb8bd
AR
1344 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
1345
918b848b
CY
13462009-01-22 Chong Yidong <cyd@stupidchicken.com>
1347
1348 * fileio.c (Vwrite_region_post_annotation_function)
1349 (Vwrite_region_annotation_buffers): New vars.
1350 (build_annotations_unwind): Just reset
1351 Vwrite_region_annotation_buffers.
1352 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
1353 Call write-region-post-annotation-function.
1354 (build_annotations): Add to Vwrite_region_annotation_buffers if
1355 buffer changes.
1356
a39e2539
AR
13572009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1358
1359 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
1360 Tiger.
51d861de
SM
1361 * nsfns.m (ns_do_applescript):
1362 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 1363
35ed44db
AR
13642009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1365
1366 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
1367
cbe0b5bf
AR
13682009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1369
1370 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 1371
6049d3a0
AR
1372 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
1373
1374 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
1375 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
1376 handle Ctrl-tab. (Bug#1841)
1377 (ns_get_color): Use unsigned long long for scanned hex string value.
1378 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 1379 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 1380 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 1381 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 1382 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 1383 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 1384 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 1385
d3810c21 1386 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 1387 DPI. (Bug#1316)
d3810c21
AR
1388 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
1389 values in onTiger section.
4c7077c3 1390
e301e634
CY
13912009-01-19 Chong Yidong <cyd@stupidchicken.com>
1392
7f82490b
CY
1393 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
1394 Check return value of font_spec_from_name.
64cc3cf6 1395 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
1396
1397 * font.c (font_spec_from_name): Return Qnil if font name could not
1398 be parsed.
1399 (font_parse_name): Treat a `?' character as part of an XLFD.
1400
e301e634
CY
1401 * fns.c (Fsubstring): Doc fix.
1402
1c0db158
KH
14032009-01-19 Kenichi Handa <handa@m17n.org>
1404
51d861de 1405 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
1406 (ftfont_list): Likewise.
1407
acf20901
JB
14082009-01-18 Juanma Barranquero <lekktu@gmail.com>
1409
fff4e459
JB
1410 * dbusbind.c (Fdbus_register_signal):
1411 * process.c (conv_sockaddr_to_lisp):
1412 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
1413
acf20901
JB
1414 * callproc.c (Fgetenv_internal): Doc fix.
1415
e7abcdfb
CY
14162009-01-16 Chong Yidong <cyd@stupidchicken.com>
1417
1418 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
1419 it is not even used.
1420
b60861e6
GM
14212009-01-16 Glenn Morris <rgm@gnu.org>
1422
1423 * font.c (Ffont_variation_glyphs): Silence compiler.
1424
8db52afe
JB
14252009-01-15 Juanma Barranquero <lekktu@gmail.com>
1426
1427 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
1428 Reported by David Robinow <drobinow@gmail.com>.
1429
4cddb209
KH
14302009-01-15 Kenichi Handa <handa@m17n.org>
1431
51d861de 1432 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 1433
f247f67b
JR
14342009-01-14 Jason Rumney <jasonr@gnu.org>
1435
1436 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 1437 never a fontset. (Bug#1562)
f247f67b 1438
f56a4450
KH
14392009-01-14 Kenichi Handa <handa@m17n.org>
1440
1441 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 1442 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 1443
4e99855e
CY
14442009-01-13 Chong Yidong <cyd@stupidchicken.com>
1445
1446 * font.c (font_clear_prop): If clearing the family, clear the font
1447 width index too.
1448
fff4e459 1449 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 1450
24f01470
JB
14512009-01-12 Juanma Barranquero <lekktu@gmail.com>
1452
1453 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1454 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1455 functions, use sizeof.
1456
a41240a3
MR
14572009-01-12 Martin Rudalics <rudalics@gmx.at>
1458
1459 * keyboard.c (read_char): Fix case where last_nonmenu_event
1460 returned a bad value with submenus. (Bug#447)
1461
944636b8
CY
14622009-01-12 Chong Yidong <cyd@stupidchicken.com>
1463
1464 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1465 family, clear the font width index too.
1466
0dad7c6f
JR
14672009-01-11 Jason Rumney <jasonr@gnu.org>
1468
1469 * keyboard.c (cmd_error_internal): Exit when errors occur before
1470 frame creation and not in daemon mode. (Bug#1836)
1471
7c2363af
CY
14722009-01-10 Chong Yidong <cyd@stupidchicken.com>
1473
1474 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1475 of a display vector, backtrack.
1476 (try_window_reusing_current_matrix): Check glyph type before
1477 referencing charpos member.
1478
97b1b294
EZ
14792009-01-10 Eli Zaretskii <eliz@gnu.org>
1480
1481 Fix Bug #876:
1482
1483 * coding.c (inhibit_null_byte_detection): New variable.
1484 (detect_coding, detect_coding_system): Don't pay attention to null
1485 bytes if inhibit_null_byte_detection is non-zero.
51d861de 1486 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
1487 <inhibit-iso-escape-detection>: Doc fix.
1488
4624b6e3
JR
14892009-01-09 Jason Rumney <jasonr@gnu.org>
1490
1491 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 1492 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
1493 Only report Unicode Plane 2 fonts as unicode-sip.
1494
323b840c
CY
14952009-01-09 Chong Yidong <cyd@stupidchicken.com>
1496
51d861de
SM
1497 * xfaces.c (Fx_font_family_list): Delete function.
1498 Move compatibility version to faces.el.
323b840c 1499
51d861de 1500 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 1501
eba7400d
MR
15022009-01-09 Martin Rudalics <rudalics@gmx.at>
1503
1504 * frame.c (x_set_frame_parameters): Remember requested value for
1505 fullscreen before it's reset by the parameter handler.
1506
4b09796d
GM
15072009-01-09 Glenn Morris <rgm@gnu.org>
1508
1509 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 1510 (last_command_event): ... and update all users.
4b09796d
GM
1511 (last_input_char): For clarity, rename to...
1512 (last_input_event): ... and update all users.
1513 (last-command-char, last-input-char): Move to subr.el as aliases.
1514 * cmds.c, commands.h: Update for last_command_char rename.
1515
14ccea62
CY
15162009-01-08 Chong Yidong <cyd@stupidchicken.com>
1517
51d861de 1518 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 1519
5f004711
JR
15202009-01-08 Jason Rumney <jasonr@gnu.org>
1521
1522 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1523 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1524 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1525 Don't declare.
fff4e459 1526 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
1527 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1528
b71f6f73
KH
15292009-01-07 Kenichi Handa <handa@m17n.org>
1530
50b06221 1531 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 1532 remember the coding system used for decoding in
50b06221
KH
1533 coding_system (Bug#1039).
1534
b71f6f73 1535 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 1536 breaking the loop. (Bug#870)
b71f6f73
KH
1537 (decode_coding_utf_16, decode_coding_emacs_mule)
1538 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1539 (decode_coding_charset): Likewise.
1540
56f668f7
MR
15412009-01-05 Martin Rudalics <rudalics@gmx.at>
1542
1543 * frame.c (x_set_frame_parameters): Make sure height (width) get
1544 applied when fullwidth (fullheight) is set. (Bug#1522)
1545
5da9424d
JB
15462009-01-04 Juanma Barranquero <lekktu@gmail.com>
1547
1548 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
1549 (utc_base): Declare as ULONGLONG, not long double.
1550 (convert_time_raw): Delete.
1551 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
1552 (initialize_utc_base): New function.
1553 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
1554 (convert_from_time_t): Use initialize_utc_base; compute result with
1555 64-bit arithmetic.
1556 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
1557
c4605e09
EZ
15582009-01-03 Eli Zaretskii <eliz@gnu.org>
1559
9acef61c 1560 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
1561 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
1562 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
1563 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
1564 [!subprocesses]: Define.
1565 (syms_of_process) [!subprocesses]: Intern and staticpro them.
1566 (Flist_system_processes, Fsystem_process_attributes)
1567 [!subprocesses]: Call list_system_processes and
1568 system_process_attributes instead of returning Qnil.
1569
9acef61c
JB
1570 * dosfns.c (system_process_attributes, list_system_processes):
1571 New functions.
c4605e09
EZ
1572
1573 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
1574
1575 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
1576 Don't use the default (no-op) implementation.
1577
8b7d0a16
JR
15782009-01-03 Jason Rumney <jasonr@gnu.org>
1579
a6d46bc1
JR
1580 * keyboard.c (parse_modifiers_uncached): Wheel events are
1581 clicks (bug#687).
1582
8b7d0a16
JR
1583 * w32term.c (x_query_colors, x_query_color): New functions.
1584
1585 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
1586 (svg_load_image): Cast returned pointers from dynamically loaded
1587 functions. Eliminate W32 specific code.
1588
bfe11752
DN
15892009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
1590
89e2438a
DN
1591 * nsfns.m (x_set_foreground_color, x_set_background_color)
1592 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
1593 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
1594 x_ prefix instead of ns_. Update references.
1595 (syms_of_nsfns): Add a FIXME comment.
1596
1597 * nsterm.m (x_set_cursor_type): New prototype.
1598 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
1599
bfe11752
DN
1600 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
1601 for Solaris instead of incorrectly providing Qutime and Qcutime.
1602
031da700
EZ
16032009-01-02 Eli Zaretskii <eliz@gnu.org>
1604
1605 * w32.c (process_times): Compute sum of utime and stime.
1606 (system_process_attributes): Add Qtime to the alist.
1607
1608 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
1609 and add them to the alist.
1610
1611 * process.c (top level) <Qtime, Qctime>: New variables.
1612 (syms_of_process): staticpro them.
1613 (Fsystem_process_attributes): Add their documentation to the doc
1614 string.
1615
1616 * process.h: Declare Qtime and Qctime.
1617
df23bf08
JR
16182009-01-02 Jason Rumney <jasonr@gnu.org>
1619
9acef61c 1620 * image.c (Qgobject): New symbol.
df23bf08
JR
1621 (syms_of_image): Initialize it.
1622 (init_svg_functions): Load some functions from gobject library.
1623
5bbdf7aa
DN
16242009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
1625
1626 * frame.c (make_terminal_frame): Remove redundant code and useless
1627 block.
1628
63136da6
AS
16292009-01-01 Andreas Schwab <schwab@suse.de>
1630
1631 * process.c (conv_sockaddr_to_lisp): Add workaround for
1632 getsockname bug on BSD.
1633
9ef69046
CY
16342009-01-01 Chong Yidong <cyd@stupidchicken.com>
1635
d6fafbe0
CY
1636 * xfns.c (x_create_tip_frame): Set border width of the X window.
1637
51d861de 1638 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 1639
f9c34147
JR
16402009-01-01 Jason Rumney <jasonr@gnu.org>
1641
9acef61c 1642 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
1643 Don't block input, as per earlier xterm.c changes.
1644
f5497e45
AR
16452008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
1646
1647 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
1648 (ns_appkit_version_int): New function.
1649 (x-server-version): Use ns_appkit_version_int and follow 21+
1650 convention of returning 3 integers.
1651
c19cab20
KH
16522008-12-30 Kenichi Handa <handa@m17n.org>
1653
1654 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
1655 (CHAR_SURROGATE_PAIR_P): New macro.
1656
1657 * font.h (struct font_driver): New member get_variation_glyphs.
1658
9acef61c 1659 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
1660 (Ffont_variation_glyphs): New function.
1661 (syms_of_font): Defsubr it.
1662
1663 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
1664 ftfont_variation_glyphs.
1665 (setup_otf_gstring): New function.
1666 (ftfont_drive_otf): Use it.
1667 (ftfont_shape_by_flt): Handle variation selector.
1668 (ftfont_variation_glyphs): New function.
1669
28cd591f
MR
16702008-12-30 Martin Rudalics <rudalics@gmx.at>
1671
1672 * frame.c (Vemacs_iconified): Remove.
1673
7f714baf
JR
16742008-12-30 Jason Rumney <jasonr@gnu.org>
1675
1676 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 1677 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 1678
9d2d22ab
CY
16792008-12-30 Chong Yidong <cyd@stupidchicken.com>
1680
1681 * indent.c (Fvertical_motion): Don't advance iterator if we have
1682 reseated to the desired position.
1683
1684 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
1685 checking for pos match.
1686
545312c2
KH
16872008-12-30 Kenichi Handa <handa@m17n.org>
1688
1ede3eb6
KH
1689 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
1690 just get the low 8-bit of the code.
1691
545312c2
KH
1692 * font.c (font_intern_prop): Validate str as multibyte.
1693
bd7bbf29
DN
16942008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1695
31e0750e
DN
1696 * dispextern.h (struct face): Move lface and hash from the middle
1697 of bitfields.
1698
bd7bbf29
DN
1699 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
1700
b5672e7c
DN
17012008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1702
1703 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
1704 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
1705 instead of intervals.h.
1706
d704470f
AS
17072008-12-26 Andreas Schwab <schwab@suse.de>
1708
1709 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
1710 cons.
1711
54b33868
MR
17122008-12-26 Martin Rudalics <rudalics@gmx.at>
1713
1714 * textprop.c (Qminibuffer_prompt): New variable.
1715 (syms_of_textprop): Initialize it.
1716 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
1717 in minibuffer-prompt face. (Bug#1662)
1718
40b615d6
JR
17192008-12-25 Jason Rumney <jasonr@gnu.org>
1720
1721 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
1722
baae5c2d
JR
17232008-12-24 Jason Rumney <jasonr@gnu.org>
1724
1725 * ralloc.c (r_alloc_reset_variable): New function.
1726
1727 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 1728 record of what points where. (Bug#716)
baae5c2d 1729
a9051c88
DN
17302008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
1731
1732 * minibuf.c (read_minibuf): Follow the non-interactive case when
1733 running as a daemon, before detaching.
1734
8b146312
AS
17352008-12-22 Andreas Schwab <schwab@suse.de>
1736
1737 * buffer.c (init_buffer): Use realloc instead of xrealloc.
1738 * gtkutil.c (free_widget_value): Use xfree instead of free.
1739
56f2de10
MR
17402008-12-22 Martin Rudalics <rudalics@gmx.at>
1741
1742 * frame.c (delete_frame): New function derived from
1743 Fdelete_frame to handle Qnoelisp value for FORCE argument.
1744 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
1745 (Fdelete_frame): Call delete_frame. Remove line from doc-string
1746 saying that FORCE non-nil doesn't run `delete-frame-functions'.
1747 * frame.h: Extern delete_frame.
1748 * window.c (window_loop):
1749 * terminal.c (delete_terminal):
1750 * xterm.c (x_connection_closed):
1751 * xfns.c (Fx_hide_tip):
9acef61c 1752 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 1753
1fc200d6
JR
17542008-12-21 Jason Rumney <jasonr@gnu.org>
1755
1756 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
1757 when character maps to .notdef character.
1758
5e252df2
SM
17592008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
1760
1761 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
1762
99b72cc4
JR
17632008-12-20 Jason Rumney <jasonr@gnu.org>
1764
1765 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 1766 a graphical frame on Windows. (Bug#1325)
99b72cc4 1767
acc49a52
JD
17682008-12-20 Jan Djärv <jan.h.d@swipnet.se>
1769
1770 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
1771
6ea15123
CY
17722008-12-20 Chong Yidong <cyd@stupidchicken.com>
1773
1774 * minibuf.c (Fread_buffer): Doc fix.
1775
b2dab6c8
JR
17762008-12-20 Jason Rumney <jasonr@gnu.org>
1777
54ea0c87 1778 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 1779 server name in UNC paths. (Bug#719)
54ea0c87 1780
b2dab6c8 1781 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 1782 charbuf. (Bug#1035)
b2dab6c8 1783
6d1921be
DN
17842008-12-19 Daniel Engeler <engeler@gmail.com>
1785
1786 * sysdep.c (serial_configure): Fix typo.
1787
53934c98
DN
17882008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1789
1790 * sysdep.c: Include alloca.h.
f4f634e8
DN
1791 (system_process_attributes): Add implementation for Solaris.
1792
1793 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 1794
06e111a6
DN
17952008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1796
1797 Reorganize implementation of Flist_system_processes and
1798 Fsystem_process_attributes. No functional changes.
1799 * process.c: Don't #include pwd.h, grp.h and limits.h.
1800 (Flist_system_processes): Just call list_system_processes.
1801 (Fsystem_process_attributes): Just call system_process_attributes.
1802 (procfs_list_system_processes, time_from_jiffies)
1803 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
1804 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
1805
1806 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
1807 (list_system_processes): Rename from
1808 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
1809 Provide a do nothing implementation.
1810 (system_process_attributes): Rename from
1811 procfs_list_system_processes.
1812 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 1813 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
1814
1815 * w32.c (list_system_processes): Rename from
1816 w32_list_system_processes.
1817 (system_process_attributes): Rename from
1818 w32_system_process_attributes.
1819
1820 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
1821
1822 * process.h (w32_list_system_processes)
1823 (w32_system_process_attributes): Remove.
1824 (list_system_processes, system_process_attributes): New
1825 prototypes.
1826
6a705b23
KH
18272008-12-19 Kenichi Handa <handa@m17n.org>
1828
1829 * xfont.c (xfont_decode_coding_xlfd): New function.
1830 (xfont_encode_coding_xlfd): New function.
1831 (xfont_list_pattern): Decode XLFD by iso-8859-1.
1832 (xfont_list): Decode and encode XLFD by iso-8859-1.
1833 (xfont_match): Likewise.
1834 (xfont_list_family): Likewise.
1835 (xfont_open): Likewise.
1836
d66c0241 1837 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
1838 names are utf-8.
1839
d66c0241 1840 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
1841 names are utf-8.
1842
5a130941
JD
18432008-12-18 Jan Djärv <jan.h.d@swipnet.se>
1844
1845 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
1846 changed.
bfd20325
JD
1847 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
1848 clicked on a detached tool bar button.
5a130941 1849
fd95644b
DN
18502008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
1851
1852 * emacs.c (main): Print and error and exit when no data is read
1853 from the pipe.
1854
e6eee6ae
JR
18552008-12-17 Jason Rumney <jasonr@gnu.org>
1856
1857 * w32font.c (w32font_has_char): Always return -1.
1858
a35dd56b
KH
18592008-12-16 Kenichi Handa <handa@m17n.org>
1860
1861 * font.c (font_open_entity): Fix previous change.
1862
0e3635c2
DN
18632008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1864
1865 * process.c: Include <limits.h>.
1866
d4835507 18672008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1868
1869 * font.c (font_update_drivers): Fix mistake in reconstructing the
1870 driver list.
1871
18722008-12-16 Chong Yidong <cyd@stupidchicken.com>
1873
1874 * font.c (font_clear_cache): Fix format of font cache data.
1875
e2cbc401
CY
18762008-12-15 Chong Yidong <cyd@stupidchicken.com>
1877
1878 * xftfont.c (xftfont_open): Free Xft font pattern if
1879 XftFontOpenPattern fails.
1880
1881 * xterm.c (x_free_frame_resources): Remove extraneous call to
1882 free_frame_faces.
1883
b131d535
CY
18842008-12-13 Chong Yidong <cyd@stupidchicken.com>
1885
1886 * xterm.c (x_delete_display): Move xim_close_dpy call to
1887 x_delete_terminal.
1888 (x_delete_terminal): Call xim_close_dpy.
1889
e6df5336
JR
18902008-12-13 Jason Rumney <jasonr@gnu.org>
1891
1892 * w32font.c (intern_font_name): New function.
1893 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1894 (w32font_open_internal, Fx_select_font): Decode font name.
1895 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1896
1897 * w32font.h (intern_font_name): Declare new function.
1898
1899 * w32uniscribe.c (add_opentype_font_name_to_list):
1900 Use intern_font_name.
1901
20d68145
CY
19022008-12-13 Chong Yidong <cyd@stupidchicken.com>
1903
9f2554de
CY
1904 * frame.c (Fdelete_frame): Call free_font_driver_list.
1905
3d9bec9a
CY
1906 * font.c (free_font_driver_list): Implement missing function.
1907
20d68145
CY
1908 * w32term.c (w32_term_init): Don't initialize the image cache
1909 here; it will be done in init_frame_faces.
1910
1911 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1912 (struct x_display_info): Remove unused member null_pixel. New
1913 member xim_callback_data.
1914
1915 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1916 (xim_initialize): Save pointer to callback function data.
1917 (xim_close_dpy): Free callback function data. Call XCloseIM,
1918 reverting 2008-11-04 change by David Smith.
1919 (x_term_init): Don't initialize the image cache here; it will be
1920 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1921 (x_delete_display): Free x_dnd_atoms member.
1922
96f9306b
KH
19232008-12-13 Kenichi Handa <handa@m17n.org>
1924
6dec9044
JB
1925 * font.c (font_rescale_ratio): Moved from xfaces.c.
1926 Argument type changed. Handle a font-spec too.
96f9306b 1927 (font_score): Check Vface_font_rescale_alist.
6dec9044 1928 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1929
1930 * xfaces.c (font_rescale_ratio): Moved to font.c.
1931
8d5b4964
CY
19322008-12-13 Chong Yidong <cyd@stupidchicken.com>
1933
1934 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1935
e6df5336
JR
19362008-12-12 Jason Rumney <jasonr@gnu.org>
1937
1938 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1939 Vwindow_system_version to the real w32 major version.
1940
97c6058a
DN
19412008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1942
1943 * term.c (init_tty): Move setting the terminal name before the
1944 potential user: maybe_fatal.
1945
ec4e88d7
CY
19462008-12-11 Chong Yidong <cyd@stupidchicken.com>
1947
d4835507
JB
1948 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1949 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1950
b4233ec9
JR
19512008-12-11 Jason Rumney <jasonr@gnu.org>
1952
8ec71e23 1953 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1954 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1955
b4233ec9 1956 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1957 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1958
011a0143
JB
19592008-12-11 Juanma Barranquero <lekktu@gmail.com>
1960
1961 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1962
3c309f34
JB
19632008-12-11 Juanma Barranquero <lekktu@gmail.com>
1964
1965 * process.c (Fsystem_process_attributes, syms_of_process):
1966 Fix typo in name of Ssystem_process_attributes.
1967 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1968
fedc6ab5
JB
19692008-12-11 Juanma Barranquero <lekktu@gmail.com>
1970
1971 * syntax.c (Fmodify_syntax_entry): Doc fix.
1972
ba3de0e8
JB
19732008-12-10 Juanma Barranquero <lekktu@gmail.com>
1974
1975 * font.c (Ffont_spec): Move usage to end of docstring.
1976
174f1c74
JR
19772008-12-10 Jason Rumney <jasonr@gnu.org>
1978
1979 * w32font.c (Qcham): New symbol.
1980 (font_supported_scripts): Add cham, and comments for other new
1981 scripts in bitfield from OpenType spec.
9d32f818
JR
1982 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1983 contain characters beyond the bmp.
174f1c74 1984
7b649478
KH
19852008-12-10 Kenichi Handa <handa@m17n.org>
1986
1987 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1988 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1989 Qunicode_sip.
1990
2133e2d1
JB
19912008-12-10 Juanma Barranquero <lekktu@gmail.com>
1992
1993 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1994 (Fcoding_system_put): Use QCdefault_char.
1995 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1996
9af886ee
CY
19972008-12-09 Chong Yidong <cyd@stupidchicken.com>
1998
74d819eb
CY
1999 * xftfont.c (syms_of_xftfont): Fix typo.
2000
4ccfa1c0 2001 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 2002
7c19d3ae
DN
20032008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
2004
2005 * emacs.c (main): Close daemon_pipe on exec.
2006
567826bb
CY
20072008-12-08 Chong Yidong <cyd@stupidchicken.com>
2008
2009 * termchar.h (struct tty): New members termcap_term_buffer and
2010 termcap_strings_buffer.
2011
2012 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 2013 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
2014 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
2015 All callers changed.
2016 (init_tty): Store termcap data and string buffers in new struct
2017 tty members termcap_term_buffer and termcap_strings_buffer.
2018 (delete_tty): Free them.
4ccfa1c0 2019 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 2020
aa96c42b
SZ
20212008-12-07 Seiji Zenitani <zenitani@mac.com>
2022
2023 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 2024 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 2025
b7e1d896
CY
20262008-12-06 Chong Yidong <cyd@stupidchicken.com>
2027
2028 * coding.c (make_conversion_work_buffer): Disable buffer
2029 modification hooks in the work buffer.
2030
b5ec91a5
EZ
20312008-12-05 Eli Zaretskii <eliz@gnu.org>
2032
2033 * process.c (procfs_system_process_attributes): If `nread' has a
2034 negative value, assign zero to it.
2035
a5d2a52b
CY
20362008-12-05 Chong Yidong <cyd@stupidchicken.com>
2037
68c5540b 2038 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 2039
7bf1bb21
KH
20402008-12-05 Kenichi Handa <handa@m17n.org>
2041
2042 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
2043 second character is a combining character.
2044
2fdc7d00
EZ
20452008-12-05 Eli Zaretskii <eliz@gnu.org>
2046
2047 * process.c (procfs_system_process_attributes): Don't use cmd,
2048 cmdsize, and q without initializing them first.
2049
bf6bfba8
JR
20502008-12-04 Jason Rumney <jasonr@gnu.org>
2051
2052 * w32font.c (w32font_draw): Initialize orig_clip before getting
2053 it, and delete it when finished.
2054
a3b1a468
DN
20552008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
2056
2057 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
2058 case when running as a daemon before detaching.
2059
8b8be8eb
JB
20602008-12-03 Juanma Barranquero <lekktu@gmail.com>
2061
805f2638 2062 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 2063
b1bde622
KH
20642008-12-03 Kenichi Handa <handa@m17n.org>
2065
e500c47d
KH
2066 * font.c (font_at): Set `multibyte' at first.
2067
ca516334
KH
2068 * coding.c (decode_coding_charset): Check type of an element of
2069 vector VALIDS.
7bf1bb21 2070 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 2071
4ccfa1c0 2072 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
2073 (font_for_char): Likewise.
2074
1e5ecd37
CY
20752008-12-03 Chong Yidong <cyd@stupidchicken.com>
2076
d5b01609 2077 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
2078 (font_update_lface): Handle fonts with corrupted size specs,
2079 i.e. non-int and non-float.
d5b01609 2080
11e3a6e4 2081 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 2082 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 2083 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 2084
ab06788b
CY
2085 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
2086
1e5ecd37 2087 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 2088 underline_minimum_offset for underline position.
1e5ecd37 2089
63c125ab
DN
20902008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
2091
2092 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
2093
2094 * character.c (c_string_width): Specify the type for LEN.
2095
3a8406e1
KH
20962008-12-03 Kenichi Handa <handa@m17n.org>
2097
4ccfa1c0 2098 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 2099 (decode_coding_utf_8): Likewise.
4ccfa1c0 2100 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 2101 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 2102
651df7d9
CY
21032008-12-02 Chong Yidong <cyd@stupidchicken.com>
2104
2105 * keyboard.c (make_lispy_position): Only use PT if the selected
2106 window is current.
2107
1f625c6c
AS
21082008-12-02 Andreas Schwab <schwab@suse.de>
2109
f7741ce9
AS
2110 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
2111
1f625c6c
AS
2112 * doprnt.c (doprnt1): Fix size of charbuf.
2113
92bc2678
CY
21142008-12-02 Chong Yidong <cyd@stupidchicken.com>
2115
2116 * keyboard.c (timer_check): Revert last change.
2117
93b9e8cc
JB
21182008-12-02 Juanma Barranquero <lekktu@gmail.com>
2119
2120 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
2121
fd7a37d5
JB
21222008-12-01 Juanma Barranquero <lekktu@gmail.com>
2123
2124 * makefile.w32-in: Update dependencies.
2125 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
2126
c115043b
AS
21272008-12-01 Andreas Schwab <schwab@suse.de>
2128
2129 * font.c (register_font_driver): Use xmalloc.
2130 (font_put_frame_data): Likewise.
2131
f5668d2a
CY
21322008-12-01 Chong Yidong <cyd@stupidchicken.com>
2133
860d96be
CY
2134 * xfaces.c (realize_x_face): Make abort condition clearer.
2135
f5668d2a
CY
2136 * gtkutil.c (update_frame_tool_bar): Initialize variable.
2137
379c17e7
CY
21382008-11-30 Chong Yidong <cyd@stupidchicken.com>
2139
2140 * keyboard.c (timer_check): After a timer runs, ensure that the
2141 selected window's buffer is current.
2142
35f36d65
JB
21432008-11-30 Juanma Barranquero <lekktu@gmail.com>
2144
f952c61c
JB
2145 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
2146 It was accidentally restored by the Unicode merge.
2147
35f36d65
JB
2148 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
2149
b23077df
JB
21502008-11-29 Juanma Barranquero <lekktu@gmail.com>
2151
2152 * w32proc.c: Include "coding.h".
2153 (Fw32_short_file_name): Encode filename passed to Windows API.
2154 (Fw32_long_file_name): Encode filename passed to Windows API and
2155 decode back the result. (Bug#1433)
2156
b8ebe9dd
KH
21572008-11-29 Kenichi Handa <handa@m17n.org>
2158
8cc53f96
KH
2159 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
2160 not before accessing it.
2161
b8ebe9dd
KH
2162 * charset.c (Fdefine_charset_internal): After calculating
2163 min_char, max_char, and fastmap, copy the charset structure again.
2164 (encode_char): Fix the previous change.
2165
59bc82c0
SZ
21662008-11-28 Seiji Zenitani <zenitani@mac.com>
2167
2168 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
2169
2170 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
2171
2172 * nsterm.m (x_set_frame_alpha): New function.
2173
32247e3d
EZ
21742008-11-27 Eli Zaretskii <eliz@gnu.org>
2175
2176 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
2177
b003e5ff
JB
21782008-11-27 Juanma Barranquero <lekktu@gmail.com>
2179
2180 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
2181 pointer to check_face_name.
2182
708550f5
KH
21832008-11-27 Kenichi Handa <handa@m17n.org>
2184
2185 * category.h (SET_CATEGORY_SET): Call set_category_set.
2186 (set_category_set): Extern it.
2187
2188 * category.c (hash_get_category_set): New function.
2189 (Fmodify_category_entry): Adjusted for the change of
2190 char_table_ref_and_range. Call hash_get_category_set to get a
2191 category set to store in the table.
2192
2193 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
2194 Funify_charset.
2195
2ae37cf0 2196 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
2197 (DECODE_CHAR): Check if the decoder vector is ready.
2198 (ENCODE_CHAR): Check if the encoder char-table is ready.
2199 (maybe_unify_char): Extern it.
2200
2201 * charset.c (Vchar_unified_charset_table): Delete it.
2202 (inhibit_load_charset_map): New variable.
2203 (temp_charset_work): New variable.
2204 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
2205 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
2206 New macros.
2207 (load_charset_map): Meaning of control_flag changed. If
2208 inhibit_load_charset_map is nonzero, setup a table in
2209 temp_charset_work.
2210 (load_charset): New argument control_flag.
2211 (map_charset_for_dump): New function.
2212 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
2213 map_charset_for_dump.
2214 (Fdefine_charset_internal): If the charset method is MAP, load
2215 mapping tables by calling load_charset.
2216 (Funify_charset): Don't load a mapping table but directly set
2217 Vchar_unify_table.
2218 (maybe_unify_char): New function.
2219 (decode_char): Don't handle the deleted method MAP_DEFERRED.
2220 Handle the case of inhibit_load_charset_map being nonzero.
2221 (encode_char): Don't handle the deleted method MAP_DEFERRED.
2222 Handle the case of inhibit_load_charset_map being nonzero.
2223 (Fclear_charset_maps): Just free temp_charset_work.
2224 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
2225 variable.
2226
2227 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
2228 change of char_table_ref_and_range.
2229 (char_table_ref_and_range): Change the meaning of argument FROM
2230 and TO. Now the caller must provide initial values for *FROM
2231 and *TO.
2232
2233 * fontset.c (fontset_add): Adjusted for the change of
2234 char_table_ref_and_range.
2235 (fontset_get_font_group): Likewise.
2236 (Ffontset_info): Likewise.
2237
2238 * keymap.c (describe_vector): Adjusted for the change of
2239 char_table_ref_and_range. For char-table, put boundary between
2240 non-ASCII and 8-bit characters.
2241
2242 * print.c (print_object): For bool-vector, delete unnecessary
2243 check of ASCII_BYTE_P.
2244
9196133b
JR
22452008-11-26 Jason Rumney <jasonr@gnu.org>
2246
2247 * w32font.c (w32font_open_internal): Don't include external
9acef61c 2248 leading in font height. (Bug#879)
9196133b 2249
9f688acf
GM
22502008-11-26 Glenn Morris <rgm@gnu.org>
2251
2252 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
2253 redefinition with ifdef. (Bug#1383)
2254
90d19aff
AR
22552008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2256
2257 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
2258
4ccfa1c0 22592008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
2260
2261 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
2262 New EmacsView methods.
2263 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
2264 Fixes bug #1048,1357,1414.
2265
22662008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2267
2268 Fix bug #1362.
2269 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
2270 is not an indexed color.
2271 * nsterm.m (free_indexed_color): Add argument checking.
2272 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
2273
e7d5ecb3
CY
22742008-11-24 Chong Yidong <cyd@stupidchicken.com>
2275
2276 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
2277 Document confirm-after-completion value for
2278 minibuffer-completion-confirm.
2279
c285743c
JR
22802008-11-24 Jason Rumney <jasonr@gnu.org>
2281
2282 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
2283 warning.
2284
b0857706
JR
22852008-11-23 Jason Rumney <jasonr@gnu.org>
2286
2287 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
2288 restored before returning.
2289
2290 * w32font.c (check_face_name): New function.
2291 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 2292 fonts. (Bug#642)
b0857706 2293
ee50ff07
MR
22942008-11-22 Martin Rudalics <rudalics@gmx.at>
2295
2296 * buffer.c (Fswitch_to_buffer): Reword and mention new option
2297 confirm-nonexistent-file-or-buffer in doc-string.
2298
b8ff72fa
SM
22992008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2300
2301 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
2302 Fix copy/paste typo. Add checks.
2303
cee53ed4
KH
23042008-11-21 Kenichi Handa <handa@m17n.org>
2305
2306 * coding.c (detect_coding_iso_2022): Reject invalid composition
2307 sequence.
2308 (DECODE_COMPOSITION_START): If the current source is the last
2309 block, and the current composition doesn't end, regard this
2310 sequence as invalid.
2311 (decode_coding_iso_2022): Handle invalid composition sequence.
2312
f6ef1e65
MR
23132008-11-20 Martin Rudalics <rudalics@gmx.at>
2314
2315 * window.c (coordinates_in_window): Don't return
2316 ON_VERTICAL_BORDER for the rightmost position of a mode/header
2317 line when the window is not the rightmost one. (Bug#1372)
2318
e08b1705
MR
23192008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2320
2321 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
2322
ad98e89f
EZ
23232008-11-15 Eli Zaretskii <eliz@gnu.org>
2324
2325 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
2326 and bright_bg if noninteractive is non-zero.
2327
fb098a4b
CY
23282008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2329
2330 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
2331 x_draw_glyph_string_background.
2332
2333 * w32term.c (x_draw_glyph_string): Likewise.
2334
ce952b6e
CY
23352008-11-15 Chong Yidong <cyd@stupidchicken.com>
2336
2337 * xterm.c (x_draw_glyph_string): Stop drawing the background of
2338 the next glyph string once past the overhang width.
2339
2340 * nsterm.m (ns_draw_glyph_string): Likewise.
2341
2342 * w32term.c (x_draw_glyph_string): Likewise.
2343
26ea7079
CY
23442008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
2345
2346 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
2347 double file close.
2348
1c33c906
MR
23492008-11-14 Martin Rudalics <rudalics@gmx.at>
2350
2351 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
2352 dedicated status of window before attempting to display another
2353 buffer in it.
2354
8fc29035
JB
23552008-11-14 Juanma Barranquero <lekktu@gmail.com>
2356
2357 * msdos.c (Fmsdos_long_file_names):
2358 (syms_of_msdos) <dos-unsupported-char-glyph>:
2359 * dosfns.c (Fint86): Fix typos in docstrings.
2360
55fb4286
EZ
23612008-11-14 Eli Zaretskii <eliz@gnu.org>
2362
2363 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
2364
3fda0315
KY
23652008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
2366
2367 * puresize.h (BASE_PURESIZE): Increase to 1260000.
2368
7e849c17
CY
23692008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
2370
2371 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
2372
2373 * frame.h: Negative alpha means "don't touch".
2374
2375 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
2376
2377 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
2378
b9fd67bd
DN
23792008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
2380
2381 * hftctl.c:
2382 * chpdef.h:
2383 * acldef.h: Remove files used only for systems no longer supported.
2384
2385 * Makefile.in: Fix .o alphabetical ordering.
2386 (hftctl.o): Remove dependency, file removed.
2387 (keymap.o, print.o): Depend on charset.h.
2388
d5998e03
KH
23892008-11-10 Kenichi Handa <handa@m17n.org>
2390
2ae37cf0 2391 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 2392
be70e183
CY
23932008-11-08 Chong Yidong <cyd@stupidchicken.com>
2394
2395 * dired.c (file_name_completion): If completion_ignore_case is
2396 enabled, ignore case when checking completion-regexp-list.
2397
7cf94eac
EZ
23982008-11-08 Eli Zaretskii <eliz@gnu.org>
2399
2400 * vm-limit.c (get_lim_data): Fix last change.
2401
ee107a89
KH
24022008-11-08 Kenichi Handa <handa@m17n.org>
2403
2404 * character.c (Fget_byte): New function.
2405 (syms_of_character): Defsubr Fget_byte.
2406
5fd15622
CY
24072008-11-07 Chong Yidong <cyd@stupidchicken.com>
2408
2409 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
2410 cursor position is valid after scrolling.
2411
13d62fad
JB
24122008-11-06 Juanma Barranquero <lekktu@gmail.com>
2413
2414 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
2415
a1dd2936
GM
24162008-11-06 Glenn Morris <rgm@gnu.org>
2417
2418 * xterm.c (handle_one_xevent): Don't let popup menus cause
2419 mouse-autoselect-window related window switching. (Bug#1261)
2420
860cd236
CY
24212008-11-04 David Smith <davidsmith@acm.org> (tiny change)
2422
2423 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
2424
653a3150
AS
24252008-11-04 Andreas Schwab <schwab@suse.de>
2426
2427 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
2428
870f5cac
CY
24292008-11-03 Chong Yidong <cyd@stupidchicken.com>
2430
2431 * xfns.c (Fx_wm_set_size_hint): New function.
2432
1e02f3cb
MR
24332008-11-03 Martin Rudalics <rudalics@gmx.at>
2434
2435 * textprop.c (Fprevious_single_char_property_change): Return 0
2436 when there's no change in a string. (Bug#1301)
2437
e630dfc6
MR
24382008-11-02 Martin Rudalics <rudalics@gmx.at>
2439
2440 * frame.c (do_switch_frame): New argument NORECORD passed to
2441 Fselect_window.
2442 (Fselect_frame): New argument NORECORD passed to
2443 do_switch_frame.
2444 (Fset_frame_selected_window): New argument NORECORD passed to
2445 Fselect_frame.
2446 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2447 in call of do_switch_frame.
2448 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2449 Handle NORECORD argument in call of Fselect_frame.
2450 * lisp.h (do_switch_frame, Fselect_frame)
2451 (Fset_frame_selected_window): Adjust declarations.
2452 * window.c (select_frame_norecord): New function.
2453 (run_window_configuration_change_hook): Use it and call
2454 Fselect_frame with NORECORD set.
2455 (Fselect_window): Pass NORECORD to Fselect_frame.
2456 (Fset_window_configuration): Handle NORECORD argument in call of
2457 do_switch_frame.
2458 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2459 Fset_frame_selected_window.
2460 * keyboard.c (command_loop_1): Handle NORECORD in call of
2461 Fselect_frame (currently ifdefd).
2462
9020b223
GM
24632008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2464
2465 * emacs.c (USAGE2): Untabify.
2466
793ffee8
SM
24672008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2468
2469 * composite.c (fill_gstring_header): Fix copy/paste typo.
2470
ab6d1131
MR
24712008-10-31 Martin Rudalics <rudalics@gmx.at>
2472
2473 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2474 (Fother_window): Rename argument and rewrite doc-string.
2475 (select_window_norecord): Fix return value. (Bug#1276)
2476
601a9cf1
JB
24772008-10-30 Juanma Barranquero <lekktu@gmail.com>
2478
2479 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2480 new frames overriding foreground for tooltips. Based on similar patch
2481 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2482
813b0652
CY
24832008-10-29 Chong Yidong <cyd@stupidchicken.com>
2484
2485 * emacs.c (Fdaemon_initialized): Initialize nfd.
2486
4414f58f
MR
24872008-10-29 Martin Rudalics <rudalics@gmx.at>
2488
2489 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2490 (Fwindow_text_height): Clarify doc-strings.
2491 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2492 doc-string of window-scroll-functions.
2493
ecdcaa09
RS
24942008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2495
2496 * category.c (syms_of_category): Fix typo in docstring.
2497
23fe745a
JB
24982008-10-28 Juanma Barranquero <lekktu@gmail.com>
2499
2500 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2501 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2502 Fix typos in docstrings.
2503
ff808935
DN
25042008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2505
2506 * emacs.c (daemon_pipe): Make non-static.
2507 (IS_DAEMON): Move definition ...
2508 * lisp.h (IS_DAEMON): ... here.
2509 (daemon_pipe): Declare.
2510 (is_daemon): Remove.
2511 * dispnew.c (init_display): Use IS_DAEMON.
2512
fc012771
SM
25132008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2514
2515 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2516 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2517
2518 * emacs.c (is_daemon): Remove.
2519 (main): Don't set is_daemon.
2520 (IS_DAEMON): New macro.
2521 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 2522 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
2523 parent exits.
2524 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2525
d8bdbe6f
CY
25262008-10-27 Chong Yidong <cyd@stupidchicken.com>
2527
d1a072bf
CY
2528 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2529 over-sized glyph, draw it with the default glyph width.
2530
e2e325aa
CY
2531 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2532 glyph, draw it with the default glyph width.
2533
2534 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2535 glyph, draw it with the default glyph width.
2536
d8bdbe6f
CY
2537 * xdisp.c (try_scrolling): When computing the distance from the
2538 scroll margin to PT, try moving some distance past the window
2539 bottom before giving up.
2540
7bfac547
MR
25412008-10-27 Martin Rudalics <rudalics@gmx.at>
2542
2543 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
2544 (Fset_window_buffer): Explain in doc-string that a window can be
2545 "strongly" dedicated to its buffer.
2546
4ff029f6
DN
25472008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
2548
2549 * emacs.c (daemon_name): New variable.
2550 (main): Deal with --daemon=SERVER_NAME.
2551 (Fdaemonp): Return a name if one was passed to --daemon.
2552
5790ef40
DN
25532008-10-26 Romain Francoise <romain@orebokech.com>
2554
f9bd0df9 2555 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
2556 (main): Create a pipe before forking, make the parent exit only after
2557 the child has closed its end of the pipe. Move closing the
2558 descriptors ...
2559 (Fdaemon_initialized): ... here. New function.
2560
f5385255
SM
25612008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2562
4d632321
SM
2563 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
2564 the previous unoptimized table.
2565
f5385255
SM
2566 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
2567 the distinction between non-nil and non-t value of `dedicated'.
2568
6c56a0f3
CY
25692008-10-25 Chong Yidong <cyd@stupidchicken.com>
2570
2571 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 2572 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 2573
fec89261
MR
25742008-10-25 Martin Rudalics <rudalics@gmx.at>
2575
2576 * window.c (Fget_buffer_window, Fdelete_windows_on)
2577 (Freplace_buffer_in_windows): Make buffer argument optional and
2578 rename to buffer_or_name.
2579
34fcddd0
CY
25802008-10-24 Chong Yidong <cyd@stupidchicken.com>
2581
f5385255
SM
2582 * xdisp.c (handle_single_display_spec, handle_display_prop):
2583 Undo 2005-05-16 change.
34fcddd0
CY
2584 (handle_stop): Pop iterator if it's loaded with an empty string.
2585 (get_overlay_strings_1): Don't save iterator if it's loaded with
2586 an empty string (bug#1201).
2587
064766f2
KH
25882008-10-24 Kenichi Handa <handa@m17n.org>
2589
2590 * ftfont.c (ftfont_otf_features): Fix previous change.
2591 (ftfont_otf_capability): Check FeatureList.FeatureCount before
2592 calling ftfont_otf_features.
2593
f9bd0df9 25942008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
2595
2596 * font.c (font_match_p): Fix for the case that a vector of
2597 characters is in script-representative-chars.
2598
1dae9197
MA
25992008-10-24 Michael Albinus <michael.albinus@gmx.de>
2600
2601 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 2602 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
2603 (xd_read_queued_messages): Catch Qdbus_error from the macros.
2604 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
2605 macro. (Bug#1186).
2606
f9bd0df9 26072008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
2608
2609 * s/sol2-10.h: New file.
2610
878a4584
JB
26112008-10-23 Juanma Barranquero <lekktu@gmail.com>
2612
2613 * xdisp.c (fill_glyph_string): Fix typo in source (though the
2614 poor beast has survived 9+ years and the jump from xterm.c!).
2615
cd265ca6
MR
26162008-10-23 Martin Rudalics <rudalics@gmx.at>
2617
2618 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
2619 Reword doc-string.
f5385255 2620 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 2621
472a4dc9
JB
26222008-10-23 Juanma Barranquero <lekktu@gmail.com>
2623
2624 * character.c (syms_of_character) <script-representative-chars>:
2625 <unicode-category-table>: Doc fixes.
2626
159bd5a2
NF
26272008-10-23 Noah Friedman <friedman@splode.com>
2628
2629 * coding.c (make_conversion_work_buffer): Check that
2630 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
2631 Fget_buffer_create.
2632
49f9c344
KH
26332008-10-23 Kenichi Handa <handa@m17n.org>
2634
2635 * font.c (font_add_log): Check the values of extra properties.
2636
12bb3111
MR
26372008-10-22 Martin Rudalics <rudalics@gmx.at>
2638
2639 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2640 Reword doc-string.
2641 (Fset_window_parameter): Use NILP.
2642 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 2643 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 2644
bbeb4e99
JB
26452008-10-22 Juanma Barranquero <lekktu@gmail.com>
2646
2647 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
2648
26492008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
2650
2651 * nsfns.m (ns_appkit_version): New function.
2652 (x-server-version): Use it.
2653 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
2654 (x-server-vendor): Don't check_ns().
2655
2656 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
2657
a9b555d3
JB
26582008-10-22 Juanma Barranquero <lekktu@gmail.com>
2659
2660 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
2661 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
2662
4626499f
KH
26632008-10-22 Kenichi Handa <handa@m17n.org>
2664
e3681952
KH
2665 * syntax.c (scan_words): Call word_boundary_p instead of comparing
2666 scripts.
2667
4626499f
KH
2668 * category.c (word_boundary_p): Check scripts instead of charset.
2669 Handle nil value in word-separating-categories and
2670 word-combining-categories.
2671 (syms_of_category): Fix docstrings of word-separating-categories
2672 and word-combining-categories.
2673
1560f91a
EZ
26742008-10-21 Eli Zaretskii <eliz@gnu.org>
2675
2676 * coding.c (Fencode_coding_region, Fdecode_coding_region)
2677 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
2678
f4668441
MR
26792008-10-21 Martin Rudalics <rudalics@gmx.at>
2680
2681 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
2682 Rename arg "buffer" to "buffer_or_name".
2683 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
2684 it optional.
2685 (no_switch_window): Remove since the return value is not used.
a9b555d3 2686 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
2687 Consider window as dedicated when Fwindow_dedicated_p returns a
2688 non-nil value.
2689 * lisp.h: Remove prototype for no_switch_window.
2690
fd75ddb2
JD
26912008-10-21 Jan Djärv <jan.h.d@swipnet.se>
2692
2693 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 2694 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 2695
07295713
KH
26962008-10-21 Kenichi Handa <handa@m17n.org>
2697
2698 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
2699 check Vlatin_extra_code_table.
2700
712adc82
EZ
27012008-10-20 Eli Zaretskii <eliz@gnu.org>
2702
2703 * fileio.c (Fset_file_modes): Doc fix.
2704
f549eb0b
MA
27052008-10-19 Michael Albinus <michael.albinus@gmx.de>
2706
2707 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
2708 in arrays.
2709
aac0c6e3
MR
27102008-10-19 Martin Rudalics <rudalics@gmx.at>
2711
2712 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2713 Mention kill-buffer in doc-string.
2714 (Fset_window_buffer): Reinsert tem check removed in last commit.
2715 (Fenlarge_window, Fshrink_window): Have argument names and
2716 doc-string follow Elisp manual more closely.
2717
27182008-10-18 Eli Zaretskii <eliz@gnu.org>
2719
2720 * fileio.c (Fset_file_modes): Doc fix.
2721
27222008-10-18 Martin Rudalics <rudalics@gmx.at>
2723
2724 * window.c (Fwindow_width, Fset_window_start)
2725 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
2726 (Fdelete_windows_on, Freplace_buffer_in_windows):
2727 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
2728 (Fwindow_dedicated_p): Make window argument optional.
2729 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
2730 (Fset_window_buffer): Respect any non-nil dedicated value for
2731 window. Rename "buffer" argument to "buffer_or_name".
2732
27332008-10-18 Ulrich Mueller <ulm@gentoo.org>
2734
2735 * m/sh3.h: New file, machine description for SuperH.
2736
27372008-10-17 Martin Rudalics <rudalics@gmx.at>
2738
2739 * window.c (Fsplit_window): Rename arg horflag to horizontal.
2740
27412008-10-17 Kenichi Handa <handa@m17n.org>
2742
2743 * ftfont.c (ftfont_otf_features): Fix indexing
2744 gsub_gpos->FeatureList.Feature. Check the validity of indices.
2745
27462008-10-16 Magnus Henoch <mange@freemail.hu>
2747
2748 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
2749 (Fdbus_call_method_asynchronously): Ditto.
2750 This change makes C-h f display the argument list.
2751
27522008-10-16 Chong Yidong <cyd@stupidchicken.com>
2753
2754 * fileio.c (Fexpand_file_name): Doc fix.
2755
2756 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
2757 of :foreground and :background equivalent to unspecified (20.x
2758 compatibility).
2759
27602008-10-15 Eli Zaretskii <eliz@gnu.org>
2761
2762 * buffer.c (syms_of_buffer): Doc fix.
2763
27642008-10-14 Kenichi Handa <handa@m17n.org>
2765
2766 * font.c (font_clear_prop): When clearing font width, clear the
2767 average width field too.
2768
27692008-10-12 Andreas Schwab <schwab@suse.de>
2770
2771 * ftfont.c (ftfont_shape_by_flt): Make static.
2772 * ftfont.h (ftfont_shape_by_flt): Don't declare.
2773
2774 * font.c: Don't include <m17n-flt.h>.
2775
27762008-10-10 Eli Zaretskii <eliz@gnu.org>
2777
2778 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
2779
27802008-10-09 Eli Zaretskii <eliz@gnu.org>
2781
2782 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
2783 away code.
2784
27852008-10-09 Chong Yidong <cyd@stupidchicken.com>
2786
2787 * dispnew.c (update_text_area): Avoid looping due to large glyph
2788 overhangs (bug#1070).
2789
27902008-10-09 Kenichi Handa <handa@m17n.org>
2791
2792 * fontset.c (face_for_char): If face->fontset is negative, just
2793 return ascii_face.
2794
f5385255
SM
2795 * font.c (font_delete_unmatched): Fix previous change.
2796 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
2797
27982008-10-09 Martin Rudalics <rudalics@gmx.at>
2799
2800 * frame.c (Fraise_frame): On text-only terminals select frame in
2801 order to make it visible. (Bug#1061)
2802
28032008-10-08 Chong Yidong <cyd@stupidchicken.com>
2804
2805 * fontset.c (fontset_find_font): Check frame validity.
2806
28072008-10-07 Chong Yidong <cyd@stupidchicken.com>
2808
a9b555d3 2809 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
2810 (xg_display_close): Allow Emacs to close all displays (bug#985).
2811
28122008-10-06 Andreas Schwab <schwab@suse.de>
2813
f5385255 2814 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
2815
28162008-10-06 Chong Yidong <cyd@stupidchicken.com>
2817
f5385255 2818 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 2819
a9b555d3 2820 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
2821
2822 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
2823 during initialization.
2824
28252008-10-04 Eli Zaretskii <eliz@gnu.org>
2826
2827 * xdisp.c (redisplay_internal): If frame switched, redisplay the
2828 whole thing on MSDOS frames as well as on a TTY.
2829
2830 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
2831 well as for TTY.
2832 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
2833 well as on a TTY.
2834
2835 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
2836 as well as for TTY.
2837
2838 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
2839
2840 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
2841 MSDOS frames as well.
2842
28432008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2844
2845 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
2846 correct arguments.
b71ac3dd 2847 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
2848
28492008-10-03 Glenn Morris <rgm@gnu.org>
2850
2851 * emacs.c (USAGE1): Add --daemon.
2852
28532008-10-02 Eli Zaretskii <eliz@gnu.org>
2854
2855 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
2856 100, so it's in percents as advertised.
2857
28582008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2859
2860 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2861 (ns_output.current_cursor, ns_output.desired_cursor)
2862 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2863 (FRAME_NEW_CURSOR_COLOR): Remove.
2864
2865 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2866 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2867 enumeration (HOLLOW_BOX_CURSOR, etc.).
2868
2869 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2870 (draw_window_cursor): Simplify code.
f5385255
SM
2871 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2872 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2873 updates manually.
a9b555d3
JB
2874 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2875 Use core Emacs cursor types.
aac0c6e3 2876
b8ff72fa 2877 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2878
28792008-10-02 Martin Rudalics <rudalics@gmx.at>
2880
2881 * process.c (Faccept_process_output): Fix doc-string.
2882
28832008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2884
2885 * gmalloc.c (__sbrk): Also define for uClibc.
2886
2887 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2888 for uClibc.
2889
28902008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2891
2892 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2893 styles.
2894 (nsfont_open): Reenable the cache.
2895
28962008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2897
2898 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2899 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2900
29012008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2902
2903 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2904 a suspended terminal.
2905
29062008-09-30 Michael Albinus <michael.albinus@gmx.de>
2907
2908 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2909
29102008-09-30 Eli Zaretskii <eliz@gnu.org>
2911
2912 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2913
29142008-09-30 Chong Yidong <cyd@stupidchicken.com>
2915
2916 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2917 in a continued line coincides with a line beginning.
2918
29192008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2920
2921 * nsfont.m (nsfont_trait_distance): Fix bug.
2922 (nsfont_list): Return a list rather than a vector (syncs with Handa
2923 changes of 2008-05-14).
2924 (nsfont_open): Improve logging.
2925
29262008-09-29 Andreas Schwab <schwab@suse.de>
2927
2928 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2929
29302008-09-28 Martin Rudalics <rudalics@gmx.at>
2931
2932 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2933 name as char-resolve-modifiers.
2934 Reported by: Markus Triska <markus.triska@gmx.at>
2935
29362008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2937
2938 * dispnew.c (init_display): Return earlier when running as a daemon.
2939
29402008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2941
2942 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2943
29442008-09-27 Eli Zaretskii <eliz@gnu.org>
2945
2946 * composite.c (Fcomposition_get_gstring)
2947 (Fcompose_region_internal, Fcompose_string_internal)
2948 (Ffind_composition_internal): Doc fix.
2949 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2950 (syms_of_composite) <auto-composition-function>: Doc fix.
2951 (syms_of_composite) <composition-function-table>: Doc fix.
2952
29532008-09-25 Chong Yidong <cyd@stupidchicken.com>
2954
2955 * search.c (wordify): New argument for lax word-ends.
2956 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2957
29582008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2959
2960 * lisp.h (is_daemon): Declare.
2961 * dispnew.c (init_display): Do not try to initialize the terminal
2962 when running as a daemon.
2963
29642008-09-22 Chong Yidong <cyd@stupidchicken.com>
2965
2966 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2967 x_display_pixel_height.
2968
29692008-09-22 Martin Rudalics <rudalics@gmx.at>
2970
2971 * undo.c (record_point): Don't call Fundo_boundary for first
2972 change. (Bug#731)
2973
29742008-09-22 Juanma Barranquero <lekktu@gmail.com>
2975
2976 * emacs.c (Fdaemonp): Doc fix.
2977
29782008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2979
2980 * emacs.c (main): Place #ifdef in the proper place.
2981
29822008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2983
2984 * emacs.c (standard_args): Add --daemon.
2985 (main): Disconnect from the terminal when --daemon is passed.
2986 (is_daemon): New variable.
2987 (Fdaemonp): New function.
2988 (syms_of_emacs): Defsubr it.
2989
29902008-09-20 Chong Yidong <cyd@stupidchicken.com>
2991
2992 * xdisp.c (get_next_display_element): Handle string display
2993 correctly when checking for the end of a box run.
2994
29952008-09-20 Glenn Morris <rgm@gnu.org>
2996
2997 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2998 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2999 (Frename_file): Avoid copying to trash if a rename involves
3000 a delete. (Bug#964).
3001
30022008-09-20 Eli Zaretskii <eliz@gnu.org>
3003
3004 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
3005 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
3006 frames as well as termcap frames.
3007 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
3008 get_named_tty.
3009
30102008-09-19 Eli Zaretskii <eliz@gnu.org>
3011
3012 * process.c (procfs_system_process_attributes): Fix cmdline in
3013 case /proc/PID/cmdline is empty.
3014
3015 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
3016 x_display_pixel_height.
3017
30182008-09-19 Juanma Barranquero <lekktu@gmail.com>
3019
3020 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
3021
3022 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
3023 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
3024
30252008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
3026
3027 * dispextern.h (struct it): Move line_wrap away from the middle of
3028 bitfields. Move voffset in struct iterator_stack_entry after the
3029 bitfields. Move tab_width near after another short.
3030
30312008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
3032
3033 * frame.h (struct frame): Move alpha from the middle of bitfields.
3034
3035 * window.h (struct window): Move frozen_window_start_p after the
3036 rest of the bitfields to reduce padding.
3037
30382008-09-18 Chong Yidong <cyd@stupidchicken.com>
3039
3040 * xterm.h (x_display_info): Remove `height' and `width' members.
3041
3042 * nsterm.h (ns_display_info): Remove `height' and `width' members.
3043
3044 * w32term.h (w32_display_info): Remove `height', `width',
3045 `height_in', and `width_in' members.
3046
b8ff72fa
SM
3047 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3048 New functions.
aac0c6e3
MR
3049 (x_calc_absolute_position): Use them.
3050 (x_term_init): Omit removed `height' and `width' members.
3051
b8ff72fa
SM
3052 * w32term.c (x_display_pixel_height, x_display_pixel_width):
3053 New functions.
aac0c6e3
MR
3054 (w32_read_socket, x_calc_absolute_position): Use them.
3055 (w32_initialize_display_info, w32_term_init): Omit removed members
3056 of w32_display_info.
3057
b8ff72fa
SM
3058 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
3059 New functions.
3060 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 3061
b8ff72fa
SM
3062 * xterm.c (x_display_pixel_height, x_display_pixel_width):
3063 New functions.
aac0c6e3
MR
3064 (x_calc_absolute_position): Use them.
3065 (x_term_init): Omit removed `height' and `width' members.
3066
3067 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
3068 (compute_tip_xy):
3069 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
3070 * xmenu.c (menu_position_func): Use x_display_pixel_height and
3071 x_display_pixel_width.
3072
30732008-09-18 Kenichi Handa <handa@m17n.org>
3074
3075 * composite.c (fill_gstring_header): Don't check FROM and TO here.
3076 (composition_compute_stop_pos): Fix handling of static composition.
3077 (Fcomposition_get_gstring): Check FROM and TO at first.
3078
30792008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
3080
46e722a9 3081 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
3082 mixup (YAILOM).
3083
30842008-09-17 Chong Yidong <cyd@stupidchicken.com>
3085
3086 * indent.c (Fvertical_motion): Use position reported by iterator
3087 instead of PT for determining screen motion (bug#943).
3088
30892008-09-17 Romain Francoise <romain@orebokech.com>
3090
3091 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
3092
30932008-09-17 Kenichi Handa <handa@m17n.org>
3094
3095 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
3096
3097 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
3098 if necessary.
3099
31002008-09-16 Kenichi Handa <handa@m17n.org>
3101
3102 * coding.c (make_conversion_work_buffer): Avoid calling
3103 Fget_buffer_create if it is not necessary.
3104
31052008-09-15 Martin Rudalics <rudalics@gmx.at>
3106
3107 * window.c (Fselect_window): Don't update window_select_count and
3108 use_time when norecord is not nil.
3109
31102008-09-14 Kenichi Handa <handa@m17n.org>
3111
3112 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
3113 specpdl_ptr.
3114
31152008-09-12 Kenichi Handa <handa@m17n.org>
3116
3117 * indent.c (scan_for_column): Don't handle automatic composition
3118 if the current buffer is not associated with a window.
3119
3120 * composite.c (composition_reseat_it): If the current buffer is
3121 not associated with a window, ignore the automatic composition.
3122 (find_automatic_composition): Likewise.
3123
31242008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3125
3126 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
3127 (Fgpm_mouse_stop): Use it.
3128 * termhooks.h (close_gpm): Declare.
3129 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
3130 connection if Gpm_GetEvent fails.
3131
3132 * window.c (set_window_buffer): Always preserve current-buffer.
3133
31342008-09-12 Glenn Morris <rgm@gnu.org>
3135
3136 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
3137
31382008-09-11 Glenn Morris <rgm@gnu.org>
3139
3140 * charset.c (charset-map-path): Doc fix.
3141
31422008-09-10 Kenichi Handa <handa@m17n.org>
3143
3144 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
3145
3146 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
3147 compose a grapheme cluster with the preceding base glyph.
3148
3149 * composite.c (composition_compute_stop_pos): Fix previous change.
3150 Reset cmp_it->id to -1 at first.
3151
31522008-09-10 Glenn Morris <rgm@gnu.org>
3153
3154 * Makefile.in (character.o, chartab.o): Fix config.h typo.
3155
31562008-09-09 Chong Yidong <cyd@stupidchicken.com>
3157
3158 * keyboard.c (read_key_sequence): Reapply translation maps when
3159 switching keyboards.
3160
31612008-09-09 Kenichi Handa <handa@m17n.org>
3162
3163 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
3164 characters.
3165
3166 * composite.c (FORWARD_CHAR): Fix calculation
3167 of (POSITION).pos_byte.
3168 (composition_compute_stop_pos): Limit the search of composition to
3169 at most 500 characters ahead. If we reach the limit or find a
3170 newline, set cmp_it->ch to -2 and return 0.
3171 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
3172
31732008-09-08 Kenichi Handa <handa@m17n.org>
3174
3175 * indent.c (Fvertical_motion): Be sure to set
3176 it_overshoot_expected if it.cmp_it.id is non-negative.
3177
31782008-09-07 Andreas Schwab <schwab@suse.de>
3179
3180 * callproc.c (Fcall_process): Don't hold references to string data
3181 across garbage collection. Move initialisation of new_argv down
3182 to avoid compiler bug.
3183
31842008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3185
3186 * process.c (Fsystem_process_attributes): Doc fix.
3187
31882008-09-07 Chong Yidong <cyd@stupidchicken.com>
3189
3190 * callproc.c (Fcall_process): Canonicalize current directory name.
3191
3192 * xdisp.c (move_it_to): When moving by vpos, ensure that the
3193 iterator advances to the next line if the current line ends in a
3194 continued tab.
3195
31962008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
3197
3198 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
3199 member to point to cmp_from.
3200
3201 * xdisp.c: Doc fix for references to gidx data member.
3202
32032008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3204
3205 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
3206
32072008-09-07 Kenichi Handa <handa@m17n.org>
3208
3209 * composite.c (FORWARD_CHAR): Check STOP after
3210 incrementing (POSITION).pos.
3211
32122008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3213
3214 * process.c (Fsystem_process_attributes): Doc fix.
3215
32162008-09-06 Chong Yidong <cyd@stupidchicken.com>
3217
3218 * keyboard.c (Ftop_level): Doc fix.
3219
32202008-09-06 Eli Zaretskii <eliz@gnu.org>
3221
3222 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
3223 minibuffer, don't let lower part of menu invade the echo area.
3224
3225 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
3226 "char *q" to access menu text and advance through it. Revert the
3227 change that displayed ">" instead of ASCII character 0x10.
3228
32292008-09-05 Eli Zaretskii <eliz@gnu.org>
3230
3231 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
3232 toggle boxes and radio buttons on MS-DOS as well.
3233
32342008-09-05 Kenichi Handa <handa@m17n.org>
3235
3236 * composite.c (autocmp_chars): Check lookback count.
3237 (composition_compute_stop_pos): Set cmp_it->lookback.
3238 (composition_reseat_it): Check lookback count.
3239 (struct position_record): New struct.
3240 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
3241 (find_automatic_composition): New function.
3242 (composition_adjust_point): Use find_automatic_composition.
3243
3244 * dispextern.h (struct composition_it): New member lookback.
3245
32462008-09-02 Chong Yidong <cyd@stupidchicken.com>
3247
3248 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
3249 if moving by a single line.
3250
32512008-09-02 Andreas Schwab <schwab@suse.de>
3252
3253 * xterm.c (x_delete_display): Fix merge error.
3254
3255 * fileio.c (Fexpand_file_name): Remove unused variables.
3256
32572008-09-02 Eli Zaretskii <eliz@gnu.org>
3258
3259 * fileio.c (Fexpand_file_name): Copy argument `name' into local
3260 storage on all platforms, not just on DOS_NT.
3261
32622008-09-02 Jason Rumney <jasonr@gnu.org>
3263
b8ff72fa
SM
3264 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
3265 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
3266
32672008-09-01 Chong Yidong <cyd@stupidchicken.com>
3268
3269 * xfaces.c (Finternal_set_alternative_font_family_alist)
3270 (Finternal_set_alternative_font_registry_alist): Properly copy
3271 entire alist structure.
3272
32732008-09-01 Kenichi Handa <handa@m17n.org>
3274
d66c0241 3275 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 3276 representative chars of the script is a vector.
d66c0241
JB
3277 (ftfont_list): Handle the case where the representative chars of
3278 the script is a vector.
aac0c6e3
MR
3279
3280 * character.c (syms_of_character): Docstring of
3281 script-representative-chars fixed.
3282
32832008-08-31 Eli Zaretskii <eliz@gnu.org>
3284
3285 * msdos.c (BUILD_CHAR_GLYPH): New macro.
3286 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
3287 the menu. Allocate larger buffer for `text', to account for
3288 possible ^C characters.
3289
32902008-08-31 Martin Rudalics <rudalics@gmx.at>
3291
3292 * xdisp.c (prepare_menu_bars): Don't call
3293 Vwindow_size_change_functions with arg Qt.
3294
32952008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
3296
3297 * font.h (font_range):
3298 * fileio.c (report_file_error):
46e722a9
SM
3299 * composite.c (composition_update_it): Yet another int/Lisp_Object
3300 mixup (YAILOM).
aac0c6e3
MR
3301
33022008-08-30 Glenn Morris <rgm@gnu.org>
3303
3304 * data.c (Fmake_variable_frame_local): Doc fix.
3305
3306 * frame.c (Fmodify_frame_parameters): Doc fix.
3307
33082008-08-30 Eli Zaretskii <eliz@gnu.org>
3309
3310 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
3311 needed by GetTokenInformation.
3312 (w32_system_process_attributes): Check return values of all system
3313 APIs.
3314
3315 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
3316 only when the state changes.
3317 (IT_update_begin, IT_update_end): Add termscript trace.
3318
3319 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
3320 clipboard is unavailable. Set dst to NULL if it doesn't point to
3321 malloc'ed data.
3322 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
3323 passing random values to xfree.
3324
3325 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 3326 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
3327
33282008-08-29 Jason Rumney <jasonr@gnu.org>
3329
3330 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
3331
33322008-08-29 Eli Zaretskii <eliz@gnu.org>
3333
3334 * composite.c (fill_gstring_body): Avoid compiler warnings.
3335
3336 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
3337 LGLYPH_SET_CODE to avoid compiler warnings.
3338
2ae37cf0 3339 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
3340
3341 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
3342
3343 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
3344 LGLYPH_SET_CODE.
3345
33462008-08-29 Kenichi Handa <handa@m17n.org>
3347
3348 * fileio.c (report_file_error): Don't downcase the first character
3349 of errstring if it is still unibyte.
3350
33512008-08-29 Kenichi Handa <handa@m17n.org>
3352
3353 These changes are to re-implement the automatic composition so
3354 that it doesn't use text properties.
3355
3356 * Makefile.in (ftfont.o): Depend on composite.h.
3357 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
3358
3359 * character.h (Vunicode_category_table): Extern it.
3360
3361 * character.c (Vunicode_category_table): New variable.
3362 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
3363
3364 * chartab.c (optimize_sub_char_table): Perform more greedy
3365 optimization.
3366
b8ff72fa
SM
3367 * composite.h (enum composition_method):
3368 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
3369 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
3370 (Vcomposition_function_table): Extern it.
3371 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
3372 (composition_gstring_put_cache, composition_gstring_from_id)
3373 (composition_gstring_p, composition_gstring_width)
3374 (composition_compute_stop_pos, composition_reseat_it)
3375 (composition_update_it, composition_adjust_point): Extern them.
3376 (Fcomposition_get_gstring): EXFUN it.
3377
d66c0241 3378 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
3379 (Vcomposition_function_table)
3380 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
3381 (gstring_hash_table, gstring_work, gstring_work_headers):
3382 New variables.
aac0c6e3
MR
3383 (gstring_lookup_cache, composition_gstring_put_cache)
3384 (composition_gstring_from_id, composition_gstring_p)
3385 (composition_gstring_width, fill_gstring_header)
3386 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
3387 (composition_reseat_it, composition_update_it)
b8ff72fa 3388 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
3389 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
3390 and gstring_work_headers. DEFVAR_LISP composition-function-table.
3391 Defsubr compostion_get_gstring.
3392
3393 * dispextern.h (struct glyph): New union u.cmp. Delete the member
3394 cmp_id.
3395 (struct glyph_string): Delete the member gidx. New members
3396 cmp_id, cmp_from, and cmp_to.
3397 (enum it_method): Delete GET_FROM_COMPOSITION.
3398 (struct composition_it): New struct.
3399 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
3400 Delete c, len, cmp_id, cmp_len in u.comp.
3401
3402 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 3403 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 3404 (enum lglyph_indices): Likewise.
b8ff72fa 3405 (font_range): Adjust extern.
aac0c6e3
MR
3406 (font_fill_lglyph_metrics): Extern it.
3407
3408 * font.c (QCf): New variable.
3409 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3410 (font_prepare_composition): Delete this function.
3411 (font_range): Type and arguments changed.
3412 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
3413 (font_fill_lglyph_metrics): New function.
b8ff72fa 3414 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 3415 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
3416 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
3417 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
3418
3419 * fontset.h (font_for_char): Extern it.
3420
3421 * fontset.c (font_for_char): New function.
3422
3423 * ftfont.c: Include composite.h.
3424 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 3425 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
3426
3427 * indent.c: Include composite.h and dispextern.h.
3428 (check_composition): Delete this function.
3429 (scan_for_column): Handle composition by
3430 composition_compute_stop_pos, composition_reseat_it, and
3431 composition_update_it.
3432 (compute_motion): Likewise.
3433 (Fvertical_motion): Fix checking of composition.
3434
3435 * keyboard.c (adjust_point_for_property): Check composition by
3436 composition_adjust_point.
3437
b8ff72fa 3438 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
3439 struct glyph_string.
3440
b8ff72fa
SM
3441 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3442 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
3443 struct glyph.
3444 (produce_composite_glyph): Likewise.
3445
b8ff72fa
SM
3446 * w32term.c (x_draw_composite_glyph_string_foreground):
3447 Adjust for the change of struct glyph_string.
aac0c6e3
MR
3448 (x_draw_glyph_string): Likewise.
3449
3450 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3451 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3452
3453 * xdisp.c: Include font.h.
3454 (it_props): Delete the entry for Qauto_composed.
3455 (init_iterator): Initialize it->cmp_it.id to -1.
3456 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 3457 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
3458 (handle_auto_composed_prop): Delete it.
3459 (handle_composition_prop): Handle only static composition.
3460 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3461 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 3462 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
3463 (pop_it): Likewise.
3464 (get_next_element): Delete next_element_from_composition.
3465 (CHAR_COMPOSED_P): New macro.
3466 (get_next_display_element): For automatic composition, get a face
3467 from the font in the glyph-string.
3468 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 3469 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
3470 (next_element_from_string): Check if the character at the current
3471 position is composed by CHAR_COMPOSED_P.
3472 (next_element_from_buffer): Likewise.
d66c0241
JB
3473 (next_element_from_composition): Adjust for the change of struct it.
3474 Update it->cmp_it.
b8ff72fa
SM
3475 (dump_glyph): Adjust for the change of struct glyph.
3476 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
3477 it and struct glyph. Don't handle automatic composition here.
3478 (fill_gstring_glyph_string): New function.
3479 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 3480 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
3481 (BUILD_GSTRING_GLYPH_STRING): New macro.
3482 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3483 automatic composition.
b8ff72fa 3484 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 3485 struct glyph.
b8ff72fa 3486 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 3487
b8ff72fa 3488 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
3489 the change of struct glyph_string.
3490 (x_draw_glyph_string): Likewise.
3491
34922008-08-29 Glenn Morris <rgm@gnu.org>
3493
3494 * buffer.c (word-wrap): Doc fix.
3495 * xdisp.c (truncate-partial-width-windows): Doc fix.
3496 Increase default to 50.
3497
34982008-08-29 Chong Yidong <cyd@stupidchicken.com>
3499
3500 * xdisp.c (update_tool_bar_unwind): New function.
3501 (update_tool_bar): Temporarily set selected frame before building
3502 tool-bar items.
3503
35042008-08-28 Michael Albinus <michael.albinus@gmx.de>
3505
3506 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3507 snprintf, respectively.
3508 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3509
35102008-08-28 Chong Yidong <cyd@stupidchicken.com>
3511
3512 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3513 LDFLAGS to GNUstep CC invocation.
3514
35152008-08-27 Chong Yidong <cyd@stupidchicken.com>
3516
3517 * indent.c (Fvertical_motion): Revert last change. Handle the
3518 general case where we are moving forward, and PT spans multiple
3519 screen lines.
3520
3521 * eval.c (find_handler_clause): Temporarily increase
3522 max-lisp-eval-depth while printing the backtrace buffer, to
3523 guarantee that help-mode code can run.
3524
35252008-08-27 Eli Zaretskii <eliz@gnu.org>
3526
3527 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3528 colors under -rv.
3529 (IT_set_frame_parameters): Don't swap foreground and background
3530 colors if `(reverse . t)' is present in the frame properties.
3531 (internal_terminal_init): Call init_frame_faces only for the
3532 initial frame.
3533
35342008-08-27 Andreas Schwab <schwab@suse.de>
3535
3536 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3537
35382008-08-27 Andreas Schwab <schwab@suse.de>
3539
3540 * search.c (search_buffer): Set char_base to zero only at the end.
3541
35422008-08-27 Kenichi Handa <handa@m17n.org>
3543
b8ff72fa 3544 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
3545
35462008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
3547
3548 * xterm.c (x_term_init): Temporarily hide the partially
3549 initialized terminal while calling vendor-specific-keysyms.
3550
35512008-08-26 Eli Zaretskii <eliz@gnu.org>
3552
3553 * msdos.c (internal_terminal_init): Most initializations done only
3554 once, especially initial_screen_colors[] and termscript open.
3555
35562008-08-26 Chong Yidong <cyd@stupidchicken.com>
3557
3558 * eval.c (Fcondition_case): Doc fix.
3559
3560 * widgetprv.h (EmacsFramePart): Change font member to the new font
3561 struct.
3562
3563 * widget.c: Include character.h and font.h for XSETFONT.
3564 (setup_frame_gcs): Compute X font id from font struct, just once.
3565
35662008-08-26 Eli Zaretskii <eliz@gnu.org>
3567
3568 * term.c (get_named_tty): Fix last change.
3569
35702008-08-26 Chong Yidong <cyd@stupidchicken.com>
3571
3572 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 3573 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
3574
35752008-08-25 Eli Zaretskii <eliz@gnu.org>
3576
3577 * frame.c (do_switch_frame): Mark previously displayed frame as
3578 obscured for FRAME_MSDOS_P frames as well.
3579
35802008-08-24 Eli Zaretskii <eliz@gnu.org>
3581
3582 * frame.c (make_terminal_frame): Initialize f->terminal,
3583 f->terminal->reference_count, and scroll bars on MS-DOS as well.
3584 Set the top frame to newly created frame.
3585 (Fmake_terminal_frame): Reuse the_only_display_info.
3586
3587 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
3588 estimating available memory.
3589
b97439ce 35902008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
3591
3592 * nsterm.m (ns_draw_window_cursor): Don't call
3593 NSDisableScreenUpdates and NSEnableScreenUpdates on
3594 non-NS_IMPL_COCOA systems.
3595
35962008-08-23 Andreas Schwab <schwab@suse.de>
3597
3598 * process.c (procfs_system_process_attributes): Fix use of
3599 uninitialized variables.
3600
36012008-08-23 Eli Zaretskii <eliz@gnu.org>
3602
3603 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
3604
3605 * dispnew.c (init_display): Remove MS-DOS specific conditions for
3606 calling tty-set-up-initial-frame-faces.
3607
b8ff72fa
SM
3608 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
3609 Allow MSDOS frames along with X frames.
aac0c6e3
MR
3610
3611 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
3612 addition to output_termcap.
3613
3614 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
3615
3616 * termchar.h (FRAME_TTY): Support output_msdos_raw.
3617 (struct tty_display_info) [MSDOS]: Add fields related to mouse
3618 highlight.
3619
3620 * process.c [!subprocesses]: Define QCname.
3621 (syms_of_process): Intern and staticpro it.
3622
3623 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
3624 Adjust for changes in encoding/decoding routines.
3625 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
3626 encode_coding and decode_coding.
3627
b8ff72fa 3628 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
3629
3630 * dosfns.c: Include frame.h before termhooks.h.
3631 (dos_cleanup): Use CURTTY ()->termscript instead of a global
3632 variable termscript.
3633
3634 * s/msdos.h (USER_FULL_NAME): Define.
3635 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
3636
3637 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
3638 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
3639 pw->pw_gecos.
3640
3641 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
3642 SELECTED_FRAME as additional (1st) argument.
3643 (tty_read_avail_input): Handle output_msdos_raw in
3644 addition to output_termcap.
3645
3646 * msdos.c: Include frame.h before termhooks.h.
3647 (mouse_on, mouse_off, mouse_moveto, mouse_init)
3648 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
3649 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
3650 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
3651 (IT_set_terminal_modes, IT_reset_terminal_modes)
3652 (IT_set_frame_parameters): Use tty->termscript instead of a global
3653 variable termscript.
3654 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
3655 global variable terminal_coding. Don't refer to
3656 Vnonascii_translation_table.
3657 (internal_terminal_init): Set Vwindow_system in current_kboard.
3658 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
3659 Announce date and time of session start, if termscript is open.
3660 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
3661 term.c:init_tty). Open termscript only of not already open.
3662 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
3663 here instead of dos_ttraw. Don't initialize display if this is an
3664 initial tty. Don't set FRAME_FONT.
3665 (Vwindow_system_version): Bump to 23.
3666 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
3667 is available, set up mouse_position_hook.
3668 (dos_ttraw, IT_set_terminal_modes): If called with initial
3669 terminal, do nothing.
3670 (IT_set_frame_parameters): Handle the Qtty_type frame
3671 parameter by calling internal_terminal_init.
3672 (dos_set_window_size, show_mouse_face)
3673 (clear_mouse_face, IT_note_mode_line_highlight)
3674 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
3675 (dos_rawgetc): Use tty_display_info instead of x_display_info.
3676 (initialize_msdos_display): New function.
3677 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
3678 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
3679 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
3680 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 3681 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
3682 (request_sigio, unrequest_sigio): Don't define, now defined on
3683 sysdep.c.
3684 (IT_write_glyphs): Rewrite to use encode_terminal_code.
3685
3686 * term.c [MSDOS]: Include msdos.h.
3687 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
3688 conditional to DOS_NT. Allow only one call to this function in a
3689 session. Don't allocate a new struct tty_display_info; instead,
3690 reuse the_only_display_info. Call get_tty_size to get screen
3691 dimensions. Call init_baud_rate to set bad_rate.
3692 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
3693 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 3694 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
3695 (get_tty_terminal, get_named_tty, Ftty_type)
3696 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
3697 output_termcap.
b8ff72fa
SM
3698 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
3699 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 3700 only when subprocesses are supported.
aac0c6e3
MR
3701
3702 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
3703 f->output_data.x.
3704 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
3705 terminal devices.
3706
5582fbc7 3707 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
3708 x_output.
3709 (FRAME_FONT): Use output_data.tty.
3710 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
3711 (struct x_display_info): Rename from display_info. Update all users in
3712 msdos.c.
aac0c6e3 3713 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 3714 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
3715 (dos_ttraw): Update prototype.
3716
3717 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
3718 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
3719
37202008-08-23 Jason Rumney <jasonr@gnu.org>
3721
3722 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
3723 (fn_TIFFSetDirectory): New library function used.
3724 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
3725 (tiff_load): Use :index to select among multiple images. Set count
3726 property when multiple images exist.
3727 (gif_format): Use :index, not :image.
3728
37292008-08-23 Chong Yidong <cyd@stupidchicken.com>
3730
3731 * xdisp.c (try_scrolling): Check INT_MAX instead of
3732 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
3733 to obtain INT_MAX.
3734
37352008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
3736
3737 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
3738
37392008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
3740
3741 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
3742 GNUstep library location.
3743
37442008-08-21 Chong Yidong <cyd@stupidchicken.com>
3745
3746 * xfaces.c (x_update_menu_appearance): Check validity of menu font
3747 before using it.
3748
3749 * puresize.h (BASE_PURESIZE): Increase to 1250000.
3750
37512008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3752
3753 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
3754 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
3755 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
3756 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
3757 (EmacsApp-cursor_blink_handler): Remove declaration.
3758 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
3759 match 01 Feb 2008 changes in xterm.c.
3760 (ns_read_socket): Add cast to avoid warning.
3761 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
3762 GNUstep.
3763
37642008-08-20 Chong Yidong <cyd@stupidchicken.com>
3765
3766 * xselect.c (x_get_foreign_selection): Return nil if desired
3767 selection could not be obtained, instead of signalling an error.
3768
37692008-08-20 David Reitter <david.reitter@gmail.com>
3770
3771 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
3772 * nsterm.m: Remove ns-specific code for cursor blinking.
3773 (ns_draw_window_cursor): Clear cursor properly rather than
3774 redrawing the area. Respect width of bar cursors.
3775 These changes enable the use of generic blink-cursor-mode and
3776 generic cursor types in NS and support smooth cursor movements (do
3777 not blink off after command).
3778 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
3779 Nextstep, too.
3780
37812008-08-19 Kenichi Handa <handa@m17n.org>
3782
3783 * font.c (Vfont_log_deferred): New variable.
3784 (font_add_log): Check Vfont_log_deferred.
3785 (font_deferred_log): New function.
3786
3787 * font.h (font_deferred_log): Extern it.
3788
3789 * fontset.c (reorder_font_vector): Use encoding charset of fonts
3790 for sorting.
3791 (face_for_char): Use deferred log.
3792
37932008-08-18 Kenichi Handa <handa@m17n.org>
3794
3795 * fontset.c (face_for_char): Add font log.
3796
3797 * font.c (font_add_log): Add the font properties :script, :lang,
3798 and :otf in the log.
3799
38002008-08-17 Chong Yidong <cyd@stupidchicken.com>
3801
3802 * xdisp.c: Remove dead code.
3803 (handle_invisible_prop, next_overlay_string): Defer call to
3804 setup_for_ellipsis.
3805 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
3806
38072008-08-15 Chong Yidong <cyd@stupidchicken.com>
3808
3809 * xfaces.c (lookup_derived_face): Properly handle possible zero
3810 return value of get_lface_attributes.
3811 (merge_faces): Don't tell lookup_derived_face to signal an error
3812 if face is not found.
3813
3814 * dired.c (Fdirectory_files): Doc fix.
3815
3816 * process.c (make_process): Initialize kill_without_query struct
3817 member.
3818
38192008-08-15 Eli Zaretskii <eliz@gnu.org>
3820
3821 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
3822 Alternative calculation of totphys for Visual Studio 6.
3823
3824 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
3825
3826 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
3827 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
3828 All users changed.
3829 (stat): Only root directory passed to GetDriveType. Allow RAM
3830 disk as well as local fixed disk when w32-get-true-file-attributes
3831 is set to `local'.
3832 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
3833 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
3834 (w32_cached_id, w32_add_to_cache): New functions.
3835 (get_name_and_id): Look account names in the cache before calling
3836 lookup_account_sid.
3837 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
3838 New initialization flags.
3839 (globals_of_w32): Initialize them to zero.
3840 (w32_system_process_attributes): Use w32_cached_id and
3841 w32_add_to_cache.
3842
38432008-08-14 Lawrence Mitchell <wence@gmx.li>
3844
3845 * lread.c (Fread_char, Fread_char_exclusive): If no character
3846 event is read before timeout is reached, return nil, rather than
3847 converting to a number.
3848
38492008-08-14 Chong Yidong <cyd@stupidchicken.com>
3850
3851 * fns.c (use_dialog_box): Doc fix.
3852
3853 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
3854 on OS X.
3855
38562008-08-13 Chong Yidong <cyd@stupidchicken.com>
3857
3858 * frame.c (Qns_parse_geometry): New var.
3859 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3860
38612008-08-11 Chong Yidong <cyd@stupidchicken.com>
3862
3863 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3864 space character in calculating tabs.
3865
38662008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3867
3868 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3869
38702008-08-10 Glenn Morris <rgm@gnu.org>
3871
3872 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3873 silence gcc "limited range of data type" warnings in some
3874 make_fixnum_or_float calls.
3875
38762008-08-09 Eli Zaretskii <eliz@gnu.org>
3877
3878 * w32.c (w32_system_process_attributes): If the process does not
3879 exist, return nil.
3880
3881 * w32.c: Include thelp32.h, psapi.h and coding.h.
3882 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3883 declarations.
3884 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3885 (Process32Next_Proc): New typedefs.
3886 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3887 (g_b_init_process32_next, g_b_init_open_thread_token)
3888 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3889 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3890 (g_b_init_get_process_working_set_size)
3891 (g_b_init_global_memory_status_ex): New static variables.
3892 (globals_of_w32): Initialize them.
3893 (create_toolhelp32_snapshot, process32_first, process32_next)
3894 (open_thread_token, impersonate_self, revert_to_self)
3895 (get_process_memory_info, get_process_working_set_size)
3896 (global_memory_status, global_memory_status_ex): New wrapper
3897 functions.
3898 (w32_list_system_processes, w32_system_process_attributes)
3899 (enable_privilege, restore_privilege, ltime, process_times):
3900 New functions.
3901 (convert_time_raw): New function.
3902 (convert_time): Remove conversion of FILETIME into time in 100
3903 nsec units, call convert_time_raw instead.
3904
3905 * process.h (w32_list_system_processes, w32_system_process_attributes):
3906 Add prototypes.
3907 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3908 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3909 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3910 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3911
3912 * process.c (Fsystem_process_attributes): Doc fix.
3913
39142008-08-08 Chong Yidong <cyd@stupidchicken.com>
3915
3916 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3917 a continued multi-char glyph; if so, advance to the actual glyph.
3918
39192008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3920
3921 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3922
3923 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3924 (.m.o): Use it.
3925 * config.in: Regenerate.
3926
39272008-08-07 Chong Yidong <cyd@stupidchicken.com>
3928
3929 * xdisp.c (redisplay_window): Revert last change.
3930 (try_window): Check bottom scroll margin too.
3931
39322008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3933
3934 * config.in: Regenerate.
3935
3936 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3937 -list-load-path-shadows'.
3938 (nsgui.h): Reduce number of things depending on it.
3939
39402008-08-06 Chong Yidong <cyd@stupidchicken.com>
3941
3942 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3943 instead of window-end which does the wrong thing at eob.
3944 (try_cursor_movement): Minor optimization.
3945 (redisplay_window): If scroll margin is defined, don't assume
3946 window doesn't need scrolling.
3947
39482008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3949
3950 * config.in: Regenerate.
3951
3952 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3953 (mostlyclean): Don't delete *.d under NS.
3954
3955 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3956
39572008-08-06 Kenichi Handa <handa@m17n.org>
3958
3959 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3960
39612008-08-06 Andreas Schwab <schwab@suse.de>
3962
3963 * config.in: Regenerate.
3964
39652008-08-05 Chong Yidong <cyd@stupidchicken.com>
3966
3967 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3968 forcing a window start.
3969
3970 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3971 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3972
39732008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3974
3975 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3976 argument.
3977
39782008-08-05 Juanma Barranquero <lekktu@gmail.com>
3979
3980 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3981 <scroll-down-aggressively, before-change-functions>:
3982 <after-change-functions>: Reflow docstrings.
3983
39842008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3985 Ken Raeburn <raeburn@gnu.org>
3986
3987 Dock menu customization, based on a patch by Ken Raeburn, plus some
3988 other fixes.
3989 * nsmenu.m (dockMenu): New variable.
3990 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3991
3992 * nsterm.h (dockMenu): Declare.
3993
3994 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3995 (ns_term_init): Initialize dockMenu.
3996 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3997 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3998 left.
3999
4000 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
4001
40022008-08-04 Chong Yidong <cyd@stupidchicken.com>
4003
4004 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
4005
4006 * config.in: Regenerate.
4007
40082008-08-04 Seiji Zenitani <zenitani@mac.com>
4009
4010 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
4011
40122008-08-04 Chong Yidong <cyd@stupidchicken.com>
4013
4014 * nsterm.h (find_and_call_menu_selection): Fix prototype.
4015
40162008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
4017
4018 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
4019
4020 * keyboard.h: Comment an #endif.
4021
4022 * lisp.h (have_menus_p): Adjust comment.
4023
4024 * menu.c (find_and_return_menu_selection): Fix comparison with
4025 client_data.
4026
4027 * nsmenu.m (popup_activated_flag): New variable.
4028 (popup_activated): New function.
4029 (menu-or-popup-active-p): New exported lisp definition.
4030 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
4031 when popup done.
4032 (ns_popup_dialog): Set popup_activated_flag.
4033
4034 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
4035 version for GNUstep (handled by conditional typedef in nsterm.m).
4036 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
4037 in rgb.txt).
4038
4039 * process.c (init_process): Use DARWIN_OS, not DARWIN.
4040
4041 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
4042
4043 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
4044
4045 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
4046 shortcircuit if popup_activated like GTK and X toolkit.
4047
4048 * m/inter386.h: Change DARWIN to DARWIN_OS.
4049
4050 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
4051 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
4052 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
4053 comment on NO_SOCK_SIGIO.
4054
40552008-08-03 Chong Yidong <cyd@stupidchicken.com>
4056
4057 * nsterm.m (windowDidResize): Remove stopModal call.
4058
40592008-08-03 Andreas Schwab <schwab@suse.de>
4060
4061 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
4062 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
4063
40642008-08-02 Chong Yidong <cyd@stupidchicken.com>
4065
4066 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
4067 Don't use uninitialized pointer variable when using getrlimit.
4068
40692008-08-02 Jason Rumney <jasonr@gnu.org>
4070
4071 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4072
40732008-08-02 Eli Zaretskii <eliz@gnu.org>
4074
4075 * alloc.c (NSTATICS): Bump to 0x640.
4076
4077 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
4078
4079 * lisp.h: Add prototype for directory_files_internal.
4080
4081 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
4082 New functions.
4083 (syms_of_process): Defsubr them. Add initializations for various
4084 Q* symbols used in procfs_system_process_attributes.
4085 (procfs_list_system_processes, procfs_system_process_attributes)
4086 [HAVE_PROCFS]: New functions.
4087 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
4088 (procfs_get_total_memory): New functions.
4089
40902008-08-01 Juanma Barranquero <lekktu@gmail.com>
4091
4092 * xfaces.c (Fx_load_color_file): Fix previous change;
4093 it is #ifdef WINDOWSNT, not WINDOWS_NT.
4094
40952008-08-01 Michael Albinus <michael.albinus@gmx.de>
4096
4097 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
4098
40992008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4100
4101 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
4102
41032008-08-01 Chong Yidong <cyd@stupidchicken.com>
4104
4105 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
4106
4107 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
4108 define NSApplicationDelegateReplySuccess.
4109 (EmacsView -converstationIdentifier): Use long instead of
4110 NSInteger for GNUstep, since it doesn't have NSInteger.
4111
4112 * xmenu.c: Revert last change.
4113
4114 * keyboard.h: Fix last change.
4115
41162008-08-01 Juanma Barranquero <lekktu@gmail.com>
4117
4118 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
4119 on Windows.
4120
41212008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4122
4123 Warning clearing and clean-up in NS port.
4124 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
4125 Add prototypes.
4126 * nsgui.h (FACE_DEFAULT): Remove, unused.
4127 (XGCValues): Change colors to unsigned long.
4128 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
4129 nsterm.m.
4130 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
4131 (ns_list_fonts): Remove, unused.
4132 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
4133 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
4134 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
4135 (nsfont_draw): Compare face colors to 0, not nil.
4136 * nsmenu.m (struct widget_value): Drop unneeded declaration.
4137 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
4138 (-addSubmenuWithTitle:): Use NSMenuItem class.
4139 (ns_popup_menu): Use NO, not NULL, for enabled setting.
4140 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
4141 (ns_clip_to_row): Make gc arg a BOOL.
4142 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
4143 ns_clip_to_row() call.
4144 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
4145 used). Cast FRAME_FONT assignments.
4146 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
4147 (ns_string_to_lispmod): Change arg to const char.
4148 (ns_term_init): Use NSMenuItem class.
4149 (EmacsApp -openFile:): Move to different section of file.
4150 (EmacsApp -application:openFiles:): Don't return a value, call
4151 -replyToOpenOrPrint:.
4152 (EmacsView -keyDown:): Fix up cast.
4153 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
4154 (EmacsView -menuDown:): Cast tag in call to
4155 find_and_call_menu_selection().
4156 (ns_list_fonts): Remove, unused.
4157 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
4158 (ns_fontname_to_xlfd): Make static.
4159 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
4160 Remove prototypes (now in keyboard.h).
4161 (next_menubar_widget_id): Remove, unused.
4162 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
4163 Remove prototypes (now in keyboard.h).
4164 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
4165
41662008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
4167
4168 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
4169 (floatfns.o): Depend on syssignal.h.
4170 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
4171
4172 * systty.h: Fix previous change that removed BSD_TERMIOS.
4173 Add comments to #ifdefs.
4174
41752008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4176
4177 * w32fns.c (w32-load-color-file): Remove.
4178 (x-open-connection): Use renamed Fx_load_color_file.
4179 * xfaces.c (x-load-color-file): Add.
4180 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
4181 Emacs.clr.
4182 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
4183
41842008-07-31 Michael Albinus <michael.albinus@gmx.de>
4185
4186 * dbusbind.c (Fdbus_call_method_asynchronously)
4187 (Fdbus_method_error_internal): New defuns.
4188 (xd_read_message): Handle also reply messages.
4189 (Vdbus_registered_functions_table): Extend docstring.
4190
41912008-07-31 Juanma Barranquero <lekktu@gmail.com>
4192
4193 * keyboard.c (gobble_input): Fix previous change.
4194
41952008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4196
4197 * bitmaps/README:
4198 * xfns.c:
4199 * termcap.c:
4200 * term.c:
4201 * syswait.h:
4202 * systty.h:
4203 * systime.h:
4204 * syssignal.h:
4205 * sysdep.c:
4206 * process.h:
4207 * process.c:
4208 * print.c:
4209 * ndir.h:
4210 * lread.c:
4211 * keyboard.c:
4212 * getpagesize.h:
4213 * floatfns.c:
4214 * fileio.c:
4215 * emacs.c:
4216 * doc.c:
4217 * dispnew.c:
4218 * dired.c:
4219 * data.c:
4220 * callproc.c:
4221 * buffer.c:
4222 * README:
4223 * Makefile.in:
4224 * s/template.h:
4225 * s/msdos.h:
4226 * m/vax.h: Remove VMS support.
4227 * s/vms.h:
4228 * vlimit.h:
4229 * uaf.h:
4230 * temacs.opt:
4231 * param.h:
4232 * ioctl.h: Remove file.
4233
42342008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4235
4236 * s/ms-w32.h (MULTI_KBOARD): Remove.
4237 * xterm.c:
4238 * xselect.c:
4239 * xfns.c:
4240 * window.c:
4241 * w32term.c:
4242 * w32fns.c:
4243 * terminal.c:
4244 * termhooks.h:
4245 * term.c:
4246 * sysdep.c:
4247 * keyboard.h:
4248 * keyboard.c:
4249 * frame.h:
4250 * frame.c:
4251 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
4252 * config.in: Regenerate.
4253
42542008-07-30 Jason Rumney <jasonr@gnu.org>
4255
4256 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
4257
4258 * w32font.c (w32font_encode_char): Leave as unicode if in range.
4259 (w32font_open_internal): Get unicode version of textmetrics.
4260 Don't enable or disable glyph indices here.
4261 (w32font_open): Disable use of glyph indices.
4262
4263 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
4264
42652008-07-30 Chong Yidong <cyd@stupidchicken.com>
4266
4267 * minibuf.c (Vread_buffer_function): Doc fix.
4268
42692008-07-30 John Paul Wallington <jpw@pobox.com>
4270
4271 * minibuf.c (read_buffer_completion_ignore_case): New var.
4272 (Fread_buffer): Use it.
4273
42742008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
4275
4276 * systty.h (sensemode): Remove empty #if. Remove reference to
4277 BSD_TERMIOS, unused.
4278
4279 * sysdep.c: Remove reference to DGUX.
4280 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
4281
4282 * config.in: Regenerate.
4283
42842008-07-30 Jason Rumney <jasonr@gnu.org>
4285
4286 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
4287
42882008-07-29 Jason Rumney <jasonr@gnu.org>
4289
4290 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
4291 is populated.
4292 (uniscribe_encode_char): Always use uniscribe.
4293 Avoid using context if cache is populated.
4294
42952008-07-29 Jan Djärv <jan.h.d@swipnet.se>
4296
4297 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
4298 open menu.
4299
4300 * gtkutil.c (menu_nav_ended): Remove.
4301 (create_menus): Remove signal connect for menu_nav_ended.
4302
43032008-07-28 Chong Yidong <cyd@stupidchicken.com>
4304
4305 * xdisp.c (redisplay_window): Check return value of
4306 compute_window_start_on_continuation_line before forcing a window
4307 start.
4308
43092008-07-28 Jason Rumney <jasonr@gnu.org>
4310
4311 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
4312
4313 * w32term.c (w32_enable_unicode_output, cleartype_active):
4314 Remove obsolete display options.
4315 (x_draw_glyph_string_background): Don't use old cleartype_active
4316 workaround.
4317 (w32_initialize): Remove cleartype_active initialization.
4318 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
4319
43202008-07-28 Andreas Schwab <schwab@suse.de>
4321
4322 * lisp.h (init_weak_hash_tables, syms_of_font)
4323 (xd_read_queued_messages, syms_of_dbusbind): Declare.
4324 (remove_hash_entry): Don't declare.
4325 * eval.c (maybe_call_debugger): Make static and move before use.
4326 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
4327 * xdisp.c: Include "gtkutil.h" if USE_GTK.
4328 * xterm.h (x_set_frame_alpha): Declare.
4329
43302008-07-28 Jan Djärv <jan.h.d@swipnet.se>
4331
4332 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
4333 (create_menus): Connect selection-done to menu_nav_ended.
4334
43352008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4336
4337 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
4338 Set Vx_resource_name to a fallback. Replace read of 'buffered'
4339 parameter with read of 'alpha' one.
4340 (Qns_frame_parameter): Remove.
5582fbc7 4341 * nsselect.m (selection-coding-system)
aac0c6e3
MR
4342 (next-selection-coding-system, Vselection_coding_system)
4343 (Vnext_selection_coding_system): Drop.
4344
43452008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4346
4347 * nsfns.m (do-applescript, do_applescript): Rename to
4348 ns-do-applescript, ns_do_applescript, and move within file.
4349
43502008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
4351
4352 Remove support for Mac Carbon.
4353 * mactoolbox.c:
4354 * macterm.h:
4355 * macterm.c:
4356 * macselect.c:
4357 * macmenu.c:
4358 * macgui.h:
4359 * macfns.c:
4360 * mac.c: Remove file.
4361 * s/darwin.h:
4362 * m/intel386.h:
4363 * xfaces.c:
4364 * xdisp.c:
4365 * window.c:
4366 * tparam.c:
4367 * termhooks.h:
4368 * termcap.c:
4369 * term.c:
4370 * syssignal.h:
4371 * sysselect.h:
4372 * sysdep.c:
4373 * process.c:
4374 * lread.c:
4375 * lisp.h:
4376 * keyboard.c:
4377 * image.c:
4378 * fringe.c:
4379 * frame.h:
4380 * frame.c:
4381 * fontset.c:
4382 * font.h:
4383 * font.c:
4384 * fns.c:
4385 * fileio.c:
4386 * emacs.c:
4387 * dispnew.c:
4388 * dispextern.h:
4389 * config.in:
4390 * atimer.c:
2ae37cf0 4391 * Makefile.in: Remove code for Carbon.
aac0c6e3 4392
f0131492 43932008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
4394
4395 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
4396
43972008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4398
4399 * macterm.h (kCGBitmapByteOrder32Host): New define for
4400 non-universal SDKs.
4401
4402 * image.c (mac_create_cg_image_from_image, image_load_image_io)
4403 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4404
4405 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
4406 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4407
44082008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
4409
4410 * w32inevt.c: Include dispextern.h.
4411
44122008-07-26 Andreas Schwab <schwab@suse.de>
4413
4414 * print.c (print_object): Fix off-by-one in last change.
4415
44162008-07-25 Juanma Barranquero <lekktu@gmail.com>
4417
4418 * term.c (syms_of_term): Don't initialize default_orig_pair,
4419 default_set_foreground and default_set_background on Windows.
4420
44212008-07-25 Jason Rumney <jasonr@gnu.org>
4422
4423 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
4424 ScriptItemize. Clean up return value checking. Remove unused
4425 variables.
4426 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
4427 shaping engine.
4428
4429 * w32font.c (w32font_has_char): Handle the case where we can't
4430 determine the script for a character.
4431
44322008-07-25 Chong Yidong <cyd@stupidchicken.com>
4433
4434 * term.c (syms_of_term): Initialize default_orig_pair,
4435 default_set_foreground, and default_set_background.
4436
4437 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4438 clash (bug#86).
4439 (getloadavg): Callers changed.
4440
4441 * image.c (svg_load_image): Fix last change.
4442 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4443 image size is valid. Use g_object_unref instead of deprecated
4444 rsvg_handle_free to free rsvg handle.
4445 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4446
44472008-07-25 Jason Rumney <jasonr@gnu.org>
4448
4449 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4450 surrogates before looking up glyph index.
4451 (w32font_text_extents): Encode as surrogates if falling back to
4452 functions that need UTF-16 wide chars.
4453
4454 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4455 BMP as surrogates before looking up glyph index.
4456
44572008-07-25 Chong Yidong <cyd@stupidchicken.com>
4458
4459 * image.c (svg_load_image): Check for failure in return value of
4460 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4461
44622008-07-25 Jason Rumney <jasonr@gnu.org>
4463
4464 * w32font.c (Fx_select_font): Reverse sense of second arg.
4465
44662008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4467
4468 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4469 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4470
4471 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4472 (PURESIZE): Use it.
4473
44742008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4475
4476 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4477 * m/alpha.h (TEXT_END):
4478 * m/ibmrs6000.h (TEXT_END):
4479 * m/macppc.h (TEXT_END):
4480 * s/darwin.h (TEXT_END):
4481 * s/msdos.h (TEXT_END): Remove, unused.
4482 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4483 * s/cygwin.h: Remove comment.
4484
4485 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4486 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4487 * m/intel386.h (DOT_GLOBAL_START):
4488 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4489 (USG): Remove, file not used on USG platforms.
4490
4491 * Makefile.in (HAVE_X11): Remove empty #else.
4492
44932008-07-24 Andreas Schwab <schwab@suse.de>
4494
4495 * fileio.c (Finsert_file_contents): Properly adjust undo list
4496 after format conversion.
4497
44982008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4499
4500 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4501 (menu_nav_ended): Remove.
4502 (create_menus): Remove signal connect for menu_nav_ended.
4503 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4504 create_menus.
4505 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4506
45072008-07-23 Jason Rumney <jasonr@gnu.org>
4508
4509 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4510 with opened font.
4511 (w32font_open): Set font type to gdi.
4512
4513 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4514
45152008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4516
4517 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4518 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4519 defines it.
4520 * unexec.c (ADDR_CORRECT): Define unconditionally.
4521
4522 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4523
4524 * unexec.c: Remove code depending on !COFF and USG, the file is
4525 not used for such systems.
4526
4527 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4528 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4529 (LD_SWITCH_SYSTEM_1): Remove, update users.
4530
4531 * s/darwin.h (DATA_END):
4532 * m/intel386.h (DATA_END):
4533 * m/ibmrs6000.h (DATA_END):
4534 * m/alpha.h (DATA_END): Remove, unused.
4535
4536 * config.in: Regenerate.
4537 * s/ms-w32.h (subprocesses): Define unconditionally.
4538 * s/template.h (subprocesses): Update comment.
4539 * s/vms.h (subprocesses):
4540 * s/usg5-4.h (subprocesses):
4541 * s/hpux10-20.h (subprocesses):
4542 * s/gnu-linux.h (subprocesses):
4543 * s/cygwin.h (subprocesses):
4544 * s/bsd-common.h (subprocesses):
4545 * s/aix4-2.h (subprocesses):
4546 * s/darwin.h (subprocesses): Do not define, defined by default now.
4547
4548 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
4549 Remove all references.
4550 (temacs): Add GNUstep specific ld flags.
4551
4552 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
4553 similarly to what X does.
4554
45552008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4556
4557 * nsfns.m (x-list-fonts): Remove.
4558 (syms_of_nsfns): Drop the x-list-fonts declaration.
4559 * nsterm.m: Get rid of remaining "//" comments.
4560
45612008-07-22 Chong Yidong <cyd@stupidchicken.com>
4562
4563 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4564
4565 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
4566 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
4567 (Fns_own_selection_internal, Fx_disown_selection_internal)
4568 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
4569
4570 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
4571 ... */' style of docstrings. Doc fixes.
4572
45732008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4574
4575 * terminfo.c (UP, BC, PC): Undo previous change.
4576
4577 * nsfns.m: Rename ns prefixed functions/variables to the
4578 corresponding x versions. Update references.
4579
45802008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
4581
4582 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
4583
45842008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4585
4586 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
4587 Remove forwarding functions.
4588 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
4589 non-static.
4590 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
4591 non-static.
4592 (ns_frame_parm_handlers): Use the new names.
4593 (syms_of_nsfns): Move to the end of file.
4594
4595 * nsterm.m (syms_of_nsterm): Move to the end of file.
4596
4597 * dispnew.c (init_display): Remove code for X10.
4598
45992008-07-22 Jason Rumney <jasonr@gnu.org>
4600
4601 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
4602 bare drive.
4603
46042008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4605
4606 * nsterm.m (syms_of_nsterm): Remove debugging println.
4607
46082008-07-22 David Reitter <david.reitter@gmail.com>
4609
4610 * nsfns.m (do_applescript, F_do_applescript): NS version of the
4611 Carbon implementation of the same functionality: execute arbitrary
4612 AppleScript code.
4613
46142008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
4615
4616 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
4617 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
4618 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
4619 (Fx_display_mm_height, Fx_display_mm_width)
4620 (Fx_display_backing_store, Fx_display_visual_class)
4621 (Fx_display_save_under, Fx_open_connection)
4622 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
4623 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
4624 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4625 (Fx_display_pixel_width, Fx_display_pixel_height)
4626 (Fx_display_usable_bounds, Fx_display_planes)
4627 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
4628 ... */' style of docstrings.
4629
46302008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
4631
4632 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
4633 on this platform.
4634 (mips):
4635 * m/iris4d.h (mips): Do not define.
4636 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
4637
4638 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
4639
4640 * image.c:
4641 * nsfns.m:
4642 * nsselect.m:
4643 * nsterm.h:
4644 * nsterm.m: Rename ns prefixed functions/variables to the
4645 corresponding x versions. Update references.
4646
4647 * m/ibms390x.h (NO_REMAP): Do not undefine.
4648
4649 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
4650
46512008-07-21 Chong Yidong <cyd@stupidchicken.com>
4652
4653 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
4654 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
4655 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
4656 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
4657 (Fns_display_mm_height, Fns_display_mm_width)
4658 (Fns_display_backing_store, Fns_display_visual_class)
4659 (Fns_display_save_under, Fns_open_connection)
4660 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
4661 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
4662 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4663 (Fns_display_pixel_width, Fns_display_pixel_height)
4664 (Fns_display_usable_bounds, Fx_display_planes)
4665 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
4666
46672008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
4668
4669 * print.c (print_object): Check print_depth before searching for
4670 circularities.
4671
46722008-07-21 Michael Albinus <michael.albinus@gmx.de>
4673
4674 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
4675 only sprintf.
4676
46772008-07-21 Kenichi Handa <handa@m17n.org>
4678
4679 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
4680
46812008-07-20 Andreas Schwab <schwab@suse.de>
4682
4683 * syntax.c (find_start_pos, find_start_value)
4684 (find_start_value_byte, find_start_begv, find_defun_start)
4685 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
4686
46872008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4688
4689 * s/sol2-3.h: Insert contents of s/sol2.h.
4690 (LD_SWITCH_SYSTEM): Remove redundant definition.
4691 * s/sol2.h: Remove, unused.
4692
46932008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4694
4695 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
4696
46972008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4698
4699 * Makefile.in (ns_appdir): Fix typo in find command.
4700
47012008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4702
4703 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
4704
4705 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
4706 added not supported anymore.
4707
4708 * s/usg5-4-2.h (LIBS_SYSTEM):
4709 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
4710
4711 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4712 * s/lynxos.h (GETPGRP_NO_ARG):
4713 * s/hpux10-20.h (NO_SIOCTL_H):
4714 * s/gnu.h (GETPGRP_NO_ARG):
4715 * s/gnu-linux.h (NO_SIOCTL_H):
4716 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4717 * s/cygwin.h (GETPGRP_NO_ARG):
4718 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
4719 (C_DEBUG_SWITCH): Remove duplicate definition.
4720
4721 * m/ibms390.h: Remove boilerplate comments.
4722
4723 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
4724
4725 * process.c (HAVE_SERIAL): Consolidate ifdefs.
4726 (wait_reading_process_output): Remove code for SunOS, platform not
4727 supported anymore. Use SOLARIS2 instead of sun.
4728
47292008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4730
4731 * font.c (font_open_by_name): Under NS, default lface height to zero.
4732 (font_open_for_lface): Under NS, set size based on frame fontsize.
4733 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
4734 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
4735
47362008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4737
4738 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
4739 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
4740 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
4741 YES/NO.
4742 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
4743 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
4744 * Makefile.in (clean): Clear out build destination dir.
4745
47462008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4747
4748 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
4749 xterm, xselect.
4750 * lisp.h: Remove declaration of hash_remove.
4751 * nsgui.h: Remove redefinitions of hash_remove.
4752 * fns.c (hash_remove): Rename to hash_remove_from_table.
4753
47542008-07-19 Seiji Zenitani <zenitani@mac.com>
4755
4756 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
4757 strdup() the family UTF8String before modifying it.
4758
47592008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4760
4761 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
4762 NS_FACE_BACKGROUND with 0 instead of nil.
4763 * nsfont.m (nsfont_draw): Same.
4764
47652008-07-19 Chong Yidong <cyd@stupidchicken.com>
4766
4767 * nsfns.m (ns_set_background_color): Fix crash.
4768
47692008-07-18 Chong Yidong <cyd@stupidchicken.com>
4770
4771 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
4772
47732008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
4774
4775 * puresize.h (BASE_PURESIZE): Increase to 1240000.
4776
47772008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4778
4779 * gtkutil.c: Include <config.h> instead of "config.h".
4780
4781 * lisp.h (Foverlay_buffer): Add EXFUN.
4782
4783 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
4784 child process to complete child_setup. Undo 2005-09-21 change.
4785
4786 * s/darwin.h: Mention setsid after vfork.
4787
47882008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4789
4790 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
4791 Depend on macgui.h.
4792
4793 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
4794 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
4795
4796 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
4797 and f19.
4798 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
4799
4800 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
4801 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
4802 Remove enumerators.
4803
4804 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
4805 Check if FACE_FROM_ID returns NULL.
4806
48072008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
4808
4809 * w32inevt.c (change_frame_size): Remove extern declaration.
4810 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
4811 change_frame_size.
4812
48132008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4814
4815 * getloadavg.c: Revert last change (2008-07-15).
4816
48172008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4818
4819 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
4820 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
4821 from configure.
4822
48232008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
4824
4825 * s/sol2.h:
4826 * s/sol2-4.h: Reorganize conditionals.
4827
4828 * ecrt0.c: Remove code depending on m68000, not used anymore.
4829
4830 * fns.c (hash_remove): Make static.
4831 * lisp.h (hash_remove): Don't prototype.
4832
4833 * m/ibmrs6000.h:
4834 * m/ibms390x.h:
4835 * m/macppc.h: Remove boilerplate comments.
4836
4837 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
4838 Solaris, which does not need them.
4839
4840 * m/vax.h: Remove comments about unsupported systems.
4841
4842 * s/darwin.h: Reorganize ifdefs.
4843
48442008-07-17 Andreas Schwab <schwab@suse.de>
4845
4846 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
4847
48482008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
4849
4850 Use SDATA. Follow coding convention of placing operators at
4851 beginning of next line rather than end of previous line, and placing
4852 spaces around infix operators.
4853
4854 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
4855 in case it was defined already.
4856 USE @GNUSTEP_MAKEFILES@ rather than envvars.
4857 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
4858 ns_default.
4859 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4860 Lisp_Objects.
4861 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4862 (ns_defined_color, ns_color_to_lisp): Declare.
4863 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4864 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4865 it's accepted even with USE_LISP_UNION_TYPE.
4866 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4867 (update_frame_tool_bar): Remove apparently obsolete tests for
4868 non-integerness of f->tool_bar_lines.
4869 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4870 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4871 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4872 (nsfont_open): Don't confuse NULL for Qnil.
4873 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4874 * menu.h (find_and_call_menu_selection):
4875 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4876 (find_and_return_menu_selection): Always return something.
4877 * frame.h: Include dispextern.h for Display_Info.
4878 (display_x_get_resource): Declare.
4879
48802008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4881
4882 * syntax.c: Remove stdio.h include accidentally introduced in
4883 Emacs.app commit.
4884 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4885 NS_IMPL_COCOA.
4886 * keyboard.c (handle_async_input, input_available_signal): Remove
4887 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4888
48892008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4890
4891 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4892 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4893 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4894 Use SDATA.
4895
4896 * keymap.c: Remove all NS-specific code.
4897 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4898 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4899 where_is_preferred_modifier, return a different value depending on how
4900 preferred is the binding.
4901 (where_is_internal): Adjust accordingly.
4902 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4903 Adjust to new preferred_sequence_p.
4904 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4905 * keyboard.c (parse_solitary_modifier): Not static any more.
4906 * keyboard.h (parse_solitary_modifier): Declare.
4907
49082008-07-16 Andreas Schwab <schwab@suse.de>
4909
4910 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4911 of easymenu.
4912
49132008-07-16 Chong Yidong <cyd@stupidchicken.com>
4914
4915 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4916 that we don't move off the line.
4917
49182008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4919
4920 * keyboard.c (Qsuper): Remove.
4921 (parse_menu_item): Don't call where_is_internal specially for NS.
4922
49232008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4924
4925 * s/gnu-linux.h: Remove boilerplate comments.
4926
4927 * m/alpha.h (__ELF__): Consolidate conditions.
4928
4929 * m/m68k.h (linux): Use GNU_LINUX instead.
4930 Remove boilerplate comments.
4931
4932 * m/intel386.h: Undo refactoring from previous change.
4933 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4934 too, remove dead code.
4935 (linux): Use GNU_LINUX instead.
4936
49372008-07-16 Jason Rumney <jasonr@gnu.org>
4938
4939 * w32gui.h: Repeat 26 June changes lost by last change.
4940
49412008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4942
4943 * systty.h: Remove code for Aix on 386, unsupported platform.
4944
4945 * s/ms-w32.h: Remove boilerplate comments.
4946 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4947
4948 * s/gnu-linux.h (TERM): Remove support.
4949 (HAVE_SYSVIPC): Remove, unused.
4950 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4951 for this system.
4952
4953 * process.c: Remove support for IRIS, unused.
4954 Remove support for TERM, not relevant anymore.
4955
4956 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4957 used with the definition.
4958
4959 * s/aix4-2.h (static): Do not undef.
4960
4961 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4962 only used on Aix.
4963 (HAVE_SYSVIPC): Remove, unused.
4964
4965 * m/hp800.h (CANNOT_DUMP): Do not undef.
4966
4967 * m/alpha.h: Fix comment.
4968
4969 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4970 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4971 used by this configuration.
4972 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4973 * unexec.c: Remove code depending on HPUX and
4974 USG_SHARED_LIBRARIES, not used with this file. Remove code
4975 depending on IRIS, unused. Remove if 0-ed code.
4976
4977 * s/template.h: Remove comments about static.
4978
4979 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4980 Remove if 0-ed code.
4981 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4982 were the same as the default.
4983 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4984 Remove boilerplate comments.
4985 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4986 (HAVE_SYSVIPC): Remove, unused.
4987 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4988
4989 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4990 Remove boilerplate comments.
4991 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4992 Remove boilerplate comments.
4993 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4994 Remove boilerplate comments.
4995 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4996
4997 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4998 USG systems which do not use DATA_SEG_BITS.
4999 Refactor code. Remove boilerplate comments.
5000
5001 * m/ibms390.h:
5002 * m/m68k.h:
5003 * s/bsd-common.h:
5004 * s/cygwin.h:
5005 * s/darwin.h:
5006 * s/freebsd.h:
5007 * s/gnu.h:
5008 * s/msdos.h: Remove boilerplate comments.
5009
5010 * m/iris4d.h: Remove boilerplate comments and code for systems that
5011 do not use this file.
5012 (IRIS_4D): Remove, unused.
5013
5014 * m/mips.h: Remove boilerplate comments and code for systems that
5015 do not use this file.
5016 (SIGN_EXTEND_CHAR):
5017 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
5018 * unexmips.c: Remove file, unused.
5019
5020 * editfns.c (Fuser_full_name): Replace the only use of
5021 USER_FULL_NAME with its value.
5022 * config.in: Regenerate.
5023
50242008-07-16 David Reitter <david.reitter@gmail.com>
5025
5026 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
5027 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
5028
50292008-07-16 Glenn Morris <rgm@gnu.org>
5030
5031 * emacs.c (system-type): Doc fix.
5032
50332008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
5034
5035 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
5036 If the cache doesn't work, let's fix it, rather than work around it.
5037
50382008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5039
5040 * Makefile.in: Correct additions for nsfont.o in last commit.
5041 * nsfont.m: New file (forgot last commit).
5042
50432008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5044
5045 * callproc.c (set_initial_environment): Initialize
5046 Vprocess_environment under CANNOT_DUMP (fixes crash when
5047 batch-compiling for bootstrap).
5048
50492008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
5050 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5051
5052 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
5053 fix crash due to different init order.
5054
50552008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5056
5057 Changes and additions for NeXTstep windowing system (Cocoa and
5058 GNUstep) support.
5059
5060 * Makefile.in:
5061 * config.in: Support defines and build commands for NS port.
5062 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
5063 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
5064 * dispextern.h: Include nsgui.h and add needed typedefs under NS
5065 windowing.
5066 (struct face): Add synth_ital field.
5067 * dispnew.c: Include nsterm.h when compiling under NS windowing.
5068 (init_display): Initialize Vinitial_window_system to "ns" when so
5069 compiled.
5070 * emacs.c: Include GSConfig.h when compiling under GNUstep.
5071 (display_arg): Use under NS.
5072 (main): Under NS, allocate autorelease pool and handle command line
5073 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
5074 (standard_args): Add NS-specific args.
5075 (shut_down_emacs): Shut down NS terminal if compiled under NS.
5076 * font.c (DEFAULT_ENCODING): New variable.
5077 (font_find_for_lface): Use it.
5078 (syms_of_font): Load syms_of_nsfont under NS.
5079 * font.h: Declare nsfont_driver when compiled under NS.
5080 * fontset.c: When compiling under NS, include nsterm.h.
5081 (fontset_from_font): Autoconstruct fontset under NS.
5082 * frame.c (various): Under NS, include nsterm.h, add Qns window system
5083 symbol, document and use it.
5084 (do_switch_frame): When for_deletion under Cocoa, add
5085 Fraise_frame(Qnil).
5086 (x_set_frame_parameters): Ensure font attribute changes are picked up.
5087 (x_get_arg): Allow "yes" and "no" as boolean values.
5088 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
5089 Qright under Cocoa.
5090 (focus-follows-mouse): Default to 0 under NS.
5091 * frame.h (enum output_method): Add output_ns.
5092 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
5093 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
5094 (FRAME_WINDOW_P): NS-specific definition.
5095 * fringe.c (max_used_fringe_bitmap): Make public.
5096 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
5097 (getloadavg): Use NeXT code under descendant OS's.
5098 * image.c (includes and header section, x_create_bitmap_from_data)
5099 (x_create_bitmap_from_file, free_bitmap_record, image_background)
5100 (image_background_transparent, x_clear_image_1)
5101 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5102 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
5103 (x_to_xcolors, x_from_xcolors, x_disable_image)
5104 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
5105 other GUIs, including XPM support using code originally written for
5106 Carbon GUI.
5107 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
5108 using NS API.
5109 (image_ascent): Use font metrics macros instead of direct struct field
5110 access.
5111 * keyboard.c (includes): Add nsterm.h when compiling under NS.
5112 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
5113 Also, handle NS as GTK for menu bar purposes.
5114 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
5115 toolkit where they differ.
5116 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
5117 use cachelist, still needed under NS.
5118 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
5119 (struct widget_value): Define it here for menu.c.
5120 * keymap.c (includes): Include modifier internals.
5121 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
5122 NS.
5123 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
5124 support for preferring sequences using certain modifiers, specified by
5125 the FIRSTONLY argument.
5126 * lisp.h (hash_remove): Rename to avoid name clash when compiling
5127 under NS GNUstep implementation.
5128 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
5129 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
5130 * menu.c: Include nsterm.h under NS.
5131 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
5132 (free_menubar_widget_tree_value, update_submenu_strings)
5133 (find_and_call_menu_selection): Treat NS as X and NT.
5134 (find_and_return_menu_selection): New function, used for popup menus.
5135 * nsgui.h:
5136 * nsterm.h:
5137 * nsfns.m:
5138 * nsimage.m:
5139 * nsmenu.m:
5140 * nsselect.m:
5141 * nsterm.m: New files.
5142 * process.c (wait_reading_process_output): Under NS, call ns_select()
5143 instead of plain select().
5144 * syntax.c (char_quoted): Under NS, avoid a crash when called near
5145 beginning of buffer.
5146 * sysselect.h (init_process): Rename when compiling under Cocoa to
5147 avoid name conflict.
5148 * termhooks.h (display_info): Add ns_display_info to union.
5149 * terminal.c (Fterminal_live_p): Add ns to terminal types.
5150 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
5151 COCOA environment.
5152 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
5153 unexec() signature. (Note, this will dump, but the resulting file
5154 crashes; unexosx is used instead; keeping around for reference and
5155 possible aid in getting dump working under GNUstep.)
5156 * w32gui.h (button_type, widget_value): Remove definitions (now in
5157 keyboard.h).
5158 * window.c: Include nsterm.h when compiling under NS.
5159 * xdisp.c (includes): Include nsterm.h when compiling under NS.
5160 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
5161 other GUI windowing systems.
5162 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
5163 GTK.
5164 (x_consider_frame_title): Under NS, set icon type and frame
5165 modified-state indicator; use ns_set_name_as_filename() when using
5166 formatted title.
5167 (update_window_cursor): Make public when compiling under NS.
5168 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
5169 (hourglass_atimer, Vhourglass_delay
5170 * xfaces.c (header section, init_frame_faces, clear_font_table)
5171 (defined_color, unload_color, x_face_list_fonts)
5172 (prepare_face_for_display): Add NS support parallel to other GUIs.
5173 Emulate GCs like other non-X GUIs.
5174 (split_font_name): Don't lowercase font name under NS.
5175 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
5176 under NS.
5177 * s/darwin.h: Add support for compilation under NS.
5178
51792008-07-15 Jason Rumney <jasonr@gnu.org>
5180
5181 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
5182 (w32_show_hourglass): Rename from show_hourglass.
5183 (w32_hide_hourglass): Rename from hide_hourglass.
5184 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
5185 (Vhourglass_delay): Declare extern.
5186 (hourglass_started): Remove.
5187
5188 * xdisp.c (Vhourglass_delay): Remove static.
5189 (hourglass_started, start_hourglass, cancel_hourglass):
5190 Don't include these versions on WINDOWSNT.
5191
51922008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5193
5194 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
5195 variables (formerly in xfns.c).
5196 (show_hourglass, hide_hourglass): New prototypes (same).
5197 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
5198 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
5199 in xfns.c).
5200 (syms_of_xdisp): Declare/initialize display-hourglass,
5201 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
5202 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
5203 formerly in xfns.c.
5204 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5205 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5206 (start_hourglass, cancel_hourglass): Remove.
5207 (show_hourglass, hide_hourglass): Remove prototypes and static
5208 modifiers.
5209 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
5210 hourglass_atimer, hourglass_shown_p declaration/initialization.
5211 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5212 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5213 (start_hourglass, cancel_hourglass): Remove.
5214 (show_hourglass, hide_hourglass): Remove prototypes and static
5215 modifiers.
5216 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
5217 hourglass_atimer, hourglass_shown_p declaration/initialization.
5218 * w32fns.c (display_hourglass_p, Vhourglass_delay)
5219 (DEFAULT_HOURGLASS_DELAY): Remove.
5220 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
5221 hourglass_shown_p declaration/initialization.
5222
52232008-07-14 Jason Rumney <jasonr@gnu.org>
5224
5225 * w32fns.c (w32_get_arg): Remove wrapper function.
5226 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
5227 directly.
5228 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
5229
52302008-07-14 Kenichi Handa <handa@m17n.org>
5231
5232 * xfont.c (xfont_open): Add workaround for X's bug.
5233
52342008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5235
5236 * fontset.c: Include <stdio.h> unconditionally.
5237
52382008-07-13 Michael Albinus <michael.albinus@gmx.de>
5239
5240 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
5241 for filtering.
5242
52432008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
5244
5245 * s/vms.h: Use __GNUC__ instead of _GNUC_.
5246
5247 * m/macppc.h:
5248 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
5249
5250 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
5251 (SPECIAL_EMACS_INT):
5252 * m/ia64.h (SPECIAL_EMACS_INT):
5253 * m/amdx86-64.h (SPECIAL_EMACS_INT):
5254 * s/gnu.h (NLIST_STRUCT):
5255 * s/aix4-2.h (X11R5_INHIBIT_I18N):
5256 * s/gnu-linux.h (LINUX):
5257 * s/msdos.h (HAVE_FACES):
5258 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
5259
5260 * systty.h:
5261 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
5262 anymore.
5263
52642008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
5265
5266 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
5267 always defined as int.
5268
5269 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
5270 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
5271 * s/gnu-linux.h (HAVE_WAIT_HEADER):
5272 * s/freebsd.h (HAVE_WAIT_HEADER):
5273 * s/bsd-common.h (HAVE_UNION_WAIT):
5274 * s/aix4-2.h (HAVE_WAIT_HEADER):
5275 * m/mips.h (HAVE_UNION_WAIT):
5276 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
5277 (COFF, static): Do not define, they are undefined later in the file.
5278
5279 * process.c (update_status): Don't use a union.
5280 (status_convert):
5281 (sigchld_handler): Use int instead of WAITTYPE.
5282
52832008-07-12 Chong Yidong <cyd@stupidchicken.com>
5284
5285 * indent.c (Fvertical_motion): Restore hscroll before moving to
5286 goal column.
5287
52882008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5289
5290 * lisp.h: Remove left over code.
5291
52922008-07-11 Andreas Schwab <schwab@suse.de>
5293
5294 * lisp.h: Fix logic in last change.
5295
5296 * menu.h: New file.
5297 * menu.c: Include it.
5298 * xmenu.c: Likewise.
5299 * Makefile.in: Update dependencies.
5300
53012008-07-11 Kenichi Handa <handa@m17n.org>
5302
5303 * fontset.c (fontset_from_font): Cancel the previous change.
5304
53052008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5306
5307 * lisp.h:
5308 * w32heap.c:
5309 * emacs.c:
5310 * alloc.c: Replace all references of NO_UNION_TYPE with
5311 USE_LISP_UNION_TYPE.
5312
5313 * m/xtensa.h (NO_UNION_TYPE):
5314 * m/vax.h (NO_UNION_TYPE):
5315 * m/template.h (NO_UNION_TYPE):
5316 * m/sparc.h (NO_UNION_TYPE):
5317 * m/mips.h (NO_UNION_TYPE):
5318 * m/macppc.h (NO_UNION_TYPE):
5319 * m/m68k.h (NO_UNION_TYPE):
5320 * m/iris4d.h (NO_UNION_TYPE):
5321 * m/intel386.h (NO_UNION_TYPE):
5322 * m/ibms390x.h (NO_UNION_TYPE):
5323 * m/ibms390.h (NO_UNION_TYPE):
5324 * m/ibmrs6000.h (NO_UNION_TYPE):
5325 * m/ia64.h (NO_UNION_TYPE):
5326 * m/hp800.h (NO_UNION_TYPE):
5327 * m/arm.h (NO_UNION_TYPE):
5328 * m/amdx86-64.h (NO_UNION_TYPE):
5329 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
5330 defining it the same.
5331
53322008-07-10 Chong Yidong <cyd@stupidchicken.com>
5333
5334 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
5335
53362008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5337
5338 * fileio.c:
5339 * sysdep.c
5340 * systty.h:
5341 * m/ibmrs6000.h:
5342 * m/iris4d.h:
5343 * s/aix4-2.h:
5344 * s/freebsd.h:
5345 * s/gnu-linux.h:
5346 * s/hpux10-20.h:
5347 * s/hpux11.h:
5348 * s/netbsd.h:
5349 * s/sol2-3.h:
5350 * s/sol2-4.h:
5351 * s/sol2.h:
5352 * s/usg5-4.h:
5353 * s/vms.h: Remove references to unused variables.
5354
53552008-07-10 Andreas Schwab <schwab@suse.de>
5356
5357 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
5358 pattern before matching the generic family.
5359
53602008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5361
5362 * unexec.c:
5363 * s/vms.h:
5364 * s/usg5-4-2.h:
5365 * s/sol2-5.h:
5366 * s/freebsd.h:
5367 * s/darwin.h: Remove dead code.
5368
5369 * m/template.h:
5370 * m/sparc.h:
5371 * m/mips.h:
5372 * m/m68k.h:
5373 * m/iris4d.h:
5374 * m/intel386.h:
5375 * m/ibms390x.h:
5376 * m/ibms390.h:
5377 * m/ia64.h:
5378 * m/hp800.h:
5379 * m/arm.h:
5380 * m/amdx86-64.h: Remove dead code and references to unused
5381 and compiler defined symbols.
5382
5383 * unexmips.c:
5384 * unexelf.c: Remove references to desupported systems.
5385
5386 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
5387
5388 * m/powermac.h: Remove boilerplate comments.
5389 (NO_REMAP): Remove unused definition.
5390
5391 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
5392 define them.
5393
53942008-07-10 Kenichi Handa <handa@m17n.org>
5395
5396 * xfont.c (xfont_open): Log the reason of failure.
5397
53982008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
5399
5400 * fontset.c (fontset_get_font_group):
5401 * font.c (font_check_otf): Specify argument types.
5402
54032008-07-09 Kenichi Handa <handa@m17n.org>
5404
5405 * coding.c (detect_coding_utf_8): Set detect_info->found only when
5406 non-ASCII char is found.
5407
5408 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
5409 (reorder_font_vector): Change the arg preferred_family to font.
5410 Prefer the spec matching with font.
5411 (fontset_get_font_group): New function.
5412 (fontset_find_font): Change the format of an element of a realized
5413 fontset. Use fontset_get_font_group.
5414 (fontset_font): Try the current fontset, the default fontset, the
5415 fallbacks of the current fontset, and the fallbacks of the default
5416 fontset in this order.
5417 (face_for_char): Delete the shortcut to use the current font.
5418 (fontset_from_font): Don't set fonts for Latin in the fontset.
5419
5420 * font.h (font_make_object, font_match_p): Adjust prototypes.
5421
5422 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
5423
5424 * font.c (font_make_object): New arg entity and pixelsize.
5425 (font_check_otf_features, font_check_otf): New functions.
5426 (font_match_p): Check :lang, :script, and :otf properties.
5427
5428 * xfont.c (xfont_open): Adjust it for the change of
5429 font_make_object.
5430 (xfont_text_extents): Fix initial setting of metrics.
5431
5432 * ftfont.c (struct ftfont_info): New member index, delete member
5433 fc_charset_idx. Make the member order compatible with struct
5434 xftfont_info.
5435 (fc_charset_table): Change charset names to registry names.
5436 (ftfont_pattern_entity): Delete the args registry and
5437 fc_charset_idx. Change the value of :font-entity property
5438 to (FONTNAME . INDEX). Always set :registry property to
5439 `iso10646-1'.
5440 (struct ftfont_cache_data): New struct.
5441 (ftfont_lookup_cache): New arg for_face.
5442 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5443 (ftfont_driver): Set the member otf_capability.
5444 (ftfont_get_charset): Adjust it for the change of
5445 fc_charset_table.
5446 (OTF_TAG_SYM): New macro.
5447 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5448 for the change of fc_charset_table.
5449 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5450 ftfont_pattern_entity. Add FC_INDEX to objset.
5451 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5452 and ftfont_pattern_entity.
5453 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5454 font_make_object, struct ftfont_info.
5455 (ftfont_has_char): Use ftfont_get_fc_charset.
5456 (ftfont_otf_features, ftfont_otf_capability): New functions.
5457 (ftfont_shape): Use ftfont_get_otf.
5458 (ftfont_text_extents): Fix initial setting of metrics.
5459
5460 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5461 member order compatible with struct ftfont_info.
5462 (xftfont_open): Add FC_CHARSET to the pattern. Set
5463 xftfont_info->ft_size. Don't unlock the face. Check BDF
5464 properties if appropriate.
5465 (xftfont_close): Unlock the face.
5466 (xftfont_anchor_point, xftfont_shape): Deleted.
5467 (syms_of_xftfont): Don't set members anchor_point and shape of
5468 xftfont_driver.
5469
5470 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5471 font_make_object.
5472
5473 * w32font.c (w32font_open): Adjust it for the change of
5474 font_make_object.
5475 (w32font_open_internal): Don't set properties of font_object here.
5476
54772008-07-08 Chong Yidong <cyd@stupidchicken.com>
5478
5479 * macfns.c (x_create_tip_frame):
5480 * w32fns.c (x_create_tip_frame):
5481 * xfns.c (x_create_tip_frame): Pass parameter argument to
5482 face-set-after-frame-default.
5483
5484 * xfaces.c (Finternal_merge_in_global_face): Save merged
5485 attributes for the default face back into the face vector.
5486
54872008-07-08 Andreas Schwab <schwab@suse.de>
5488
5489 * fontset.h: Declare fontset_from_font. Don't declare
5490 new_fontset_from_font and fontset_from_font_name.
5491 * xterm.c: Include "fontset.h".
5492 * Makefile.in (xterm.o): Update dependencies.
5493
54942008-07-08 Glenn Morris <rgm@gnu.org>
5495
5496 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5497 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5498
54992008-07-07 Chong Yidong <cyd@stupidchicken.com>
5500
5501 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5502 (x_set_frame_parameters): Don't bind it.
5503
55042008-07-07 Juanma Barranquero <lekktu@gmail.com>
5505
5506 * w32fns.c (map_w32_filename): Declare extern.
5507
55082008-07-07 Jason Rumney <jasonr@gnu.org>
5509
5510 * w32term.c (WS_EX_LAYERED): Define if not already.
5511
55122008-07-06 Chong Yidong <cyd@stupidchicken.com>
5513
5514 * xfaces.c (set_font_frame_param): Don't try to set the font
5515 parameter if it is still unspecified in the lface.
5516
55172008-07-05 Chong Yidong <cyd@stupidchicken.com>
5518
5519 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5520 face if it didn't already exist.
5521
5522 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5523
55242008-07-05 Andreas Schwab <schwab@suse.de>
5525
5526 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5527
55282008-07-05 Chong Yidong <cyd@stupidchicken.com>
5529
5530 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5531 word-wrapping.
5532 (IT_DISPLAYING_WHITESPACE): New macro.
5533 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5534 when word-wrapping. Simplify word-wrapping logic. Use correct
5535 pixel positions when saving copies of the iterator.
5536 (display_line): Use proper wrap point if the last character on a
5537 line was preceded by whitespace.
5538
55392008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5540
5541 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
5542
55432008-07-04 Kenichi Handa <handa@m17n.org>
5544
5545 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
5546
5547 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
5548
55492008-07-02 Jason Rumney <jasonr@gnu.org>
5550
5551 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 5552 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
5553
5554 * xdisp.c (next_element_from_display_vector): Move assignment out
5555 of if statement.
5556
55572008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
5558
5559 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
5560
5561 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
5562 (syms_of_fileio): Initialize and export them.
5563 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
5564
5565 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
5566 (Fsystem_move_file_to_trash): New function.
5567 (syms_of_w32fns): Export it to lisp.
5568
55692008-07-01 Jason Rumney <jasonr@gnu.org>
5570
5571 * w32font.c (w32font_text_extents): Don't count overhang as part
5572 of width.
5573
55742008-06-30 Miles Bader <miles@gnu.org>
5575
5576 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
5577 Add `avoid_cursor_p' field.
5578
5579 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
5580 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
5581 (append_glyph, append_composite_glyph, produce_image_glyph)
5582 (append_stretch_glyph): Initialize avoid_cursor_p.
5583 (get_it_property): Rename from `get_line_height_property'.
5584 (x_produce_glyphs): Use get_it_property.
5585 (handle_line_prefix, push_display_prop): New functions.
5586 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
5587 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
5588 New variables.
5589 (syms_of_xdisp): Initialize them.
5590
55912008-06-30 Kenichi Handa <handa@m17n.org>
5592
5593 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
5594 XftDefaultSubstitute (they are called in XftFontMatch).
5595 (xftfont_open): Fix args to ftfont_font_format.
5596
5597 * ftfont.c (fc_charset_table): New member lang.
5598 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 5599 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
5600 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
5601 (ftfont_open): Fix args to ftfont_font_format.
5602 (ftfont_font_format): New arg filename.
5603
56042008-06-30 Chong Yidong <cyd@stupidchicken.com>
5605
5606 * xfaces.c (Finternal_merge_in_global_face): If default face was
5607 modified, realize it again. Update the font face attribute.
5608
56092008-06-29 Jason Rumney <jasonr@gnu.org>
5610
5611 * w32term.c (x_set_frame_alpha): Fix logic.
5612
56132008-06-29 Kenichi Handa <handa@m17n.org>
5614
5615 * fontset.c (Finternal_char_font): Return font-object instead of
5616 font-name.
5617
5618 * composite.c (get_composition_id): Fix the width calculation for TAB.
5619
56202008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
5621
5622 * indent.c (Fvertical_motion): Properly handle float column arg.
5623
56242008-06-28 Jason Rumney <jasonr@gnu.org>
5625
5626 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
5627 (pfnSetLayeredWindowAttributes): New function pointer.
5628 (w32_initialize): Initialize it when supported.
5629 (x_set_frame_alpha): New function.
5630
5631 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
5632 (w32_frame_parm_handlers): Set alpha handler.
5633
5634 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
5635
56362008-06-27 Jason Rumney <jasonr@gnu.org>
5637
5638 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
5639 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
5640 (w32_to_x_charset, x_to_w32_charset)
5641 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5642 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5643 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5644 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5645 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5646 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5647 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
5648 (Qw32_charset_unicode): Remove.
5649 (syms_of_w32fns): Update for above changes.
5650
5651 * w32font.c (w32_to_x_charset, x_to_w32_charset)
5652 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5653 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5654 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5655 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5656 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5657 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5658 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
5659 (syms_of_w32font): Update for above changes.
5660
56612008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
5662
5663 * s/usg5-4.h: Fix previous change: keep the correct branch of a
5664 removed #if.
5665 (USG_SHARED_LIBRARIES): Remove duplicate definition.
5666
56672008-06-26 Juanma Barranquero <lekktu@gmail.com>
5668 Eli Zaretskii <eliz@gnu.org>
5669
5670 * makefile.w32-in (LOCAL_FLAGS):
5671 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
5672
5673 * sysdep.c (_spawnlp, _getpid):
5674 Declare with explicit _cdecl instead of _CRTAPI1.
5675
5676 * editfns.c (Fget_internal_run_time):
5677 Check for WINDOWSNT with #ifdef, not #if.
5678
56792008-06-26 Jason Rumney <jasonr@gnu.org>
5680
5681 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
5682
5683 * w32term.c (x_draw_glyph_string_foreground)
5684 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
5685 Use FONT_HANDLE macro.
5686 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
5687
5688 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5689 (uniscribe_encode_char): Use FONT_HANDLE macro.
5690
5691 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
5692 (w32font_text_extents): Use precast w32_font.
5693 (w32font_close): Free cached metrics.
5694 (w32font_open_internal): Allocate space for name on stack.
5695
56962008-06-26 Chong Yidong <cyd@stupidchicken.com>
5697
5698 * xdisp.c (extend_face_to_end_of_line): Fix last change.
5699
57002008-06-26 Jason Rumney <jasonr@gnu.org>
5701
5702 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
5703 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
5704
57052008-06-26 Juanma Barranquero <lekktu@gmail.com>
5706
5707 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
5708
57092008-06-26 Jason Rumney <jasonr@gnu.org>
5710
5711 * w32bdf.c, w32bdf.h: Remove obsolete files.
5712
5713 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
5714
5715 * w32gui.h: Don't include w32bdf.h.
5716 (XCharStruct, enum w32_char_font_type, W32FontStruct):
5717 Remove obsolete font support.
5718
5719 * w32font.h (struct w32font_info): Remove compat_w32_font.
5720 Add hfont member.
5721 (FONT_COMPAT): Remove obsolete macro.
5722
5723 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
5724 (w32font_encode_char, w32font_text_extents): Use new hfont member.
5725 (w32font_open_internal): Remove compat code. Set new hfont member.
5726 (Fx_select_font): Use new hfont member.
5727
5728 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5729 (uniscribe_encode_char): Use new hfont member.
5730
5731 * w32term.c (x_draw_glyph_string_foreground)
5732 (x_draw_composite_glyph_string_foreground): Use new hfont member.
5733 (x_draw_glyph_string): Use metrics in w32font_info.
5734
57352008-06-26 Kenichi Handa <handa@m17n.org>
5736
5737 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
5738
57392008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
5740
5741 * unexnext.c:
5742 * m/ews4800.h:
5743 * m/hp9000s300.h:
5744 * m/ibm370aix.h:
5745 * m/mips-siemens.h:
5746 * m/ncr386.h:
5747 * m/next.h:
5748 * m/pmax.h:
5749 * m/powerpcle.h:
5750 * m/tandem-s2.h:
5751 * s/386bsd.h:
5752 * s/bsd386.h:
5753 * s/bsd4-1.h:
5754 * s/bsd4-2.h:
5755 * s/bsdos2-1.h:
5756 * s/bsdos2.h:
5757 * s/bsdos3.h:
5758 * s/bsdos4.h:
5759 * s/nextstep.h:
5760 * s/ultrix4-3.h:
5761 * s/usg5-0.h:
5762 * s/usg5-2-2.h:
5763 * s/usg5-2.h:
5764 * s/usg5-4-3.h:
5765 * s/ux4800.h:
5766 * s/uxpds.h:
5767 * s/uxpv.h: Remove support for obsolete systems.
5768 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 5769 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
5770 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
5771 Remove, insert contents in s/aix4-2.h.
5772 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
5773 * s/bsd4-3.h: Rename to ...
5774 * s/bsd-common.h: ... this.
5775 * data.c:
5776 * doc.c:
5777 * ecrt0.c:
5778 * emacs.c:
5779 * fileio.c:
5780 * floatfns.c:
5781 * keyboard.c:
5782 * mem-limits.h:
5783 * print.c:
5784 * process.c:
5785 * sysdep.c:
5786 * syssignal.h:
5787 * systty.h:
5788 * syswait.h:
5789 * term.c:
5790 * unexec.c:
5791 * unexelf.c:
5792 * unexhp9k800.c:
5793 * m/hp800.h:
5794 * m/ibmrs6000.h:
5795 * m/mips.h:
5796 * m/vax.h:
5797 * s/darwin.h:
5798 * s/freebsd.h:
5799 * s/gnu.h:
5800 * s/ms-w32.h:
5801 * s/msdos.h:
5802 * s/netbsd.h:
5803 * s/template.h: Remove references to obsolete variables.
5804
5805 * Makefile.in: Add dependencies for all unexec files.
5806 (admindir): Remove unused variable.
5807 (UNEXEC_SRC): Remove references.
5808
58092008-06-25 Chong Yidong <cyd@stupidchicken.com>
5810
5811 * xfns.c (x_default_font_parameter): If Xft is available, first
5812 try Monospace-12 for the default font.
5813
58142008-06-25 Jason Rumney <jasonr@gnu.org>
5815
5816 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
5817
58182008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
5819
5820 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
5821
5822 * buffer.c (syms_of_buffer): Remove default-word-wrap.
5823
58242008-06-25 Juanma Barranquero <lekktu@gmail.com>
5825
5826 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
5827 <scroll-conservatively>: Fix typo in docstring.
5828
5829 * xselect.c (Fx_send_client_event): Doc fix.
5830
58312008-06-25 Kenichi Handa <handa@m17n.org>
5832
5833 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
5834
5835 * font.c (font_parse_fcname): Remove unused variables.
5836 (font_sort_entites): Delete the arg SPEC. Caller changed.
5837 Fix for the case of ! best_only.
5838 (font_delete_unmatched): Check DPI and AVGWIDTH too.
5839
5840 * lisp.h (Fstring_to_unibyte): EXFUN it.
5841
5842 * character.h (str_to_unibyte): Extern it.
5843
5844 * character.c (str_to_unibyte): New function.
5845
5846 * fns.c (Fstring_to_unibyte): New function.
5847 (syms_of_fns): Defsubr it.
5848
58492008-06-24 Kenichi Handa <handa@m17n.org>
5850
5851 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
5852 DPI too.
5853 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
5854
58552008-06-24 Andreas Schwab <schwab@suse.de>
5856
5857 * Makefile.in (${lispsource}loaddefs.el): Rename from
5858 ../lisp/loaddefs.el.
5859 (bootstrap-clean): Do what distclean does but don't remove
5860 Makefile.
5861 (distclean): Depend on bootstrap-clean and remove Makefile.
5862
58632008-06-24 Chong Yidong <cyd@stupidchicken.com>
5864
5865 * buffer.h (struct buffer): New member word_wrap.
5866
5867 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5868 word-wrap.
5869 (init_buffer_once): Initialize them.
5870
5871 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5872 line_wrap enum possessing three possible values.
5873
5874 * termopts.h: Replace truncate_partial_width_windows with
5875 Vtruncate_partial_width_windows.
5876
5877 * dispnew.c (direct_output_for_insert): Avoid direct output when
5878 inserting a space with word wrap on.
5879
5880 * indent.c (compute_motion): Obey integer values of
5881 truncate-partial-width-windows.
5882
5883 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5884 replacing truncate_partial_width_windows.
5885 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5886 truncate only if the window width is below that integer.
5887 (start_display, resize_mini_window, produce_stretch_glyph)
5888 (display_string, move_it_in_display_line_to): Use line_wrap.
5889 (back_to_previous_visible_line_start, reseat_1): Reset
5890 string_from_display_prop_p.
5891 (display_line): Extend default face to end of line when wrapping.
5892
58932008-06-24 Kim F. Storm <storm@cua.dk>
5894
5895 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5896 to wrap continued lines at word boundaries.
5897
58982008-06-24 Jason Rumney <jasonr@gnu.org>
5899
5900 * font.c (Ffont_face_attributes): Multiply pixel size before point
5901 conversion to avoid multiplying rounding error.
5902
59032008-06-23 Jason Rumney <jasonr@gnu.org>
5904
5905 * w32term.c (x_draw_glyph_string_background)
5906 (x_draw_glyph_string): Remove old bdf font code.
5907
5908 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5909
59102008-06-22 Kenichi Handa <handa@m17n.org>
5911
5912 * font.c (font_find_for_lface): Try the adstyle specified in
5913 the property of LFACE_FONT of LFACE (if any).
5914
59152008-06-21 Seiji Zenitani <zenitani@mac.com>
5916 Ryo Yoshitake <ryo@shiftmode.net>
5917
5918 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5919
59202008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5921
5922 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5923 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5924 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5925 (witness-emacs): Remove.
5926 (lisp, shortlisp): Move loaddefs.el earlier.
5927 (mostlyclean): Forget about witness-emacs.
5928
59292008-06-22 Glenn Morris <rgm@gnu.org>
5930
5931 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5932 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5933
59342008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5935
5936 * Makefile.in (PRECOMP): Remove.
5937 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5938 (witness-emacs): Run `compile-first'.
5939 (.el.elc): Use the new compile-onefile target.
5940
59412008-06-21 Kenichi Handa <handa@m17n.org>
5942
5943 * xftfont.c (xftfont_open): Handle QCembolden only when
5944 FC_EMBOLDEN is defined.
5945
59462008-06-21 Andreas Schwab <schwab@suse.de>
5947
5948 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5949 (.el.elc): Likewise.
5950
59512008-06-21 Miles Bader <miles@gnu.org>
5952
5953 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5954 build dir, not the lisp source dir.
5955
59562008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5957
5958 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5959 (bootstrapclean): Remove.
5960 (.el.elc): New rule.
5961 (PRECOMP): New var.
5962 (../lisp/subdirs.el): Remove.
5963 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5964 (witness-emacs): New target.
5965 (mostlyclean): Remove witness-emacs as well.
5966 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5967 Add witness-emacs dependency.
5968
59692008-06-20 Chong Yidong <cyd@stupidchicken.com>
5970
5971 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5972 defined by the font.
5973
59742008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5975
5976 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5977 (bootstrap-clean): New target that keeps TAGS around.
5978 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5979 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5980
59812008-06-20 Jason Rumney <jasonr@gnu.org>
5982
5983 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5984 Remove obsolete font code.
5985
5986 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5987 to determine language support.
5988
59892008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5990
5991 * sysdep.c (cfsetspeed): New fun extracted from the code.
5992 (cfmakeraw): Move before first use.
5993
59942008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5995
5996 * sysdep.c (cfmakeraw): Provide fallback implementation.
5997 (serial_configure): Provide fallback implementation of cfsetspeed.
5998
59992008-06-20 Kenichi Handa <handa@m17n.org>
6000
6001 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
6002 the pattern.
6003
6004 * fontset.c (fontset_from_font): Copy font_spec before changing
6005 the elements.
6006
6007 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
6008
60092008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
6010
6011 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
6012 for explicit `font' parameters.
6013
6014 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
6015
60162008-06-19 Kenichi Handa <handa@m17n.org>
6017
6018 * frame.c: Include <ctype.h>.
6019 (x_set_font_backend): Allow spacing characters in the X resource
6020 for FontBackend.
6021
60222008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
6023
6024 * w32fns.c, xfns.c (Qfont_param): New var.
6025 (syms_of_w32fns): Initialize it.
6026 (x_default_font_parameter): Record explicit `font' into
6027 `font-parameter'.
6028
60292008-06-18 Kenichi Handa <handa@m17n.org>
6030
6031 * font.c (font_parse_xlfd): Fix previous change.
6032 (font_parse_fcname): Don't use :fc-unknown-spec.
6033 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
6034 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
6035 (font_add_log): Prepend the driver name to the resulting fonts.
6036
6037 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
6038 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
6039 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
6040
6041 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
6042 (QCembolden): New variables.
6043 (syms_of_xftfont): DEFSYM them.
6044 (xftfont_open): Call XftFontMatch. Don't trust the result of
6045 XftTextExtents8 if the pixel_size is less than 5.
6046
60472008-06-18 Andreas Schwab <schwab@suse.de>
6048
6049 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
6050 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
6051
60522008-06-18 Jason Rumney <jasonr@gnu.org>
6053
6054 * w32font.c (w32font_list, w32font_match): Add logging.
6055
6056 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
6057
60582008-06-17 Chong Yidong <cyd@stupidchicken.com>
6059
6060 * font.c (font_parse_fcname): Store divider characters for
6061 unknown-spec list. For known key symbols, intern using correct
6062 symbol name.
6063
60642008-06-17 Kenichi Handa <handa@m17n.org>
6065
6066 * xfaces.c (realize_default_face): If the frame is not on window
6067 system, set the fontset of face to nil.
6068
60692008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6070
6071 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
6072
60732008-06-16 Juanma Barranquero <lekktu@gmail.com>
6074
6075 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
6076 (build_font_name_from_vector): Delete externs.
6077
6078 * xfaces.c (struct font_name): Don't declare.
6079
60802008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
6081
6082 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
6083
60842008-06-16 Chong Yidong <cyd@stupidchicken.com>
6085
6086 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
6087
60882008-06-16 Juanma Barranquero <lekktu@gmail.com>
6089
6090 * font.c (Ffont_spec): Fix usage in docstring.
6091 (Ffont_face_attributes): Doc fix.
6092
60932008-06-16 Andreas Schwab <schwab@suse.de>
6094
6095 * font.c (Ffont_face_attributes): Fix definition.
6096
60972008-06-16 Jason Rumney <jasonr@gnu.org>
6098
6099 * font.h (font_style_symbolic_from_value): Remove.
6100
6101 * font.c (font_style_symbolic_from_value): Remove.
6102 (font_style_symbolic): Revert to pre 2008-06-13 version.
6103
6104 * w32font.c (w32_to_fc_weight): New function.
6105 (w32font_full_name, logfont_to_fcname): Use it.
6106
61072008-06-16 Kenichi Handa <handa@m17n.org>
6108
6109 * font.c (font_check_object): Delete it.
6110 (font_clear_cache): Check if a font-object is alive.
6111 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
6112 font-object to nil.
6113 (font_close_object): Don't check FONT_CLOSE_OBJECT.
6114 (font_at): Don't call font_check_object.
6115 (Ffont_get): Return a symbol for :weight, :slant, and :width.
6116
61172008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
6118
6119 * puresize.h (BASE_PURESIZE): Increase to 1230000.
6120
61212008-06-16 Chong Yidong <cyd@stupidchicken.com>
6122
6123 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
6124
61252008-06-15 Chong Yidong <cyd@stupidchicken.com>
6126
6127 * font.c (font_parse_fcname): Only one decimal point.
6128 (font_unparse_fcname): Handle data in family and foundry indices
6129 as symbols, not strings.
6130 (font_unparse_gtkname, Ffont_face_attributes): New functions.
6131
6132 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
6133
6134 * font.h (font_unparse_gtkname): Add prototype.
6135
61362008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
6137
6138 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
6139
61402008-06-15 Andreas Schwab <schwab@suse.de>
6141
6142 * font.c (font_update_drivers): Fix crash when no drivers match.
6143
61442008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
6145
6146 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
6147 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
6148
61492008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
6150
6151 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
6152
61532008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
6154
6155 * process.c (Fserial_process_configure, Fprocess_send_eof):
6156 Use EQ to compare Lisp_Objects.
6157
61582008-06-13 Jason Rumney <jasonr@gnu.org>
6159
6160 * w32fns.c (Fw32_select_font): Remove old font API function.
6161
6162 * w32font.c (logfont_to_fcname): New function.
6163 (Fx_select_font): New font dialog function compatible with
6164 GTK/fontconfig version.
6165
6166 * font.c (font_style_symbolic_from_value): New function.
6167 (font_style_symbolic): Use it.
6168
6169 * font.h (font_style_symbolic_from_value): Declare new function.
6170
61712008-06-13 Juanma Barranquero <lekktu@gmail.com>
6172
6173 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
6174 <font-width-table>: Fix typos in docstrings.
6175
61762008-06-13 Daniel Engeler <engeler@gmail.com>
6177
6178 These changes add serial port access.
6179 * process.c: Add HAVE_SERIAL.
6180 (Fdelete_process, Fprocess_status, Fset_process_buffer)
6181 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
6182 (list_processes_1, select_wrapper, Fstop_process)
6183 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
6184 (status_notify): Modify to handle serial processes.
6185 [HAVE_SERIAL] (Fserial_process_configure)
6186 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
6187 New functions.
6188 * process.h (struct Lisp_Process): Add `type'.
6189 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
6190 New functions.
6191 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
6192 serial ports.
b71ac3dd 6193 (serial_open, serial_configure): New functions.
aac0c6e3
MR
6194 * w32.h: Add FILE_SERIAL.
6195 (struct _child_process): Add ovl_read, ovl_write.
6196
61972008-06-13 Kenichi Handa <handa@m17n.org>
6198
6199 * dispextern.h (enum lface_attribute_index): New member
6200 LFACE_FOUNDRY_INDEX.
6201
6202 * font.c (font_score): Delete arg alternate_families. Check only
6203 weight, slant, width, and size. Ignore the difference of alias
6204 style symbols.
6205 (font_sort_entites): Adjust for the above change. Reflect the
6206 order of font-driver to scores.
6207 (font_list_entities): Don't check alternate_familes here.
6208 (font_clear_prop): Handle foundry.
6209 (font_update_lface): Don't parse "foundry-family" form here.
6210 Handle FONT_FOUNDRY_INDEX.
6211 (font_find_for_lface): Likewise. Handle alternate families here.
6212 If registry is nil, try iso8859-1 and ascii-0.
6213 (font_open_for_lface): Pay attention to size in ENTITY.
6214 (font_open_by_name): Simplify by calling font_load_for_lface.
6215 (free_font_driver_list): Delete it.
6216 (font_update_drivers): Preserve the order of backends.
6217 (syms_of_font): Setting of sort_shift_bits adjusted for the change
6218 of font_score and font_sort_entites.
6219 (font_update_sort_order): Likewise.
6220
6221 * xfaces.c (LFACE_FOUNDRY): New macro.
6222 (check_lface_attrs): Check foundry.
6223 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
6224 (merge_face_vectors): Check foundry.
6225 (merge_face_ref): Likewise.
6226 (Finternal_set_lisp_face_attribute): Likewise.
6227 (x_update_menu_appearance): Likewise.
6228 (Finternal_get_lisp_face_attribute): Likewise.
6229 (lface_hash): Likewise.
6230 (lface_same_font_attributes_p): Likewise.
6231 (x_supports_face_attributes_p): Likewise.
6232 (tty_supports_face_attributes_p): Likewise.
6233 (Finternal_set_alternative_font_family_alist): Intern strings.
6234 (Finternal_set_alternative_font_registry_alist): Downcase strings.
6235 (realize_default_face): Set LFACE_FOUNDRY (lface).
6236
6237 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
6238 font-driver at first.
6239
6240 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
6241
62422008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6243
6244 * lread.c (Fload): Use xfree, not free on saved_doc_string.
6245
62462008-06-12 Jim Meyering <meyering@redhat.com>
6247
6248 Make unexec_free handle NULL the same way free does.
6249 * unexmacosx.c (unexec_free): Ignore a NULL argument.
6250
62512008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
6252
6253 * character.h (CHAR_TO_BYTE_SAFE): New macro.
6254 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
6255 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
6256 (WEAK_ALIAS): Simplify.
6257 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
6258 when searching a unibyte buffer.
6259
62602008-06-12 Chong Yidong <cyd@stupidchicken.com>
6261
6262 * xfns.c (Fx_select_font): Rename from x-font-dialog.
6263
62642008-06-12 Juanma Barranquero <lekktu@gmail.com>
6265
6266 * w32font.c: Include ctype.h.
6267
62682008-06-11 Jason Rumney <jasonr@gnu.org>
6269
6270 * w32font.c (w32font_encode_char): Detect missing glyphs that are
6271 misreported as space.
6272 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
6273 as aliases for registry iso10646-1.
6274
62752008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
6276
6277 * buffer.c (clone_per_buffer_values): Skip `name'.
6278
62792008-06-11 Chong Yidong <cyd@stupidchicken.com>
6280
6281 * font.c (font_parse_fcname): Fix last change; accept decimal
6282 points in font size.
6283
62842008-06-10 Jason Rumney <jasonr@gnu.org>
6285
6286 * w32uniscribe.c (add_opentype_font_name_to_list):
6287 Skip non unicode fonts.
6288
62892008-06-10 Chong Yidong <cyd@stupidchicken.com>
6290
6291 * xfns.c (Fx_font_dialog): New function.
6292
6293 * gtkutil.c (xg_dialog_response_cb): Rename from
6294 xg_file_response_callback.
6295 (pop_down_dialog): Rename from pop_down_file_dialog.
6296 (xg_get_file_name): Callers changed.
6297 (xg_get_font_name): New function.
6298
6299 * gtkutil.h (xg_get_font_name): Insert prototype.
6300
63012008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6302
6303 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
6304 x_underline_minimum_display_offset.
6305 (syms_of_xdisp): Declare it here rather than in xterm.c.
6306 * dispextern.h (underline_minimum_offset): Declare it.
6307 * w32term.c (x_draw_glyph_string): Use it.
6308 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
6309 (syms_of_xterm): Don't declare it any more.
6310 (x_draw_glyph_string): Adjust to the new name.
6311
63122008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
6313
6314 * xterm.c (x_underline_minimum_display_offset): New var.
6315 (x_draw_glyph_string): Use it.
6316 (syms_of_xterm): Declare it.
6317
63182008-06-10 Chong Yidong <cyd@stupidchicken.com>
6319
6320 * font.c (font_parse_fcname): Accept GTK-style font names too.
6321
63222008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6323
6324 * dired.c (file_name_completion): Don't return t if the match is exact
6325 but with different capitalization.
6326 * minibuf.c (Ftry_completion): Simplify.
6327
6328 * window.c (Vwindow_point_insertion_type): New var.
6329 (set_window_buffer): Use it.
6330 (syms_of_window): Init and export it to Lisp.
6331
63322008-06-10 Kenichi Handa <handa@m17n.org>
6333
6334 * font.h (font_intern_prop): Prototype adjusted.
6335
6336 * font.c (font_intern_prop): New arg force_symbol.
6337 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
6338 Adjust for the change of font_intern_prop.
6339
6340 * ftfont.c (ftfont_pattern_entity):
6341 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
6342 (w32_registry):
6343 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
6344 the change of font_intern_prop.
6345
63462008-06-09 Juanma Barranquero <lekktu@gmail.com>
6347
6348 * w32menu.c (digest_single_submenu): Declare extern.
6349
63502008-06-09 Jason Rumney <jasonr@gnu.org>
6351
6352 * w32term.c (x_make_frame_visible): Use alternate restore flags.
6353
6354 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
6355 (parse_single_submenu): Remove.
6356 (digest_single_submenu): Remove.
6357 (syms_of_w32menu): Don't initialise variables that have moved
6358 to menu.c.
6359 (set_frame_menubar): Sync with version in xmenu.c.
6360 (w32_menu_show): Sync with xmenu_show in xmenu.c.
6361
6362 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
6363 Make static again.
6364
63652008-06-09 Jason Rumney <jasonr@gnu.org>
6366
6367 Changes to w32 files related to the move of common menu code
6368 to menu.c on 2008-06-08 by Chong Yidong.
6369
6370 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
6371 defs to w32gui.h.
6372 (single_keymap_panes, push_menu_item, push_menu_pane):
6373 Make globally visible.
6374
6375 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
6376 (local_free, malloc_widget_value, free_widget_value)
6377 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
6378 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
6379 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
6380 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
6381 (menu_items, menu_items_allocated, menu_items_used)
6382 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
6383 (init_menu_items, finish_menu_items, discard_menu_items)
6384 (grow_menu_items, push_submenu_start, push_submenu_end)
6385 (push_left_right_boundary, push_menu_pane, push_menu_item)
6386 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
6387 (free_menubar_widget_tree_value, parse_single_submenu)
6388 (update_submenu_strings): Remove functions.
6389 (xmalloc_widget_value): Remove and declare extern.
6390
6391 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
6392 (OBJ1): Build it.
6393
6394 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
6395 (local_heap, local_alloc, local_free, malloc_widget_value)
6396 (free_widget_value): Define here.
6397
63982008-06-09 Kenichi Handa <handa@m17n.org>
6399
6400 * font.h (Qascii_0): Extern it.
6401
6402 * font.c (Qascii_0): New variable.
6403 (syms_of_font): DEFSYM it.
6404 (font_open_by_name): If the registry "iso8859-1" fails, try also
6405 "ascii-0".
6406
6407 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
6408
64092008-06-08 Kenichi Handa <handa@m17n.org>
6410
6411 * .gdbinit (xfont): New command.
6412
64132008-06-08 Andreas Schwab <schwab@suse.de>
6414
6415 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
6416 * Makefile.in (menu.o): Update dependencies.
6417
6418 * Makefile.in (obj): Always add menu.o.
6419 * emacs.c (main): Always call syms_of_menu.
6420 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
6421
64222008-06-08 Chong Yidong <cyd@stupidchicken.com>
6423
6424 * Makefile.in: Compile menu.c.
6425
6426 * lisp.h: Declare syms_of_menu.
6427
6428 * emacs.c (main): Call syms_of_menu.
6429
6430 * keyboard.h: Relocate platform-independent menu definitions from
6431 xmenu.c.
6432
6433 * menu.c: New file. Relocate platform-independent menu
6434 definitions from xmenu.c. Suggested by Adrian Robert.
6435
6436 * xmenu.c: Remove platform-independent menu definitions.
6437 (menu_items menu_items_inuse, menu_items_allocated)
6438 (menu_items_used, menu_items_n_panes)
6439 (menu_items_submenu_depth): Move to keyboard.h.
6440 (init_menu_items, finish_menu_items, unuse_menu_items)
6441 (discard_menu_items, restore_menu_items, save_menu_items)
6442 (grow_menu_items, push_submenu_start, push_submenu_end)
6443 (push_left_right_boundary, push_menu_pane, push_menu_item)
6444 (keymap_panes, single_keymap_panes, single_menu_item)
6445 (list_of_panes, list_of_items, find_and_call_menu_selection)
6446 (xmalloc_widget_value, free_menubar_widget_value_tree)
6447 (parse_single_submenu, digest_single_submenu)
6448 (update_submenu_strings): Move to menu.c.
6449
64502008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6451
6452 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6453
64542008-06-06 Miles Bader <miles@gnu.org>
6455
6456 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6457 face, not frame default.
6458
64592008-06-05 Martin Rudalics <rudalics@gmx.at>
6460
6461 * window.c (pop_up_windows, pop_up_frames)
6462 (display_buffer_reuse_frames, Vpop_up_frame_function)
6463 (Vdisplay_buffer_function, Veven_window_heights)
6464 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6465 (Vspecial_display_function, Vsame_window_buffer_names)
6466 (Vsame_window_regexps, split_height_threshold)
6467 (Vsplit_window_preferred_function): Move those vars to window.el.
6468 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6469 (Fdisplay_buffer): Move those functions to window.el.
6470 (syms_of_window): Remove corresponding declarations.
6471 (display_buffer): New function.
6472 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6473 * dispnew.c (Flast_nonminibuf_frame): New function.
6474 * buffer.c (Fpop_to_buffer): Move to window.el.
6475
64762008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6477
6478 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6479
64802008-06-05 Kenichi Handa <handa@m17n.org>
6481
6482 * coding.c (detect_coding): Fix previous change.
6483 (detect_coding_system): Likewise.
6484
64852008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6486
6487 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6488
6489 * keymap.c (Vminibuffer_local_filename_must_match_map):
6490 Rename from Vminibuffer_local_must_match_filename_map.
6491 (syms_of_keymap):
6492 * minibuf.c (Fcompleting_read): Adjust accordingly.
6493 * commands.h: Rename declaration as well.
6494
64952008-06-05 Kenichi Handa <handa@m17n.org>
6496
6497 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6498 family name.
6499 (Ffont_put): Likewise.
6500
6501 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6502 current font-spec.
6503
6504 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6505 is unspecified.
6506
6507 * xfaces.c (realize_x_face): If the font-related face attributes
6508 are the same as those of default face, realize a new fontset from
6509 default->fontset.
6510 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6511
65122008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6513
6514 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6515 (move_it_in_display_line): New wrapper.
6516
6517 * window.c (window_scroll_pixel_based_preserve_x)
6518 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6519 (window_scroll_pixel_based, window_scroll_line_based):
6520 Use them to preserve column positions.
6521 (syms_of_window): Initialize them.
6522
6523 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6524 (HPOS . VPOS) pair.
6525
6526 * dispextern.h (move_it_in_display_line): Declare.
6527
65282008-06-05 Juanma Barranquero <lekktu@gmail.com>
6529
6530 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6531 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6532 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6533
65342008-06-04 Juanma Barranquero <lekktu@gmail.com>
6535
6536 * window.c (Fset_window_parameter): Doc fix.
6537 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6538
65392008-06-04 Joakim Verona <joakim@verona.se>
6540
6541 * window.h (struct window): Add new member window_parameters.
6542
6543 * window.c (Fwindow_parameters, Fwindow_parameter)
6544 (Fset_window_parameter): New defuns.
6545 (syms_of_window): Defsubr the new defuns.
6546 (make_window): Initialize window_parameters to nil.
6547
65482008-06-04 John Paul Wallington <jpw@pobox.com>
6549
6550 * eval.c (Fdefmacro): Doc fix.
6551
65522008-06-04 Kenichi Handa <handa@m17n.org>
6553
6554 * coding.c (detect_coding): Fix handling of coding->head_ascii.
6555 Be sure to call setup_coding_system when we find a proper coding system.
6556 (detect_coding_system): Fix handling of coding->head_ascii.
6557
65582008-06-03 Andreas Schwab <schwab@suse.de>
6559
6560 * font.c (font_prop_validate_spacing): Fix last change.
6561
65622008-06-03 Kenichi Handa <handa@m17n.org>
6563
6564 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
6565 (font_parse_fcname): Fix handling of unknown key.
6566
6567 * xfont.c (xfont_list): Try an alias.
6568
6569 * charset.c (char_charset): Return NULL if the arg charset_list is
6570 specified and C doesn't belong to any of them.
6571
65722008-06-02 Chip Coldwell <coldwell@redhat.com>
6573
6574 * font.c (font_pixel_size): Don't take cdr of an integer.
6575
65762008-06-02 Jim Meyering <meyering@redhat.com>
6577
6578 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
6579 * alloc.c (xfree): Return right away for a NULL arg.
6580 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
6581 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
6582 * mac.c (create_apple_event_from_event_ref): Likewise.
6583 (create_apple_event_from_drag_ref, cfstring_create_normalized):
6584 Likewise.
6585 * doprnt.c (doprnt1): Likewise.
6586 * frame.c (frame): Likewise.
6587 * keyboard.c (wipe_kboard): Likewise.
6588 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
6589 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
6590 * term.c (tty_default_color_capabilities, maybe_fatal)
6591 (delete_tty): Likewise.
6592 * w16select.c (string): Likewise.
6593 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
6594 * w32bdf.c (w32_free_bdf_font): Likewise.
6595 * w32fns.c (w32_unload_font): Likewise.
6596 * w32font.c (w32font_close): Likewise.
6597 * window.c (size_window): Likewise.
6598 * xselect.c (receive_incremental_selection): Likewise.
6599 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
6600 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
6601 * w32.c (stat): Likewise.
6602
6603 Remove useless if-before-free tests.
6604 * editfns.c (Fset_time_zone_rule): Likewise.
6605 * lread.c (nosuffix): Likewise.
6606 * ralloc.c (get_bloc): Likewise.
6607 * regex.c (reg_free): Likewise.
6608 * xftfont.c (xftfont_open, xftfont_close): Likewise.
6609 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
6610 * xsmfns.c (smc_save_yourself_CB): Likewise.
6611
66122008-06-02 Kenichi Handa <handa@m17n.org>
6613
6614 * font.c (font_find_for_lface): Handle float font size.
6615 (font_open_for_lface): Likewise.
6616
6617 * xfaces.c (x_supports_face_attributes_p): Check face->font before
6618 comparing the properties.
6619
66202008-06-01 Jason Rumney <jasonr@gnu.org>
6621
6622 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
6623 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
6624 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
6625 Don't add empty script list.
6626 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
6627
66282008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
6629
6630 * Makefile.in (dot, dotdot): Remove, update users.
6631 ".." has been used elsewhere in the file for a long time.
6632 (LIBXT_STATIC): Remove conditional based on unused variable.
6633
66342008-06-01 Miles Bader <miles@gnu.org>
6635
6636 * xfaces.c (Vface_remapping_alist): New variable.
6637 (syms_of_xfaces): Initialize it.
6638 (enum named_merge_point_kind): New type.
6639 (struct named_merge_point): Add `named_merge_point_kind' field.
6640 (push_named_merge_point): Make cycle detection respect different
6641 named-merge-point kinds.
6642 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
6643 Remove face-name alias resolution.
6644 (lface_from_face_name): New definition using
6645 `lface_from_face_name_no_resolve'.
6646 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
6647 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
6648 (get_lface_attributes): New definition that layers face-remapping on
6649 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
6650 (lookup_basic_face): New function.
6651 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
6652 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
6653 `get_lface_attributes'.
6654 (face_at_buffer_position): Use `lookup_basic_face' to lookup
6655 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
6656 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
6657
6658 * xdisp.c (init_iterator): Pass base_face_id through
6659 `lookup_basic_face' when we actually use it as a face-id.
6660 (handle_single_display_prop): Use `lookup_basic_face' to lookup
6661 DEFAULT_FACE_ID.
6662
6663 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
6664 lookup the initial face-id.
6665
6666 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
6667
66682008-06-01 Juanma Barranquero <lekktu@gmail.com>
6669
6670 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
6671 (Fremove_text_properties): Fix typos in docstrings.
6672
66732008-05-31 Kenichi Handa <handa@m17n.org>
6674
6675 * font.c (font_list_entities): Fix the car part of data to be
6676 stored in the cache.
6677
6678 * ftfont.c (ftfont_font_format): Don't use strcasestr.
6679
66802008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6681
6682 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
6683 Add a `test' argument so another predicate than `equal' can be used.
6684 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
6685 (map_char_table): Remove unused vars `c' and `i'.
6686 * lisp.h (Foptimize_char_table): Adjust declaration.
6687 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
6688
66892008-05-30 Kenichi Handa <handa@m17n.org>
6690
6691 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
6692 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
6693 defined.
6694
66952008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6696
6697 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6698 (Fmake_variable_frame_local): Disallow mixing buffer-local and
6699 frame-local settings for the same variable.
6700
67012008-05-30 Kenichi Handa <handa@m17n.org>
6702
6703 * fontset.c (Ffont_info): Move to font.c.
6704 (syms_of_fontset): Delete defsubr of Sfont_info.
6705
6706 * font.c (font_style_to_value, font_score): Delete casting of the
6707 args to xstcasecmp.
6708 (register_font_driver): Increment num_font_drivers only when
6709 registering the driver globally.
6710 (Ffont_info): Move from fontset.c. Handle a font object too.
6711 (syms_of_font): Defsubr Sfont_info.
6712
67132008-05-29 Kenichi Handa <handa@m17n.org>
6714
6715 * coding.h (enum define_coding_utf8_arg_index): New enum.
6716 (enum coding_attr_index): Change coding_attr_utf_16_bom to
6717 coding_attr_utf_bom.
6718 (enum utf_bom_type): Rename from utf_16_bom_type.
6719 (struct utf_16_spec): Adjust for the above change.
6720 (struct coding_system): Add utf_8_bom in `spec' union.
6721
6722 * coding.c (CODING_UTF_8_BOM): New macro.
6723 (enum coding_category): Delete coding_category_utf_8, add
6724 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
6725 coding_category_utf_8_sig.
6726 (CATEGORY_MASK_UTF_8): Delete it.
6727 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
6728 (CATEGORY_MASK_UTF_8_SIG): New macros.
6729 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
6730 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
6731 CATEGORY_MASK_UTF_8_SIG.
6732 (CATEGORY_MASK_UTF_8): New macro.
6733 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
6734 (detect_coding_utf_8): Check BOM.
6735 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
6736 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
6737 (encode_coding_utf_16): Likewise.
6738 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
6739 (detect_coding, detect_coding_system): Handle utf-8-auto.
6740 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
6741 (syms_of_coding): Fix setting up of Vcoding_category_table.
6742
67432008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
6744
6745 * process.c (Faccept_process_output): If `millisec' is non-nil,
6746 `seconds' default to 0.
6747 (wait_reading_process_output): Also return non-nil if we read output
6748 from a non-running process.
6749
67502008-05-29 Jason Rumney <jasonr@gnu.org>
6751
6752 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
6753 `raster' specified.
6754 (add_font_entity_to_list): Allow non-opentype truetype fonts back
6755 in the uniscribe backend, but disallow any font that has no
6756 unicode subrange support.
6757
67582008-05-29 Juanma Barranquero <lekktu@gmail.com>
6759
6760 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
6761 Fix typos in docstrings.
6762
67632008-05-29 Kenichi Handa <handa@m17n.org>
6764
6765 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
6766 (Fx_family_fonts): Set frame correctly.
6767
67682008-05-28 Jason Rumney <jasonr@gnu.org>
6769
6770 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
6771
67722008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
6773
6774 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
6775 calling build_annotations.
6776
67772008-05-28 Juanma Barranquero <lekktu@gmail.com>
6778
6779 * coding.c (Fdecode_coding_region, Fencode_coding_region)
6780 (Fencode_coding_string):
6781 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
6782 <latin-extra-code-table>: Fix typos in docstrings.
6783 (syms_of_coding) <coding-system-alist>: Doc fix.
6784 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
6785
67862008-05-28 Kenichi Handa <handa@m17n.org>
6787
6788 * fontset.c (Ffont_info): Don't call font_close_object.
6789
6790 * font.c (font_parse_family_registry): Use Ffont_put to validate
6791 foundry and family.
6792 (font_delete_unmatched): Don't check spacing.
6793 (font_list_entities): Add spacing to the spec to list fonts.
6794
6795 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
6796 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
6797
6798 * coding.c (encode_coding_raw_text): Fix previous change.
6799 (encode_coding_object): When the dst_object is a buffer and is
6800 different from src_object, move gap to PT.
6801
68022008-05-27 Chong Yidong <cyd@stupidchicken.com>
6803
6804 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
6805
68062008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6807
6808 * coding.c (encode_coding_raw_text): Set coding->produced_char for
6809 all branches. Compute it differently.
6810
6811 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
6812
68132008-05-27 Juanma Barranquero <lekktu@gmail.com>
6814
6815 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
6816 into "else if () ... else ...".
6817
68182008-05-27 Jason Rumney <jasonr@gnu.org>
6819
6820 * w32font.c (w32font_open_internal): Determine if glyph indices
6821 are likely to work here.
6822
68232008-05-27 Chong Yidong <cyd@stupidchicken.com>
6824
6825 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
6826 draw overlap glyphs with appropriate highlighting.
6827
68282008-05-27 Kenichi Handa <handa@m17n.org>
6829
6830 * xfont.c (xfont_open): Fix calculation of font->average_width.
6831
68322008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6833
6834 * casefiddle.c (casify_object): Try to guess better whether the
6835 argument is a byte or a char.
6836
68372008-05-26 Andreas Schwab <schwab@suse.de>
6838
6839 * xselect.c (x_reply_selection_request): Properly handle format == 32.
6840 Always send multiples of format size.
6841
6842 * xterm.c (x_set_frame_alpha): Fix type mismatch.
6843
68442008-05-26 Jason Rumney <jasonr@gnu.org>
6845
6846 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
6847 (compute_metrics): Don't set failure if we just cleared the cache.
6848 (w32_weight_table): Remove unused variable.
6849 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
6850 backwards compatibility.
6851
68522008-05-25 Kenichi Handa <handa@m17n.org>
6853
6854 * w32term.c (x_draw_glyph_string):
6855 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
6856
6857 * xfaces.c: Delete unused function prototypes.
6858 (xstrlwr, font_frame): Delete them.
6859 (clear_face_cache): Delete unused variable.
6860
6861 * xftfont.c (xftfont_open): Delete unused variable.
6862 If underline_thickness is not 1, adjust underline_position.
6863
6864 * ftxfont.c (ftxfont_open): Delete unused variable.
6865
6866 * fontset.c (face_for_char): Optimize for the case of no charset
6867 property.
6868
6869 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6870 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6871 (otf_open, font_otf_capability, generate_otf_features)
6872 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6873 Comment out by surrounding "#if 0" and "#endif" for the moment.
6874 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6875 (syms_of_font): Codes for accessing above commented out.
6876
68772008-05-24 Eli Zaretskii <eliz@gnu.org>
6878
6879 * w32proc.c: Include dispextern.h.
6880
6881 * w32.c: Include dispextern.h.
6882
68832008-05-23 Juanma Barranquero <lekktu@gmail.com>
6884
6885 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6886 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6887 Fix typos in docstrings.
6888
68892008-05-23 Jason Rumney <jasonr@gnu.org>
6890
6891 * xsmfns.c: Remove includes that are already included by config.h.
6892
68932008-05-23 Kenichi Handa <handa@m17n.org>
6894
6895 * charset.c (Qemacs, charset_emacs): New variables.
6896 (char_charset): Fix for non-Unicode characters.
6897 (syms_of_charset): Define charset_emacs.
6898
6899 * w32term.c (x_draw_glyph_string): Be sure to update
6900 s->underline_thickness and s->underline_position. Be sure to draw
6901 underline within the current line area.
6902
6903 * xterm.c (x_draw_glyph_string): Be sure to update
6904 s->underline_thickness and s->underline_position. Be sure to draw
6905 underline within the current line area.
6906
6907 * fontset.c: Delete unused variables and add casting for char *
6908 throughout the file.
6909 (fontset_font): Try the fallback fonts of the current fontset
6910 before consulting the default fontset.
6911
6912 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6913
6914 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6915
69162008-05-22 Jason Rumney <jasonr@gnu.org>
6917
6918 * font.c: Don't include strings.h.
6919
6920 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6921
6922 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6923 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6924 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6925 to call xstrcasecmp.
6926
6927 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6928
6929 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6930
6931 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6932
6933 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6934
69352008-05-22 Kenichi Handa <handa@m17n.org>
6936
6937 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6938
6939 * font.c (font_prop_validate_style): Adjust for the format
6940 change of font_style_table.
6941
6942 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6943 two args.
6944
6945 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6946 two args.
6947
69482008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6949
6950 * minibuf.c (keys_of_minibuf): Delete.
6951 * lisp.h (keys_of_minibuf): Delete.
6952 * emacs.c (main): Don't call keys_of_minibuf.
6953
69542008-05-22 Kenichi Handa <handa@m17n.org>
6955
6956 * ftfont.c (ftfont_resolve_generic_family): Rename from
6957 ftfont_list_generic_family. Return a single family for each
6958 generic family.
6959 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6960 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6961 Call font_add_log.
6962 (ftfont_match): Call font_add_log.
6963
6964 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6965 (FONT_DEBUG): Define it.
6966 (font_add_log): Extern it.
6967 (font_assert): Rename from xassert.
6968
6969 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6970 (xfont_list_family): Call font_add_log.
6971 (xfont_match): Likewise.
6972 (memq_no_quit): Delete.
6973
6974 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6975 call of Ffont_xlfd_name.
6976
6977 * xfaces.c (struct table_entry, slant_table, weight_table)
6978 (swidth_table): Move to font.c.
6979
6980 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6981 xassert are changed to font_assert. Delete many unused variables.
6982 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6983 New variables.
6984 (struct table_entry): Move from xfaces.c and modified.
6985 (weight_table, slant_table, width_table): Move from xfaces.c and
6986 contents adjusted for the change of struct table_entry.
6987 (font_style_to_value, font_style_symbolic): Adjust for the
6988 format change of font_style_table.
6989 (font_parse_family_registry): Don't overwrite existing foundry and
6990 family of font_spec.
6991 (font_score): Fix calculation of diff for sizes.
6992 (font_sort_entites): Call font_add_log.
6993 (font_delete_unmatched): Return a newly created list.
6994 (font_list_entities): Fix previous change. Call font_add_log.
6995 (font_matching_entity, font_open_entity, font_close_entity):
6996 Call font_add_log.
6997 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6998 (Finternal_set_font_style_table): Delete.
6999 (BUILD_STYLE_TABLE): New macro.
7000 (build_style_table): New function.
7001 (Vfont_log, font_log_env_checked): New variables.
7002 (font_add_log): New function.
7003 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
7004 Declare Lisp variables "font-weight-table", "font-slant-table",
7005 "font-width-table", and "font-log". Initialize font_style_table.
7006
70072008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
7008
7009 * xterm.c (x_set_frame_alpha): Move declarations before statements.
7010
70112008-05-21 Seiji Zenitani <zenitani@mac.com>
7012 Ryo Yoshitake <ryo@shiftmode.net>
7013
7014 * frame.c (Qalpha): Add a new frame parameter `alpha'.
7015 (Vframe_alpha_lower_limit): New variable.
7016 (x_set_alpha): New function.
7017
7018 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
7019
7020 * xfns.c (x-create-frame, Qalpha):
7021 Initialize the frame parameter `alpha'.
7022 * xterm.c (OPAQUE, OPACITY): New.
7023 (x_set_frame_alpha): New function.
7024 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
7025
7026 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
7027 * w32fns.c (w32_frame_parm_handlers): Likewise.
7028
70292008-05-20 Jason Rumney <jasonr@gnu.org>
7030
7031 * w32font.c (add_font_entity_to_list): Don't add non-opentype
7032 truetype fonts to opentype list.
7033
70342008-05-20 Juanma Barranquero <lekktu@gmail.com>
7035
7036 * fontset.c (Ffontset_info): Doc fix.
7037 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
7038 <ignore-relative-composition>: Fix typos in docstrings.
7039
7040 * font.c (syms-of-font) <font-encoding-alist>:
7041 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
7042 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
7043 (Ffont_otf_alternates): Doc fixes.
7044
70452008-05-20 Kenichi Handa <handa@m17n.org>
7046
7047 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
7048 font.h through out the file.
7049 (FONT_DRIVERS): Rename from FONTOBJ.
7050 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
7051 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
7052
7053 * emacs.c (main): Call syms_of_font unconditionally.
7054
7055 * font.h (find_font_encoding): Extern it.
7056
7057 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
7058 fontset.c.
7059 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
7060 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
7061 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
7062 only when HAVE_WINDOW_SYSTEM is defined.
7063 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
7064 when HAVE_WINDOW_SYSTEM is defined.
7065
7066 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
7067 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
7068
7069 * xfaces.c: Include font.h unconditionally.
7070 (merge_face_ref, merge_face_vectors)
7071 (Finternal_set_lisp_face_attribute): Cancel the previous change.
7072
70732008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
7074
7075 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
7076 indirect_variable.
7077 * eval.c (lisp_indirect_variable): New fun.
7078 (Fuser_variable_p): Use it.
7079
70802008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
7081
7082 * lisp.h (indirect_variable):
7083 * data.c (indirect_variable, let_shadows_buffer_binding_p):
7084 Use Lisp_Symbol pointers rather than Lisp_Object.
7085 Adjust callers.
7086 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
7087 To this end, change calling-convention.
7088
7089 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
7090 if some non-hidden buffers are selected by string&pred.
7091
70922008-05-19 Chong Yidong <cyd@stupidchicken.com>
7093
7094 * process.c (wait_reading_process_output): Always check status
7095 when in batch mode.
7096
70972008-05-19 Kenichi Handa <handa@m17n.org>
7098
7099 * font.c (font_list_entities): Fix handling of cache.
7100 (font_matching_entity): Likewise.
7101
7102 * ftfont.c (cs_iso8859_1): Delete.
7103 (ft_face_cache): New variable.
7104 (struct ftfont_info): New member fc_charset_idx.
7105 (ftfont_build_basic_charsets): Delete.
7106 (fc_charset_table): New variable.
7107 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
7108 . FC_CHARSET_IDX) as :font-entity property in the font entity.
7109 Callers changed.
7110 (ftfont_lookup_cache, ftfont_get_charset): New functions.
7111 (ftfont_spec_pattern): New argument fc_charset_idx.
7112 Check registry more rigidly. Change callers.
7113 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
7114 change of :font-entity property of the font.
7115
7116 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
7117 property of the font.
7118
71192008-05-18 Juanma Barranquero <lekktu@gmail.com>
7120
7121 * coding.c (Fcoding_system_p): Rename argument to match docstring.
7122 (Funencodable_char_position, Fcheck_coding_systems_region)
7123 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
7124 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
7125 (Ffind_operation_coding_system, Fset_coding_system_priority)
7126 (Fcoding_system_eol_type): Doc fixes.
7127
71282008-05-17 Glenn Morris <rgm@gnu.org>
7129
7130 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
7131
71322008-05-16 Eli Zaretskii <eliz@gnu.org>
7133
7134 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
7135 and st_gid.
7136
7137 * frame.c (Fdelete_frame): Don't call font_update_drivers if
7138 HAVE_WINDOW_SYSTEM is not defined.
7139
7140 * xfaces.c (merge_face_ref, merge_face_vectors)
7141 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
7142 HAVE_WINDOW_SYSTEM is defined.
7143 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
7144
71452008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
7146
7147 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
7148
71492008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7150
7151 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
7152
71532008-05-15 Kenichi Handa <handa@m17n.org>
7154
7155 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
7156 preference.
7157
71582008-05-15 Glenn Morris <rgm@gnu.org>
7159
7160 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
7161
71622008-05-15 Chong Yidong <cyd@stupidchicken.com>
7163
7164 * fns.c (init_fns): Don't initialize weak_hash_tables here.
7165 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
7166
7167 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
7168
71692008-05-15 Kenichi Handa <handa@m17n.org>
7170
7171 * ftfont.c (ftfont_list): Downcase family name to check generic
7172 families.
7173
7174 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
7175 font-spec for QCfont value.
7176
7177 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
7178 buffer. Check the return value of it.
7179
71802008-05-14 Jason Rumney <jasonr@gnu.org>
7181
7182 * w32term.c (w32_get_glyph_overhangs): Remove.
7183 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
7184
71852008-05-14 Kenichi Handa <handa@m17n.org>
7186
7187 * font.c (font_prop_validate): Make nil a valid value.
7188 (font_clear_cache): Check if the cached vector of entities is nil
7189 or not.
7190
71912008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7192
7193 * emacs.c (main_thread): Conditionalize on
7194 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7195 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
7196
7197 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
7198 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
7199 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7200
72012008-05-14 Kenichi Handa <handa@m17n.org>
7202
7203 * coding.c (detect_coding_iso_2022): Ignore a coding category that
7204 has no corresponding coding system.
7205
72062008-05-14 Jason Rumney <jasonr@gnu.org>
7207
7208 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
7209
7210 * w32font.h (w32font_open_internal): Update declaration.
7211
7212 * w32font.c (w32font_open_internal): Change last argument from
7213 w32font_info struct to font object. Fill in font object from
7214 font_entity. Get Outline metrics if possible. Use them to
7215 calculate underline position and thickness. Use xlfd name as name
7216 property. Don't set codepage.
7217 (w32font_open): Pass font_object to w32font_open_internal. Don't
7218 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
7219 (w32font_draw): Use s->font.
7220 (clear_cached_metrics): Don't clear non-existent blocks.
7221
7222 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
7223 font was not found.
7224 (x_draw_glyph_string): Use underline position and thickness from font.
7225
7226 * w32uniscribe.c (uniscribe_open): Pass font_object to
7227 w32font_open_internal.
7228
72292008-05-14 Kenichi Handa <handa@m17n.org>
7230
7231 These changes are to delete all legacy font-handling codes, and
7232 make Emacs use only font-backends.
7233
7234 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
7235 (frame.o, image.o, print.o): Depend on $(FONTSRC).
7236
7237 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
7238
7239 * charset.h (Vcharset_non_preferred_head)
7240 (Vcurrent_iso639_language): Extern them.
7241
7242 * charset.c (Vcharset_non_preferred_head): New variable.
7243 (Vcurrent_iso639_language): New variable.
7244 (syms_of_charset): Declare it as a Lisp variable.
7245 (char_charset): Don't check non preferred charsets. As a last
7246 resort, return charset_unicode.
7247 (Fset_charset_priority): Update Vcharset_non_preferred_head.
7248
7249 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
7250 conditionals. Don't check enable_font_backend. Delete all codes
7251 used only when USE_FONT_BACKEND is not defined.
7252
7253 * dispextern.h (struct glyph_string): Change type of `font' to
7254 `struct font *'.
7255 (struct glyph_string): New member underline_position and
7256 underline_thickness.
7257 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
7258 (struct face): Change type of `font' to `struct font *'. Remove
7259 members `font_name', `font_info_id'.
7260 (per_char_metric, encode_char): Delete externs.
7261 (calc_pixel_width_or_height): Adjust the prototype.
7262
7263 * emacs.c (enable_font_backend): Delete extern.
7264 (main): Don't set enable_font_backend. Don't check the command
7265 line argument "-disable-font-backend".
7266
7267 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
7268 (enum font_property_index): New members FONT_DPI_INDEX,
7269 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
7270 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
7271 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
7272 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
7273 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
7274 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
7275 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
7276 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
7277 (struct font_spec, struct font_entity): New structs.
7278 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
7279 (struct font): Many members from old "struct font_info" moved to
7280 here. Members font and entity deleted.
7281 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
7282 the new font-related objects.
7283 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
7284 (CHECK_FONT_GET_OBJECT): Likewise.
7285 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
7286 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
7287 (struct font_driver): New members case_sensitive anc check. Type
7288 of the member list and open changed.
7289 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
7290 (font_symbolic_width, font_find_object, font_get_spec)
7291 (font_set_lface_from_name): Delete extern.
7292 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
7293
7294 * font.c: Include <strings.h>.
7295 (enable_font_backend): Delete it.
7296 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
7297 (CHECK_VALIDATE_FONT_SPEC): Delete it.
7298 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
7299 (null_string): Delete it.
7300 (null_vector): Make it static.
7301 (font_family_alist): Delete it.
7302 (Qnormal): Extern it.
7303 (QCextra, QClanguage): Delete it.
7304 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
7305 (font_make_spec, font_make_entity, font_make_object)
7306 (font_intern_prop): Renamed from intern_downcase. Don't downcase
7307 the string. Callers changed.
7308 (font_pixel_size): Adjusted for the format change of font-related
7309 objects.
7310 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
7311 (font_style_to_value, font_style_symbolic): New function.
7312 (build_font_family_alist): Delete it.
7313 (font_registry_charsets): Use Fassoc_string instead of
7314 assq_no_quit.
7315 (font_prop_validate_symbol): Don't return null_string.
7316 (font_prop_validate_style): Adjusted for the change of
7317 style-related values in a font vector.
7318 (font_property_table): Delete entries for QClanguage and
7319 QCantialias, add entries for QCavgwidth.
7320 (get_font_prop_index): Delete the 2nd argument FROM.
7321 (font_prop_validate): Arguments changed.
7322 (font_put_extra): Adjusted for the change of font-related objects.
7323 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
7324 (font_parse_fcname, font_unparse_fcname)
7325 (font_prepare_composition): Likewise.
7326 (font_parse_family_registry): Renamed from font_merge_old_spec.
7327 (otf_open): Delete the 1st arg entity.
7328 (font_otf_capability): Adjusted for the above change.
7329 (font_score): New arg alternate_families. Adjusted for the change
7330 of font-related objects.
7331 (font_sort_entites): New arg best_only.
7332 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
7333 Delete them.
7334 (font_match_p): Check alternate families.
7335 (font_find_object): Delete it.
7336 (font_check_object): New function.
7337 (font_clear_cache): Adjusted for the change of font-related objects.
7338 (font_delete_unmatched): New arg.
7339 (font_list_entities): Call font_driver->list with a spec that
7340 doesn't specify style-related properties.
7341 (font_matching_entity): Arguments changed. Caller changed.
7342 (font_open_entity): Adjusted for the change of font-related objects.
7343 (font_close_object, font_has_char, font_encode_char)
7344 (font_get_name, font_get_spec): Likewise.
7345 (font_spec_from_name, font_clear_prop, font_update_lface):
7346 New functions.
7347 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
7348 (font_prepare_for_face, font_done_for_face, font_open_by_name)
7349 (font_at): Adjusted for the change of font-related objects.
7350 (font_range): New function.
7351 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
7352 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
7353 (Fcopy_font_spec, Fmerge_font_spec): New function.
7354 (Ffont_family_list): Renamed from list-families.
7355 (Finternal_set_font_style_table): Arguments changed.
7356 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
7357 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
7358 change of font-related objects.
7359 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
7360
7361 * fontset.h (struct font_info): Delete it. Most members go to
7362 struct font.
7363 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
7364 (enum FONT_SPEC_INDEX): Delete it.
7365 (font_info, list_fonts_func, load_font_func, query_font_func)
7366 (set_frame_fontset_func, find_ccl_program_func)
7367 (get_font_repertory_func, new_fontset_from_font_name): Delete
7368 externs.
7369 (fontset_from_font_name): Extern it.
7370 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
7371 (FONT_INFO_FROM_FACE): Deleted.
7372 (face_for_font): Adjust prototype.
7373
7374 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
7375 conditionals. Don't check enable_font_backend. Delete all codes
7376 used only when USE_FONT_BACKEND is not defined.
7377 (get_font_info_func, list_font_func, load_font_func)
7378 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
7379 (get_font_repertory_func): Delete them.
7380 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
7381 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
7382 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
7383 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
7384 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
7385 (fontset_compare_rfontdef): New function.
7386 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
7387 rfont-defs by qsort. Adjusted for the change of font-group vector.
7388 (load_font_get_repertory): Deleted.
7389 (fontset_find_font): Use new macros to ref/set elements of
7390 font-def and rfont-def.
7391 (fontset_font): Fix the timing of remembering that no font for C.
7392 (free_face_fontset): Do nothing if the face has no fontset.
7393 (face_suitable_for_char_p): Use new macros to ref/set elements of
7394 rfont-def.
7395 (face_for_char): Likewise. Call face_for_char with font_object.
7396 (fs_load_font): Delete. Delete #pragma surrounding it.
7397 (fs_query_fontset): Use strcasecmp instead of strcmp.
7398 (generate_ascii_font_name): Adjusted for the format change of
7399 font-spec.
7400 (Fset_fontset_font): Likewise. Use new macros to set elements of
7401 font-def.
7402 (Fnew_fontset): Use font_unparse_xlfd to generate
7403 FONTSET_ASCII (fontset).
7404 (new_fontset_from_font_name): Deleted.
7405 (fontset_from_font): Renamed from new_fontset_from_font. Check if
7406 a fontset is already created for the font. FIx updating of
7407 Vfontset_alias_alist.
7408 (fontset_ascii_font): Deleted.
7409 (Ffont_info): Adjusted for the format change of font-spec.
7410 (Finternal_char_font): Likewise.
7411 (Ffontset_info): Likewise.
7412 (syms_of_fontset): Don't check load_font_func.
7413
7414 * fns.c (internal_equal): Handle PREV_FONT.
7415
7416 * frame.h: Delete USE_FONT_BACKEND conditional.
7417
7418 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
7419 conditionals. Don't check enable_font_backend. Delete all codes
7420 used only when USE_FONT_BACKEND is not defined.
7421 (x_set_font): Call x_new_font, not x_new_fontset2.
7422 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
7423 already set for the frame.
7424
7425 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
7426 a font-entity by font_make_entity. Use font_intern_prop instead
7427 of intern_downcase. Use FONT_SET_STYLE to set a style-related
7428 font property. If a font is scalable, set avgwidth property to 0.
7429 Set font-entity property by font_put_extra.
7430 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
7431 (ffont_driver): Adjusted for the change of struct font_driver.
7432 (ftfont_spec_pattern): New function.
7433 (ftfont_list): Return a list, not vector.
7434 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
7435 (ftfont_list_family): Don't downcase names.
7436 (ftfont_free_entity): Deleted.
7437 (ftfont_open): Return a font-object. Adjusted for the change of
7438 struct font. Get underline_thickness and underline_position from
7439 font property. Don't update dpyinfo->smallest_font_height and
7440 dpyinfo->smallest_char_width.
7441 (ftfont_close): Don't free `struct font'.
7442 (ftfont_has_char): Adjusted for the format change of font-entity.
7443 (ftfont_encode_char, ftfont_text_extents): Likewise.
7444
7445 * ftxfont.c (ftxfont_list): Return a list, not vector.
7446 (ftxfont_open): Return a font-object. Adjusted for the change of
7447 struct font. Get underline_thickness and underline_position from
7448 font property. Don't update dpyinfo->smallest_font_height and
7449 dpyinfo->smallest_char_width.
7450 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7451 (ftxfont_draw): Adjusted for the change of struct font.
7452
7453 * image.c (image_ascent): Don't include "charset.h". Include
7454 "character.h" and "font.h".
7455
7456 * lisp.h (enum pvec_type): New member PREV_FONT.
7457 (Fassoc_string): EXFUN it.
7458
7459 * print.c: Include font.h.
7460 (print_object): Handle font-related objects.
7461
7462 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
7463 conditionals. Don't check enable_font_backend. Delete all codes
7464 used only when USE_FONT_BACKEND is not defined.
7465 (handle_auto_composed_prop): Do nothing if it->f is not on a
7466 window system. Check how many following characters can be
7467 displayed by the same font.
7468 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7469 'struct font *'.
7470 (get_char_face_and_encoding): Assign the whole encoding task to
7471 the `encode-char' method of a font driver.
7472 (fill_composite_glyph_string): Adjusted for the change of `struct
7473 face' and `struct glyph_string'.
7474 (fill_glyph_string): Likewise.
7475 (get_per_char_metric): Arguments changed.
7476 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7477 and `struct glyph_string'.
7478 (produce_stretch_glyph, calc_line_height_property)
7479 (x_produce_glyphs): Likewise.
7480
7481 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7482 conditionals. Don't check enable_font_backend. Delete all codes
7483 used only when USE_FONT_BACKEND is not defined. Use
7484 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7485 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7486 (Qp): Extern them.
7487 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7488 Deleted.
7489 (struct font_name): Deleted.
7490 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7491 (compare_fonts_by_sort_order): New function.
7492 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7493 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7494 Deleted.
7495 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7496 compare_fonts_by_sort_order.
7497 (Fx_font_family_list): Call Ffont_family_list.
7498 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7499 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7500 (face_symbolic_slant, face_symbolic_swidth)
7501 (split_font_name_into_vector, build_font_name_from_vector)
7502 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7503 (font_rescale_ratio, split_font_name, build_font_name)
7504 (free_font_names, sort_fonts, x_face_list_fonts)
7505 (face_font_available_p, sorted_font_list, cmp_font_names)
7506 (font_list_1, concat_font_list, font_list, remove_duplicates):
7507 Deleted.
7508 (Fx_list_fonts): Use Ffont_list.
7509 (LFACE_AVGWIDTH): Deleted.
7510 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7511 by FONTP.
7512 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7513 (set_lface_from_font_name): Delete it.
7514 (set_lface_from_font): Renamed from
7515 set_lface_from_font_and_fontset. Caller changed. Don't set
7516 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7517 for face.
7518 (merge_face_vectors): Copy font-spec if necessary.
7519 Clear properties of the font-spec if necessary.
7520 (merge_face_ref): Clear properties of the font-spec if necessary.
7521 (Finternal_set_lisp_face_attribute): Likewise.
7522 (set_font_frame_param): Use font_load_for_lface to load a
7523 font-object, and call Fmodify_frame_parameters with it.
7524 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7525 font name by Ffont_xlfd_name.
7526 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7527 QCslant, and QCwidth.
7528 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7529 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7530 Compare fonts by EQ.
7531 (lookup_non_ascii_face): Deleted.
7532 (face_for_font): The 2nd argument changed.
7533 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7534 Check atomic font properties by case insensitive.
7535 (realize_non_ascii_face): Set face->overstrike correctly.
7536 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7537 (dump_realized_face): Get font name from
7538 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7539
7540 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
7541 conditionals. Don't check enable_font_backend. Delete all codes
7542 used only when USE_FONT_BACKEND is not defined.
7543 (xic_create_xfontset): Original code deleted and renamed from
7544 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
7545 (x_make_gc): Don't set GCFont in GCs.
7546 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
7547 opened by "fixed".
7548 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
7549 find_ccl_program_func, query_font_func, set_frame_fontset_func,
7550 get_font_repertory_func.
7551
7552 * xfont.c: Include <stdlib.h> and "ccl.h".
7553 (struct xfont_info): New structure.
7554 (xfont_query_font): Deleted.
7555 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
7556 moved from xterm.c.
7557 (xfont_driver): Adjusted for the change of struct font_driver.
7558 (compare_font_names): New function.
7559 (xfont_list_pattern): Sort font names case insensitively. Make
7560 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
7561 (xfont_list): Return a list, not vector.
7562 (xfont_match): If the font doesn't have QCname property, generate
7563 a name from the other font properties.
7564 (xfont_open): Return a font-object. Adjusted for the change of
7565 struct font. Get underline_thickness and underline_position from
7566 font property. Don't update dpyinfo->smallest_font_height and
7567 dpyinfo->smallest_char_width.
7568 (xfont_close): Don't free struct font.
7569 (xfont_prepare_face): Adjusted for the change of struct font.
7570 (xfont_done_face): Deleted.
7571 (xfont_has_char): Adjusted for the change of struct font.
7572 (xfont_encode_char, xfont_draw): Likewise.
7573 (xfont_check): New function.
7574
7575 * xftfont.c (xftfont_list): Adjusted for the change of `list'
7576 callback function.
7577 (xftfont_match): Adjusted for the format change of font-entity.
7578 (xftfont_open): Adjusted for the format change of font-entity and
7579 font-object. Adjusted for the change of struct font. Return a
7580 font-object. Don't update dpyinfo->smallest_font_height and
7581 dpyinfo->smallest_char_width.
7582 (xftfont_close): Block input while calling XftFontClose.
7583 (xftfont_prepare_face): Don't block input while calling
7584 xftfont_get_colors. Adjusted for the change of struct font.
7585 (xftfont_shape): Return value of error case fixed.
7586
7587 * xrdb.c (x_load_resources): Don't setup a fontset resource.
7588
7589 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
7590 conditionals.
7591 (FONT_WIDTH): Return (f)->max_width.
7592 (struct x_display_info): Delete member `font'.
7593 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
7594 (x_find_ccl_program, x_get_font_repertory): Delete externs.
7595 (struct x_output): Change type of `font' to `struct font *'.
7596
7597 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
7598 conditionals. Don't check enable_font_backend. Delete all codes
7599 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
7600 (x_per_char_metric, x_encode_char): Deleted.
7601 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
7602 (x_compute_glyph_string_overhangs): Adjusted for the change of
7603 `struct face'.
7604 (x_draw_glyph_string_foreground)
7605 (x_draw_composite_glyph_string_foreground): Likewise.
7606 (x_draw_glyph_string): Likewise. Use font->underline_position and
7607 font->underline_thickness.
7608 (x_new_font): Renamed from x_new_fontset2.
7609 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
7610 (x_check_font): Call `check' method of a font driver.
7611 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
7612 (x_query_font, x_get_font_repertory): Deleted.
7613 (x_find_ccl_program): Renamed and moved to xfont.c.
7614 (x_redisplay_interface): Adjusted for the change of `struct
7615 redisplay_interface'.
7616
7617 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
7618 conditionals. Don't check enable_font_backend. Delete all codes
7619 used only when USE_FONT_BACKEND is not defined. Surround non-used
7620 code by "#ifdef OLD_FONT" and "endif".
7621 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
7622
7623 * w32font.h (struct w32font_info): New member.
7624 (FONT_COMPAT): New macro.
7625 (w32font_open_internal): Prototype adjusted.
7626
7627 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
7628 OLD_FONT" and "endif".
7629
7630 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
7631 conditionals. Don't check enable_font_backend. Delete all codes
7632 used only when USE_FONT_BACKEND is not defined.
7633 (w32font_open): Return a font-object. Make a font-object by
7634 font_make_object. Adjusted for the change of struct w32font_info.
7635 (w32font_close): Don't free struct font. Adjusted for the change
7636 of struct w32font_info.
7637 (w32font_encode_char, w32font_text_extents, w32font_draw):
7638 Adjusted for the change of struct w32font_info.
7639 (w32font_draw): Likewise.
7640 (w32font_list_internal): Return a list, not vector.
7641 (w32font_open_internal): Change the 4th arg to font-object.
7642 Adjusted for the change of struct w32font_info and font-object format.
7643 (add_font_name_to_list): Don't downcase names.
7644 (w32_enumfont_pattern_entity): Make a font-entity by
7645 font_make_entity. Adjusted for the format change of font-entity.
7646 Use FONT_SET_STYLE to set a style-related font property. If a
7647 font is scalable, set avgwidth property to 0. Set font-entity
7648 property by font_put_extra.
7649 (font_matches_spec): Adjusted for the format change of font-entity.
7650 (w32_weight_table, w32_decode_weight): New variables.
7651 (w32_encode_weight): New function.
7652 (fill_in_logfont): Adjusted for the format change of font-spec.
7653 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
7654 weight value.
7655 (w32font_driver): Adjusted for the change of struct font_driver.
7656
7657 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
7658 conditionals. Don't check enable_font_backend. Surround non-used
7659 code by "#ifdef OLD_FONT" and "endif".
7660 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
7661 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
7662
7663 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
7664 conditionals. Don't check enable_font_backend. Delete all codes
7665 used only when USE_FONT_BACKEND is not defined. Surround non-used
7666 code by "#ifdef OLD_FONT" and "endif".
7667
7668 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
7669 (uniscribe_open): Return value changed to font-object.
7670 Adjusted for the format change of font-object.
7671 (uniscribe_otf_capability): Adjusted for the change of struct font.
7672 (add_opentype_font_name_to_list): Don't downcase names.
7673 (uniscribe_font_driver): Adjusted for the change of struct
7674 font_driver.
7675
76762008-05-13 Chong Yidong <cyd@stupidchicken.com>
7677
7678 * dispnew.c (update_frame_1): Check if tty output is still valid
7679 before flushing it.
7680
76812008-05-13 Jan Djärv <jan.h.d@swipnet.se>
7682
7683 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
7684 to Gtk+ menus.
7685
76862008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
7687
7688 * dired.c (file_name_completion): Tweak the code so as to always do it
7689 in a single pass. Tighten the scope of some variables.
7690
7691 * dired.c (Qdefault_directory): New var.
7692 (file_name_completion): Use it instead of Fexpand_file_name.
7693 (syms_of_dired): Initialize it.
7694
76952008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7696
7697 * fileio.c (double_dollars): Remove dead code.
7698
76992008-05-10 Eli Zaretskii <eliz@gnu.org>
7700
7701 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
7702 Mention w32-get-true-file-attributes in doc string.
7703
7704 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
7705
77062008-05-09 Glenn Morris <rgm@gnu.org>
7707
7708 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
7709 2008-04-23.
7710
77112008-05-09 Eli Zaretskii <eliz@gnu.org>
7712
7713 Support for reporting owner and group of each file on MS-Windows:
7714 * dired.c (stat_uname, stat_gname): New functions, with special
7715 implementation for w32.
7716 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
7717
7718 * w32.c: Rename the_passwd_* to dflt_passwd_*.
7719 (dflt_group_name): New static variable.
7720 (dflt_group): Rename from the_group.
7721 (init_user_info): Init dflt_group fields. Get user's group name
7722 from LookupAccountSid.
7723 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
7724 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
7725 New initialization states.
7726 (globals_of_w32): Initialize them to zero. Initialize the default
7727 group name to "None".
7728 (GetFileSecurity_Name): New global var, the name of the function
7729 to call for GetFileSecurity.
7730 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
7731 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
7732 (get_file_security, get_security_descriptor_owner)
7733 (get_security_descriptor_group, is_valid_sid)
7734 (get_file_security_desc, get_rid, get_name_and_id)
7735 (get_file_owner_and_group): New functions.
7736 (stat): Use get_file_security_desc and get_file_owner_and_group to
7737 report the owner and primary group of each file. Don't ignore the
7738 high 32 bits of file's size, now that st_size is 64-bit wide.
7739 Fix test when to get true file attributes.
7740 (init_user_info): Use get_rid instead of equivalent inline code.
7741 (fstat): Don't ignore the high 32 bits of file's size.
7742
77432008-05-09 Chong Yidong <cyd@stupidchicken.com>
7744
7745 * image.c (png_load): Use correct bit-depth for setting background
7746 color.
7747
77482008-05-08 Eli Zaretskii <eliz@gnu.org>
7749
7750 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
7751 epa-hook.elc.
7752
77532008-05-08 Juanma Barranquero <lekktu@gmail.com>
7754
7755 * font.c (Ffont_match_p): Don't use `iff' in docstring.
7756
77572008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
7758
7759 * macfns.c (Fx_create_frame): Make a copy of frame parameters
7760 because the original parameters are in pure storage now.
7761 (mac_window): Remove unused params. Update callers.
7762
77632008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
7764
7765 * lread.c (substitute_object_recurse): Use lower-level primitives.
7766 Don't signal errors when traversing sub-char-tables.
7767 Don't loop over all the possible characters when traversing char-tables.
7768
7769 * print.c (print_preprocess): Add sub-char-tables to the print-table,
7770 just like we do in print.c.
7771
77722008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
7773
7774 * minibuf.c (Ftry_completion): Remove code left over from when we used
7775 scmp instead of Fcompare_strings.
7776
77772008-05-04 Juanma Barranquero <lekktu@gmail.com>
7778
7779 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
7780
77812008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7782
7783 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
7784 Create bitmap context in native byte order.
7785
7786 * macterm.c (XDrawLine)
7787 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
7788 context in native byte order.
7789
77902008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7791
7792 * config.in: Regenerate.
7793
7794 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
7795 New definitions for Image I/O support.
7796 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
7797 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
7798 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7799 (mac_data_provider_release_data, image_load_image_io)
7800 [USE_MAC_IMAGE_IO]: New functions.
7801 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
7802 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
7803 (init_image_func_pointer) [MAC_OSX]: Remove function.
7804 (image_load_quartz2d) [MAC_OSX]: Check availability of
7805 CGImageCreateWithPNGDataProvider at compile time.
7806 Use lowercase `false' for boolean constant.
7807 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
7808 Use image_load_image_io.
7809 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
7810 Don't check MyCGImageCreateWithPNGDataProvider.
7811 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
7812 Don't call init_image_func_pointer.
7813
7814 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
7815
7816 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
7817 Make variable non-static.
7818 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
7819 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7820
7821 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
7822 (RED_FROM_ULONG): Mask off higher bits.
7823 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
7824
7825 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
7826 Include AvailabilityMacros.h.
7827 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
7828 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
7829
78302008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
7831
7832 * chartab.c (Fset_char_table_range): If range is t, really set all
7833 chars to that value.
7834
78352008-05-03 Eli Zaretskii <eliz@gnu.org>
7836
7837 * dired.c (Ffile_attributes): Don't allow the device number become
7838 negative.
7839
78402008-05-02 Daiki Ueno <ueno@unixuser.org>
7841
7842 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
7843
78442008-05-02 Juri Linkov <juri@jurta.org>
7845
7846 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
7847 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
7848 DEFAULT argument as a list of default values in docstrings.
7849
78502008-05-01 Chong Yidong <cyd@stupidchicken.com>
7851
7852 * puresize.h (BASE_PURESIZE): Increase to 1210000.
7853
78542008-05-01 Martin Rudalics <rudalics@gmx.at>
7855
7856 * dispnew.c (change_frame_size_1): Preserve small windows when
7857 shrinking frames by calling set_window_height|width with third
7858 arg 2.
7859
7860 * window.h (struct window): Replace field too_small_ok by field
7861 resize_proportionally.
7862
7863 * window.c (make_window): Initialize resize_proportionally.
7864 (enlarge_window): Temporarily set resize_proportionally to make
7865 sure that shrink_windows does scale the window proportionally.
7866 (shrink_windows): When window has resize_proportionally set try
7867 to shrink it proportionally by stealing from other windows.
7868 (struct saved_window, Fset_window_configuration)
7869 (compare_window_configurations): Handle resize_proportionally.
7870 (WINDOW_TOTAL_SIZE): New macro.
7871 (window_min_size, shrink_windows, size_window): Use it.
7872 (check_min_window_sizes): Remove. Invalid values of
7873 window-min-height|width are handled by window_min_size_2 now.
7874 (size_window, Fsplit_window, enlarge_window)
7875 (adjust_window_trailing_edge, grow_mini_window): Don't call
7876 check_min_window_sizes.
7877 (window_min_size_2, window_min_size_1, window_min_size):
7878 New argument safe_p for retrieving "safe" minimum sizes.
7879 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7880 (adjust_window_trailing_edge, grow_mini_window):
7881 Adjust arguments of window_min_size... functions.
7882 (shrink_windows): Argument min_size removed. New argument
7883 safe_p allows shrinking windows to their safe minimum sizes.
7884 Calculate minimum size and decide whether a window shall be
7885 deleted for each window individually.
7886 (size_window): When nodelete_p equals 2, tell shrink_windows to
7887 delete windows only if their new minimum size is no more safe.
7888 (shrink_window_lowest_first): Call window_min_size_1 to make
7889 sure to preserve modeline of bottom-most window when resizing
7890 the minibuffer.
7891 (Fset_window_configuration, Fcurrent_window_configuration)
7892 (compare_window_configurations): Do not handle
7893 window-min-height|width any more.
7894 (syms_of_window): Clarify window-min-height|width doc-strings.
7895
78962008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7897
7898 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7899 some more. Copy some of the code from Ftry_completions.
7900 Remove special case code that dates back to initial revision when the
7901 slash was only added when necessary and that can't trigger nowadays.
7902
79032008-04-27 Kenichi Handa <handa@m17n.org>
7904
7905 * font.c (font_prop_validate): Signal `error' instead of `font'.
7906
79072008-04-29 Jason Rumney <jasonr@gnu.org>
7908
7909 * w32fns.c (Fw32_battery_status): New defun.
7910 (syms_of_w32fns): Defsubr it.
7911
79122008-04-28 Andreas Schwab <schwab@suse.de>
7913
7914 * dired.c (file_name_completion): Fix another mixing of encoded
7915 and decoded names.
7916
79172008-04-28 Juanma Barranquero <lekktu@gmail.com>
7918
7919 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7920
79212008-04-27 Juanma Barranquero <lekktu@gmail.com>
7922
7923 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7924
79252008-04-27 Andreas Schwab <schwab@suse.de>
7926
7927 * dired.c (file_name_completion): Fix inappropriate mixing of
7928 encoded and decoded names.
7929
7930 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7931
7932 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7933
79342008-04-26 Eli Zaretskii <eliz@gnu.org>
7935
7936 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7937 2008-03-31, it's not needed anymore with `struct stat' definition
7938 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7939 for the same reasons.
7940
79412008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7942
7943 * m/sparc.h: Additional redefinitions for GNU/Linux.
7944
79452008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7946
7947 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7948 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7949 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7950 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7951 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7952 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7953 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7954 Likewise.
7955
7956 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7957 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7958 (mac_ax_number_of_characters): Add externs.
7959 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7960 [USE_MAC_TSM]: Likewise.
7961 (mac_handle_text_input_event) [MAC_OSX]:
7962 Handle kEventTextInputOffsetToPos for no active input area case.
7963 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7964 (mac_handle_document_access_event)
7965 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7966 (install_application_handler) [MAC_OSX]: Register handlers for
7967 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7968 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7969 Register mac_handle_document_access_event.
7970
7971 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7972 Make functions non-static.
7973
79742008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7975
7976 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7977 (read_file_name_completion_ignore_case, insert_default_directory)
7978 (Qdefault_directory): Move to minibuffer.el.
7979 (Fread_file_name): Call the new `read-file-name' instead.
7980
79812008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7982
7983 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7984 Make function non-static.
7985 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7986 Remove function.
7987 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7988 Move to mactoolbox.c.
7989 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7990
7991 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7992 (mac_rect_make): New macro.
7993
7994 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7995 instead of float.
7996 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7997 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7998 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7999 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
8000 CGRectMake.
8001 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
8002 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
8003 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
8004 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8005 instead of WindowRef in argument type.
8006 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
8007 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
8008 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
8009 instead of DISPLAY. All uses changed.
8010 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
8011 (x_calc_absolute_position): Simplify so as not to use
8012 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
8013
8014 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
8015 instead of WindowRef in argument type.
8016 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
8017 [TARGET_API_MAC_CARBON]: Remove externs.
8018 (create_apple_event, mac_event_parameters_to_lisp)
8019 [TARGET_API_MAC_CARBON]: Add externs.
8020
8021 * mactoolbox.c (Vmac_ts_script_language_on_focus)
8022 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
8023 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
8024 is clicked.
8025 (x_activate_menubar): Remove extern for saved_menu_event_location.
8026 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
8027 Move from mac.c.
8028
80292008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8030
8031 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
8032 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
8033
80342008-04-23 Jason Rumney <jasonr@gnu.org>
8035
8036 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
8037 attributes only for local files.
8038
8039 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
8040 default to Qlocal.
8041
80422008-04-22 Juri Linkov <juri@jurta.org>
8043
8044 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
8045 read-buffer-to-switch instead of using the letter "B".
8046
80472008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
8048
8049 * fileio.c (Qdefault_directory): New variable.
8050 (Fread_file_name): Use it to pass `dir' to the completion functions.
8051
80522008-04-20 Chong Yidong <cyd@stupidchicken.com>
8053
8054 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
8055
80562008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
8057
8058 * keyboard.c (Vpre_help_message): Remove.
8059 (show_help_echo): Remove default C code.
8060
8061 * dired.c (directory_files_internal, file_name_completion):
8062 Only call ENCODE_FILE if the string is indeed decoded.
8063
80642008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8065
8066 * Makefile.in (TOOLKIT_DEFINES): Remove.
8067 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
8068
80692008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8070
8071 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
8072 (mactoolbox.o): New target.
8073
8074 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
8075 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
8076
8077 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
8078 Use mac_set_frame_window_background instead of XSetWindowBackground.
8079 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
8080 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
8081 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
8082 instead of SetWindowTitleWithCFString.
8083 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
8084 Move function to mactoolbox.c.
8085 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
8086 Use mac_set_window_modified instead of SetWindowModified.
8087 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
8088 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
8089 (Fx_focus_frame): Use mac_front_non_floating_window instead of
8090 FrontNonFloatingWindow. Use mac_activate_window instead of
8091 ActivateWindow. Use mac_active_non_floating_window instead of
8092 ActiveNonFloatingWindow.
8093 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
8094 Use mac_show_hourglass and mac_hide_hourglass.
8095 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
8096 instead of GetGlobalMouse.
8097 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
8098 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
8099 Use mac_bring_window_to_front instead of BringToFront.
8100 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
8101 mactoolbox.c.
8102 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
8103 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
8104 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
8105 mactoolbox.c.
8106
8107 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
8108 (XtPointer): Move typedef from macmenu.c.
8109 (enum button_type): Move enum from macmenu.c.
8110 (widget_value): Move typedef from macmenu.c.
8111 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
8112 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8113 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8114 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8115 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8116 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8117 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8118 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
8119 (Selection): Move typedef from macselect.c.
8120 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
8121 macterm.c.
8122 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
8123 (mac_is_window_collapsed, mac_bring_window_to_front)
8124 (mac_send_window_behind, mac_hide_window, mac_show_window)
8125 (mac_collapse_window, mac_front_non_floating_window)
8126 (mac_active_non_floating_window, mac_activate_window)
8127 (mac_move_window_structure, mac_move_window, mac_size_window)
8128 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
8129
8130 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
8131 (enum mac_menu_kind): Move enum to mactoolbox.c.
8132 (min_menu_id): Move variable to mactoolbox.c.
8133 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
8134 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
8135 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
8136 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
8137 [TARGET_API_MAC_CARBON]: Likewise.
8138 (XtPointer): Move typedef to macgui.h.
8139 (enum button_type): Move enum to macgui.h.
8140 (widget_value): Move typedef to macgui.h.
8141 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
8142 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
8143 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
8144 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
8145 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
8146 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
8147 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
8148 (popup_activated_flag): Make variable non-static.
8149 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
8150 (add_menu_item, fill_menu, dispose_menus):
8151 Move functions to mactoolbox.c.
8152 (restore_show_help_function, menu_target_item_handler)
8153 (install_menu_target_item_handler, mac_handle_dialog_event)
8154 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
8155 [TARGET_API_MAC_CARBON]: Likewise.
8156 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
8157 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8158 (find_and_call_menu_selection, name_is_separator): Make function
8159 non-static.
8160 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
8161 to mactoolbox.c.
8162 (set_frame_menubar): Don't call install_menu_quit_handler.
8163 (menu_item_selection): New variable.
8164 (mac_menu_show): Use create_and_show_popup_menu.
8165 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
8166 selection but set variable menu_item_selection. All uses changed.
8167 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
8168 Call install_menu_quit_handler. Move to mactoolbox.c.
8169
8170 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
8171 (Selection): Move typedef to macgui.h.
8172 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
8173 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
8174 Make variables non-static.
8175 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8176 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
8177 Make functions non-static.
8178 (Vmac_service_selection) [MAC_OSX]: Likewise.
8179 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
8180 (mac_valid_selection_target_p, mac_clear_selection)
8181 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8182 (mac_put_selection_value, mac_selection_has_target_p)
8183 (mac_get_selection_value, mac_get_selection_target_list)
8184 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
8185 Move functions to mactoolbox.c.
8186 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
8187 Likewise.
8188 (copy_scrap_flavor_data, mac_handle_service_event)
8189 (install_service_handler) [MAC_OSX]: Likewise.
8190 (syms_of_macselect) <Vmac_dnd_known_types>:
8191 Use mac_dnd_default_known_types.
8192
8193 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
8194 Move to mactoolbox.c.
8195 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
8196 (Fx_selection_owner_p): Add EXFUN.
8197 (install_window_handler, remove_window_handler, XSetWindowBackground):
8198 Remove externs.
8199 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
8200 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
8201 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
8202 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
8203 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
8204 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
8205 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
8206 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
8207 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
8208 (create_and_show_popup_menu, mac_get_selection_from_symbol)
8209 (mac_valid_selection_target_p, mac_clear_selection)
8210 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8211 (mac_put_selection_value, mac_selection_has_target_p)
8212 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
8213 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
8214 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
8215 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8216 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
8217 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8218 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
8219 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8220 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8221
8222 * mactoolbox.c: New file.
8223
82242008-04-18 Jason Rumney <jasonr@gnu.org>
8225
8226 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
8227
82282008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8229
8230 * character.c (Fmultibyte_char_to_unibyte):
8231 Return latin1 chars unchanged.
8232
8233 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
8234 relocated if it points to `name'.
8235
82362008-04-17 Kenichi Handa <handa@m17n.org>
8237
8238 * data.c (Faset): Allow setting a multibyte character in an
8239 ASCII-only unibyte string.
8240
8241 * lisp.h (STRING_SET_MULTIBYTE): New macro.
8242
82432008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
8244
8245 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
8246 done in config.h.
8247
82482008-04-16 Juanma Barranquero <lekktu@gmail.com>
8249
8250 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
8251 (Fchar_direction): Add usage in the docstring.
8252
82532008-04-15 Chong Yidong <cyd@stupidchicken.com>
8254
8255 * keyboard.c (read_key_sequence): Remove always-true checks.
8256
82572008-04-14 Jason Rumney <jasonr@gnu.org>
8258
8259 * w32font.c (w32font_open_internal): Set max_bounds.descent in
8260 compatibility struct, for better underline positioning.
8261
82622008-04-13 David Hansen <david.hansen@gmx.net>
8263
8264 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
8265 string.
8266
82672008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
8268
8269 * m/hp800.h (XUINT, XSET): Remove.
8270
82712008-04-12 Juanma Barranquero <lekktu@gmail.com>
8272
8273 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
8274 previous change.
8275
82762008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
8277
8278 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
8279 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
8280
82812008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8282
8283 * keymap.h (map_keymap_canonical): Declare.
8284 * xmenu.c (single_keymap_panes): Use it.
8285
82862008-04-11 Glenn Morris <rgm@gnu.org>
8287
8288 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
8289 set the target's value to that of the alias.
8290
82912008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8292
8293 * term.c (set_tty_color_mode): Left over typo.
8294
82952008-04-10 Michael Albinus <michael.albinus@gmx.de>
8296
8297 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
8298 only after check for file name handler functions. Signal, when
8299 native functionality is not supported.
8300 (syms_of_fileio): Declare it unconditionally.
8301
83022008-04-10 Jason Rumney <jasonr@gnu.org>
8303
8304 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
8305 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
8306
8307 * w32.c (logon_network_drive): Also logon to remote drives that
8308 are mapped to drive letters.
8309
83102008-04-10 Glenn Morris <rgm@gnu.org>
8311
8312 * xdisp.c (truncate-partial-width-windows): Doc fix.
8313
83142008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
8315
8316 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
8317 Move functions to minibuffer.el.
8318 (syms_of_fileio): Don't declare them.
8319
83202008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8321
8322 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
8323 (syms_of_minibuf): Remove its initialization.
8324
8325 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
8326
83272008-04-09 Juanma Barranquero <lekktu@gmail.com>
8328
8329 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
8330
83312008-04-09 Jason Rumney <jasonr@gnu.org>
8332
8333 * makefile.w32-in (distclean): Delete makefile too.
8334 (maintainer-clean): New target.
8335
8336 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
8337
8338 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
8339 for new font backend and composite cases.
8340
83412008-04-09 Jan Djärv <jan.h.d@swipnet.se>
8342
8343 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
8344 Most of the code moved to run_timers.
8345 (do_pending_atimers): Call run_timers.
8346 (run_timers): New function.
8347
8348 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
8349 run atimers.
8350
8351 * process.c (wait_reading_process_output): The same as above.
8352
83532008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8354
8355 * minibuf.c (last_exact_completion): Remove variable.
8356 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
8357 (complete_and_exit_1, complete_and_exit_2)
8358 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
8359 (Fdisplay_completion_list, display_completion_list_1)
8360 (Fminibuffer_completion_help, Fself_insert_and_exit)
8361 (Fexit_minibuffer, Fminibuffer_message): Move functions to
8362 minibuffer.el.
8363 (syms_of_minibuf): Remove corresponding initializations.
8364
8365 * keyboard.c (Qdeactivate_mark): New var.
8366 (command_loop_1): Use it to call `deactivate-mark'.
8367 (syms_of_keyboard): Initialize it.
8368
8369 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
8370 to another frame.
8371 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
8372 Don't call set_tty_color_mode.
8373 (store_frame_param): Reset previous_frame rather than call
8374 set_tty_color_mode.
8375 * term.c (set_tty_color_mode): Rewrite.
8376 * dispextern.h (set_tty_color_mode): New type.
8377 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
8378
83792008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
8380
8381 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
8382 for generic chars, which do not exist any more in emacs-unicode.
8383
83842008-04-08 Michael Albinus <michael.albinus@gmx.de>
8385
8386 * coding.c (detect_coding_emacs_mule)
8387 (Ffind_operation_coding_system): Fix typo.
8388
83892008-04-08 Jason Rumney <jasonr@gnu.org>
8390
8391 * w32uniscribe.c (SNAME): Extract only symbol name.
8392
8393 * w32font.h (struct w32_metric_cache): New struct.
8394 (w32font_info): Use it.
8395 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
8396 (CACHE_BLOCKSIZE): New constants.
8397
8398 * w32font.c (Qja, Qko, Qzh): New symbols.
8399 (syms_of_w32font): Initialise them.
8400 (font_matches_spec): Use them to filter by language.
8401 (recompute_cached_metrics): Remove function.
8402 (compute_metrics, clear_cached_metrics): New functions.
8403 (w32font_encode_char): Use them to manage metric cache.
8404 (w32font_text_extents): Cache metrics for all glyphs on demand.
8405 Delay converting glyph indices to WORD until needed.
8406 (w32font_open_internal): Initialize metric cache to empty.
8407 (registry_to_w32_charset): Charset should always be a symbol.
8408 (fill_in_logfont, list_all_matching_fonts): Family should
8409 always be a symbol.
8410
84112008-04-06 Jason Rumney <jasonr@gnu.org>
8412
8413 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
8414 Give up if glyph indices not supported. Use uniscribe obtained
8415 ABC widths for individual metrics. Map glyph clusters back to
8416 characters using fClusterStart flag. Return number of glyphs
8417 produced, not chars processed.
8418 (uniscribe_shape): Map char at FROM to current glyph.
8419
84202008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8421
8422 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
8423 Use SetMenuItemHierarchicalMenu.
8424
84252008-04-05 Jason Rumney <jasonr@gnu.org>
8426
8427 * image.c (pbm_load): Allow color values up to 65535.
8428 Throw an error if max_color_idx is outside the supported range.
8429 Report an error when image size is invalid.
8430 Read two bytes at a time when raw images have max_color_idx above 255.
8431
84322008-04-05 Eli Zaretskii <eliz@gnu.org>
8433
8434 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8435 cFileName a file name that includes `?' characters, use the 8+3
8436 alias in cAlternateFileName instead.
8437
84382008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
8439
8440 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8441 append "CCL: Quitted" when the CCL program is quitted.
8442 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8443
8444 * ccl.h (struct ccl_program): New member quit_silently.
8445
84462008-04-05 Chong Yidong <cyd@stupidchicken.com>
8447
8448 * search.c (compile_pattern_1): Treat non-nil and non-string of
8449 search-spaces-regexp as nil.
8450
8451 * minibuf.c (Fassoc_string): Tweak docstring.
8452
84532008-04-05 Eli Zaretskii <eliz@gnu.org>
8454
8455 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8456 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8457 2008-03-14 to force inode be positive.
8458
8459 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8460 _S_* ones, since we now use our own sys/stat.h.
8461 (stat, fstat): Don't mangle the inode number.
8462 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8463
84642008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8465
8466 * frame.h (struct frame): Give one more bit to `visible' since we use
8467 values larger than 1 to indicate obscured frames on ttys.
8468
8469 * keymap.c (Qkeymap_canonicalize): New var.
8470 (Fmap_keymap_internal): New fun.
8471 (describe_map): Use keymap-canonicalize.
8472
8473 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8474 (Fundo_boundary): Set them.
8475 (syms_of_undo): Initialize them.
8476 (record_point): Use them instead of last_point_position*.
8477 (last_undo_buffer): Change type.
8478
84792008-04-04 Jason Rumney <jasonr@gnu.org>
8480
8481 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8482 (recompute_cached_metrics): Don't set ascent and descent per char.
8483
8484 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8485 (uniscribe_check_otf): Add GC protection before consing.
8486 Rearrange loop for counting features.
8487
84882008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8489
8490 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8491 buffer with byte-size of source buffer.
8492
84932008-04-03 Chong Yidong <cyd@stupidchicken.com>
8494
8495 * callint.c (Fcall_interactively): Handle temporary region even
8496 when shift-select-mode is off.
8497
84982008-04-03 Jason Rumney <jasonr@gnu.org>
8499
8500 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8501
85022008-04-03 Kenichi Handa <handa@m17n.org>
8503
8504 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8505 (CATEGORY_MASK_UTF_16): Likewise.
8506 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8507 binary file.
8508 (detect_coding): Add null-byte detection for a binary file.
8509 (detect_coding_system): Likewise.
8510
85112008-04-03 Jason Rumney <jasonr@gnu.org>
8512
8513 * w32uniscribe.c: New file.
8514
8515 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8516
8517 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8518
8519 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8520 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8521 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8522 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8523 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8524 (Qphonetic): New symbols.
8525 (syms_of_w32font): Initialize them.
8526 (font_supported_scripts): Use them.
8527 (w32font_list_family): List all charsets.
8528 (w32font_text_extents, recompute_cached_metrics): Fix metric
8529 calculations.
8530 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8531 Give opentype fonts their own format.
8532 (font_matches_spec): New arguments backend and logfont.
8533 Handle :otf spec for uniscribe backend.
8534 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8535 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8536
8537 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8538 font backend.
8539 (globals_of_w32fns): Initialize uniscribe font backend.
8540
8541 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
8542 dependencies.
8543 (w32uniscribe.$(O)): New file to build.
8544 (FONT_OBJ): Include w32uniscribe.$(O).
8545 (LIBS): Add uniscribe libraries.
8546
8547 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
8548
85492008-04-02 Chong Yidong <cyd@stupidchicken.com>
8550
8551 * callint.c (Vshift_select_mode): New var.
8552 (Finteractive): Document new ^ spec.
8553 (Fcall_interactively): Call handle-shift-selection if the ^ spec
8554 is present.
8555
8556 * keyboard.c (Vthis_command_keys_shift_translated): New var.
8557 (command_loop_1): Avoid running the direct display versions of
8558 forward-char and backward-char if shift-selection may occur.
8559 (read_key_sequence): Set Vthis_command_keys_shift_translated if
8560 shift-translation takes place.
8561
8562 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
8563 avoid clobbering by define-minor-mode.
8564
8565 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
8566 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
8567
8568 * syntax.c (Fforward_word): Add ^ interactive spec.
8569
8570 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
8571 (Fscroll_right): Add ^ interactive spec.
8572
85732008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
8574
8575 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
8576
8577 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
8578
8579 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
8580
85812008-03-31 Juri Linkov <juri@jurta.org>
8582
8583 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
8584
85852008-03-30 Jan Djärv <jan.h.d@swipnet.se>
8586
8587 * gtkutil.c (xg_set_geometry): Fix indentation.
8588 (xg_resize_outer_widget): Remove.
8589 (x_wm_size_hint_off): Fix indentation.
8590 (xg_frame_set_char_size): Call flush_and_sync after
8591 gtk_window_resize.
8592 (x_wm_set_size_hint): Pass NULL as geometry window to
8593 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
8594 Add menu bar and tool bar height to base height.
8595 (xg_update_frame_menubar, free_frame_menubar)
8596 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
8597 (update_frame_tool_bar, free_frame_tool_bar):
8598 Change xg_resize_outer_widget to xg_frame_set_char_size.
8599
86002008-03-30 Michael Albinus <michael.albinus@gmx.de>
8601
8602 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
8603 (Fdbus_call_method): New parameter TIMEOUT.
8604 (dbus-send-signal): Optimize UNGCPRO call.
8605
86062008-03-29 Juri Linkov <juri@jurta.org>
8607
8608 * window.c (Fdisplay_buffer): Move call to
8609 Vsplit_window_preferred_function out of conditions that check
8610 if window is eligible for vertical splitting.
8611 When Vsplit_window_preferred_function is non-nil, call it and use
8612 its non-nil return value as window. Otherwise, continue doing
8613 vertical splitting using Fsplit_window with arg horflag=nil.
8614 (syms_of_window) <Vsplit_window_preferred_function>: Change the
8615 default value from `split-window' to nil.
8616
86172008-03-29 Juri Linkov <juri@jurta.org>
8618
8619 * callint.c (Fcall_interactively): Revert 2008-03-16 change
8620 for interactive code letters 'b' and 'B'.
8621
86222008-03-29 Eli Zaretskii <eliz@gnu.org>
8623
8624 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
8625 multibyte string.
8626
86272008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
8628
8629 * keyboard.c (pending_funcalls): New var.
8630 (timer_check): Run it.
8631 (syms_of_keyboard): Initialize it.
8632 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
8633 (Vdelete_terminal_functions): New vars.
8634 (syms_of_terminal): Initialize them.
8635 (Fdelete_terminal): Run delete-terminal-functions.
8636 * xdisp.c (safe_eval): Rewrite.
8637 (safe_call2): New fun.
8638 * frame.c (Qdelete_frame_functions): New var.
8639 (syms_of_frame): Initialize it.
8640 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
8641 * lisp.h (safe_call2, pending_funcalls): Declare.
8642
86432008-03-28 Andreas Schwab <schwab@suse.de>
8644
8645 * indent.c (Fmove_to_column): Move declaration before statements.
8646
86472008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
8648
8649 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
8650 (struct frame): Use bit fields for boolean vars.
8651
8652 * process.c (server_accept_connection): Simplify naming.
8653 (emacs_get_tty_pgrp): Use SDATA.
8654
8655 * coding.c (decode_coding_object): Fix last change.
8656
86572008-03-27 Jason Rumney <jasonr@gnu.org>
8658
8659 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
8660
86612008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
8662
8663 * charset.c (Fdefine_charset_internal): Change the way of
8664 registering charsets in Vcharset_order_list.
8665 (syms_of_charset): Make the charset `eight-bit' supplementary.
8666
86672008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
8668
8669 * regex.c (EXTEND_BUFFER): Change order of pointer addition
8670 operations, to avoid having the difference between pointers
8671 overflow.
8672
86732008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
8674
8675 * indent.c (check_display_width): New fun.
8676 (scan_for_column): Use it.
8677
8678 * data.c (syms_of_data): Mark most-positive-fixnum and
8679 most-negative-fixnum as constants.
8680
8681 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
8682
8683 * indent.c (scan_for_column): Extract from current_column_1.
8684 Merge with the same code from Fmove_to_column.
8685 (current_column_1, Fmove_to_column): Use it.
8686
86872008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
8688
8689 * keymap.c (map_keymap_internal): New fun.
8690 (map_keymap): Use it.
8691 (Fmap_keymap_internal): New fun.
8692 (Fmap_keymap): Remove left-out test from before make_save_value.
8693
8694 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
8695
8696 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
8697 Use XCAR/XCDR.
8698
8699 * process.h (struct Lisp_Process): Remove filter_multibyte.
8700 * process.c (QCfilter_multibyte): Remove.
8701 (setup_process_coding_systems): Don't use filter_multibyte.
8702 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
8703 (read_process_output): Don't adjust multibyteness to filter_multibyte.
8704 (Fset_process_filter_multibyte): Change the coding-system to
8705 approximate the previous behavior.
8706 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
8707 coding-system.
8708
8709 * coding.c (decode_coding_object): When not decoding into a buffer,
8710 obey the coding system's preference of (uni|multi)byte.
8711
87122008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
8713
8714 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
8715 every char is changed and has a different byte-length.
8716 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
8717 Fix int -> EMACS_INT.
8718
87192008-03-23 David Hansen <david.hansen@gmx.net>
8720
8721 * dbusbind.c (xd_read_message): Remove extra copying of message
8722 strings. Check for NULL `interface' or `member'.
8723
87242008-03-22 Eli Zaretskii <eliz@gnu.org>
8725
8726 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8727 cFileName a file name that includes `?' characters, use the 8+3
8728 alias in cAlternateFileName instead.
8729
87302008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
8731
8732 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
8733
87342008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8735
8736 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
8737 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
8738 work on current_buffer only instead (that was already the case
8739 for some of the code anyway).
8740 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
8741 (temp_set_point, temp_set_point_both): Use EMACS_INT.
8742 (SET_PT, SET_PT_BOTH): Adjust.
8743 * intervals.h (set_point, temp_set_point, set_point_both)
8744 (temp_set_point_both): Remove redundant declarations.
8745
87462008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8747
8748 * fileio.c (Finsert_file_contents):
8749 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
8750 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
8751 when buffer != current_buffer anyway.
8752
87532008-03-20 Andreas Schwab <schwab@suse.de>
8754
8755 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
8756 as default.
8757
87582008-03-19 Jason Rumney <jasonr@gnu.org>
8759
8760 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
8761 (syms_of_w32fns): Initialize them.
8762 (HOURGLASS_ID): New constant.
8763 (x_window_to_frame): Don't check hourglass_window.
8764 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
8765 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
8766 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
8767 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
8768 Only change the cursor if hourglass is not active.
8769 (Fx_create_frame): Initialize frame's current_cursor.
8770 (hourglass_atimer): Remove.
8771 (hourglass_started): New function.
8772 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
8773 (show_hourglass): Adapt to w32, changing argument to frame.
8774
8775 * w32term.h (struct w32_output): Remove hourglass_window.
8776 Add current_cursor.
8777
8778 * eval.c (call_debugger, Fsignal):
8779 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
8780 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
8781 (Fexecute_extended_command, cancel_hourglass_unwind):
8782 * minibuf.c (read_minibuf):
8783 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
8784
87852008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
8786
8787 * window.c (run_funs): New fun.
8788 (run_window_configuration_change_hook): Use it to run the buffer-local
8789 and the global part of the hook.
8790
8791 * xdisp.c (format_mode_line_unwind_data): Add window argument.
8792 (unwind_format_mode_line): Restore selected window.
8793 (x_consider_frame_title, Fformat_mode_line): Set selected window.
8794
87952008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
8796
8797 * editfns.c (Fchar_equal): Check they are valid characters.
8798
8799 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
8800
88012008-03-17 Andreas Schwab <schwab@suse.de>
8802
8803 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
8804 against a charset.
8805
8806 * lisp.h (Fbuffer_list): Declare.
8807
88082008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 8809
aac0c6e3
MR
8810 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
8811 handlebox_widget is != 0.
8812
88132008-03-16 Juri Linkov <juri@jurta.org>
8814
8815 * callint.c (Fcall_interactively): For interactive code letters
8816 'b' and 'B' put the buffer list into the list of default "future"
8817 values of the minibuffer.
8818
88192008-03-16 Andreas Schwab <schwab@suse.de>
8820
8821 * keyboard.c (read_key_sequence): Fix downcasing of letters with
8822 modifiers.
8823
8824 * regex.c (re_match_2_internal): Correct matching of a charset
8825 against latin-1 characters.
8826
88272008-03-16 Kenichi Handa <handa@m17n.org>
8828
8829 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
8830 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
8831 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
8832 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
8833 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
8834 CHAR_STRING_ADVANCE.
8835 (produce_chars): Fix for the case that the source and the
8836 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
8837 instead of CHAR_STRING_ADVANCE.
8838 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
8839 STRING_CHAR_ADVANCE.
8840
88412008-03-15 Andreas Schwab <schwab@suse.de>
8842
8843 * regex.c (re_match_2_internal): Correct matching of eight bit
8844 characters in unibyte strings.
8845
88462008-03-15 Martin Rudalics <rudalics@gmx.at>
8847
8848 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
8849 at end of range when it coincides with the end of the buffer.
8850
88512008-03-14 Eli Zaretskii <eliz@gnu.org>
8852
8853 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
8854
8855 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
8856
88572008-03-14 Jason Rumney <jasonr@gnu.org>
8858
8859 * editfns.c (initial_tz): New variable.
8860 (syms_of_editfns): Initialize it.
8861 (Fset_time_zone_rule): Set it when first called.
8862 Use it when TZSTRING is nil.
8863
8864 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8865 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8866 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8867 (globals_of_w32fns): Initialize them.
8868 (compute_tip_xy): Use them to position tooltips.
8869
88702008-03-14 Glenn Morris <rgm@gnu.org>
8871
8872 * emacs.c (main): Revert previous change.
8873 (standard_args): Revert -internal-script back to -scriptload,
8874 and remove the long-option form.
8875
88762008-03-13 Glenn Morris <rgm@gnu.org>
8877
8878 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8879 Remove option -enable-font-backend.
8880
88812008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8882
8883 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8884
88852008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8886
8887 * xterm.c (x_connection_closed): For GTK: If this is the last
8888 terminal just exit without closing the display.
8889
88902008-03-11 Jason Rumney <jasonr@gnu.org>
8891
8892 * w32font.c (w32font_full_name): Use floor to round.
8893
f0131492 88942008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8895
8896 * sound.c (alsa_configure): Declare vol at beginning of block.
8897
8898 * fontset.c (Ffontset_info): Remove extra semicolon.
8899
89002008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8901
8902 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8903 size of resulting string.
8904
89052008-03-10 Jason Rumney <jasonr@gnu.org>
8906
8907 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8908
89092008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8910
8911 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8912 Don't pretend as if characters with display property haven't been
8913 consumed for string-replacing-string case.
8914
89152008-03-08 Kim F. Storm <storm@cua.dk>
8916
8917 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8918 (get_next_display_element, next_element_from_string)
8919 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8920
89212008-03-08 Andreas Schwab <schwab@suse.de>
8922
8923 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8924
89252008-03-06 Jason Rumney <jasonr@gnu.org>
8926
8927 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8928 when charset not specified. Only translate ANSI to unicode when
8929 font_type is truetype.
8930 (w32font_coverage_ok): New function.
8931 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8932
89332008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8934
8935 * lread.c (Fread_char): Resolve modifiers.
8936 (Fread_char_exclusive): Likewise.
8937
8938 * character.c (char_resolve_modifier_mask): New function.
8939 (char_string): Use char_resolve_modifier_mask.
8940 (Fchar_resolve_modifiers): New function.
8941 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8942 function.
8943
89442008-03-04 Jason Rumney <jasonr@gnu.org>
8945
8946 * makefile.w32-in: Always include w32font.c in the build.
8947 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8948
89492008-03-04 Andreas Schwab <schwab@suse.de>
8950
8951 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8952 (versionclean): Likewise.
8953
89542008-03-04 Juanma Barranquero <lekktu@gmail.com>
8955
8956 * .cvsignore: Add oo.
8957
89582008-03-03 Andreas Schwab <schwab@suse.de>
8959
8960 * coding.c (decode_coding_object): Inhibit gap shrinking while
8961 decoding in place.
8962
89632008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8964
8965 * w32term.c: Remove unused include "gnu.h".
8966 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8967
8968 * gnu.h: Rename to ...
8969 * emacs-icon.h: ... this.
8970 * xterm.c: Use emacs-icon.h instead of gnu.h.
8971 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8972
89732008-03-03 Juanma Barranquero <lekktu@gmail.com>
8974
8975 * w32font.c: Include math.h.
8976
89772008-03-03 Jason Rumney <jasonr@gnu.org>
8978
8979 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8980 Compute options separately.
8981 (w32font_open_internal): Set glyph_idx before caching metrics.
8982
8983 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8984 Define if system headers don't.
8985 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8986 (w32font_encode_char): Don't declare here.
8987
8988 * w32font.c (Quniscribe, QCformat): New symbols.
8989 (syms_of_w32font): Define them.
8990 (w32font_has_char): Indicate uncertainty.
8991 (w32font_encode_char): Encode as glyph point. Make static.
8992 (recompute_cached_metrics): New function.
8993 (w32font_open_internal): Use it. Set font to use glyph points
8994 initially. Set format based on type of font.
8995 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8996 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8997 on it. Set format based on information available here.
8998 (add_font_entity_to_list): Identify backend based on opentype_only.
8999
90002008-03-02 Andreas Schwab <schwab@suse.de>
9001
9002 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
9003
9004 * coding.c (decode_coding_big5, produce_chars):
9005 Fix typos in last change.
9006
90072008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
9008
9009 * gnu.h: New icon.
9010
90112008-03-02 Kenichi Handa <handa@m17n.org>
9012
9013 * coding.c (decode_coding_utf_8): When eol-type of CODING is
9014 `dos', don't decode '\r' if that is the last in the source.
9015 (decode_coding_utf_16, decode_coding_emacs_mule)
9016 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9017 (decode_coding_raw_text, decode_coding_charset): Likewise.
9018 (produce_chars): Don't decode EOL here. Use EMACS_INT.
9019
90202008-03-01 Jason Rumney <jasonr@gnu.org>
9021
9022 * w32font.c (w32font_full_name): Report point size for scalable fonts.
9023
90242008-03-01 Kim F. Storm <storm@cua.dk>
9025
9026 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
9027
90282008-03-01 Jason Rumney <jasonr@gnu.org>
9029
9030 * w32font.c (w32font_full_name): New function.
9031 (w32font_open_internal): Use it.
9032
90332008-03-01 Kim F. Storm <storm@cua.dk>
9034
9035 * dispnew.c (line_draw_cost): Fix invalid glyph check.
9036
90372008-03-01 Jason Rumney <jasonr@gnu.org>
9038
9039 * font.c (font_unparse_fcname): Increase len when style is a symbol.
9040
90412008-03-01 Jan Djärv <jan.h.d@swipnet.se>
9042
9043 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
9044 xg_frame_resized when the event is for the edit widget.
9045
9046 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
9047
9048 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
9049 set_char_size.
9050 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
9051 operations on widgets here. Just set frame size if needed.
9052 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
9053 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
9054 (x_wm_set_size_hint): Set size hints on the edit widget only, not
9055 the whole frame.
9056 (xg_create_tool_bar): Move attachment of the tool bar to
9057 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
9058 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
9059
90602008-03-01 Jason Rumney <jasonr@gnu.org>
9061
9062 * w32fns.c (w32_msg_pump): Disable debug code.
9063
90642008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9065
9066 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
9067
90682008-02-29 Chong Yidong <cyd@stupidchicken.com>
9069
9070 * xdisp.c (next_overlay_string): Don't set
9071 overlay_strings_at_end_processed_p if we're currently reading from
9072 a display string.
9073
90742008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
9075
9076 * xdisp.c (get_overlay_strings_1): Fix typo.
9077
90782008-02-29 Chong Yidong <cyd@stupidchicken.com>
9079
9080 * xdisp.c (get_overlay_strings_1): Add missing argument type.
9081
90822008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
9083
9084 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
9085
9086 * xdisp.c (display_mode_element): Cancel the previous change.
9087 (decode_mode_spec): Likewise.
9088 (handle_auto_composed_prop): Don't make composition if it->string
9089 is a string.
9090
90912008-02-27 Kim F. Storm <storm@cua.dk>
9092
9093 * lisp.h (GLYPH): Change type from int to struct with separate char
9094 and face_id members.
9095 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
9096 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
9097 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
9098 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
9099 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
9100 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
9101 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
9102 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
9103 handle new Lisp glyph code encoding, either an integer or a cons.
9104
9105 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
9106 (GLYPH_ALIAS): Delete.
9107 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
9108 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
9109 (GLYPH_FROM_CHAR): Replace macro by ...
9110 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
9111
9112 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
9113 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
9114 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
9115 (GLYPH_INVALID_P): New macro.
9116 (spec_glyph_lookup_face): Update prototype.
9117
9118 * dispnew.c (line_draw_cost): Adapt to new glyph type.
9119 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
9120 new glyph code encoding.
9121 (spec_glyph_lookup_face): No return value; update passed glyph instead.
9122 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
9123
9124 * xdisp.c (get_next_display_element, next_element_from_display_vector):
9125 Adapt to new glyph type and new glyph code encoding.
9126
9127 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
9128
9129 * indent.c (current_column, current_column_1, Fmove_to_column)
9130 (compute_motion): Adapt to new glyph code encoding.
9131
9132 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
9133
91342008-02-27 Chong Yidong <cyd@stupidchicken.com>
9135
9136 * process.c (wait_reading_process_output): Check for window
9137 changes caused by timers.
9138 Suggested by Johan Bockgård.
9139
91402008-02-27 Glenn Morris <rgm@gnu.org>
9141
9142 * emacs.c (USAGE1): Add `--disable-font-backend'.
9143
91442008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
9145
9146 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
9147 is made to the buffer.
9148
91492008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
9150
9151 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
9152 (face_at_string_position):
9153 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
9154 (face_at_string_position):
9155 * xdisp.c (display_string, next_overlay_change):
9156 * buffer.h (overlays_at):
9157 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
9158 Update callers.
9159
91602008-02-26 Chong Yidong <cyd@stupidchicken.com>
9161
9162 * editfns.c (Fformat): Doc fix.
9163
91642008-02-26 Juanma Barranquero <lekktu@gmail.com>
9165
9166 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
9167 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
9168 (Ffont_otf_alternates, Fquery_font): Doc fixes.
9169
91702008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9171
9172 * buffer.c (Fbuffer_swap_text): New function.
9173 (syms_of_buffer): Defsubr it.
9174
91752008-02-25 Chong Yidong <cyd@stupidchicken.com>
9176
9177 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
9178
91792008-02-25 Jason Rumney <jasonr@gnu.org>
9180
9181 * w32font.c (w32font_draw): Draw one character at a time when padding.
9182
91832008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
9184
9185 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
9186 Handle a nil arg. Use run_window_configuration_change_hook.
9187 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
9188 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
9189 Use run_window_configuration_change_hook.
9190
91912008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9192
9193 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
9194 1-pixel width.
9195
91962008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9197
9198 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
9199 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
9200 if the glyph in the font is zero pixel with.
9201
9202 * dispextern.h (struct glyph_string): New member padding_p.
9203
9204 * w32font.c (w32font_draw): Pay attention to s->padding_p.
9205
9206 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
9207
9208 * xfont.c (xfont_draw): Pay attention to s->padding_p.
9209
9210 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
9211
9212 * font.c: If the font driver doesn't have `shape' function, return Qnil.
9213
92142008-02-25 Jason Rumney <jasonr@gnu.org>
9215
9216 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
9217
92182008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
9219
9220 Allow fine-grained image-cache flushing.
9221 * dispextern.h (struct image): Add `dependencies' field.
9222 (clear_image_caches): Change arg to Lisp_Object.
9223 * image.c (make_image): Initialize `dependencies' field.
9224 (clear_image_cache): Change arg to allow fine-grained flushing.
9225 Perform the flush even if image-cache-eviction-delay is nil.
9226 (clear_image_caches): Change arg to Lisp_Object.
9227 (Fclear_image_cache): Expand meaning of the argument.
9228 (mark_image): Mark `dependencies' field.
9229 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
9230 (lface_hash): Use XHASH rather than XFASTINT.
9231 (face_at_buffer_position): Fix int -> EMACS_INT position.
9232 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
9233 (select_frame_for_redisplay): Remove code duplication.
9234 (redisplay_internal): Adapt arg to call to clear_image_caches.
9235
92362008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
9237
9238 * s/vms4-0.h:
9239 * s/vms4-2.h:
9240 * s/vms4-4.h:
9241 * s/vms5-5.h: Remove, unused.
9242
9243 * s/irix5-2.h:
9244 * s/irix6-0.h:
9245 * s/riscos5.h:
9246 * s/mach-bsd4-3.h:
9247 * m/mips4.h: Remove files for obsolete systems.
9248
9249 * Makefile.in:
9250 * filelock.c:
9251 * unexmips.c:
9252 * m/hp9000s300.h:
9253 * m/iris4d.h:
9254 * s/aix3-1.h:
9255 * s/hpux.h:
9256 * s/msdos.h:
9257 * s/usg5-0.h:
9258 * s/usg5-2-2.h:
9259 * s/usg5-2.h:
9260 * s/usg5-3.h: Remove references to obsolete variables.
9261
9262 * s/irix5-0.h: Remove, move all the contents ...
9263 * s/irix6-5.h: ... here. Simplify.
9264 * config.in: Regenerate.
9265
92662008-02-24 Jason Rumney <jasonr@gnu.org>
9267
9268 * w32term.c (x_draw_glyph_string_background): Clear the background
9269 manually when cleartype is in use.
9270 (x_draw_glyph_string_foreground): Draw text transparently when
9271 cleartype is in use.
9272
9273 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
9274 a font into it unless we have to.
9275
92762008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9277
9278 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
9279 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 9280
aac0c6e3
MR
92812008-02-18 Jason Rumney <jasonr@gnu.org>
9282
9283 * w32fns.c (Fw32_shell_execute): Encode parameters.
9284
92852008-02-09 Eli Zaretskii <eliz@gnu.org>
9286
9287 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
9288
92892008-02-05 Juanma Barranquero <lekktu@gmail.com>
9290
9291 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
9292
92932008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
9294
9295 * xterm.c (x_set_offset): Don't change the gravity if
9296 CHANGE_GRAVITY is -1.
9297
92982008-02-23 Chong Yidong <cyd@stupidchicken.com>
9299
9300 * fileio.c (auto_save_error_occurred): New var.
9301 (auto_save_error): Set it.
9302 (Fdo_auto_save): Don't overwrite the error message if an auto-save
9303 error occurred.
9304
93052008-02-23 Eli Zaretskii <eliz@gnu.org>
9306
9307 * w32.c (globals_of_w32): Add initializations for
9308 g_b_init_get_sid_sub_authority and
9309 g_b_init_get_sid_sub_authority_count.
9310
93112008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
9312
9313 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
9314 (font_parse_xlfd): Use them for sanity check.
9315 (Finternal_set_font_style_table): Make sure the table is bijective.
9316
9317 Consolidate the image_cache to the terminal struct.
9318 * termhooks.h (P_): Remove redundant def.
9319 (struct terminal): New field `image_cache'.
9320 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
9321 of FRAME_X_IMAGE_CACHE.
9322 * xterm.h (struct x_display_info): Remove image_cache field.
9323 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9324 * w32term.h (struct w32_display_info): Remove image_cache field.
9325 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9326 * macterm.h (struct mac_display_info): Remove image_cache field.
9327 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9328 * xterm.c (x_term_init):
9329 * w32term.c (w32_term_init):
9330 * macterm.c (mac_term_init): Set the image_cache in the terminal.
9331 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
9332 Remove declarations.
9333 (clear_image_caches, mark_image_cache): New declarations.
9334 * xfaces.c (clear_face_cache):
9335 * xdisp.c (redisplay_internal): Use clear_image_caches.
9336 * image.c (clear_image_cache): Don't check that a frame is on
9337 a window-system before checking if it shares the same cache.
9338 (clear_image_caches): New function.
9339 (Fclear_image_cache): Use it.
9340 (mark_image): Move from allo.c.
9341 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
9342 * alloc.c (mark_image, mark_image_cache): Move to image.c.
9343 (mark_object): Don't call mark_image_cache for frames.
9344 (mark_terminals): Call mark_image_cache.
9345
9346 * lisp.h (Fdelete_terminal): Declare.
9347
9348 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
9349 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
9350 wrong_type_argument.
9351
93522008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
9353
9354 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
9355 malayalam.el, and tamil.el. Add sinhala.el.
9356
93572008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
9358
9359 * xterm.c (x_connection_closed): Consolidate identical tests.
9360 (x_delete_terminal): Don't crash if called via x_connection_closed.
9361
93622008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
9363
9364 * xdisp.c (decode_mode_spec): New arg string.
9365 (display_mode_element): Adjust for the above change.
9366
93672008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9368
9369 * callint.c (Fcall_interactively): Use AREF.
9370
93712008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
9372
9373 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
9374
93752008-02-18 Jan Djärv <jan.h.d@swipnet.se>
9376
9377 * xfns.c (Fx_show_tip): Set string to " " if empty.
9378
93792008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
9380
9381 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
9382 with Qt.
9383
93842008-02-17 Kenichi Handa <handa@m17n.org>
9385
9386 * ftfont.c (ftfont_shape): Return Lispy number.
9387
9388 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
9389 for GCs.
9390 (Finternal_set_font_selection_order): Call font_update_sort_order
9391 only when enable_font_backend is set.
9392 (realize_x_face): Set face->font_info to that of default face only
9393 when enable_font_backend is set.
9394
9395 * xdisp.c (handle_composition_prop): Set it->c to the fist
9396 character of the composed region.
9397 (fill_composite_glyph_string): Set base_face->font_info to
9398 s->font_info. Get a face for ascii from base_face->ascii_face.
9399 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
9400 with a face already decided.
9401 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
9402 non-negative.
9403 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
9404 call font_prepare_composition unconditionally.
9405
9406 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
9407
9408 * xterm.h (struct x_display_info): New member font.
9409
9410 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
9411 (x_set_mouse_face_gc, x_new_font): Likewise.
9412 (x_term_init): Setup display_info->font.
9413 (x_delete_terminal): Free display_info->font.
9414
9415 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
9416
9417 * ftxfont.c (ftxfont_default_fid): Delete it.
9418 (ftxfont_open): Set xfont->fid to 0.
9419 (ftxfont_end_for_frame): Clear data specific to the frame and the
9420 font-driver.
9421
9422 * xftfont.c (xftfont_default_fid): Delete it.
9423 (xftfont_open): Set xfont->fid to 0.
9424
9425 * fontset.c (FONTSET_OBJLIST): New macro.
9426 (fontset_find_font): Update font-object list of the fontset.
9427 (free_realized_fontset): New function.
9428 (free_face_fontset): Call free_realized_fontset.
9429 (Ffont_info): Call font_close_object only when enable_font_backend
9430 is set.
9431
9432 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
9433 [HAVE_NTGUI]: Include w32term.h.
9434 [MAC_OS]: Include macterm.ch.
9435 (font_otf_ValueRecord): Use make_number.
9436 (font_finish_cache): Fix handling of reference count.
9437 (font_clear_cache): Update num_fonts.
9438 (font_open_entity): Update smallest_char_width and
9439 smallest_font_height of the frame.
9440 (font_close_object): Update num_fonts.
9441 (Fclear_font_cache): Fix finding the target cache data.
9442
94432008-02-16 Glenn Morris <rgm@gnu.org>
9444
9445 * fontset.c (Finternal_char_font): Fix compilation warning.
9446
94472008-02-16 Eli Zaretskii <eliz@gnu.org>
9448
9449 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9450 instead of char arrays. Enlarge the size of array passed to
9451 get_token_information.
9452
9453 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9454 warnings.
9455
94562008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9457
9458 * .gdbinit: Don't set `args', it breaks gdb --args.
9459
94602008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9461
9462 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9463 within a narrowed buffer.
9464
94652008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9466
9467 * coding.c (decode_coding_object, encode_coding_object):
9468 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9469
94702008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9471
9472 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9473 hardcoding 1.
9474 (detect_coding_system):
9475 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9476 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9477 * insdel.c (insert_from_gap):
9478 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9479 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9480 (string_to_multibyte):
9481 * character.c (chars_in_text, multibyte_chars_in_text):
9482 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9483
9484 * character.h (FETCH_STRING_CHAR_ADVANCE)
9485 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9486 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9487 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9488
9489 * casefiddle.c (casify_region): Only call after-change and composition
9490 functions on the part of the region that was changed.
9491
9492 * keyboard.c (read_avail_input):
9493 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9494
94952008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9496
9497 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9498 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9499
95002008-02-11 Juanma Barranquero <lekktu@gmail.com>
9501
9502 * w32menu.c (push_submenu_start, push_submenu_end)
9503 (push_left_right_boundary, push_menu_pane, push_menu_item):
9504 * keyboard.c (read_key_sequence): Don't pass args with side effects
9505 to AREF, it fails when compiling with -DENABLE_CHECKING.
9506
95072008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9508
9509 * Makefile.in (${lispsource}international/charprop.el):
9510 Delete this target.
9511
9512 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9513 emacs-unicode-2.
9514
95152008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9516
9517 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9518
95192008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9520
9521 * frame.c (Qnoelisp): New symbol.
9522 (syms_of_frame): Initialize it.
9523 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9524 harmless Elisp code, from a strong `force' from x_connection_closed.
9525 * frame.h (Qnoelisp): Declare.
9526 * xterm.c (x_connection_closed): Pass `noelisp'.
9527
9528 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9529 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9530 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9531 rather than `int' for the type of `type'.
9532
95332008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9534
9535 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9536
9537 * Makefile.in (GNUC): Remove support for gcc-1.x.
9538
95392008-02-10 Richard Stallman <rms@gnu.org>
9540
9541 * lisp.h (ASET): Use AREF, not ASLOT.
9542
95432008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9544
9545 * lisp.h (ASET): Check bounds.
9546
95472008-02-10 Glenn Morris <rgm@gnu.org>
9548
9549 * buffer.c (mode-name): Doc fix.
9550
95512008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9552
9553 * Makefile.in:
9554 * emacs.c:
9555 * gmalloc.c:
9556 * keyboard.c:
9557 * lisp.h:
9558 * m/ibm370aix.h:
9559 * process.c:
9560 * regex.c:
9561 * s/hpux.h:
9562 * sysdep.c:
9563 * sysselect.h:
9564 * systty.h:
9565 * unexec.c:
9566 * w32term.c:
9567 * xsmfns.c:
9568 * xterm.c: Remove code that deals with obsolete variables.
9569
9570 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
9571
9572 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
9573 nothing else needs it anymore.
9574
95752008-02-09 Eli Zaretskii <eliz@gnu.org>
9576
9577 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
9578 instead of unibyte_char_to_multibyte.
9579
95802008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9581
9582 * s/gnu-linux.h: Remove commented out code.
9583
9584 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
9585
9586 * Makefile.in: Update what RMS says about using autoconf.
9587 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
9588 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
9589 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
9590 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
9591
95922008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
9593
9594 * keymap.c (Fkey_description): Move side effect outside of macro call.
9595
9596 * xfaces.c (Finternal_make_lisp_face):
9597 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
9598
9599 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
9600 (syms_of_fontset): Use ASET.
9601
9602 * fns.c (concat): Move side effect outside of macro call.
9603 (hash_clear): Use ASET.
9604
96052008-02-08 Richard Stallman <rms@gnu.org>
9606
9607 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
9608 If FORCE, and frame has a surrogate minibuffer for another frame,
9609 delete the other frame first.
9610
96112008-02-07 Timo Savola <timo.savola@iki.fi>
9612
9613 * xterm.c (x_detect_focus_change): Handle embed client message.
9614 (handle_one_xevent): Ditto.
9615 (handle_one_xevent): If embedded and we get a button press/release,
9616 request focus.
9617 (xembed_set_info, xembed_send_message): New functions.
9618 (x_make_frame_visible): Call xembed_set_info if embedded.
9619 (x_make_frame_invisible): Call xembed_set_info if embedded.
9620 (x_term_init): Initialize Xatom_XEMBED.
9621 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
9622 (x_iconify_frame): Ditto.
9623
9624 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
9625 (enum xembed_info, enum xembed_message, enum xembed_focus)
9626 (enum xembed_modifier, enum xembed_accelerator): New.
9627 (xembed_set_info, xembed_send_message): Declare.
9628 (FRAME_X_EMBEDDED_P): New.
9629
9630 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
9631 gtk_plug_new.
9632
9633 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
9634 window ID of a frame.
9635 (x_window): Reparent frame if embedded.
9636 (Fx_create_frame): Don't set border width if embedded.
9637
9638 * emacs.c (USAGE3): Add --parent-id.
9639 (standard_args): Ditto.
9640
96412008-02-07 Jan Djärv <jan.h.d@swipnet.se>
9642
9643 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
9644
96452008-02-07 Jim Meyering <meyering@redhat.com>
9646
9647 Use "do...while (0)", not "if (1)...else" in macro definitions.
9648 The latter provokes a warning from gcc about the empty else, when
9649 followed by ";". Also, without that trailing semicolon, it would
9650 silently swallow up any following statement.
9651 * syntax.h (SETUP_SYNTAX_TABLE)
9652 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
9653 * buffer.h (DECODE_POSITION): Likewise.
9654 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
9655 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
9656 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
9657 (FETCH_CHAR_ADVANCE): Likewise.
9658 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
9659
96602008-02-07 Jim Meyering <meyering@redhat.com>
9661
9662 * lread.c [lint]: Don't include <sys/inode.h>.
9663
96642008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
9665
9666 * xselect.c (x_handle_dnd_message):
9667 * xmenu.c (digest_single_submenu, xmenu_show):
9668 * xdisp.c (with_echo_area_buffer_unwind_data)
9669 (format_mode_line_unwind_data, unwind_format_mode_line)
9670 (display_menu_bar):
9671 * eval.c (Ffetch_bytecode):
9672 * doc.c (store_function_docstring):
9673 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
9674 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
9675 * buffer.c (add_overlay_mod_hooklist): Use ASET.
9676
96772008-02-07 Kenichi Handa <handa@m17n.org>
9678
9679 * ftxfont.c (ftxfont_open): Don't set
9680 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
9681
9682 * ftfont.c (ftfont_open): Fix previous change.
9683
96842008-02-06 Jason Rumney <jasonr@gnu.org>
9685
9686 * w32font.c (w32font_text_extents): Fill in lbearing metric.
9687 Use cached metrics for ASCII characters.
9688 (w32font_open_internal): Don't set font's owning_frame.
9689 Cache metrics for ASCII characters.
9690
9691 * w32font.h (struct w32font_info): Add ascii_metrics.
9692 Remove owning_frame.
9693
96942008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
9695
9696 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
9697 to negative value.
9698
9699 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
9700
9701 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
9702
9703 * charset.c (syms_of_charset): Set QCtest and Qeq.
9704
97052008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
9706
9707 * process.c (Fstart_process):
9708 * callproc.c (Fcall_process): Handle the case where
9709 Funhandled_file_name_directory returns nil.
9710
9711 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
9712 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
9713 * font.c (check_gstring): Use them and AREF to access the vector before
9714 we know it's really a gstring.
9715 (Ffont_shape_text): Fix typo.
46e722a9 9716 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
9717
9718 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
9719 Declare.
9720
9721 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
9722
97232008-02-05 Jason Rumney <jasonr@gnu.org>
9724
9725 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
9726 Set smallest_font_height and smallest_char_width in display info.
9727
97282008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
9729
9730 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
9731
97322008-02-05 Miles Bader <miles@gnu.org>
9733
9734 * xfaces.c (get_lface_attributes, merge_named_face)
9735 (lookup_named_face, lookup_derived_face, realize_named_face):
9736 Revert 2008-02-01 change by cyd@stupidchicken.com.
9737
97382008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
9739
9740 * fontset.c (Ffontset_info): Handle the case of inhibitting the
9741 fallback fonts.
9742 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
9743
97442008-02-04 Jason Rumney <jasonr@gnu.org>
9745
9746 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
9747 set full_name.
9748 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
9749
97502008-02-03 Jason Rumney <jasonr@gnu.org>
9751
9752 * makefile.w32-in (OBJ1): Include font.o here.
9753 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
9754
97552008-02-02 Jason Rumney <jasonr@gnu.org>
9756
9757 * makefile.w32-in (temacs): Bump EMHEAP to 21.
9758
97592008-02-01 Jason Rumney <jasonr@gnu.org>
9760
9761 * s/cygwin.h: Define VIRT_ADDR_VARIES.
9762
9763 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
9764
97652008-02-01 Andreas Schwab <schwab@suse.de>
9766
9767 * Makefile.in (shortlisp, lisp): Update for rename of
9768 ../lisp/language/myanmar.el.
9769
97702008-02-01 Chong Yidong <cyd@stupidchicken.com>
9771
9772 * xfaces.c (get_lface_attributes): Delete function.
9773 (merge_named_face, lookup_named_face, lookup_derived_face)
9774 (realize_named_face): Call lface_from_face_name directly, and use
9775 the fact that merge_face_vectors does not alter its FROM argument.
9776
97772008-02-01 Jason Rumney <jasonr@gnu.org>
9778
9779 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
9780 input in the default locale. Handle non-Unicode multibyte input.
9781
97822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9783
9784 * fontset.c (reorder_font_vector): Exclude nil elements from the
9785 font group. Don't try multiple fonts.
9786 (fontset_font): Adjust for the above change.
9787 (Finternal_char_font): Return nil if the found font doesn't
9788 contain the character ch.
9789
9790 * Makefile.in (lisp, shortlisp): Add cham.el.
9791
97922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9793
9794 * font.h (FONTP): Make it return 1 also for a font-object.
9795
9796 * .gdbinit (xfontset): New function.
9797
9798 * font.c (font_find_for_lface): Check if the character C is
9799 supported or not only for the first font.
9800
9801 * fontset.c (reorder_font_vector): Fix typo.
9802 (fontset_find_font): Don't add a font-spec specifying a script.
9803 Use 0 (not Qt) for the indication of empty font-group. Change the
9804 format of RFONT-DEF. Return Qt if no font in the font-group
9805 support the character.
9806 (fontset_font): Adjust for the above change. If no font was
9807 found the character, remember that.
9808 (face_for_char): Adjust for the change of RFONT-DEF.
9809 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
9810 no font for the target.
9811 (Finternal_char_font): Adjust for the change of RFONT-DEF.
9812
98132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9814
9815 * font.c (font_load_for_face): Handle the case that the font in
9816 face->lface is a string.
9817
98182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9819
9820 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
9821
98222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9823
9824 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
9825 Fix previous change. If the frame is not on a window system,
9826 signal an error.
9827
98282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9829
9830 * coding.c (decode_coding_object, encode_coding_object): Adjust
9831 marker positions after conversion.
9832
9833 * lisp.h (struct Lisp_Marker): New member need_adjustment.
9834
98352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9836
9837 * font.c (font_find_for_lface): Fix the handling of the return
9838 value of font_has_char.
9839 (Ffont_shape_text): Fix previous change.
9840
9841 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
9842 (fontset_ref_and_range): Delete it.
9843 (fontset_find_font): Call char_table_ref_and_range instead of
9844 FONTSET_REF_AND_RANGE.
9845 (make_fontset): Don't setup font groups of Latin here.
9846 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
9847 (new_fontset_from_font): Make the specified font the default for
9848 all Latin characters.
9849
98502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9851
9852 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
9853 is on a window system before accessing the fontset of the frame.
9854
98552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9856
9857 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
9858
9859 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9860 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9861
9862 * font.c (Ffont_shape_text): If the font driver doesn't have a
9863 shaper function, make zero-width glyphs to have at least one-pixel
9864 width. Fix setting of `to' field of glyphs.
9865
98662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9867
9868 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9869 glyphs.
9870
9871 * font.h (struct font_driver): Improve docstring of member `shape'.
9872
98732008-02-01 Kenichi Handa <handa@m17n.org>
9874
9875 * composite.c (syms_of_composite): Fix docstring of
9876 auto-composition-function.
9877
9878 * font.h (LGLYPH_SIZE): New macro.
9879
9880 * font.c (Ffont_fill_gstring): Stop filling when a character not
9881 supported by the font is found.
9882 (Ffont_shape_text): When a shape callback function returns nil,
9883 try at most two more times with larger gstring.
9884 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9885
9886 * xdisp.c (handle_auto_composed_prop): Change the argument to
9887 auto-composition-function.
9888
9889 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9890 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9891 Lispy glyph and store it in the lgstring.
9892
9893 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9894
9895 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9896
98972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9898
9899 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9900
9901 * fontset.c (Vfont_encoding_charset_alist): New variable.
9902 (syms_of_fontset): DEFVAR it.
9903 (reorder_font_vector, fontset_find_font): Optimize for the case of
9904 no need of reordering.
9905 (face_for_char): Map the charset property by
9906 Vfont_encoding_charset_alist.
9907
99082008-02-01 Jason Rumney <jasonr@gnu.org>
9909
9910 * w32font.c (logfonts_match): Don't check adstyle here.
9911 (font_matches_spec): Check here against physical font instead.
9912 (add_font_entity_to_list): Avoid some substitutions.
9913
9914 * font.c (font_parse_fcname): Default weight and slant to normal.
9915 (font_score): Prefer normal fonts if weight or slant unspecified.
9916 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9917 match freetype scores.
9918
99192008-02-01 Jason Rumney <jasonr@gnu.org>
9920
9921 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9922 font, as it may have been deleted.
9923 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9924 most common hyphenless variation.
9925 (logfonts_match): Check generic family.
9926 (font_matches_spec): Don't check generic family here.
9927 (fill_in_logfont): Set generic family based on adstyle.
9928
9929 * w32font.h (w32font_get_cache): Update declaration.
9930
99312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9932
9933 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9934
9935 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9936 If none of the new drivers are available, call font_update_drivers
9937 with the old drivers.
9938
9939 * w32font.c (w32font_get_cache): Adjust the argument type.
9940
9941 * xfont.c (xfont_get_cache): Adjust the argument type.
9942
9943 * font.h (struct font_driver): Change argument type of get_cache.
9944
9945 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9946
9947 * font.c (Ffont_get): Fix arguments to Fassoc.
9948 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9949 (font_clear_cache): New function.
9950 (font_list_entities, font_matching_entity): Use font_get_cache.
9951 (font_update_drivers): Call font_clear_cache when finishing a driver.
9952
9953 * fontset.c (fontset_find_font): Fix previous change.
9954
99552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9956
9957 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9958 dpyinfo->font_table.
9959 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9960 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9961
9962 * font.c (font_at): Handle the case that the arg C is negative.
9963 Handle the unibyte case.
9964 (Ffont_at): Call font_at with the arg C -1.
9965
9966 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9967 the position here, and call font_at with the arg C -1.
9968 Don't check the range of the existing composition at the point.
9969
99702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9971
9972 * fontset.c (fontset_add): New args charset_id and family.
9973 Change caller.
9974 (load_font_get_repertory, fontset_find_font): Assume that
9975 font_spec is always a font-spec object.
9976 (Fset_fontset_font): Always store a font-spec object in a fontset.
9977
9978 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9979 instead of get_property_and_range.
9980
99812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9982
9983 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9984 (xftfont_open): Don't keep locking face.
9985 (xftfont_close): Don't unlock face.
9986 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9987
9988 * fontset.c (fontset_find_font): Don't prefer a font of
9989 supplementary charset.
9990
99912008-02-01 Kenichi Handa <handa@m17n.org>
9992
9993 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9994 script, langsys_tag to langsys, new member script.
9995 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9996 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9997 listing to the script specified in that property. Fix arg to
9998 OTF_check_features.
9999
100002008-02-01 Jason Rumney <jasonr@gnu.org>
10001
10002 * w32font.h: New file.
10003
10004 * w32font.c: Include it.
10005 (struct w32font_info): Add owning_frame field. Move to w32font.h.
10006 (w32font_open): Set owning_frame.
10007 (w32font_text_extents): Use owning_frame.
10008 (struct font_callback_data): Add opentype_only field.
10009 (add_font_entity_to_list): Use it to filter fonts.
10010 Don't check against full name.
10011 (w32font_list_internal): New function.
10012 (w32font_list): Use it.
10013 (w32font_match_internal): New function.
10014 (w32font_match): Use it.
10015 (w32font_open_internal): New function.
10016 (w32font_open): Use it.
10017 (w32font_get_cache, w32font_close, w32font_has_char)
10018 (w32font_encode_char, w32font_text_extents, w32font_draw):
10019 Make non-static.
10020
10021 * makefile.w32-in (w32font.o): Depend on w32font.h.
10022
100232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10024
10025 * charset.c (Fdefine_charset_internal): Record a supplementary
10026 charset at the tail of Vcharset_order_list.
10027
10028 * font.c (Ffont_shape_text): Fix the return value.
10029
10030 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
10031
10032 * xdisp.c (handle_auto_composed_prop): Fix previous change.
10033
100342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10035
10036 * ftfont.c (struct OpenTypeSpec): New struct.
10037 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
10038 (ftfont_get_open_type_spec): New function.
10039 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
10040
10041 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
10042
100432008-02-01 Jason Rumney <jasonr@gnu.org>
10044
10045 * w32font.c (add_font_entity_to_list): Compare only the beginning
10046 of full name.
10047
100482008-02-01 Kenichi Handa <handa@m17n.org>
10049
10050 * xdisp.c (handle_auto_composed_prop): Simplify the code.
10051 Never return HANDLED_RECOMPUTE_PROPS.
10052
100532008-02-01 Kenichi Handa <handa@m17n.org>
10054
10055 * font.c (font_gstring_produce): Delete it.
10056
10057 * composite.h (COMPOSITION_METHOD):
10058 Handle COMPOSITION_WITH_GLYPH_STRING.
10059
100602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10061
10062 * xfont.c (Qx): Delete.
10063 (syms_of_xfont): Don't initialize Qx.
10064
10065 * composite.h (enum composition_method):
10066 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
10067
100682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10069
10070 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
10071 (choose_face_font): Accept new form of font-spec.
10072
10073 * frame.h (font_driver_list): Declare it unconditionally.
10074 (struct frame): Define members font_driver_list and font_data_list
10075 unconditionally.
10076
10077 * fontset.c: Include "font.h" unconditionally.
10078 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
10079 (Fset_fontset_font): Accept a font-spec object.
10080
10081 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
10082 PIXEL_SIZE part a wild card.
10083
10084 * dispextern.h (struct glyph_string): Define members clip and
10085 num_clips unconditionally.
10086 (struct face): Define members font_info and extra unconditionally.
10087
10088 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
10089 ftfont_info only when HAVE_LIBOTF is defined.
10090
100912008-02-01 Andreas Schwab <schwab@suse.de>
10092
10093 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
10094 and end.
10095
100962008-02-01 Jason Rumney <jasonr@gnu.org>
10097
10098 * w32font.c (w32font_driver): Add new fields.
10099
101002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10101
10102 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
10103 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
10104 (LIBES): Add @M17N_FLT_CFLAGS@.
10105
10106 * composite.c (compose_text): Don't treat the new style
10107 composition specially.
10108
10109 * emacs.c (main): Call syms_of_font unconditionally.
10110
10111 * font.h (FONT_ENTITY_NOT_LOADABLE)
10112 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
10113 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
10114 (struct font_driver): New member shape.
10115 (font_registry_charsets): Extern it.
10116 (font_find_for_lface, font_prepare_composition): Adjust prototype.
10117 (font_otf_capability, font_drive_otf): Delete their externs.
10118
10119 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
10120 (font_charset_alist, font_registry_charsets): Move from xfont.c
10121 and rename.
10122 (font_prop_validate_otf): New function.
10123 (font_property_table): Register it for QCotf.
10124 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
10125 (font_drive_otf): Delete.
10126 (font_prepare_composition): New arg F. Adjust for the change of
10127 lispy gstring.
10128 (font_find_for_lface): New arg C.
10129 (font_load_for_face): Adjust for the change of font_find_for_lface.
10130 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
10131 lispy gstring.
10132 (Ffont_shape_text): New function.
10133 (Fopen_font): If the font size is not given, use 12-pixel.
10134 (Ffont_at): New arg STRING.
10135 (syms_of_font): Initalize font_charset_alist.
10136 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
10137 conditionally.
10138
10139 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
10140 fonts of the same font-spec. Change the format of RFONT-DEF.
10141 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
10142 Adjust for the change of RFONT-DEF.
10143 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
10144
10145 * ftfont.h: New file.
10146
10147 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
10148 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10149 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10150 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
10151 font_otf_capability and font_drive_otf, set ftfont_shape.
10152 (ftfont_list): Adjust for the change of :otf property value.
10153 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
10154 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
10155 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
10156 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10157 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
10158 (otf_gstring, gstring, m17n_flt_initialized): New variables.
10159
10160 * w32term.c (x_draw_composite_glyph_string_foreground):
10161 Adjust for the change of lispy gstring.
10162
10163 * xdisp.c (handle_composition_prop): Adjust for the change of
10164 lispy gstring. Call a function for auto-composition with the
10165 third arg it->window.
10166 (fill_composite_glyph_string): Adjust for the change of lispy string.
10167 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
10168
10169 * xfaces.c (set_font_frame_param): Adjust for the change of
10170 font_find_for_lface.
10171
10172 * xfont.c (x_font_charset_alist): Move to font.c and rename.
10173 (xfont_registry_charsets): Likewise. Change caller.
10174 (syms_of_xfont): Don't handle x_font_charset_alist.
10175
10176 * xftfont.c: Include "ftfont.h".
10177 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
10178 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
10179 (xftfont_close) [HAVE_LIBOTF]: Close otf.
10180 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
10181 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
10182 Set xftfont_driver.shape to xftfont_shape.
10183
10184 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10185 the change of lispy gstring.
10186
101872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10188
10189 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
10190
101912008-02-01 Jason Rumney <jasonr@gnu.org>
10192
10193 * w32font.c (w32font_draw): Fill background manually.
10194
101952008-02-01 Jason Rumney <jasonr@gnu.org>
10196
10197 * font.c (Qfontp): Remove unused symbol.
10198 (QCantialias): New symbol.
10199 (syms_of_font): Define it.
10200 (font_property_table): Set a validator for QCantialias.
10201
10202 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
10203 Define if not already.
10204 (QCfamily): Share with xfaces.c.
10205 (Qstandard, Qsubpixel, Qnatural): New symbols.
10206 (syms_of_w32font): Define them. Don't define QCfamily here.
10207 (w32_antialias_type, lispy_antialias_type): New functions.
10208 (w32_enumfont_pattern_entity): New arg requested_font.
10209 Set antialias parameter if non-default was requested.
10210 (fill_in_logfont): Fill in lfQuality if :antialias specified.
10211
102122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10213
10214 * lread.c (read1): Undo the previous change.
10215
102162008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
10217
10218 * frame.c (Fdelete_frame): Call font_update_drivers only when
10219 USE_FONT_BACKEND is defined.
10220
102212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10222
10223 * font.h (struct font_bitmap): New member bits_per_pixel.
10224 (struct font_driver): New members start_for_frame and end_for_frame.
10225 (struct font_data_list): New struct.
10226 (font_put_frame_data, font_get_frame_data): Extern them.
10227
10228 * frame.h (struct frame): New member font_data_list.
10229
10230 * font.c (font_update_drivers): Call driver->start_for_frame and
10231 driver->end_for_frame at proper timings.
10232 (font_put_frame_data, font_get_frame_data): New functions.
10233 (Ffont_spec): Add usage in the docstring.
10234
10235 * frame.c (make_frame): Initialize f->font_data_list to NULL.
10236 (Fdelete_frame): Call font_update_drivers.
10237
10238 * xftfont.c (struct xftface_info): Delete the member xft_draw.
10239 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
10240 (xftfont_get_xft_draw): New function.
10241 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
10242 (xftfont_end_for_frame): New function.
10243 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
10244
10245 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
10246 Change argument. Cache GCs in the per-frame data.
10247 (struct ftxfont_frame_data): New struct.
10248 (ftxfont_draw_bitmap): New arg gc_fore and flush.
10249 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
10250 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
10251 (ftxfont_end_for_frame): New function.
10252 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
10253
10254 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
10255
102562008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * xselect.c (Vselection_coding_system)
10259 (Vnext_selection_coding_system): Delete them.
10260 (syms_of_xselect): Don't declare selection-coding-system and
10261 next-selection-coding-system. They are declared in select.el.
10262
102632008-02-01 Jason Rumney <jasonr@gnu.org>
10264
10265 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
10266
10267 * w32fns.c: Include imm.h.
10268 (get_composition_string_fn, get_ime_context_fn): New optional
10269 system functions.
10270 (globals_of_w32fns): Load them from imm32.dll.
10271 (ignore_ime_char): New flag.
10272 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
10273 WM_IME_ENDCOMPOSITION messages.
10274
10275 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
10276 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
10277
102782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10279
10280 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
10281 (READCHAR_REPORT_MULTIBYTE): New macro.
10282 (readchar): New 2nd arg MULTIBYTE.
10283 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
10284 Make symbol's name multibyte according to the multibyteness of the
10285 source.
10286
102872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10288
10289 * xfaces.c (face_for_overlay_string): Call lookup_face with
10290 correct arguments (fix of synching with the trunk).
10291
102922008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * font.c (font_prop_validate_symbol, font_prop_validate_style)
10295 (font_prop_validate_non_neg, font_prop_validate_spacing):
10296 Delete argument prop_index.
10297 (font_property_table): Change arguments to validater. Change Callers.
10298 (font_lispy_object): Delete.
10299 (font_at): Use font_find_object instead fo font_lispy_object.
10300
103012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10302
10303 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
10304 and file names.
10305
103062008-02-01 Jason Rumney <jasonr@gnu.org>
10307
10308 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
10309 (font_matches_spec): Remove debug output.
10310 (add_font_entity_to_list): Avoid using substituted fonts.
10311
103122008-02-01 Jason Rumney <jasonr@gnu.org>
10313
10314 * doc.c (Fsnarf_documentation):
10315 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
10316
103172008-02-01 Miles Bader <miles@gnu.org>
10318
10319 * dispextern.h (struct glyph_row): Only define "clip" field if
10320 HAVE_WINDOW_SYSTEM is defined.
10321
103222008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10323
10324 Fix up multi-tty merge.
10325
10326 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
10327 and indentation.
10328
10329 * xfaces.c (free_realized_face, clear_face_gcs):
10330 Include font_done_for_face in the input_blocked section, just in case.
10331
10332 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
10333 (get_char_face_and_encoding): Undo last change and remove the *other*
10334 duplicate definition (i.e. keep the one that's better scoped and that
10335 includes code for the font-backend).
10336
10337 * terminal.c (create_terminal): Default keyboard_coding to
10338 `no-conversion' and terminal_coding to `undecided'.
10339
10340 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
10341
10342 * fontset.c (free_realized_fontsets): Check that the table entry does
10343 contain a fontset before trying to compare it to `base'.
10344
10345 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
10346 syms_of_charset, and syms_of_coding earlier because init_window_once
10347 now needs Vcoding_system_hash_table to be setup.
10348
10349 * coding.h (default_buffer_file_coding): Remove.
10350
10351 * coding.c (default_buffer_file_coding): Remove.
10352 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
10353 than ->symbol, and use the terminal-local coding system.
10354 (syms_of_coding): Don't setup the coding-systems that are not
10355 terminal-local.
10356 (Fdefine_coding_system_internal): Use XCAR/XCDR.
10357
10358 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
10359 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
10360
10361 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
10362 in chartab.c and were re-added here by mistake.
10363 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
10364
10365 * doc.c (Fsnarf_documentation):
10366 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
10367 src to etc.
10368
10369 * ChangeLog.10: Add mistakenly removed entry.
10370
103712008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
10372
10373 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
10374
103752008-02-01 Miles Bader <miles@gnu.org>
10376
10377 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
10378 Add extra args to FACE_FOR_CHAR.
10379
103802008-02-01 Kenichi Handa <handa@m17n.org>
10381
10382 * keymap.c (where_is_internal_1): If key is a cons, store the copy
10383 in sequence.
10384
10385 * chartab.c (map_sub_char_table, map_char_table): If the range
10386 contains just one character, call the function with that character
10387 even if the depth is not 3.
10388
103892008-02-01 Jason Rumney <jasonr@gnu.org>
10390
10391 * w32font.c (w32font_text_extents): Calculate metrics for the
10392 whole string.
10393
103942008-02-01 Jason Rumney <jasonr@gnu.org>
10395
10396 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
10397
103982008-02-01 Jason Rumney <jasonr@gnu.org>
10399
10400 * w32term.c (x_set_glyph_string_clipping): Use
10401 get_glyph_string_clip_rects.
10402 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10403 Adjust for the change of struct glyph_string.
10404
10405 * w32font.c (w32font_draw): Do clipping here.
10406
104072008-02-01 Kenichi Handa <handa@m17n.org>
10408
10409 * xftfont.c (xftfont_draw): Adjust for the change of struct
10410 glyph_string.
10411
10412 * xterm.c (x_set_glyph_string_clipping): Use
10413 get_glyph_string_clip_rects.
10414 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10415 Adjust for the change of struct glyph_string.
10416
10417 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
10418 the resulting clip(s}.
10419 (expose_overlaps): Add arg r. Change callers. Set it to
10420 row->clip temporarily.
10421 (expose_window): Redraw rows overlapping the exposed area.
10422
10423 * dispextern.h (struct glyph_row): New member clip.
10424 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
10425 clip_height, new member clip, and num_clips.
10426
104272008-02-01 Kenichi Handa <handa@m17n.org>
10428
10429 * data.c (Fchar_or_string_p): Fix docstring.
10430
104312008-02-01 Kenichi Handa <handa@m17n.org>
10432
10433 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10434 create a temporary XftDraw object.
10435
104362008-02-01 Kenichi Handa <handa@m17n.org>
10437
10438 * font.c (Ffontp): Fix docstring.
10439
10440 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10441 strong evidence of ISO-2022.
10442
104432008-02-01 Kenichi Handa <handa@m17n.org>
10444
10445 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10446 SYNTAX_ENTRY_FOLLOW_PARENT.
10447
104482008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10449
10450 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10451 its type.
10452 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10453 Update to the new type of weak_hash_tables and next_weak.
10454
10455 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10456 a plain C pointer to Lisp_Hash_Table.
10457
10458 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10459 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10460 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10461 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10462 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10463 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10464 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10465 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10466 (GC_EQ): Remove since they've been identical to their non-GC_
10467 alter-egos ever since the markbit was eradicated.
10468
10469 * alloc.c:
10470 * buffer.c:
10471 * buffer.h:
10472 * data.c:
10473 * fileio.c:
10474 * filelock.c:
10475 * fns.c:
10476 * frame.h:
10477 * lisp.h:
10478 * macterm.c:
10479 * print.c:
10480 * process.c:
10481 * w32fns.c:
10482 * w32menu.c:
10483 * w32term.c:
10484 * xfns.c:
10485 * xmenu.c:
10486 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10487
104882008-02-01 Kenichi Handa <handa@m17n.org>
10489
10490 * chartab.c (map_sub_char_table): Make it work for the top-level
10491 char-table. Fix handling of parent char-table.
10492 (map_char_table): Adjust for the above change.
10493
104942008-02-01 Jason Rumney <jasonr@gnu.org>
10495
10496 * w32font.c (Qgdi): Rename from Qw32.
10497
104982008-02-01 Jason Rumney <jasonr@gnu.org>
10499
10500 * w32bdf.c (get_quoted_string): Make function static.
10501
105022008-02-01 Kenichi Handa <handa@m17n.org>
10503
10504 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10505 bigger ascent and descent than those of the font, use them as
10506 font's ascent and descent.
10507
105082008-02-01 Kenichi Handa <handa@m17n.org>
10509
10510 * Makefile.in (${lispsource}international/charprop.el): Move this
10511 target within "#ifdef HAVE_UNIDATA" and "#endif".
10512
105132008-02-01 Kenichi Handa <handa@m17n.org>
10514
10515 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10516 (shortlisp): Add ../lisp/language/tai-viet.el.
10517
105182008-02-01 Ulrich Mueller <ulm@gentoo.org>
10519
10520 * Makefile.in (${lispsource}international/charprop.el): Depend on
10521 temacs${EXEEXT}.
10522
105232008-02-01 Jason Rumney <jasonr@gnu.org>
10524
10525 * w32font.c (w32font_close): Delete the GDI font object.
10526
10527 * w32menu.c: Include character.h.
10528
10529 * w32proc.c: Likewise.
10530
10531 * w32select.c: Likewise.
10532
10533 * makefile.w32-in (w32proc.o): Depend on character.h.
10534
105352008-02-01 Jason Rumney <jasonr@gnu.org>
10536
10537 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10538
10539 * w32menu.c (syms_of_w32menu): Likewise.
10540
10541 * w32proc.c (syms_of_ntproc): Likewise.
10542
10543 * w32select.c (syms_of_w32select): Likewise.
10544
10545 * w32term.c (syms_of_w32term): Likewise.
10546
105472008-02-01 Jason Rumney <jasonr@gnu.org>
10548
10549 * w32font.c (w32font_draw): Delete brush after using it.
10550
105512008-02-01 Jason Rumney <jasonr@gnu.org>
10552
10553 * w32font.c (w32font_open): Don't set font_idx.
10554 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
10555 to font settings.
10556 (w32font_draw): Fill background explicitly.
10557
105582008-02-01 Jason Rumney <jasonr@gnu.org>
10559
10560 * w32term.c (w32_initialize): Don't call w32font_initialize.
10561
10562 * w32font.c (w32font_info): Remove subranges.
10563 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
10564 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
10565 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
10566 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
10567 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
10568 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
10569 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
10570 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
10571 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
10572 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
10573 New symbols.
10574 (font_callback_data): New struct.
10575 (w32font_list, w32font_match): Use it.
10576 (w32font_open): Don't populate subranges.
10577 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
10578 (w32font_encode_char): Always return unicode code-point as-is.
10579 (w32font_text_extents): Supply a transformation matrix to
10580 GetGlyphOutline. Never look up by glyph index. Avoid looping
10581 twice. Use unicode version of GetTexExtentPoint32 instead of
10582 glyph index version.
10583 (set_fonts_frame): Remove.
10584 (w32_enumfont_pattern_entity): Add frame parameter, use it to
10585 set frame parameter. Use backward compatible fake foundries.
10586 Save generic family in extra slot under QCfamily. Make width slot
10587 constant. Save QCspacing value. Save list of scripts instead of
10588 binary subranges.
10589 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
10590 (add_font_entity_to_list): Use font_callback_data struct. Filter
10591 unwanted fonts.
10592 (add_one_font_entity_to_list): Use font_callback_data struct.
10593 (w32_registry): Default to iso10646_1.
10594 (fill_in_logfont): Use dpi from extra slot. Don't bother with
10595 string font registries. Don't fill in font name if it is a generic
10596 family name, fill family instead. Use spacing, family and script
10597 extra info to fill pitch, family and charset fields.
10598 (list_all_matching_fonts): Use font_callback_data struct.
10599 (unicode_range_for_char): Remove.
10600 (font_supported_scripts): New function.
10601 (w32font_initialize): Remove.
10602 (syms_of_w32font): Update which symbols are defined.
10603
106042008-02-01 Jason Rumney <jasonr@gnu.org>
10605
10606 * font.c (font_pixel_size): Reverse assq_no_quit args.
10607
10608 * w32term.h (FONT_WIDTH): Report max width, not average.
10609 (FONT_MAX_WIDTH): Remove.
10610 (FONT_AVG_WIDTH): New macro.
10611
10612 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
10613 redefinition of FONT_WIDTH.
10614
10615 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
10616 (w32_cache_char_metrics): Use FONT_WIDTH.
10617
10618 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
10619
106202008-02-01 Jason Rumney <jasonr@gnu.org>
10621
10622 * w32font.c (w32font_open): Make lfHeight negative.
10623
10624 * w32fns.c (x_default_font_parameter): Use new style font name.
10625 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
10626
106272008-02-01 Jason Rumney <jasonr@gnu.org>
10628
10629 * w32font.c (QCsubranges): New symbol.
10630 (w32font_open, w32font_has_char): Get subranges from subproperty
10631 of extra.
10632 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
10633 (syms_of_w32font): Define :subranges symbol.
10634
10635 * font.c (font_put_extra): Expose externally.
10636
10637 * font.h (font_put_extra): Move declaration from font.c.
10638
10639 * font.c (Ffont_get): Use font driver to determine otf capability.
10640 (adjust_anchor): Check if driver defines anchor_point before using.
10641
10642 * w32font.c (w32font_open): Handle size, height and pixel_size better.
10643 (w32font_draw): Use options.
10644 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
10645 Fix detection of truetype fonts.
10646 (registry_to_w32_charset): Handle charsets other than iso8859-1
10647 expressed as lisp symbols.
10648 (w32_registry): Express charset as lisp symbol.
10649 (fill_in_logfont): Reverse pixel and point height logic.
10650 Don't set width here. Set quality to default.
10651
10652 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
10653 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
10654
10655 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10656 Remove redundant loop and allocation.
10657
10658 * makefile.w32-in (font.o, w32font.o): New objects.
10659 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
10660 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
10661
10662 * xdisp.c (fill_composite_glyph_string): Make the first arg to
10663 STORE_XCHARB a valid l-value.
10664
10665 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
10666 calculations for non-Truetype fonts.
10667 (x_draw_glyph_string): Sync with xterm.c.
10668 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10669 Remove redundant code.
10670 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
10671
10672 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
10673 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
10674
10675 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
10676 (x_to_w32_charset, w32_to_x_charset): Expose externally.
10677
10678 * w32font.c: New file for w32 font backend.
10679
106802008-02-01 Kenichi Handa <handa@m17n.org>
10681
10682 * term.c: Don't include "buffer.h" twice.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * character.c (Funibyte_string): New function.
10687 (syms_of_character): Defsubr it.
10688
106892008-02-01 Jason Rumney <jasonr@gnu.org>
10690
10691 * w32term.c [USE_FONT_BACKEND]:
10692 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
10693 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
10694 (x_draw_glyph_string, x_draw_glyph_string_foreground)
10695 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
10696 (x_free_frame_resources): Sync with xterm.c.
10697
106982008-02-01 Andreas Schwab <schwab@suse.de>
10699
10700 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
10701 char-table size.
10702
107032008-02-01 Kenichi Handa <handa@m17n.org>
10704
10705 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
10706
107072008-02-01 Kenichi Handa <handa@m17n.org>
10708
10709 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
10710 font_otf_gpos, add font_drive_otf.
10711
10712 * fontset.c (fontset_find_font): Pay attention to font size
10713 specified for a font.
10714 (reorder_font_vector): Check contents of font_def.
10715
10716 * font.c (struct otf_list): Delete it.
10717 (otf_list): Make it a lisp variable.
10718 (otf_open): Use lispy otf_list.
10719 (generate_otf_features): Rename from parse_gsub_gpos_spec.
10720 (check_otf_features): New function.
10721 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
10722 New functions.
10723 (font_drive_otf): New function merging font_otf_gsub and
10724 font_otf_gpos.
10725 (font_open_for_lface): New arg spec. Change argument order.
10726 (font_load_for_face): Adjust for the change of font_open_for_lface.
10727 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
10728 Ffont_otf_gpos.
10729 (syms_of_font): Staticpro otf_list. Delete defsubr of
10730 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
10731
10732 * xfaces.c (set_font_frame_param): Adjust for the change of
10733 font_open_for_lface.
10734
10735 * font.h (font_open_for_lface): Adjust prototype.
10736 (struct font_driver): Delete members otf_gsub and otf_gpos, add
10737 member otf_drive.
10738 (font_otf_gsub, font_otf_gpos): Delete externs.
10739 (font_drive_otf): Extern it.
10740
107412008-02-01 Kenichi Handa <handa@m17n.org>
10742
10743 * font.c (font_at): If the window W is not on a window system,
10744 return Qnil.
10745
10746 * coding.c (produce_chars, encode_coding): Don't call
10747 insert_from_gap if no characters to produce.
10748
107492008-02-01 Kenichi Handa <handa@m17n.org>
10750
10751 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
10752 Fclear_face_cache.
10753
10754 * xfaces.c (face_for_font): Check also face->font==font->font.font.
10755
107562008-02-01 Miles Bader <miles@gnu.org>
10757
10758 * emacs.c (main): Change default value of `enable_font_backend' to 1.
10759 Parse "--disable-font-backend" option.
10760 (standard_args): Add "--disable-font-backend" option.
10761
107622008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * fontset.c (fontset_find_font): New function.
10765 (fontset_font): Use fontset_find_font.
10766 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
10767 Register the specified font for all Latin characters.
10768 (new_fontset_from_font): Register the specified font for all Latin
10769 characters.
10770 (dump_fontset): For a realized fontset, include the base fontset
10771 name in the returned vector.
10772
107732008-02-01 Kenichi Handa <handa@m17n.org>
10774
10775 * character.h (CHAR_STRING): Cast C to unsigned on calling
10776 char_string.
10777
10778 * character.c (char_string): Type of arg C changed to unsigned.
10779 Signal an error if C is an invalid character code.
10780
10781 * editfns.c (general_insert_function, Fchar_to_string):
10782 Use CHARACTERP, not INTEGERP.
10783
107842008-02-01 Kenichi Handa <handa@m17n.org>
10785
10786 * character.h (MIN_MULTIBYTE_LEADING_CODE)
10787 (MAX_MULTIBYTE_LEADING_CODE): New macros.
10788
10789 * regex.c (analyse_first): Fix for multibyte characters in "case
10790 charset:" and "case categoryspec:".
10791
107922008-02-01 Andreas Schwab <schwab@suse.de>
10793
10794 * Makefile.in (LIBES): Move standard libraries to the end.
10795
107962008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
10799 nonzero, don't shrink the buffer nextb.
10800
10801 * buffer.h (struct buffer_text): New member inhibit_shrinking.
10802
10803 * coding.c (coding_alloc_by_making_gap): New arg offset.
10804 (alloc_destination): Call coding_alloc_by_making_gap with the arg
10805 offset.
10806 (decode_coding_iso_2022): Update coding->safe_charsets.
10807 (decode_coding_gap): Temporarily set
10808 current_buffer->text->inhibit_shrinking to 1.
10809
108102008-02-01 Kenichi Handa <handa@m17n.org>
10811
10812 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
10813 indexing into elements of s->cmp and s->char2b.
10814
108152008-02-01 Juanma Barranquero <lekktu@gmail.com>
10816
10817 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
10818
108192008-02-01 Kenichi Handa <handa@m17n.org>
10820
10821 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
10822 target_multibyte instead of multibyte.
10823 (re_match_2_internal): Call bcmp_translate with target_multibyte.
10824 (bcmp_translate): Change the argument name from multibyte to
10825 target_multibyte.
10826
108272008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 These changes are to compile a regexp into a pattern that can be
10830 used both for multibyte and unibyte targets.
10831
10832 * Makefile.in (search.o): Depend on charset.h.
10833
10834 * character.c (multibyte_char_to_unibyte_safe): New function.
10835
10836 * search.c: Include "charset.h".
10837 (compile_pattern_1): Delete argument multibyte. Don't set
10838 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
10839 (compile_pattern): Don't compare cp->buf.target_multibyte.
10840 Compare cp->buf.charset_unibyte.
10841 (compile_pattern): Set cp->buf.target_multibyte.
10842
10843 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
10844
10845 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
10846
10847 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
10848 multibyte. Change callers.
10849 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
10850 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
10851 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
10852 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
10853 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
10854 (regex_compile): Make the compiled pattern usable both for
10855 multibyte and unibyte targets.
10856 (analyse_first): Make the fastmap usable both for multibyte and
10857 unibyte targets.
10858 (TRANSLATE_VIA_MULTIBYTE): Delete.
10859 (re_match_2_internal): Pay attention to the case that the
10860 multibyteness of bufp and target may be different.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10865 empty box occupy at least one column width.
10866
108672008-02-01 Miles Bader <miles@gnu.org>
10868
10869 * Makefile.in: Remove redundant HAVE_XFT clause.
10870
108712008-02-01 Kenichi Handa <handa@m17n.org>
10872
10873 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10874
108752008-02-01 Kenichi Handa <handa@m17n.org>
10876
10877 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10878 being nil.
10879
108802008-02-01 Kenichi Handa <handa@m17n.org>
10881
10882 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * search.c (simple_search): Fix previous change.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * xftfont.c (ftfont_font_format): Extern declaration.
10895
10896 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10897
10898 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10899 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10900
10901 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10902 (ftfont_font_format): Fix previous change.
10903
10904 * font.h (Ffont_xlfd_name): EXFUN it.
10905
10906 * font.c (font_parse_xlfd): Fix the array size of `f'.
10907 (register_font_driver): Use EQ to compare driver->type.
10908
10909 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10910 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10911 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10912
109132008-02-01 Kenichi Handa <handa@m17n.org>
10914
10915 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10916 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10917
109182008-02-01 Kenichi Handa <handa@m17n.org>
10919
10920 * xfont.c (xfont_open): Set font->format.
10921
10922 * xftfont.c (xftfont_open): Set font->format.
10923
10924 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10925 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10926 (ftfont_open): Set font->format.
10927 (ftfont_font_format): New function.
10928
10929 * font.h (struct font): New member format.
10930
10931 * font.c (Qopentype): New variable.
10932 (syms_of_font): Defsym it.
10933 (Fquery_font): Change the format of the last element of the return
10934 value.
10935
109362008-02-01 Kenichi Handa <handa@m17n.org>
10937
10938 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10939 last resort.
10940
109412008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * coding.c (detect_coding_charset): Fix detection of multi-byte
10944 charset.
10945
109462008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10947
10948 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10949
109502008-02-01 Kenichi Handa <handa@m17n.org>
10951
10952 * xdisp.c (get_next_display_element): Set it->face_id for the
10953 first component of a composition.
10954 (x_produce_glyphs): Check if the font is changed or not for composition.
10955
109562008-02-01 Kenichi Handa <handa@m17n.org>
10957
10958 * fontset.c (Qlatin): New variable.
10959 (syms_of_fontset): Define it as a lisp symbol.
10960 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10961
109622008-02-01 Kenichi Handa <handa@m17n.org>
10963
10964 * font.c (font_unparse_fcname): Pay attention to the case that
10965 some of font property is a null string.
10966
109672008-02-01 Kenichi Handa <handa@m17n.org>
10968
10969 * term.c: Include "composite.h".
10970 (encode_terminal_code): Output all components of composition.
10971 Check the size of encode_terminal_src.
10972 (produce_glyphs): For composition, call produce_composite_glyph.
10973 (append_composite_glyph, produce_composite_glyph): New functions.
10974
10975 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10976 is not found, get font_info from the current ascii face.
10977
109782008-02-01 Kenichi Handa <handa@m17n.org>
10979
10980 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10981 buffer-file-name to Qnil before calling insert_from_buffer.
10982
10983 * font.c (font_unparse_fcname): Pay attention to the case that
10984 foundry is a null string.
10985
109862008-02-01 Kenichi Handa <handa@m17n.org>
10987
10988 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10989
10990 * font.c (Qunicode_sip): New variable.
10991 (syms_of_font): Declare it as a Lisp symbol.
10992
10993 * font.h (Qunicode_sip): Extern it.
10994
109952008-02-01 Kenichi Handa <handa@m17n.org>
10996
10997 * composite.c (get_composition_id): Pay attention to TAB component.
10998
10999 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
11000 TAB. Adjust for the change of s->char2b which always points to
11001 the first element of allocated memory.
11002
11003 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
11004
11005 * xdisp.c (handle_composition_prop): Set it->c to the first
11006 non-TAB component.
11007 (fill_composite_glyph_string): Change argument.
11008 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
11009 (x_produce_glyphs): Fix handling of left/right padding.
11010
110112008-02-01 Kenichi Handa <handa@m17n.org>
11012
11013 * coding.c (detect_coding_system): Fix for handling off
11014 inhibit_iso_escape_detection. Fix for the case that no coding
11015 system is defined for a specific coding category.
11016
110172008-02-01 Kenichi Handa <handa@m17n.org>
11018
11019 * font.c (font_matching_entity): Delete unused local var.
11020
11021 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
11022 opening a font.
11023
11024 * fileio.c (Finsert_file_contents): On recovering a file, assume
11025 Unix-like eol.
11026 (choose_write_coding_system): On auto-saving a file, force
11027 Unix-like eol.
11028
11029 * coding.c (setup_coding_system): Fix setting of
11030 coding->common_flags based on eol_type.
11031 (coding_inherit_eol_type): If PARENT is not nil, be sure to
11032 inherit from it.
11033
110342008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * alloc.c (NSTATICS): Increas to 0x600.
11037
110382008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
11041 (ftfont_list): Don't check :name property.
11042 (ftfont_match): New function.
11043 (ftfont_pattern_entity): If the pattern doesn't contain
11044 FC_SPACING, don't assume FC_MONO.
11045
11046 * font.h (struct font_driver): New member `match'.
11047 (font_update_drivers): Adjust prototype.
11048
11049 * font.c (font_parse_fcname, font_parse_name): Don't change :name
11050 property of FONT.
11051 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
11052 them unconditionally.
11053 (font_matching_entity): New function.
11054 (font_open_by_name): Try font_matching_entity if exact match is
11055 not found.
11056 (font_update_drivers): Delete the arg FONT. Return a list of
11057 actually used backends. Don't free faces, font caches here.
11058 Don't store data in frame parameters. Don't call x_set_font.
11059 (Ffont_spec): Store :name property as is.
11060 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
11061 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
11062 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
11063 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
11064 Call font->driver->otf_gsub instead of font_otf_gsub.
11065
11066 * frame.c (x_set_font_backend): Do more works that were done in
11067 font_update_drivers before.
11068
11069 * xfont.c (xfont_match): New function.
11070 (xfont_driver): Set xfont_driver.match to xfont_match.
11071 (xfont_draw): Set font in GC if necessary.
11072
11073 * ftxfont.c (ftxfont_match): New function.
11074 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
11075
11076 * xftfont.c (xftfont_match): New function.
11077 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
11078
110792008-02-01 Kenichi Handa <handa@m17n.org>
11080
11081 * font.h (struct font): New member scalable.
11082 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
11083 (font_otf_gsub): Adjust prototype.
11084
11085 * font.c (font_otf_capability): Fix handling of the default langsys.
11086 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
11087 Check the contents of SPEC.
11088 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
11089 (check_gstring): New function.
11090 (REPLACEMENT_CHARACTER): New macro.
11091 (font_otf_gsub): New arg alternate_subst. Be sure to set all
11092 glyph codes of GSTRING.
11093 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
11094 (font_prepare_composition): Set cmp->glyph_len.
11095 (font_open_entity): Set font->scalable.
11096 (Ffont_get): Handle :otf property.
11097 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
11098 functions.
11099 (Fquery_font): Use font->font.full_name.
11100 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
11101 Sfont_otf_alternates.
11102
11103 * ftfont.c (ftfont_open): Set font->font.full_name and
11104 font->font.name properly. Fix calculation of font->font.height
11105 and font->min_width.
11106
11107 * ftxfont.c (ftxfont_create_gcs): New function.
11108 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
11109 (ftxfont_draw_backgrond): Fix filling region.
11110 (ftxfont_default_fid): New function.
11111 (ftxfont_open): Set xfont->fid to the return value of
11112 ftxfont_default_fid.
11113 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
11114 (ftxfont_done_face): Free only GCs that are created by
11115 ftxfont_create_gcs.
11116 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
11117
11118 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
11119 Clip to src->width, etc (not src->clip_XXX).
11120
11121 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
11122 FontBackend frame parameter.
11123
111242008-02-01 Kenichi Handa <handa@m17n.org>
11125
11126 * font.h (struct font_driver_list): New member `on'.
11127 (Fclear_font_cache): EXFUN it.
11128 (font_update_drivers): Extern it.
11129
11130 * font.c (font_unparse_fcname): Fix typo (swidth->width).
11131 (font_list_entities): Check driver_list->on.
11132 (register_font_driver): Initalize `on' member to 0.
11133 (font_update_drivers): New function.
11134 (Fclear_font_cache): Check driver_list->on.
11135
11136 * frame.h (Qfont_backend): Extern it.
11137 (x_set_font_backend): Extern it.
11138
11139 * frame.c (Qfont_backend): New variable.
11140 (frame_parms): New element for font-backend.
11141 (x_set_font_backend): New function.
11142
11143 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
11144 FontBackend frame parameter.
11145 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
11146 x_set_font_backend.
11147
11148 * xfont.c (xfont_list): Don't try listing by :name property if the
11149 name is not for XLFD.
11150
111512008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
11154 (LGLYPH_SET_TO): New macros.
11155 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
11156 element of G is vector or not.
11157 (font_at): Extern it.
11158
11159 * font.c: Include window.h.
11160 (font_lispy_object): New function.
11161 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
11162 end of valid glyph.
11163 (font_close_object): Fix getting (struct font *).
11164 (font_at): New function.
11165 (Ffont_get): If FONT is a font-object, get entity from it.
11166 (Ffont_make_gstring): Initialize elements of glyphs with nil.
11167 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
11168 range check.
11169 (Ffont_at): New function.
11170 (syms_of_font): Defsubr Sfont_at.
11171
11172 * xdisp.c (it_props): Move the entry for Qauto_composed to just
11173 before the entry for Qcomposition.
11174 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
11175 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
11176 the font in gstring.
11177 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
11178 LGLYPH_FORM (g) to detect the end of valid glyph.
11179 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
11180 we are composing with gstring.
11181
11182 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
11183 Check if adjustment is vector or not.
11184
11185 * Makefile.in (font.o): Make it depends on window.h.
11186
111872008-02-01 Kenichi Handa <handa@m17n.org>
11188
11189 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
11190 adjustment is vector or not.
11191
111922008-02-01 Miles Bader <miles@gnu.org>
11193
11194 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
11195
111962008-02-01 Kenichi Handa <handa@m17n.org>
11197
11198 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
11199 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
11200 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
11201
11202 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
11203 (DEVICE_DELTA): Fix typo.
11204 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
11205 LGLYPH format.
11206
11207 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11208 the change of LGLYPH format.
11209
112102008-02-01 Kenichi Handa <handa@m17n.org>
11211
11212 * ftfont.c (ftfont_list): Fix typo.
11213 (ftfont_build_basic_charsets): Don't include letters with diacritics.
11214
112152008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11216
11217 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
11218
11219 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
11220 xftface_info is non-NULL.
11221
112222008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11223
11224 * ftfont.c (ftfont_list): Move misplaced #endif.
11225
112262008-02-01 Kenichi Handa <handa@m17n.org>
11227
11228 * ftfont.c (ftfont_list): Pay attention to the case that
11229 FC_CAPABILITY is not defined.
11230
112312008-02-01 Kenichi Handa <handa@m17n.org>
11232
11233 * xftfont.c (xftfont_open): Set charset related members to -1.
11234
11235 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
11236 QCname.
11237 (ftfont_open): Set charset related members to -1.
11238
11239 * fontset.c (Votf_script_alist): New variable.
11240 (syms_of_fontset): Initialize it.
11241 (fontset_font): Delete unused variable.
11242
11243 * fontset.h (Votf_script_alist): Extern it.
11244
11245 * font.c (font_find_for_lface): Optimize code.
11246
11247 * font.h (font_close_object, font_merge_old_spec): Extern them.
11248
112492008-02-01 Kenichi Handa <handa@m17n.org>
11250
11251 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
11252 (syms_of_font): Initialize them.
11253 (font_pixel_size): Allow float value in dpi.
11254 (font_prop_validate_type): Delete.
11255 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
11256 Change caller.
11257 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
11258 (font_prop_validate_extra): Delete.
11259 (font_prop_validate_spacing): New function.
11260 (font_property_table): Add elements for all known properties.
11261 (get_font_prop_index): Rename from check_font_prop_name. New
11262 argument FROM. Change caller.
11263 (font_prop_validate): Validate all known properties.
11264 (font_put_extra): Delete argument force. Change caller.
11265 (font_expand_wildcards): Make it static. Fix the way of shrinking
11266 the possible range.
11267 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
11268 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
11269 Change caller.
11270 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
11271 (font_parse_fcname): Delete argument merge. Fix parsing of point
11272 size. Don't validate properties values here. Change caller.
11273 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
11274 (font_open_by_name): Delete unused variable.
11275 (Ffont_spec): Likewise. Validate property values.
11276 (Ffont_match_p): New function.
11277
11278 * font.h (QCscalable): Extern it.
11279 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
11280
11281 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
11282
11283 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
11284 (xfont_list_pattern): New function.
11285 (xfont_list): Use xfont_list_pattern.
11286
112872008-02-01 Kenichi Handa <handa@m17n.org>
11288
11289 * font.h (Flist_fonts): EXFUN it.
11290
112912008-02-01 Jason Rumney <jasonr@gnu.org>
11292
11293 * w32term.c (w32_initialize): Add back smoothing_type and
11294 smoothing_enabled definitions.
11295
112962008-02-01 Kenichi Handa <handa@m17n.org>
11297
11298 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
11299 s->face->font on determining underline position.
11300
113012008-02-01 Kenichi Handa <handa@m17n.org>
11302
11303 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
11304 (font_has_char): Accept font-object too.
11305 (font_find_for_lface): Try at first with a size specified in face.
11306
113072008-02-01 Kenichi Handa <handa@m17n.org>
11308
11309 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
11310 font_open_by_name.
11311
113122008-02-01 Kenichi Handa <handa@m17n.org>
11313
11314 * font.h (QCspacing, QCdpi): Extern them.
11315 (enum font_spacing): New enum.
11316 (FONT_PIXEL_SIZE_QUANTUM): New macro.
11317
11318 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
11319 (QCspacing, QCdpi): New variables.
11320 (syms_of_font): Initialize them.
11321 (font_pixel_size): New function.
11322 (font_put_extra): New function.
11323 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
11324 in FONT_EXTRA.
11325 (font_parse_fcname): Handle enumerated values (e.g. bold).
11326 Fix handling font size. Add QCname property that contains only
11327 unknown properties.
11328 (font_score): Change argument. Change caller. Pay attention to
11329 FONT_PIXEL_SIZE_QUANTUM.
11330 (font_sort_entites, font_list_entities, font_find_for_lface)
11331 (font_open_for_lface, font_open_by_name): Fix handling of font size.
11332 (Ffont_spec): Add QCname property that contains only unknown properties.
11333
11334 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
11335 include weight in listing pattern, instead check weight of each
11336 listed font. Don't include scalable in pattern. Pay attention to
11337 FONT_PIXEL_SIZE_QUANTUM.
11338
113392008-02-01 Kenichi Handa <handa@m17n.org>
11340
11341 * font.c (font_parse_fcname): Fix parsing of point-size.
11342 (font_unparse_fcname): Produce symbolic names for style properties.
11343 (font_list_entities): Handle float size correctly.
11344 (font_open_by_name): Prefer `normal' property values if the name
11345 doesn't specify them.
11346
11347 * fontset.c (Finternal_char_font): Use font_get_name, not
11348 Ffont_xlfd_name.
11349
11350 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
11351 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
11352 pattern. Don't force scalable.
11353
11354 * xftfont.c (xftfont_open): For generating a name, start from
11355 96-byte buffer.
11356
113572008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11358
11359 * frame.h (x_new_fontset2): Fix prototype.
11360
113612008-02-01 Kenichi Handa <handa@m17n.org>
11362
11363 * font.h (struct font_driver): Delete member parse_name.
11364 (font_match_p, font_get_spec, font_parse_fcname)
11365 (font_unparse_fcname): Extern them.
11366 (font_get_name): Adjust prototype.
11367
11368 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
11369 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
11370 (font_expand_wildcards): Fix handling ENCODING field. Avoid
11371 unnecessary checks for weight, slant, and swidth.
11372 (font_parse_fcname): New function.
11373 (font_unparse_fcname): New function.
11374 (font_parse_name): New function.
11375 (font_match_p): New function.
11376 (font_get_name): Change return value to Lisp string.
11377 (font_get_spec): New function.
11378 (Qunspecified, Qignore_defface): Don't extern them.
11379 (font_find_for_lface): Assume that LFACE is fully specified.
11380 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
11381 object, use it for FACE.
11382 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
11383 driver->parse_name.
11384 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
11385
11386 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
11387 prototype.
11388
11389 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
11390 argument F. Don't call Fnew_fontset. Instead, directly call
11391 make_fontset.
11392
11393 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
11394
11395 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
11396 of x_new_fontset2.
11397
11398 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
11399 (Qsans__serif): New variables.
11400 (ftfont_generic_family_list): New variable.
11401 (syms_of_ftfont): Initialize the above variables.
11402 (ftfont_pattern_entity): Delete argument NAME.
11403 (ftfont_list_generic_family): New function.
11404 (ftfont_parse_name): Delete this function.
11405 (ftfont_list): Try generic family only when FcFontList found no font.
11406 (ftfont_list_family): Fix args to FcObjectSetBuild.
11407
11408 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
11409 object in attrs[LFACE_FONT_INDEX].
11410 (set_lface_from_font_name): Cancel all changes for font-backend.
11411 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
11412 function.
11413 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
11414 font object in QCfont attribute.
11415 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
11416 (realize_default_face) [USE_FONT_BACKEND]: Call
11417 set_lface_from_font_and_fontset.
11418
11419 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
11420 "fixed", and signal error here if no suitable font was found.
11421
11422 * xfont.c (xfont_parse_name): Delete this function.
11423
11424 * xftfont.c (xftfont_open): Change coding style of error
11425 handling. Generate fontconfig's fontname pattern.
11426
11427 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
11428 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
11429
11430 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
11431 Both args FONTSET and FONT_OBJECT must be existing ones.
11432
114332008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11434
11435 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
11436
114372008-02-01 Kenichi Handa <handa@m17n.org>
11438
11439 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11440
11441 * font.h (struct font): Fix typo.
11442
11443 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11444 XLFD_XXX_INDEX.
11445 (enum xlfd_field_mask): New enum.
11446 (intern_font_field): Changed argument. Change caller. If digits
11447 are followed by non-digits, return a symbol.
11448 (font_expand_wildcards): New function.
11449 (font_parse_xlfd): Fix wildcard handling.
11450 (Ffont_spec): If :name is specified, reflect the info in the other
11451 properties.
11452
11453 * ftfont.c (ftfont_pattern_entity): Fix typo.
11454 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11455 locale.
11456
114572008-02-01 Kenichi Handa <handa@m17n.org>
11458
11459 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11460
11461 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11462 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11463 registry doesn't specify encoding part.
11464 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11465 (font_open_by_name): At first try parsing the name.
11466 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11467 as Lisp symbols.
11468
11469 * fontset.c (reorder_font_vector): Pay attention to the case that
11470 the 3rd element of font_def is nil.
11471 (fontset_font): For the default fontset, append one more fontset
11472 elements for a script-based font specification. Don't add script
11473 attribute on finding a font.
11474 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11475 font name.
11476 (fontset_ascii_font): If a font can't be opened, return nil.
11477
11478 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11479 (ftfont_pattern_entity): New function.
11480 (ftfont_get_cache): Assume that freetype_font_cache is already
11481 initialized.
11482 (ftfont_list): Handle the case that a file is specified in font
11483 name. Use ftfont_pattern_entity to generate entities.
11484 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11485 (syms_of_ftfont): Initialize freetype_font_cache.
11486
11487 * xftfont.c (xftfont_open): Make the font name fontconfig's
11488 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11489 (xftfont_close): Free font->font.name if not NULL.
11490
11491 * xfont.c (xfont_list): If script is specified for a font, return
11492 null_vector.
11493 (xfont_list_family): Declare argument type.
11494
11495 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11496 name, set LFACE_FONT (lface) to nil.
11497
11498 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11499 return Qnil.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11504 (standard_args): Add "-enable-font-backend".
11505
115062008-02-01 Kenichi Handa <handa@m17n.org>
11507
11508 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11509 (struct xftdraw_list, xftdraw_list): Delete them.
11510 (register_xftdraw, check_xftdraw): Delete them.
11511 (xftfont_prepare_face): Don't call register_xftdraw.
11512 (xftfont_done_face): Don't call check_xftdraw.
11513 (xftfont_draw): Get background color only when with_background is
11514 nonzero.
11515
11516 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11517
115182008-02-01 Kenichi Handa <handa@m17n.org>
11519
11520 These changes are for the new font handling codes.
11521
11522 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11523 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11524 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11525 (FONTSRC, FONTOBJ): New variables.
11526 (obj): Add $(FONTOBJ).
11527 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11528 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11529 @LIBOTF_LIBS@.
11530 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11531 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11532
11533 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11534
11535 * character.h (Vscript_representative_chars): Extern it.
11536
11537 * character.c (Vscript_representative_chars): New variable.
11538 (syms_of_character): Declare it as a Lisp variable.
11539
11540 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
11541 enable_font_backend is nonzero, accept the composition method
11542 COMPOSITION_WITH_GLYPH_STRING.
11543
11544 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
11545 enumeration COMPOSITION_WITH_GLYPH_STRING.
11546
11547 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
11548 members clip_x, clip_y, clip_width, and clip_height.
11549 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
11550
11551 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
11552 --enable-font-backend. Call syms_of_font.
11553
11554 * fns.c (assoc_no_quit): New function.
11555
11556 * fontset.h (FONT_INFO_FROM_FACE): New macro.
11557 (face_for_font, new_fontset_from_font)
11558 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
11559
11560 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
11561 (fontset_font, fontset_ascii, face_for_char)
11562 (make_fontset_for_ascii_face, Ffont_info)
11563 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
11564 is nonzero, use font-backend mechanism.
11565 (find_font_encoding): Make it non-static.
11566 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
11567 New functions.
11568
11569 * frame.h (struct frame): New members resx and resy.
11570 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
11571 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
11572
11573 * frame.c [USE_FONT_BACKEND]: Include "font.h".
11574 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
11575
11576 * lisp.h (assoc_no_quit): Extern it.
11577
11578 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
11579 Through out the file, use FONT_INFO_FROM_FACE instead of
11580 FONT_INFO_FROM_ID, use get_per_char_metric instead of
11581 rif->per_char_metric.
11582 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
11583 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
11584 (get_glyph_face_and_encoding, fill_composite_glyph_string)
11585 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11586 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
11587 nonzero, use font-backend mechanism.
11588 (get_per_char_metric): New function.
11589
11590 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
11591 (set_lface_from_font_name)
11592 (set_font_frame_param, free_realized_face)
11593 (prepare_face_for_display, clear_face_gcs)
11594 (Finternal_set_font_selection_order, realize_x_face)
11595 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
11596 font-backend mechanism.
11597 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
11598 (load_face_font) [USE_FONT_BACKEND]: Abort.
11599 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
11600 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
11601
11602 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
11603 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
11604 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
11605 nonzero, register all available font drivers. Call
11606 x_default_font_parameter for deciding a font.
11607 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
11608
11609 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
11610 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
11611 (x_set_glyph_string_clipping_exactly)
11612 (x_compute_glyph_string_overhangs)
11613 (x_draw_glyph_string_foreground)
11614 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
11615 (x_free_frame_resources) [USE_FONT_BACKEND]: If
11616 enable_font_backend is nonzero, use font-backend mechanism.
11617 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
11618
116192008-02-01 Kenichi Handa <handa@m17n.org>
11620
11621 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
11622 system_eol_type.
11623 (syms_of_coding): Initialize system_eol_type.
11624
11625 * process.c (Fset_process_coding_system): Inherit system's eol
11626 format if necessary.
11627
116282008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11629
11630 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
11631
116322008-02-01 Kenichi Handa <handa@m17n.org>
11633
11634 * coding.c (decode_eol): Pay attention to buffer relocation in
11635 del_range_2.
11636 (decode_coding): Call decode_eol before restoring undo_list.
11637
116382008-02-01 Kenichi Handa <handa@m17n.org>
11639
11640 * charset.c (Fdefine_charset_internal): Fix setting of
11641 emacs_mule_bytes.
11642
116432008-02-01 Kenichi Handa <handa@m17n.org>
11644
11645 * keyboard.c (read_char): Check if C is a character or not before
11646 looking up Vkeyboard_translate_table.
11647
116482008-02-01 Kenichi Handa <handa@m17n.org>
11649
11650 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
11651 condition to terminate the loop.
11652
116532008-02-01 Kenichi Handa <handa@m17n.org>
11654
11655 * coding.c (produce_composition): Compare charbuf[i] instead of
11656 args[i] against 0.
11657 (Fterminal_coding_system): Use EQ to compare Lisp objects.
11658
116592008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
11662 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
11663 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
11664 detect_coding.
11665 (emacs_mule_char): Handle old style (Emacs 20) component character
11666 of a composition.
11667 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
11668 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
11669 composition rule.
11670 (decode_coding_emacs_mule): Handle invalid bytes correctly.
11671
116722008-02-01 Kenichi Handa <handa@m17n.org>
11673
11674 * coding.c (encode_coding_ccl): Allocate destination dynamically
11675 when necessary.
11676
116772008-02-01 Kenichi Handa <handa@m17n.org>
11678
11679 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
11680 the loop. When quitted, show a proper error message.
11681
116822008-02-01 Kenichi Handa <handa@m17n.org>
11683
11684 * xterm.c (x_set_glyph_string_clipping_exactly): Set
11685 src->clip_head and src->clip_tail temporarily instead of src->hl.
11686
11687 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
11688 character sequence.
11689 (Fccl_execute_on_string): Use ASET, not XSET.
11690
116912008-02-01 Kenichi Handa <handa@m17n.org>
11692
11693 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
11694
116952008-02-01 Kenichi Handa <handa@m17n.org>
11696
11697 * coding.c (decode_coding): Fix the condition of terminating the
11698 decoding loop.
11699
117002008-02-01 Kenichi Handa <handa@m17n.org>
11701
11702 * data.c (Faset): On setting a character bigger than 255 in a
11703 unibyte string, signal an error instead of make the string multibyte.
11704
117052008-02-01 Kenichi Handa <handa@m17n.org>
11706
11707 * charset.c (map_charset_chars): Fix for ascii-compatible charset
11708 made by a mapping table.
11709
117102008-02-01 Kenichi Handa <handa@m17n.org>
11711
11712 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
11713 not.
11714 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
11715 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
11716
11717 * xterm.c (x_draw_composite_glyph_string_foreground): Check
11718 s->face is NULL or not.
11719
117202008-02-01 Kenichi Handa <handa@m17n.org>
11721
11722 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
11723 (x_draw_glyph_string): Fix drawing of right_overhang and
11724 left_overhang around/on cursor.
11725
11726 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
11727
117282008-02-01 Kenichi Handa <handa@m17n.org>
11729
11730 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
11731
117322008-02-01 Kenichi Handa <handa@m17n.org>
11733
11734 * coding.c (Fdefine_coding_system_internal)
11735 (Fdefine_coding_system_alias): Avoid a duplicated element in
11736 Vcoding_system_alist.
11737
117382008-02-01 Kenichi Handa <handa@m17n.org>
11739
11740 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
11741
11742 * coding.c (Qcoding_system_define_form): New variable.
11743 (syms_of_coding): Intern and staticpro it.
11744 (Fcoding_system_p): Check Qcoding_system_define_form.
11745 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
11746
11747 * coding.h (CODING_SYSTEM_P): If ID is not available, call
11748 Fcoding_system_p.
11749 (CHECK_CODING_SYSTEM): If ID is not available, call
11750 Fcheck_coding_system.
11751 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
11752 Try also Fcheck_coding_system.
11753
117542008-02-01 Kenichi Handa <handa@m17n.org>
11755
11756 * coding.c (code_conversion_restore): GCPRO arg.
11757
117582008-02-01 Kenichi Handa <handa@m17n.org>
11759
11760 * character.c (lisp_string_width): Check multibyteness of STRING.
11761
117622008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11763
11764 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
11765 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
11766 (decode_mac_font_name): Use decode_coding_c_string instead of
11767 decode_coding.
11768 (x_load_font): Initialize fontp->fontset to -1. Set
11769 fontp->encoding_type.
11770
117712008-02-01 Kenichi Handa <handa@m17n.org>
11772
11773 * search.c (search_buffer): Give up BM search on case-fold-search
11774 if one of a target character has a case-equivalence of different
11775 byte length even if that target charcter is an ASCII.
11776 (simple_search): Fix calculation of byte length of matched text.
11777 (boyer_moore): Fix handling of case-equivalent multibyte characters.
11778
117792008-02-01 Kenichi Handa <handa@m17n.org>
11780
11781 * coding.c (decode_coding): Fix handling of invalid bytes.
11782
117832008-02-01 Kenichi Handa <handa@m17n.org>
11784
11785 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
11786 Unicode characters.
11787
117882008-02-01 Kenichi Handa <handa@m17n.org>
11789
11790 * coding.c (encode_coding_object): If a pre-write-conversion
11791 function makes a new buffer, kill it.
11792
117932008-02-01 Kenichi Handa <handa@m17n.org>
11794
11795 * coding.c (QCascii_compatible_p): New variable.
11796 (syms_of_coding): Initialize it.
11797 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
11798 calling string_char.
11799 (record_conversion_result): Add `default:' case.
11800 (coding_charset_list): Delete unused variable `coding_type'.
11801 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
11802 property in the plist of the coding system.
11803 (Fcoding_system_put): Check QCascii_compatible_p.
11804
118052008-02-01 Miles Bader <miles@gnu.org>
11806
11807 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
11808 removed calculation of frame `f', as it's now used.
11809
118102008-02-01 Kenichi Handa <handa@m17n.org>
11811
11812 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
11813 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
11814 (UNIDATA): New variable.
11815 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
11816 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
11817 $(RUN_TEMACS) unconditionally.
11818
118192008-02-01 Kenichi Handa <handa@m17n.org>
11820
11821 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
11822 (admindir): New variable.
11823 ($(lispsource)international/charprop.el): New target.
11824
118252008-02-01 Miles Bader <miles@gnu.org>
11826
11827 * character.c (chars-in-region): Remove obsolete function.
11828 (syms_of_character): Remove its initialization.
11829
118302008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
11831
11832 * w32select.c (validate_coding_system)
11833 (setup_windows_coding_system): New functions.
11834 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
11835 setup_windows_coding_system.
11836 (setup_config, Fw32_get_clipboard_data): Use
11837 validate_coding_system.
11838 (Fx_selection_exists): Move call to setup_config to a place
11839 where signals are allowed.
11840
11841 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
11842 (Fcheck_coding_system): Add declarations.
11843
118442008-02-01 Kenichi Handa <handa@m17n.org>
11845
11846 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
11847
118482008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11849
11850 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
11851 string as the second argument for x_new_fontset.
11852
118532008-02-01 Kenichi Handa <handa@m17n.org>
11854
11855 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
11856 (encode_coding_object): Use safe_call instead of call2.
11857
118582008-02-01 Kenichi Handa <handa@m17n.org>
11859
11860 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11861
11862 * Makefile.in (lisp): Include charprop.el.
11863
118642008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11865
11866 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11867 Not sure if it's unnecessary.
11868
118692008-02-01 Steven Tamm <steventamm@mac.com>
11870
11871 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11872 some possibly unnecessary fontset checking code that crashed
11873 when creating a new frame.
11874
118752008-02-01 Kenichi Handa <handa@m17n.org>
11876
11877 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11878 lookup_face.
11879
11880 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11881
11882 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11883
118842008-02-01 Kenichi Handa <handa@m17n.org>
11885
11886 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11887 (coding_charset_list): New function.
11888
11889 * coding.h (coding_charset_list): Extern it.
11890
118912008-02-01 Kenichi Handa <handa@m17n.org>
11892
11893 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11894 concatenation of family and registry.
11895
118962008-02-01 Kenichi Handa <handa@m17n.org>
11897
11898 * character.h (BYTE8_STRING): Fix typo.
11899
11900 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11901 string to multibyte (sync to HEAD).
11902
11903 * casefiddle.c (casify_region): Handle changes in byte-length
11904 using replace_range_2 (sync to HEAD).
11905
119062008-02-01 Andreas Schwab <schwab@suse.de>
11907
11908 * chartab.c (map_char_table): GCPRO table and arg.
11909
119102008-02-01 Kenichi Handa <handa@m17n.org>
11911
11912 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11913 already at limit.
11914
119152008-02-01 Kenichi Handa <handa@m17n.org>
11916
11917 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11918 instead of fast_c_string_match_ignore_case.
11919 (find_font_encoding): Change argument to Lisp_Object. Use
11920 fast_string_match_ignore_case instead of
11921 fast_c_string_match_ignore_case. Change caller.
11922
119232008-02-01 Kenichi Handa <handa@m17n.org>
11924
11925 * xdisp.c (get_next_display_element): In unibyte case, decide to
11926 display in octal form by checking a character by
11927 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11928
11929 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11930
11931 * character.c (unibyte_has_multibyte_table): New variable.
11932
11933 * character.h (unibyte_has_multibyte_table): Extern it.
11934 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11935
119362008-02-01 Kenichi Handa <handa@m17n.org>
11937
11938 * coding.c (encode_coding_iso_2022): Fix handling of charset
11939 annotation.
11940
119412008-02-01 Kenichi Handa <handa@m17n.org>
11942
11943 * coding.c (setup_coding_system): If coding_system is nil, use
11944 Qundecided.
11945 (Fterminal_coding_system): Return nil if terminal coding system is
11946 `undecided'.
11947 (syms_of_coding): Define coding-system `undecided' here. Setup
11948 terminal_coding as `undecided'.
11949
119502008-02-01 Kenichi Handa <handa@m17n.org>
11951
11952 * xdisp.c (message_dolog, set_message_1): Call
11953 unibyte_char_to_multibyte with arg type int.
11954
11955 * lread.c (read1): Fix reading of a char-table.
11956
11957 * print.c (print_object): Include sub char-table in circularities
11958 detection.
11959
119602008-02-01 Kenichi Handa <handa@m17n.org>
11961
11962 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11963 Append the found sequences in car of ARGS instead of prepending.
11964
119652008-02-01 Kenichi Handa <handa@m17n.org>
11966
11967 * fileio.c (report_file_error): Make a unibyte string from
11968 strerror (errorno).
11969 (Fsubstitute_in_file_name): Fix the arg to
11970 unibyte_char_to_multibyte. It is evaluated twice.
11971
119722008-02-01 Kenichi Handa <handa@m17n.org>
11973
11974 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11975
119762008-02-01 Kenichi Handa <handa@m17n.org>
11977
11978 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11979 BOM is not found.
11980 (detect_coding, detect_coding_system): Optimization for ISO-2022
11981 when no 8-bit data is found.
11982
119832008-02-01 Jason Rumney <jasonr@gnu.org>
11984
11985 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11986
119872008-02-01 Kenichi Handa <handa@m17n.org>
11988
11989 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11990 CHARS.
11991
119922008-02-01 Steven Tamm <steventamm@mac.com>
11993
11994 * macterm.c (mac_encode_char): Add charset argument and update
11995 to use encoding_type.
11996 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11997 switch to pure fontset.
11998 (decode_mac_font_name): Temporarily remove decoding.
11999 (x_font_name_to_mac_font_name): Temporarily remove encoding.
12000 (x_load_font): Temporarily remove encoding.
12001
120022008-02-01 Kenichi Handa <handa@m17n.org>
12003
12004 * xfaces.c (Fface_font): If frame is not on a window system,
12005 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
12006 refer to face->font.
12007 (split_font_name_into_vector, build_font_name_from_vector)
12008 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
12009 when HAVE_WINDOW_SYSTEM is defined.
12010
120112008-02-01 Kenichi Handa <handa@m17n.org>
12012
12013 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
12014 (x_produce_glyphs): Fix setting of members of cmp in case
12015 cmp->glyph_len is zero.
12016
12017 * fontset.c (Fset_fontset_font): Fix docstring.
12018 (Ffontset_info): Make it backward compatible. New arg ALL.
12019
120202008-02-01 Kim F. Storm <storm@cua.dk>
12021
12022 * process.c (read_process_output): Grow decoding_buf when needed;
12023 this could cause a crash in allocate_string and compact_small_strings.
12024
120252008-02-01 Kenichi Handa <handa@m17n.org>
12026
12027 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
12028
120292008-02-01 Kenichi Handa <handa@m17n.org>
12030
12031 * coding.c (setup_coding_system): Set coding->common_flags
12032 correctly for raw-text.
12033 (consume_chars): On encoding unibyte text by raw-text, don't check
12034 multibyte form.
12035 (encode_coding): On encoding by raw-text, never use translation tables.
12036
12037 * fileio.c (e_write): Short cut for the case of no encoding.
12038
120392008-02-01 Kenichi Handa <handa@m17n.org>
12040
12041 * coding.c (detect_coding, detect_coding_system): Delete unused
12042 variables.
12043
120442008-02-01 Kenichi Handa <handa@m17n.org>
12045
12046 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
12047 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
12048
120492008-02-01 Kenichi Handa <handa@m17n.org>
12050
12051 * coding.c (Ffind_coding_systems_region_internal): Include
12052 raw-text and no-conversion in the result.
12053
120542008-02-01 Kenichi Handa <handa@m17n.org>
12055
12056 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
12057 (load_font_get_repertory): Delete unnecessary check of ENCODING of
12058 FONT_DEF.
12059 (font_def_arg, add_arg, from_arg, to_arg): New args.
12060 (set_fontset_font): Change argument.
12061 (Fset_fontset_font): Fix for the case that TARGET is a script
12062 name and charset name.
12063 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
12064
120652008-02-01 Kenichi Handa <handa@m17n.org>
12066
12067 * fontset.c (fontset_font): Rename from fontset_face. Change return
12068 value.
12069 (face_suitable_for_char_p, face_for_char): Adjust for the change
12070 of fontset_font.
12071 (make_fontset_for_ascii_face): Fix setting of the fontset element
12072 for ASCII.
12073 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
12074 to get a font name.
12075 (Ffontset_info): Adjust for the change of fontset_font.
12076
12077 * coding.c (emacs_mule_char): Check invalid code more rigidly.
12078
12079 * character.h (LEADING_CODE_LATIN_1_MIN)
12080 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
12081
120822008-02-01 Kenichi Handa <handa@m17n.org>
12083
12084 * editfns.c (check_translation): New function.
12085 (Ftranslate_region_internal): Handle M:N mapping.
12086
120872008-02-01 Kenichi Handa <handa@m17n.org>
12088
12089 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
12090
120912008-02-01 Kenichi Handa <handa@m17n.org>
12092
12093 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
12094 goto invalid_code.
12095 (decode_coding_iso_2022): Fix handling of invalid designation.
12096
12097 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
12098 after calling code_conversion_save.
12099
121002008-02-01 Kenichi Handa <handa@m17n.org>
12101
12102 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
12103
12104 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
12105
12106 * fontset.c: Include "intervals.h".
12107 (fontset_face): Fix comparing of Lisp_Objects.
12108 (free_face_fontset, new_fontset_from_font_name): Fix
12109 Lisp_Object/int mixup.
12110
12111 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
12112
12113 * coding.c: Add many prototypes for static functions.
12114 (get_translation_table): Allow max_lookup to be NULL.
12115 (decode_coding, Ffind_coding_systems_region_internal)
12116 (Funencodable_char_position, Fcheck_coding_systems_region): Call
12117 get_translation_table with max_lookup NULL.
12118
121192008-02-01 Kenichi Handa <handa@m17n.org>
12120
12121 * coding.c (get_translation_table): Declare it as Lisp_Object.
12122 (LOOKUP_TRANSLATION_TABLE): New macro.
12123 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
12124 instead of CHAR_TABLE_REF.
12125
121262008-02-01 Kenichi Handa <handa@m17n.org>
12127
12128 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
12129 annotation data format.
12130 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
12131 Change arguments FROM and TO to single argument NCHARS. Change caller.
12132 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
12133 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12134 (decode_coding_ccl, decode_coding_charset): Pay attention to
12135 coding->charbuf_used.
12136 (get_translation): New function.
12137 (produce_chars): New arguments translation_table and last_block.
12138 Translate characters here. Return number of carryover chars.
12139 Change caller.
12140 (produce_composition): New argument pos. Change caller.
12141 Adjust for the change of annotation data format.
12142 (produce_charset, produce_annotation): Likewise.
12143 (decode_coding, encode_coding): Don't call translate_chars.
12144 (consume_chars): New arg translation_table. Change caller.
12145 (translate_chars): Delete.
12146 (syms_of_coding): Make translation-table's number of extra slots 2.
12147
121482008-02-01 Kenichi Handa <handa@m17n.org>
12149
12150 * search.c (simple_search): Fix setting this_pos_byte in backward
12151 search.
12152
12153 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
12154 byte sequence.
12155 (detect_coding_ccl): Fix setting of the variable valids.
12156
121572008-02-01 Kenichi Handa <handa@m17n.org>
12158
12159 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
12160
12161 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
12162
12163 * editfns.c (Ftranslate_region_internal): Rename from
12164 Ftranslate_region. Accept a char-table in TABLE.
12165 (syms_of_editfns): Defsubr Stranslate_region_internal.
12166
12167 * xfaces.c (set_lface_from_font_name): If a font is specified for
12168 a frame, generate a fontset from the font.
12169 (build_scalable_font_name): If the scalable font is requested for
12170 a specific size, don't change that size.
12171 (try_font_list): Try a scalable font also in the case that a
12172 pattern string is specified.
12173
121742008-02-01 Kenichi Handa <handa@m17n.org>
12175
12176 * xfaces.c (Fface_font): New optional arg CHARACTER.
12177
121782008-02-01 Kenichi Handa <handa@m17n.org>
12179
12180 * charset.h (CHARSET_OFFSET): New macro.
12181
121822008-02-01 Kenichi Handa <handa@m17n.org>
12183
12184 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
12185
12186 * fontset.c (fontset_face): Handle the case that repertory is a
12187 char-table.
12188 (find_font_encoding): Return nil for unknown encoding.
12189 (Fset_fontset_font): Ignore a font of unknown encoding.
12190
121912008-02-01 Kenichi Handa <handa@m17n.org>
12192
12193 * keymap.c (describe_vector): Handle default value of a char table.
12194
12195 * fontset.c (fontset_face): Handle fallback fonts correctly.
12196 (Ffontset_info): Return infomation about fallback fonts.
12197
121982008-02-01 Kenichi Handa <handa@m17n.org>
12199
12200 * fontset.c (FONTSET_DEFAULT): New macro.
12201 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
12202 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
12203 the case that it is nil.
12204 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
12205 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
12206
12207 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
12208 subset or superset.
12209
122102008-02-01 Kenichi Handa <handa@m17n.org>
12211
12212 * emacs.c (main): Call init_charset after syms_of_XXX.
12213
12214 * charset.c (Vcharset_map_directory): Delete.
12215 (Vcharset_map_path): New variable.
12216 (load_charset_map_from_file): Use Vcharset_map_path instead.
12217 (init_charset): Initialize Vcharset_map_path.
12218 (syms_of_charset): Delete declaration of "charset-map-directory",
12219 add declaration of "charset-map-path".
12220
122212008-02-01 Kenichi Handa <handa@m17n.org>
12222
12223 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
12224 ASCII only string.
12225
12226 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
12227
12228 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
12229 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
12230
122312008-02-01 Kenichi Handa <handa@m17n.org>
12232
12233 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
12234
12235 * coding.c (QCmnemonic, QCdefalut_char)
12236 (QCdecode_translation_table, QCencode_translation_table)
12237 (QCpost_read_conversion, QCpre_write_conversion): New variables.
12238 (get_translation_table): Return a list of translation tables if
12239 necessary.
12240 (decode_coding): Call get_translation_table with ENCODEP 0.
12241 (char_encodable_p): If translation_table is non-nil, always call
12242 translate_char.
12243 (Fdefine_coding_system_internal): Accept list of translation
12244 tables as :encode-translation-table and :decode-translation-table.
12245 (Fcoding_system_put): New function.
12246 (syms_of_coding): Declare new symbols. Defsubr
12247 Scoding_system_put.
12248 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
12249 typically JISX0212.
12250
12251 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
12252 when the charset is superset type.
12253
12254 * character.c (translate_char): Accept list of translation tables.
12255
122562008-02-01 Kenichi Handa <handa@m17n.org>
12257
12258 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
12259 (CODING_ATTR_TRANS_TBL): New macro.
12260
12261 * coding.c (get_translation_table): New function.
12262 (translate_chars): Fix the bug of skipping annotation data.
12263 (decode_coding, encode_coding): Utilize get_translation_table.
12264 (char_encodable_p, Funencodable_char_position): Translate char if
12265 necessary.
12266 (Ffind_coding_systems_region_internal)
12267 (Fcheck_coding_systems_region): Setup translation table for encode
12268 in a coding system attribute vector in advance.
12269 (Fdefine_coding_system_internal): Allow a symbol as translation
12270 table. For shift-jis type coding system, allow 4th charset.
12271
122722008-02-01 Kenichi Handa <handa@m17n.org>
12273
12274 * coding.c (decode_coding_sjis): Check the first byte rigidly.
12275
12276 * xdisp.c (get_next_display_element): Pass -1 as POS to
12277 FACE_FOR_CHAR if displaying a C-string.
12278
122792008-02-01 Kenichi Handa <handa@m17n.org>
12280
12281 * composite.c (get_composition_id): Handle xoff and yoff in a
12282 composition rule.
12283
12284 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
12285 (struct composition): New member lbearing and rbearing.
12286
12287 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
12288 (x_get_glyph_overhangs): Handle a composition glyph.
12289 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
12290
12291 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
12292 composition glyph.
12293
122942008-02-01 Kenichi Handa <handa@m17n.org>
12295
12296 * print.c: Include charset.h.
12297 (Vprint_charset_text_property): New variable.
12298 (Qdefault): Extern it.
12299 (PRINT_STRING_NON_CHARSET_FOUND)
12300 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
12301 (print_check_string_result): New variable.
12302 (print_check_string_charset_prop): New function.
12303 (print_prune_charset_plist): New variable.
12304 (print_prune_string_charset): New function.
12305 (print_object): Call print_prune_string_charset if
12306 Vprint_charset_text_property is not t.
12307 (print_interval): Print nothing if interval->plist is nil.
12308 (syms_of_print): Declare Vprint_charset_text_property as a lisp
12309 variable. Init and staticpro print_prune_charset_plist.
12310
123112008-02-01 Kenichi Handa <handa@m17n.org>
12312
12313 * fontset.c (new_fontset_from_font_name): Use the specified font
12314 for all characters in the new fontset.
12315
12316 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12317 OBJECT args.
12318
12319 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
12320 OBJECT args for composition too.
12321
12322 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12323 OBJECT args.
12324
123252008-02-01 Kenichi Handa <handa@m17n.org>
12326
12327 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
12328
12329 * fontset.c (reorder_font_vector): Adjust for the change of
12330 FONT_DEF format.
12331 (fontset_face): New arg id. Change caller.
12332 (face_for_char): New args pos and object.
12333 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
12334 (fs_query_fontset): Check NAME by Fassoc too.
12335 (Fset_fontset_font): Allow non-XLFD font name.
12336 (Ffontset_info): Adjust for the change of FONT_DEF format.
12337
12338 * fontset.h (face_for_char): Adjust prototype.
12339
12340 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
12341 (append_space, extend_face_to_end_of_line)
12342 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12343 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
12344
12345 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
12346 POS and OBJECT args.
12347
12348 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
12349 POS and OBJECT args.
12350
123512008-02-01 Jason Rumney <jasonr@gnu.org>
12352
12353 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
12354 of GlobalAlloc'ed memory.
12355
123562008-02-01 Kenichi Handa <handa@m17n.org>
12357
12358 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
12359
12360 * charset.h (charset_table_used): Delete extern.
12361
12362 * charset.c (charset_table_used): Make it static.
12363 (map_charset_chars): Fix args to c_function with.
12364
12365 * chartab.c (map_sub_char_table_for_charset): Fix args to
12366 c_function with.
12367
12368 * coding.h (enum coding_result_code): Delete
12369 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
12370
12371 * coding.c (Qinsufficient_source, Qinconsistent_eol)
12372 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
12373 (Vlast_code_conversion_error): New variables.
12374 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
12375 (ONE_MORE_BYTE): Record error if any instead of signaling an
12376 error. If non-ASCII multibyte char is found, return the negative
12377 value of the code. All callers changed to check it.
12378 (ONE_MORE_BYTE_NO_CHECK): Likewise.
12379 (record_conversion_result): New function. Change all codes setting
12380 coding->result to call this function.
12381 (detect_coding_utf_8, decode_coding_utf_8)
12382 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
12383 Don't use the local variable incomplete.
12384 (emacs_mule_char): Change the second arg to `const'.
12385 (decode_coding): Fix of flushing out unprocessed data.
12386 (make_conversion_work_buffer): Fix making of a work buffer.
12387 (decode_coding_object): Return coding->dst_object.
12388
12389 * fontset.c (set_fontset_font): Fix args.
12390
12391 * lisp.h (CHARACTERBITS): Define as 22.
12392
12393 * process.c (send_process): Be sure to set coding->src_multibyte.
12394
12395 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
12396
123972008-02-01 Kenichi Handa <handa@m17n.org>
12398
12399 * xdisp.c (handle_auto_composed_prop): Give limit to
12400 Fnext_single_char_property_change.
12401
124022008-02-01 Kenichi Handa <handa@m17n.org>
12403
12404 * composite.c (syms_of_composite): Don't make the composition hash
12405 table weak.
12406
12407 * fontset.c (Fset_fontset_font): Fix docstring.
12408
12409 * lisp.h (detect_coding_system): Adjust prototype.
12410
12411 * fileio.c (kill_workbuf_unwind): Delete this function.
12412 (Finsert_file_contents): Adjust the call of detect_coding_system.
12413 Get conversion_buffer by code_conversion_save. Use the macro
12414 CODING_MAY_REQUIRE_DECODING. After decoding, update
12415 coding_system.
12416
12417 * coding.h (make_conversion_work_buffer): Delete extern.
12418 (code_conversion_save): Extern it.
12419
12420 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
12421 (CODING_GET_INFO): Delete argument eol_type. Change callers.
12422 (decode_coding_utf_8): Don't do eol converion.
12423 (detect_coding_utf_16): Check coding->src_chars, not
12424 coding->src_bytes. Add heuristics for those that have no signature.
12425 (decode_coding_emacs_mule, decode_coding_iso_2022)
12426 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12427 Don't do eol converion.
12428 (adjust_coding_eol_type): Return a new coding system.
12429 (detect_coding): Don't detect eol. Fix for utf-16 detection.
12430 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
12431 each change.
12432 (decode_coding): Pay attention to undo_list. Do eol conversion for
12433 all types of coding-systems (if necessary).
12434 (Vcode_conversion_work_buf_list): Delete it.
12435 (Vcode_conversion_reused_workbuf): Rename from
12436 Vcode_conversion_reused_work_buf.
12437 (Vcode_conversion_workbuf_name): New variable.
12438 (reused_workbuf_in_use): New variable.
12439 (make_conversion_work_buffer): Delete the arg DEPTH.
12440 (code_conversion_restore): Change argument to cons.
12441 (code_conversion_save): Delete the argument BUFFER. Change callers.
12442 (detect_coding_system): New argument src_chars. Change callers.
12443 Fix for utf-16 detection.
12444 (init_coding_once): Don't use ISO_carriage_return.
12445 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12446 reused_workbuf_in_use.
12447
124482008-02-01 Kenichi Handa <handa@m17n.org>
12449
12450 * keymap.c (store_in_keymap): Pay attention to the case that idx
12451 is a cons specifying a character range.
12452
124532008-02-01 Kenichi Handa <handa@m17n.org>
12454
12455 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12456 HANDLED_RECOMPUTE_PROPS.
12457
12458 * coding.c (Fdefine_coding_system_internal): Fix checking of
12459 ascii compatibility.
12460
124612008-02-01 Kenichi Handa <handa@m17n.org>
12462
12463 * charset.c (find_charsets_in_text): Delete unused locale variable.
12464 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12465
12466 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12467 Resync charset_list to Vemacs_mule_charset_list.
12468
12469 * keymap.c (store_in_keymap): Pay attention to the case that idx
12470 is a cons specifying a character range.
12471
124722008-02-01 Kenichi Handa <handa@m17n.org>
12473
12474 * composite.c (update_compositions): Bind inhibit-read-only, etc
12475 to t before calling remove-list-of-text-properties.
12476
12477 * print.c (print_object): Always print ASCII chars as is.
12478
124792008-02-01 Kenichi Handa <handa@m17n.org>
12480
12481 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12482
12483 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12484 is a char table.
12485
124862008-02-01 Kenichi Handa <handa@m17n.org>
12487
12488 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12489
124902008-02-01 Kenichi Handa <handa@m17n.org>
12491
12492 * xfaces.c (set_lface_from_font_name): Fix for the case that
12493 FONTNAME is not fontset name.
12494
124952008-02-01 Kenichi Handa <handa@m17n.org>
12496
12497 * fns.c (base64_encode_1): Fix previous change.
12498
124992008-02-01 Kenichi Handa <handa@m17n.org>
12500
12501 * fontset.c (set_fontset_font): New function.
12502 (Fset_fontset_font): If a font is specified for a charset, use
12503 map_charset_chars to store the font spec in a fontset.
12504
125052008-02-01 Kenichi Handa <handa@m17n.org>
12506
12507 * fontset.c (fontset_face): Create a fallback fontset on demand.
12508 (make_fontset): Don't create a fallback fontset here.
12509 (free_face_fontset): Free a fallback fontset (if any) too.
12510 (n_auto_fontsets): Delete this variable.
12511 (auto_fontset_alist): New variable.
12512 (new_fontset_from_font_name): Check auto_fontset_alist.
12513 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12514 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12515 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12516 Defsubr Sfontset_list_all.
12517
125182008-02-01 Kenichi Handa <handa@m17n.org>
12519
12520 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12521
125222008-02-01 Kenichi Handa <handa@m17n.org>
12523
12524 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12525
125262008-02-01 Kenichi Handa <handa@m17n.org>
12527
12528 * editfns.c (Fgoto_char): Fix docstring.
12529
125302008-02-01 Kenichi Handa <handa@m17n.org>
12531
12532 * insdel.c (insert_from_gap): Adjust intervals correctly.
12533
125342008-02-01 Jason Rumney <jasonr@gnu.org>
12535
12536 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12537 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12538 (w32_initialize): Try to load it.
12539 (x_get_font_repertory): Use it if available.
12540 (w32_encode_char): Add shortcut for unicode output.
12541
12542 * w32fns.c (w32_load_system_font): Default charset to -1.
12543 (x_to_w32_charset): Match all fonts for unicode.
12544 (w32_to_x_charset): New parameter matching. Don't return partial
12545 or wildcard charsets.
12546 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
12547 (w32_codepage_for_font): Return CP_UNICODE for unicode.
12548 (w32_to_x_font): Match charset to real charset.
12549 (enum_font_cb2): Always list unicode versions.
12550
12551 * makefile.w32-in (temacs): Increase EMHEAP.
12552
125532008-02-01 Jason Rumney <jasonr@gnu.org>
12554
12555 * w32term.c (w32_encode_char): New charset parameter.
12556 font_info.encoding becomes encoding_type.
12557 (x_get_font_repertory): New function. Warning: stub only!
12558 (x_new_font): Return quickly if font already set.
12559 (x_new_fontset): fontsetname parameter is Lisp_Object.
12560 Use new fs_query_fontset. Try new_fontset_from_font_name.
12561 Use fontset_name for return value.
12562
12563 * w32term.h: Declare x_get_font_repertory.
12564
12565 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
12566 place of find_charset_in_text. Use encode_coding_object in place
12567 of encode_coding.
12568 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
12569 decode_coding.
12570
12571 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
12572 of x_new_fontset.
12573 (w32_load_system_font): Initialize charset as unicode.
12574 font_info.encoding becomes encoding_type.
12575 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
12576 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
12577 (syms_of_w32fns): Set get_font_repertory_func.
12578
12579 * w32console.c: Include character.h. Use terminal_encode_buffer
12580 from term.c.
12581 (write_glyphs): Use new version of encode_terminal_code. Use
12582 encode_coding_object in place of encode_coding.
12583
12584 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
12585 encoding becomes encoding_type.
12586
12587 * term.c (terminal_encode_buffer): Make externally visible.
12588
12589 * makefile.w32-in: Add character.h dependancies.
12590 (character.o, chartab.o): New targets.
12591
125922008-02-01 Kenichi Handa <handa@m17n.org>
12593
12594 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
12595 CODING_ID_EOL_TYPE.
12596
125972008-02-01 Andreas Schwab <schwab@suse.de>
12598
12599 * coding.c (produce_chars): Revert last change.
12600
126012008-02-01 Kenichi Handa <handa@m17n.org>
12602
12603 * charset.h (charset_unicode): Extern it.
12604
12605 * charset.c (string_xstring_p): Check by (C >= 0x100).
12606 (find_charsets_in_text): Change format of the arc CHARSETS. New
12607 arg MULTIBYTE.
12608 (Ffind_charset_region, Ffind_charset_string): Adjust for the
12609 change of find_charsets_in_text.
12610 (Fsplit_char): Fix doc. Never return unknown.
12611
12612 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
12613
12614 * coding.c (Fdefine_coding_system_alias): Update
12615 Vcoding_system_list.
12616
12617 * fontset.c (load_font_get_repertory): Pay attention to the case
12618 that ENCODING of a font is specified by a char-table.
12619
12620 * xterm.c (x_get_font_repertory): Handle the case that the
12621 encoding of font is other than Unicode.
12622
126232008-02-01 Kenichi Handa <handa@m17n.org>
12624
12625 * term.c (encode_terminal_code): Don't handle glyph-table. Check
12626 if a character is encodable by the terminal coding system. If
12627 not, produces proper number of `?'s. Update
12628 terminal_encode_buffer and terminal_encode_buf_size if necessary.
12629 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
12630
126312008-02-01 Kenichi Handa <handa@m17n.org>
12632
12633 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
12634 variables.
12635 (encode_terminal_code): Change argument. Encode multiple
12636 characters at once. Store the result of encoding in
12637 terminal_encode_buffer.
12638 (write_glyphs, insert_glyphs): Adjust for the change of
12639 encode_terminal_code.
12640 (term_init): Initialize terminal_encode_buffer and
12641 terminal_encode_buf_size.
12642
12643 * coding.c (consume_chars): If coding->src_object is nil, don't
12644 check annotation.
12645
126462008-02-01 Kenichi Handa <handa@m17n.org>
12647
12648 * character.c (char_string): Use ASCII_CHAR_P instead of
12649 SINGLE_BYTE_CHAR_P.
12650
126512008-02-01 Kenichi Handa <handa@m17n.org>
12652
12653 * xdisp.c (handle_auto_composed_prop): Check if the last
12654 characters of auto-composed region is newly composed with the
12655 following characters.
12656 (handle_composition_prop): Fix checking of point being inside
12657 composition.
12658
126592008-02-01 Kenichi Handa <handa@m17n.org>
12660
12661 * fns.c (concat): Don't change multibyteness of the result by
12662 concatenating an 8-bit character.
12663
12664 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
12665 multibyteness of the result when newelt is an 8-bit character.
12666
126672008-02-01 Dave Love <fx@gnu.org>
12668
12669 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
12670 EMACS_INT.
12671
12672 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
12673
12674 * xfaces.c (face_numeric_value): Declare dim size_t.
12675 (Finternal_lisp_face_equal_p): Remove unused f.
12676
12677 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
12678 (MATRIX_ROW): Remove unused vars.
12679 (draw_glyphs, x_insert_glyphs, fast_find_position)
12680 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
12681 byte/char counts.
12682
12683 * regex.c (regex_compile): Remove unused var.
12684
12685 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12686
12687 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
12688 (Faccessible_keymaps, where_is_internal): Remove unused vars.
12689
12690 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
12691
12692 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
12693
12694 * fileio.c (Fwrite_region): Remove unused var.
12695
12696 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
12697 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
12698
12699 * composite.c (Fremove_list_of_text_properties): Declare.
12700
12701 * coding.c (inhibit_pre_post_conversion): Remove (unused).
12702 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
12703 (coding_inherit_eol_type): Remove unused attrs.
12704 (detect_coding): Cast arg of detect_eol.
12705
12706 * charset.c (syms_of_charset): Remove unused var p.
12707 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
12708 byte/char counts.
12709
12710 * casetab.c (set_case_table): Remove unused var.
12711
12712 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
12713 unused vars.
12714
127152008-02-01 Dave Love <fx@gnu.org>
12716
12717 * xterm.c (x_bitmap_mask): Declare.
12718
127192008-02-01 Dave Love <fx@gnu.org>
12720
12721 * xterm.c (x_term_init): Fix type error.
12722
12723 * lisp.h: Add Funibyte_char_to_multibyte.
12724
12725 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
12726 (Fset_coding_system_priority): Doc fix.
12727
12728 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
12729
12730 * indent.c (check_composition): Make start and end EMACS_INT.
12731
12732 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
12733
12734 * xdisp.c (handle_composition_prop, check_point_in_composition):
12735 Make buffer positions EMACS_INT.
12736
12737 * composite.c (find_composition, run_composition_function)
12738 (update_compositions, Ffind_composition_internal): Make buffer
12739 positions EMACS_INT.
12740
12741 * composite.h (find_composition, update_compositions): Make
12742 position args EMACS_INT.
12743
12744 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
12745
12746 * intervals.c (get_property_and_range):
12747 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
12748
12749 * unexalpha.c: Don't include varargs.h.
12750
127512008-02-01 Dave Love <fx@gnu.org>
12752
12753 * coding.h (ENCODE_UTF_8): New.
12754
12755 * Makefile.in (gtkutil.o): Depend on coding.h.
12756
12757 * coding.c (Fset_coding_system_priority): Doc fix.
12758
127592008-02-01 Kenichi Handa <handa@m17n.org>
12760
12761 * fileio.c (Finsert_file_contents): Call setup_coding_system in
12762 the case of auto saving.
12763
127642008-02-01 Andreas Schwab <schwab@suse.de>
12765
12766 * chartab.c (map_char_table, map_char_table_for_charset): Protect
12767 `range' from GC.
12768
127692008-02-01 Kenichi Handa <handa@m17n.org>
12770
12771 * coding.c (decode_coding_sjis): Check bytes more rigidly.
12772
127732008-02-01 Kenichi Handa <handa@m17n.org>
12774
12775 * fileio.c (choose_write_coding_system): Return a decided coding system.
12776 (Fwrite_region): Set Vlast_coding_system_used to the return value
12777 of choose_write_coding_system.
12778
127792008-02-01 Kenichi Handa <handa@m17n.org>
12780
12781 * charset.c (Fset_charset_priority): Pay attention to duplicated
12782 arguments.
12783
12784 * coding.c (QCcategory): New variable.
12785 (syms_of_coding): Defsym it. Set all elements of
12786 Vcoding_category_table and their symbol values.
12787 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
12788 coding-category-XXX, and coding-category-list.
12789 (Fdefine_coding_system_internal): Add category in the plist.
12790
127912008-02-01 Kenichi Handa <handa@m17n.org>
12792
12793 * callproc.c (Fcall_process): Handle carryover correctly.
12794
12795 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
12796 (raw_text_coding_system): Check NILP (coding_system).
12797 (coding_inherit_eol_type): Check NILP (coding_system) and
12798 NILP (parent).
12799 (consume_chars): Fix for the case of raw-text.
12800
12801 * process.c (read_process_output): Handle carryover correctly.
12802
128032008-02-01 Dave Love <fx@gnu.org>
12804
12805 * regex.c (re_search_2): Fix last change.
12806
128072008-02-01 Kenichi Handa <handa@m17n.org>
12808
12809 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
12810 target_multibyte. Even in a unibyte case, return a converted
12811 multibyte char.
12812 (GET_CHAR_AFTER): New macro.
12813 (PATFETCH): Translate via multibyte char.
12814 (HANDLE_UNIBYTE_RANGE): Delete this macro.
12815 (SETUP_MULTIBYTE_RANGE): New macro.
12816 (regex_compile): Setup compiled code so that its multibyteness
12817 matches that of a target. Fix the handling of "[X-YZ]" using
12818 SETUP_MULTIBYTE_RANGE.
12819 (analyse_first) <charset>: For filling fastmap for all multibyte
12820 characters, don't check by BASE_LEADING_CODE_P.
12821 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
12822 the same as RE_MULTIBYTE_P (bufp) now.
12823 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
12824 (TARGET_CHAR_AND_LENGTH): Delete this macro.
12825 (TRANSLATE_VIA_MULTIBYTE): New macro.
12826 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
12827 It is the same as RE_MULTIBYTE_P (bufp) now.
12828 <exactn>: Translate via multibyte.
12829 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
12830 translate it.
12831 <charset, charset_not>: Fetch a character by
12832 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
12833 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
12834 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
12835 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
12836 by GET_CHAR_AFTER.
12837 (bcmp_translate): Likewise.
12838
12839 * search.c (compile_pattern): Check the member target_multibyte,
12840 not the member multibyte of buf.
12841
12842 * lread.c (read1): While reading a string, set force_singlebyte
12843 and force_multibyte correctly.
12844
12845 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
12846 up of unibyte_to_multibyte_table.
12847
128482008-02-01 Kenichi Handa <handa@m17n.org>
12849
12850 * coding.c (setup_coding_system): If coding has
12851 post-read-conversion or pre-write-conversion, set
12852 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
12853 respectively.
12854 (decode_coding_gap): Run post-read-conversion if any.
12855
12856 * fileio.c (Finsert_file_contents): Even if we read into a
12857 unibyte buffer, check if we must decode the result or not.
12858
128592008-02-01 Kenichi Handa <handa@m17n.org>
12860
12861 * coding.c (make_conversion_work_buffer): Change the work buffer
12862 name to the same one as that of Emacs 21.
12863
128642008-02-01 Kenichi Handa <handa@m17n.org>
12865
12866 * coding.h (make_conversion_work_buffer): Adjust prototype.
12867 (code_conversion_restore): Don't extern it.
12868
12869 * coding.c (detected_mask): Delete unused variable.
12870 (decode_coding_iso_2022): Pay attention to the byte sequence of
12871 CTEXT extended segment, and retain those bytes as is.
12872 (decode_coding_ccl): Delete unused variable `valids'.
12873 (setup_coding_system): Delete unused variable `category'.
12874 (consume_chars): Delete unused variable `category'. Make it work
12875 for non-multibyte case.
12876 (make_conversion_work_buffer): Change argument.
12877 (saved_coding): Delete unused variable.
12878 (code_conversion_restore): Don't check saved_coding->destination.
12879 (code_conversion_save): New function.
12880 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12881 instead of record_unwind_protect.
12882 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12883 (detect_coding_system): Delete unused variable `mask'.
12884 (Fdefine_coding_system_internal): Delete unused variable id.
12885
12886 * fileio.c (kill_workbuf_unwind): New function.
12887 (Finsert_file_contents): On replacing, call
12888 make_conversion_work_buffer with correct args, and call
12889 record_unwind_protect with the first arg kill_workbuf_unwind.
12890
12891 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12892
128932008-02-01 Kenichi Handa <handa@m17n.org>
12894
12895 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12896 (fontset_add): Fix for the case that TO is less than TO1.
12897 (Ffontset_info): Don't use fallback fontset on checking the
12898 default fontset.
12899 (dump_fontset): New function for debugging.
12900
12901 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12902 coding_type is Qcharset.
12903
129042008-02-01 Kenichi Handa <handa@m17n.org>
12905
12906 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12907 (map_char_table): Don't inherit the value from the parent on
12908 initializing VAL. Adjust for the above change.
12909
129102008-02-01 Kenichi Handa <handa@m17n.org>
12911
12912 * coding.c (Qsignature, Qendian): Delete these variables.
12913 (syms_of_coding): Don't initialize them.
12914 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12915 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12916 detect_info->found.
12917 (decode_coding_utf_16): Don't detect BOM here.
12918 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12919 is NOT utf_16_without_bom.
12920 (setup_coding_system): For a coding system of type utf-16, check
12921 if the attribute :endian is Qbig or not (not nil or not), and set
12922 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12923 (detect_coding): If coding type is utf-16 and BOM detection is
12924 required, detect it.
12925 (Fdefine_coding_system_internal): For a coding system of type
12926 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12927
129282008-02-01 Kenichi Handa <handa@m17n.org>
12929
12930 * coding.c (coding_set_source): Fix for the case that the current
12931 buffer is different from coding->src_object.
12932 (decode_coding_object): Don't use the conversion work buffer if
12933 DST_OBJECT is a buffer.
12934
129352008-02-01 Dave Love <fx@gnu.org>
12936
12937 * lread.c (read_emacs_mule_char) [len==2]: Index
12938 emacs_mule_charset correctly.
12939
129402008-02-01 Dave Love <fx@gnu.org>
12941
12942 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12943 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12944 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12945 treated specially.)
12946 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12947 (detected_mask): Remove Big5 bits.
12948
129492008-02-01 Kenichi Handa <handa@m17n.org>
12950
12951 The following changes are to make the font rescaling facility
12952 compatible with Emacs 21.
12953
12954 * xfaces.c (Vface_font_rescale_alist): Rename from
12955 Vface_resizing_fonts.
12956 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12957 (font_rescale_ratio): Rename from font_resizing_ratio.
12958 (split_font_name): Set font->rescale_ratio.
12959 (better_font_p): Pay attention to font->rescale_ratio.
12960 (build_scalable_font_name): Likewise. Change RESX, and RESY
12961 fields.
12962 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12963
129642008-02-01 Kenichi Handa <handa@m17n.org>
12965
12966 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12967 (Qutf_16_le): Remove these variables.
12968 (syms_of_coding): Don't DEFSYM them.
12969 (decode_coding_utf_16): Fix handling of BOM.
12970 (encode_coding_utf_16): Fix handling of BOM.
12971
129722008-02-01 Kenichi Handa <handa@m17n.org>
12973
12974 * fileio.c (Finsert_file_contents): On replacing, before decoding
12975 the file into the work buffer, set point of the work buffer to the end.
12976
129772008-02-01 Dave Love <fx@gnu.org>
12978
12979 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12980
129812008-02-01 Dave Love <fx@gnu.org>
12982
12983 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12984 and fix C types.
12985
129862008-02-01 Kenichi Handa <handa@m17n.org>
12987
12988 * xdisp.c (SKIP_GLYPHS): New macro.
12989 (set_cursor_from_row): Pay attention to string display properties.
12990
12991 * category.c (copy_category_entry): Fix for the case that RANGE
12992 is an integer.
12993
12994 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12995
12996 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12997
129982008-02-01 Kenichi Handa <handa@m17n.org>
12999
13000 * charset.c (Fcharset_id_internal): New function.
13001 (syms_of_charset): Defsubr it.
13002
13003 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
13004 with the last arg charset_list acquired from coding.
13005 (Fdefine_coding_system_internal): For ccl-based coding system, fix
13006 the attribute coding_attr_ccl_valids.
13007
13008 * coding.h (enum define_coding_ccl_arg_index): Set the first
13009 member coding_arg_ccl_decoder to coding_arg_max.
13010
13011 * ccl.h (ccl_driver): Adjust prototype.
13012
13013 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
13014 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 13015 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
13016 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
13017 last arg Qnil.
13018
130192008-02-01 Kenichi Handa <handa@m17n.org>
13020
13021 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
13022 call encode_char.
13023
13024 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
13025
130262008-02-01 Dave Love <fx@gnu.org>
13027
13028 * composite.c (syms_of_composite): Make composition_hash_table weak.
13029
130302008-02-01 Kenichi Handa <handa@m17n.org>
13031
13032 * dispextern.h (check_face_attributes, generate_ascii_font_name)
13033 (font_name_registry): Don't extern them.
13034 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
13035
13036 * fontset.h (Qfontset): Don't extern it.
13037 (new_fontset_from_font_name): Extern it.
13038
13039 * fontset.c: Give 8 extra slots to fontset objects.
13040 (Qfontset_info): New variable.
13041 (syms_of_fontset): Defsym it.
13042 (FONTSET_FALLBACK): New macro.
13043 (fontset_face): Try also the default fontset.
13044 (make_fontset): Realize a fallback fontset from the default fontset.
13045 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
13046 using split_font_name_into_vector and build_font_name_from_vector.
13047 (Fset_fontset_font): Access the elements of font_spec by enum
13048 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
13049 name by using split_font_name_into_vector.
13050 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
13051 generate a proper font name from the fontset name. Update
13052 Vfontset_alias_alist.
13053 (n_auto_fontsets): New variable.
13054 (new_fontset_from_font_name): New function.
13055 (Ffont_info): Store the information about fonts generated from the
13056 default fontset in the first extra slot of the returned char-table.
13057
13058 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
13059 (font_name_registry): Delete function.
13060 (split_font_name_into_vector): New function.
13061 (build_font_name_from_vector): New function.
13062 (font_list): The argument REGISTRY is now a list of registry names.
13063 (choose_face_font): If we are choosing an ASCII font, and ATTRS
13064 specifies an explicit font name, return the name as is. Make a
13065 list of registy names.
13066
13067 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
13068 of x_new_fontset.
13069 (Fx_create_frame): Don't call x_new_fontset here. Just use
13070 x_list_fonts to check the existence of fonts.
13071
13072 * xterm.h (x_new_fontset): Adjust prototype.
13073
13074 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
13075 string. Use new_fontset_from_font_name to create a fontset from a
13076 font name.
13077
130782008-02-01 Kenichi Handa <handa@m17n.org>
13079
13080 * syntax.c (Vfind_word_boundary_function_table): New name for
13081 Vnext_word_boundary_function_table.
13082 (find-word-boundary-function-table): New name for
13083 next-word-boundary-function-table.
13084
130852008-02-01 Dave Love <fx@gnu.org>
13086
13087 * Makefile.in: Fix some dependencies.
13088
13089 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
13090 set it to nil before returning.
13091
13092 * composite.c (update_compositions): Fix type error.
13093
13094 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
13095
130962008-02-01 Kenichi Handa <handa@m17n.org>
13097
13098 * xterm.c (x_new_font): Optimize for the case that the font is
13099 already set for the frame.
13100
131012008-02-01 Kenichi Handa <handa@m17n.org>
13102
13103 * chartab.c (char_table_ascii): Check if the char table contents
13104 is sub-char-table or not.
13105 (char_table_set, char_table_set_range): Fix argument to
13106 char_table_ascii.
13107
13108 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
13109 (detect_coding_utf_8, detect_coding_utf_16)
13110 (detect_coding_emacs_mule, detect_coding_iso_2022)
13111 (detect_coding_sjis, detect_coding_big5)
13112 (detect_coding_ccl, detect_coding_charset): Change argument MASK
13113 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
13114 sequence is valid in this coding system. Change callers.
13115 (MAX_ANNOTATION_LENGTH): New macro.
13116 (ADD_ANNOTATION_DATA): New macro.
13117 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
13118 ADD_ANNOTATION_DATA. Change the format of annotation data.
13119 (ADD_CHARSET_DATA): New macro.
13120 (emacs_mule_char): New argument ID. Change callers.
13121 (decode_coding_emacs_mule, decode_coding_iso_2022)
13122 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13123 Produce charset annotation data in coding->charbuf.
13124 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
13125 to charset annotation data in coding->charbuf.
13126 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
13127 coding->common_flags if the coding system is iso-2022 based and
13128 uses designation.
13129 (produce_composition): Adjust for the new annotation data format.
13130 (produce_charset): New function.
13131 (produce_annotation): Handle charset annotation.
13132 (handle_composition_annotation, handle_charset_annotation): New
13133 functions.
13134 (consume_chars): Handle charset annotation. Utilize the above two
13135 functions.
13136 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
13137 buffer, get the deleted text as a string and set
13138 coding->src_object to that string.
13139 (detect_coding, detect_coding_system): Use the new struct
13140 coding_detection_info.
13141
13142 * coding.h (struct coding_detection_info): New structure.
13143 (struct coding_system): Adjust prototype of the member `detector'.
13144 (CODING_ANNOTATE_CHARSET_MASK): New macro.
13145
131462008-02-01 Kenichi Handa <handa@m17n.org>
13147
13148 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
13149
131502008-02-01 Dave Love <fx@gnu.org>
13151
13152 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
13153 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
13154 to new local and nullify apropos_accumulate before returning.
13155 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
13156
131572008-02-01 Kenichi Handa <handa@m17n.org>
13158
13159 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
13160 correctly.
e3eea1fc 13161
aac0c6e3
MR
131622008-02-01 Dave Love <fx@gnu.org>
13163
13164 * fns.c (Flanginfo): Call synchronize_system_time_locale.
13165
131662008-02-01 Kenichi Handa <handa@m17n.org>
13167
13168 The following changes are to make character composition happen
13169 automatically on displaying.
13170
13171 * Makefile.in (lisp, shortlisp): Add composite.elc.
13172
13173 * composite.h (Qauto_composed, Vauto_composition_function)
13174 (Qauto_composition_function): Extern them.
13175
13176 * composite.c (Vcomposition_function_table)
13177 (Qcomposition_function_table): Delete variables.
13178 (Qauto_composed, Vauto_composition_function)
13179 (Qauto_composition_function): New variables.
13180 (run_composition_function): Don't call
13181 compose-chars-after-function.
13182 (update_compositions): Clear `auto-composed' text property.
13183 (compose_chars_in_text): Delete this function.
13184 (syms_of_composite): Staticpro Qauto_composed and
13185 Qauto_composition_function. Declare Vauto_composition_function as
13186 a Lisp variable.
13187
13188 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
13189
13190 * xdisp.c (it_props): Add an entry for Qauto_composed.
13191 (handle_auto_composed_prop): New function.
13192
13193 * xselect.c (selection_data_to_lisp_data): Don't call
13194 compose_chars_in_text.
13195
131962008-02-01 Dave Love <fx@gnu.org>
13197
13198 * keyboard.c (read_char): Modify checking around use of
13199 Vkeyboard_translate_table.
13200
13201 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13202 and fix C types.
13203
132042008-02-01 Kenichi Handa <handa@m17n.org>
13205
13206 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
13207 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13208 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
13209 the case that the last byte is '\r' correctly.
13210 (decode_coding): Flush out the unprocessed data correctly.
13211 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
13212
132132008-02-01 Dave Love <fx@gnu.org>
13214
13215 * xterm.c (XTread_socket): Fix changes for defined keysyms.
13216 Add XK_ISO... case.
13217 (xaw_scroll_callback): Revert last change.
13218
132192008-02-01 Kenichi Handa <handa@m17n.org>
13220
13221 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
13222
132232008-02-01 Kenichi Handa <handa@m17n.org>
13224
13225 * xfaces.c (Vface_resizing_fonts): New variable.
13226 (struct font_name): New member `resizing_ratio'.
13227 (font_resizing_ratio): New function.
13228 (split_font_name): Set font->resizing_ratio.
13229 (better_font_p): Pay attention to font->resizing_ratio.
13230 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
13231 RESX, and RESY fields.
13232 (try_alternative_families): Try scalable fonts if
13233 Vscalable_fonts_allowed is not Qt.
13234 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
13235
132362008-02-01 Dave Love <fx@gnu.org>
13237
13238 * xterm.c (xaw_scroll_callback): Cast correctly.
13239
132402008-02-01 Dave Love <fx@gnu.org>
13241
13242 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
13243 (lispy_kana_keys): Comment out.
13244 (make_lispy_event) [XK_kana_A]: Comment out.
13245
13246 * xterm.c (xaw_scroll_callback): Cast call_data.
13247 (XTread_socket): Deal with ASCII keysyms.
13248 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
13249
132502008-02-01 Dave Love <fx@gnu.org>
13251
13252 * xterm.c (Vx_keysym_table): New.
13253 (syms_of_xterm): Initialize it.
13254 (XTread_socket): Use it.
13255 From head: Eliminate incorrect optimization that tried to avoid
13256 decoding the output of X*LookupString.
13257 (x_get_font_repertory): Delete charset declaration.
13258
132592008-02-01 Kenichi Handa <handa@m17n.org>
13260
13261 * coding.c (detect_coding_charset): If only ASCII bytes are found,
13262 return 0.
13263 (Fdefine_coding_system_internal): Setup
13264 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
13265
132662008-02-01 Dave Love <fx@gnu.org>
13267
13268 * coding.c (Fcheck_coding_system): Doc fix.
13269
13270 * editfns.c (Finsert_byte): Return a proper value.
13271
132722008-02-01 Kenichi Handa <handa@m17n.org>
13273
13274 * coding.c (decode_coding): Fix args to translate_chars. Pay
13275 attention to Vstandard_translation_table_for_decode.
13276 (encode_coding): Fix args to translate_chars. Pay attention to
13277 Vstandard_translation_table_for_encode.
13278
13279 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
13280 SINGLE_BYTE_CHAR_P.
13281
13282 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
13283 not by SINGLE_BYTE_CHAR_P.
13284
13285 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
13286 SINGLE_BYTE_CHAR_P.
13287
13288 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
13289 SINGLE_BYTE_CHAR_P.
13290
13291 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
13292 by SINGLE_BYTE_CHAR_P.
13293
13294 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
13295 SINGLE_BYTE_CHAR_P.
13296
132972008-02-01 Dave Love <fx@gnu.org>
13298
13299 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
13300
133012008-02-01 Dave Love <fx@gnu.org>
13302
13303 * fns.c (Flanginfo): Fix typo.
13304
13305 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
13306
133072008-02-01 Kenichi Handa <handa@m17n.org>
13308
13309 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
13310 (detect_coding_emacs_mule, detect_coding_iso_2022)
13311 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
13312 incomplete byte sequence. Don't update *mask when correctly detected.
13313 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
13314 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
13315 (detect_coding, detect_coding_system): Adjust for the changes above.
13316
133172008-02-01 Kenichi Handa <handa@m17n.org>
13318
13319 * character.c (char_string): Rename from
13320 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
13321 (string_char): Rename from string_char.
13322
13323 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
13324 if C is greater than MAX_3_BYTE_CHAR.
13325 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
13326 string_char instead of string_char_with_unification.
13327
133282008-02-01 Dave Love <fx@gnu.org>
13329
13330 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
13331
133322008-02-01 Kenichi Handa <handa@m17n.org>
13333
13334 * keymap.c (push_key_description): Pay attention to force_multibyte.
13335
13336 * regex.c (re_search_2): Fix for the case of unibyte buffer.
13337
133382008-02-01 Dave Love <fx@gnu.org>
13339
13340 * charset.c (define_charset_internal): Rename `supprementary'.
13341
13342 * Makefile.in (lisp, shortlisp): Remove latin-N.
13343
133442008-02-01 Dave Love <fx@gnu.org>
13345
13346 * xfns.c (x_window, x_window): Use use_xim.
13347
13348 * xterm.c (use_xim): Initialize.
13349 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
13350 (x_term_init): Maybe set use_xim.
13351
13352 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
13353
133542008-02-01 Kenichi Handa <handa@m17n.org>
13355
13356 * search.c (search_buffer): Fix case-fold-search of multibyte
13357 characters.
13358 (boyer_moore): Rename the last argument to char_high_bits.
13359
133602008-02-01 Kenichi Handa <handa@m17n.org>
13361
13362 * xdisp.c (display_string): Fix for the case of zero width glyph.
13363
13364 * xfns.c (x_set_font): Change the error message of the case that
13365 x_new_fontset returns Qt.
13366
13367 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
13368 (Finternal_set_lisp_face_attribute): Use signal_error for the
13369 error of invalid fontset.
13370
13371 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
13372 fontset, return Qt.
13373
133742008-02-01 Dave Love <fx@gnu.org>
13375
13376 * unexelf.c (unexec): Make .got handling not SGI-specific.
13377
13378 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
13379
13380 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
13381
13382 * keyboard.c (read_key_sequence): Fix type error.
13383
13384 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
13385 type error.
13386
13387 * fontset.c (fontset_add): Return Lisp_Object.
13388
133892008-02-01 Dave Love <fx@gnu.org>
13390
13391 * charset.h (charset_ordered_list_tick): Declare extern.
13392
133932008-02-01 Kenichi Handa <handa@m17n.org>
13394
13395 The following changes (and some of 2008-02-01 changes of mine) are
13396 for handling syntax, category, and case conversion for unibyte
13397 characters by converting them to multibyte on the fly. With these
13398 changes, we don't have to setup syntax and case tables for unibyte
13399 characters in each language environment.
13400
13401 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
13402 multibyte if necessary.
13403
13404 * bytecode.c (Fbyte_code): Likewise.
13405
13406 * character.h (LEADING_CODE_LATIN_1_MIN)
13407 (LEADING_CODE_LATIN_1_MAX): New macros.
13408 (unibyte_to_multibyte_table): Extern it.
13409 (unibyte_char_to_multibyte): New macro.
13410 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
13411 (CHAR_LEADING_CODE): New macro.
13412 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
13413
13414 * character.c (unibyte_to_multibyte_table): New variable.
13415 (unibyte_char_to_multibyte): Move to character.h and define as macro.
13416 (multibyte_char_to_unibyte): If C is an eight-bit character,
13417 convert it to the corresponding byte value.
13418
13419 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
13420 not 1, signals an error. Update the elements of
13421 unibyte_to_multibyte_table.
13422 (init_charset_once): Initialize unibyte_to_multibyte_table.
13423 (syms_of_charset): Define the charset `iso-8859-1'.
13424
13425 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
13426 as is without converting it to unibyte. In a unibyte buffer,
13427 convert C to multibyte before checking the syntax.
13428
13429 * lisp.h (unibyte_char_to_multibyte): Delete extern.
13430
13431 * minibuf.c (Fminibuffer_complete_word): Use the macro
13432 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
13433
13434 * regex.h (struct re_pattern_buffer): New member target_multibyte.
13435
13436 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
13437 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
13438 that is zero, convert an eight-bit char to multibyte.
13439 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13440 non-emacs case.
13441 (PATFETCH): Convert an eight-bit char to multibyte.
13442 (HANDLE_UNIBYTE_RANGE): New macro.
13443 (regex_compile): Setup the compiled pattern for multibyte chars
13444 even if the given regex string is unibyte. Use PATFETCH_RAW
13445 instead of PATFETCH in many places. To handle `charset'
13446 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13447 only for ASCII chars.
13448 (analyse_first) <exactn>: Simplify because the compiled pattern
13449 is multibyte.
13450 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13451 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13452 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13453 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13454 multibyte always 1.
13455 (re_search_2): In emacs, set the locale variable multibyte to 1,
13456 otherwise to 0. New local variable target_multibyte. Check it
13457 to decide the multibyteness of STR1 and STR2. If
13458 target_multibyte is zero, convert unibyte chars to multibyte
13459 before translating and checking fastmap.
13460 (TARGET_CHAR_AND_LENGTH): New macro.
13461 (re_match_2_internal): In emacs, set the locale variable multibyte
13462 to 1, otherwise to 0. New local variable target_multibyte. Check
13463 it to decide the multibyteness of STR1 and STR2. Use
13464 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13465 <charset, charset_not>: If multibyte is nonzero, check fastmap
13466 only for ASCII chars. Call bcmp_translate with
13467 target_multibyte, not with multibyte.
13468 <begline>: Declare the local variable C as `unsigned'.
13469 (bcmp_translate): Change the last arg name to target_multibyte.
13470
13471 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13472 the regexp pattern and the matching target. Set cp->buf.multibyte
13473 to the multibyteness of the regexp pattern. Set
13474 cp->but.target_multibyte to the multibyteness of the matching target.
13475 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13476 FETCH_STRING_CHAR_ADVANCE.
13477 (Freplace_match): Convert unibyte chars to multibyte.
13478
13479 * syntax.c (char_quoted, back_comment, scan_words)
13480 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13481 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13482 unibyte chars to multibyte.
13483 (skip_chars): Delete the arg syntaxp, and move the code for
13484 handling syntaxes to skip_syntaxes. Change callers.
13485 Fix the case that the multibyteness of STRING and the current
13486 buffer doesn't match.
13487 (skip_syntaxes): New function.
13488 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13489 SINGLE_BYTE_CHAR_P.
13490
134912008-02-01 Kenichi Handa <handa@m17n.org>
13492
13493 * xfaces.c (QCfontset): New variable.
13494 (LFACE_FONTSET): New macro.
13495 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13496 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13497 (Finternal_set_lisp_face_attribute)
13498 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13499 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13500 check also LFACE_FONTSET_INDEX.
13501 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13502 attrs[LFACE_FONT_INDEX].
13503 (syms_of_xfaces): Intern and staticpro QCfontset.
13504
13505 * dispextern.h (enum lface_attribute_index): New member
13506 LFACE_FONTSET_INDEX.
13507
13508 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13509
135102008-02-01 Kenichi Handa <handa@m17n.org>
13511
13512 * coding.c (coding_set_destination): Fix coding->destination for
13513 the case converting a region.
13514 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13515 (encode_coding_object): Fix coding->dst_pos and
13516 coding->dst_pos_byte for the case converting a region.
13517
13518 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13519
13520 * character.h (BYTE8_STRING): New macro.
13521
13522 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13523
135242008-02-01 Kenichi Handa <handa@m17n.org>
13525
13526 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13527 characters by octal form.
13528
13529 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13530
13531 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13532 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13533 _fetch_multibyte_char_len.
13534 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13535
13536 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13537
13538 * casefiddle.c (casify_object): Simplify. Handle the case that
13539 the case conversion change the byte length.
13540 (casify_region): Likewise.
13541
13542 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
13543
13544 * character.c (_fetch_multibyte_char_len): Delete this variable.
13545 (syms_of_character): Setup Vprintable_chars.
13546
13547 * editfns.c (Fchar_equal): Fix for the unibyte case.
13548 (Finsert_byte): New function.
13549 (syms_of_editfns): Defsubr it.
13550
13551 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
13552 of direct code 0x3ffff.
13553
13554 * search.c (Freplace_match): Fix for the unibyte case.
13555
135562008-02-01 Kenichi Handa <handa@m17n.org>
13557
13558 * lread.c (safe_to_load_p): Fix the logic.
13559
13560 * syntax.c (scan_words): Don't treat characters belonging to
13561 different scripts as constituting a word.
13562
13563 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13564
13565 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
13566
13567 * emacs.c (main): In the case of --unibyte, instead of aborting on
13568 finding non-empty buffer, make it unibyte.
13569
135702008-02-01 Kenichi Handa <handa@m17n.org>
13571
13572 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
13573 to create a fontset.
13574
135752008-02-01 Dave Love <fx@gnu.org>
13576
13577 * character.c (Funibyte_char_to_multibyte): Doc fix.
13578
13579 * xfns.c [HAVE_STDLIB_H]: Fix last change.
13580
135812008-02-01 Kenichi Handa <handa@m17n.org>
13582
13583 * fontset.c (fontset_add): Make the type `int'.
13584 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
13585
13586 * character.c (unibyte_char_to_multibyte)
13587 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
13588 charset_unibyte, not charset_primary.
13589
13590 * charset.h (charset_unibyte): Extern it instead of charset_primary.
13591
13592 * charset.c (charset_unibyte): Rename from charset_primary.
13593 (Funibyte_charset): Rename from Fprimary_charset.
13594 (Fset_unibyte_charset): Rename from Fset_primary_charset.
13595 (syms_of_charset): Adjust for the above changes.
13596
13597 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13598 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13599 it->multibyte_p is zero.
13600
13601 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
13602 Delete extern.
13603
136042008-02-01 Kenichi Handa <handa@m17n.org>
13605
13606 * coding.c (Fdefine_coding_system_internal): Fix category setting
13607 for a coding system of type iso-2022.
13608
136092008-02-01 Kenichi Handa <handa@m17n.org>
13610
13611 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
13612
136132008-02-01 Kenichi Handa <handa@m17n.org>
13614
13615 * syntax.c (Vnext_word_boundary_function_table): New variable.
13616 (next-word-boundary-function-table): Declare it as a Lisp variable
13617 in syms_of_syntax.
13618 (scan_words): Call functions in Vnext_word_boundary_function_table
13619 if any.
13620
13621 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
13622
13623 * fontset.c (fs_load_font): If fontp->charset is not negative,
13624 return fontp without setting its members.
13625
136262008-02-01 Dave Love <fx@gnu.org>
13627
13628 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
13629
13630 * m/sparc.h (HAVE_ALLOCA): Delete.
13631
13632 * s/irix6-5.h: Don't include strings.h.
13633 (bcopy, bzero, bcmp): Don't undef.
13634
13635 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
13636
13637 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
13638 (TIOCSIGSEND): Don't test IRIX6.
13639 (bcopy, bzero, bcmp): Define conditionally.
13640
136412008-02-01 Kenichi Handa <handa@m17n.org>
13642
13643 * buffer.c (Qas, Qmake, Qto): New variables.
13644 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
13645 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
13646
13647 * callproc.c (Fcall_process): Don't call insert_1_both directly if
13648 we are inserting a process output into a multibyte buffer.
13649
13650 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
13651 multibyte_char_to_unibyte.
13652
13653 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
13654 by the primary charset, make it eight-bit char.
13655 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
13656
13657 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
13658 (charset_8_bit__control, charset_8_bit_graphic)
13659 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
13660 (define_charset_internal): New function.
13661 (syms_of_charset): Call define_charset_internal for pre-defined
13662 charsets.
13663
13664 * charset.h (charset_8_bit): Extern it.
13665
13666 * coding.c (make_conversion_work_buffer): Adjust for the change
13667 of Fset_buffer_multibyte.
13668 (encode_coding_raw_text): Increment p0 in the loop.
13669
13670 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
13671
13672 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
13673 for the change of Fset_buffer_multibyte.
13674
13675 * fns.c (Fstring_to_multibyte): New function.
13676 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
13677
136782008-02-01 Dave Love <fx@gnu.org>
13679
13680 * xfns.c (x_put_x_image): Declare args.
13681
13682 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
13683 (try_font_list): Declare an arg.
13684
13685 * xdisp.c (message2_nolog, set_message): Declare an arg.
13686
13687 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
13688
13689 * syntax.c (scan_sexps_forward): Declare an arg.
13690
13691 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
13692 Declare an arg.
13693
13694 * lisp.h (Fnew_fontset): Declare.
13695
13696 * keymap.c (push_key_description): Call CHARACTERP correctly.
13697
13698 * fontset.c (fontset_add): Declare args. Call make_number correctly.
13699 (face_for_char): Delete unused vars.
13700 (Fset_fontset_font): Doc fix. Delete unused vars.
13701
13702 * doc.c (Fsubstitute_command_keys): Delete unused vars.
13703
13704 * composite.c (update_compositions): Declare arg.
13705
13706 * cm.c (calccost, cmgoto): Declare args.
13707
13708 * charset.c: Remove `emacs' conditional. Doc fixes.
13709 (map_char_table_for_charset): Declare.
13710
13711 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
13712
13713 * ccl.c: Remove `emacs' conditional.
13714
137152008-02-01 Kenichi Handa <handa@m17n.org>
13716
13717 The following changes are to allow specifying multiple font
13718 patterns for a character range (specified by script or charset).
13719
13720 * Makefile.in (abbrev.o): Depend on syntax.h.
13721 (xfaces.o): Depend on charset.h.
13722
13723 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
13724 SINGLE_BYTE_CHAR_P.
13725
13726 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
13727
13728 * character.h (Vchar_script_table): Extern it.
13729
13730 * character.c (Vscript_alist): Delete.
13731 (Vchar_script_table, Qchar_script_table): New variable.
13732 (syms_of_character): Declare Vchar_script_table as a lisp variable
13733 and initialize it.
13734
13735 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
13736 have property char-table-extra-slots, make no extra slot.
13737
13738 * dispextern.h (struct face): Delete member `charset'.
13739 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
13740 SINGLE_BYTE_CHAR_P.
13741 (choose_face_font, lookup_non_ascii_face, font_name_registry):
13742 Add prototypes.
13743 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
13744 (generate_ascii_font_name): Rename from generate_ascii_font.
13745
13746 * fontset.h (get_font_repertory_func): New prototype.
13747 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
13748 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
13749
13750 * fontset.c (Qprepend, Qappend): New variables.
13751 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
13752 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
13753 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
13754 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
13755 (fontset_ref_and_range, fontset_add, reorder_font_vector)
13756 (load_font_get_repertory): New functions.
13757 (fontset_set): Delete.
13758 (fontset_face): New arg FACE. Return face ID, not face.
13759 Complete re-write to handle new fontset structure. Change caller.
13760 (free_face_fontset): Use ASET istead of AREF (X) = Y.
13761 (face_for_char): Don't call lookup_face.
13762 (make_fontset_for_ascii_face): New arg FACE.
13763 (fs_load_font): New arg CHARSET_ID. Don't check
13764 Vfont_encoding_alist here.
13765 (find_font_encoding): New function.
13766 (list_fontsets): Use STRINGP, not ! NILP.
13767 (accumulate_script_ranges): New function.
13768 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
13769 re-written to handle new fontset structure.
13770 (Ffontset_font): Return a copy of element.
13771 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
13772 docstring of font-encoding-alist.
13773
13774 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
13775 (Fset_fotset_font): Fix arguments to 5.
13776
13777 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
13778
13779 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
13780 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13781 (highlight_trailing_whitespace): Adjust for the change of
13782 lookup_named_face.
13783
13784 * xfaces.c: Include charset.h.
13785 (load_face_font): Delete argument C. Change caller.
13786 (generate_ascii_font_name): Rename from generate_ascii_font.
13787 (font_name_registry): New function.
13788 (cache_face): Store ascii faces before non-ascii faces in buckets.
13789 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
13790 Lookup only ascii faces.
13791 (lookup_non_ascii_face): New function.
13792 (lookup_named_face): Delete argument C. Change caller.
13793 (lookup_derived_face): Delete argument C. Change caller.
13794 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
13795 a string, just call font_list with it.
13796 (choose_face_font): Delete arguments FACE and C. New arg
13797 FONT_SPEC. Change caller.
13798 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
13799 Change caller.
13800 (realize_non_ascii_face): New function.
13801 (realize_x_face): Call load_face_font here.
13802 (realize_tty_face): Delete argument C. Change caller.
13803 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
13804 get a face ID.
13805 (dump_realized_face): Don't print charset of FACE.
13806
13807 * xfns.c (x_set_font): Always call x_new_fontset and
13808 store_frame_parameter.
13809 (Fx_create_frame): Call x_new_fontset, not x_new_font.
13810 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
13811
13812 * xterm.h (x_get_font_repertory): Extern it.
13813
13814 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13815 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13816 it->multibyte_p is zero.
13817 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13818 (x_new_fontset): If FONTSETNAME doesn't match any existing
13819 fontsets, create a new one.
13820 (x_get_font_repertory): New function.
13821
138222008-02-01 Kenichi Handa <handa@m17n.org>
13823
13824 * coding.c (Ffind_coding_systems_region_internal): Detect an
13825 ASCII only string correctly.
13826
13827 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
13828 version is 0.
13829
138302008-02-01 Kenichi Handa <handa@m17n.org>
13831
13832 * lread.c: Include "coding.h".
13833 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
13834 (load_each_byte, unread_char): New variables.
13835 (readchar_backlog): Delete.
13836 (readchar): Return a character unless load_each_byte is nonzero.
13837 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
13838 cons. If unread_char is not -1, simply return it.
13839 (unreadchar): Handle the case that readcharfun is
13840 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
13841 (read_multibyte): Delete.
13842 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
13843 (read_emacs_mule_char): New functions.
13844 (Fload): Even if the file doesn't have the extension ".elc", if
13845 safe_to_load_p returns a positive version number, assume that the
13846 file contains bytecompiled code. If the version is less than 22,
13847 load the file while decoding multibyte sequences by emacs-mule.
13848 (readevalloop): Don't use readchar_backlog.
13849 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
13850 (Fread_from_string): Pay attention to the case that STREAM is a cons.
13851 (read_escape): Delete the arg BYTEREP.
13852 (read1): Set load_each_byte to 1 temporarily while handling
13853 #@NUMBER. Don't call read_multibyte.
13854 (read_vector): Call Fread with a cons. If readcharfun is
13855 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
13856 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
13857 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
13858 and Qload_force_doc_strings.
13859
138602008-02-01 Kenichi Handa <handa@m17n.org>
13861
13862 * xdisp.c (face_before_or_after_it_pos): Call
13863 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13864
138652008-02-01 Kenichi Handa <handa@m17n.org>
13866
13867 * character.h (TRAILING_CODE_P): New macro.
13868 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13869 (string_char_with_unification): Fix prototype.
13870 (Vscript_alist): Extern it.
13871
13872 * character.c (Vscript_alist): New variable.
13873 (string_char_with_unification, str_as_unibyte)
13874 (string_escape_byte8): Add `const' to local variables.
13875 (syms_of_character): Declare script-alist as a Lisp variable.
13876
13877 * charset.h (Vcharset_ordered_list): Extern it.
13878 (charset_ordered_list_tick): Extern it.
13879 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13880 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13881 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13882 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13883 (Funify_charset): Adjust for the change of Funify_charset.
13884
13885 * charset.c (charset_ordered_list_tick): New variable.
13886 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13887 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13888 deunify intead of unify a charset.
13889 (string_xstring_p): Add `const' to local variables.
13890 (find_charsets_in_text): Add `const' to arguments and local variables.
13891 (encode_char): Adjust for the change of Funify_charset. Fix
13892 detecting of invalid code.
13893 (Fset_charset_priority): Increment charset_ordered_list_tick.
13894 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13895 and TO_CODE.
13896
13897 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13898 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13899 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13900 (decode_coding_ccl, consume_chars)
13901 (Ffind_coding_systems_region_internal)
13902 (Fcheck_coding_systems_region): Add `const' to local variables.
13903
13904 * print.c (print_object): Use octal form for printing the
13905 contents of a bool vector.
13906
139072008-02-01 Dave Love <fx@gnu.org>
13908
13909 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13910 <version == 20>: Refuse to load.
13911
139122008-02-01 Dave Love <fx@gnu.org>
13913
13914 * fns.c: Move coding.h.
13915 (Qcodeset, Qdays, Qmonths): New.
13916 (concat): Use CHARACTERP instead of INTEGERP.
13917 (Flocale_codeset): Delete.
13918 (Flanginfo): New function.
13919 (syms_of_fns): Change accordingly.
13920
13921 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13922
139232008-02-01 Dave Love <fx@gnu.org>
13924
13925 * casetab.c (init_casetab_once, init_casetab_once): Fix
13926 CHAR_TABLE_SET call.
13927
13928 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13929
13930 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13931
13932 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13933 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13934 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13935
13936 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13937
13938 * coding.c (ENCODE_DESIGNATION, decode_eol)
13939 (make_conversion_work_buffer, code_conversion_restore)
13940 (Fdefine_coding_system_internal): Convert Lisp types.
13941 (code_conversion_restore): Use EQ, not ==.
13942 (Fencode_coding_string): Fix code_convert_string call.
13943
13944 * coding.h (code_convert_region): Fix prototype.
13945
13946 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13947
13948 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13949 (Ffontset_info): Convert Lisp types.
13950
13951 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13952
13953 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13954
13955 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13956
13957 * chartab.c: Include "...h", not <...h> in some cases.
13958
13959 * callproc.c (Fcall_process): Remove unused variables.
13960
139612008-02-01 Dave Love <fx@gnu.org>
13962
13963 * coding.c (Fset_coding_system_priority): Allow null arg list.
13964
139652008-02-01 Dave Love <fx@gnu.org>
13966
13967 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13968 (Fself_insert_and_exit): Use CHARACTERP.
13969
13970 * callproc.c (Fcall_process): Remove unused vars.
13971
13972 * xterm.c (XTread_socket): Add extra dead keysyms.
13973
13974 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13975
13976 * dispextern.h: Remove prototypes for redraw_frame,
13977 redraw_garbaged_frames.
13978
13979 * cmds.c (Fself_insert_command): Use CHARACTERP.
13980
13981 * chartab.c (make_sub_char_table): Remove unused var.
13982 (Fset_char_table_default, Fmap_char_table): Doc fix.
13983
13984 * keymap.c (access_keymap): Remove generic char code.
13985 (push_key_description): Use CHARACTERP.
13986
139872008-02-01 Dave Love <fx@gnu.org>
13988
13989 * charset.c: Doc fixes.
13990 (Funify_charset): Extra checking.
13991
139922008-02-01 Dave Love <fx@gnu.org>
13993
13994 * lread.c: Remove some unused variables.
13995 (safe_to_load_p): If safe, return the magic number version byte.
13996 (Fload): Maybe use load-with-code-conversion.
13997
139982008-02-01 Kenichi Handa <handa@m17n.org>
13999
14000 * category.c (Fmodify_category_entry): Don't modify the contents
14001 of category_set for characters out of the range. Avoid
14002 unnecessary modification.
14003
14004 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
14005 Vchar_unify_table. The default value of the table is now nil.
14006
14007 * character.c (syms_of_character): Setup Vchar_width_table for
14008 eight-bit-control and raw-byte chars.
14009
14010 * charset.h (enum define_charset_arg_index): Delete
14011 charset_arg_parents and add charset_arg_subset and
14012 charset_arg_superset.
14013 (enum charset_attr_index): Delete charset_parents and add
14014 charset_subset and charset_superset.
14015 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
14016 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
14017 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
14018 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
14019 (CHARSET_SUPERSET): New macros.
14020 (charset_work): Extern it.
14021 (ENCODE_CHAR): Use charset_work.
14022 (CHAR_CHARSET_P): Adjust for the change of encoder format.
14023 (map_charset_chars): Extern it.
14024
14025 * charset.c (load_charset_map): Set the default value of encoder
14026 and deunifier char-tables to nil.
14027 (map_charset_chars): Change argument. Change callers. Use
14028 map_char_table_for_charset instead of map_char_table.
14029 (Fmap_charset_chars): New optional args from_code and to_code.
14030 (Fdefine_charset_internal): Adjust for the change of
14031 `define-charset' (:parents -> :subset or :superset).
14032 (charset_work): New variable.
14033 (encode_char, syms_of_charset): Adjust for the change of
14034 Fdefine_charset_internal.
14035 (Ffind_charset_string): Setup the vector `charsets' correctly.
14036
14037 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
14038 the previous change.
14039 (char_table_ref_and_range): Adjust for the above change.
14040 (map_sub_char_table_for_charset): New function.
14041 (map_char_table_for_charset): New function.
14042
14043 * keymap.c (describe_vector): Handle a char-table directly here.
14044 (describe_char_table): Delete.
14045
14046 * lisp.h (map_charset_chars): Delete.
14047
140482008-02-01 Dave Love <fx@gnu.org>
14049
14050 * fns.c (count_combining): Comment out (unused).
14051 (Flocale_codeset): New.
14052 (syms_of_fns): Defsubr it.
14053
14054 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
14055 (size_t): Remove.
14056
140572008-02-01 Dave Love <fx@gnu.org>
14058
14059 * Makefile.in (chartab.o): Depend on charset.h.
14060
140612008-02-01 Kenichi Handa <handa@m17n.org>
14062
14063 * character.c (syms_of_character): Set the default value of
14064 Vprintable_chars to Qnil.
14065
140662008-02-01 Dave Love <fx@gnu.org>
14067
14068 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
14069
140702008-02-01 Kenichi Handa <handa@m17n.org>
14071
14072 * charset.c (load_charset_map): Handle the case that from < to
14073 correctly.
14074
14075 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
14076 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
14077 Pay attention to raw-8-bit chars.
14078
140792008-02-01 Kenichi Handa <handa@m17n.org>
14080
14081 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
14082 It is not bytecompiled now.
14083
14084 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
14085 (charset_jisx0208): New variables.
14086 (Fdefine_charset_internal): Setup them if appropriate.
14087 (init_charset_once): Initialize them to -1.
14088
14089 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
14090 (charset_jisx0208): Extern them.
14091
14092 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
14093 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
14094 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
14095 (setup_iso_safe_charsets): Fix arguments to Fassq.
14096 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
14097 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
14098 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
14099 (encode_coding_iso_2022): Change the 1st arg to
14100 ENCODE_ISO_CHARACTER to a variable.
14101
141022008-02-01 Kenichi Handa <handa@m17n.org>
14103
14104 * charset.h (enum define_charset_arg_index): New enums
14105 charset_arg_min_code and charset_arg_max_code.
14106 (struct charset): New member char_index_offset.
14107
14108 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
14109 Take charset->char_index_offset into account.
14110 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
14111 args[charset_arg_max_code]. Setup charset.char_index_offset.
14112 (syms_of_charset): Fix args to Fdefine_charset_internal.
14113
141142008-02-01 Dave Love <fx@gnu.org>
14115
14116 * coding.c (decode_coding_utf_8): Reject overlong sequences.
14117
141182008-02-01 Dave Love <fx@gnu.org>
14119
14120 * coding.c: Doc fixes.
14121 (Fcoding_system_aliases): Fix return value.
14122 (Qmac): Remove (duplicated) definition.
14123
141242008-02-01 Dave Love <fx@gnu.org>
14125
14126 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
14127 functions.
14128
14129 * character.c (Fstring): Doc fix.
14130
14131 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
14132
14133 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
14134 ids.
14135 (font-encoding-alist): Doc fix.
14136
141372008-02-01 Dave Love <fx@gnu.org>
14138
14139 * term.c (costs_set): Declare static, non-initialized for pcc.
14140 (encode_terminal_code): Remove unused var.
14141
14142 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
14143 for K&R.
14144
14145 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
14146
14147 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
14148 (suffixes): Move out of make_subsidiaries for K&R.
14149
14150 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
14151
14152 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
14153
141542008-02-01 Dave Love <fx@gnu.org>
14155
14156 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
14157
14158 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
14159
141602008-02-01 Yong Lu <lyongu@asia-infonet.com>
14161
14162 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
14163
14164 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
14165
141662008-02-01 Kenichi Handa <handa@m17n.org>
14167
14168 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
14169 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
14170
141712008-02-01 Kenichi Handa <handa@m17n.org>
14172
14173 * coding.c (decode_coding_charset): Adjust for the change of
14174 Fdefine_coding_system_internal.
14175 (Fdefine_coding_system_internal): For a coding system of
14176 `charset' type, store a list of charset IDs in
14177 `charset_attr_charset_valids' element of coding attributes.
14178
141792008-02-01 Kenichi Handa <handa@m17n.org>
14180
14181 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
14182 (emacs_mule_char): New arg src. Delete arg `composition'. Change
14183 caller. Handle 2-byte and 3-byte charsets correctly.
14184 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
14185 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
14186 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
14187 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14188 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
14189 sequence.
14190 (decode_coding_emacs_mule): Handle composition correctly. Rewind
14191 `src' and `consumed_chars' correctly before calling emacs_mule_char.
14192 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
14193 and alt&rule composition.
14194 (decode_coding_iso_2022): Handle composition correctly.
14195 (init_coding_once): Setup emacs_mule_bytes for private charsets.
14196
14197 * charset.c (Fdefine_charset_internal): Fix bug for the case of
14198 re-defining a charset. If the charset has :emacs-mule-id, setup
14199 emacs_mule_bytes.
14200 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
14201
142022008-02-01 Kenichi Handa <handa@m17n.org>
14203
14204 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
14205 (encode_coding_big5, encode_coding_charset): If coding requires safe
14206 encoding, produce a character specified by
14207 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
14208
142092008-02-01 Dave Love <fx@gnu.org>
14210
14211 * xterm.c (XSetIMValues): Declare.
14212
14213 * process.c: Conditionally include sys/wait.h, pty.h.
14214
14215 * print.c (print_object): Fix print format for 64-bit systems.
14216
14217 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
14218
14219 * buffer.c (emacs_strerror): Declare.
14220
14221 * fontset.c (Fclear_face_cache): Declare.
14222 (accumulate_font_info): Comment-out (unused).
14223 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
14224 variables.
14225
14226 * character.h (string_escape_byte8): Declare.
14227
14228 * charset.c (load_charset_map, load_charset_map_from_file): Remove
14229 unused vars.
14230 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
14231 (Fmap_charset_chars): Doc fix.
14232
14233 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
14234 (Fset_coding_system_priority, Fset_coding_system_priority)
14235 (Fdefine_coding_system_internal): Doc fix.
14236
142372008-02-01 Dave Love <fx@gnu.org>
14238
14239 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
14240
142412008-02-01 Kenichi Handa <handa@m17n.org>
14242
14243 * character.c (string_escape_byte8): Make multibyte string with
14244 correct size.
14245
14246 * charset.c (Fmake_char): Delete unnecessary code.
14247
142482008-02-01 Kenichi Handa <handa@m17n.org>
14249
14250 * xfns.c (x_encode_text): Allocate coding.destination here, and
14251 call encode_coding_object with dst_object Qnil.
14252
14253 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
14254 multibyte form correctly.
14255
14256 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
14257 against Vfont_encoding_alist.
14258
14259 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
14260 handling of charset list.
14261 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
14262 (decode_coding_object): Move point to coding->dst_pos before
14263 calling post-read-conversion function.
14264 (encode_coding_object): Give correct arguments to
14265 pre-write-conversion. Ignore the return value of
14266 pre-write-conversion function. Pay attention to the case that
14267 pre-write-conversion changes the current buffer. If dst_object is
14268 Qt, even if coding->src_bytes is zero, allocate at least one byte
14269 to coding->destination.
14270
14271 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
14272
14273 * charset.c (Fmake_char): Make it more backward compatible.
14274 (Fmap_charset_chars): Fix docstring.
14275
142762008-02-01 Dave Love <fx@gnu.org>
14277
14278 * coding.c: Doc fixes.
14279 (Fdefine_coding_system_alias): Use names, not symbols, in
14280 coding-system-alist.
14281
142822008-02-01 Kenichi Handa <handa@m17n.org>
14283
14284 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
14285 of calling free_realized_face.
14286
142872008-02-01 Yong Lu <lyongu@asia-infonet.com>
14288
14289 * charset.c (read_hex): Don't treat SPC as a comment starter.
14290 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
14291 (Fdecode_char): Fix typo.
14292
142932008-02-01 Kenichi Handa <handa@m17n.org>
14294
14295 * charset.h (struct charset): New member `code_space_mask'.
14296
14297 * coding.c (coding_set_source): Delete the local variable beg_byte.
14298 (encode_coding_charset, Fdefine_coding_system_internal):
14299 Delete the local variable charset.
14300 (Fdefine_coding_system_internal): Setup
14301 attrs[coding_attr_charset_valids] correctly.
14302
14303 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
14304 member to check if CODE is valid or not.
14305 (Fdefine_charset_internal): Initialize `code_space_mask' member.
14306 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
14307 is within the range of charset->min_code and carset->max_code.
14308
143092008-02-01 Dave Love <fx@gnu.org>
14310
14311 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
14312
14313 * dispextern.h (generate_ascii_font): Fix return type.
14314
14315 * xfaces.c (generate_ascii_font): Fix arg declaration.
14316
14317 * coding.c (coding_inherit_eol_type)
14318 (Fset_terminal_coding_system_internal)
14319 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
14320
143212008-02-01 Kenichi Handa <handa@m17n.org>
14322
14323 * coding.c (decode_coding_charset, encode_coding_charset): Handle
14324 multiple charsets correctly.
14325
143262008-02-01 Kenichi Handa <handa@m17n.org>
14327
14328 * search.c (boyer_moore): Fix handling of multibyte character
14329 translation.
14330
14331 * xdisp.c (display_mode_element): When the variable `elt' is
14332 changed, update `this' and `lisp_string'.
14333
143342008-02-01 Kenichi Handa <handa@m17n.org>
14335
14336 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
14337
14338 * callproc.c (Fcall_process): Be sure to give the current buffer
14339 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
14340
14341 * charset.c (struct charset_map_entries): New struct.
14342 (load_charset_map): Rename from parse_charset_map. New args
14343 entries and n_entries. Change caller.
14344 (load_charset_map_from_file): Rename from load_charset_map.
14345 Change caller. New arg control_flag. Call load_charset_map at
14346 the tail.
14347 (load_charset_map_from_vector): New function.
14348 (Fdefine_charset_internal): Setup charset.compact_codes_p.
14349 (encode_char): If the charset is compact, change a character index
14350 to a code point.
14351
14352 * coding.c (coding_alloc_by_making_gap): Check the case that the
14353 source and destination are the same correctly.
14354 (decode_coding_raw_text): Set coding->consumed_char and
14355 coding->consumed to 0.
14356 (produce_chars): If coding->chars_at_source is nonzero, update
14357 coding->consumed_char and coding->consumed before calling
14358 alloc_destination.
14359 (Fdefine_coding_system_alias): Register ALIAS in
14360 Vcoding_system_alist.
14361 (syms_of_coding): Define `no-conversion' coding system at the tail.
14362
14363 * fileio.c (Finsert_file_contents): Set coding_system instead of
14364 val. If the current buffer is multibyte, always call
14365 decode_coding_gap.
14366
14367 * xfaces.c (try_font_list): Give higher priority to fontset's
14368 family than face's family.
14369
143702008-02-01 Kenichi Handa <handa@m17n.org>
14371
14372 * callproc.c (Fcall_process): Be sure to give the current buffer
14373 to decode_coding_c_string.
14374
14375 * xfaces.c (try_font_list): Give a family specified in a fontset
14376 higher priority than a family specified in a face.
14377
143782008-02-01 Kenichi Handa <handa@m17n.org>
14379
14380 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
14381 Fix arguments to insert_from_buffer.
14382
14383 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
14384
143852008-02-01 Kenichi Handa <handa@m17n.org>
14386
14387 * coding.c (produce_chars): Set the variable `multibytep' correctly.
14388 (decode_coding_gap): Set coding->dst_multibyte correctly.
14389
143902008-02-01 Kenichi Handa <handa@m17n.org>
14391
14392 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
14393 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
14394 (encode_coding_utf_16): Substitute coding->default_char for
14395 non-Unicode characters.
14396 (decode_coding): Don't call record_insert here.
14397 (setup_coding_system): Initialize `surrogate' of
14398 coding->spec.utf_16 to 0.
14399 (EMIT_ONE_BYTE): Fix for multibyte case.
14400
14401 * insdel.c (insert_from_gap): Call record_insert.
14402
144032008-02-01 Kenichi Handa <handa@m17n.org>
14404
14405 * casefiddle.c (casify_region): Fix multibyte case.
14406
14407 * character.c (c_string_width): Add return type `int'.
14408 (char_string_with_unification): Delete arg ADVANCED.
14409
14410 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
14411 (CHAR_STRING): Adjust for the change of char_string_with_unification.
14412 (CHAR_STRING_ADVANCE): Make it do-while statement.
14413
14414 * chartab.c (sub_char_table_set_range): Optimize for the case
14415 DEPTH == 3. Add workaround code for a GCC optimization bug.
14416
14417 * charset.c (parse_charset_map): Remove an unused variable.
14418
14419 * coding.c: Delete unused variables.
14420
14421 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
14422 earlier. If inserted is zero and the coding system doesn't
14423 require flushing, don't call decode_coding_gap.
14424
14425 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
14426
144272008-02-01 Kenichi Handa <handa@m17n.org>
14428
14429 The following changes are for using Unicode as an internal
14430 character model, and use UTF-8 format for buffer/string
14431 representation.
14432
14433 * .gdbinit (xchartable): Adjust for the change of char table structure.
14434 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
14435
14436 * Makefile.in (obj): Add character.o and chartab.o.
14437 (lisp, shortlisp): Remove utf-8.elc.
14438 (*.o): For many files, change dependency on charset.h to
14439 character.h, and add dependency on character.h.
14440 (character.o, chartab.o): New targets.
14441
14442 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14443 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14444 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14445 of "charset.h".
14446
14447 * dired.c, filelock.c: Include "character.h".
14448
14449 * alloc.c: Include "character.h" instead of "charset.h".
14450 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14451 (syms_of_alloc): Remove defsubr for Smake_char_table.
14452
14453 * buffer.c: Include "character.h" instead of "charset.h", don't
14454 include "coding.h".
14455 (Fset_buffer_multibyte): Adjust for UTF-8.
14456
14457 * buffer.h: EXFUN Fbuffer_live_p.
14458
14459 * callproc.c: Include "character.h" instead of "charset.h".
14460 (Fcall_process): Big change for the new code-conversion APIs.
14461
14462 * casetab.c: Include "character.h" instead of "charset.h".
14463 (set_canon, set_identity, shuffle): Adjust for the new
14464 map_char_table spec.
14465 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14466 accessing the char table structure.
14467
14468 * chartab.c: New file that implements char table.
14469
14470 * category.c: Include "character.h".
14471 (copy_category_entry): New function.
14472 (copy_category_table): Call map_char_table and copy_category_entry.
14473 (Fmake_category_table): Initialize all top-level slots.
14474 (char_category_set): New function.
14475 (modify_lower_category_set): Delete.
14476 (Fmodify_category_entry): Call char_table_ref_and_range.
14477
14478 * category.h (CATEGORY_SET): Just call char_category_set.
14479
14480 * ccl.c: Include "character.h".
14481 (Qccl, Qcclp): New variables.
14482 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14483 it's less than 256.
14484 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14485 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14486 and DST type.
14487 (ccl_driver): Change types of argument, adjust code accordingly.
14488 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14489 ccl_driver.
14490 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14491
14492 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14493 New members src_multibyte, dst_multibyte, consumed, and produced.
14494 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14495 (CODING_SPEC_CCL_PROGRAM): New macro.
14496 (ccl_driver): Update prototype.
14497 (Qccl, Qcclp, Fccl_program_p): Extern them.
14498 (CHECK_CCL_PROGRAM): New macro.
14499
14500 * character.c, character.h, chartab.c: New files.
14501
14502 * charset.c: Mostly re-written. Move character and multibyte sequence
14503 handling codes to character.c.
14504
14505 * charset.h: Mostly re-written. Move character and multibyte sequence
14506 handling codes to character.h.
14507
14508 * coding.c, coding.h: Mostly re-written.
14509
14510 * composite.c: Include "character.h" instead of "charset.h".
14511 (CHAR_WIDTH): Move to character.h.
14512 (HASH_KEY, HASH_VALUE): Delete.
14513
14514 * composite.h (enum composition_method): Change order of enumeration
14515 symbols.
14516
14517 * data.c: Include "character.h" instead of "charset.h".
14518 (Faref): Call CHAR_TABLE_REF for a char table.
14519 (Faset): Call CHAR_TABLE_SET for a char table.
14520
14521 * dispextern.h (free_realized_face, check_face_attribytes)
14522 (generate_ascii_font): Extern them.
14523 (free_realized_multibyte_face): Delete extern.
14524
14525 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14526 table structure.
14527
14528 * editfns.c: Include "character.h" instead of "charset.h".
14529 (Fchar_to_string): Always call CHAR_STRING.
14530
14531 * emacs.c (main): Call init_charset_once, init_charset,
14532 syms_of_chartab, and syms_of_character.
14533
14534 * fileio.c: Include "character.h" instead of "charset.h".
14535 (Finsert_file_contents): Big change for the new code-conversion API.
14536 (choose_write_coding_system, Fwrite_region): Likewise.
14537 (build_annotations_2): Delete.
14538 (e_write): Big change for the new code-conversion API.
14539
14540 * fns.c: Include "character.h" instead of "charset.h".
14541 (copy_sub_char_table): Move to chartab.c.
14542 (Fcopy_sequence): Call copy_char_table for a char table.
14543 (concat): Delete codes calling count_multibyte.
14544 (string_char_to_byte, string_byte_to_char): Adjust for the new
14545 multibyte form.
14546 (internal_equal): Adjust for the change of char table structure.
14547 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
14548 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
14549 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
14550 (char_table_translate, optimize_sub_char_table)
14551 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
14552 chartab.c.
14553 (char_table_ref_and_index): Delete.
14554 (HASH_KEY, HASH_VALUE): Move to lisp.h.
14555 (Fmd5): Call preferred_coding_system instead of accessing
14556 Vcoding_category_list. Adjust for the new code-conversion API.
14557 (syms_of_fns): Move defsubr for char table related functions to
14558 chartab.c.
14559
14560 * fontset.c: Mostly re-written.
14561
14562 * fontset.h (struct font_info): Change type of the member encoding_type.
14563 (enum FONT_SPEC_INDEX): New enum.
14564 (fontset_font_pattern, fs_load_font): Update prototype.
14565 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
14566
14567 * indent.c: Include "character.h" instead of "charset.h".
14568 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
14569
14570 * insdel.c: Include "character.h" instead of "charset.h".
14571 (copy_text): Don't refer to Vnonascii_translation_table.
14572 (insert_from_gap): New function.
14573
14574 * keyboard.c: Include "character.h" instead of "charset.h".
14575 (command_loop_1): Never call direct_output_forward_char before
14576 a non-ASCII character.
14577 (read_char): If Vkeyboard_translate_table is a char table, always
14578 translate a character.
14579
14580 * keymap.c: Include "character.h".
14581 (store_in_keymap): Handle the case that IDX is a cons.
14582 (Fdefine_key): Handle the case that KEY is a cons and the car part
14583 is also a cons (range).
14584 (push_key_description): Adjust for the new character code.
14585 (describe_vector): Call describe_char_table for a char table.
14586 (describe_char_table): New function.
14587
14588 * keymap.h (describe_char_table): Extern it.
14589
14590 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
14591 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
14592 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
14593 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
14594 Delete.
14595 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
14596 structure.
14597 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
14598 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
14599 (CHARTAB_SIZE_BITS_3): New macros.
14600 (chartab_size): Extern it.
14601 (struct Lisp_Char_Table): Re-design.
14602 (struct Lisp_Sub_Char_Table): New structure.
14603 (HASH_KEY, HASH_VALUE): Move from fns.c.
14604 (CHARACTERBITS): Define as 22.
14605 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
14606 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
14607 (GC_SUB_CHAR_TABLE_P): New macro.
14608 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
14609 (code_convert_string_norecord): Deleted extern.
14610 (init_character_once, syms_of_character, init_charset)
14611 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
14612
14613 * lread.c: Include "character.h".
14614 (read_multibyte): New arg NBYTES.
14615 (read_escape): Change the meaning of returned *BYTEREP.
14616 (to_multibyte): Delete.
14617 (read1): Adjust the handling of char table and string.
14618
14619 * print.c: Include "character.h" instead of "charset.h".
14620 (print_string): Convert 8-bit raw bytes to octal form by
14621 string_escape_byte8.
14622 (print_object): Adjust for the new multibyte form. Print 8-bit
14623 raw bytes always in octal form. Handle sub char table correctly.
14624
14625 * process.c: Include "character.h" instead of "charset.h".
14626 (read_process_output, send_process): Adjust for the new
14627 code-conversion API.
14628
14629 * puresize.h (BASE_PURESIZE): Increase.
14630
14631 * regex.c: Include "character.h" instead of "charset.h".
14632 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
14633 (regex_compile): Accept a range whose starting and ending
14634 character have different leading bytes.
14635 (analyse_first): Adjust for the above change.
14636
14637 * search.c: Include "character.h" instead of "charset.h".
14638 (search_buffer, boyer_moore): Adjust for the new multibyte form.
14639 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
14640
14641 * syntax.c: Include "character.h" instead of "charset.h".
14642 (syntax_parent_lookup): Delete.
14643 (Fmodify_syntax_entry): Accept a cons as CHAR.
14644 (skip_chars): Adjust for the new multibyte form.
14645 (init_syntax_once): Call char_table_set_range instead of directly
14646 accessing the structure of a char table.
14647
14648 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
14649 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
14650 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
14651 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
14652
14653 * term.c: Include "buffer.h" and "character.h".
14654 (encode_terminal_code, write_glyphs): Adjust for the new
14655 code-conversion API.
14656 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
14657
14658 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
14659
14660 * xdisp.c: Include "character.h".
14661 (get_next_display_element): Adjust for the new multibyte form.
14662 (disp_char_vector): Adjust for the new char table structure.
14663 (decode_mode_spec_coding): Adjust for the new structure of
14664 coding system.
14665 (decode_mode_spec): Adjust for the new code-conversion API.
14666
14667 * xfaces.c: Include "character.h" instead of "charset.h".
14668 (load_face_font): Adjust for the change of choose_face_font and
14669 FS_LOAD_FONT.
14670 (generate_ascii_font): New function.
14671 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
14672 (set_font_frame_param): Adjust for the change of choose_face_font.
14673 (free_realized_face): Make it public.
14674 (free_realized_faces_for_fontset): Rename from
14675 free_realized_multibyte_face. Free also faces realized for ASCII.
14676 (choose_face_font): Change arguments. Adjust for the change of
14677 fontset_font_pattern and FS_LOAD_FONT.
14678
14679 * xfns.c: Include "character.h".
14680 (x_encode_text): Adjust for the new code-conversion API.
14681
14682 * xselect.c: Don't include "charset.h".
14683 (selection_data_to_lisp_data): Adjust for the new code conversion API.
14684
14685 * xterm.c: Include "character.h".
14686 (x_encode_char): New argument CHARSET. Change caller.
14687 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
14688 Call ENCODE_CHAR instead of SPLIT_CHAR.
14689 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
14690 CHAR_WIDTH instead of CHARSET_WIDTH.
14691 (XTread_socket): Adjust for the new code-conversion API.
14692 (x_new_font): Adjust for the change of FS_LOAD_FONT.
14693 (x_load_font): Adjust for the change of struct font.
14694
146952008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
14696
14697 * xfaces.c (face_at_buffer_position): Remove unused vars.
14698
146992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14700
14701 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
14702 Fix overflow checking.
14703
147042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14705
14706 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
14707 Cancel previous change.
14708
147092008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14710
14711 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
14712 ccl->eight_bit_control. Fix check for buffer overflow.
14713 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
14714 (ccl_driver): Initialize extra_bytes to 0.
14715
147162008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14717
14718 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
14719 return it ORed with ctrl_modifier.
14720
147212008-01-29 Miles Bader <miles@gnu.org>
14722
14723 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
14724
147252008-01-28 Jason Rumney <jasonr@gnu.org>
14726
14727 * w32.c (stat): Don't double check for networked drive.
14728
147292008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
14730
14731 * window.c (run_window_configuration_change_hook): New function.
14732 Code extracted from set_window_buffer. Set the selected frame.
14733 (set_window_buffer): Use it.
14734 * window.h (run_window_configuration_change_hook): Declare.
14735 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
14736
14737 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
14738
147392008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
14740
14741 * Makefile.in: Remove references to unused macros.
14742
147432008-01-26 Eli Zaretskii <eliz@gnu.org>
14744
14745 * w32.c (g_b_init_get_sid_sub_authority)
14746 (g_b_init_get_sid_sub_authority_count): New static variables.
14747 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
14748 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
14749 (init_user_info): Use them to retrieve uid and gid.
14750 Use 500/513, the Windows defaults, as Administrator's uid/gid.
14751 (fstat): Use pw_uid and pw_gid from the_passwd structure for
14752 st_uid and st_gid of the file.
14753
147542008-01-26 Jason Rumney <jasonr@gnu.org>
14755
14756 * w32.c (logon_network_drive): New function.
14757 (stat): Use it.
14758
147592008-01-26 Chong Yidong <cyd@stupidchicken.com>
14760
14761 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
14762 invisible text covered with an ellipsis.
14763
147642008-01-25 Richard Stallman <rms@gnu.org>
14765
14766 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
14767 jump back to beginning. Move some other initializations after that.
14768 (Qwindow_text_change_functions, Vwindow_text_change_functions):
14769 New variables.
14770 (syms_of_xdisp): Init them.
14771
14772 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
14773
14774 * buffer.c (reset_buffer_local_variables):
14775 Implement `permanent-local-hook'.
14776 (Qpermanent_local_hook): New variable.
14777 (syms_of_buffer): Init and staticpro it.
14778
147792008-01-25 Michael Albinus <michael.albinus@gmx.de>
14780
14781 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
14782
147832008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
14784
14785 * fns.c (Fclrhash): Return TABLE.
14786
147872008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14788
14789 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
14790 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
14791 is set even without positional changes.
14792 (x_scroll_bar_clear): Set bar->redraw_needed_p.
14793
14794 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
14795
147962008-01-23 Jason Rumney <jasonr@gnu.org>
14797
14798 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
14799
14800 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
14801 the unicode range available in MULE by locale-coding-system.
14802 Improve dbcs lead byte detection. Set event timestamp and modifiers
14803 earlier.
14804
148052008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14806
14807 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
14808 [MAC_OSX] (init_mac_osx_environment): Initialize it.
14809 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
14810 when used on child processes.
14811
148122008-01-21 Michael Albinus <michael.albinus@gmx.de>
14813
14814 * dbusbind.c (Fdbus_method_return_internal): Rename from
14815 Fdbus_method_return.
14816 (Fdbus_unregister_object): Move to dbus.el.
14817 (Fdbus_call_method, Fdbus_method_return_internal)
14818 (Fdbus_send_signal): Improve debug messages.
14819
148202008-01-20 Martin Rudalics <rudalics@gmx.at>
14821
14822 * undo.c (undo_inhibit_record_point): New variable.
14823 (syms_of_undo): Initialize it.
14824 (record_point): Don't record point when undo_inhibit_record_point
14825 is set.
14826
148272008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
14828
14829 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
14830
14831 * xdisp.c (Qauto_hscroll_mode): New var.
14832 (syms_of_xdisp): Initialize it.
14833 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
14834 window's buffer.
14835 (hscroll_windows): Don't check automatic_hscrolling_p here.
14836
14837 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
14838 vscroll if we're setting window-buffer to the value it already has.
14839
148402008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
14841
14842 * m/intel386.h: Remove references to XENIX.
14843
148442008-01-17 Andreas Schwab <schwab@suse.de>
14845
14846 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
14847 instead of HAVE_X86_64_LIB64_DIR.
14848 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
14849
148502008-01-17 Glenn Morris <rgm@gnu.org>
14851
14852 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
14853 to HAVE_X86_64_LIB64_DIR.
14854
148552008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
14856
14857 * s/irix3-3.h:
14858 * s/irix4-0.h:
14859 * s/386-ix.h:
14860 * s/domain.h:
14861 * s/hpux9-x11r4.h:
14862 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14863
14864 * sysdep.c: Remove code containing references to symbols defined
14865 by unsupported systems.
14866
148672008-01-16 Glenn Morris <rgm@gnu.org>
14868
14869 * coding.c (select-safe-coding-system-function): Doc fix.
14870
148712008-01-15 Glenn Morris <rgm@gnu.org>
14872
14873 * config.in: Revert 2008-01-13 change: this is a generated file.
14874
148752008-01-13 Tom Tromey <tromey@redhat.com>
14876
14877 * lisp.h: Fix typo.
14878
148792008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14880
14881 * m/sequent-ptx.h:
14882 * m/sequent.h:
14883 * s/ptx.h:
14884 * s/ptx4-2.h:
14885 * s/ptx4.h: Remove files for systems no longer supported.
14886
14887 * callproc.c (Fcall_process): Fix previous change.
14888
148892008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14890
14891 * unexsunos4.c: Remove file, system not supported anymore.
14892
14893 * m/mips.h:
14894 * m/intel386.h:
14895 * callproc.c:
14896 * config.in:
14897 * ecrt0.c:
14898 * emacs.c:
14899 * fileio.c:
14900 * frame.c:
14901 * getpagesize.h:
14902 * keyboard.c:
14903 * lread.c:
14904 * process.c:
14905 * puresize.h:
14906 * sysdep.c:
14907 * systty.h:
14908 * syswait.h:
14909 * unexec.c:
14910 * xdisp.c:
14911 * alloc.c: Remove code containing references to symbols defined by
14912 unsupported systems.
14913
149142008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14915
14916 * coding.c (detect_coding_mask): Fix previous change.
14917
149182008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14919
14920 * coding.c (detect_coding_iso2022): New arg
14921 latin_extra_code_state. Allow Latin extra codes only
14922 when *latin_extra_code_state is nonzero.
14923 (detect_coding_mask): If there is a NULL byte, detect the encoding
14924 as UTF-16 or binary. If Latin extra codes exist, detect the
14925 encoding as ISO-2022 only when there's no other proper encoding is
14926 found.
14927
149282008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14929
14930 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14931 #ifdef MAC_OS.
14932
149332008-01-08 Richard Stallman <rms@gnu.org>
14934
14935 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14936
149372008-01-06 Nick Roberts <nickrob@snap.net.nz>
14938
14939 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14940 menu bar in parentheses.
14941
149422008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14943
14944 * m/7300.h:
14945 * m/acorn.h:
14946 * m/alliant-2800.h:
14947 * m/alliant.h:
14948 * m/alliant1.h:
14949 * m/alliant4.h:
14950 * m/altos.h:
14951 * m/amdahl.h:
14952 * m/apollo.h:
14953 * m/att3b.h:
14954 * m/aviion-intel.h:
14955 * m/aviion.h:
14956 * m/celerity.h:
14957 * m/clipper.h:
14958 * m/cnvrgnt.h:
14959 * m/convex.h:
14960 * m/cydra5.h:
14961 * m/delta88k.h:
14962 * m/dpx2.h:
14963 * m/dual.h:
14964 * m/elxsi.h:
14965 * m/f301.h:
14966 * m/gould-np1.h:
14967 * m/gould.h:
14968 * m/i860.h:
14969 * m/ibmps2-aix.h:
14970 * m/ibmrt-aix.h:
14971 * m/ibmrt.h:
14972 * m/irist.h:
14973 * m/is386.h:
14974 * m/isi-ov.h:
14975 * m/mega68.h:
14976 * m/mg1.h:
14977 * m/news-r6.h:
14978 * m/news-risc.h:
14979 * m/news.h:
14980 * m/nh3000.h:
14981 * m/nh4000.h:
14982 * m/ns16000.h:
14983 * m/ns32000.h:
14984 * m/nu.h:
14985 * m/orion.h:
14986 * m/orion105.h:
14987 * m/paragon.h:
14988 * m/pfa50.h:
14989 * m/plexus.h:
14990 * m/pyramid.h:
14991 * m/pyrmips.h:
14992 * m/sh3el.h:
14993 * m/sps7.h:
14994 * m/sr2k.h:
14995 * m/stride.h:
14996 * m/sun1.h:
14997 * m/sun2.h:
14998 * m/sun3-68881.h:
14999 * m/sun3-fpa.h:
15000 * m/sun3-soft.h:
15001 * m/sun3.h:
15002 * m/sun386.h:
15003 * m/symmetry.h:
15004 * m/tad68k.h:
15005 * m/tahoe.h:
15006 * m/targon31.h:
15007 * m/tek4300.h:
15008 * m/tekxd88.h:
15009 * m/tower32.h:
15010 * m/tower32v3.h:
15011 * m/ustation.h:
15012 * m/wicat.h:
15013 * m/xps100.h:
15014 * s/cxux.h:
15015 * s/cxux7.h:
15016 * s/dgux.h:
15017 * s/dgux4.h:
15018 * s/dgux5-4-3.h:
15019 * s/dgux5-4r2.h:
15020 * s/esix.h:
15021 * s/esix5r4.h:
15022 * s/hiuxmpp.h:
15023 * s/hiuxwe2.h:
15024 * s/iris3-5.h:
15025 * s/iris3-6.h:
15026 * s/isc2-2.h:
15027 * s/isc3-0.h:
15028 * s/isc4-0.h:
15029 * s/isc4-1.h:
15030 * s/newsos5.h:
15031 * s/newsos6.h:
15032 * s/osf1.h:
15033 * s/osf5-0.h:
15034 * s/riscix1-1.h:
15035 * s/riscix12.h:
15036 * s/sco4.h:
15037 * s/sco5.h:
15038 * s/sunos4-0.h:
15039 * s/sunos4-1.h:
15040 * s/sunos413.h:
15041 * s/sunos4shr.h:
15042 * s/umax.h:
15043 * s/unipl5-2.h:
15044 * s/xenix.h:
15045 * cxux-crt0.s:
15046 * unexapollo.c:
15047 * unexconvex.c:
15048 * unexenix.c:
15049 * unexsni.c: Remove files for systems no longer supported.
15050
15051 * m/intel386.h: Remove references to unsupported systems.
15052
15053 * w32.c (get_emacs_configuration): Remove reference to i860.
15054
15055 * sysdep.c: Remove dead code.
15056
150572008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
15058
15059 * s/rtu.h:
15060 * m/masscomp.h: Remove files. Platform is obsolete.
15061
150622008-01-04 Michael Albinus <michael.albinus@gmx.de>
15063
15064 * dbusbind.c (Fdbus_method_return): New function.
15065 (xd_read_message): Add the serial number to the event.
15066 (Fdbus_register_method): Activate the function.
15067
150682008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
15069
15070 * keyboard.c (read_key_sequence): Fix typo.
15071
150722008-01-03 Michael Albinus <michael.albinus@gmx.de>
15073
15074 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
15075 (xd_signature, xd_append_arg): Handle element type detection for
15076 empty arrays.
15077 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
15078 SDATA () calls; this must be solved more general.
15079 (Fdbus_register_signal): Use SBYTES instead of strlen.
15080
150812008-01-03 Magnus Henoch <magnus@zemdatav>
15082
15083 * dbusbind.c (xd_append_arg): Use unsigned char instead of
15084 unsigned int for byte values (necessary for big-endian platform).
15085 (Fdbus_call_method): Handle the case of no returned arguments.
15086
150872007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15088
15089 * dbusbind.c (xd_read_message): Use non-static input_event struct.
15090
150912007-12-31 Magnus Henoch <mange@freemail.hu>
15092
15093 * dbusbind.c (xd_signature): Signature of variant is just "v".
15094
150952007-12-30 Michael Albinus <michael.albinus@gmx.de>
15096
15097 * dbusbind.c: Fix several errors and compiler warnings.
15098 Reported by Tom Tromey <tromey@redhat.com>.
15099 (XD_ERROR, XD_DEBUG_MESSAGE)
15100 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
15101 (xd_append_arg): Part for basic D-Bus types rewritten.
15102 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
15103 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
15104 appropriate.
15105 (xd_read_message): Return Qnil. Don't signal an error; it is not
15106 useful during event reading.
15107 (Fdbus_register_signal): Signal an error if the check for
15108 FUNCTIONP fails.
15109 (Fdbus_register_method): New function. The implementation is not
15110 complete, the call of the function signals an error therefore.
15111 (Fdbus_unregister_object): New function, renamed from
15112 Fdbus_unregister_signal. The initial check signals an error, if
15113 the object is not well formed.
15114
151152007-12-30 Richard Stallman <rms@gnu.org>
15116
15117 * textprop.c (get_char_property_and_overlay):
15118 Signal error if POSITION is out of range in a buffer.
15119
151202007-12-29 Martin Rudalics <rudalics@gmx.at>
15121
15122 * w32fns.c (Fx_create_frame): Make copy of frame parameters
15123 because the original parameters are in pure storage now.
15124
151252007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15126
15127 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
15128
151292007-12-22 Eli Zaretskii <eliz@gnu.org>
15130
15131 * callint.c (syms_of_callint) <command-history>: Add reference to
15132 history-length in the doc string.
15133
151342007-12-17 Jason Rumney <jasonr@gnu.org>
15135
15136 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
15137 before passing as wParam.
15138
151392007-12-22 Michael Albinus <michael.albinus@gmx.de>
15140
15141 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
15142 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
15143 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
15144 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
15145 as number.
15146 (Fdbus_call_method): Fix docstring.
15147
151482007-12-21 Michael Albinus <michael.albinus@gmx.de>
15149
15150 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
15151 New macros.
15152 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
15153 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
15154 Simplify.
15155 (xd_signature): New function.
15156 (xd_append_arg): Compute also signatures. Major rewrite.
15157 (xd_retrieve_arg): Make debug messages friendly.
15158 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
15159 Check for signatures of arguments.
15160
151612007-12-19 Michael Albinus <michael.albinus@gmx.de>
15162
15163 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
15164 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
15165 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
15166 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
15167 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
15168 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
15169 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
15170 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
15171 (xd_retrieve_value): Remove. Functionality included in ...
15172 (xd_append_arg): New function.
15173 (Fdbus_call_method, Fdbus_send_signal): Apply it.
15174
151752007-12-16 Michael Albinus <michael.albinus@gmx.de>
15176
15177 * dbusbind.c (top): Include <stdio.h>.
15178 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
15179 dbus_message_new_method_call and dbus_message_new_signal.
15180 (Fdbus_register_signal): Rename unique_name to uname.
15181 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
15182 non-existing unique name. Fix typos in matching rule. Return an
15183 object which is useful in Fdbus_unregister_signal.
15184 (Fdbus_unregister_signal): Reimplementation, in order to remove
15185 only the corresponding entry.
15186 (Vdbus_registered_functions_table): Change the order of entries.
15187 Apply these changes in xd_read_message and Fdbus_register_signal.
15188
151892007-12-16 Andreas Schwab <schwab@suse.de>
15190
15191 * fileio.c (Finsert_file_contents): Fix overflow check to not
15192 depend on undefined integer overflow.
15193
151942007-12-14 Jason Rumney <jasonr@gnu.org>
15195
15196 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
15197 for characters above 127.
15198
151992007-12-13 Jason Rumney <jasonr@gnu.org>
15200
15201 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
15202 before dereferencing array.
15203 (lookup_vk_code): Remove zero comparison.
15204
152052007-12-14 Michael Albinus <michael.albinus@gmx.de>
15206
15207 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
15208 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
15209 Use `unsigned int' instead of `uint'.
15210 (xd_read_message, Fdbus_register_signal): Split expressions into
15211 multiple lines before operators "&&" and "||", according to the
15212 GNU Coding Standards.
15213
152142007-12-14 Eli Zaretskii <eliz@gnu.org>
15215
15216 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
15217
152182007-12-12 Juri Linkov <juri@jurta.org>
15219
15220 * buffer.c (Frename_buffer): In interactive spec replace
15221 `read-buffer' with `read-string' that uses `buffer-name-history'
15222 as history, and the current buffer's name as default.
15223
152242007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
15225
15226 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
15227 manipulating the backtrace manually.
15228 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
15229 (struct backtrace, backtrace_list): Remove.
15230 (command_loop_1): Remove dead var `no_direct'.
15231
15232 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
15233 preserve non-built-in buffer-local variables.
15234 (Fkill_all_local_variables): Don't re-create&re-set permanent
15235 buffer-local variables.
15236
152372007-12-09 Juri Linkov <juri@jurta.org>
15238
15239 * buffer.c (Frename_buffer): Change interactive spec from "s" to
15240 Lisp code that uses `read-buffer' with current buffer as default.
15241
152422007-12-08 Michael Albinus <michael.albinus@gmx.de>
15243
15244 * dbusbind.c (xd_read_message): Generate an event for every
15245 registered handler. There might be several handlers registered
15246 for the same signal.
15247 (Fdbus_register_signal): Don't overwrite a registration for the
15248 same signal. Add a new registration if handlers are different.
15249 (Vdbus_registered_functions_table): Rework doc string.
15250
152512007-12-07 Michael Albinus <michael.albinus@gmx.de>
15252
15253 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
15254 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
15255 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
15256 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
15257 Unify argument lists.
15258 (xd_read_message, Fdbus_register_signal): Reorder and extend event
15259 arguments and hash table keys. Use unique name for service.
15260 (Fdbus_unregister_signal): Remove checks.
15261 (Vdbus_registered_functions_table): Fix doc string.
15262
152632007-12-05 Magnus Henoch <mange@freemail.hu>
15264
15265 * process.c (make_process): Initialize pty_flag to 0.
15266
152672007-12-05 Jason Rumney <jasonr@gnu.org>
15268
15269 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
15270 specified XBMs.
15271
152722007-12-05 Richard Stallman <rms@gnu.org>
15273
15274 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
15275
152762007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15277
15278 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
15279 New variable.
15280 (mac_try_close_socket) [MAC_OSX]: New function.
15281 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
15282 Update cfsockets_for_select. Replace invalid CFRunLoop source.
15283
15284 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
15285 Use mac_try_close_socket.
15286
152872007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15288
15289 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
15290 reloc_base.
15291 (copy_dysymtab): Compute relocation base here.
15292 (rebase_reloc_address) [__ppc64__]: New function.
15293 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
15294 changed.
15295
152962007-12-05 Jason Rumney <jasonr@gnu.org>
15297
15298 * w32proc.c (sys_spawnve): Quote args with wildcards.
15299
153002007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15301
15302 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
15303 __objc_* sections.
15304 (unrelocate) [_LP64]: Set relocation base to address of data segment.
15305
153062007-12-05 Michael Albinus <michael.albinus@gmx.de>
15307
15308 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
15309 Move check for Vdbus_registered_functions_table to
15310 xd_read_queued_messages.
15311 (xd_read_queued_messages): Protect xd_read_message calls by
15312 internal_condition_case_1.
15313
153142007-12-04 Michael Albinus <michael.albinus@gmx.de>
15315
15316 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
15317 Qdbus_system_bus and Qdbus_session_bus, respectively.
15318 (Vdbus_intern_symbols): Remove.
15319 (Vdbus_registered_functions_table): New hash table.
15320 (XD_SYMBOL_INTERN_SYMBOL): Remove.
15321 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
15322 Rewrite in order to manage registered functions by hash table
15323 Vdbus_registered_functions_table.
15324
153252007-12-03 Jan Djärv <jan.h.d@swipnet.se>
15326
15327 * xterm.c: Update URL to Window Manager Specification in comment.
15328
153292007-12-02 Michael Albinus <michael.albinus@gmx.de>
15330
15331 * config.in (HAVE_DBUS): Add.
15332
15333 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
15334 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
15335 (obj): Add $(DBUS_OBJ).
15336 (LIBES): Add $(DBUS_LIBS).
15337 (dbusbind.o): New target.
15338
15339 * dbusbind.c: New file.
15340
15341 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
15342
15343 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
15344 (Qdbus_event): New Lisp symbol.
15345 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
15346 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 15347 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
15348
15349 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
15350
153512007-12-01 Richard Stallman <rms@gnu.org>
15352
15353 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
15354
153552007-11-30 Jason Rumney <jasonr@gnu.org>
15356
15357 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
15358 (w32con_reset_terminal_modes): Clear screen buffer.
15359 (w32_face_attributes): Don't use color indexes that are out of range.
15360 Only reverse the default colors.
15361
15362 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
15363 WINDOWSNT.
15364
15365 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
15366
153672007-11-29 Jason Rumney <jasonr@gnu.org>
15368
15369 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
15370 (w32_face_attributes): Use Vtty_defined_color_alist to determine
15371 if the terminal colors are initialized.
15372 (unspecified_fg, unspecified_bg): Remove unused declarations.
15373
153742007-11-29 Andreas Schwab <schwab@suse.de>
15375
15376 * keyboard.c (apply_modifiers): Fix typo.
15377
153782007-11-29 Richard Stallman <rms@gnu.org>
15379
15380 * keymap.c (Fcurrent_local_map): Doc fix.
15381
153822007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
15383
15384 * s/gnu-kfreebsd.h: New file.
15385
153862007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
15387
15388 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
15389 Don't cast redundantly.
15390
15391 * keyboard.c (KEY_TO_CHAR): New macro.
15392 (parse_modifiers, apply_modifiers): Accept integer arguments.
15393 (read_key_sequence): Use them to unify the "shift->unshift" mapping
15394 for chars and symbol keys.
15395 After doing such remapping, apply function-key-map again.
15396
153972007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
15398
15399 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
15400 compiled anymore.
15401
154022007-11-26 Andreas Schwab <schwab@suse.de>
15403
15404 * process.c (list_processes_1): Fix indentation level of the
15405 command column.
15406
154072007-11-23 Andreas Schwab <schwab@suse.de>
15408
15409 * editfns.c (Fformat): Handle %c specially since it requires the
15410 argument to be of type int.
15411
154122007-11-23 Markus Triska <markus.triska@gmx.at>
15413
15414 * emacs.c (main): Call init_editfns before init_process, since
15415 init_process sets Vprocess_connection_type depending on OS release.
15416
154172007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
15418
15419 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
15420 (find_symbol_value): Use do_symval_forwarding.
15421
15422 * data.c (set_internal): Set the value in the `cons-cell' (for
15423 Buffer_Local_values) not only for frame-local variables.
15424
154252007-11-22 Andreas Schwab <schwab@suse.de>
15426
15427 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
15428 values to sprintf.
15429 * keymap.c (Fsingle_key_description): Likewise.
15430 * print.c (print_object): Likewise.
15431
154322007-11-22 Jan Djärv <jan.h.d@swipnet.se>
15433
15434 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
15435 file for image is nil.
15436
154372007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
15438
15439 * term.c: Include stdarg.h.
15440 (fatal): Implement using varargs.
15441 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15442
154432007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15444
15445 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15446 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15447 Update call to buffer_slot_type_mismatch.
15448 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15449 (buffer_slot_type_mismatch): Update.
15450 * buffer.c (buffer_local_types): Remove.
15451 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15452 (defvar_per_buffer): Set the type in the buffer_objfwd.
15453
154542007-11-21 Jason Rumney <jasonr@gnu.org>
15455
15456 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15457 CreateFileMapping returns NULL on failure.
15458
154592007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15460
15461 * search.c (Fset_match_data): Remove the `evaporate' feature.
15462 (unwind_set_match_data): Don't use the `evaporate' feature.
15463
154642007-11-21 Jason Rumney <jasonr@gnu.org>
15465
15466 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15467
15468 * w32console.c (w32con_write_glyphs): Remove unused variables.
15469
154702007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15471
15472 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15473
15474 * s/darwin.h (MULTI_KBOARD): Remove.
15475
15476 * macfns.c (x_create_tip_frame, Fx_create_frame)
15477 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15478
154792007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15480
15481 * buffer.c (Fbuffer_local_value): Remove redundant test.
15482 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15483 than in `current-buffer' to match the comment.
15484 Do the swap using swap_in_global_binding.
15485
15486 * data.c (store_symval_forwarding, set_internal):
15487 * eval.c (specbind): Remove dead code.
15488
15489 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15490 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15491 Since we do not want to see internal Lisp_*fwd objects here.
15492
154932007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15494
15495 * sysdep.c (init_system_name): Use getaddrinfo if available.
15496
15497 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15498 (x_scroll_bar_note_movement): start, end, with, height in struct
15499 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15500
155012007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15502
15503 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15504
155052007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15506
15507 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15508 This undoes Richard's change of 14-Oct-2002.
15509
15510 * alloc.c (allocate_other_vector):
15511 * lisp.h (allocate_other_vector): Remove.
15512
15513 * window.c (struct save_window_data): Move non-lisp data to the end
15514 and make it `int' rather than Lisp_Object.
15515 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15516 Done wrap/unwrap integer values.
15517 (Fset_window_configuration, compare_window_configurations):
15518 Update use of fields to their new types.
15519
15520 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15521 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15522 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15523 (SET_SCROLL_BAR_X_WINDOW): Remove.
15524 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15525 Access the new x_window field directly.
15526 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15527 Don't wrap/unwrap integers into Lisp_Objects.
15528 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15529 (x_scroll_bar_report_motion):
15530 Don't wrap/unwrap integers into Lisp_Objects.
15531 (x_term_init): Use SDATA.
15532 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15533 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15534 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15535 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15536 * xfns.c (x_set_background_color):
15537 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15538 Access the new x_window field directly.
15539
15540 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
15541 (allocate_pseudovector): Make non-static.
15542
15543 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
15544 (allocate_pseudovector): Declare.
15545 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
15546
155472007-11-15 Andreas Schwab <schwab@suse.de>
15548
15549 * editfns.c (Fformat): Correctly format EMACS_INT values.
15550 Also take precision into account when formatting an integer.
15551
15552 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
15553
155542007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
15555
15556 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
15557 (syms_of_keyboard): Defsubr it.
15558
15559 * data.c (swap_in_global_binding): Fix longstanding bug where
15560 store_symval_forwarding was not called with the right second argument,
15561 thus causing objfwd-ing from being dropped.
15562
155632007-11-14 Juanma Barranquero <lekktu@gmail.com>
15564
15565 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
15566 (Fx_display_pixel_height, Fx_display_planes)
15567 (Fx_display_color_cells, Fx_server_max_request_size)
15568 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15569 (Fx_display_visual_class, Fx_display_save_under):
15570 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
15571 (Fx_display_pixel_height, Fx_display_planes)
15572 (Fx_display_color_cells, Fx_server_max_request_size)
15573 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
15574 (Fx_display_mm_height, Fx_display_mm_width)
15575 (Fx_display_backing_store, Fx_display_visual_class)
15576 (Fw32_select_font, Fx_display_save_under):
15577 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
15578 (Fx_display_pixel_height, Fx_display_planes)
15579 (Fx_display_color_cells, Fx_server_max_request_size)
15580 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15581 (Fx_display_save_under): Fix typos in docstrings.
15582
155832007-11-14 Juanma Barranquero <lekktu@gmail.com>
15584
15585 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
15586 corresponding to deleted entries; they are an implementation detail.
15587 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
15588 Remove variables.
15589 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
15590 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
15591 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
15592 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
15593 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
15594 (Fw32_define_rgb_color, Fw32_load_color_file)
15595 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
15596 Fix typos in docstrings.
15597 (Fx_server_version): Reflow docstring.
15598 (Fw32_shell_execute): Doc fixes.
15599
156002007-11-13 Juanma Barranquero <lekktu@gmail.com>
15601
15602 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
15603 if w32_parse_hot_key returned nil.
15604
156052007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
15606
15607 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
15608
156092007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 15610
aac0c6e3
MR
15611 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
15612
15613 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
15614
15615 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
15616 Remove W32_SCROLL_BAR_CLICK_EVENT.
15617
15618 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
15619 Add MULTIMEDIA_KEY_EVENT.
15620
15621 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
15622 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15623 (make_lispy_event) [WINDOWSNT]: Use it to translate
15624 MULTIMEDIA_KEY_EVENT.
15625
15626 * w32term.h (WM_APPCOMMAND): Define if not already.
15627 (GET_APPCOMMAND_LPARAM): Likewise.
15628
15629 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
15630 WM_APPCOMMAND.
15631
15632 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
15633 (syms_of_w32fns): Export and initialize it.
15634 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
15635
156362007-11-09 Chong Yidong <cyd@stupidchicken.com>
15637
15638 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
15639 twice.
15640
15641 * xdisp.c (handle_face_prop): Fix last change.
15642
156432007-11-09 Richard Stallman <rms@gnu.org>
15644
15645 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
15646 not just for after-strings and before-strings.
15647 Call face_for_overlay_string and pass the overlay to it.
15648 (handle_display_prop): Determine whether property came from an overlay.
15649 Pass OVERLAY arg to handle_single_display_spec.
15650 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
15651 (load_overlay_strings): Fill in it->string_overlays.
15652 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
15653
15654 * xfaces.c (face_for_overlay_string): Function renamed from
15655 face_at_buffer_position_no_overlays, and add arg OVERLAY.
15656
15657 * dispextern.h (struct it): New elt string_overlays.
15658 New elt from_overlay, also in stack.
15659 Rearrange a few elements.
15660 (face_for_overlay_string): Decl renamed from
15661 face_at_buffer_position_no_overlays, and add argument.
15662
156632007-11-09 Richard Stallman <rms@gnu.org>
15664
15665 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
15666 to get the base face for an overlay string.
15667
15668 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15669
15670 * xfaces.c (face_at_buffer_position_no_overlays): New function.
15671
15672 * xdisp.c (handle_stop): Move some code out of loop.
15673
156742007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15675
15676 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
15677 Fix conversion from Lisp object to ATSUFontID.
15678
156792007-11-09 Jason Rumney <jasonr@gnu.org>
15680
15681 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
15682
156832007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15684
15685 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
15686 Don't assume regions are aligned to page boundary.
15687 (print_load_command_name): Add LC_UUID if defined.
15688
156892007-11-09 Richard Stallman <rms@gnu.org>
15690
15691 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
15692
156932007-11-07 Jason Rumney <jasonr@gnu.org>
15694
15695 * s/windows95.h: Remove.
15696
156972007-11-06 Jan Djärv <jan.h.d@swipnet.se>
15698
15699 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
15700 abort with a message on unhandled store_type values.
15701
157022007-11-01 Jan Djärv <jan.h.d@swipnet.se>
15703
15704 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
15705 Remove HAVE_X11R5 and HAVE_X11R4.
15706
157072007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15708
15709 * Makefile.in: Remove references to sunfns.c and sunfns.o.
15710
157112007-11-01 Johan Bockgård <bojohan@gnu.org>
15712
15713 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
15714 Don't set s->stippled_p here, since it has already been set by
15715 x_set_glyph_string_gc from x_draw_glyph_string.
15716
157172007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15718
15719 * sunfns.c: Remove file.
15720
15721 * m/sun386.h:
15722 * m/sun2.h:
15723 * m/sparc.h: Remove Sun windows code.
15724
157252007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
15726
15727 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
15728 (init_keyboard): Set current_kboard's window-system to nil.
15729 (tty_read_avail_input): Typo.
15730 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
15731
157322007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
15733
15734 * s/usg5-4.h:
15735 * s/usg5-3.h:
15736 * s/ptx.h:
15737 * m/is386.h:
15738 * m/ibmps2-aix.h:
15739 * Makefile.in: Remove all mentions of X10.
15740
15741 * dispnew.c (syms_of_display): Don't mention version 10.
15742
157432007-10-28 Juanma Barranquero <lekktu@gmail.com>
15744
15745 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
15746 ($(BLD)/abbrev.$(O)): Remove.
15747
157482007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
15749
15750 Rewrite abbrev.c in Elisp.
15751 * image.c (Qcount): Don't declare as extern.
15752 (syms_of_image): Initialize and staticpro `Qcount'.
15753 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
15754 * emacs.c (main): Don't call syms_of_abbrev.
15755 * Makefile.in (obj): Remove abbrev.o.
15756 (abbrev.o): Remove.
15757 * abbrev.c: Remove.
15758
157592007-10-26 Martin Rudalics <rudalics@gmx.at>
15760
15761 * window.c (window_min_size_2): Don't count header-line.
15762
157632007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
15764
15765 * frame.h (struct frame): Move all bit fields after the first bit
15766 field to take advantage of the available space. Group all the
15767 chars together to reduce wasted space due to padding.
15768
157692007-10-26 Juanma Barranquero <lekktu@gmail.com>
15770
15771 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
15772
15773 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
15774 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
15775 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
15776 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
15777 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
15778 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
15779 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
15780 (last_marked, mark_object_loop_halt): Make static.
15781
15782 * frame.c (syms_of_frame) <delete-frame-functions>:
15783 Fix typo in docstring.
15784
157852007-10-25 Juanma Barranquero <lekktu@gmail.com>
15786
15787 * w32.c (init_environment): Fix tiny memory leak.
15788 (w32_get_resource): Remove unused variable `ok'.
15789
157902007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
15791
15792 Make `window-system' into a keyboard-local variable (rather than
15793 frame-local as done originally by multi-tty).
15794
15795 * keyboard.h (struct kboard): Add Vwindow_system.
15796 * keyboard.c (init_kboard): Set a default for Vwindow_system.
15797 (mark_kboards): Mark Vwindow_system.
15798
15799 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
15800 (init_display): Don't set the obsolete `window-system' frame-param.
15801
15802 * xterm.c (x_term_init):
15803 * w32term.c (w32_create_terminal):
15804 * term.c (init_tty): Set Vwindow_system.
15805 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
15806 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
15807
15808 * xfns.c (Fx_create_frame, x_create_tip_frame):
15809 * w32fns.c (Fx_create_frame, x_create_tip_frame):
15810 * macfns.c (Fx_create_frame):
15811 Don't set the obsolete `window-system' frame-param.
15812
15813 * frame.h (Qwindow_system): Remove.
15814 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
15815 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
15816
158172007-10-24 Richard Stallman <rms@gnu.org>
15818
15819 * frame.c (x_figure_window_size): For fullscreen case,
15820 set USPosition | PPosition without clobbering rest of window_prompting.
15821
15822 * keyboard.c (Fcurrent_idle_time): Doc fix.
15823
15824 * print.c (Fwith_output_to_temp_buffer): Doc fix.
15825
158262007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
15827
15828 * process.c (unwind_request_sigio): Only define if __ultrix__.
15829
15830 * callproc.c (child_setup): Remove spurious *.
15831
15832 * lisp.h (Fget_text_property): Declare.
15833 (have_menus_p): Declare it here rather than in sys-dep header files.
15834 * macterm.h (have_menus_p):
15835 * msdos.h (have_menus_p):
15836 * xterm.h (have_menus_p): Remove.
15837
15838 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
15839 (Fmake_variable_frame_local): Just check the variable's const-ness
15840 rather than checking nil or t.
15841
158422007-10-22 Jason Rumney <jasonr@gnu.org>
15843
15844 * w32fns.c: Include math.h.
15845 (w32_abort): Declaration moved to nt/config.nt.
15846
15847 * s/ms-w32.h (HAVE_STDLIB_H): Define.
15848 (abort): Redefinition moved to nt/config.nt.
15849
15850 * m/windowsnt.h: Remove.
15851
158522007-10-22 Juanma Barranquero <lekktu@gmail.com>
15853
15854 * emacs.c (Fdump_emacs): Fix typo in message.
15855 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
15856 <installation-directory>: Reflow docstring.
15857
158582007-10-22 Juri Linkov <juri@jurta.org>
15859
15860 * minibuf.c: Allow minibuffer default to be a list of default values.
15861 With empty input use the first element of this list as returned default.
15862 (string_to_object)
15863 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15864 (read_minibuf): If defalt is cons, set histstring to its car.
15865 (Fread_string): If default_value is cons, set val to its car.
15866 (Fread_buffer): If def is cons, use its car.
15867 (Fcompleting_read): If defalt is cons, set val to its car.
15868
158692007-10-21 Michael Albinus <michael.albinus@gmx.de>
15870
15871 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15872
158732007-10-20 Juanma Barranquero <lekktu@gmail.com>
15874
15875 * doc.c (Fdocumentation): Check for advice in all cases.
15876
158772007-10-19 Chong Yidong <cyd@stupidchicken.com>
15878
15879 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15880
158812007-10-19 Richard Stallman <rms@gnu.org>
15882
15883 * doc.c (Fdocumentation): Check for and handle an advised function.
15884
158852007-10-19 Juanma Barranquero <lekktu@gmail.com>
15886
15887 * process.c (Fset_process_filter): Doc fix.
15888
158892007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15890
15891 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15892 which caused key-translation-map to applied repeatedly (thus breaking
15893 double-mode).
15894
158952007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15896
15897 * xselect.c (x_own_selection, x_handle_selection_clear)
15898 (x_clear_frame_selections):
15899 * w32menu.c (list_of_panes, list_of_items):
15900 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15901 * textprop.c (validate_plist, interval_has_all_properties)
15902 (interval_has_some_properties, interval_has_some_properties_list)
15903 (add_properties, text_property_list):
15904 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15905 * minibuf.c (Fassoc_string):
15906 * macselect.c (x_own_selection, x_clear_frame_selections)
15907 (Fx_disown_selection_internal):
15908 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15909 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15910
159112007-10-17 Chong Yidong <cyd@stupidchicken.com>
15912
15913 * process.c: Link to libs for calling res_init() if available.
15914 (Fmake_network_process): Call res_init() before getaddrinfo or
15915 gethostbyname, if possible.
15916
159172007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15918
15919 * lread.c (read1): Set pvectype for char_tables.
15920
15921 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15922 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15923 Add type checks.
15924 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15925
15926 * alloc.c (free_misc): Use XMISCTYPE.
15927 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15928
159292007-10-17 Glenn Morris <rgm@gnu.org>
15930
15931 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15932 (syms_of_minibuf): Add Qcompletion_ignore_case.
15933 * dired.c (Qcompletion_ignore_case): Change to external.
15934 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15935 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15936 (Fread_file_name): Use it rather than intern'ing.
15937
15938 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15939 (Fread_coding_system): Ignore case of user input.
15940
159412007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15942
15943 * xdisp.c (handle_display_prop): Ignore display specs after
15944 replacing one when string text is being replaced.
15945 (handle_single_display_spec): Pretend as if characters with display
15946 property haven't been consumed only when buffer text is being replaced.
15947
159482007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15949
15950 * xfns.c (Fx_create_frame, Fx_display_list):
15951 * window.c (window_fixed_size_p, enlarge_window)
15952 (shrink_window_lowest_first):
15953 * macterm.c (init_font_name_table):
15954 * macfns.c (Fx_create_frame, Fx_display_list):
15955 * lread.c (close_load_descs):
15956 * keyboard.c (read_char_x_menu_prompt):
15957 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15958 * coding.c (code_convert_region_unwind): Test the type of an object
15959 rather than just !NILP before extracting data from it.
15960
15961 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15962
15963 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15964 (XMISCANY): New macro.
15965 (XMISCTYPE): Use it.
15966 (struct Lisp_Misc_Any): New type.
15967 (union Lisp_Misc): Use it.
15968 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15969 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15970 (find_symbol_value, set_internal, default_value, Fset_default)
15971 (Fmake_variable_buffer_local, Fmake_local_variable)
15972 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15973 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15974 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15975 * alloc.c (allocate_buffer): Set the size and tag.
15976 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15977 Use XMISCANY.
15978 (die): Follow the GNU convention for error messages.
15979 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15980 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15981 tag any more.
15982 (set_buffer_internal_1):
15983 * frame.c (store_frame_param):
15984 * eval.c (specbind):
15985 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15986
15987 * doc.c (Fsnarf_documentation): Simplify.
15988
159892007-10-14 Juanma Barranquero <lekktu@gmail.com>
15990
15991 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15992 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15993
159942007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15995
15996 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15997
159982007-10-14 Juanma Barranquero <lekktu@gmail.com>
15999
16000 * eval.c (do_autoload): Don't save autoloads.
16001
16002 * data.c (Ffset): Save autoload of the function being set.
16003
160042007-10-07 John Paul Wallington <jpw@pobox.com>
16005
16006 * xfns.c (x_create_tip_frame): Set the `display-type' frame
16007 parameter before setting up faces.
16008
160092007-10-13 Eli Zaretskii <eliz@gnu.org>
16010
16011 * ccl.c (Fregister_code_conversion_map):
16012 * keyboard.c (append_tool_bar_item): Reformat last change.
16013
16014 * lisp.h (eabs): Rename from `abs'. All callers changed.
16015
160162007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
16017
16018 * buffer.c (add_overlay_mod_hooklist):
16019 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
16020 * fontset.c (make_fontset):
16021 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
16022 (append_tool_bar_item):
16023 * macmenu.c (grow_menu_items):
16024 * w32menu.c (grow_menu_items):
16025 * xmenu.c (grow_menu_items): Use larger_vector.
16026
160272007-10-13 Eli Zaretskii <eliz@gnu.org>
16028
16029 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
16030 selected frame'' on MSDOS).
16031
160322007-10-12 Martin Rudalics <rudalics@gmx.at>
16033
16034 * frame.c (Qexplicit_name): New variable.
16035 (x_report_frame_params): Report it in parameter alist.
16036 (syms_of_frame): Intern and staticpro it.
16037
160382007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
16039
16040 * macfns.c (x_create_tip_frame): Set terminal for frame.
16041
160422007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
16043
16044 * frame.c (Qenvironment): Remove.
16045 (syms_of_frame) <Qenvironment>: Don't initialize.
16046 (Fdelete_frame): Don't treat the `environment' param specially.
16047 * frame.h (Qenvironment): Don't declare.
16048 * callproc.c (set_initial_environment): Don't set unused frame param.
16049
16050 * frame.c (Fframe_with_environment): Remove.
16051 (syms_of_frame) <Sframe_with_environment>: Don't declare.
16052
16053 * lisp.h (Fframe_with_environment): Don't declare.
16054
160552007-10-10 Juanma Barranquero <lekktu@gmail.com>
16056
16057 * indent.c (indent_tabs_mode, last_known_column)
16058 (last_known_column_modified): Make static.
16059 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
16060
160612007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
16062
16063 * puresize.h (BASE_PURESIZE): Increase to 1170000.
16064
160652007-10-09 Jason Rumney <jasonr@gnu.org>
16066
16067 * w32term.c (x_set_window_size): Disable code that attempts to tell
16068 Lisp code about a size change before it actually happens.
16069
160702007-10-09 Richard Stallman <rms@gnu.org>
16071
16072 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
16073 return HANDLED_RETURN.
16074
160752007-10-08 Martin Rudalics <rudalics@gmx.at>
16076
16077 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
16078 when there's an unread command event.
16079
16080 * frame.c (focus_follows_mouse): Move here from frame.el to allow
16081 window autoselection act appropriately when leaving selected frame.
16082 (syms_of_frame): Initialize focus_follows_mouse.
16083 * frame.h (focus_follows_mouse): Extern it.
16084 * macterm.c (XTread_socket): When focus_follows_mouse is nil
16085 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
16086 * msdos.c (dos_rawgetc): Likewise.
16087 * w32term.c (w32_read_socket): Likewise.
16088 * xterm.c (handle_one_xevent): Likewise.
16089 * xdisp.c (syms_of_xdisp): In doc-string of
16090 mouse-autoselect-window mention focus-follows-mouse.
16091
160922007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16093
16094 * macterm.c (mac_load_query_font): Fix missing return value.
16095 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
16096 Add BLOCK_INPUT.
16097
160982007-10-08 Richard Stallman <rms@gnu.org>
16099
16100 * xdisp.c (get_window_cursor_type): Implement documented behavior
16101 for cursor-in-non-selected-windows = t.
16102
161032007-10-08 Jason Rumney <jasonr@gnu.org>
16104
16105 * w32.c (w32_get_resource): Always close registry keys.
16106
161072007-10-08 Jason Rumney <jasonr@gnu.org>
16108
16109 * makefile.w32-in (LIBS): Add COMCTL32.
16110
16111 * w32fns.c (globals_of_w32fns): Init common controls.
16112
161132007-10-08 Richard Stallman <rms@gnu.org>
16114
16115 * image.c (our_memory_buffer): Rename from omfib_buffer.
16116
161172007-10-08 Richard Stallman <rms@gnu.org>
16118
16119 * buffer.c (Foverlays_at): Doc fix.
16120
161212007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
16122
16123 * fns.c (Fplist_put): Preserve uneven tail data.
16124
161252007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
16126
16127 * termhooks.h (enum event_kind): Remove trailing comma.
16128
16129 * frame.h (enum): Remove trailing comma.
16130
161312007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
16132
16133 * w32proc.c (delete_child): Don't terminate threads of zombies.
16134
161352007-10-08 Martin Rudalics <rudalics@gmx.at>
16136
16137 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
16138
16139 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
16140 last-repeatable-command.
16141 (init_kboard): Initialize Vlast_repeatable_command.
16142 (command_loop_1): Set it to real_this_command unless that was
16143 bound to an input event.
16144 (mark_kboards): Mark it.
16145
161462007-10-08 Richard Stallman <rms@gnu.org>
16147
16148 * eval.c (condition-case): Doc fix.
16149
161502007-10-08 Masatake YAMATO <jet@gyve.org>
16151
16152 * xfaces.c (tty_supports_face_attributes_p): Fix code
16153 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
16154 was copied and not edited.
16155
161562007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
16157
16158 Add new `input-decode-map' keymap and use it for terminal
16159 escape sequences.
16160 * keyboard.h (struct kboard): Add Vinput_decode_map.
16161 Remove Vlocal_key_translation_map.
16162 * keyboard.c (read_key_sequence): Add support for input-decode-map.
16163 (init_kboard): Init input-decode-map.
16164 Replace local-key-translation-map back with key-translation-map.
16165 (syms_of_keyboard): Declare input-decode-map.
16166 Remove local-key-translation-map. Update docstrings.
16167 (mark_kboards): Mark Vinput_decode_map.
16168 Don't mark Vlocal_key_translation_map.
16169 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
16170 Replace local-key-translation-map back with key-translation-map.
16171 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
16172 Bind in input-decode-map rather than function-key-map.
16173
16174 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
16175 This was made redundant by the previous introduction of XSETPVECTYPE.
16176
161772007-10-09 Richard Stallman <rms@gnu.org>
16178
16179 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
16180
161812007-09-29 Richard Stallman <rms@gnu.org>
16182
16183 * eval.c (internal_condition_case_2, internal_condition_case_1)
16184 (internal_condition_case): Reenable abort if x_catching_errors ()
16185 to see if that really happens and why.
16186
161872007-10-06 Andreas Schwab <schwab@suse.de>
16188
16189 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
16190
161912007-10-04 Juanma Barranquero <lekktu@gmail.com>
16192
16193 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
16194
161952007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
16196
16197 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
16198
161992007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
16200
16201 * window.h (struct window):
16202 * window.c (struct save_window_data, struct saved_window):
16203 * termhooks.h (struct terminal):
16204 * process.h (struct Lisp_Process):
16205 * frame.h (struct frame):
16206 * buffer.h (struct buffer):
16207 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
16208 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
16209 The size field of (pseudo)vectors is now unsigned.
16210 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
16211
16212 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
16213 Turn `count' into an integer.
16214
16215 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
16216 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
16217 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
16218 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
16219 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
16220
16221 * alloc.c (allocate_pseudovector): New fun.
16222 (ALLOCATE_PSEUDOVECTOR): New macro.
16223 (allocate_window, allocate_terminal, allocate_frame)
16224 (allocate_process): Use it.
16225 (mark_vectorlike): New function.
16226 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
16227 (mark_terminals): Use it.
16228 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
16229 (Fmake_byte_code): Use XSETPVECTYPE.
16230
16231 * frame.c (Fframe_parameters): Minor simplification.
16232
16233 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
16234
16235 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
16236
16237 * buffer.c (Fget_buffer_create, init_buffer_once):
16238 * lread.c (defsubr):
16239 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
16240
16241 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
16242 defined differently in the m/*.h files.
16243 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
16244 (XSETPVECTYPE): New macro.
16245 (XSETPSEUDOVECTOR): Use it.
16246
16247 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
16248 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
16249
16250 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
16251 * lread.c (defvar_per_buffer):
16252 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
16253
16254 * window.c (candidate_window_p): Only consider as visible frames that
16255 are on the same terminal.
16256
16257 * m/ibms390x.h (MARKBIT): Remove unused macro.
16258
162592007-10-01 Juanma Barranquero <lekktu@gmail.com>
16260
16261 * lread.c (Fload): Fix typo in docstring.
16262
162632007-10-01 Michaël Cadilhac <michael@cadilhac.name>
16264
16265 * floatfns.c (Fexpt): Manually check for overflows, so that a power
16266 of a non-zero value can't yield zero.
16267
162682007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
16269
16270 * term.c (term_clear_mouse_face, term_mouse_highlight)
16271 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
16272
16273 * print.c (safe_debug_print): Use XHASH.
16274
16275 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
16276 Lisp elements such as tags.
16277 (XHASH): New macro.
16278 (EQ): Use it.
16279 (SREF, SSET, STRING_COPYIN): Use SDATA.
16280 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
16281
16282 * alloc.c (mark_terminal): Remove left-over declaration.
16283 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
16284 (allocate_vectorlike): Remove type argument. Adjust callers.
16285 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
16286 Only handle the one remaining MEM_TYPE_VECTORLIKE.
16287
16288 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
16289 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
16290 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
16291 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
16292 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
16293 Use them.
16294
16295 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
16296 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
16297 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
16298
162992007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
16300
16301 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
16302 loaded by default.
16303
163042007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
16305
16306 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
16307 on this tty.
16308 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
16309
16310 * term.c (mouse_face_window): Rename from Qmouse_face_window.
16311 Update all users.
16312 (handle_one_term_event): Use Gpm_DrawPointer.
16313 (Fgpm_mouse_start): Rename from Fterm_open_connection.
16314 Signal errors instead of returning nil. Always return nil.
16315 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
16316 Make it a noop if gpm-mouse was not activated.
16317 (syms_of_term): Update names.
16318
163192007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
16320
16321 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
16322 (init_sys_modes): Check that gpm_tty is the current tty.
16323
16324 * alloc.c (allocate_terminal): Set the vector size to only count the
16325 lisp fields. Initialize those to nil.
16326 (mark_object): Don't treat terminals specially.
16327 (mark_terminal): Remove.
16328 (mark_terminals): Use mark_object instead.
16329
16330 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
16331 the GC to the beginning.
16332
16333 * indent.h:
16334 * indent.c: Use EMACS_INT for ints coming from Elisp data.
16335
16336 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
16337
163382007-09-25 Jason Rumney <jasonr@gnu.org>
16339
16340 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
16341
16342 * w32console.c (create_w32cons_output): Remove.
16343
16344 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
16345
16346 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
16347 (reset_sys_modes): Use reset_terminal_modes_hook.
16348
163492007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
16350
16351 * eval.c (do_autoload): Don't output any message.
16352
163532007-09-24 Juri Linkov <juri@jurta.org>
16354
16355 * emacs.c (standard_args): Change priority of "--no-splash"
16356 from 40 to 3. Add "--no-desktop" with the same priority.
16357
163582007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
16359
16360 * alloc.c (gc_sweep): Check cons cell mark bits word by word
16361 and optimize the case where they are all 1.
16362
163632007-09-23 Johannes Weiner <hannes@saeurebad.de>
16364
16365 * lisp.h (abs): Define if not defined.
16366 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
16367 Don't define `abs', since it's defined in lisp.h.
16368
163692007-09-22 Eli Zaretskii <eliz@gnu.org>
16370
16371 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
16372 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
16373 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
16374 (init_tty): Use DEV_TTY instead of "/dev/tty".
16375 [WINDOWSNT]: No need to protect from NAME arg being null.
16376
163772007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
16378
16379 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
16380 up the tty state.
16381
163822007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16383
16384 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
16385 (gpm_tty): Change its type.
16386 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
16387 (gpm_tty): Change its type and initialize it.
16388 (Fterm_open_connection): Check the frame is indeed a tty.
16389 Use the new gpm_tty.
16390 (Fterm_close_connection): Use the new gpm_tty.
16391 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
16392 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
16393
163942007-09-21 Juanma Barranquero <lekktu@gmail.com>
16395
16396 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16397 underline_color, to draw strike-through.
16398
163992007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16400
16401 * lisp.h (allocate_terminal): Declare.
16402
16403 * window.c (candidate_window_p): Consider frames that are being placed
16404 by the user as somewhere between visible and iconified.
16405 (window_loop): Prefer windows on the current frame.
16406 (Fselect_window): Move the use of select-frame to the beginning so we
16407 can just delegate all the work (it'll call us back anyway).
16408
16409 * frame.c (Qdisplay_environment_variable):
16410 * frame.h (Qdisplay_environment_variable): Delete.
16411
16412 * .gdbinit (xbacktrace): Print the arg's address rather than the value
16413 of the first arg, since that value may be a union.
16414
16415 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
16416 parameter rather than Qdisplay_environment_variable. If all else
16417 fails, look for DISPLAY in initial-environment.
16418
164192007-09-21 Glenn Morris <rgm@gnu.org>
16420
16421 * Makefile.in (emacstool): Remove target.
16422 (lisp, shortlisp): Remove termdev.elc.
16423
164242007-09-21 Markus Triska <markus.triska@gmx.at>
16425
16426 * xterm.c (x_delete_display): Compile session management conditionally.
16427
164282007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
16429
16430 * callproc.c (getenv_internal_1): New function.
16431 (getenv_internal): Use it.
16432 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
16433
16434 * terminal.c (get_terminal): Don't accept ints to represent terminals.
16435 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
16436 (Fset_terminal_parameter): Work with dead terminals as well.
16437 (Fmodify_terminal_parameters): Remove.
16438
16439 * terminal.c (get_terminal): Handle terminals.
16440 Make sure the terminal returned is live.
16441 (create_terminal): Use allocate_terminal.
16442 (mark_terminals): Move to alloc.c.
16443 (delete_terminal): Use terminal->name as liveness status.
16444 NULL out fields after freeing their contents.
16445 Don't deallocate the object.
16446 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16447 rather than an int.
16448 (Fterminal_live_p): Accept non-integer arguments.
16449 (Fterminal_list): Return terminal objects rather than an ints.
16450
16451 * alloc.c (enum mem_type): New member for `terminal' objects.
16452 (allocate_terminal): New function.
16453 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16454 Handle terminals.
16455 (mark_terminal): New fun.
16456 (mark_terminals): Move from terminal.c.
16457
16458 * term.c (get_tty_terminal): Don't treat output_initial specially.
16459 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16460 (delete_tty): Use terminal->name as liveness status.
16461
16462 * termhooks.h (struct terminal): Make it into a pseudovector.
16463 Remove `deleted' replaced by checking `name's nullness.
16464
16465 * print.c (print_object): Handle terminals.
16466
16467 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16468 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16469
16470 * frame.c (make_terminal_frame):
16471 * keyboard.c (tty_read_avail_input):
16472 * w32term.c (x_delete_terminal):
16473 * xfns.c (Fx_create_frame, x_create_tip_frame):
16474 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16475
164762007-09-20 Glenn Morris <rgm@gnu.org>
16477
16478 * process.c (Fmake_network_process): Doc fix.
16479
164802007-09-19 Jason Rumney <jasonr@gnu.org>
16481
16482 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16483
164842007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16485
16486 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16487 Fix a C warning regarding variable constness.
16488
16489 * xterm.c (handle_one_xevent): Fix a C warning.
16490
164912007-09-18 Jason Rumney <jasonr@gnu.org>
16492
16493 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16494
164952007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16496
16497 * gtkutil.c (gdpy_def): New variable.
16498 (xg_initialize): Initialize gdpy_def.
16499 (xg_display_close): If no other display exists, set gdpy_def to a
16500 new connection.
16501
165022007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16503
16504 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16505 when we have no file name for the icon.
16506 (xg_tool_bar_expose_callback): Remove.
16507 (xg_create_tool_bar): Don't connect expose signal to
16508 xg_tool_bar_expose_callback.
16509 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16510
165112007-09-16 Andreas Schwab <schwab@suse.de>
16512
16513 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16514 values instead of zapping them.
16515
165162007-09-14 Glenn Morris <rgm@gnu.org>
16517
16518 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16519 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16520 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16521 scope and rename to omfib_buffer for clarity.
16522 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16523
165242007-09-14 Kenichi Handa <handa@m17n.org>
16525
16526 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16527
165282007-09-13 Jason Rumney <jasonr@gnu.org>
16529
16530 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16531
16532 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16533
16534 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16535 (mac_term_init): Call here instead, passing rif.
16536
165372007-09-13 Glenn Morris <rgm@gnu.org>
16538
16539 * s/hpux.h: No longer define `static' as nothing.
16540
165412007-09-13 Johan Bockgård <bojohan@gnu.org>
16542
16543 * callint.c (Fcall_interactively): Remove unused var `fun'.
16544
165452007-09-12 Romain Francoise <romain@orebokech.com>
16546
16547 * window.c (prefer_window_split_horizontally, display_buffer):
16548 Revert 2007-09-08 change.
16549
165502007-09-12 Glenn Morris <rgm@gnu.org>
16551
16552 * alloca.c: Remove file.
16553 * Makefile.in (alloca): Do not undef.
16554 (allocaobj, alloca.o): Remove.
16555 (otherobj): Remove allocaobj.
16556 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
16557 * regex.c (C_ALLOCA): Remove all references and code that was only
16558 used when this was defined.
16559 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
16560 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
16561 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
16562
16563 * Makefile.in (SOURCES, unlock, relock): Delete.
16564
16565 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
16566 (menu_grab_callback): All uses changed.
16567
16568 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
16569 (x_reply_selection_request): All uses changed.
16570
165712007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
16572
16573 * lread.c (load_warn_old_style_backquotes): Change message to look
16574 better when it appears in the middle of byte-compiler messages.
16575
165762007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
16577
16578 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
16579
16580 * xterm.c (x_create_terminal): Add comment.
16581
16582 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
16583
165842007-09-10 Richard Stallman <rms@gnu.org>
16585
16586 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
16587
165882007-09-10 Michaël Cadilhac <michael@cadilhac.name>
16589
16590 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
16591 (DEFUN): Document `intspec', use it instead of `prompt'.
16592
16593 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
16594
16595 * data.c (Finteractive_form): If the interactive specification starts
16596 with a `(', use it as a Lisp form.
16597
16598 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
16599 name and file modes.
16600
16601 * callint.c (Fcall_interactively): Comment fixes.
16602
166032007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
16604
16605 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
16606 and compiled functions.
16607
166082007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
16609
16610 * window.c (prefer_window_split_horizontally): New variable.
16611 (display_buffer): Consider splitting window horizontally depending
16612 on prefer_window_split_horizontally.
16613
166142007-09-08 Eli Zaretskii <eliz@gnu.org>
16615
16616 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
16617
166182007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16619
16620 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
16621
16622 * frame.c (x_set_frame_parameters): Check number is positive before
16623 using XFASTINT.
16624
16625 * window.c (freeze_window_start): Don't presume selected_window holds
16626 a window object.
16627 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
16628
166292007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
16630
16631 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
16632
166332007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16634
16635 * window.c (Vsplit_window_preferred_function): New var.
16636 (Fdisplay_buffer): Use it.
16637 (syms_of_window): Export, and initialize it.
16638
166392007-09-06 Pixel <pixel@mandriva.com> (tiny change)
16640
16641 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
16642
166432007-09-06 Glenn Morris <rgm@gnu.org>
16644
16645 * gtkutil.c (menu_grab_callback) <cnt>:
16646 * xselect.c (x_reply_selection_request) <cnt>: Move static
16647 variable to file scope.
16648
166492007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
16650
16651 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
16652 consistent values of selected_frame and selected_window.
16653
166542007-09-04 Jason Rumney <jasonr@gnu.org>
16655
16656 * w32console.c (initialize_w32_display): Zero unused hooks.
16657
166582007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16659
16660 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
16661 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
16662
166632007-09-04 Jason Rumney <jasonr@gnu.org>
16664
16665 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
16666 in w32console.c. Set up input. Remove XXX comments that have been
16667 confirmed as correct.
16668
16669 * s/ms-w32.h (MULTI_KBOARD): Define.
16670
16671 * w32console.c (one_and_only_w32cons): Remove.
16672 (initialize_w32_display): Take terminal argument.
16673
16674 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
16675 initialize_w32_display.
16676 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
16677
16678 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
16679
16680 * keyboard.c (discard_mouse_events): Discard it.
16681 (make_lispy_event): Translate it to a lisp event.
16682 (lispy_wheel_names): Add wheel-left and right events.
16683 (syms_of_keyboard): Enlarge wheel_syms.
16684
16685 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
16686 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
16687
16688 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
16689
16690 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
16691 from WM_MOUSEHWHEEL.
16692 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
16693
16694 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
16695 terminal.
16696
16697 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
16698 keyboard for the terminal.
16699
167002007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16701
16702 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
16703 (Vresume_tty_hook): Rename from Vresume_tty_functions.
16704 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
16705 and resume-tty-function to resume-tty-hook.
16706 (Fsuspend_tty, Fresume_tty): Use new names.
16707
167082007-09-02 Jan Djärv <jan.h.d@swipnet.se>
16709
16710 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
16711 if it starts with "n:".
16712
167132007-08-31 Jan Djärv <jan.h.d@swipnet.se>
16714
16715 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
16716
167172007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
16718
16719 * frame.h:
16720 * frame.c (Qterm_environment_variable): Remove.
16721 (syms_of_frame): Don't init and staticpro it.
16722
16723 * callproc.c (getenv_internal): Remove special case for $TERM.
16724
16725 * callproc.c (Vinitial_environment): New variable.
16726 (set_initial_environment): Initialize it.
16727 (syms_of_callproc): Declare it.
16728 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
16729 TERM under which a process runs is never related to the TERM in which
16730 Emacs is running.
16731
167322007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16733
16734 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
16735 * s/darwin.h: ... do it here.
16736
167372007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
16738
16739 * lisp.h (set_initial_environment): Rename from set_global_environment.
16740
16741 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
16742 removed by mistake on the multi-tty branch.
16743
16744 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
16745 (Fmodify_frame_parameters): Return a value.
16746
16747 * image.c (png_load): Comment-out var only used in commented-out code.
16748
16749 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
16750 before passing it to mark_object.
16751
16752 * xfaces.c (internal_resolve_face_name): Return a value.
16753 (internal_resolve_face_name, resolve_face_name_error): Comment out.
16754
16755 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
16756 (x_icon): Comment-out var only used in commented-out code.
16757
167582007-08-29 Romain Francoise <romain@orebokech.com>
16759
16760 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
16761 QUIT hasn't been provided.
16762
167632007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16764
16765 * callproc.c (child_setup, getenv_internal): Use the
16766 display-environment-variable and term-environment-variable frame params.
16767 (set_initial_environment): Initialise Vprocess_environment.
16768
16769 * config.in: Disable multi-keyboard support on a mac.
16770
16771 * frame.c (Qterm_environment_variable)
16772 (Qdisplay_environment_variable): New variables.
16773 (syms_of_frame): Intern and staticpro them.
16774 (Fmake_terminal_frame): Disable output method test.
16775
16776 * frame.h: Declare them here.
16777
16778 * macfns.c (x_set_mouse_color): Get rif from the frame.
16779 (x_set_tool_bar_lines): Don't use updating_frame.
16780 (mac_window): Add 2 new parameters for consistency with other systems.
16781 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
16782 frame parameters following what is done in X11 and w32. Don't use
16783 FRAME_MAC_DISPLAY_INFO.
16784 (Fx_open_connection, start_hourglass): Remove window-system check.
16785 (x_create_tip_frame): Get the keyboard from the terminal.
16786
16787 * macmenu.c: Reorder includes.
16788 (Fx_popup_menu): Use terminal specific mouse_position_hook.
16789
16790 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
16791 terminal parameter.
16792 (x_clear_frame): Add a frame parameter.
16793 (note_mouse_movement): Get rif from the frame.
16794 (mac_term_init): Initialize the terminal.
16795 (mac_initialize): Make static and move terminal initialization ...
16796 (mac_create_terminal): ... to this new function.
16797
16798 * macterm.h (struct mac_display_info): Add terminal.
16799 (mac_initialize): Delete declaration.
16800
16801 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
16802
16803 * sysdep.c: Comment out text after #endif.
16804
16805 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
16806 is defined. Better initialize ttys in windows. Use terminal
16807 specific mouse_position_hook.
16808
16809 * termhooks.h (union display_info): Add mac_display_info.
16810
16811 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
16812 Set the default minibuffer frame, window_system and the rest of the
16813 frame parameters following what is done in X11.
16814
16815 * w32term.c (w32_initialize): Make static.
16816
16817 * xselect.c (x_handle_selection_clear): Only access
16818 terminal->kboard when MULTI_KBOARD is defined.
16819
16820 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
16821 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
16822
168232007-08-29 Jason Rumney <jasonr@gnu.org>
16824
16825 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
16826 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
16827
16828 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
16829 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
16830
16831 * keyboard.c (restore_kboard_configuration): Only define when
16832 MULTI_KBOARD defined.
16833
16834 * makefile.w32-in: Update dependancies from Makefile.in.
16835 (OBJ1): Add terminal.$(O)
16836
16837 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
16838 Don't define function body.
16839 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
16840
16841 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
16842
16843 * w32.c (request_sigio, unrequest_sigio): Remove.
16844
16845 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
16846 (w32con_clear_frame, w32con_clear_end_of_line)
16847 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
16848 (w32con_delete_glyphs, w32con_set_terminal_window)
16849 (scroll_line, w32_sys_ring_bell): Add frame arg.
16850 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
16851 Add terminal arg.
16852 (PICK_FRAME): Remove.
16853 (w32con_write_glyphs): Use frame specific terminal coding.
16854 (one_and_only_w32cons): New global variable.
16855 (initialize_w32_display): Use it for storing hooks.
16856 (create_w32cons_output): New function.
16857
16858 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16859 arg a frame.
16860
16861 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16862 Set window_system.
16863 (x_set_tool_bar_lines): Don't use updating_frame.
16864 (Fx_create_frame): Set terminal and ref count.
16865 (Fx_open_connection): Remove window-system check.
16866
16867 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16868
16869 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16870 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16871 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16872 Add frame arg.
16873 (x_delete_terminal, w32_create_terminal): New functions.
16874 (w32_term_init): Create a terminal.
16875 (w32_initialize): Move terminal specific initialization to
16876 w32_create_terminal.
16877
16878 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16879 (w32_clear_rect, w32_clear_area): Use background from frame.
16880 (w32_display_info): Add terminal.
16881 (w32_sys_ring_bell, x_delete_display): Declare here.
16882
16883 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16884
16885 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16886
168872007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16888
16889 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16890 Fix get_named_tty calls for the controlling tty.
16891
168922007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16893
16894 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16895
168962007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16897
16898 * term.c (tty_insert_glyphs): Add missing first parameter.
16899
169002007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16901
16902 * buffer.c (Fbuffer_list, Fbury_buffer):
16903 Take frame->buried_buffer_list into account.
16904
16905 * cm.c (current_tty): New variable, for cmputc().
16906 (cmputc): Use it.
16907 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16908 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16909 (cmgoto): Add tty parameter. Pass it on to calccost().
16910 Use emacs_tputs() instead of tputs().
16911
16912 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16913 tputs().
16914 (current_tty): New variable, for cmputc().
16915 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16916
16917 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16918 (internal_condition_case, internal_condition_case_1)
16919 (internal_condition_case_2): Don't abort when x_catching_errors.
16920
16921 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16922 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16923 prevent crashes caused by bogus longjmps in read_char.
16924
16925 * keymap.h (Fset_keymap_parent): Add EXFUN.
16926
16927 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16928 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16929 Remove redundant definition.
16930
16931 * macfns.c (x_set_mouse_color, x_make_gc):
16932 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16933
16934 * w32term.c (x_free_frame_resources):
16935 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16936 (w32_initialize): Use the accessor macros for terminal characteristics.
16937
16938 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16939 Use the accessor macros for terminal characteristics.
16940 * msdos.c (internal_terminal_init): Use the accessor macros for
16941 terminal characteristics.
16942 (ScreenVisualBell, internal_terminal_init):
16943 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16944
16945 * termopts.h (no_redraw_on_reenter): Declare.
16946
16947 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16948 (mark_terminals, mark_ttys): Declare.
16949 (Fgarbage_collect): Call them.
16950 (mark_object): Mark buried_buffer_list.
16951
16952 * prefix-args.c: Include stdlib.h for exit.
16953
16954 * syssignal.h: Add comment.
16955
16956 * indent.c: Include stdio.h.
16957
16958 * window.h (Vinitial_window_system): Declare.
16959 (Vwindow_system): Delete declaration.
16960
16961 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16962
16963 * image.c (lookup_image): Don't initialize `c' until the xasserts
16964 have been run.
16965
16966 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16967 FRAME_FOREGROUND_PIXEL.
16968
16969 * print.c (print_preprocess): Don't lose print_depth levels while
16970 iterating.
16971
16972 * widget.c (update_from_various_frame_slots):
16973 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16974
16975 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16976 frames.
16977 (window_internal_height): Remove bogus make_number call.
16978 (init_window_once): Call make_terminal_frame with two zero parameters.
16979
16980 * fileio.c (Fread_file_name): Update comment.
16981
16982 * callint.c (Fcall_interactively):
16983 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16984 Make sure it is correctly unwound.
16985
16986 * xsmfns.c (x_session_close): New function.
16987
16988 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16989 Delete declarations.
16990
16991 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16992 (x_output): Remove background_pixel and foreground_pixel fields.
16993 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16994 (x_delete_device, x_session_close): Declare.
16995
16996 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16997 (read_filtered_event): Call `read_char' with a local
16998 `wrong_kboard_jmpbuf'.
16999
17000 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
17001 Don't call single_kboard_state. Use FRAME_RIF.
17002
17003 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
17004 systems.
17005
17006 * lisp.h (set_process_environment): Rename to `set_global_environment'.
17007 (Fframe_with_environment, Fset_input_meta_mode)
17008 (Fset_quit_char): EXFUN.
17009 (x_create_device, tty_output, terminal, tty_display_info): Declare.
17010 (init_sys_modes, reset_sys_modes): Update prototypes.
17011 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
17012
17013 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
17014 Vlocal_key_translation_map, and Vkeyboard_translate_table.
17015 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
17016 Delete declarations.
17017 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
17018 (temporarily_switch_to_single_kboard, tty_read_avail_input):
17019 New declarations.
17020
17021 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
17022 already does that during init_display(). Call syms_of_keymap
17023 before syms_of_keyboard. Call `syms_of_terminal'.
17024 Call set_initial_environment, not set_process_environment.
17025 (shut_down_emacs): Call reset_all_sys_modes() instead of
17026 reset_sys_modes().
17027
17028 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
17029 (internal_resolve_face_name, resolve_face_name_error): New functions.
17030 (resolve_face_name): Protect against loops and errors thrown by Fget.
17031 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
17032 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
17033
17034 * scroll.c: Replace CURTTY() with local variables throughout the
17035 file (where applicable).
17036 (calculate_scrolling, calculate_direct_scrolling)
17037 (scrolling_1, scroll_cost): Use the accessor macros for terminal
17038 characteristics.
17039
17040 * keymap.c (Vfunction_key_map): Remove.
17041 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
17042 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
17043 (Vkey_translation_map): Remove.
17044 (syms_of_keymap): Remove DEFVAR for key-translation-map.
17045 (Fdescribe_buffer_bindings)
17046 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
17047 Update for terminal-local key-translation-map.
17048
17049 * Makefile.in (callproc.o): Update dependencies.
17050 (lisp, shortlisp): Add termdev.elc.
17051 (obj): Add terminal.o.
17052 (terminal.o): Add dependencies.
17053 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
17054 (data.o, fns.o): Add termhooks.h dependency.
17055 (SOME_MACHINE_LISP): Add dnd.elc.
17056 (minibuf.o): Fix typo.
17057 Update dependencies.
17058
17059 * data.c (do_symval_forwarding, store_symval_forwarding)
17060 (find_symbol_value): Use the selected frame's keyboard, not
17061 current_kboard.
17062
17063 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
17064 Vwindow_system.
17065
17066 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
17067 Fmenu_bar_open.
17068 (syms_of_xmenu): Update defsubr.
17069 (mouse_position_for_popup, Fx_popup_menu)
17070 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
17071 (set_frame_menubar, free_frame_menubar)
b97439ce 17072 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
17073 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
17074 an X frame.
17075
17076 * xselect.c (x_own_selection): Abort if not an X frame.
17077 (some_frame_on_display): Check if it is an X frame.
17078 (x_handle_selection_clear): Deal with MULTI_KBOARD.
17079
17080 * coding.c: Include frame.h and termhooks.h.
17081 (terminal_coding, keyboard_coding): Delete.
17082 (Fset_terminal_coding_system_internal)
17083 (Fset_keyboard_coding_system_internal)
17084 (Fkeyboard_coding_system)
17085 (Fterminal_coding_system): Add a terminal parameter.
17086 Get terminal_coding from the terminal.
17087 (init_coding_once): Don't call setup_coding_system here.
17088
17089 * dispextern.h (set_scroll_region, turn_off_insert)
17090 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
17091 (tty_clear_end_of_line, tty_setup_colors)
17092 (delete_tty, updating_frame)
17093 (produce_special_glyphs, produce_glyphs, write_glyphs)
17094 (insert_glyphs): Remove.
17095 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
17096 (tty_turn_off_highlight, get_tty_size): Add declaration.
17097 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
17098
17099 * frame.h (enum output_method): Add output_initial.
17100 (struct x_output): Delete.
17101 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
17102 Access foreground_pixel and background_pixel directly from the frame.
17103 (tty_display): Delete.
17104 (struct frame): Add buried_buffer_list, foreground_pixel,
17105 background_pixel and terminal. Delete kboard.
17106 (union output_data): Add tty.
17107 (FRAME_KBOARD): Get the kboard from the terminal.
17108 (FRAME_INITIAL_P): New macro.
17109 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
17110 (Qterm_environment_variable, Qdisplay_environment_variable)
17111 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
17112 New declarations.
17113
17114 * termchar.h (tty_output, tty_display_info): New structures.
17115 (tty_list): Declare.
17116 (FRAME_TTY, CURTTY): New macros.
17117 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
17118 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
17119 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
17120 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
17121
17122 * callproc.c: Include frame.h and termhooks.h, for terminal
17123 parameters.
17124 (add_env): New function.
17125 (child_setup): Use it.
17126 (child_setup, getenv_internal): Handle the new Vprocess_environment.
17127 (getenv_internal): Fix get_terminal_param call.
17128 (Fgetenv_internal, egetenv): Update doc.
17129 (syms_of_callproc): Initialize Vprocess_environment to nil.
17130 Register and initialize them. Remove obsolete defvars. Update doc
17131 strings.
17132 (child_setup): Handle Vlocal_environment_variables.
17133 (getenv_internal): Add terminal parameter.
17134 Handle Vlocal_environment_variables.
17135 (Fgetenv_internal): Add terminal parameter.
17136 (child_setup, getenv_internal, Fgetenv_internal): Store the local
17137 environment in a frame (not terminal) parameter. Update doc strings.
17138 (set_initial_environment): Rename from set_global_environment.
17139 Store Emacs environment in initial frame parameter.
17140
17141 * xdisp.c (redisplay_internal): Update references to
17142 `previous_terminal_frame'.
17143 (display_mode_line, Fformat_mode_line): Replace calls to
17144 `push_frame_kboard' with `push_kboard'.
17145 (get_glyph_string_clip_rects): Add extra parentheses and
17146 braces to prevent compiler warnings.
17147 (calc_pixel_width_or_height): Add xassert to check that the
17148 frame is alive. Don't call `lookup_image' on a termcap frame.
17149 (message2_nolog, message3_nolog, redisplay_internal)
17150 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
17151 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
17152 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
17153 (Fx_display_pixel_width, Fx_display_pixel_height)
17154 (Fx_display_planes, Fx_display_color_cells)
17155 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
17156 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
17157 (Fx_display_backing_store, Fx_display_visual_class)
17158 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
17159 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
17160
17161 * xfns.c (x_set_foreground_color x_set_background_color)
17162 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
17163 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17164 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
17165 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
17166 terminal that is being deleted.
17167 (Fx_create_frame): Use `store_frame_param' to set `window-system'
17168 frame parameter, and make sure it overrides any user-supplied setting.
17169 (Fx_close_connection, Fx_synchronize): Unify argument names with
17170 the rest of the DEFUNs.
17171
17172 * dispnew.c (Fsend_string_to_terminal): Update call to
17173 `get_tty_terminal'.
17174 (Fredraw_frame, Fsend_string_to_terminal)
17175 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
17176 FRAME_TERMCAP_P and FRAME_TTY.
17177 (window_change_signal): Don't believe width/height values that are
17178 impossibly small.
17179 (Vinitial_window_system): Rename from Vwindow_system.
17180 (termscript, Wcm, rif): Delete.
17181
17182 * termhooks.h (struct terminal): New struct containing the
17183 previously global text display hooks and new members NAME,
17184 DELETED and PARAM_ALIST.
17185 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
17186 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
17187 (FRAME_RIF): New macros.
17188 (get_terminal_param, get_device): New declarations.
17189 (termscript): Delete declaration.
17190
17191 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
17192 (XTflash, x_free_frame_resources, x_scroll_bar_create)
17193 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
17194 FRAME_FOREGROUND_PIXEL.
17195 (x_fully_uncatch_errors): Disable definition.
17196 (x_scroll_bar_expose): Fix reference to foreground pixel.
17197 (XTread_socket): Disable loop on all X displays.
17198 (x_delete_terminal): Don't set terminal->deleted and let
17199 delete_terminal delete the frames on the terminal.
17200 (x_delete_display): Doc update to reflect changes in
17201 delete_terminal.
17202 (x_display_info) <terminal>: Move member earlier in the struct.
17203 (deleting_tty): Remove old variable.
17204 (Fsuspend_tty): Call clear_tty_hooks.
17205 (Fresume_tty, init_tty): Call set_tty_hooks.
17206 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
17207 errors on X frames.
17208 (x_catch_errors_unwind): Abort if x_error_message is NULL.
17209 (handle_one_xevent): Initialize `f' to NULL.
17210 (x_delete_terminal, x_create_terminal): New functions.
17211 (XTset_terminal_modes, XTreset_terminal_modes)
17212 (XTread_socket, x_connection_closed, x_term_init)
17213 (x_term_init, x_delete_display): Add terminal parameter.
17214 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
17215 X connections.
17216
17217 * frame.c: Include termchar.h.
17218 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
17219 (Qwindow_system, Qenvironment, Qterm_environment_variable)
17220 (Qdisplay_environment_variable): New vars.
17221 (Fframep): Deal with output_initial.
17222 (Fframe-live-p): Doc fix.
17223 (Fwindow-system): New function.
17224 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
17225 (make_terminal_frame): Don't create frames on a terminal that is
17226 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17227 (store_frame_param): Check for found_for_frame before calling XFRAME.
17228 (Fmake_terminal_frame): Handle NULL tty names correctly.
17229 (syms_of_frame): Enhance doc string of `default-frame-alist'.
17230 (Fdelete_frame): Remove unused variable `count'. Don't allow other
17231 frames to refer to a deleted frame in their 'environment parameter.
17232 (Fframe_with_environment): New function.
17233 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
17234 (get_future_frame_param): New function.
17235 (Fmake_terminal_frame): Use it.
17236 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
17237
17238 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
17239 * sysdep.c (reset_sys_modes): Update for renames.
17240
17241 * keyboard.c (tty_read_avail_input): New function.
17242 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
17243 (syms_of_keyboard): Defsubr them.
17244 (Fset_input_meta_mode, Fset_quit_char): New functions.
17245 (Fset_input_mode): Split to above functions.
17246 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
17247 parameter. Use it in call to `read_char'.
17248 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
17249 Set wrong_kboard_jmpbuf correctly in recursive calls.
17250 Use current_kboard to access Vkeyboard_translate_table.
17251 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
17252 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
17253 Update longjmp invocations. Remember the original current_kboard,
17254 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
17255 changes it. Comment out unnecessary calls to
17256 `record_single_kboard_state' and `any_kboard_state'.
17257 Update recursive calls.
17258 (wrong_kboard_jmpbuf): Remove global variable.
17259 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
17260 Handle deleted interrupted_kboards correctly; that is a legal
17261 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
17262 and read_char calls. Abort if interrupted_kboard died in read_char.
17263 (any_kboard_state, single_kboard_state)
17264 (push_frame_kboard): Remove function.
17265 (pop_kboard): Switch out of single_kboard mode if the kboard has
17266 been deleted. Remove unused variable. Help debugging by not
17267 changing current_kboard unnecessarily. Set current_kboard to the
17268 kboard of the selected frame when the stored kboard object has
17269 been deleted before pop_kboard.
17270 (temporarily_switch_to_single_kboard): Change first parameter to a
17271 frame pointer. Throw an error when caller wants to change kboards
17272 while in single_kboard mode. Don't push_kboard if we weren't in
17273 single kboard state. Don't pop_kboard if we popped into any
17274 kboard state.
17275 (restore_kboard_configuration): Abort if pop_kboard changed the
17276 kboard in single_kboard mode. Call pop_kboard only after setting
17277 up single_kboard mode.
17278 (Frecursive_edit): Switch to single_kboard mode only in nested
17279 command loops.
17280 (cmd_error, command_loop, command_loop_1, timer_check):
17281 Comment out unnecessary call to `any_kboard_state' and
17282 `record_single_kboard_state'.
17283 (delete_kboard): Exit single_kboard mode if we have just deleted
17284 that kboard. Use FRAME_KBOARD.
17285 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
17286 `fatal_error_signal'.
17287 (record_single_kboard_state): Don't push_kboard if we weren't in
17288 single kboard state. Don't pop_kboard if we popped into any
17289 kboard state.
17290 (push_frame_kboard): Rename to push_kboard.
17291 (kbd_buffer_get_event): Use FRAME_TERMINAL.
17292 (read_avail_input): Read input from all terminals.
17293 (mark_kboards): Also mark Vkeyboard_translate_table.
17294 (kbd_buffer_store_event_hold): Simplify condition.
17295 (read_key_sequence): Reinitialize fkey and keytran at each replay.
17296 (Vkeyboard_translate_table): Move to struct kboard.
17297 (init_kboard): Initialize Vkeyboard_translate_table.
17298 (syms_of_keyboard): Use DEFVAR_KBOARD to define
17299 Vkeyboard_translate_table. Update doc strings. Update docs of
17300 local-function-key-map and function-key-map.
17301
17302 * terminal.c: New file.
17303
17304 * term.c: Include errno.h.
17305 (Vring_bell_function, device_list, initial_device)
17306 (next_device_id, ring_bell, update_begin, update_end)
17307 (set_terminal_window, cursor_to, raw_cursor_to)
17308 (clear_to_end, clear_frame, clear_end_of_line)
17309 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
17310 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
17311 (syms_of_term): Move their initialization to terminal.c.
17312 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
17313 (Ftty_display_color_cells)
17314 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
17315 (clear_tty_hooks, set_tty_hooks)
17316 (init_tty, maybe_fatal): New functions.
17317 (Ftty_type): Return nil if terminal is not on a tty instead of
17318 throwing an error. Doc update.
17319 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
17320 Doc update. Initialize new subrs and variables.
17321 (delete_tty): Use terminal->deleted.
17322 (tty_set_terminal_modes): Rename from set_terminal_modes.
17323 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
17324 (set_scroll_region): Rename to `tty_set_scroll_region'.
17325 (turn_on_insert): Rename to `tty_turn_on_insert'.
17326 (turn_off_insert): Rename to `tty_turn_off_insert'.
17327 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
17328 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
17329 (toggle_highligh): Rename to `tty_toggle_highlight'.
17330 (background_highlight): Rename to `tty_background_highlight'.
17331 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
17332 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
17333 (tty_set_scroll_region, tty_background_highlight)
17334 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
17335 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
17336 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
17337 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
17338 Add static modifier.
17339 (tty_reset_terminal_modes, tty_set_terminal_window)
17340 (tty_set_scroll_region, tty_background_highlight)
17341 (tty_highlight_if_desired, tty_cursor_to)
17342 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
17343 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
17344 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
17345 renames.
17346
173472007-08-28 Jan Djärv <jan.h.d@swipnet.se>
17348
17349 * keyboard.c: Qrtl is new.
17350 (parse_tool_bar_item): Handle :rtl keyword.
17351 (syms_of_keyboard): Intern :rtl keyword.
17352
17353 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
17354
17355 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
17356 so no Lisp code is executed.
17357 (file_for_image, find_rtl_image): New functions.
17358 (xg_get_image_for_pixmap): Use file_for_image.
17359 (update_frame_tool_bar): If direction is RTL, use RTL image if
17360 defined. Use Gtk stock images if defined.
17361
173622007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17363
17364 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
17365 for nonexistent or zero-width glyph in composition glyph.
17366
173672007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
17368
17369 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
17370
17371 * xdisp.c (Finvisible_p): New function.
17372 (syms_of_xdisp): defsubr it.
17373
173742007-08-24 Juanma Barranquero <lekktu@gmail.com>
17375
17376 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
17377 Doc fixes.
17378
173792007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17380
17381 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
17382
173832007-08-24 Martin Rudalics <rudalics@gmx.at>
17384
17385 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
17386 whether decoding has modified buffer contents.
17387
173882007-08-24 Jason Rumney <jasonr@gnu.org>
17389
17390 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
17391 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
17392 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
17393 (init_svg_functions) [HAVE_NTGUI]: New function.
17394 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
17395 (svg_load_image): Use them.
17396 (svg_load_image) [HAVE_NTGUI]: Implement background.
17397
173982007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17399
17400 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
17401 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
17402 (LIBX): Remove @RSVG_LIBS@.
17403 (LIBES): Add $(RSVG_LIBS).
17404
17405 * image.c (svg_load_image): Blend with specified background if exists.
17406 Use IMAGE_BACKGROUND. Add Mac OS Support.
17407
17408 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
17409 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
17410 Remove macros.
17411 [MAC_OSX] (socket_callback): Do nothing.
17412 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
17413 ReceiveNextEvent.
17414 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
17415 socket_callback.
17416 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
17417
174182007-08-22 Glenn Morris <rgm@gnu.org>
17419
17420 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
17421
174222007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
17423
17424 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
17425
17426 * image.c: Add support for SVG images. Some additional comments
17427 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
17428 (svg_image_p): New function to test for SVG image.
17429 (svg_load): New function to load SVG image.
17430 (svg_load_image): New function, helper for svg_load.
17431 (Qsvg): New Lisp_object.
17432 (svg_keyword_index): New enum.
17433 (svg_format): New static `image_keyword' struct.
17434 (svg_type): New static `image_type' struct.
17435 (librsvg/rsvg.h): Include it.
17436
174372007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
17438
17439 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17440
174412007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17442
17443 * lread.c (Qold_style_backquotes): New var.
17444 (syms_of_lread): Init and staticpro it.
17445 (load_warn_old_style_backquotes): New fun.
17446 (Fload): Use them to warn about old style backquotes.
17447 (end_of_file_error, Fload): Remove unused vars.
17448
17449 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17450
17451 * lread.c (Vold_style_backquotes): New var.
17452 (syms_of_lread): Init and export it to Elisp.
17453 (read1): Set it when we find an old-style (back)quote.
17454
174552007-08-22 Jason Rumney <jasonr@gnu.org>
17456
17457 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17458
174592007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17460
17461 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17462
174632007-08-19 Richard Stallman <rms@gnu.org>
17464
17465 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17466
174672007-08-19 Andreas Schwab <schwab@suse.de>
17468
17469 * alloc.c (pure): Round PURESIZE up.
17470
174712007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17472
17473 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17474 active frame.
17475
174762007-08-16 Richard Stallman <rms@gnu.org>
17477
17478 * eval.c (Fcommandp): Add parens to clarify.
17479
17480 * minibuf.c (Fall_completions): Use enum for type of table.
17481
17482 * emacs.c (USAGE2): Improve text.
17483
174842007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17485
17486 * term.c (tty_default_color_capabilities): Declare static
17487 variables in file scope, to avoid HPUX compiler problem.
17488
174892007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17490
17491 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17492 to gtk_toolbar_insert.
17493
174942007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17495
17496 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17497
17498 * insdel.c (reset_var_on_error): New fun.
17499 (signal_before_change, signal_after_change):
17500 Use it to reset (after|before)-change-functions to nil in case of error.
17501 Bind inhibit-modification-hooks to t.
17502 Don't bind (after|before)-change-functions to nil while they run.
17503
175042007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17505
17506 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17507 filling pixmap with stippled background.
17508
175092007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17510
17511 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17512 Don't use invisible frame as parent window for repositioning.
17513
175142007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17515
17516 * print.c (new_backquote_output): Rename from old_backquote_output.
17517 (print): Inverse its logic (according to its name) so as to match the
17518 behavior of new_backquote_flag in lread.c.
17519
175202007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17521
17522 * gmalloc.c (posix_memalign): New function.
17523
17524 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17525 ActivateControl/DeactivateControl here.
17526 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17527 frame-notice-user-settings is non-nil.
17528 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17529 for kEventParamFMFontStyle.
17530 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17531 mac_pass_command_to_system and mac_pass_control_to_system here.
17532 (XTread_socket): Call ActivateControl/DeactivateControl here.
17533 (XTread_socket) [TARGET_API_MAC_CARBON]:
17534 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17535 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17536 for window repositioning.
17537
175382007-08-08 Glenn Morris <rgm@gnu.org>
17539
17540 * Replace `iff' in doc-strings and comments.
17541
175422007-08-07 Chong Yidong <cyd@stupidchicken.com>
17543
17544 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
17545
175462007-08-07 Martin Rudalics <rudalics@gmx.at>
17547
17548 * fileio.c (Finsert_file_contents): Run format-decode and
17549 after_insert_file_functions on entire buffer when REPLACE is
17550 non-nil and inhibit modification_hooks and point_motion_hooks.
17551 For consistency, run after_insert_file_functions iff something
17552 got inserted. Move signal_after_change and update_compositions
17553 after code running after_insert_file_functions. Make sure that
17554 undo_list doesn't record intermediate steps of the decoding process.
17555
175562007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17557
17558 * emacs.c (main)
17559 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
17560 Call malloc_enable_thread on interactive startup.
17561
17562 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
17563 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
17564 [USE_PTHREAD]: Conditionalize with it.
17565 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
17566 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
17567 New functions.
17568
175692007-08-06 Chong Yidong <cyd@stupidchicken.com>
17570
17571 * xdisp.c (redisplay_window): When restoring original buffer
17572 position, make sure it is still valid.
17573
17574 * image.c (png_load): Ignore png-supplied background color.
17575
175762007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17577
17578 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
17579 Use kCFAbsoluteTimeIntervalSince1970.
17580
17581 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
17582 New variable.
17583 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
17584 event loop should be quit.
17585 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
17586 Quit dialog event loop if quit_dialog_event_loop is set.
17587
17588 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
17589 (Selection): New typedef. Use instead of ScrapRef.
17590 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
17591 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
17592 (mac_clear_selection): Rename from clear_scrap.
17593 (get_flavor_type_from_symbol): New argument SEL and subsume function of
17594 scrap_has_target_type. All uses changed.
17595 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
17596 (mac_selection_has_target_p): New functions.
17597 (mac_put_selection_value): Rename from put_scrap_string.
17598 (mac_get_selection_value): Rename from get_scrap_string.
17599 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
17600 (put_scrap_private_timestamp, scrap_has_target_type)
17601 (get_scrap_private_timestamp): Remove functions.
17602 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
17603 (x_own_selection, x_get_local_selection):
17604 Use mac_valid_selection_value_p.
17605 (x_own_selection): Don't use put_scrap_private_timestamp.
17606 Record OWNERSHIP-INFO into Vselection_alist instead.
17607 (x_get_local_selection): Don't check type if request is local.
17608 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
17609 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
17610
176112007-08-04 Jan Djärv <jan.h.d@swipnet.se>
17612
17613 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
17614 add comment explaining why.
17615
176162007-08-03 Richard Stallman <rms@gnu.org>
17617
17618 * fileio.c (Fvisited_file_modtime): Use make_time.
17619
176202007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
17621
17622 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
17623 build.
17624
176252007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
17626
17627 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
17628
176292007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
17630
17631 * puresize.h (BASE_PURESIZE): Increase to 1130000.
17632
176332007-07-30 Richard Stallman <rms@gnu.org>
17634
17635 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
17636
176372007-07-29 Jan Djärv <jan.h.d@swipnet.se>
17638
17639 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
17640
176412007-07-28 Nick Roberts <nickrob@snap.net.nz>
17642
17643 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
17644 remote default-directory.
17645
17646 * buffer.c (mode-line-format): Update doc string.
17647
176482007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17649
17650 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
17651 scroll bar gap.
17652 (x_scroll_bar_create): Set bar->fringe_extended_p.
17653 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
17654 on frame edge. Check fringe background extension. Don't clear
17655 extended fringe background area.
17656
17657 * w32term.h (struct scroll_bar): New member fringe_extended_p.
17658 (w32_fill_area): Enclose multiple statements with do ... while (0).
17659
17660 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
17661 Extend fringe background to scroll bar gap.
17662 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
17663 Set bar->fringe_extended_p.
17664 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17665 Put leftmost/rightmost scroll bars on frame edge. Check fringe
17666 background extension. Don't clear extended fringe background area.
17667
17668 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17669 New member fringe_extended_p.
17670
176712007-07-25 Glenn Morris <rgm@gnu.org>
17672
17673 * Relicense all FSF files to GPLv3 or later.
17674
17675 * COPYING: Switch to GPLv3.
17676
176772007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
17678
17679 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
17680
17681 * data.c (Finteractive_form): Check for the presence of an
17682 `interactive-form' symbol property more thoroughly.
17683
17684 * data.c (Finteractive_form): Use an `interactive-form' property if
17685 present, analogous to the function-documentation property.
17686
176872007-07-24 Jason Rumney <jasonr@gnu.org>
17688
17689 * w32fns.c (x_real_positions): Get real position from OS instead of
17690 calculating it.
17691
176922007-07-23 Jason Rumney <jasonr@gnu.org>
17693
17694 * filelock.c (current_lock_owner): Allow for @ sign in username.
17695
176962007-07-22 Nick Roberts <nickrob@snap.net.nz>
17697
17698 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
17699 remote default-directory.
17700
17701 * buffer.c (mode-line-format): Describe above case in doc string.
17702
177032007-07-20 Eli Zaretskii <eliz@gnu.org>
17704
17705 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
17706 Define if not defined.
17707
177082007-07-18 Jason Rumney <jasonr@gnu.org>
17709
17710 * w32proc.c (w32_executable_type): Handle 64 bit executables.
17711
177122007-07-18 Richard Stallman <rms@gnu.org>
17713
17714 * data.c (Fsetq_default): Doc fix.
17715
17716 * eval.c (Fsetq): Doc fix.
17717
177182007-07-18 Juanma Barranquero <lekktu@gmail.com>
17719
17720 * coding.c (Ffind_operation_coding_system):
17721 * eval.c (For, Fand): Doc fixes.
17722 Reported by Johan Bockgård.
17723
177242007-07-18 Jan Djärv <jan.h.d@swipnet.se>
17725
17726 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
17727
17728 * xterm.h: Declare x_ewmh_activate_frame.
17729
17730 * xterm.c (x_ewmh_activate_frame): New function.
17731 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
17732
177332007-07-17 Martin Rudalics <rudalics@gmx.at>
17734
17735 * window.c (Fdisplay_buffer): If largest or LRU window is the
17736 only window, split it even if it is not eligible for splitting.
17737 This restores the original behavior broken by the 2007-07-15
17738 change.
17739
177402007-07-17 Glenn Morris <rgm@gnu.org>
17741
17742 * abbrev.c (abbrev_check_chars): New function.
17743 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
17744 Call abbrev_check_chars to check abbrev characters are word
17745 constituents. Doc fix.
17746
177472007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
17748
17749 * process.c (Fstart_process, Fmake_network_process)
17750 (read_process_output): Fix up last changes.
17751
177522007-07-16 Eli Zaretskii <eliz@gnu.org>
17753
17754 * makefile.w32-in (clean): Don't delete *~.
17755
177562007-07-16 Andreas Schwab <schwab@suse.de>
17757
17758 * window.c (Fdisplay_buffer): Use NILP.
17759 (Fset_window_scroll_bars): Likewise.
17760
177612007-07-15 Martin Rudalics <rudalics@gmx.at>
17762
17763 * window.c (window_min_size_2): New function.
17764 (window_min_size_1, size_window, Fdisplay_buffer)
17765 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
17766 windows without mode- or header-lines when window-min-height is
17767 too small.
17768 (size_window): Reset nodelete_p after testing it, following an
17769 earlier note by Kim F. Storm.
17770 (display_buffer): Do not set split_height_threshold to twice the
17771 value of window_min_height to avoid changing the value of a
17772 customizable variable. Rather explicitly check whether the
17773 height of the window that shall be splitted is at least as large
17774 as split_height_threshold.
17775 (Fwindow_full_width_p): New defun.
17776 (syms_of_window): Defsubr it.
17777
17778 * window.h: Add EXFUN for Fwindow_full_width_p.
17779
177802007-07-14 Jason Rumney <jasonr@gnu.org>
17781
17782 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
17783
177842007-07-14 Richard Stallman <rms@gnu.org>
17785
17786 * eval.c (maybe_call_debugger): New function.
17787 (find_handler_clause): Use maybe_call_debugger.
17788 Call it when the handler says `debug'.
17789 Eliminate DEBUGGER_VALUE_PTR.
17790 (Fsignal): Eliminate debugger_value.
17791 (Qdebug): New variable.
17792 (syms_of_eval): Initialize it.
17793
177942007-07-14 Juanma Barranquero <lekktu@gmail.com>
17795
17796 * eval.c (Fprogn):
17797 * keyboard.c (Ftrack_mouse):
17798 * print.c (Fwith_output_to_temp_buffer):
17799 * window.c (Fsave_window_excursion): Doc fix.
17800
178012007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
17802
17803 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
17804
178052007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
17806
17807 * process.h (struct Lisp_Process): Turn slots infd, outfd,
17808 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
17809 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
17810 read_output_delay, and read_output_skip from Lisp_Objects to ints.
17811 Remove unused encoding_carryover.
17812 * process.c: Adjust all functions accordingly.
17813
178142007-07-12 Richard Stallman <rms@gnu.org>
17815
17816 * term.c: Include unistd.h only if HAVE_UNISTD_H.
17817
178182007-07-11 Jason Rumney <jasonr@gnu.org>
17819
17820 * makefile.w32-in (LIBS): Include OLE32.
17821
17822 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
17823 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
17824
178252007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
17826
17827 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
17828 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
17829 from a Lisp_Object into a bare pointer.
17830 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
17831 Adjust the code correspondingly.
17832
17833 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
17834
17835 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
17836 (term_show_mouse_face): Remove unused var `j'.
17837 (handle_one_term_event): Remove unused vars `i' and `j'.
17838 Don't cast return value of ttyname since it's not necessary.
17839
178402007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
17841
17842 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
17843 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
17844
17845 * fns.c (map_char_table): Use an array of int for `indices' rather than
17846 an array of Lisp_Objects (which are only ever integers anyway).
17847 (Fmap_char_table): Update caller.
17848 * lisp.h: Update prototype.
17849 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
17850 * fontset.c (Ffontset_info):
17851 * casetab.c (set_case_table): Update callers.
17852
17853 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
17854
17855 * keymap.c (struct accessible_keymaps_data)
17856 (struct where_is_internal_data): New structures.
17857 (accessible_keymaps_1, where_is_internal_1): Use them to change
17858 interface to adhere to the one used by map_keymap.
17859 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17860 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17861
17862 * keymap.h (map_keymap_function_t): More informative prototype.
17863
178642007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17865
17866 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17867 (looking_at_1): Don't change search_regs and last_thing_searched
17868 if `inhibit-changing-match-data' is non-nil.
17869 (string_match_1, search_buffer, set_search_regs): Likewise.
17870 (syms_of_search): Add Lisp level definition for
17871 `inhibit-changing-match-data' and set it to nil.
17872 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17873 start and end of the match, instead of using values in search_regs.
17874
178752007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17876
17877 * minibuf.c (Fcompleting_read): New value `confirm-only'
17878 for `require-match'.
17879
178802007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17881
17882 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17883 part of the 2007-06-27 change to syms_of_fileio.
17884
178852007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17886
17887 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17888 Check WINDOWP before using XWINDOW. Consolidate return statements.
17889
178902007-06-27 Richard Stallman <rms@gnu.org>
17891
17892 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17893
178942007-06-27 Juanma Barranquero <lekktu@gmail.com>
17895
17896 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17897
178982007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17899
17900 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17901 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17902 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17903 (_free_internal, memalign): Use them.
17904 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17905 Initialize to PTHREAD_MUTEX_INITIALIZER.
17906 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17907 (morecore_nolock): Rename from morecore. All uses changed.
17908 Use only nolock versions of internal allocation functions.
17909 (_malloc_internal_nolock, _realloc_internal_nolock)
17910 (_free_internal_nolock): New functions created from
17911 _malloc_internal, _realloc_internal, and _free_internal.
17912 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17913 Copy hook value to automatic variable before its use.
17914 (memalign): Copy hook value to automatic variable before its use.
17915
179162007-06-26 Kenichi Handa <handa@m17n.org>
17917
17918 * coding.c (Ffind_operation_coding_system): Docstring improved.
17919 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17920
179212007-06-25 David Kastrup <dak@gnu.org>
17922
17923 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17924 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17925 cater for additional parameter.
17926
17927 * keymap.h: Adjust number of parameters to `current-active-maps'.
17928
17929 * doc.c (Fsubstitute_command_keys): Adjust call of
17930 `current-active-maps'.
17931
179322007-06-25 David Kastrup <dak@gnu.org>
17933
17934 * callint.c (Fcall_interactively): Make the parsing of interactive
17935 specs somewhat more readable.
17936
179372007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17938
17939 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17940 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17941 if extended background has already been filled.
17942
179432007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17944
17945 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17946 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17947
17948 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17949 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17950 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17951 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17952 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17953 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17954 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17955 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17956 Run timers during dialog popup.
17957 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17958
179592007-06-21 Jason Rumney <jasonr@gnu.org>
17960
17961 * image.c (convert_mono_to_color_image): Swap fore and background.
17962
179632007-06-20 Jason Rumney <jasonr@gnu.org>
17964
17965 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17966 (w32_free_bdf_font): Unmap memory not handle.
17967
179682007-06-20 Sam Steingold <sds@gnu.org>
17969
17970 * gmalloc.c (__morecore): Fix the declaration to comply with the
17971 definition.
17972
179732007-06-20 Juanma Barranquero <lekktu@gmail.com>
17974
17975 * w32term.c (w32_delete_display): Remove leftover declaration.
17976 (w32_define_cursor, w32_initialize): Make static.
17977
17978 * w32.c (_wsa_errlist): Fix typo in error message.
17979 (init_environment): Ignore any environment variable from the
17980 registry having a null value.
17981
179822007-06-20 Glenn Morris <rgm@gnu.org>
17983
17984 * Makefile.in (LIBGIF): Default to -lgif.
17985
179862007-06-17 Jason Rumney <jasonr@gnu.org>
17987
17988 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17989 unicode strings.
17990
179912007-06-16 Juanma Barranquero <lekktu@gmail.com>
17992
17993 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17994 Fix typo in docstring.
17995
179962007-06-16 Eli Zaretskii <eliz@gnu.org>
17997
17998 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17999 and their keybindings.
18000
180012007-06-15 Chong Yidong <cyd@stupidchicken.com>
18002
18003 * composite.c (update_compositions): Fix last fix.
18004
180052007-06-14 Jason Rumney <jasonr@gnu.org>
18006
18007 * w32.c (get_process_times_fn): New function pointer.
18008 (globals_of_w32): Intialize it if present in kernel32.dll.
18009 (w32_get_internal_run_time): New function.
18010
18011 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
18012
180132007-06-14 Kenichi Handa <handa@etlken.m17n.org>
18014
18015 * composite.c (update_compositions): Check the validness of
18016 compositions.
18017
180182007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18019
18020 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
18021 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
18022
18023 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
18024 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
18025
18026 * macgui.h (USE_MAC_TOOLBAR): New define.
18027
18028 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18029 Return immediately unless popup is activated.
18030
18031 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
18032 background to scroll bar gap.
18033 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
18034 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
18035 scroll bars on frame edge. Check fringe background extension.
18036 Don't clear extended fringe background area.
18037 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
18038 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
18039 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
18040 [USE_MAC_TOOLBAR]: New macros.
18041 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
18042 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
18043 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
18044 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
18045 [USE_MAC_TOOLBAR]: New functions.
18046 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
18047 manually if previous repositioning has failed.
18048 (mac_handle_keyboard_event): Use precomputed event kind.
18049 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
18050 as tool bar item click. Handle mouse movement over tool bar items.
18051
18052 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
18053 toolbar_win_gravity.
18054 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
18055 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
18056 Add externs.
18057
18058 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
18059 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
18060
180612007-06-14 Chong Yidong <cyd@stupidchicken.com>
18062
18063 * image.c (search_image_cache): Remove unused variable.
18064
180652007-06-13 Chong Yidong <cyd@stupidchicken.com>
18066
18067 * xfns.c, xmenu.c: Link to xaw3d if available.
18068
180692007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18070
18071 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
18072 frame_foreground and frame_background.
18073
18074 * image.c (lookup_image): Save frame foreground and background colors.
18075 (search_image_cache): Check if saved and current frame colors match.
18076
180772007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
18078
18079 * regex.c (regex_compile): Remove the `regnum' counter.
18080 Use bufp->re_nsub instead. Add support for \(?N:RE\).
18081
180822007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
18083
18084 * term.c: Include intervals.h to declare Fget_text_property.
18085
180862007-06-10 Jason Rumney <jasonr@gnu.org>
18087
18088 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
18089
180902007-06-08 Juanma Barranquero <lekktu@gmail.com>
18091
18092 * callint.c (Fcall_interactively):
18093 * editfns.c (Fdelete_and_extract_region):
18094 * fileio.c (Fread_file_name):
18095 * fns.c (Fmapconcat):
18096 * keyboard.c (cmd_error_internal):
18097 * keymap.c (Fkey_description):
18098 * lread.c (openp):
18099 * minibuf.c (read_minibuf):
18100 * search.c (wordify):
18101 * sunfns.c (sel_read):
18102 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
18103 * xfns.c (x_default_scroll_bar_color_parameter):
18104 * xmenu.c (menu_help_callback):
18105 * xselect.c (Fx_get_atom_name):
18106 * xterm.c (x_term_init): Use empty_unibyte_string.
18107
181082007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
18109
18110 * alloc.c (init_strings): Initialize canonical empty strings.
18111 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
18112 canonical empty string when the requested size is 0.
18113
18114 * emacs.c (empty_unibyte_string): Rename from empty_string.
18115 (empty_multibyte_string): New canonical empty string.
18116 (syms_of_emacs): Don't initialize empty_string.
18117
18118 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
18119 string, if appropriate.
18120 (empty_unibyte_string, empty_multibyte_string): New externs.
18121 (empty_string): Remove extern.
18122
18123 * lread.c (syms_of_lread): Use empty_unibyte_string.
18124
181252007-06-07 Jason Rumney <jasonr@gnu.org>
18126
18127 * s/ms-w32.h: Don't define HAVE_TZNAME.
18128
18129 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
18130
181312007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18132
18133 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
18134
18135 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
18136 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
18137
18138 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
18139 Don't call next handler.
18140 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
18141 Remove argument. Install handler to application.
18142 (set_frame_menubar): Don't change deep_p.
18143 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
18144 FRAME_OUTER_TO_INNER_DIFF_Y.
18145 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
18146 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
18147 [HAVE_DIALOGS]: New macros.
18148 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
18149 Use them.
18150 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
18151
18152 * macselect.c [MAC_OSX] (install_service_handler): Rename from
18153 init_service_handler. All callers changed. Return OSStatus value.
18154
18155 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
18156 All callers changed so as not to call SetPortWindowPort.
18157 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
18158 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
18159 mac_draw_string_common.
18160 (mac_draw_image_string_qd): Likewise.
18161 (mac_draw_string_common): Use them. Add INLINE.
18162 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
18163 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
18164 GetGlobalMouse.
18165 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
18166 and FRAME_OUTER_TO_INNER_DIFF_Y.
18167 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
18168 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
18169 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
18170 repositioning window to mac_handle_window_event.
18171 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
18172 saving window location to mac_handle_window_event
18173 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
18174 (install_menu_target_item_handler): Remove argument in extern.
18175 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
18176 Also accept command events.
18177 (do_keystroke): New function created from XTread_socket.
18178 (init_command_handler): Remove functions.
18179 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
18180 and save window location by kEventWindowShowing and kEventWindowHiding
18181 handlers here. Don't call next handler for window state change and
18182 focus events.
18183 (mac_handle_application_event, mac_handle_keyboard_event)
18184 [TARGET_API_MAC_CARBON]: New functions.
18185 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
18186 kEventWindowShowing and kEventWindowHiding events. Move installation
18187 of mouse, font, text input and menu target item handlers to
18188 install_application_handler.
18189 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
18190 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18191 New function.
18192 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18193 Register it.
18194 (XTread_socket) [TARGET_API_MAC_CARBON]:
18195 Consolidate SendEventToEventTarget calls.
18196 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
18197 Move application activation handler to mac_handle_application_event.
18198 Move keyboard handler to mac_handle_keyboard_event.
18199 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
18200 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
18201 init_command_handler. Call install_application_handler.
18202
18203 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
18204 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
18205
182062007-06-07 Glenn Morris <rgm@gnu.org>
18207
18208 * emacs.c (main): Use `emacs-copyright' in --version output.
18209
182102007-06-06 Chong Yidong <cyd@stupidchicken.com>
18211
18212 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
18213
182142007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18215
18216 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
18217
18218 * macgui.h: Replace WindowPtr with WindowRef.
18219
18220 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18221 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18222 Replace ControlHandle with ControlRef.
18223 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
18224
18225 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18226 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18227 Replace ControlHandle with ControlRef.
18228 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
18229 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
18230
18231 * macterm.h (struct scroll_bar): Rename member control_handle_low
18232 and control_handle_high to control_ref_low and control_ref_high.
18233 All uses changed.
18234 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
18235 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
18236 respectively. All uses changed.
18237 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
18238 (install_window_handler, remove_window_handler): Replace WindowPtr
18239 with WindowRef in externs.
18240
182412007-06-05 Juanma Barranquero <lekktu@gmail.com>
18242
18243 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
18244
182452007-06-03 Nick Roberts <nickrob@snap.net.nz>
18246
18247 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
18248
18249 * frame.c (Fmouse_position, Fmouse_pixel_position):
18250 Condition on HAVE_GPM too.
18251
18252 * term.c (term_mouse_highlight): Remove unused variables.
18253 (Fterm_open_connection): Set gpm_zerobased to 1.
18254 (term_mouse_movement, term_mouse_click, handle_one_term_event):
18255 Use zero based co-ordinates.
18256 (handle_one_term_event): Report a drag as mouse movement too.
18257
18258 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
18259
182602007-06-03 Chong Yidong <cyd@stupidchicken.com>
18261
18262 * image.c (search_image_cache): New function. Require background
18263 color match if background color is unspecified in the image spec.
18264 (uncache_image, lookup_image): Use it.
18265
182662007-06-01 Juanma Barranquero <lekktu@gmail.com>
18267
18268 * window.c (Fshrink_window): Reflow docstring.
18269
182702007-06-02 Chong Yidong <cyd@stupidchicken.com>
18271
18272 * Version 22.1 released.
18273
182742007-06-01 Richard Stallman <rms@gnu.org>
18275
18276 * xfns.c (x_encode_text): Add GCPRO.
18277
182782007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18279
18280 * xfns.c (x_set_name_internal): Save encoded name before
18281 x_encode_text in case string data is relocated.
18282
182832007-05-31 Richard Stallman <rms@gnu.org>
18284
18285 * buffer.c (syms_of_buffer): Doc fix.
18286
182872007-05-30 Nick Roberts <nickrob@snap.net.nz>
18288
18289 * sysdep.c (init_sys_modes): Add rather than replace with
18290 O_NONBLOCK.
18291
18292 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
18293 term_mouse_moveto.
18294
18295 * termhooks.h (term_mouse_moveto): New extern.
18296
18297 * term.c (mouse_face_window): Rename...
18298 (Qmouse_face_window): ...to this.
18299 (term_show_mouse_face, term_clear_mouse_face)
18300 (term_mouse_highlight): Use Qmouse_face_window.
18301 (term_mouse_moveto): New function.
18302 (term_mouse_position): Make it work.
18303 (syms_of_term): Uncomment assignment to mouse_position_hook.
18304 Staticpro Qmouse_face_window.
18305
183062007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18307
18308 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
18309 around current_column call.
18310
183112007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
18312
18313 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
18314 * xdisp.c (next_element_from_buffer):
18315 * window.c (delete_window):
18316 * term.c (term_mouse_highlight):
18317 * msdos.c (getdefdir):
18318 * macterm.c (mac_create_bitmap_from_bitmap_data)
18319 (init_font_name_table):
18320 * fns.c (Fsxhash):
18321 * data.c (Fmake_local_variable):
18322 * ccl.c (ccl_driver): Likewise.
18323
183242007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18325
18326 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
18327 Call mac_wakeup_from_rne on window size change.
18328
183292007-05-25 Chong Yidong <cyd@stupidchicken.com>
18330
18331 * image.c (uncache_image): Fix typo.
18332
183332007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
18334
18335 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
18336
183372007-05-22 Richard Stallman <rms@gnu.org>
18338
18339 * xterm.c (x_connection_closed): Remove NO_RETURN.
18340
183412007-05-22 Martin Rudalics <rudalics@gmx.at>
18342
18343 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
18344
183452007-05-21 Chong Yidong <cyd@stupidchicken.com>
18346
18347 * image.c (uncache_image): New function.
18348 (Fimage_refresh): New function.
18349
183502007-05-20 Jan Djärv <jan.h.d@swipnet.se>
18351
18352 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
18353
183542007-05-20 Nick Roberts <nickrob@snap.net.nz>
18355
18356 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
18357 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
18358
183592007-05-20 Nick Roberts <nickrob@snap.net.nz>
18360
18361 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
18362 conditional on [HAVE_GPM_H].
18363
183642007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
18365
18366 * syntax.c (skip_chars): Update syntax-table only after we checked that
18367 the new location is valid.
18368
183692007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18370
18371 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
18372 mac_get_window_bounds.
18373
183742007-05-20 Nick Roberts <nickrob@snap.net.nz>
18375
18376 * Makefile.in (LIBGPM): Allow it to be set from configure.
18377 If set then link Emacs with it.
18378
18379 * config.in: Regenerate.
18380
18381 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
18382 New externs.
18383
18384 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
18385 Include gpm.h.
18386 (handle_one_term_event, term_gpm): New externs.
18387
18388 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
18389 and allow it to be interrupted by SIGIO.
18390
18391 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
18392 (wait_reading_process_output): Wait on gpm_fd too.
18393 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
18394 (add_gpm_wait_descriptor_called_flag): New variable.
18395 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
18396
18397 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
18398 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
18399 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
18400 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
18401 (make_lispy_event): Add case GPM_CLICK_EVENT.
18402 (read_avail_input): Handle mouse input.
18403
18404 * term.c (write_glyphs_with_face): New function.
18405 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
18406 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
18407 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
18408 (mouse_face_face_id, term_gpm, pos_x, pos_y)
18409 (last_mouse_x, last_mouse_y): New variables.
18410 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
18411 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
18412 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
18413 (Fterm_close_connection): New functions.
18414 (term_init): Initialise mouse_face_window.
18415
184162007-05-19 Chong Yidong <cyd@stupidchicken.com>
18417
18418 * xdisp.c (redisplay_window): If first window line is a
18419 continuation line, recompute the new window start instead of
18420 recentering.
18421
184222007-05-18 Glenn Morris <rgm@gnu.org>
18423
18424 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
18425 Suggested by Alfred M. Szmidt <ams@gnu.org>.
18426
184272007-05-17 Glenn Morris <rgm@gnu.org>
18428
18429 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
18430
184312007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18432
18433 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
18434 dead key repeat and up events.
18435
184362007-05-14 Chong Yidong <cyd@stupidchicken.com>
18437
18438 * image.c (pbm_load): Check image size for monochrome pbm.
18439
184402007-05-13 Chong Yidong <cyd@stupidchicken.com>
18441
18442 * xterm.c (XTread_socket): Revert last change.
18443
184442007-05-12 Chong Yidong <cyd@stupidchicken.com>
18445
18446 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18447
18448 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18449
184502007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18451
18452 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18453 mixup (YAILOM).
18454
184552007-05-07 Andreas Schwab <schwab@suse.de>
18456
18457 * keymap.c (Flookup_key): Fix typo in last change.
18458
184592007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18460
18461 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18462 mapping for unibyte strings.
18463
184642007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18465
18466 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18467 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18468
184692007-04-29 Richard Stallman <rms@gnu.org>
18470
18471 * insdel.c (replace_range): For undo, record insertion first.
18472
184732007-04-29 Andreas Schwab <schwab@suse.de>
18474
18475 * lisp.h (VECSIZE): Use OFFSETOF.
18476
184772007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18478
18479 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18480 disabled lines.
18481
184822007-04-28 Richard Stallman <rms@gnu.org>
18483
18484 * lread.c (read_escape): In a string, \s is always space.
18485
184862007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18487
18488 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18489
18490 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18491 submenu for menu bar items.
18492
18493See ChangeLog.10 for earlier changes.
18494
18495;; Local Variables:
18496;; coding: utf-8
18497;; add-log-time-zone-rule: t
aac0c6e3
MR
18498;; End:
18499
76b6f707 18500 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
18501
18502 This file is part of GNU Emacs.
18503
18504 GNU Emacs is free software: you can redistribute it and/or modify
18505 it under the terms of the GNU General Public License as published by
18506 the Free Software Foundation, either version 3 of the License, or
18507 (at your option) any later version.
18508
18509 GNU Emacs is distributed in the hope that it will be useful,
18510 but WITHOUT ANY WARRANTY; without even the implied warranty of
18511 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18512 GNU General Public License for more details.
18513
18514 You should have received a copy of the GNU General Public License
18515 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18516
18517;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40