(list-colors-duplicates): w32-default-color-map is a function.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
973e7849
AS
12009-04-18 Andreas Schwab <schwab@linux-m68k.org>
2
3 * font.c (font_put_frame_data): Use xfree instead of free.
4
314d66f4
JB
52009-04-17 Juanma Barranquero <lekktu@gmail.com>
6
7 * w32font.c (Qja, Qko): Remove declarations.
8 (syms_of_w32font): Don't DEFSYM them.
9
cf702558
CY
102009-04-17 Chong Yidong <cyd@stupidchicken.com>
11
12 * font.c (Qja, Qko): Move definitions here from ftfont.c.
13
14 * font.h (Qja, Qko): Extern them.
15
16 * ftfont.c (Qja, Qko): Remove declarations.
17
18 * xfont.c (Qja, Qko): Remove declarations.
19
b50504f5
KH
202009-04-17 Kenichi Handa <handa@m17n.org>
21
bde25748
KH
22 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
23 string from a vector to handle Latin-1 characters correctly.
24
b50504f5
KH
25 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
26 entity even if the cache hits.
27
f4646fff
AS
282009-04-16 Andreas Schwab <schwab@linux-m68k.org>
29
30 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 31 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 32
e7deaab0
AS
33 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
34 * lisp.h: Adjust prototypes.
35
0a0e7d49
CY
362009-04-16 Chong Yidong <cyd@stupidchicken.com>
37
38 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
39 change (Bug#3003).
40
3c908a57
KH
412009-04-16 Kenichi Handa <handa@m17n.org>
42
bd0af90d
KH
43 * xfont.c (xfont_has_char): Special handling of `ja' and `ko'
44 adstyle.
45
46 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
47 adstyle.
48
49 * ftfont.c (Qja, Qko): Don't make them static.
50 (enum ftfont_cache_for): New enum.
51 (fc_charset_table): Undo the previous change.
52 (ftfont_get_latin1_charset): Delete it.
53 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. Set
54 FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
55 non-scarable font, try to get AVERAGE_WIDTH.
56 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
57 Change ft_face_cache from a list of a hash-table. Don't check
58 `ja' and `ko' adstyle here.
59 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
60 FTFONT_CACHE_FOR_CHARET.
61 (ftfont_get_charset): Undo the previous change.
62 (ftfont_open): Call ftfont_lookup_cache with
63 FTFONT_CACHE_FOR_FACE.
64 (ftfont_close): Likewise.
65 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
66
67 * font.c (font_sort_entites): Change the meaning of the arg
68 BEST-ONLY. Don't optimize for VEC of lenght 1.
69 (font_select_entity): Just return the value of font_sort_entites.
70
71 * xfaces.c (merge_face_vectors): Reflect font properties in
72 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
73 font_clear_prop if a face attribute doesn't change.
74
3c908a57
KH
75 * charset.h (charset_ksc5601): Extern it.
76
77 * charset.c (charset_ksc5601): New variable.
78 (Fdefine_charset_internal): Set charset_ksc5601.
79 (init_charset_once): Initialize charset_ksc5601 to -1.
80
d65859c3
DN
812009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
82
83 * fileio.c (history_delete_duplicates): Remove unused declaration.
84
85 * callint.c (history_delete_duplicates): New declaration.
86 (Fcall_interactively): Remove command history duplicates when
87 history_delete_duplicates is true.
88
3ba010e5
EZ
892009-04-14 Eli Zaretskii <eliz@gnu.org>
90
91 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
92
06f19b91
KH
932009-04-14 Kenichi Handa <handa@m17n.org>
94
95 * font.c (Ffont_info): Fix docstring. Fix the second element of
96 the returned value (bug#2949).
97
2cce8bfc
CY
982009-04-14 Chong Yidong <cyd@stupidchicken.com>
99
100 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
101
d156542d
KH
1022009-04-14 Kenichi Handa <handa@m17n.org>
103
104 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
105 encoding charset is ascii_compatible.
106
107 * charset.c (Fdefine_charset_internal): Make charset
108 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
109 code_offset is 0, and covers all ASCII characters.
110
86fa089e
SM
1112009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
112
113 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
114 (ns_string_to_pasteboard_internal):
115 * nsmenu.m (process_dialog):
116 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
117 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
118 * lisp.h (Fx_load_color_file): Declare.
119
a8a3728b
KH
1202009-04-13 Kenichi Handa <handa@m17n.org>
121
122 * font.c (font_delete_unmatched): Preserve the order of list
123 elements.
124 (font_select_entity): Suppress the code to optimize for the same
125 kind of fonts.
126 (font_load_for_lface): Get a font that supports at least ASCII
127 characters.
128
129 * ftfont.c (Qja, Qko): New variables.
130 (fc_charset_table): Delete uniquifier data for iso8859-1.
131 (ftfont_get_latin1_charset): New function.
132 (get_adstyle_property): New function.
133 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
134 bitmap fonts.
135 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
136 Delete iso-8859-1 range from the charset of fonts whose adstyle is
137 `ko' or `ja'.
138 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
139 (ftfont_get_charset): For iso8859-1, call
140 ftfont_get_latin1_charset.
141 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
142 property.
143 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
144 (syms_of_ftfont): DEFSYM Qja and Qko.
145
483670b5
KH
1462009-04-09 Kenichi Handa <handa@m17n.org>
147
12b55765
KH
148 * charset.c (map_charset_chars): For a charset of `superset'
149 method, fix calculation of code range.
150
483670b5
KH
151 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
152 from the list of extra properties.
153 (font_clear_prop): Be sure to delete `:name' font property.
154
57d3b93b
KH
1552009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
156
b4b2c2ca
YM
157 * dispnew.c (redraw_overlapping_rows): Fix detection of
158 overlapping for topmost and bottommost rows.
159
57d3b93b
KH
160 * ftfont.c (ftfont_text_extents): Fix calculation of
161 metrics->descent.
162
472c3609
JR
1632009-04-06 Jason Rumney <jasonr@gnu.org>
164
165 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
166
ab193662
KH
1672009-04-06 Kenichi Handa <handa@m17n.org>
168
169 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
170
171 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
172
0c26f026
KH
1732009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
174
175 * ftfont.c (ftfont_open): Fix checking of the return value of
176 FT_Load_Char. Fix setting font->underline_thickness.
177
e173bbce
CY
1782009-04-04 Chong Yidong <cyd@stupidchicken.com>
179
180 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
181 (Fterminal_parameters, Fterminal_parameter)
182 (Fset_terminal_parameter): In doc string, refer to terminal
183 objects rather than terminal ids.
184
693a2698
EZ
1852009-04-04 Eli Zaretskii <eliz@gnu.org>
186
187 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
188 ret_lim_data. (Bug#2867)
189
d5221487
CY
1902009-04-03 Chong Yidong <cyd@stupidchicken.com>
191
192 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
193 so they don't get wider than the window, matching 2006-01-23
194 change to the partner function in xdisp.c (Bug#2800).
195
223509a3
KH
1962009-04-03 Kenichi Handa <handa@m17n.org>
197
198 * print.c (print_object): Make each lowest sub_char_table start a
199 new line (Bug#2866).
200
74fcd0b1
KH
2012009-04-02 Kenichi Handa <handa@m17n.org>
202
203 * fontset.c (fontset_font): Record no-font when a fontset
204 explicitly tells not to try another font-specs.
205
c542407d
SM
2062009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
207
208 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
209
e3869731
KH
2102009-03-30 Kenichi Handa <handa@m17n.org>
211
d8d2f142
KH
212 * fontset.c (fontset_from_font): Specify only registry in a
213 font-spec for all characters supported by that registry.
214
e3869731
KH
215 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
216 even if HAVE_M17N_FLT is not defined.
217
5da5f805
CY
2182009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
219
220 * ftfont.c: Conditionalize prototyping and use of
221 ftfont_variation_glyphs.
222
ab226c50
SM
2232009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
224
9628fed7
SM
225 * frame.c (delete_frame): Work around compiler bug.
226
227 * editfns.c (general_insert_function): Adjust to insdel.c changes.
228 * insdel.c (prepare_to_modify_buffer, signal_before_change):
229 Some more EMACS_INT.
230 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
231
232 * xdisp.c (dump_glyph): Fix typo.
233
ae19ba7c
SM
234 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
235 (adjust_markers_gap_motion, adjust_markers_for_delete)
236 (adjust_markers_for_insert, adjust_point)
237 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
238 (make_gap, copy_text, count_size_as_multibyte, insert)
239 (insert_and_inherit, insert_before_markers)
240 (insert_before_markers_and_inherit, insert_1)
241 (count_combining_before, count_combining_after, insert_1_both)
242 (insert_from_string, insert_from_string_before_markers)
243 (insert_from_string_1, insert_from_gap, insert_from_buffer)
244 (insert_from_buffer_1, adjust_after_replace)
245 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
246 (replace_range_2, del_range, del_range_1, del_range_byte)
247 (del_range_both, del_range_2, modify_region)
248 (prepare_to_modify_buffer, signal_before_change)
249 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
250 for buffer positions and sizes.
251 * lisp.h: Adjust prototypes accordingly.
252
253 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
254 (non_regular_inserted, non_regular_nbytes, read_non_regular)
255 (Finsert_file_contents): Use EMACS_INT for buffer positions.
256
ab226c50
SM
257 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
258
46dfb8fb
JD
2592009-03-27 Jan Djärv <jan.h.d@swipnet.se>
260
261 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
262 lines and columns so we keep the same pixel height and width.
263
264 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
265 the property _NET_WM_STATE has changed.
46dfb8fb
JD
266 (x_handle_net_wm_state): New function to update frame parameter
267 fullscreen.
268 (x_term_init): Initialize atoms for _NET_WM_STATE.
269
270 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
271
d347e494
SM
2722009-03-27 Kevin Ryde <user42@zip.com.au>
273
274 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
275 Gpm_GetEvent as an error that justifies closing the filedescriptor.
276 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
277 (Fgpm_mouse_stop): Pass that new parameter.
278 * termhooks.h (close_gpm): Adjust prototype.
279
84db11d6
SM
2802009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
281
c95a5008
SM
282 * lisp.h (Fx_focus_frame): Declare.
283
84db11d6
SM
284 * callint.c (Fcall_interactively): For '^' just delegate the work to
285 handle-shift-selection.
286 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
287
0a1958d6
CY
2882009-03-24 Chong Yidong <cyd@stupidchicken.com>
289
0bfdff23
CY
290 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
291
0a1958d6
CY
292 * data.c (Qinteractive_form): New variable.
293 (Finteractive_form): Use it.
294
295 * eval.c (Fcommandp): Use Qinteractive_form.
296
58aec0d6
JR
2972009-03-24 Jason Rumney <jasonr@gnu.org>
298
299 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
300 Calculate total size precisely. Decode environment variables
301 before substituting. (Bug#38)
302
553dd618
KH
3032009-03-24 Kenichi Handa <handa@m17n.org>
304
305 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 306 encoding (Bug#2722).
553dd618 307
c39ea606
JD
3082009-03-23 Jan Djärv <jan.h.d@swipnet.se>
309
310 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
311 that gdpy is set.
312
bc9b2b5e
AM
3132009-03-22 Alan Mackenzie <acm@muc.de>
314
315 * callint.c (Finteractive): Clarify the doc string - even
316 promptless elements need \n separators.
317
9f995a76
JR
3182009-03-22 Jason Rumney <jasonr@gnu.org>
319
320 * w32term.c (syms_of_w32term): Doc fix for
321 x-use-underline-position-properties.
322
22749e9a
EZ
3232009-03-21 Eli Zaretskii <eliz@gnu.org>
324
325 * w32.c (getpwuid): Change argument type to unsigned.
326 (struct w32_id): Change type of `rid' member to unsigned.
327 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
328 argument ID to unsigned. All callers changed.
329 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
330
e00553bf
EZ
3312009-03-20 Eli Zaretskii <eliz@gnu.org>
332
333 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
334 negative, produce a float value.
335
336 * dired.c (make_uid, make_gid): New functions.
337 (Ffile_attributes): Use them to avoid negative UID and GID.
338
f761d6b6
JB
3392009-03-20 Juanma Barranquero <lekktu@gmail.com>
340
341 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
342 (syms_of_keyboard) <command-hook-internal, input-method-function>:
343 Fix typos in docstrings.
344
d507f8d7
KH
3452009-03-19 Kenichi Handa <handa@m17n.org>
346
347 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
348 changed, use font_load_for_lface to get a new font object.
349 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
350
351 * frame.c (x_set_font): Handle the case that ARG is a cons.
352
c68845e0
GM
3532009-03-19 Glenn Morris <rgm@gnu.org>
354
355 * fileio.c (Fsubstitute_in_file_name): Doc fix.
356
bfa49dd1
CY
3572009-03-19 Chong Yidong <cyd@stupidchicken.com>
358
359 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
360
8458d4c1
KH
3612009-03-19 Kenichi Handa <handa@m17n.org>
362
363 * charset.c (load_charset_map_from_file): When a mapfile can't be
364 loaded, signal an error.
365
78e7d1fe
EZ
3662009-03-18 Eli Zaretskii <eliz@gnu.org>
367
368 * dired.c (Ffile_attributes): Make sure UID and GID are always
369 positive, even if the value is too large for a positive EMACS_INT.
370 Doc fix.
371
372 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
373
5da9fdfa
YM
3742009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
375
376 * xmenu.c (xdialog_show): Move Fredisplay call ...
377 (Fx_popup_dialog): ... here.
378
7519c40d
SM
3792009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
380
381 * dired.c (file_name_completion): Disable the first optimization just
382 installed, since it is not implemented correctly.
383
2cd298e2
SM
3842009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
385
386 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 387 only if the entry can affect bestmatch.
2cd298e2
SM
388 Stop the search early, as Ftry_completion already does.
389
48d37adf
CY
3902009-03-17 Chong Yidong <cyd@stupidchicken.com>
391
e10c9c93 392 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 393
9286b16a
CY
3942009-03-15 Chong Yidong <cyd@stupidchicken.com>
395
396 * keyboard.c (parse_menu_item): Don't display remappings as menu
397 equivalent bindings (Bug#788).
398
f7b146dc
JR
3992009-03-15 Jason Rumney <jasonr@gnu.org>
400
401 * w32term.h (WM_EMACS_PAINT): New message.
402 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
403 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
404 before passing to lisp thread. (Bug#950)
405
f761d6b6 4062009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 407
d93f9575
CY
408 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
409 variable as it was never reset.
410 (ns_term_init): Remove initialization of Lisp-settable defaults
411 and ns_expand_space.
412 (-setPanelFromDefaultValues): Remove ns_expand_space.
413 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
414 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
415 i.e. no additional spacing, similar to Carbon port.
416
d93f9575
CY
417 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
418 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 419
305018ec
JD
4202009-03-14 Jan Djärv <jan.h.d@swipnet.se>
421
422 * sound.c (alsa_configure): Remove call to deprecated
423 snd_pcm_sw_params_set_xfer_align.
424
f761d6b6 4252009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
426
427 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
428 after clicking in a detached tool bar.
429 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
430
46e722a9
SM
4312009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
432
348db3dd
SM
433 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
434 int/Lisp_Object mixup).
46e722a9 435
a3d16f39
KH
4362009-03-13 Kenichi Handa <handa@m17n.org>
437
438 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 439 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
440 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
441 (set_fontset_font): Change ARG to a vector. Handle range_list in
442 ARG correctly.
443 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 444 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
445 the above change.
446 (fontset_from_font): Fix previous change.
fe24f56a 447 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
448 entry. If FONTSET is the default fontset, don't set the extra
449 slot of the returning char-table.
450
b066e6b6
JB
4512009-03-12 Juanma Barranquero <lekktu@gmail.com>
452
453 * nsfns.m (Fx_close_connection): Doc fix.
454 (Fns_do_applescript): Reflow docstring.
455 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
456 (Fx_display_pixel_width, Fx_display_pixel_height)
457 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
458 Fix typos in docstrings.
459 (Fns_set_alpha): Fix typos in error messages.
460
d472514e 4612009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 462
d472514e 463 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
464 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
465 were used for such events.
466
d472514e
JB
467 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
468 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 469
d472514e 470 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
471 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
472
fb930676
KH
4732009-03-11 Kenichi Handa <handa@m17n.org>
474
ff85581a
KH
475 * font.h (font_open_by_spec): Extern it.
476
c50b7e98
KH
477 * font.c (font_open_by_spec): New function.
478 (font_open_by_name): Use font_open_by_spec.
479
fb930676
KH
480 * frame.c (x_set_font): When ARG is a font-object, don't alter the
481 fontset of the frame.
482
483 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
484 modify the default font of frames that use this fontset.
485 (num_auto_fontsets): New variable.
486 (fontset_from_font): Use num_auto_fontsets to decide a fontset
487 name. Be sure to set FONTSET_ASCII to the correct font name.
488 (update_auto_fontset_alist): New function.
489
df4e8455
JB
4902009-03-11 Juanma Barranquero <lekktu@gmail.com>
491
492 * makefile.w32-in: Update dependencies.
493
0a375797
AR
4942009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
495
496 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
497
61313fa3
SM
4982009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
499
500 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
501
b55103fb
CY
5022009-03-10 Chong Yidong <cyd@stupidchicken.com>
503
504 * lread.c (Feval_buffer): Doc fix.
505
dde2559c
KH
5062009-03-09 Kenichi Handa <handa@m17n.org>
507
508 * charset.c (Qfile_name_handler_alist): Extern it.
509 (load_charset_map_from_file): Temporarily bind
510 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
511
df4e8455 5122009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 513
47f588bb
GM
514 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
515 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 516
4ddf94bd
AR
5172009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
518
4c9bdfc2
AR
519 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
520 (x_set_window_size): Change back to calculated method of setting
521 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
522 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
523 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
524
fe41ae9e
AR
525 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
526
4c9bdfc2
AR
527 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
528 accelerator in parens under GNUstep.
529
825d0875
KH
5302009-03-06 Kenichi Handa <handa@m17n.org>
531
532 These changes are to detect incorrect composition sequence without
f3b3be74 533 looking ahead the source. (Bug#2370)
825d0875
KH
534
535 * coding.h: Include "composite.h".
536 (enum compisition_state): New enum.
537 (struct compisition_status): New struct.
538 (struct iso_2022_spec): New member cmp_status.
539 (struct emacs_mule_spec): New struct.
540 (struct coding_system): New members ctext_extended_segment_len and
541 embedded_utf_8. Change the union member
542 spec.emacs_mule_full_support to spec.emacs_mule.
543
544 * coding.c (CODING_ISO_CMP_STATUS): New macro.
545 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 546 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
547 (ADD_COMPOSITION_DATA): New arg nbytes.
548 (emacs_mule_char): New arg cmp_status.
549 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
550 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
551 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
552 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
553 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
554 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
555 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
556 (EMACS_MULE_COMPOSITION_END): New macro.
557 (emacs_mule_finish_composition): New function.
558 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
559 (decode_coding_emacs_mule): Avoid long looking ahead while
560 handling composition.
561 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
562 (ENCODE_COMPOSITION_RULE): New macro.
563 (finish_composition): New function.
564 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
565 (DECODE_COMPOSITION_START): New implementation.
566 (DECODE_COMPOSITION_END): Likewise.
567 (STORE_COMPOSITION_RULE): New macro.
568 (decode_coding_iso_2022): Avoid long looking ahead while handling
569 composition, CTEXT extended segment, and embedded UTF-8.
570 (setup_coding_system): For a coding of type iso-2022, reset
571 CODING_ISO_EXTSEGMENT_LEN (coding) and
572 CODING_ISO_EMBEDDED_UTF_8 (coding).
573 (get_translation): Delete arguments last_block, from_nchars,
574 to_nchars. Callers changed.
575 (produce_chars): Don't modify charbuf. Adjusted for the change of
576 get_translation.
98a326f7 577 (produce_composition): Adjust for the new annotation sequence.
825d0875 578 (handle_composition_annotation): Likewise.
98a326f7 579 (consume_chars): Adjust for the change of get_translation.
825d0875 580
ccbc4452
AR
5812009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
582
4ddf94bd 583 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 584
988a7ddb
KH
5852009-03-05 Kenichi Handa <handa@m17n.org>
586
587 * font.c (font_select_entity): New function.
588 (font_find_for_lface): Use font_select_entity to select a font.
589
590 * fontset.c (fontset_find_font): If a font found without
a8a3728b 591 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
592 font with C restriction.
593
98a326f7 5942009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 595
be1bce46 596 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 597
10ea2b82
JR
5982009-03-04 Jason Rumney <jasonr@gnu.org>
599
2c93b248 600 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 601 characters that have already been read. (Bug#2569)
2c93b248 602
10ea2b82
JR
603 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
604 Log an error message if check_image_size failed.
605 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 606 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 607
71a0c011
EZ
6082009-03-02 Eli Zaretskii <eliz@gnu.org>
609
610 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
611 when decoding process output.
612
2f63bba8
RS
6132009-03-01 Richard M Stallman <rms@gnu.org>
614
615 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
616
617 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
618
0a9564cb
EZ
6192009-02-28 Eli Zaretskii <eliz@gnu.org>
620
621 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
622 (decode_coding_emacs_mule, decode_coding_iso_2022)
623 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
624 (decode_coding_raw_text, decode_coding_charset)
625 (setup_coding_system, decode_eol, decode_coding, consume_chars):
626 Honor inhibit-eol-conversion. (Bug #2186)
627
449148b3
JR
6282009-02-28 Jason Rumney <jasonr@gnu.org>
629
630 * coding.c (detect_coding_charset): If not checking latin extra,
631 fail on characters between 0x80 and 0xA0. (Bug#2354)
632
a4aee864
EZ
6332009-02-28 Eli Zaretskii <eliz@gnu.org>
634
635 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 636 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 637
d88bee5a
GM
6382009-02-27 Glenn Morris <rgm@gnu.org>
639
640 * callint.c (Finteractive): Doc fix.
641
a808f22d
KH
6422009-02-27 Kenichi Handa <handa@m17n.org>
643
644 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
645
caf8d60c
CY
6462009-02-27 Chong Yidong <cyd@stupidchicken.com>
647
648 * font.c (font_style_to_value): Set value for unknown symbols to
649 100 instead of 255.
b61137ea
CY
650 (weight_table, slant_table, width_table): Treat "unspecified" as
651 the default value.
caf8d60c 652
1a0de25c
JB
6532009-02-26 Juanma Barranquero <lekktu@gmail.com>
654
655 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
656
8fc45744
JB
6572009-02-25 Juanma Barranquero <lekktu@gmail.com>
658
107bd7d1
JB
659 * lread.c (Fload): Stop checking Vloads_in_progress and signal
660 error as soon as a recursive load is detected.
8fc45744 661
f097e223
AR
6622009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
663
664 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
665 before caching.
666
8810a12f
KH
6672009-02-24 Kenichi Handa <handa@m17n.org>
668
669 * fontset.c (fontset_find_font): Fix the condition for checking
670 unavailable font.
671
2c7d1565
GM
6722009-02-24 Glenn Morris <rgm@gnu.org>
673
674 * xfaces.c (Finternal_set_font_selection_order): Remove leading
675 whitespace that confuses documentation.
676
a20878b6
MB
6772009-02-23 Miles Bader <miles@gnu.org>
678
679 * process.c (Flist_system_processes, Fprocess_attributes)
680 (syms_of_process): Rename `system-process-attributes' to
681 `process-attributes'.
682
b3b58c01
AS
6832009-02-22 Andreas Schwab <schwab@linux-m68k.org>
684
1b3b981b
AS
685 * coding.h (struct coding_system): Make safe_charsets a pointer to
686 unsigned char.
687 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
688 being 255.
689 (SAFE_CHARSET_P): Likewise.
690 (setup_iso_safe_charsets): Properly setup safe_charsets.
691 (Fdefine_coding_system_internal): Likewise.
692 (setup_coding_system): Likewise. Remove unneeded casts.
693 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
694 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
695 unneeded casts.
696
b3b58c01
AS
697 * insdel.c (del_range_2): Don't modify gap contents when called
698 from decode_coding_object. (Bug#1809)
699
0b6f228c
CY
7002009-02-21 Chong Yidong <cyd@stupidchicken.com>
701
702 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
703 Qfont_object.
704 (Ftype_of): Recognize font objects.
705
706 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
707
708 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
709 moved to data.c.
710
52f8870b
AR
7112009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
712
713 * nsterm.m (x_make_frame_invisible): Unset async_visible,
714 async_iconified. Based on a patch by Christian Lynbech
715 <christian.lynbech@tieto.com>.
716 (EmacsView-windowDidMiniaturize:): Unset async_visible.
717
7087d5e9
GM
7182009-02-20 Glenn Morris <rgm@gnu.org>
719
720 * syntax.c (Fskip_chars_forward): Fix doc typo.
721
41d2ceef
CY
7222009-02-20 Chong Yidong <cyd@stupidchicken.com>
723
724 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
725
1a3b7ca6
CY
7262009-02-19 Chong Yidong <cyd@stupidchicken.com>
727
728 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
729
73cce38d
KH
7302009-02-19 Kenichi Handa <handa@m17n.org>
731
732 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 733 Don't overflow coding->carryover. (Bug#2370)
73cce38d 734
a51092ee
DN
7352009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
736
737 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
738
c423ecca
KH
7392009-02-18 Kenichi Handa <handa@m17n.org>
740
741 * font.c (font_check_otf_features): Fix handling of `nil' element.
742 (Ffont_spec): Describe :lang and :otf in the docstring.
743
4c1958f4
AS
7442009-02-16 Andreas Schwab <schwab@suse.de>
745
746 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
747 string.
748
5704f39a
KH
7492009-02-16 Kenichi Handa <handa@m17n.org>
750
751 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 752 (Bug#1723)
5704f39a 753
8f0085aa
CY
7542009-02-14 Chong Yidong <cyd@stupidchicken.com>
755
a057d86a 756 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
757
758 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
759 (handle_line_prefix): Suppress wrapping of wrap prefixes.
760
aff01dd9
EZ
7612009-02-14 Eli Zaretskii <eliz@gnu.org>
762
763 * msdos.c (MAX_SCREEN_BUF): New macro.
764 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
765 Encode the entire run of glyphs sharing the same face, instead of
766 doing that one glyph at a time (fixes a bug with displaying
767 double-size characters).
768
ba301db3
AR
7692009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
770
771 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
772
773 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
774 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 775 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
776
777 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 778 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 779
51d861de
SM
7802009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
781
782 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
783 invisible areas.
784
7fed8996
JR
7852009-02-12 Jason Rumney <jasonr@gnu.org>
786
631ea4fb
JR
787 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
788 (add_font_entity_to_list): Call check_face_name even when family
789 is unspecified.
790
cb4a3e42
JR
791 * w32term.c (x_display_pixel_height, x_display_pixel_width):
792 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 793 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 794
7fed8996 795 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 796 raster fonts. (Bug#2219)
7fed8996 797
895416e3
KH
7982009-02-12 Kenichi Handa <handa@m17n.org>
799
800 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
801 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
802 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 803 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
804 (find_automatic_composition): While looking forward and backward,
805 check static composition. Fix where to stop looking forward.
806 (composition_adjust_point): Fix checking of static composition.
807 (Fcomposition_get_gstring): Pay attention to
1dacf998 808 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
809
810 * lisp.h (fast_looking_at): Extern it.
811
812 * search.c (fast_looking_at): New function.
813
51d861de 814 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
815 <struct glyph>.u.cmp.to.
816 (append_composite_glyph): Likewise.
817
51d861de 818 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
819 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
820 composition.
51d861de 821 (append_composite_glyph): Adjust for the change of
895416e3
KH
822 <strcut glyph>.u.cmp.to.
823
8510724d
JB
8242009-02-11 Juanma Barranquero <lekktu@gmail.com>
825
826 * casetab.c (init_casetab_once):
827 * coding.c (ALLOC_CONVERSION_WORK_AREA):
828 * font.c (font_update_lface):
829 * fontset.c (Fnew_fontset):
830 * ftfont.c (ftfont_drive_otf):
831 * xfont.c (xfont_open):
832 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
833
294fa707
SM
8342009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
835
836 * fileio.c (Fwrite_region): !NILP -> CONSP.
837
b5bfebec
AS
8382009-02-10 Andreas Schwab <schwab@suse.de>
839
840 * process.c (send_process): Properly relocate pointer into data
adab88bd 841 when using encoded data. (Bug#2272)
b5bfebec 842
cb84a2be
KH
8432009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
844
845 * coding.c (detect_coding_charset): Fix previous change.
846
89e09428
JR
8472009-02-08 Jason Rumney <jasonr@gnu.org>
848
849 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 850 disappeared while hourglass was displayed. (Bug #2193)
89e09428 851
4470a277
AS
8522009-02-07 Andreas Schwab <schwab@suse.de>
853
854 * unexelf.c (unexec): Fix error message.
855
3175b12a
AR
8562009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
857
858 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 859 when modal window is active. (Bug #2152)
3175b12a
AR
860 (applicationShouldTerminate:): Remove now-unneeded while loop
861 around NSRunAlertPanel.
862
863 * nsmenu.m (popupSession): New file-global variable.
864 (pop_down_menu): End the popupSession before closing dialog.
865 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
866 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
867 don't query NSApp for events (just sleep instead).
868
8434d0b8
EZ
8692009-02-07 Eli Zaretskii <eliz@gnu.org>
870
51d861de
SM
871 * coding.c (syms_of_coding) <translation-table-for-input>:
872 Modify doc string to discourage use for character code unification.
8434d0b8 873
aa82edfd
CY
8742009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
875
876 * atimer.c (run_timers): Update pending_atimers.
877
2d283c7c
CY
8782009-02-06 Chong Yidong <cyd@stupidchicken.com>
879
eb306cab
CY
880 * image.c (svg_load_image): Fix last change.
881
2d283c7c
CY
882 * xfns.c (Fx_create_frame): Signal an error if no font is
883 found (Bug#2147).
884
4d8e170e
JB
8852009-02-05 Juanma Barranquero <lekktu@gmail.com>
886
887 * character.c (syms_of_character) <script-representative-chars>:
888 Fix typo in docstring.
889
c96169a0
AR
8902009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
891
892 * nsmenu.m (pop_down_menu): New function.
893 (ns_popup_dialog): Call it on unwind.
894 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
895 call timer_check() (Bug#2154).
896 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
897 handling_signal is set.
898 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
899
900 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
901
902 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
903
904 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
905
51d861de
SM
906 * keyboard.c (poll_for_input_1, handle_async_input):
907 Set handling_signal under HAVE_NS.
c96169a0 908
aacd8ba1
GM
9092009-02-04 Glenn Morris <rgm@gnu.org>
910
911 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
912
4cb75c4b
KH
9132009-02-04 Kenichi Handa <handa@m17n.org>
914
915 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
916
917 * charset.c (Fchar_charset): New optional arg restriction.
918
919 * coding.h (coding_system_charset_list): Extern it.
920
921 * coding.c (coding_system_charset_list): New function.
922
923 * composite.c: Include coding.h and termhooks.h.
924 (composition_gstring_p): Fix for the terminal case.
925 (composition_gstring_width): Likewise.
926 (fill_gstring_body): Likewise.
927 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
928 the frame.
929 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
930 is within a composition.
867d4bb3 931 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
932
933 * term.c (encode_terminal_code): Fix handling of composition.
934 (produce_composite_glyph): For static composition, get pixel_width
935 from struct composition.
936
826ba17e
AS
9372009-02-02 Andreas Schwab <schwab@suse.de>
938
939 * unexelf.c (unexec): Handle unaligned bss offset.
940
8ad093db
AR
9412009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
942
943 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
944 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 945
8ad093db
AR
946 * keyboard.c (handle_interrupt): Don't call
947 quit_throw_to_read_char() under NS.
d0a76a6e 948
8ad093db
AR
949 * blockinput.h: Remove NS-specific code.
950
4d18a7a2
DN
9512009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
952
db878925
DN
953 * dispnew.c (window_change_signal): Don't try to get the size of a
954 suspended tty frame.
955 * term.c (Fresume_tty): Resize if the size has changed while the
956 tty was suspended.
957
4d18a7a2
DN
958 * alloc.c (mark_stack): Properly conditionalize previous change.
959
8984df7c
JB
9602009-01-30 Juanma Barranquero <lekktu@gmail.com>
961
962 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
963 * w32term.c (w32_read_socket) [SYNC_INPUT]:
964 Remove; this code is not used on Windows.
965
75f4f1ac
EZ
9662009-01-30 Eli Zaretskii <eliz@gnu.org>
967
968 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
969 EOLs that also has stray ^M characters.
970
07a1e794
JB
9712009-01-30 Juanma Barranquero <lekktu@gmail.com>
972
973 * atimer.c (run_timers, alarm_signal_handler):
974 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
975 * w32inevt.c (w32_console_read_socket):
976 * w32term.c (w32_read_socket):
977 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
978
a8b11cc9
CY
9792009-01-30 Chong Yidong <cyd@stupidchicken.com>
980
981 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
982 Initialize it as a relative filename pattern.
983 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
984 (Fcall_process_region): Simplify temp file creation using
985 temporary-file-directory.
986
c279587b
EZ
9872009-01-29 Eli Zaretskii <eliz@gnu.org>
988
989 * msdos.c: Rename pending_signals to msdos_pending_signals.
990 (sig_suspender, sigprocmask): Adjust.
991
a8fe3242
CY
9922009-01-29 Chong Yidong <cyd@stupidchicken.com>
993
994 * keyboard.c (pending_signals): New var.
995 (poll_for_input, input_available_signal, init_keyboard): Set it.
996 (process_pending_signals): New function.
997
998 * lisp.h (QUIT): Check pending_signals instead of
999 interrupt_input_pending. Use process_pending_signals.
1000
51d861de 1001 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 1002
51d861de 1003 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
1004
1005 * sysdep.c (emacs_write): Use process_pending_signals.
1006
1007 * xterm.c (XTread_socket): Update pending_signals.
1008
1009 * w32term.c (w32_read_socket): Update pending_signals.
1010
1011 * w32inevt.c (w32_console_read_socket): Update pending_signals.
1012
6570a1c4
KH
10132009-01-29 Kenichi Handa <handa@m17n.org>
1014
1015 * xftfont.c (xftfont_has_char): New function.
1016 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
1017
d72a4afa
AR
10182009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1019
1020 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
1021 under GNUstep.
1022 (ns_query_color): New declaration.
1023
1024 * nsterm.m (ns_confirm_quit): New variable.
1025 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
1026 (EmacsApp-applicationShouldTerminate:): Use it.
1027 (EmacsPrefsController): Let user set it.
1028 (ns_query_color): New function.
1029 (ns_defined_color): Use it.
1030 (ns_initialize): Drop.
1031 (ns_term_init): Add two lines from ns_initialize(), and set
1032 input_interrupt_mode to nil.
1033
1034 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 1035 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 1036
9fe78804
KH
10372009-01-28 Kenichi Handa <handa@m17n.org>
1038
1039 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
1040 (fontset_get_font_group): Remember that no font-group is specified
1041 for C.
9fe78804 1042
fa57de36
CY
10432009-01-27 Chong Yidong <cyd@stupidchicken.com>
1044
930600e9
CY
1045 * fns.c (concat): Check for string overflow (bug#1787).
1046
fa57de36
CY
1047 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
1048 Quadruple undo limits (bug#1501).
1049
7179ce7b
KH
10502009-01-27 Kenichi Handa <handa@m17n.org>
1051
1052 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
1053 directly use GT_Get_Char_index.
1054
1055 * xftfont.c (struct xftfont_info): New member `index'.
1056
1057 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 1058 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 1059
5be8fcc0
CY
10602009-01-26 Kenichi Handa <handa@m17n.org>
1061
1062 * fontset.c (fontset_find_font): Fix handling of non-cons return
1063 value of fontset_get_font_group.
1064 (fontset_font): Revert last change.
1065
19ae3e61
JR
10662009-01-26 Jason Rumney <jasonr@gnu.org>
1067
1068 * w32font.c (w32font_list_internal): Return quickly if registry is
1069 unknown. Simplify final return.
1070 (add_font_entity_to_list): Break complex logic down into more
1071 manageable chunks. Move unknown registry check to
1072 w32font_list_internal.
1073
8612b71a
AR
10742009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
1075
1076 Changes to remove Feval calls from GUI under NS.
1077
d8038940
JB
1078 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
1079 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
1080 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
1081
1082 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
1083 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
1084 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
1085 instead of NON_ASCII_KEYSTROKE_EVENT.
1086 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
1087 (EmacsApp-applicationShouldTerminate:): Query user.
1088 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
1089 instead of Feval.
1090
1091 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
1092
1093 * keyboard.c (kbd_buffer_get_event): Check for it.
1094 (keys_of_keyboard): Define lispy keys for
1095 ns-put/unput-working-text.
1096
1097 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
1098 versions.
1099 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
1100
6288ae55
CY
11012009-01-25 Chong Yidong <cyd@stupidchicken.com>
1102
1103 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 1104 setting current_buffer directly. (Bug#2044)
6288ae55 1105
289e7f8f
CY
11062009-01-24 Chong Yidong <cyd@stupidchicken.com>
1107
5ce87308 1108 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 1109 any work. (Bug#1952, bug#1990).
5ce87308 1110
64cc3cf6 1111 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 1112
b3243e6f
AR
11132009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
1114
1115 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
1116 (ns_no_defaults): New declaration.
1117 (main): Use it.
e0d2e69a 1118
d900b2af 1119 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 1120
d900b2af 1121 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 1122
d900b2af
AR
1123 * nsterm.m (ns_no_defaults): New variable.
1124 (ns_initialize): Don't read defaults when ns_no_defaults.
1125 (EmacsView-readSelectionFromPasteboard:)
1126 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 1127 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
1128 (ns_dumpglyphs_stretch): New function.
1129 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 1130 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 1131
e0d2e69a
AR
1132 * nsimage.m (setPixmapData:): Set to ignore image DPI.
1133
3ac71f5d
CY
11342009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
1135
1136 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
1137 call for Sparc64.
1138
3fe53a83
AR
11392009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1140
1141 * nsfns.m:
1142 * nsgui.h:
1143 * nsmenu.m:
1144 * nsselect.m:
1145 * nsterm.h:
1146 * nsterm.m: Remove '23' comments that indicated code added during
1147 update from emacs-20 -> emacs-23.
1148
10f87c6f 11492009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
1150
1151 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 1152 ns_alternate_modifier. (Bug#1217)
a3b53a85 1153
c7cef62d
AR
1154 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
1155 Display all shortcuts, including those w/o super modifier.
1156
575fb8bd
AR
1157 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
1158
918b848b
CY
11592009-01-22 Chong Yidong <cyd@stupidchicken.com>
1160
1161 * fileio.c (Vwrite_region_post_annotation_function)
1162 (Vwrite_region_annotation_buffers): New vars.
1163 (build_annotations_unwind): Just reset
1164 Vwrite_region_annotation_buffers.
1165 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
1166 Call write-region-post-annotation-function.
1167 (build_annotations): Add to Vwrite_region_annotation_buffers if
1168 buffer changes.
1169
a39e2539
AR
11702009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1171
1172 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
1173 Tiger.
51d861de
SM
1174 * nsfns.m (ns_do_applescript):
1175 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 1176
35ed44db
AR
11772009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
1178
1179 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
1180
cbe0b5bf
AR
11812009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1182
1183 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 1184
6049d3a0
AR
1185 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
1186
1187 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
1188 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
1189 handle Ctrl-tab. (Bug#1841)
1190 (ns_get_color): Use unsigned long long for scanned hex string value.
1191 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 1192 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 1193 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 1194 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 1195 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 1196 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 1197 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 1198
d3810c21 1199 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 1200 DPI. (Bug#1316)
d3810c21
AR
1201 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
1202 values in onTiger section.
4c7077c3 1203
e301e634
CY
12042009-01-19 Chong Yidong <cyd@stupidchicken.com>
1205
7f82490b
CY
1206 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
1207 Check return value of font_spec_from_name.
64cc3cf6 1208 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
1209
1210 * font.c (font_spec_from_name): Return Qnil if font name could not
1211 be parsed.
1212 (font_parse_name): Treat a `?' character as part of an XLFD.
1213
e301e634
CY
1214 * fns.c (Fsubstring): Doc fix.
1215
1c0db158
KH
12162009-01-19 Kenichi Handa <handa@m17n.org>
1217
51d861de 1218 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
1219 (ftfont_list): Likewise.
1220
acf20901
JB
12212009-01-18 Juanma Barranquero <lekktu@gmail.com>
1222
fff4e459
JB
1223 * dbusbind.c (Fdbus_register_signal):
1224 * process.c (conv_sockaddr_to_lisp):
1225 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
1226
acf20901
JB
1227 * callproc.c (Fgetenv_internal): Doc fix.
1228
e7abcdfb
CY
12292009-01-16 Chong Yidong <cyd@stupidchicken.com>
1230
1231 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
1232 it is not even used.
1233
b60861e6
GM
12342009-01-16 Glenn Morris <rgm@gnu.org>
1235
1236 * font.c (Ffont_variation_glyphs): Silence compiler.
1237
8db52afe
JB
12382009-01-15 Juanma Barranquero <lekktu@gmail.com>
1239
1240 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
1241 Reported by David Robinow <drobinow@gmail.com>.
1242
4cddb209
KH
12432009-01-15 Kenichi Handa <handa@m17n.org>
1244
51d861de 1245 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 1246
f247f67b
JR
12472009-01-14 Jason Rumney <jasonr@gnu.org>
1248
1249 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 1250 never a fontset. (Bug#1562)
f247f67b 1251
f56a4450
KH
12522009-01-14 Kenichi Handa <handa@m17n.org>
1253
1254 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 1255 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 1256
4e99855e
CY
12572009-01-13 Chong Yidong <cyd@stupidchicken.com>
1258
1259 * font.c (font_clear_prop): If clearing the family, clear the font
1260 width index too.
1261
fff4e459 1262 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 1263
24f01470
JB
12642009-01-12 Juanma Barranquero <lekktu@gmail.com>
1265
1266 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1267 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1268 functions, use sizeof.
1269
a41240a3
MR
12702009-01-12 Martin Rudalics <rudalics@gmx.at>
1271
1272 * keyboard.c (read_char): Fix case where last_nonmenu_event
1273 returned a bad value with submenus. (Bug#447)
1274
944636b8
CY
12752009-01-12 Chong Yidong <cyd@stupidchicken.com>
1276
1277 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1278 family, clear the font width index too.
1279
0dad7c6f
JR
12802009-01-11 Jason Rumney <jasonr@gnu.org>
1281
1282 * keyboard.c (cmd_error_internal): Exit when errors occur before
1283 frame creation and not in daemon mode. (Bug#1836)
1284
7c2363af
CY
12852009-01-10 Chong Yidong <cyd@stupidchicken.com>
1286
1287 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1288 of a display vector, backtrack.
1289 (try_window_reusing_current_matrix): Check glyph type before
1290 referencing charpos member.
1291
97b1b294
EZ
12922009-01-10 Eli Zaretskii <eliz@gnu.org>
1293
1294 Fix Bug #876:
1295
1296 * coding.c (inhibit_null_byte_detection): New variable.
1297 (detect_coding, detect_coding_system): Don't pay attention to null
1298 bytes if inhibit_null_byte_detection is non-zero.
51d861de 1299 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
1300 <inhibit-iso-escape-detection>: Doc fix.
1301
4624b6e3
JR
13022009-01-09 Jason Rumney <jasonr@gnu.org>
1303
1304 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 1305 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
1306 Only report Unicode Plane 2 fonts as unicode-sip.
1307
323b840c
CY
13082009-01-09 Chong Yidong <cyd@stupidchicken.com>
1309
51d861de
SM
1310 * xfaces.c (Fx_font_family_list): Delete function.
1311 Move compatibility version to faces.el.
323b840c 1312
51d861de 1313 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 1314
eba7400d
MR
13152009-01-09 Martin Rudalics <rudalics@gmx.at>
1316
1317 * frame.c (x_set_frame_parameters): Remember requested value for
1318 fullscreen before it's reset by the parameter handler.
1319
4b09796d
GM
13202009-01-09 Glenn Morris <rgm@gnu.org>
1321
1322 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 1323 (last_command_event): ... and update all users.
4b09796d
GM
1324 (last_input_char): For clarity, rename to...
1325 (last_input_event): ... and update all users.
1326 (last-command-char, last-input-char): Move to subr.el as aliases.
1327 * cmds.c, commands.h: Update for last_command_char rename.
1328
14ccea62
CY
13292009-01-08 Chong Yidong <cyd@stupidchicken.com>
1330
51d861de 1331 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 1332
5f004711
JR
13332009-01-08 Jason Rumney <jasonr@gnu.org>
1334
1335 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1336 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1337 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1338 Don't declare.
fff4e459 1339 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
1340 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1341
b71f6f73
KH
13422009-01-07 Kenichi Handa <handa@m17n.org>
1343
50b06221 1344 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 1345 remember the coding system used for decoding in
50b06221
KH
1346 coding_system (Bug#1039).
1347
b71f6f73 1348 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 1349 breaking the loop. (Bug#870)
b71f6f73
KH
1350 (decode_coding_utf_16, decode_coding_emacs_mule)
1351 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1352 (decode_coding_charset): Likewise.
1353
56f668f7
MR
13542009-01-05 Martin Rudalics <rudalics@gmx.at>
1355
1356 * frame.c (x_set_frame_parameters): Make sure height (width) get
1357 applied when fullwidth (fullheight) is set. (Bug#1522)
1358
5da9424d
JB
13592009-01-04 Juanma Barranquero <lekktu@gmail.com>
1360
1361 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
1362 (utc_base): Declare as ULONGLONG, not long double.
1363 (convert_time_raw): Delete.
1364 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
1365 (initialize_utc_base): New function.
1366 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
1367 (convert_from_time_t): Use initialize_utc_base; compute result with
1368 64-bit arithmetic.
1369 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
1370
c4605e09
EZ
13712009-01-03 Eli Zaretskii <eliz@gnu.org>
1372
9acef61c 1373 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
1374 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
1375 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
1376 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
1377 [!subprocesses]: Define.
1378 (syms_of_process) [!subprocesses]: Intern and staticpro them.
1379 (Flist_system_processes, Fsystem_process_attributes)
1380 [!subprocesses]: Call list_system_processes and
1381 system_process_attributes instead of returning Qnil.
1382
9acef61c
JB
1383 * dosfns.c (system_process_attributes, list_system_processes):
1384 New functions.
c4605e09
EZ
1385
1386 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
1387
1388 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
1389 Don't use the default (no-op) implementation.
1390
8b7d0a16
JR
13912009-01-03 Jason Rumney <jasonr@gnu.org>
1392
a6d46bc1
JR
1393 * keyboard.c (parse_modifiers_uncached): Wheel events are
1394 clicks (bug#687).
1395
8b7d0a16
JR
1396 * w32term.c (x_query_colors, x_query_color): New functions.
1397
1398 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
1399 (svg_load_image): Cast returned pointers from dynamically loaded
1400 functions. Eliminate W32 specific code.
1401
bfe11752
DN
14022009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
1403
89e2438a
DN
1404 * nsfns.m (x_set_foreground_color, x_set_background_color)
1405 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
1406 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
1407 x_ prefix instead of ns_. Update references.
1408 (syms_of_nsfns): Add a FIXME comment.
1409
1410 * nsterm.m (x_set_cursor_type): New prototype.
1411 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
1412
bfe11752
DN
1413 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
1414 for Solaris instead of incorrectly providing Qutime and Qcutime.
1415
031da700
EZ
14162009-01-02 Eli Zaretskii <eliz@gnu.org>
1417
1418 * w32.c (process_times): Compute sum of utime and stime.
1419 (system_process_attributes): Add Qtime to the alist.
1420
1421 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
1422 and add them to the alist.
1423
1424 * process.c (top level) <Qtime, Qctime>: New variables.
1425 (syms_of_process): staticpro them.
1426 (Fsystem_process_attributes): Add their documentation to the doc
1427 string.
1428
1429 * process.h: Declare Qtime and Qctime.
1430
df23bf08
JR
14312009-01-02 Jason Rumney <jasonr@gnu.org>
1432
9acef61c 1433 * image.c (Qgobject): New symbol.
df23bf08
JR
1434 (syms_of_image): Initialize it.
1435 (init_svg_functions): Load some functions from gobject library.
1436
5bbdf7aa
DN
14372009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
1438
1439 * frame.c (make_terminal_frame): Remove redundant code and useless
1440 block.
1441
63136da6
AS
14422009-01-01 Andreas Schwab <schwab@suse.de>
1443
1444 * process.c (conv_sockaddr_to_lisp): Add workaround for
1445 getsockname bug on BSD.
1446
9ef69046
CY
14472009-01-01 Chong Yidong <cyd@stupidchicken.com>
1448
d6fafbe0
CY
1449 * xfns.c (x_create_tip_frame): Set border width of the X window.
1450
51d861de 1451 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 1452
f9c34147
JR
14532009-01-01 Jason Rumney <jasonr@gnu.org>
1454
9acef61c 1455 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
1456 Don't block input, as per earlier xterm.c changes.
1457
f5497e45
AR
14582008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
1459
1460 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
1461 (ns_appkit_version_int): New function.
1462 (x-server-version): Use ns_appkit_version_int and follow 21+
1463 convention of returning 3 integers.
1464
c19cab20
KH
14652008-12-30 Kenichi Handa <handa@m17n.org>
1466
1467 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
1468 (CHAR_SURROGATE_PAIR_P): New macro.
1469
1470 * font.h (struct font_driver): New member get_variation_glyphs.
1471
9acef61c 1472 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
1473 (Ffont_variation_glyphs): New function.
1474 (syms_of_font): Defsubr it.
1475
1476 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
1477 ftfont_variation_glyphs.
1478 (setup_otf_gstring): New function.
1479 (ftfont_drive_otf): Use it.
1480 (ftfont_shape_by_flt): Handle variation selector.
1481 (ftfont_variation_glyphs): New function.
1482
28cd591f
MR
14832008-12-30 Martin Rudalics <rudalics@gmx.at>
1484
1485 * frame.c (Vemacs_iconified): Remove.
1486
7f714baf
JR
14872008-12-30 Jason Rumney <jasonr@gnu.org>
1488
1489 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 1490 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 1491
9d2d22ab
CY
14922008-12-30 Chong Yidong <cyd@stupidchicken.com>
1493
1494 * indent.c (Fvertical_motion): Don't advance iterator if we have
1495 reseated to the desired position.
1496
1497 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
1498 checking for pos match.
1499
545312c2
KH
15002008-12-30 Kenichi Handa <handa@m17n.org>
1501
1ede3eb6
KH
1502 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
1503 just get the low 8-bit of the code.
1504
545312c2
KH
1505 * font.c (font_intern_prop): Validate str as multibyte.
1506
bd7bbf29
DN
15072008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1508
31e0750e
DN
1509 * dispextern.h (struct face): Move lface and hash from the middle
1510 of bitfields.
1511
bd7bbf29
DN
1512 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
1513
b5672e7c
DN
15142008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1515
1516 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
1517 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
1518 instead of intervals.h.
1519
d704470f
AS
15202008-12-26 Andreas Schwab <schwab@suse.de>
1521
1522 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
1523 cons.
1524
54b33868
MR
15252008-12-26 Martin Rudalics <rudalics@gmx.at>
1526
1527 * textprop.c (Qminibuffer_prompt): New variable.
1528 (syms_of_textprop): Initialize it.
1529 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
1530 in minibuffer-prompt face. (Bug#1662)
1531
40b615d6
JR
15322008-12-25 Jason Rumney <jasonr@gnu.org>
1533
1534 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
1535
baae5c2d
JR
15362008-12-24 Jason Rumney <jasonr@gnu.org>
1537
1538 * ralloc.c (r_alloc_reset_variable): New function.
1539
1540 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 1541 record of what points where. (Bug#716)
baae5c2d 1542
a9051c88
DN
15432008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
1544
1545 * minibuf.c (read_minibuf): Follow the non-interactive case when
1546 running as a daemon, before detaching.
1547
8b146312
AS
15482008-12-22 Andreas Schwab <schwab@suse.de>
1549
1550 * buffer.c (init_buffer): Use realloc instead of xrealloc.
1551 * gtkutil.c (free_widget_value): Use xfree instead of free.
1552
56f2de10
MR
15532008-12-22 Martin Rudalics <rudalics@gmx.at>
1554
1555 * frame.c (delete_frame): New function derived from
1556 Fdelete_frame to handle Qnoelisp value for FORCE argument.
1557 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
1558 (Fdelete_frame): Call delete_frame. Remove line from doc-string
1559 saying that FORCE non-nil doesn't run `delete-frame-functions'.
1560 * frame.h: Extern delete_frame.
1561 * window.c (window_loop):
1562 * terminal.c (delete_terminal):
1563 * xterm.c (x_connection_closed):
1564 * xfns.c (Fx_hide_tip):
9acef61c 1565 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 1566
1fc200d6
JR
15672008-12-21 Jason Rumney <jasonr@gnu.org>
1568
1569 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
1570 when character maps to .notdef character.
1571
5e252df2
SM
15722008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
1573
1574 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
1575
99b72cc4
JR
15762008-12-20 Jason Rumney <jasonr@gnu.org>
1577
1578 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 1579 a graphical frame on Windows. (Bug#1325)
99b72cc4 1580
acc49a52
JD
15812008-12-20 Jan Djärv <jan.h.d@swipnet.se>
1582
1583 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
1584
6ea15123
CY
15852008-12-20 Chong Yidong <cyd@stupidchicken.com>
1586
1587 * minibuf.c (Fread_buffer): Doc fix.
1588
b2dab6c8
JR
15892008-12-20 Jason Rumney <jasonr@gnu.org>
1590
54ea0c87 1591 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 1592 server name in UNC paths. (Bug#719)
54ea0c87 1593
b2dab6c8 1594 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 1595 charbuf. (Bug#1035)
b2dab6c8 1596
6d1921be
DN
15972008-12-19 Daniel Engeler <engeler@gmail.com>
1598
1599 * sysdep.c (serial_configure): Fix typo.
1600
53934c98
DN
16012008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1602
1603 * sysdep.c: Include alloca.h.
f4f634e8
DN
1604 (system_process_attributes): Add implementation for Solaris.
1605
1606 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 1607
06e111a6
DN
16082008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1609
1610 Reorganize implementation of Flist_system_processes and
1611 Fsystem_process_attributes. No functional changes.
1612 * process.c: Don't #include pwd.h, grp.h and limits.h.
1613 (Flist_system_processes): Just call list_system_processes.
1614 (Fsystem_process_attributes): Just call system_process_attributes.
1615 (procfs_list_system_processes, time_from_jiffies)
1616 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
1617 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
1618
1619 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
1620 (list_system_processes): Rename from
1621 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
1622 Provide a do nothing implementation.
1623 (system_process_attributes): Rename from
1624 procfs_list_system_processes.
1625 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 1626 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
1627
1628 * w32.c (list_system_processes): Rename from
1629 w32_list_system_processes.
1630 (system_process_attributes): Rename from
1631 w32_system_process_attributes.
1632
1633 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
1634
1635 * process.h (w32_list_system_processes)
1636 (w32_system_process_attributes): Remove.
1637 (list_system_processes, system_process_attributes): New
1638 prototypes.
1639
6a705b23
KH
16402008-12-19 Kenichi Handa <handa@m17n.org>
1641
1642 * xfont.c (xfont_decode_coding_xlfd): New function.
1643 (xfont_encode_coding_xlfd): New function.
1644 (xfont_list_pattern): Decode XLFD by iso-8859-1.
1645 (xfont_list): Decode and encode XLFD by iso-8859-1.
1646 (xfont_match): Likewise.
1647 (xfont_list_family): Likewise.
1648 (xfont_open): Likewise.
1649
d66c0241 1650 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
1651 names are utf-8.
1652
d66c0241 1653 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
1654 names are utf-8.
1655
5a130941
JD
16562008-12-18 Jan Djärv <jan.h.d@swipnet.se>
1657
1658 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
1659 changed.
bfd20325
JD
1660 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
1661 clicked on a detached tool bar button.
5a130941 1662
fd95644b
DN
16632008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
1664
1665 * emacs.c (main): Print and error and exit when no data is read
1666 from the pipe.
1667
e6eee6ae
JR
16682008-12-17 Jason Rumney <jasonr@gnu.org>
1669
1670 * w32font.c (w32font_has_char): Always return -1.
1671
a35dd56b
KH
16722008-12-16 Kenichi Handa <handa@m17n.org>
1673
1674 * font.c (font_open_entity): Fix previous change.
1675
0e3635c2
DN
16762008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1677
1678 * process.c: Include <limits.h>.
1679
d4835507 16802008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1681
1682 * font.c (font_update_drivers): Fix mistake in reconstructing the
1683 driver list.
1684
16852008-12-16 Chong Yidong <cyd@stupidchicken.com>
1686
1687 * font.c (font_clear_cache): Fix format of font cache data.
1688
e2cbc401
CY
16892008-12-15 Chong Yidong <cyd@stupidchicken.com>
1690
1691 * xftfont.c (xftfont_open): Free Xft font pattern if
1692 XftFontOpenPattern fails.
1693
1694 * xterm.c (x_free_frame_resources): Remove extraneous call to
1695 free_frame_faces.
1696
b131d535
CY
16972008-12-13 Chong Yidong <cyd@stupidchicken.com>
1698
1699 * xterm.c (x_delete_display): Move xim_close_dpy call to
1700 x_delete_terminal.
1701 (x_delete_terminal): Call xim_close_dpy.
1702
e6df5336
JR
17032008-12-13 Jason Rumney <jasonr@gnu.org>
1704
1705 * w32font.c (intern_font_name): New function.
1706 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1707 (w32font_open_internal, Fx_select_font): Decode font name.
1708 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1709
1710 * w32font.h (intern_font_name): Declare new function.
1711
1712 * w32uniscribe.c (add_opentype_font_name_to_list):
1713 Use intern_font_name.
1714
20d68145
CY
17152008-12-13 Chong Yidong <cyd@stupidchicken.com>
1716
9f2554de
CY
1717 * frame.c (Fdelete_frame): Call free_font_driver_list.
1718
3d9bec9a
CY
1719 * font.c (free_font_driver_list): Implement missing function.
1720
20d68145
CY
1721 * w32term.c (w32_term_init): Don't initialize the image cache
1722 here; it will be done in init_frame_faces.
1723
1724 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1725 (struct x_display_info): Remove unused member null_pixel. New
1726 member xim_callback_data.
1727
1728 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1729 (xim_initialize): Save pointer to callback function data.
1730 (xim_close_dpy): Free callback function data. Call XCloseIM,
1731 reverting 2008-11-04 change by David Smith.
1732 (x_term_init): Don't initialize the image cache here; it will be
1733 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1734 (x_delete_display): Free x_dnd_atoms member.
1735
96f9306b
KH
17362008-12-13 Kenichi Handa <handa@m17n.org>
1737
6dec9044
JB
1738 * font.c (font_rescale_ratio): Moved from xfaces.c.
1739 Argument type changed. Handle a font-spec too.
96f9306b 1740 (font_score): Check Vface_font_rescale_alist.
6dec9044 1741 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1742
1743 * xfaces.c (font_rescale_ratio): Moved to font.c.
1744
8d5b4964
CY
17452008-12-13 Chong Yidong <cyd@stupidchicken.com>
1746
1747 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1748
e6df5336
JR
17492008-12-12 Jason Rumney <jasonr@gnu.org>
1750
1751 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1752 Vwindow_system_version to the real w32 major version.
1753
97c6058a
DN
17542008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1755
1756 * term.c (init_tty): Move setting the terminal name before the
1757 potential user: maybe_fatal.
1758
ec4e88d7
CY
17592008-12-11 Chong Yidong <cyd@stupidchicken.com>
1760
d4835507
JB
1761 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1762 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1763
b4233ec9
JR
17642008-12-11 Jason Rumney <jasonr@gnu.org>
1765
8ec71e23 1766 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1767 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1768
b4233ec9 1769 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1770 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1771
011a0143
JB
17722008-12-11 Juanma Barranquero <lekktu@gmail.com>
1773
1774 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1775
3c309f34
JB
17762008-12-11 Juanma Barranquero <lekktu@gmail.com>
1777
1778 * process.c (Fsystem_process_attributes, syms_of_process):
1779 Fix typo in name of Ssystem_process_attributes.
1780 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1781
fedc6ab5
JB
17822008-12-11 Juanma Barranquero <lekktu@gmail.com>
1783
1784 * syntax.c (Fmodify_syntax_entry): Doc fix.
1785
ba3de0e8
JB
17862008-12-10 Juanma Barranquero <lekktu@gmail.com>
1787
1788 * font.c (Ffont_spec): Move usage to end of docstring.
1789
174f1c74
JR
17902008-12-10 Jason Rumney <jasonr@gnu.org>
1791
1792 * w32font.c (Qcham): New symbol.
1793 (font_supported_scripts): Add cham, and comments for other new
1794 scripts in bitfield from OpenType spec.
9d32f818
JR
1795 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1796 contain characters beyond the bmp.
174f1c74 1797
7b649478
KH
17982008-12-10 Kenichi Handa <handa@m17n.org>
1799
1800 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1801 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1802 Qunicode_sip.
1803
2133e2d1
JB
18042008-12-10 Juanma Barranquero <lekktu@gmail.com>
1805
1806 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1807 (Fcoding_system_put): Use QCdefault_char.
1808 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1809
9af886ee
CY
18102008-12-09 Chong Yidong <cyd@stupidchicken.com>
1811
74d819eb
CY
1812 * xftfont.c (syms_of_xftfont): Fix typo.
1813
4ccfa1c0 1814 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1815
7c19d3ae
DN
18162008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1817
1818 * emacs.c (main): Close daemon_pipe on exec.
1819
567826bb
CY
18202008-12-08 Chong Yidong <cyd@stupidchicken.com>
1821
1822 * termchar.h (struct tty): New members termcap_term_buffer and
1823 termcap_strings_buffer.
1824
1825 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1826 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1827 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1828 All callers changed.
1829 (init_tty): Store termcap data and string buffers in new struct
1830 tty members termcap_term_buffer and termcap_strings_buffer.
1831 (delete_tty): Free them.
4ccfa1c0 1832 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1833
aa96c42b
SZ
18342008-12-07 Seiji Zenitani <zenitani@mac.com>
1835
1836 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1837 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1838
b7e1d896
CY
18392008-12-06 Chong Yidong <cyd@stupidchicken.com>
1840
1841 * coding.c (make_conversion_work_buffer): Disable buffer
1842 modification hooks in the work buffer.
1843
b5ec91a5
EZ
18442008-12-05 Eli Zaretskii <eliz@gnu.org>
1845
1846 * process.c (procfs_system_process_attributes): If `nread' has a
1847 negative value, assign zero to it.
1848
a5d2a52b
CY
18492008-12-05 Chong Yidong <cyd@stupidchicken.com>
1850
68c5540b 1851 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1852
7bf1bb21
KH
18532008-12-05 Kenichi Handa <handa@m17n.org>
1854
1855 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1856 second character is a combining character.
1857
2fdc7d00
EZ
18582008-12-05 Eli Zaretskii <eliz@gnu.org>
1859
1860 * process.c (procfs_system_process_attributes): Don't use cmd,
1861 cmdsize, and q without initializing them first.
1862
bf6bfba8
JR
18632008-12-04 Jason Rumney <jasonr@gnu.org>
1864
1865 * w32font.c (w32font_draw): Initialize orig_clip before getting
1866 it, and delete it when finished.
1867
a3b1a468
DN
18682008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1869
1870 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1871 case when running as a daemon before detaching.
1872
8b8be8eb
JB
18732008-12-03 Juanma Barranquero <lekktu@gmail.com>
1874
805f2638 1875 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1876
b1bde622
KH
18772008-12-03 Kenichi Handa <handa@m17n.org>
1878
e500c47d
KH
1879 * font.c (font_at): Set `multibyte' at first.
1880
ca516334
KH
1881 * coding.c (decode_coding_charset): Check type of an element of
1882 vector VALIDS.
7bf1bb21 1883 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1884
4ccfa1c0 1885 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1886 (font_for_char): Likewise.
1887
1e5ecd37
CY
18882008-12-03 Chong Yidong <cyd@stupidchicken.com>
1889
d5b01609 1890 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1891 (font_update_lface): Handle fonts with corrupted size specs,
1892 i.e. non-int and non-float.
d5b01609 1893
11e3a6e4 1894 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1895 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1896 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1897
ab06788b
CY
1898 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1899
1e5ecd37 1900 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1901 underline_minimum_offset for underline position.
1e5ecd37 1902
63c125ab
DN
19032008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1904
1905 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1906
1907 * character.c (c_string_width): Specify the type for LEN.
1908
3a8406e1
KH
19092008-12-03 Kenichi Handa <handa@m17n.org>
1910
4ccfa1c0 1911 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1912 (decode_coding_utf_8): Likewise.
4ccfa1c0 1913 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1914 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1915
651df7d9
CY
19162008-12-02 Chong Yidong <cyd@stupidchicken.com>
1917
1918 * keyboard.c (make_lispy_position): Only use PT if the selected
1919 window is current.
1920
1f625c6c
AS
19212008-12-02 Andreas Schwab <schwab@suse.de>
1922
f7741ce9
AS
1923 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1924
1f625c6c
AS
1925 * doprnt.c (doprnt1): Fix size of charbuf.
1926
92bc2678
CY
19272008-12-02 Chong Yidong <cyd@stupidchicken.com>
1928
1929 * keyboard.c (timer_check): Revert last change.
1930
93b9e8cc
JB
19312008-12-02 Juanma Barranquero <lekktu@gmail.com>
1932
1933 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1934
fd7a37d5
JB
19352008-12-01 Juanma Barranquero <lekktu@gmail.com>
1936
1937 * makefile.w32-in: Update dependencies.
1938 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1939
c115043b
AS
19402008-12-01 Andreas Schwab <schwab@suse.de>
1941
1942 * font.c (register_font_driver): Use xmalloc.
1943 (font_put_frame_data): Likewise.
1944
f5668d2a
CY
19452008-12-01 Chong Yidong <cyd@stupidchicken.com>
1946
860d96be
CY
1947 * xfaces.c (realize_x_face): Make abort condition clearer.
1948
f5668d2a
CY
1949 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1950
379c17e7
CY
19512008-11-30 Chong Yidong <cyd@stupidchicken.com>
1952
1953 * keyboard.c (timer_check): After a timer runs, ensure that the
1954 selected window's buffer is current.
1955
35f36d65
JB
19562008-11-30 Juanma Barranquero <lekktu@gmail.com>
1957
f952c61c
JB
1958 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1959 It was accidentally restored by the Unicode merge.
1960
35f36d65
JB
1961 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1962
b23077df
JB
19632008-11-29 Juanma Barranquero <lekktu@gmail.com>
1964
1965 * w32proc.c: Include "coding.h".
1966 (Fw32_short_file_name): Encode filename passed to Windows API.
1967 (Fw32_long_file_name): Encode filename passed to Windows API and
1968 decode back the result. (Bug#1433)
1969
b8ebe9dd
KH
19702008-11-29 Kenichi Handa <handa@m17n.org>
1971
8cc53f96
KH
1972 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1973 not before accessing it.
1974
b8ebe9dd
KH
1975 * charset.c (Fdefine_charset_internal): After calculating
1976 min_char, max_char, and fastmap, copy the charset structure again.
1977 (encode_char): Fix the previous change.
1978
59bc82c0
SZ
19792008-11-28 Seiji Zenitani <zenitani@mac.com>
1980
1981 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1982
1983 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1984
1985 * nsterm.m (x_set_frame_alpha): New function.
1986
32247e3d
EZ
19872008-11-27 Eli Zaretskii <eliz@gnu.org>
1988
1989 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1990
b003e5ff
JB
19912008-11-27 Juanma Barranquero <lekktu@gmail.com>
1992
1993 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1994 pointer to check_face_name.
1995
708550f5
KH
19962008-11-27 Kenichi Handa <handa@m17n.org>
1997
1998 * category.h (SET_CATEGORY_SET): Call set_category_set.
1999 (set_category_set): Extern it.
2000
2001 * category.c (hash_get_category_set): New function.
2002 (Fmodify_category_entry): Adjusted for the change of
2003 char_table_ref_and_range. Call hash_get_category_set to get a
2004 category set to store in the table.
2005
2006 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
2007 Funify_charset.
2008
2ae37cf0 2009 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
2010 (DECODE_CHAR): Check if the decoder vector is ready.
2011 (ENCODE_CHAR): Check if the encoder char-table is ready.
2012 (maybe_unify_char): Extern it.
2013
2014 * charset.c (Vchar_unified_charset_table): Delete it.
2015 (inhibit_load_charset_map): New variable.
2016 (temp_charset_work): New variable.
2017 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
2018 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
2019 New macros.
2020 (load_charset_map): Meaning of control_flag changed. If
2021 inhibit_load_charset_map is nonzero, setup a table in
2022 temp_charset_work.
2023 (load_charset): New argument control_flag.
2024 (map_charset_for_dump): New function.
2025 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
2026 map_charset_for_dump.
2027 (Fdefine_charset_internal): If the charset method is MAP, load
2028 mapping tables by calling load_charset.
2029 (Funify_charset): Don't load a mapping table but directly set
2030 Vchar_unify_table.
2031 (maybe_unify_char): New function.
2032 (decode_char): Don't handle the deleted method MAP_DEFERRED.
2033 Handle the case of inhibit_load_charset_map being nonzero.
2034 (encode_char): Don't handle the deleted method MAP_DEFERRED.
2035 Handle the case of inhibit_load_charset_map being nonzero.
2036 (Fclear_charset_maps): Just free temp_charset_work.
2037 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
2038 variable.
2039
2040 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
2041 change of char_table_ref_and_range.
2042 (char_table_ref_and_range): Change the meaning of argument FROM
2043 and TO. Now the caller must provide initial values for *FROM
2044 and *TO.
2045
2046 * fontset.c (fontset_add): Adjusted for the change of
2047 char_table_ref_and_range.
2048 (fontset_get_font_group): Likewise.
2049 (Ffontset_info): Likewise.
2050
2051 * keymap.c (describe_vector): Adjusted for the change of
2052 char_table_ref_and_range. For char-table, put boundary between
2053 non-ASCII and 8-bit characters.
2054
2055 * print.c (print_object): For bool-vector, delete unnecessary
2056 check of ASCII_BYTE_P.
2057
9196133b
JR
20582008-11-26 Jason Rumney <jasonr@gnu.org>
2059
2060 * w32font.c (w32font_open_internal): Don't include external
9acef61c 2061 leading in font height. (Bug#879)
9196133b 2062
9f688acf
GM
20632008-11-26 Glenn Morris <rgm@gnu.org>
2064
2065 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
2066 redefinition with ifdef. (Bug#1383)
2067
90d19aff
AR
20682008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2069
2070 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
2071
4ccfa1c0 20722008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
2073
2074 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
2075 New EmacsView methods.
2076 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
2077 Fixes bug #1048,1357,1414.
2078
20792008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2080
2081 Fix bug #1362.
2082 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
2083 is not an indexed color.
2084 * nsterm.m (free_indexed_color): Add argument checking.
2085 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
2086
e7d5ecb3
CY
20872008-11-24 Chong Yidong <cyd@stupidchicken.com>
2088
2089 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
2090 Document confirm-after-completion value for
2091 minibuffer-completion-confirm.
2092
c285743c
JR
20932008-11-24 Jason Rumney <jasonr@gnu.org>
2094
2095 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
2096 warning.
2097
b0857706
JR
20982008-11-23 Jason Rumney <jasonr@gnu.org>
2099
2100 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
2101 restored before returning.
2102
2103 * w32font.c (check_face_name): New function.
2104 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 2105 fonts. (Bug#642)
b0857706 2106
ee50ff07
MR
21072008-11-22 Martin Rudalics <rudalics@gmx.at>
2108
2109 * buffer.c (Fswitch_to_buffer): Reword and mention new option
2110 confirm-nonexistent-file-or-buffer in doc-string.
2111
b8ff72fa
SM
21122008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2113
2114 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
2115 Fix copy/paste typo. Add checks.
2116
cee53ed4
KH
21172008-11-21 Kenichi Handa <handa@m17n.org>
2118
2119 * coding.c (detect_coding_iso_2022): Reject invalid composition
2120 sequence.
2121 (DECODE_COMPOSITION_START): If the current source is the last
2122 block, and the current composition doesn't end, regard this
2123 sequence as invalid.
2124 (decode_coding_iso_2022): Handle invalid composition sequence.
2125
f6ef1e65
MR
21262008-11-20 Martin Rudalics <rudalics@gmx.at>
2127
2128 * window.c (coordinates_in_window): Don't return
2129 ON_VERTICAL_BORDER for the rightmost position of a mode/header
2130 line when the window is not the rightmost one. (Bug#1372)
2131
e08b1705
MR
21322008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2133
2134 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
2135
ad98e89f
EZ
21362008-11-15 Eli Zaretskii <eliz@gnu.org>
2137
2138 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
2139 and bright_bg if noninteractive is non-zero.
2140
fb098a4b
CY
21412008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2142
2143 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
2144 x_draw_glyph_string_background.
2145
2146 * w32term.c (x_draw_glyph_string): Likewise.
2147
ce952b6e
CY
21482008-11-15 Chong Yidong <cyd@stupidchicken.com>
2149
2150 * xterm.c (x_draw_glyph_string): Stop drawing the background of
2151 the next glyph string once past the overhang width.
2152
2153 * nsterm.m (ns_draw_glyph_string): Likewise.
2154
2155 * w32term.c (x_draw_glyph_string): Likewise.
2156
26ea7079
CY
21572008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
2158
2159 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
2160 double file close.
2161
1c33c906
MR
21622008-11-14 Martin Rudalics <rudalics@gmx.at>
2163
2164 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
2165 dedicated status of window before attempting to display another
2166 buffer in it.
2167
8fc29035
JB
21682008-11-14 Juanma Barranquero <lekktu@gmail.com>
2169
2170 * msdos.c (Fmsdos_long_file_names):
2171 (syms_of_msdos) <dos-unsupported-char-glyph>:
2172 * dosfns.c (Fint86): Fix typos in docstrings.
2173
55fb4286
EZ
21742008-11-14 Eli Zaretskii <eliz@gnu.org>
2175
2176 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
2177
3fda0315
KY
21782008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
2179
2180 * puresize.h (BASE_PURESIZE): Increase to 1260000.
2181
7e849c17
CY
21822008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
2183
2184 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
2185
2186 * frame.h: Negative alpha means "don't touch".
2187
2188 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
2189
2190 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
2191
b9fd67bd
DN
21922008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
2193
2194 * hftctl.c:
2195 * chpdef.h:
2196 * acldef.h: Remove files used only for systems no longer supported.
2197
2198 * Makefile.in: Fix .o alphabetical ordering.
2199 (hftctl.o): Remove dependency, file removed.
2200 (keymap.o, print.o): Depend on charset.h.
2201
d5998e03
KH
22022008-11-10 Kenichi Handa <handa@m17n.org>
2203
2ae37cf0 2204 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 2205
be70e183
CY
22062008-11-08 Chong Yidong <cyd@stupidchicken.com>
2207
2208 * dired.c (file_name_completion): If completion_ignore_case is
2209 enabled, ignore case when checking completion-regexp-list.
2210
7cf94eac
EZ
22112008-11-08 Eli Zaretskii <eliz@gnu.org>
2212
2213 * vm-limit.c (get_lim_data): Fix last change.
2214
ee107a89
KH
22152008-11-08 Kenichi Handa <handa@m17n.org>
2216
2217 * character.c (Fget_byte): New function.
2218 (syms_of_character): Defsubr Fget_byte.
2219
5fd15622
CY
22202008-11-07 Chong Yidong <cyd@stupidchicken.com>
2221
2222 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
2223 cursor position is valid after scrolling.
2224
13d62fad
JB
22252008-11-06 Juanma Barranquero <lekktu@gmail.com>
2226
2227 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
2228
a1dd2936
GM
22292008-11-06 Glenn Morris <rgm@gnu.org>
2230
2231 * xterm.c (handle_one_xevent): Don't let popup menus cause
2232 mouse-autoselect-window related window switching. (Bug#1261)
2233
860cd236
CY
22342008-11-04 David Smith <davidsmith@acm.org> (tiny change)
2235
2236 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
2237
653a3150
AS
22382008-11-04 Andreas Schwab <schwab@suse.de>
2239
2240 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
2241
870f5cac
CY
22422008-11-03 Chong Yidong <cyd@stupidchicken.com>
2243
2244 * xfns.c (Fx_wm_set_size_hint): New function.
2245
1e02f3cb
MR
22462008-11-03 Martin Rudalics <rudalics@gmx.at>
2247
2248 * textprop.c (Fprevious_single_char_property_change): Return 0
2249 when there's no change in a string. (Bug#1301)
2250
e630dfc6
MR
22512008-11-02 Martin Rudalics <rudalics@gmx.at>
2252
2253 * frame.c (do_switch_frame): New argument NORECORD passed to
2254 Fselect_window.
2255 (Fselect_frame): New argument NORECORD passed to
2256 do_switch_frame.
2257 (Fset_frame_selected_window): New argument NORECORD passed to
2258 Fselect_frame.
2259 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2260 in call of do_switch_frame.
2261 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2262 Handle NORECORD argument in call of Fselect_frame.
2263 * lisp.h (do_switch_frame, Fselect_frame)
2264 (Fset_frame_selected_window): Adjust declarations.
2265 * window.c (select_frame_norecord): New function.
2266 (run_window_configuration_change_hook): Use it and call
2267 Fselect_frame with NORECORD set.
2268 (Fselect_window): Pass NORECORD to Fselect_frame.
2269 (Fset_window_configuration): Handle NORECORD argument in call of
2270 do_switch_frame.
2271 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2272 Fset_frame_selected_window.
2273 * keyboard.c (command_loop_1): Handle NORECORD in call of
2274 Fselect_frame (currently ifdefd).
2275
9020b223
GM
22762008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2277
2278 * emacs.c (USAGE2): Untabify.
2279
793ffee8
SM
22802008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2281
2282 * composite.c (fill_gstring_header): Fix copy/paste typo.
2283
ab6d1131
MR
22842008-10-31 Martin Rudalics <rudalics@gmx.at>
2285
2286 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2287 (Fother_window): Rename argument and rewrite doc-string.
2288 (select_window_norecord): Fix return value. (Bug#1276)
2289
601a9cf1
JB
22902008-10-30 Juanma Barranquero <lekktu@gmail.com>
2291
2292 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2293 new frames overriding foreground for tooltips. Based on similar patch
2294 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2295
813b0652
CY
22962008-10-29 Chong Yidong <cyd@stupidchicken.com>
2297
2298 * emacs.c (Fdaemon_initialized): Initialize nfd.
2299
4414f58f
MR
23002008-10-29 Martin Rudalics <rudalics@gmx.at>
2301
2302 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2303 (Fwindow_text_height): Clarify doc-strings.
2304 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2305 doc-string of window-scroll-functions.
2306
ecdcaa09
RS
23072008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2308
2309 * category.c (syms_of_category): Fix typo in docstring.
2310
23fe745a
JB
23112008-10-28 Juanma Barranquero <lekktu@gmail.com>
2312
2313 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2314 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2315 Fix typos in docstrings.
2316
ff808935
DN
23172008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2318
2319 * emacs.c (daemon_pipe): Make non-static.
2320 (IS_DAEMON): Move definition ...
2321 * lisp.h (IS_DAEMON): ... here.
2322 (daemon_pipe): Declare.
2323 (is_daemon): Remove.
2324 * dispnew.c (init_display): Use IS_DAEMON.
2325
fc012771
SM
23262008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2327
2328 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2329 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2330
2331 * emacs.c (is_daemon): Remove.
2332 (main): Don't set is_daemon.
2333 (IS_DAEMON): New macro.
2334 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 2335 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
2336 parent exits.
2337 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2338
d8bdbe6f
CY
23392008-10-27 Chong Yidong <cyd@stupidchicken.com>
2340
d1a072bf
CY
2341 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2342 over-sized glyph, draw it with the default glyph width.
2343
e2e325aa
CY
2344 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2345 glyph, draw it with the default glyph width.
2346
2347 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2348 glyph, draw it with the default glyph width.
2349
d8bdbe6f
CY
2350 * xdisp.c (try_scrolling): When computing the distance from the
2351 scroll margin to PT, try moving some distance past the window
2352 bottom before giving up.
2353
7bfac547
MR
23542008-10-27 Martin Rudalics <rudalics@gmx.at>
2355
2356 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
2357 (Fset_window_buffer): Explain in doc-string that a window can be
2358 "strongly" dedicated to its buffer.
2359
4ff029f6
DN
23602008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
2361
2362 * emacs.c (daemon_name): New variable.
2363 (main): Deal with --daemon=SERVER_NAME.
2364 (Fdaemonp): Return a name if one was passed to --daemon.
2365
5790ef40
DN
23662008-10-26 Romain Francoise <romain@orebokech.com>
2367
f9bd0df9 2368 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
2369 (main): Create a pipe before forking, make the parent exit only after
2370 the child has closed its end of the pipe. Move closing the
2371 descriptors ...
2372 (Fdaemon_initialized): ... here. New function.
2373
f5385255
SM
23742008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2375
4d632321
SM
2376 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
2377 the previous unoptimized table.
2378
f5385255
SM
2379 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
2380 the distinction between non-nil and non-t value of `dedicated'.
2381
6c56a0f3
CY
23822008-10-25 Chong Yidong <cyd@stupidchicken.com>
2383
2384 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 2385 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 2386
fec89261
MR
23872008-10-25 Martin Rudalics <rudalics@gmx.at>
2388
2389 * window.c (Fget_buffer_window, Fdelete_windows_on)
2390 (Freplace_buffer_in_windows): Make buffer argument optional and
2391 rename to buffer_or_name.
2392
34fcddd0
CY
23932008-10-24 Chong Yidong <cyd@stupidchicken.com>
2394
f5385255
SM
2395 * xdisp.c (handle_single_display_spec, handle_display_prop):
2396 Undo 2005-05-16 change.
34fcddd0
CY
2397 (handle_stop): Pop iterator if it's loaded with an empty string.
2398 (get_overlay_strings_1): Don't save iterator if it's loaded with
2399 an empty string (bug#1201).
2400
064766f2
KH
24012008-10-24 Kenichi Handa <handa@m17n.org>
2402
2403 * ftfont.c (ftfont_otf_features): Fix previous change.
2404 (ftfont_otf_capability): Check FeatureList.FeatureCount before
2405 calling ftfont_otf_features.
2406
f9bd0df9 24072008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
2408
2409 * font.c (font_match_p): Fix for the case that a vector of
2410 characters is in script-representative-chars.
2411
1dae9197
MA
24122008-10-24 Michael Albinus <michael.albinus@gmx.de>
2413
2414 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 2415 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
2416 (xd_read_queued_messages): Catch Qdbus_error from the macros.
2417 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
2418 macro. (Bug#1186).
2419
f9bd0df9 24202008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
2421
2422 * s/sol2-10.h: New file.
2423
878a4584
JB
24242008-10-23 Juanma Barranquero <lekktu@gmail.com>
2425
2426 * xdisp.c (fill_glyph_string): Fix typo in source (though the
2427 poor beast has survived 9+ years and the jump from xterm.c!).
2428
cd265ca6
MR
24292008-10-23 Martin Rudalics <rudalics@gmx.at>
2430
2431 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
2432 Reword doc-string.
f5385255 2433 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 2434
472a4dc9
JB
24352008-10-23 Juanma Barranquero <lekktu@gmail.com>
2436
2437 * character.c (syms_of_character) <script-representative-chars>:
2438 <unicode-category-table>: Doc fixes.
2439
159bd5a2
NF
24402008-10-23 Noah Friedman <friedman@splode.com>
2441
2442 * coding.c (make_conversion_work_buffer): Check that
2443 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
2444 Fget_buffer_create.
2445
49f9c344
KH
24462008-10-23 Kenichi Handa <handa@m17n.org>
2447
2448 * font.c (font_add_log): Check the values of extra properties.
2449
12bb3111
MR
24502008-10-22 Martin Rudalics <rudalics@gmx.at>
2451
2452 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2453 Reword doc-string.
2454 (Fset_window_parameter): Use NILP.
2455 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 2456 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 2457
bbeb4e99
JB
24582008-10-22 Juanma Barranquero <lekktu@gmail.com>
2459
2460 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
2461
24622008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
2463
2464 * nsfns.m (ns_appkit_version): New function.
2465 (x-server-version): Use it.
2466 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
2467 (x-server-vendor): Don't check_ns().
2468
2469 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
2470
a9b555d3
JB
24712008-10-22 Juanma Barranquero <lekktu@gmail.com>
2472
2473 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
2474 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
2475
4626499f
KH
24762008-10-22 Kenichi Handa <handa@m17n.org>
2477
e3681952
KH
2478 * syntax.c (scan_words): Call word_boundary_p instead of comparing
2479 scripts.
2480
4626499f
KH
2481 * category.c (word_boundary_p): Check scripts instead of charset.
2482 Handle nil value in word-separating-categories and
2483 word-combining-categories.
2484 (syms_of_category): Fix docstrings of word-separating-categories
2485 and word-combining-categories.
2486
1560f91a
EZ
24872008-10-21 Eli Zaretskii <eliz@gnu.org>
2488
2489 * coding.c (Fencode_coding_region, Fdecode_coding_region)
2490 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
2491
f4668441
MR
24922008-10-21 Martin Rudalics <rudalics@gmx.at>
2493
2494 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
2495 Rename arg "buffer" to "buffer_or_name".
2496 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
2497 it optional.
2498 (no_switch_window): Remove since the return value is not used.
a9b555d3 2499 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
2500 Consider window as dedicated when Fwindow_dedicated_p returns a
2501 non-nil value.
2502 * lisp.h: Remove prototype for no_switch_window.
2503
fd75ddb2
JD
25042008-10-21 Jan Djärv <jan.h.d@swipnet.se>
2505
2506 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 2507 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 2508
07295713
KH
25092008-10-21 Kenichi Handa <handa@m17n.org>
2510
2511 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
2512 check Vlatin_extra_code_table.
2513
712adc82
EZ
25142008-10-20 Eli Zaretskii <eliz@gnu.org>
2515
2516 * fileio.c (Fset_file_modes): Doc fix.
2517
f549eb0b
MA
25182008-10-19 Michael Albinus <michael.albinus@gmx.de>
2519
2520 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
2521 in arrays.
2522
aac0c6e3
MR
25232008-10-19 Martin Rudalics <rudalics@gmx.at>
2524
2525 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2526 Mention kill-buffer in doc-string.
2527 (Fset_window_buffer): Reinsert tem check removed in last commit.
2528 (Fenlarge_window, Fshrink_window): Have argument names and
2529 doc-string follow Elisp manual more closely.
2530
25312008-10-18 Eli Zaretskii <eliz@gnu.org>
2532
2533 * fileio.c (Fset_file_modes): Doc fix.
2534
25352008-10-18 Martin Rudalics <rudalics@gmx.at>
2536
2537 * window.c (Fwindow_width, Fset_window_start)
2538 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
2539 (Fdelete_windows_on, Freplace_buffer_in_windows):
2540 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
2541 (Fwindow_dedicated_p): Make window argument optional.
2542 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
2543 (Fset_window_buffer): Respect any non-nil dedicated value for
2544 window. Rename "buffer" argument to "buffer_or_name".
2545
25462008-10-18 Ulrich Mueller <ulm@gentoo.org>
2547
2548 * m/sh3.h: New file, machine description for SuperH.
2549
25502008-10-17 Martin Rudalics <rudalics@gmx.at>
2551
2552 * window.c (Fsplit_window): Rename arg horflag to horizontal.
2553
25542008-10-17 Kenichi Handa <handa@m17n.org>
2555
2556 * ftfont.c (ftfont_otf_features): Fix indexing
2557 gsub_gpos->FeatureList.Feature. Check the validity of indices.
2558
25592008-10-16 Magnus Henoch <mange@freemail.hu>
2560
2561 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
2562 (Fdbus_call_method_asynchronously): Ditto.
2563 This change makes C-h f display the argument list.
2564
25652008-10-16 Chong Yidong <cyd@stupidchicken.com>
2566
2567 * fileio.c (Fexpand_file_name): Doc fix.
2568
2569 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
2570 of :foreground and :background equivalent to unspecified (20.x
2571 compatibility).
2572
25732008-10-15 Eli Zaretskii <eliz@gnu.org>
2574
2575 * buffer.c (syms_of_buffer): Doc fix.
2576
25772008-10-14 Kenichi Handa <handa@m17n.org>
2578
2579 * font.c (font_clear_prop): When clearing font width, clear the
2580 average width field too.
2581
25822008-10-12 Andreas Schwab <schwab@suse.de>
2583
2584 * ftfont.c (ftfont_shape_by_flt): Make static.
2585 * ftfont.h (ftfont_shape_by_flt): Don't declare.
2586
2587 * font.c: Don't include <m17n-flt.h>.
2588
25892008-10-10 Eli Zaretskii <eliz@gnu.org>
2590
2591 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
2592
25932008-10-09 Eli Zaretskii <eliz@gnu.org>
2594
2595 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
2596 away code.
2597
25982008-10-09 Chong Yidong <cyd@stupidchicken.com>
2599
2600 * dispnew.c (update_text_area): Avoid looping due to large glyph
2601 overhangs (bug#1070).
2602
26032008-10-09 Kenichi Handa <handa@m17n.org>
2604
2605 * fontset.c (face_for_char): If face->fontset is negative, just
2606 return ascii_face.
2607
f5385255
SM
2608 * font.c (font_delete_unmatched): Fix previous change.
2609 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
2610
26112008-10-09 Martin Rudalics <rudalics@gmx.at>
2612
2613 * frame.c (Fraise_frame): On text-only terminals select frame in
2614 order to make it visible. (Bug#1061)
2615
26162008-10-08 Chong Yidong <cyd@stupidchicken.com>
2617
2618 * fontset.c (fontset_find_font): Check frame validity.
2619
26202008-10-07 Chong Yidong <cyd@stupidchicken.com>
2621
a9b555d3 2622 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
2623 (xg_display_close): Allow Emacs to close all displays (bug#985).
2624
26252008-10-06 Andreas Schwab <schwab@suse.de>
2626
f5385255 2627 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
2628
26292008-10-06 Chong Yidong <cyd@stupidchicken.com>
2630
f5385255 2631 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 2632
a9b555d3 2633 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
2634
2635 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
2636 during initialization.
2637
26382008-10-04 Eli Zaretskii <eliz@gnu.org>
2639
2640 * xdisp.c (redisplay_internal): If frame switched, redisplay the
2641 whole thing on MSDOS frames as well as on a TTY.
2642
2643 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
2644 well as for TTY.
2645 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
2646 well as on a TTY.
2647
2648 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
2649 as well as for TTY.
2650
2651 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
2652
2653 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
2654 MSDOS frames as well.
2655
26562008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2657
2658 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
2659 correct arguments.
2660 * menu.c (find_and_return_menu_selection) Add cast.
2661
26622008-10-03 Glenn Morris <rgm@gnu.org>
2663
2664 * emacs.c (USAGE1): Add --daemon.
2665
26662008-10-02 Eli Zaretskii <eliz@gnu.org>
2667
2668 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
2669 100, so it's in percents as advertised.
2670
26712008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2672
2673 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2674 (ns_output.current_cursor, ns_output.desired_cursor)
2675 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2676 (FRAME_NEW_CURSOR_COLOR): Remove.
2677
2678 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2679 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2680 enumeration (HOLLOW_BOX_CURSOR, etc.).
2681
2682 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2683 (draw_window_cursor): Simplify code.
f5385255
SM
2684 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2685 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2686 updates manually.
a9b555d3
JB
2687 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2688 Use core Emacs cursor types.
aac0c6e3 2689
b8ff72fa 2690 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2691
26922008-10-02 Martin Rudalics <rudalics@gmx.at>
2693
2694 * process.c (Faccept_process_output): Fix doc-string.
2695
26962008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2697
2698 * gmalloc.c (__sbrk): Also define for uClibc.
2699
2700 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2701 for uClibc.
2702
27032008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2704
2705 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2706 styles.
2707 (nsfont_open): Reenable the cache.
2708
27092008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2710
2711 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2712 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2713
27142008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2715
2716 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2717 a suspended terminal.
2718
27192008-09-30 Michael Albinus <michael.albinus@gmx.de>
2720
2721 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2722
27232008-09-30 Eli Zaretskii <eliz@gnu.org>
2724
2725 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2726
27272008-09-30 Chong Yidong <cyd@stupidchicken.com>
2728
2729 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2730 in a continued line coincides with a line beginning.
2731
27322008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2733
2734 * nsfont.m (nsfont_trait_distance): Fix bug.
2735 (nsfont_list): Return a list rather than a vector (syncs with Handa
2736 changes of 2008-05-14).
2737 (nsfont_open): Improve logging.
2738
27392008-09-29 Andreas Schwab <schwab@suse.de>
2740
2741 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2742
27432008-09-28 Martin Rudalics <rudalics@gmx.at>
2744
2745 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2746 name as char-resolve-modifiers.
2747 Reported by: Markus Triska <markus.triska@gmx.at>
2748
27492008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2750
2751 * dispnew.c (init_display): Return earlier when running as a daemon.
2752
27532008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2754
2755 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2756
27572008-09-27 Eli Zaretskii <eliz@gnu.org>
2758
2759 * composite.c (Fcomposition_get_gstring)
2760 (Fcompose_region_internal, Fcompose_string_internal)
2761 (Ffind_composition_internal): Doc fix.
2762 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2763 (syms_of_composite) <auto-composition-function>: Doc fix.
2764 (syms_of_composite) <composition-function-table>: Doc fix.
2765
27662008-09-25 Chong Yidong <cyd@stupidchicken.com>
2767
2768 * search.c (wordify): New argument for lax word-ends.
2769 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2770
27712008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2772
2773 * lisp.h (is_daemon): Declare.
2774 * dispnew.c (init_display): Do not try to initialize the terminal
2775 when running as a daemon.
2776
27772008-09-22 Chong Yidong <cyd@stupidchicken.com>
2778
2779 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2780 x_display_pixel_height.
2781
27822008-09-22 Martin Rudalics <rudalics@gmx.at>
2783
2784 * undo.c (record_point): Don't call Fundo_boundary for first
2785 change. (Bug#731)
2786
27872008-09-22 Juanma Barranquero <lekktu@gmail.com>
2788
2789 * emacs.c (Fdaemonp): Doc fix.
2790
27912008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2792
2793 * emacs.c (main): Place #ifdef in the proper place.
2794
27952008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2796
2797 * emacs.c (standard_args): Add --daemon.
2798 (main): Disconnect from the terminal when --daemon is passed.
2799 (is_daemon): New variable.
2800 (Fdaemonp): New function.
2801 (syms_of_emacs): Defsubr it.
2802
28032008-09-20 Chong Yidong <cyd@stupidchicken.com>
2804
2805 * xdisp.c (get_next_display_element): Handle string display
2806 correctly when checking for the end of a box run.
2807
28082008-09-20 Glenn Morris <rgm@gnu.org>
2809
2810 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2811 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2812 (Frename_file): Avoid copying to trash if a rename involves
2813 a delete. (Bug#964).
2814
28152008-09-20 Eli Zaretskii <eliz@gnu.org>
2816
2817 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2818 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2819 frames as well as termcap frames.
2820 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2821 get_named_tty.
2822
28232008-09-19 Eli Zaretskii <eliz@gnu.org>
2824
2825 * process.c (procfs_system_process_attributes): Fix cmdline in
2826 case /proc/PID/cmdline is empty.
2827
2828 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2829 x_display_pixel_height.
2830
28312008-09-19 Juanma Barranquero <lekktu@gmail.com>
2832
2833 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2834
2835 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2836 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2837
28382008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2839
2840 * dispextern.h (struct it): Move line_wrap away from the middle of
2841 bitfields. Move voffset in struct iterator_stack_entry after the
2842 bitfields. Move tab_width near after another short.
2843
28442008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2845
2846 * frame.h (struct frame): Move alpha from the middle of bitfields.
2847
2848 * window.h (struct window): Move frozen_window_start_p after the
2849 rest of the bitfields to reduce padding.
2850
28512008-09-18 Chong Yidong <cyd@stupidchicken.com>
2852
2853 * xterm.h (x_display_info): Remove `height' and `width' members.
2854
2855 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2856
2857 * w32term.h (w32_display_info): Remove `height', `width',
2858 `height_in', and `width_in' members.
2859
b8ff72fa
SM
2860 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2861 New functions.
aac0c6e3
MR
2862 (x_calc_absolute_position): Use them.
2863 (x_term_init): Omit removed `height' and `width' members.
2864
b8ff72fa
SM
2865 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2866 New functions.
aac0c6e3
MR
2867 (w32_read_socket, x_calc_absolute_position): Use them.
2868 (w32_initialize_display_info, w32_term_init): Omit removed members
2869 of w32_display_info.
2870
b8ff72fa
SM
2871 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2872 New functions.
2873 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2874
b8ff72fa
SM
2875 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2876 New functions.
aac0c6e3
MR
2877 (x_calc_absolute_position): Use them.
2878 (x_term_init): Omit removed `height' and `width' members.
2879
2880 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2881 (compute_tip_xy):
2882 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2883 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2884 x_display_pixel_width.
2885
28862008-09-18 Kenichi Handa <handa@m17n.org>
2887
2888 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2889 (composition_compute_stop_pos): Fix handling of static composition.
2890 (Fcomposition_get_gstring): Check FROM and TO at first.
2891
28922008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2893
46e722a9 2894 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
2895 mixup (YAILOM).
2896
28972008-09-17 Chong Yidong <cyd@stupidchicken.com>
2898
2899 * indent.c (Fvertical_motion): Use position reported by iterator
2900 instead of PT for determining screen motion (bug#943).
2901
29022008-09-17 Romain Francoise <romain@orebokech.com>
2903
2904 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2905
29062008-09-17 Kenichi Handa <handa@m17n.org>
2907
2908 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2909
2910 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2911 if necessary.
2912
29132008-09-16 Kenichi Handa <handa@m17n.org>
2914
2915 * coding.c (make_conversion_work_buffer): Avoid calling
2916 Fget_buffer_create if it is not necessary.
2917
29182008-09-15 Martin Rudalics <rudalics@gmx.at>
2919
2920 * window.c (Fselect_window): Don't update window_select_count and
2921 use_time when norecord is not nil.
2922
29232008-09-14 Kenichi Handa <handa@m17n.org>
2924
2925 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2926 specpdl_ptr.
2927
29282008-09-12 Kenichi Handa <handa@m17n.org>
2929
2930 * indent.c (scan_for_column): Don't handle automatic composition
2931 if the current buffer is not associated with a window.
2932
2933 * composite.c (composition_reseat_it): If the current buffer is
2934 not associated with a window, ignore the automatic composition.
2935 (find_automatic_composition): Likewise.
2936
29372008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2938
2939 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2940 (Fgpm_mouse_stop): Use it.
2941 * termhooks.h (close_gpm): Declare.
2942 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2943 connection if Gpm_GetEvent fails.
2944
2945 * window.c (set_window_buffer): Always preserve current-buffer.
2946
29472008-09-12 Glenn Morris <rgm@gnu.org>
2948
2949 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2950
29512008-09-11 Glenn Morris <rgm@gnu.org>
2952
2953 * charset.c (charset-map-path): Doc fix.
2954
29552008-09-10 Kenichi Handa <handa@m17n.org>
2956
2957 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2958
2959 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2960 compose a grapheme cluster with the preceding base glyph.
2961
2962 * composite.c (composition_compute_stop_pos): Fix previous change.
2963 Reset cmp_it->id to -1 at first.
2964
29652008-09-10 Glenn Morris <rgm@gnu.org>
2966
2967 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2968
29692008-09-09 Chong Yidong <cyd@stupidchicken.com>
2970
2971 * keyboard.c (read_key_sequence): Reapply translation maps when
2972 switching keyboards.
2973
29742008-09-09 Kenichi Handa <handa@m17n.org>
2975
2976 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2977 characters.
2978
2979 * composite.c (FORWARD_CHAR): Fix calculation
2980 of (POSITION).pos_byte.
2981 (composition_compute_stop_pos): Limit the search of composition to
2982 at most 500 characters ahead. If we reach the limit or find a
2983 newline, set cmp_it->ch to -2 and return 0.
2984 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2985
29862008-09-08 Kenichi Handa <handa@m17n.org>
2987
2988 * indent.c (Fvertical_motion): Be sure to set
2989 it_overshoot_expected if it.cmp_it.id is non-negative.
2990
29912008-09-07 Andreas Schwab <schwab@suse.de>
2992
2993 * callproc.c (Fcall_process): Don't hold references to string data
2994 across garbage collection. Move initialisation of new_argv down
2995 to avoid compiler bug.
2996
29972008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2998
2999 * process.c (Fsystem_process_attributes): Doc fix.
3000
30012008-09-07 Chong Yidong <cyd@stupidchicken.com>
3002
3003 * callproc.c (Fcall_process): Canonicalize current directory name.
3004
3005 * xdisp.c (move_it_to): When moving by vpos, ensure that the
3006 iterator advances to the next line if the current line ends in a
3007 continued tab.
3008
30092008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
3010
3011 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
3012 member to point to cmp_from.
3013
3014 * xdisp.c: Doc fix for references to gidx data member.
3015
30162008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3017
3018 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
3019
30202008-09-07 Kenichi Handa <handa@m17n.org>
3021
3022 * composite.c (FORWARD_CHAR): Check STOP after
3023 incrementing (POSITION).pos.
3024
30252008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
3026
3027 * process.c (Fsystem_process_attributes): Doc fix.
3028
30292008-09-06 Chong Yidong <cyd@stupidchicken.com>
3030
3031 * keyboard.c (Ftop_level): Doc fix.
3032
30332008-09-06 Eli Zaretskii <eliz@gnu.org>
3034
3035 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
3036 minibuffer, don't let lower part of menu invade the echo area.
3037
3038 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
3039 "char *q" to access menu text and advance through it. Revert the
3040 change that displayed ">" instead of ASCII character 0x10.
3041
30422008-09-05 Eli Zaretskii <eliz@gnu.org>
3043
3044 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
3045 toggle boxes and radio buttons on MS-DOS as well.
3046
30472008-09-05 Kenichi Handa <handa@m17n.org>
3048
3049 * composite.c (autocmp_chars): Check lookback count.
3050 (composition_compute_stop_pos): Set cmp_it->lookback.
3051 (composition_reseat_it): Check lookback count.
3052 (struct position_record): New struct.
3053 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
3054 (find_automatic_composition): New function.
3055 (composition_adjust_point): Use find_automatic_composition.
3056
3057 * dispextern.h (struct composition_it): New member lookback.
3058
30592008-09-02 Chong Yidong <cyd@stupidchicken.com>
3060
3061 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
3062 if moving by a single line.
3063
30642008-09-02 Andreas Schwab <schwab@suse.de>
3065
3066 * xterm.c (x_delete_display): Fix merge error.
3067
3068 * fileio.c (Fexpand_file_name): Remove unused variables.
3069
30702008-09-02 Eli Zaretskii <eliz@gnu.org>
3071
3072 * fileio.c (Fexpand_file_name): Copy argument `name' into local
3073 storage on all platforms, not just on DOS_NT.
3074
30752008-09-02 Jason Rumney <jasonr@gnu.org>
3076
b8ff72fa
SM
3077 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
3078 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
3079
30802008-09-01 Chong Yidong <cyd@stupidchicken.com>
3081
3082 * xfaces.c (Finternal_set_alternative_font_family_alist)
3083 (Finternal_set_alternative_font_registry_alist): Properly copy
3084 entire alist structure.
3085
30862008-09-01 Kenichi Handa <handa@m17n.org>
3087
d66c0241 3088 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 3089 representative chars of the script is a vector.
d66c0241
JB
3090 (ftfont_list): Handle the case where the representative chars of
3091 the script is a vector.
aac0c6e3
MR
3092
3093 * character.c (syms_of_character): Docstring of
3094 script-representative-chars fixed.
3095
30962008-08-31 Eli Zaretskii <eliz@gnu.org>
3097
3098 * msdos.c (BUILD_CHAR_GLYPH): New macro.
3099 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
3100 the menu. Allocate larger buffer for `text', to account for
3101 possible ^C characters.
3102
31032008-08-31 Martin Rudalics <rudalics@gmx.at>
3104
3105 * xdisp.c (prepare_menu_bars): Don't call
3106 Vwindow_size_change_functions with arg Qt.
3107
31082008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
3109
3110 * font.h (font_range):
3111 * fileio.c (report_file_error):
46e722a9
SM
3112 * composite.c (composition_update_it): Yet another int/Lisp_Object
3113 mixup (YAILOM).
aac0c6e3
MR
3114
31152008-08-30 Glenn Morris <rgm@gnu.org>
3116
3117 * data.c (Fmake_variable_frame_local): Doc fix.
3118
3119 * frame.c (Fmodify_frame_parameters): Doc fix.
3120
31212008-08-30 Eli Zaretskii <eliz@gnu.org>
3122
3123 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
3124 needed by GetTokenInformation.
3125 (w32_system_process_attributes): Check return values of all system
3126 APIs.
3127
3128 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
3129 only when the state changes.
3130 (IT_update_begin, IT_update_end): Add termscript trace.
3131
3132 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
3133 clipboard is unavailable. Set dst to NULL if it doesn't point to
3134 malloc'ed data.
3135 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
3136 passing random values to xfree.
3137
3138 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 3139 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
3140
31412008-08-29 Jason Rumney <jasonr@gnu.org>
3142
3143 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
3144
31452008-08-29 Eli Zaretskii <eliz@gnu.org>
3146
3147 * composite.c (fill_gstring_body): Avoid compiler warnings.
3148
3149 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
3150 LGLYPH_SET_CODE to avoid compiler warnings.
3151
2ae37cf0 3152 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
3153
3154 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
3155
3156 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
3157 LGLYPH_SET_CODE.
3158
31592008-08-29 Kenichi Handa <handa@m17n.org>
3160
3161 * fileio.c (report_file_error): Don't downcase the first character
3162 of errstring if it is still unibyte.
3163
31642008-08-29 Kenichi Handa <handa@m17n.org>
3165
3166 These changes are to re-implement the automatic composition so
3167 that it doesn't use text properties.
3168
3169 * Makefile.in (ftfont.o): Depend on composite.h.
3170 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
3171
3172 * character.h (Vunicode_category_table): Extern it.
3173
3174 * character.c (Vunicode_category_table): New variable.
3175 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
3176
3177 * chartab.c (optimize_sub_char_table): Perform more greedy
3178 optimization.
3179
b8ff72fa
SM
3180 * composite.h (enum composition_method):
3181 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
3182 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
3183 (Vcomposition_function_table): Extern it.
3184 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
3185 (composition_gstring_put_cache, composition_gstring_from_id)
3186 (composition_gstring_p, composition_gstring_width)
3187 (composition_compute_stop_pos, composition_reseat_it)
3188 (composition_update_it, composition_adjust_point): Extern them.
3189 (Fcomposition_get_gstring): EXFUN it.
3190
d66c0241 3191 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
3192 (Vcomposition_function_table)
3193 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
3194 (gstring_hash_table, gstring_work, gstring_work_headers):
3195 New variables.
aac0c6e3
MR
3196 (gstring_lookup_cache, composition_gstring_put_cache)
3197 (composition_gstring_from_id, composition_gstring_p)
3198 (composition_gstring_width, fill_gstring_header)
3199 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
3200 (composition_reseat_it, composition_update_it)
b8ff72fa 3201 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
3202 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
3203 and gstring_work_headers. DEFVAR_LISP composition-function-table.
3204 Defsubr compostion_get_gstring.
3205
3206 * dispextern.h (struct glyph): New union u.cmp. Delete the member
3207 cmp_id.
3208 (struct glyph_string): Delete the member gidx. New members
3209 cmp_id, cmp_from, and cmp_to.
3210 (enum it_method): Delete GET_FROM_COMPOSITION.
3211 (struct composition_it): New struct.
3212 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
3213 Delete c, len, cmp_id, cmp_len in u.comp.
3214
3215 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 3216 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 3217 (enum lglyph_indices): Likewise.
b8ff72fa 3218 (font_range): Adjust extern.
aac0c6e3
MR
3219 (font_fill_lglyph_metrics): Extern it.
3220
3221 * font.c (QCf): New variable.
3222 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3223 (font_prepare_composition): Delete this function.
3224 (font_range): Type and arguments changed.
3225 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
3226 (font_fill_lglyph_metrics): New function.
b8ff72fa 3227 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 3228 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
3229 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
3230 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
3231
3232 * fontset.h (font_for_char): Extern it.
3233
3234 * fontset.c (font_for_char): New function.
3235
3236 * ftfont.c: Include composite.h.
3237 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 3238 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
3239
3240 * indent.c: Include composite.h and dispextern.h.
3241 (check_composition): Delete this function.
3242 (scan_for_column): Handle composition by
3243 composition_compute_stop_pos, composition_reseat_it, and
3244 composition_update_it.
3245 (compute_motion): Likewise.
3246 (Fvertical_motion): Fix checking of composition.
3247
3248 * keyboard.c (adjust_point_for_property): Check composition by
3249 composition_adjust_point.
3250
b8ff72fa 3251 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
3252 struct glyph_string.
3253
b8ff72fa
SM
3254 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3255 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
3256 struct glyph.
3257 (produce_composite_glyph): Likewise.
3258
b8ff72fa
SM
3259 * w32term.c (x_draw_composite_glyph_string_foreground):
3260 Adjust for the change of struct glyph_string.
aac0c6e3
MR
3261 (x_draw_glyph_string): Likewise.
3262
3263 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3264 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3265
3266 * xdisp.c: Include font.h.
3267 (it_props): Delete the entry for Qauto_composed.
3268 (init_iterator): Initialize it->cmp_it.id to -1.
3269 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 3270 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
3271 (handle_auto_composed_prop): Delete it.
3272 (handle_composition_prop): Handle only static composition.
3273 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3274 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 3275 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
3276 (pop_it): Likewise.
3277 (get_next_element): Delete next_element_from_composition.
3278 (CHAR_COMPOSED_P): New macro.
3279 (get_next_display_element): For automatic composition, get a face
3280 from the font in the glyph-string.
3281 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 3282 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
3283 (next_element_from_string): Check if the character at the current
3284 position is composed by CHAR_COMPOSED_P.
3285 (next_element_from_buffer): Likewise.
d66c0241
JB
3286 (next_element_from_composition): Adjust for the change of struct it.
3287 Update it->cmp_it.
b8ff72fa
SM
3288 (dump_glyph): Adjust for the change of struct glyph.
3289 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
3290 it and struct glyph. Don't handle automatic composition here.
3291 (fill_gstring_glyph_string): New function.
3292 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 3293 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
3294 (BUILD_GSTRING_GLYPH_STRING): New macro.
3295 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3296 automatic composition.
b8ff72fa 3297 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 3298 struct glyph.
b8ff72fa 3299 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 3300
b8ff72fa 3301 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
3302 the change of struct glyph_string.
3303 (x_draw_glyph_string): Likewise.
3304
33052008-08-29 Glenn Morris <rgm@gnu.org>
3306
3307 * buffer.c (word-wrap): Doc fix.
3308 * xdisp.c (truncate-partial-width-windows): Doc fix.
3309 Increase default to 50.
3310
33112008-08-29 Chong Yidong <cyd@stupidchicken.com>
3312
3313 * xdisp.c (update_tool_bar_unwind): New function.
3314 (update_tool_bar): Temporarily set selected frame before building
3315 tool-bar items.
3316
33172008-08-28 Michael Albinus <michael.albinus@gmx.de>
3318
3319 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3320 snprintf, respectively.
3321 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3322
33232008-08-28 Chong Yidong <cyd@stupidchicken.com>
3324
3325 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3326 LDFLAGS to GNUstep CC invocation.
3327
33282008-08-27 Chong Yidong <cyd@stupidchicken.com>
3329
3330 * indent.c (Fvertical_motion): Revert last change. Handle the
3331 general case where we are moving forward, and PT spans multiple
3332 screen lines.
3333
3334 * eval.c (find_handler_clause): Temporarily increase
3335 max-lisp-eval-depth while printing the backtrace buffer, to
3336 guarantee that help-mode code can run.
3337
33382008-08-27 Eli Zaretskii <eliz@gnu.org>
3339
3340 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3341 colors under -rv.
3342 (IT_set_frame_parameters): Don't swap foreground and background
3343 colors if `(reverse . t)' is present in the frame properties.
3344 (internal_terminal_init): Call init_frame_faces only for the
3345 initial frame.
3346
33472008-08-27 Andreas Schwab <schwab@suse.de>
3348
3349 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3350
33512008-08-27 Andreas Schwab <schwab@suse.de>
3352
3353 * search.c (search_buffer): Set char_base to zero only at the end.
3354
33552008-08-27 Kenichi Handa <handa@m17n.org>
3356
b8ff72fa 3357 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
3358
33592008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
3360
3361 * xterm.c (x_term_init): Temporarily hide the partially
3362 initialized terminal while calling vendor-specific-keysyms.
3363
33642008-08-26 Eli Zaretskii <eliz@gnu.org>
3365
3366 * msdos.c (internal_terminal_init): Most initializations done only
3367 once, especially initial_screen_colors[] and termscript open.
3368
33692008-08-26 Chong Yidong <cyd@stupidchicken.com>
3370
3371 * eval.c (Fcondition_case): Doc fix.
3372
3373 * widgetprv.h (EmacsFramePart): Change font member to the new font
3374 struct.
3375
3376 * widget.c: Include character.h and font.h for XSETFONT.
3377 (setup_frame_gcs): Compute X font id from font struct, just once.
3378
33792008-08-26 Eli Zaretskii <eliz@gnu.org>
3380
3381 * term.c (get_named_tty): Fix last change.
3382
33832008-08-26 Chong Yidong <cyd@stupidchicken.com>
3384
3385 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 3386 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
3387
33882008-08-25 Eli Zaretskii <eliz@gnu.org>
3389
3390 * frame.c (do_switch_frame): Mark previously displayed frame as
3391 obscured for FRAME_MSDOS_P frames as well.
3392
33932008-08-24 Eli Zaretskii <eliz@gnu.org>
3394
3395 * frame.c (make_terminal_frame): Initialize f->terminal,
3396 f->terminal->reference_count, and scroll bars on MS-DOS as well.
3397 Set the top frame to newly created frame.
3398 (Fmake_terminal_frame): Reuse the_only_display_info.
3399
3400 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
3401 estimating available memory.
3402
b97439ce 34032008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
3404
3405 * nsterm.m (ns_draw_window_cursor): Don't call
3406 NSDisableScreenUpdates and NSEnableScreenUpdates on
3407 non-NS_IMPL_COCOA systems.
3408
34092008-08-23 Andreas Schwab <schwab@suse.de>
3410
3411 * process.c (procfs_system_process_attributes): Fix use of
3412 uninitialized variables.
3413
34142008-08-23 Eli Zaretskii <eliz@gnu.org>
3415
3416 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
3417
3418 * dispnew.c (init_display): Remove MS-DOS specific conditions for
3419 calling tty-set-up-initial-frame-faces.
3420
b8ff72fa
SM
3421 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
3422 Allow MSDOS frames along with X frames.
aac0c6e3
MR
3423
3424 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
3425 addition to output_termcap.
3426
3427 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
3428
3429 * termchar.h (FRAME_TTY): Support output_msdos_raw.
3430 (struct tty_display_info) [MSDOS]: Add fields related to mouse
3431 highlight.
3432
3433 * process.c [!subprocesses]: Define QCname.
3434 (syms_of_process): Intern and staticpro it.
3435
3436 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
3437 Adjust for changes in encoding/decoding routines.
3438 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
3439 encode_coding and decode_coding.
3440
b8ff72fa 3441 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
3442
3443 * dosfns.c: Include frame.h before termhooks.h.
3444 (dos_cleanup): Use CURTTY ()->termscript instead of a global
3445 variable termscript.
3446
3447 * s/msdos.h (USER_FULL_NAME): Define.
3448 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
3449
3450 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
3451 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
3452 pw->pw_gecos.
3453
3454 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
3455 SELECTED_FRAME as additional (1st) argument.
3456 (tty_read_avail_input): Handle output_msdos_raw in
3457 addition to output_termcap.
3458
3459 * msdos.c: Include frame.h before termhooks.h.
3460 (mouse_on, mouse_off, mouse_moveto, mouse_init)
3461 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
3462 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
3463 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
3464 (IT_set_terminal_modes, IT_reset_terminal_modes)
3465 (IT_set_frame_parameters): Use tty->termscript instead of a global
3466 variable termscript.
3467 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
3468 global variable terminal_coding. Don't refer to
3469 Vnonascii_translation_table.
3470 (internal_terminal_init): Set Vwindow_system in current_kboard.
3471 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
3472 Announce date and time of session start, if termscript is open.
3473 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
3474 term.c:init_tty). Open termscript only of not already open.
3475 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
3476 here instead of dos_ttraw. Don't initialize display if this is an
3477 initial tty. Don't set FRAME_FONT.
3478 (Vwindow_system_version): Bump to 23.
3479 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
3480 is available, set up mouse_position_hook.
3481 (dos_ttraw, IT_set_terminal_modes): If called with initial
3482 terminal, do nothing.
3483 (IT_set_frame_parameters): Handle the Qtty_type frame
3484 parameter by calling internal_terminal_init.
3485 (dos_set_window_size, show_mouse_face)
3486 (clear_mouse_face, IT_note_mode_line_highlight)
3487 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
3488 (dos_rawgetc): Use tty_display_info instead of x_display_info.
3489 (initialize_msdos_display): New function.
3490 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
3491 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
3492 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
3493 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 3494 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
3495 (request_sigio, unrequest_sigio): Don't define, now defined on
3496 sysdep.c.
3497 (IT_write_glyphs): Rewrite to use encode_terminal_code.
3498
3499 * term.c [MSDOS]: Include msdos.h.
3500 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
3501 conditional to DOS_NT. Allow only one call to this function in a
3502 session. Don't allocate a new struct tty_display_info; instead,
3503 reuse the_only_display_info. Call get_tty_size to get screen
3504 dimensions. Call init_baud_rate to set bad_rate.
3505 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
3506 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 3507 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
3508 (get_tty_terminal, get_named_tty, Ftty_type)
3509 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
3510 output_termcap.
b8ff72fa
SM
3511 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
3512 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 3513 only when subprocesses are supported.
aac0c6e3
MR
3514
3515 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
3516 f->output_data.x.
3517 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
3518 terminal devices.
3519
5582fbc7 3520 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
3521 x_output.
3522 (FRAME_FONT): Use output_data.tty.
3523 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
3524 (struct x_display_info): Rename from display_info. Update all users in
3525 msdos.c.
aac0c6e3 3526 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 3527 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
3528 (dos_ttraw): Update prototype.
3529
3530 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
3531 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
3532
35332008-08-23 Jason Rumney <jasonr@gnu.org>
3534
3535 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
3536 (fn_TIFFSetDirectory): New library function used.
3537 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
3538 (tiff_load): Use :index to select among multiple images. Set count
3539 property when multiple images exist.
3540 (gif_format): Use :index, not :image.
3541
35422008-08-23 Chong Yidong <cyd@stupidchicken.com>
3543
3544 * xdisp.c (try_scrolling): Check INT_MAX instead of
3545 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
3546 to obtain INT_MAX.
3547
35482008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
3549
3550 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
3551
35522008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
3553
3554 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
3555 GNUstep library location.
3556
35572008-08-21 Chong Yidong <cyd@stupidchicken.com>
3558
3559 * xfaces.c (x_update_menu_appearance): Check validity of menu font
3560 before using it.
3561
3562 * puresize.h (BASE_PURESIZE): Increase to 1250000.
3563
35642008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3565
3566 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
3567 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
3568 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
3569 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
3570 (EmacsApp-cursor_blink_handler): Remove declaration.
3571 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
3572 match 01 Feb 2008 changes in xterm.c.
3573 (ns_read_socket): Add cast to avoid warning.
3574 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
3575 GNUstep.
3576
35772008-08-20 Chong Yidong <cyd@stupidchicken.com>
3578
3579 * xselect.c (x_get_foreign_selection): Return nil if desired
3580 selection could not be obtained, instead of signalling an error.
3581
35822008-08-20 David Reitter <david.reitter@gmail.com>
3583
3584 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
3585 * nsterm.m: Remove ns-specific code for cursor blinking.
3586 (ns_draw_window_cursor): Clear cursor properly rather than
3587 redrawing the area. Respect width of bar cursors.
3588 These changes enable the use of generic blink-cursor-mode and
3589 generic cursor types in NS and support smooth cursor movements (do
3590 not blink off after command).
3591 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
3592 Nextstep, too.
3593
35942008-08-19 Kenichi Handa <handa@m17n.org>
3595
3596 * font.c (Vfont_log_deferred): New variable.
3597 (font_add_log): Check Vfont_log_deferred.
3598 (font_deferred_log): New function.
3599
3600 * font.h (font_deferred_log): Extern it.
3601
3602 * fontset.c (reorder_font_vector): Use encoding charset of fonts
3603 for sorting.
3604 (face_for_char): Use deferred log.
3605
36062008-08-18 Kenichi Handa <handa@m17n.org>
3607
3608 * fontset.c (face_for_char): Add font log.
3609
3610 * font.c (font_add_log): Add the font properties :script, :lang,
3611 and :otf in the log.
3612
36132008-08-17 Chong Yidong <cyd@stupidchicken.com>
3614
3615 * xdisp.c: Remove dead code.
3616 (handle_invisible_prop, next_overlay_string): Defer call to
3617 setup_for_ellipsis.
3618 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
3619
36202008-08-15 Chong Yidong <cyd@stupidchicken.com>
3621
3622 * xfaces.c (lookup_derived_face): Properly handle possible zero
3623 return value of get_lface_attributes.
3624 (merge_faces): Don't tell lookup_derived_face to signal an error
3625 if face is not found.
3626
3627 * dired.c (Fdirectory_files): Doc fix.
3628
3629 * process.c (make_process): Initialize kill_without_query struct
3630 member.
3631
36322008-08-15 Eli Zaretskii <eliz@gnu.org>
3633
3634 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
3635 Alternative calculation of totphys for Visual Studio 6.
3636
3637 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
3638
3639 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
3640 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
3641 All users changed.
3642 (stat): Only root directory passed to GetDriveType. Allow RAM
3643 disk as well as local fixed disk when w32-get-true-file-attributes
3644 is set to `local'.
3645 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
3646 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
3647 (w32_cached_id, w32_add_to_cache): New functions.
3648 (get_name_and_id): Look account names in the cache before calling
3649 lookup_account_sid.
3650 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
3651 New initialization flags.
3652 (globals_of_w32): Initialize them to zero.
3653 (w32_system_process_attributes): Use w32_cached_id and
3654 w32_add_to_cache.
3655
36562008-08-14 Lawrence Mitchell <wence@gmx.li>
3657
3658 * lread.c (Fread_char, Fread_char_exclusive): If no character
3659 event is read before timeout is reached, return nil, rather than
3660 converting to a number.
3661
36622008-08-14 Chong Yidong <cyd@stupidchicken.com>
3663
3664 * fns.c (use_dialog_box): Doc fix.
3665
3666 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
3667 on OS X.
3668
36692008-08-13 Chong Yidong <cyd@stupidchicken.com>
3670
3671 * frame.c (Qns_parse_geometry): New var.
3672 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3673
36742008-08-11 Chong Yidong <cyd@stupidchicken.com>
3675
3676 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3677 space character in calculating tabs.
3678
36792008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3680
3681 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3682
36832008-08-10 Glenn Morris <rgm@gnu.org>
3684
3685 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3686 silence gcc "limited range of data type" warnings in some
3687 make_fixnum_or_float calls.
3688
36892008-08-09 Eli Zaretskii <eliz@gnu.org>
3690
3691 * w32.c (w32_system_process_attributes): If the process does not
3692 exist, return nil.
3693
3694 * w32.c: Include thelp32.h, psapi.h and coding.h.
3695 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3696 declarations.
3697 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3698 (Process32Next_Proc): New typedefs.
3699 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3700 (g_b_init_process32_next, g_b_init_open_thread_token)
3701 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3702 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3703 (g_b_init_get_process_working_set_size)
3704 (g_b_init_global_memory_status_ex): New static variables.
3705 (globals_of_w32): Initialize them.
3706 (create_toolhelp32_snapshot, process32_first, process32_next)
3707 (open_thread_token, impersonate_self, revert_to_self)
3708 (get_process_memory_info, get_process_working_set_size)
3709 (global_memory_status, global_memory_status_ex): New wrapper
3710 functions.
3711 (w32_list_system_processes, w32_system_process_attributes)
3712 (enable_privilege, restore_privilege, ltime, process_times):
3713 New functions.
3714 (convert_time_raw): New function.
3715 (convert_time): Remove conversion of FILETIME into time in 100
3716 nsec units, call convert_time_raw instead.
3717
3718 * process.h (w32_list_system_processes, w32_system_process_attributes):
3719 Add prototypes.
3720 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3721 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3722 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3723 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3724
3725 * process.c (Fsystem_process_attributes): Doc fix.
3726
37272008-08-08 Chong Yidong <cyd@stupidchicken.com>
3728
3729 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3730 a continued multi-char glyph; if so, advance to the actual glyph.
3731
37322008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3733
3734 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3735
3736 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3737 (.m.o): Use it.
3738 * config.in: Regenerate.
3739
37402008-08-07 Chong Yidong <cyd@stupidchicken.com>
3741
3742 * xdisp.c (redisplay_window): Revert last change.
3743 (try_window): Check bottom scroll margin too.
3744
37452008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3746
3747 * config.in: Regenerate.
3748
3749 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3750 -list-load-path-shadows'.
3751 (nsgui.h): Reduce number of things depending on it.
3752
37532008-08-06 Chong Yidong <cyd@stupidchicken.com>
3754
3755 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3756 instead of window-end which does the wrong thing at eob.
3757 (try_cursor_movement): Minor optimization.
3758 (redisplay_window): If scroll margin is defined, don't assume
3759 window doesn't need scrolling.
3760
37612008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3762
3763 * config.in: Regenerate.
3764
3765 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3766 (mostlyclean): Don't delete *.d under NS.
3767
3768 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3769
37702008-08-06 Kenichi Handa <handa@m17n.org>
3771
3772 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3773
37742008-08-06 Andreas Schwab <schwab@suse.de>
3775
3776 * config.in: Regenerate.
3777
37782008-08-05 Chong Yidong <cyd@stupidchicken.com>
3779
3780 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3781 forcing a window start.
3782
3783 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3784 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3785
37862008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3787
3788 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3789 argument.
3790
37912008-08-05 Juanma Barranquero <lekktu@gmail.com>
3792
3793 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3794 <scroll-down-aggressively, before-change-functions>:
3795 <after-change-functions>: Reflow docstrings.
3796
37972008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3798 Ken Raeburn <raeburn@gnu.org>
3799
3800 Dock menu customization, based on a patch by Ken Raeburn, plus some
3801 other fixes.
3802 * nsmenu.m (dockMenu): New variable.
3803 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3804
3805 * nsterm.h (dockMenu): Declare.
3806
3807 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3808 (ns_term_init): Initialize dockMenu.
3809 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3810 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3811 left.
3812
3813 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3814
38152008-08-04 Chong Yidong <cyd@stupidchicken.com>
3816
3817 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3818
3819 * config.in: Regenerate.
3820
38212008-08-04 Seiji Zenitani <zenitani@mac.com>
3822
3823 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3824
38252008-08-04 Chong Yidong <cyd@stupidchicken.com>
3826
3827 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3828
38292008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3830
3831 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3832
3833 * keyboard.h: Comment an #endif.
3834
3835 * lisp.h (have_menus_p): Adjust comment.
3836
3837 * menu.c (find_and_return_menu_selection): Fix comparison with
3838 client_data.
3839
3840 * nsmenu.m (popup_activated_flag): New variable.
3841 (popup_activated): New function.
3842 (menu-or-popup-active-p): New exported lisp definition.
3843 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3844 when popup done.
3845 (ns_popup_dialog): Set popup_activated_flag.
3846
3847 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3848 version for GNUstep (handled by conditional typedef in nsterm.m).
3849 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3850 in rgb.txt).
3851
3852 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3853
3854 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3855
3856 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3857
3858 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3859 shortcircuit if popup_activated like GTK and X toolkit.
3860
3861 * m/inter386.h: Change DARWIN to DARWIN_OS.
3862
3863 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3864 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3865 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3866 comment on NO_SOCK_SIGIO.
3867
38682008-08-03 Chong Yidong <cyd@stupidchicken.com>
3869
3870 * nsterm.m (windowDidResize): Remove stopModal call.
3871
38722008-08-03 Andreas Schwab <schwab@suse.de>
3873
3874 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3875 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3876
38772008-08-02 Chong Yidong <cyd@stupidchicken.com>
3878
3879 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3880 Don't use uninitialized pointer variable when using getrlimit.
3881
38822008-08-02 Jason Rumney <jasonr@gnu.org>
3883
3884 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3885
38862008-08-02 Eli Zaretskii <eliz@gnu.org>
3887
3888 * alloc.c (NSTATICS): Bump to 0x640.
3889
3890 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3891
3892 * lisp.h: Add prototype for directory_files_internal.
3893
3894 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3895 New functions.
3896 (syms_of_process): Defsubr them. Add initializations for various
3897 Q* symbols used in procfs_system_process_attributes.
3898 (procfs_list_system_processes, procfs_system_process_attributes)
3899 [HAVE_PROCFS]: New functions.
3900 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3901 (procfs_get_total_memory): New functions.
3902
39032008-08-01 Juanma Barranquero <lekktu@gmail.com>
3904
3905 * xfaces.c (Fx_load_color_file): Fix previous change;
3906 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3907
39082008-08-01 Michael Albinus <michael.albinus@gmx.de>
3909
3910 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3911
39122008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3913
3914 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3915
39162008-08-01 Chong Yidong <cyd@stupidchicken.com>
3917
3918 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3919
3920 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3921 define NSApplicationDelegateReplySuccess.
3922 (EmacsView -converstationIdentifier): Use long instead of
3923 NSInteger for GNUstep, since it doesn't have NSInteger.
3924
3925 * xmenu.c: Revert last change.
3926
3927 * keyboard.h: Fix last change.
3928
39292008-08-01 Juanma Barranquero <lekktu@gmail.com>
3930
3931 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3932 on Windows.
3933
39342008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3935
3936 Warning clearing and clean-up in NS port.
3937 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3938 Add prototypes.
3939 * nsgui.h (FACE_DEFAULT): Remove, unused.
3940 (XGCValues): Change colors to unsigned long.
3941 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3942 nsterm.m.
3943 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3944 (ns_list_fonts): Remove, unused.
3945 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3946 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3947 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3948 (nsfont_draw): Compare face colors to 0, not nil.
3949 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3950 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3951 (-addSubmenuWithTitle:): Use NSMenuItem class.
3952 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3953 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3954 (ns_clip_to_row): Make gc arg a BOOL.
3955 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3956 ns_clip_to_row() call.
3957 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3958 used). Cast FRAME_FONT assignments.
3959 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3960 (ns_string_to_lispmod): Change arg to const char.
3961 (ns_term_init): Use NSMenuItem class.
3962 (EmacsApp -openFile:): Move to different section of file.
3963 (EmacsApp -application:openFiles:): Don't return a value, call
3964 -replyToOpenOrPrint:.
3965 (EmacsView -keyDown:): Fix up cast.
3966 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3967 (EmacsView -menuDown:): Cast tag in call to
3968 find_and_call_menu_selection().
3969 (ns_list_fonts): Remove, unused.
3970 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3971 (ns_fontname_to_xlfd): Make static.
3972 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3973 Remove prototypes (now in keyboard.h).
3974 (next_menubar_widget_id): Remove, unused.
3975 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3976 Remove prototypes (now in keyboard.h).
3977 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3978
39792008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3980
3981 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3982 (floatfns.o): Depend on syssignal.h.
3983 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3984
3985 * systty.h: Fix previous change that removed BSD_TERMIOS.
3986 Add comments to #ifdefs.
3987
39882008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3989
3990 * w32fns.c (w32-load-color-file): Remove.
3991 (x-open-connection): Use renamed Fx_load_color_file.
3992 * xfaces.c (x-load-color-file): Add.
3993 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3994 Emacs.clr.
3995 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3996
39972008-07-31 Michael Albinus <michael.albinus@gmx.de>
3998
3999 * dbusbind.c (Fdbus_call_method_asynchronously)
4000 (Fdbus_method_error_internal): New defuns.
4001 (xd_read_message): Handle also reply messages.
4002 (Vdbus_registered_functions_table): Extend docstring.
4003
40042008-07-31 Juanma Barranquero <lekktu@gmail.com>
4005
4006 * keyboard.c (gobble_input): Fix previous change.
4007
40082008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4009
4010 * bitmaps/README:
4011 * xfns.c:
4012 * termcap.c:
4013 * term.c:
4014 * syswait.h:
4015 * systty.h:
4016 * systime.h:
4017 * syssignal.h:
4018 * sysdep.c:
4019 * process.h:
4020 * process.c:
4021 * print.c:
4022 * ndir.h:
4023 * lread.c:
4024 * keyboard.c:
4025 * getpagesize.h:
4026 * floatfns.c:
4027 * fileio.c:
4028 * emacs.c:
4029 * doc.c:
4030 * dispnew.c:
4031 * dired.c:
4032 * data.c:
4033 * callproc.c:
4034 * buffer.c:
4035 * README:
4036 * Makefile.in:
4037 * s/template.h:
4038 * s/msdos.h:
4039 * m/vax.h: Remove VMS support.
4040 * s/vms.h:
4041 * vlimit.h:
4042 * uaf.h:
4043 * temacs.opt:
4044 * param.h:
4045 * ioctl.h: Remove file.
4046
40472008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
4048
4049 * s/ms-w32.h (MULTI_KBOARD): Remove.
4050 * xterm.c:
4051 * xselect.c:
4052 * xfns.c:
4053 * window.c:
4054 * w32term.c:
4055 * w32fns.c:
4056 * terminal.c:
4057 * termhooks.h:
4058 * term.c:
4059 * sysdep.c:
4060 * keyboard.h:
4061 * keyboard.c:
4062 * frame.h:
4063 * frame.c:
4064 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
4065 * config.in: Regenerate.
4066
40672008-07-30 Jason Rumney <jasonr@gnu.org>
4068
4069 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
4070
4071 * w32font.c (w32font_encode_char): Leave as unicode if in range.
4072 (w32font_open_internal): Get unicode version of textmetrics.
4073 Don't enable or disable glyph indices here.
4074 (w32font_open): Disable use of glyph indices.
4075
4076 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
4077
40782008-07-30 Chong Yidong <cyd@stupidchicken.com>
4079
4080 * minibuf.c (Vread_buffer_function): Doc fix.
4081
40822008-07-30 John Paul Wallington <jpw@pobox.com>
4083
4084 * minibuf.c (read_buffer_completion_ignore_case): New var.
4085 (Fread_buffer): Use it.
4086
40872008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
4088
4089 * systty.h (sensemode): Remove empty #if. Remove reference to
4090 BSD_TERMIOS, unused.
4091
4092 * sysdep.c: Remove reference to DGUX.
4093 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
4094
4095 * config.in: Regenerate.
4096
40972008-07-30 Jason Rumney <jasonr@gnu.org>
4098
4099 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
4100
41012008-07-29 Jason Rumney <jasonr@gnu.org>
4102
4103 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
4104 is populated.
4105 (uniscribe_encode_char): Always use uniscribe.
4106 Avoid using context if cache is populated.
4107
41082008-07-29 Jan Djärv <jan.h.d@swipnet.se>
4109
4110 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
4111 open menu.
4112
4113 * gtkutil.c (menu_nav_ended): Remove.
4114 (create_menus): Remove signal connect for menu_nav_ended.
4115
41162008-07-28 Chong Yidong <cyd@stupidchicken.com>
4117
4118 * xdisp.c (redisplay_window): Check return value of
4119 compute_window_start_on_continuation_line before forcing a window
4120 start.
4121
41222008-07-28 Jason Rumney <jasonr@gnu.org>
4123
4124 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
4125
4126 * w32term.c (w32_enable_unicode_output, cleartype_active):
4127 Remove obsolete display options.
4128 (x_draw_glyph_string_background): Don't use old cleartype_active
4129 workaround.
4130 (w32_initialize): Remove cleartype_active initialization.
4131 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
4132
41332008-07-28 Andreas Schwab <schwab@suse.de>
4134
4135 * lisp.h (init_weak_hash_tables, syms_of_font)
4136 (xd_read_queued_messages, syms_of_dbusbind): Declare.
4137 (remove_hash_entry): Don't declare.
4138 * eval.c (maybe_call_debugger): Make static and move before use.
4139 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
4140 * xdisp.c: Include "gtkutil.h" if USE_GTK.
4141 * xterm.h (x_set_frame_alpha): Declare.
4142
41432008-07-28 Jan Djärv <jan.h.d@swipnet.se>
4144
4145 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
4146 (create_menus): Connect selection-done to menu_nav_ended.
4147
41482008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4149
4150 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
4151 Set Vx_resource_name to a fallback. Replace read of 'buffered'
4152 parameter with read of 'alpha' one.
4153 (Qns_frame_parameter): Remove.
5582fbc7 4154 * nsselect.m (selection-coding-system)
aac0c6e3
MR
4155 (next-selection-coding-system, Vselection_coding_system)
4156 (Vnext_selection_coding_system): Drop.
4157
41582008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4159
4160 * nsfns.m (do-applescript, do_applescript): Rename to
4161 ns-do-applescript, ns_do_applescript, and move within file.
4162
41632008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
4164
4165 Remove support for Mac Carbon.
4166 * mactoolbox.c:
4167 * macterm.h:
4168 * macterm.c:
4169 * macselect.c:
4170 * macmenu.c:
4171 * macgui.h:
4172 * macfns.c:
4173 * mac.c: Remove file.
4174 * s/darwin.h:
4175 * m/intel386.h:
4176 * xfaces.c:
4177 * xdisp.c:
4178 * window.c:
4179 * tparam.c:
4180 * termhooks.h:
4181 * termcap.c:
4182 * term.c:
4183 * syssignal.h:
4184 * sysselect.h:
4185 * sysdep.c:
4186 * process.c:
4187 * lread.c:
4188 * lisp.h:
4189 * keyboard.c:
4190 * image.c:
4191 * fringe.c:
4192 * frame.h:
4193 * frame.c:
4194 * fontset.c:
4195 * font.h:
4196 * font.c:
4197 * fns.c:
4198 * fileio.c:
4199 * emacs.c:
4200 * dispnew.c:
4201 * dispextern.h:
4202 * config.in:
4203 * atimer.c:
2ae37cf0 4204 * Makefile.in: Remove code for Carbon.
aac0c6e3 4205
f0131492 42062008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
4207
4208 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
4209
42102008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4211
4212 * macterm.h (kCGBitmapByteOrder32Host): New define for
4213 non-universal SDKs.
4214
4215 * image.c (mac_create_cg_image_from_image, image_load_image_io)
4216 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4217
4218 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
4219 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
4220
42212008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
4222
4223 * w32inevt.c: Include dispextern.h.
4224
42252008-07-26 Andreas Schwab <schwab@suse.de>
4226
4227 * print.c (print_object): Fix off-by-one in last change.
4228
42292008-07-25 Juanma Barranquero <lekktu@gmail.com>
4230
4231 * term.c (syms_of_term): Don't initialize default_orig_pair,
4232 default_set_foreground and default_set_background on Windows.
4233
42342008-07-25 Jason Rumney <jasonr@gnu.org>
4235
4236 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
4237 ScriptItemize. Clean up return value checking. Remove unused
4238 variables.
4239 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
4240 shaping engine.
4241
4242 * w32font.c (w32font_has_char): Handle the case where we can't
4243 determine the script for a character.
4244
42452008-07-25 Chong Yidong <cyd@stupidchicken.com>
4246
4247 * term.c (syms_of_term): Initialize default_orig_pair,
4248 default_set_foreground, and default_set_background.
4249
4250 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4251 clash (bug#86).
4252 (getloadavg): Callers changed.
4253
4254 * image.c (svg_load_image): Fix last change.
4255 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4256 image size is valid. Use g_object_unref instead of deprecated
4257 rsvg_handle_free to free rsvg handle.
4258 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4259
42602008-07-25 Jason Rumney <jasonr@gnu.org>
4261
4262 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4263 surrogates before looking up glyph index.
4264 (w32font_text_extents): Encode as surrogates if falling back to
4265 functions that need UTF-16 wide chars.
4266
4267 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4268 BMP as surrogates before looking up glyph index.
4269
42702008-07-25 Chong Yidong <cyd@stupidchicken.com>
4271
4272 * image.c (svg_load_image): Check for failure in return value of
4273 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4274
42752008-07-25 Jason Rumney <jasonr@gnu.org>
4276
4277 * w32font.c (Fx_select_font): Reverse sense of second arg.
4278
42792008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4280
4281 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4282 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4283
4284 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4285 (PURESIZE): Use it.
4286
42872008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4288
4289 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4290 * m/alpha.h (TEXT_END):
4291 * m/ibmrs6000.h (TEXT_END):
4292 * m/macppc.h (TEXT_END):
4293 * s/darwin.h (TEXT_END):
4294 * s/msdos.h (TEXT_END): Remove, unused.
4295 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4296 * s/cygwin.h: Remove comment.
4297
4298 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4299 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4300 * m/intel386.h (DOT_GLOBAL_START):
4301 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4302 (USG): Remove, file not used on USG platforms.
4303
4304 * Makefile.in (HAVE_X11): Remove empty #else.
4305
43062008-07-24 Andreas Schwab <schwab@suse.de>
4307
4308 * fileio.c (Finsert_file_contents): Properly adjust undo list
4309 after format conversion.
4310
43112008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4312
4313 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4314 (menu_nav_ended): Remove.
4315 (create_menus): Remove signal connect for menu_nav_ended.
4316 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4317 create_menus.
4318 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4319
43202008-07-23 Jason Rumney <jasonr@gnu.org>
4321
4322 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4323 with opened font.
4324 (w32font_open): Set font type to gdi.
4325
4326 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4327
43282008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4329
4330 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4331 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4332 defines it.
4333 * unexec.c (ADDR_CORRECT): Define unconditionally.
4334
4335 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4336
4337 * unexec.c: Remove code depending on !COFF and USG, the file is
4338 not used for such systems.
4339
4340 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4341 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4342 (LD_SWITCH_SYSTEM_1): Remove, update users.
4343
4344 * s/darwin.h (DATA_END):
4345 * m/intel386.h (DATA_END):
4346 * m/ibmrs6000.h (DATA_END):
4347 * m/alpha.h (DATA_END): Remove, unused.
4348
4349 * config.in: Regenerate.
4350 * s/ms-w32.h (subprocesses): Define unconditionally.
4351 * s/template.h (subprocesses): Update comment.
4352 * s/vms.h (subprocesses):
4353 * s/usg5-4.h (subprocesses):
4354 * s/hpux10-20.h (subprocesses):
4355 * s/gnu-linux.h (subprocesses):
4356 * s/cygwin.h (subprocesses):
4357 * s/bsd-common.h (subprocesses):
4358 * s/aix4-2.h (subprocesses):
4359 * s/darwin.h (subprocesses): Do not define, defined by default now.
4360
4361 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
4362 Remove all references.
4363 (temacs): Add GNUstep specific ld flags.
4364
4365 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
4366 similarly to what X does.
4367
43682008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4369
4370 * nsfns.m (x-list-fonts): Remove.
4371 (syms_of_nsfns): Drop the x-list-fonts declaration.
4372 * nsterm.m: Get rid of remaining "//" comments.
4373
43742008-07-22 Chong Yidong <cyd@stupidchicken.com>
4375
4376 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4377
4378 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
4379 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
4380 (Fns_own_selection_internal, Fx_disown_selection_internal)
4381 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
4382
4383 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
4384 ... */' style of docstrings. Doc fixes.
4385
43862008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4387
4388 * terminfo.c (UP, BC, PC): Undo previous change.
4389
4390 * nsfns.m: Rename ns prefixed functions/variables to the
4391 corresponding x versions. Update references.
4392
43932008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
4394
4395 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
4396
43972008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4398
4399 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
4400 Remove forwarding functions.
4401 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
4402 non-static.
4403 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
4404 non-static.
4405 (ns_frame_parm_handlers): Use the new names.
4406 (syms_of_nsfns): Move to the end of file.
4407
4408 * nsterm.m (syms_of_nsterm): Move to the end of file.
4409
4410 * dispnew.c (init_display): Remove code for X10.
4411
44122008-07-22 Jason Rumney <jasonr@gnu.org>
4413
4414 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
4415 bare drive.
4416
44172008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4418
4419 * nsterm.m (syms_of_nsterm): Remove debugging println.
4420
44212008-07-22 David Reitter <david.reitter@gmail.com>
4422
4423 * nsfns.m (do_applescript, F_do_applescript): NS version of the
4424 Carbon implementation of the same functionality: execute arbitrary
4425 AppleScript code.
4426
44272008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
4428
4429 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
4430 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
4431 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
4432 (Fx_display_mm_height, Fx_display_mm_width)
4433 (Fx_display_backing_store, Fx_display_visual_class)
4434 (Fx_display_save_under, Fx_open_connection)
4435 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
4436 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
4437 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4438 (Fx_display_pixel_width, Fx_display_pixel_height)
4439 (Fx_display_usable_bounds, Fx_display_planes)
4440 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
4441 ... */' style of docstrings.
4442
44432008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
4444
4445 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
4446 on this platform.
4447 (mips):
4448 * m/iris4d.h (mips): Do not define.
4449 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
4450
4451 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
4452
4453 * image.c:
4454 * nsfns.m:
4455 * nsselect.m:
4456 * nsterm.h:
4457 * nsterm.m: Rename ns prefixed functions/variables to the
4458 corresponding x versions. Update references.
4459
4460 * m/ibms390x.h (NO_REMAP): Do not undefine.
4461
4462 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
4463
44642008-07-21 Chong Yidong <cyd@stupidchicken.com>
4465
4466 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
4467 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
4468 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
4469 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
4470 (Fns_display_mm_height, Fns_display_mm_width)
4471 (Fns_display_backing_store, Fns_display_visual_class)
4472 (Fns_display_save_under, Fns_open_connection)
4473 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
4474 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
4475 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4476 (Fns_display_pixel_width, Fns_display_pixel_height)
4477 (Fns_display_usable_bounds, Fx_display_planes)
4478 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
4479
44802008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
4481
4482 * print.c (print_object): Check print_depth before searching for
4483 circularities.
4484
44852008-07-21 Michael Albinus <michael.albinus@gmx.de>
4486
4487 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
4488 only sprintf.
4489
44902008-07-21 Kenichi Handa <handa@m17n.org>
4491
4492 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
4493
44942008-07-20 Andreas Schwab <schwab@suse.de>
4495
4496 * syntax.c (find_start_pos, find_start_value)
4497 (find_start_value_byte, find_start_begv, find_defun_start)
4498 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
4499
45002008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4501
4502 * s/sol2-3.h: Insert contents of s/sol2.h.
4503 (LD_SWITCH_SYSTEM): Remove redundant definition.
4504 * s/sol2.h: Remove, unused.
4505
45062008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4507
4508 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
4509
45102008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4511
4512 * Makefile.in (ns_appdir): Fix typo in find command.
4513
45142008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4515
4516 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
4517
4518 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
4519 added not supported anymore.
4520
4521 * s/usg5-4-2.h (LIBS_SYSTEM):
4522 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
4523
4524 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4525 * s/lynxos.h (GETPGRP_NO_ARG):
4526 * s/hpux10-20.h (NO_SIOCTL_H):
4527 * s/gnu.h (GETPGRP_NO_ARG):
4528 * s/gnu-linux.h (NO_SIOCTL_H):
4529 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4530 * s/cygwin.h (GETPGRP_NO_ARG):
4531 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
4532 (C_DEBUG_SWITCH): Remove duplicate definition.
4533
4534 * m/ibms390.h: Remove boilerplate comments.
4535
4536 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
4537
4538 * process.c (HAVE_SERIAL): Consolidate ifdefs.
4539 (wait_reading_process_output): Remove code for SunOS, platform not
4540 supported anymore. Use SOLARIS2 instead of sun.
4541
45422008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4543
4544 * font.c (font_open_by_name): Under NS, default lface height to zero.
4545 (font_open_for_lface): Under NS, set size based on frame fontsize.
4546 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
4547 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
4548
45492008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4550
4551 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
4552 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
4553 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
4554 YES/NO.
4555 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
4556 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
4557 * Makefile.in (clean): Clear out build destination dir.
4558
45592008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4560
4561 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
4562 xterm, xselect.
4563 * lisp.h: Remove declaration of hash_remove.
4564 * nsgui.h: Remove redefinitions of hash_remove.
4565 * fns.c (hash_remove): Rename to hash_remove_from_table.
4566
45672008-07-19 Seiji Zenitani <zenitani@mac.com>
4568
4569 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
4570 strdup() the family UTF8String before modifying it.
4571
45722008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4573
4574 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
4575 NS_FACE_BACKGROUND with 0 instead of nil.
4576 * nsfont.m (nsfont_draw): Same.
4577
45782008-07-19 Chong Yidong <cyd@stupidchicken.com>
4579
4580 * nsfns.m (ns_set_background_color): Fix crash.
4581
45822008-07-18 Chong Yidong <cyd@stupidchicken.com>
4583
4584 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
4585
45862008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
4587
4588 * puresize.h (BASE_PURESIZE): Increase to 1240000.
4589
45902008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4591
4592 * gtkutil.c: Include <config.h> instead of "config.h".
4593
4594 * lisp.h (Foverlay_buffer): Add EXFUN.
4595
4596 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
4597 child process to complete child_setup. Undo 2005-09-21 change.
4598
4599 * s/darwin.h: Mention setsid after vfork.
4600
46012008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4602
4603 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
4604 Depend on macgui.h.
4605
4606 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
4607 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
4608
4609 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
4610 and f19.
4611 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
4612
4613 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
4614 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
4615 Remove enumerators.
4616
4617 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
4618 Check if FACE_FROM_ID returns NULL.
4619
46202008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
4621
4622 * w32inevt.c (change_frame_size): Remove extern declaration.
4623 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
4624 change_frame_size.
4625
46262008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4627
4628 * getloadavg.c: Revert last change (2008-07-15).
4629
46302008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4631
4632 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
4633 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
4634 from configure.
4635
46362008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
4637
4638 * s/sol2.h:
4639 * s/sol2-4.h: Reorganize conditionals.
4640
4641 * ecrt0.c: Remove code depending on m68000, not used anymore.
4642
4643 * fns.c (hash_remove): Make static.
4644 * lisp.h (hash_remove): Don't prototype.
4645
4646 * m/ibmrs6000.h:
4647 * m/ibms390x.h:
4648 * m/macppc.h: Remove boilerplate comments.
4649
4650 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
4651 Solaris, which does not need them.
4652
4653 * m/vax.h: Remove comments about unsupported systems.
4654
4655 * s/darwin.h: Reorganize ifdefs.
4656
46572008-07-17 Andreas Schwab <schwab@suse.de>
4658
4659 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
4660
46612008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
4662
4663 Use SDATA. Follow coding convention of placing operators at
4664 beginning of next line rather than end of previous line, and placing
4665 spaces around infix operators.
4666
4667 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
4668 in case it was defined already.
4669 USE @GNUSTEP_MAKEFILES@ rather than envvars.
4670 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
4671 ns_default.
4672 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4673 Lisp_Objects.
4674 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4675 (ns_defined_color, ns_color_to_lisp): Declare.
4676 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4677 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4678 it's accepted even with USE_LISP_UNION_TYPE.
4679 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4680 (update_frame_tool_bar): Remove apparently obsolete tests for
4681 non-integerness of f->tool_bar_lines.
4682 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4683 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4684 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4685 (nsfont_open): Don't confuse NULL for Qnil.
4686 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4687 * menu.h (find_and_call_menu_selection):
4688 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4689 (find_and_return_menu_selection): Always return something.
4690 * frame.h: Include dispextern.h for Display_Info.
4691 (display_x_get_resource): Declare.
4692
46932008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4694
4695 * syntax.c: Remove stdio.h include accidentally introduced in
4696 Emacs.app commit.
4697 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4698 NS_IMPL_COCOA.
4699 * keyboard.c (handle_async_input, input_available_signal): Remove
4700 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4701
47022008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4703
4704 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4705 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4706 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4707 Use SDATA.
4708
4709 * keymap.c: Remove all NS-specific code.
4710 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4711 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4712 where_is_preferred_modifier, return a different value depending on how
4713 preferred is the binding.
4714 (where_is_internal): Adjust accordingly.
4715 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4716 Adjust to new preferred_sequence_p.
4717 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4718 * keyboard.c (parse_solitary_modifier): Not static any more.
4719 * keyboard.h (parse_solitary_modifier): Declare.
4720
47212008-07-16 Andreas Schwab <schwab@suse.de>
4722
4723 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4724 of easymenu.
4725
47262008-07-16 Chong Yidong <cyd@stupidchicken.com>
4727
4728 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4729 that we don't move off the line.
4730
47312008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4732
4733 * keyboard.c (Qsuper): Remove.
4734 (parse_menu_item): Don't call where_is_internal specially for NS.
4735
47362008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4737
4738 * s/gnu-linux.h: Remove boilerplate comments.
4739
4740 * m/alpha.h (__ELF__): Consolidate conditions.
4741
4742 * m/m68k.h (linux): Use GNU_LINUX instead.
4743 Remove boilerplate comments.
4744
4745 * m/intel386.h: Undo refactoring from previous change.
4746 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4747 too, remove dead code.
4748 (linux): Use GNU_LINUX instead.
4749
47502008-07-16 Jason Rumney <jasonr@gnu.org>
4751
4752 * w32gui.h: Repeat 26 June changes lost by last change.
4753
47542008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4755
4756 * systty.h: Remove code for Aix on 386, unsupported platform.
4757
4758 * s/ms-w32.h: Remove boilerplate comments.
4759 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4760
4761 * s/gnu-linux.h (TERM): Remove support.
4762 (HAVE_SYSVIPC): Remove, unused.
4763 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4764 for this system.
4765
4766 * process.c: Remove support for IRIS, unused.
4767 Remove support for TERM, not relevant anymore.
4768
4769 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4770 used with the definition.
4771
4772 * s/aix4-2.h (static): Do not undef.
4773
4774 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4775 only used on Aix.
4776 (HAVE_SYSVIPC): Remove, unused.
4777
4778 * m/hp800.h (CANNOT_DUMP): Do not undef.
4779
4780 * m/alpha.h: Fix comment.
4781
4782 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4783 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4784 used by this configuration.
4785 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4786 * unexec.c: Remove code depending on HPUX and
4787 USG_SHARED_LIBRARIES, not used with this file. Remove code
4788 depending on IRIS, unused. Remove if 0-ed code.
4789
4790 * s/template.h: Remove comments about static.
4791
4792 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4793 Remove if 0-ed code.
4794 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4795 were the same as the default.
4796 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4797 Remove boilerplate comments.
4798 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4799 (HAVE_SYSVIPC): Remove, unused.
4800 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4801
4802 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4803 Remove boilerplate comments.
4804 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4805 Remove boilerplate comments.
4806 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4807 Remove boilerplate comments.
4808 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4809
4810 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4811 USG systems which do not use DATA_SEG_BITS.
4812 Refactor code. Remove boilerplate comments.
4813
4814 * m/ibms390.h:
4815 * m/m68k.h:
4816 * s/bsd-common.h:
4817 * s/cygwin.h:
4818 * s/darwin.h:
4819 * s/freebsd.h:
4820 * s/gnu.h:
4821 * s/msdos.h: Remove boilerplate comments.
4822
4823 * m/iris4d.h: Remove boilerplate comments and code for systems that
4824 do not use this file.
4825 (IRIS_4D): Remove, unused.
4826
4827 * m/mips.h: Remove boilerplate comments and code for systems that
4828 do not use this file.
4829 (SIGN_EXTEND_CHAR):
4830 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4831 * unexmips.c: Remove file, unused.
4832
4833 * editfns.c (Fuser_full_name): Replace the only use of
4834 USER_FULL_NAME with its value.
4835 * config.in: Regenerate.
4836
48372008-07-16 David Reitter <david.reitter@gmail.com>
4838
4839 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4840 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4841
48422008-07-16 Glenn Morris <rgm@gnu.org>
4843
4844 * emacs.c (system-type): Doc fix.
4845
48462008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4847
4848 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4849 If the cache doesn't work, let's fix it, rather than work around it.
4850
48512008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4852
4853 * Makefile.in: Correct additions for nsfont.o in last commit.
4854 * nsfont.m: New file (forgot last commit).
4855
48562008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4857
4858 * callproc.c (set_initial_environment): Initialize
4859 Vprocess_environment under CANNOT_DUMP (fixes crash when
4860 batch-compiling for bootstrap).
4861
48622008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4863 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4864
4865 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4866 fix crash due to different init order.
4867
48682008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4869
4870 Changes and additions for NeXTstep windowing system (Cocoa and
4871 GNUstep) support.
4872
4873 * Makefile.in:
4874 * config.in: Support defines and build commands for NS port.
4875 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4876 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4877 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4878 windowing.
4879 (struct face): Add synth_ital field.
4880 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4881 (init_display): Initialize Vinitial_window_system to "ns" when so
4882 compiled.
4883 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4884 (display_arg): Use under NS.
4885 (main): Under NS, allocate autorelease pool and handle command line
4886 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4887 (standard_args): Add NS-specific args.
4888 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4889 * font.c (DEFAULT_ENCODING): New variable.
4890 (font_find_for_lface): Use it.
4891 (syms_of_font): Load syms_of_nsfont under NS.
4892 * font.h: Declare nsfont_driver when compiled under NS.
4893 * fontset.c: When compiling under NS, include nsterm.h.
4894 (fontset_from_font): Autoconstruct fontset under NS.
4895 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4896 symbol, document and use it.
4897 (do_switch_frame): When for_deletion under Cocoa, add
4898 Fraise_frame(Qnil).
4899 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4900 (x_get_arg): Allow "yes" and "no" as boolean values.
4901 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4902 Qright under Cocoa.
4903 (focus-follows-mouse): Default to 0 under NS.
4904 * frame.h (enum output_method): Add output_ns.
4905 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4906 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4907 (FRAME_WINDOW_P): NS-specific definition.
4908 * fringe.c (max_used_fringe_bitmap): Make public.
4909 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4910 (getloadavg): Use NeXT code under descendant OS's.
4911 * image.c (includes and header section, x_create_bitmap_from_data)
4912 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4913 (image_background_transparent, x_clear_image_1)
4914 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4915 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4916 (x_to_xcolors, x_from_xcolors, x_disable_image)
4917 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4918 other GUIs, including XPM support using code originally written for
4919 Carbon GUI.
4920 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4921 using NS API.
4922 (image_ascent): Use font metrics macros instead of direct struct field
4923 access.
4924 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4925 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4926 Also, handle NS as GTK for menu bar purposes.
4927 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4928 toolkit where they differ.
4929 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4930 use cachelist, still needed under NS.
4931 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4932 (struct widget_value): Define it here for menu.c.
4933 * keymap.c (includes): Include modifier internals.
4934 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4935 NS.
4936 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4937 support for preferring sequences using certain modifiers, specified by
4938 the FIRSTONLY argument.
4939 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4940 under NS GNUstep implementation.
4941 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4942 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4943 * menu.c: Include nsterm.h under NS.
4944 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4945 (free_menubar_widget_tree_value, update_submenu_strings)
4946 (find_and_call_menu_selection): Treat NS as X and NT.
4947 (find_and_return_menu_selection): New function, used for popup menus.
4948 * nsgui.h:
4949 * nsterm.h:
4950 * nsfns.m:
4951 * nsimage.m:
4952 * nsmenu.m:
4953 * nsselect.m:
4954 * nsterm.m: New files.
4955 * process.c (wait_reading_process_output): Under NS, call ns_select()
4956 instead of plain select().
4957 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4958 beginning of buffer.
4959 * sysselect.h (init_process): Rename when compiling under Cocoa to
4960 avoid name conflict.
4961 * termhooks.h (display_info): Add ns_display_info to union.
4962 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4963 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4964 COCOA environment.
4965 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4966 unexec() signature. (Note, this will dump, but the resulting file
4967 crashes; unexosx is used instead; keeping around for reference and
4968 possible aid in getting dump working under GNUstep.)
4969 * w32gui.h (button_type, widget_value): Remove definitions (now in
4970 keyboard.h).
4971 * window.c: Include nsterm.h when compiling under NS.
4972 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4973 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4974 other GUI windowing systems.
4975 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4976 GTK.
4977 (x_consider_frame_title): Under NS, set icon type and frame
4978 modified-state indicator; use ns_set_name_as_filename() when using
4979 formatted title.
4980 (update_window_cursor): Make public when compiling under NS.
4981 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4982 (hourglass_atimer, Vhourglass_delay
4983 * xfaces.c (header section, init_frame_faces, clear_font_table)
4984 (defined_color, unload_color, x_face_list_fonts)
4985 (prepare_face_for_display): Add NS support parallel to other GUIs.
4986 Emulate GCs like other non-X GUIs.
4987 (split_font_name): Don't lowercase font name under NS.
4988 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4989 under NS.
4990 * s/darwin.h: Add support for compilation under NS.
4991
49922008-07-15 Jason Rumney <jasonr@gnu.org>
4993
4994 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4995 (w32_show_hourglass): Rename from show_hourglass.
4996 (w32_hide_hourglass): Rename from hide_hourglass.
4997 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4998 (Vhourglass_delay): Declare extern.
4999 (hourglass_started): Remove.
5000
5001 * xdisp.c (Vhourglass_delay): Remove static.
5002 (hourglass_started, start_hourglass, cancel_hourglass):
5003 Don't include these versions on WINDOWSNT.
5004
50052008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
5006
5007 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
5008 variables (formerly in xfns.c).
5009 (show_hourglass, hide_hourglass): New prototypes (same).
5010 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
5011 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
5012 in xfns.c).
5013 (syms_of_xdisp): Declare/initialize display-hourglass,
5014 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
5015 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
5016 formerly in xfns.c.
5017 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5018 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5019 (start_hourglass, cancel_hourglass): Remove.
5020 (show_hourglass, hide_hourglass): Remove prototypes and static
5021 modifiers.
5022 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
5023 hourglass_atimer, hourglass_shown_p declaration/initialization.
5024 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
5025 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
5026 (start_hourglass, cancel_hourglass): Remove.
5027 (show_hourglass, hide_hourglass): Remove prototypes and static
5028 modifiers.
5029 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
5030 hourglass_atimer, hourglass_shown_p declaration/initialization.
5031 * w32fns.c (display_hourglass_p, Vhourglass_delay)
5032 (DEFAULT_HOURGLASS_DELAY): Remove.
5033 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
5034 hourglass_shown_p declaration/initialization.
5035
50362008-07-14 Jason Rumney <jasonr@gnu.org>
5037
5038 * w32fns.c (w32_get_arg): Remove wrapper function.
5039 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
5040 directly.
5041 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
5042
50432008-07-14 Kenichi Handa <handa@m17n.org>
5044
5045 * xfont.c (xfont_open): Add workaround for X's bug.
5046
50472008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5048
5049 * fontset.c: Include <stdio.h> unconditionally.
5050
50512008-07-13 Michael Albinus <michael.albinus@gmx.de>
5052
5053 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
5054 for filtering.
5055
50562008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
5057
5058 * s/vms.h: Use __GNUC__ instead of _GNUC_.
5059
5060 * m/macppc.h:
5061 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
5062
5063 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
5064 (SPECIAL_EMACS_INT):
5065 * m/ia64.h (SPECIAL_EMACS_INT):
5066 * m/amdx86-64.h (SPECIAL_EMACS_INT):
5067 * s/gnu.h (NLIST_STRUCT):
5068 * s/aix4-2.h (X11R5_INHIBIT_I18N):
5069 * s/gnu-linux.h (LINUX):
5070 * s/msdos.h (HAVE_FACES):
5071 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
5072
5073 * systty.h:
5074 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
5075 anymore.
5076
50772008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
5078
5079 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
5080 always defined as int.
5081
5082 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
5083 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
5084 * s/gnu-linux.h (HAVE_WAIT_HEADER):
5085 * s/freebsd.h (HAVE_WAIT_HEADER):
5086 * s/bsd-common.h (HAVE_UNION_WAIT):
5087 * s/aix4-2.h (HAVE_WAIT_HEADER):
5088 * m/mips.h (HAVE_UNION_WAIT):
5089 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
5090 (COFF, static): Do not define, they are undefined later in the file.
5091
5092 * process.c (update_status): Don't use a union.
5093 (status_convert):
5094 (sigchld_handler): Use int instead of WAITTYPE.
5095
50962008-07-12 Chong Yidong <cyd@stupidchicken.com>
5097
5098 * indent.c (Fvertical_motion): Restore hscroll before moving to
5099 goal column.
5100
51012008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5102
5103 * lisp.h: Remove left over code.
5104
51052008-07-11 Andreas Schwab <schwab@suse.de>
5106
5107 * lisp.h: Fix logic in last change.
5108
5109 * menu.h: New file.
5110 * menu.c: Include it.
5111 * xmenu.c: Likewise.
5112 * Makefile.in: Update dependencies.
5113
51142008-07-11 Kenichi Handa <handa@m17n.org>
5115
5116 * fontset.c (fontset_from_font): Cancel the previous change.
5117
51182008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5119
5120 * lisp.h:
5121 * w32heap.c:
5122 * emacs.c:
5123 * alloc.c: Replace all references of NO_UNION_TYPE with
5124 USE_LISP_UNION_TYPE.
5125
5126 * m/xtensa.h (NO_UNION_TYPE):
5127 * m/vax.h (NO_UNION_TYPE):
5128 * m/template.h (NO_UNION_TYPE):
5129 * m/sparc.h (NO_UNION_TYPE):
5130 * m/mips.h (NO_UNION_TYPE):
5131 * m/macppc.h (NO_UNION_TYPE):
5132 * m/m68k.h (NO_UNION_TYPE):
5133 * m/iris4d.h (NO_UNION_TYPE):
5134 * m/intel386.h (NO_UNION_TYPE):
5135 * m/ibms390x.h (NO_UNION_TYPE):
5136 * m/ibms390.h (NO_UNION_TYPE):
5137 * m/ibmrs6000.h (NO_UNION_TYPE):
5138 * m/ia64.h (NO_UNION_TYPE):
5139 * m/hp800.h (NO_UNION_TYPE):
5140 * m/arm.h (NO_UNION_TYPE):
5141 * m/amdx86-64.h (NO_UNION_TYPE):
5142 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
5143 defining it the same.
5144
51452008-07-10 Chong Yidong <cyd@stupidchicken.com>
5146
5147 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
5148
51492008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5150
5151 * fileio.c:
5152 * sysdep.c
5153 * systty.h:
5154 * m/ibmrs6000.h:
5155 * m/iris4d.h:
5156 * s/aix4-2.h:
5157 * s/freebsd.h:
5158 * s/gnu-linux.h:
5159 * s/hpux10-20.h:
5160 * s/hpux11.h:
5161 * s/netbsd.h:
5162 * s/sol2-3.h:
5163 * s/sol2-4.h:
5164 * s/sol2.h:
5165 * s/usg5-4.h:
5166 * s/vms.h: Remove references to unused variables.
5167
51682008-07-10 Andreas Schwab <schwab@suse.de>
5169
5170 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
5171 pattern before matching the generic family.
5172
51732008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
5174
5175 * unexec.c:
5176 * s/vms.h:
5177 * s/usg5-4-2.h:
5178 * s/sol2-5.h:
5179 * s/freebsd.h:
5180 * s/darwin.h: Remove dead code.
5181
5182 * m/template.h:
5183 * m/sparc.h:
5184 * m/mips.h:
5185 * m/m68k.h:
5186 * m/iris4d.h:
5187 * m/intel386.h:
5188 * m/ibms390x.h:
5189 * m/ibms390.h:
5190 * m/ia64.h:
5191 * m/hp800.h:
5192 * m/arm.h:
5193 * m/amdx86-64.h: Remove dead code and references to unused
5194 and compiler defined symbols.
5195
5196 * unexmips.c:
5197 * unexelf.c: Remove references to desupported systems.
5198
5199 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
5200
5201 * m/powermac.h: Remove boilerplate comments.
5202 (NO_REMAP): Remove unused definition.
5203
5204 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
5205 define them.
5206
52072008-07-10 Kenichi Handa <handa@m17n.org>
5208
5209 * xfont.c (xfont_open): Log the reason of failure.
5210
52112008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
5212
5213 * fontset.c (fontset_get_font_group):
5214 * font.c (font_check_otf): Specify argument types.
5215
52162008-07-09 Kenichi Handa <handa@m17n.org>
5217
5218 * coding.c (detect_coding_utf_8): Set detect_info->found only when
5219 non-ASCII char is found.
5220
5221 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
5222 (reorder_font_vector): Change the arg preferred_family to font.
5223 Prefer the spec matching with font.
5224 (fontset_get_font_group): New function.
5225 (fontset_find_font): Change the format of an element of a realized
5226 fontset. Use fontset_get_font_group.
5227 (fontset_font): Try the current fontset, the default fontset, the
5228 fallbacks of the current fontset, and the fallbacks of the default
5229 fontset in this order.
5230 (face_for_char): Delete the shortcut to use the current font.
5231 (fontset_from_font): Don't set fonts for Latin in the fontset.
5232
5233 * font.h (font_make_object, font_match_p): Adjust prototypes.
5234
5235 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
5236
5237 * font.c (font_make_object): New arg entity and pixelsize.
5238 (font_check_otf_features, font_check_otf): New functions.
5239 (font_match_p): Check :lang, :script, and :otf properties.
5240
5241 * xfont.c (xfont_open): Adjust it for the change of
5242 font_make_object.
5243 (xfont_text_extents): Fix initial setting of metrics.
5244
5245 * ftfont.c (struct ftfont_info): New member index, delete member
5246 fc_charset_idx. Make the member order compatible with struct
5247 xftfont_info.
5248 (fc_charset_table): Change charset names to registry names.
5249 (ftfont_pattern_entity): Delete the args registry and
5250 fc_charset_idx. Change the value of :font-entity property
5251 to (FONTNAME . INDEX). Always set :registry property to
5252 `iso10646-1'.
5253 (struct ftfont_cache_data): New struct.
5254 (ftfont_lookup_cache): New arg for_face.
5255 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5256 (ftfont_driver): Set the member otf_capability.
5257 (ftfont_get_charset): Adjust it for the change of
5258 fc_charset_table.
5259 (OTF_TAG_SYM): New macro.
5260 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5261 for the change of fc_charset_table.
5262 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5263 ftfont_pattern_entity. Add FC_INDEX to objset.
5264 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5265 and ftfont_pattern_entity.
5266 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5267 font_make_object, struct ftfont_info.
5268 (ftfont_has_char): Use ftfont_get_fc_charset.
5269 (ftfont_otf_features, ftfont_otf_capability): New functions.
5270 (ftfont_shape): Use ftfont_get_otf.
5271 (ftfont_text_extents): Fix initial setting of metrics.
5272
5273 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5274 member order compatible with struct ftfont_info.
5275 (xftfont_open): Add FC_CHARSET to the pattern. Set
5276 xftfont_info->ft_size. Don't unlock the face. Check BDF
5277 properties if appropriate.
5278 (xftfont_close): Unlock the face.
5279 (xftfont_anchor_point, xftfont_shape): Deleted.
5280 (syms_of_xftfont): Don't set members anchor_point and shape of
5281 xftfont_driver.
5282
5283 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5284 font_make_object.
5285
5286 * w32font.c (w32font_open): Adjust it for the change of
5287 font_make_object.
5288 (w32font_open_internal): Don't set properties of font_object here.
5289
52902008-07-08 Chong Yidong <cyd@stupidchicken.com>
5291
5292 * macfns.c (x_create_tip_frame):
5293 * w32fns.c (x_create_tip_frame):
5294 * xfns.c (x_create_tip_frame): Pass parameter argument to
5295 face-set-after-frame-default.
5296
5297 * xfaces.c (Finternal_merge_in_global_face): Save merged
5298 attributes for the default face back into the face vector.
5299
53002008-07-08 Andreas Schwab <schwab@suse.de>
5301
5302 * fontset.h: Declare fontset_from_font. Don't declare
5303 new_fontset_from_font and fontset_from_font_name.
5304 * xterm.c: Include "fontset.h".
5305 * Makefile.in (xterm.o): Update dependencies.
5306
53072008-07-08 Glenn Morris <rgm@gnu.org>
5308
5309 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5310 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5311
53122008-07-07 Chong Yidong <cyd@stupidchicken.com>
5313
5314 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5315 (x_set_frame_parameters): Don't bind it.
5316
53172008-07-07 Juanma Barranquero <lekktu@gmail.com>
5318
5319 * w32fns.c (map_w32_filename): Declare extern.
5320
53212008-07-07 Jason Rumney <jasonr@gnu.org>
5322
5323 * w32term.c (WS_EX_LAYERED): Define if not already.
5324
53252008-07-06 Chong Yidong <cyd@stupidchicken.com>
5326
5327 * xfaces.c (set_font_frame_param): Don't try to set the font
5328 parameter if it is still unspecified in the lface.
5329
53302008-07-05 Chong Yidong <cyd@stupidchicken.com>
5331
5332 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5333 face if it didn't already exist.
5334
5335 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5336
53372008-07-05 Andreas Schwab <schwab@suse.de>
5338
5339 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5340
53412008-07-05 Chong Yidong <cyd@stupidchicken.com>
5342
5343 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5344 word-wrapping.
5345 (IT_DISPLAYING_WHITESPACE): New macro.
5346 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5347 when word-wrapping. Simplify word-wrapping logic. Use correct
5348 pixel positions when saving copies of the iterator.
5349 (display_line): Use proper wrap point if the last character on a
5350 line was preceded by whitespace.
5351
53522008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5353
5354 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
5355
53562008-07-04 Kenichi Handa <handa@m17n.org>
5357
5358 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
5359
5360 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
5361
53622008-07-02 Jason Rumney <jasonr@gnu.org>
5363
5364 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 5365 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
5366
5367 * xdisp.c (next_element_from_display_vector): Move assignment out
5368 of if statement.
5369
53702008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
5371
5372 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
5373
5374 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
5375 (syms_of_fileio): Initialize and export them.
5376 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
5377
5378 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
5379 (Fsystem_move_file_to_trash): New function.
5380 (syms_of_w32fns): Export it to lisp.
5381
53822008-07-01 Jason Rumney <jasonr@gnu.org>
5383
5384 * w32font.c (w32font_text_extents): Don't count overhang as part
5385 of width.
5386
53872008-06-30 Miles Bader <miles@gnu.org>
5388
5389 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
5390 Add `avoid_cursor_p' field.
5391
5392 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
5393 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
5394 (append_glyph, append_composite_glyph, produce_image_glyph)
5395 (append_stretch_glyph): Initialize avoid_cursor_p.
5396 (get_it_property): Rename from `get_line_height_property'.
5397 (x_produce_glyphs): Use get_it_property.
5398 (handle_line_prefix, push_display_prop): New functions.
5399 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
5400 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
5401 New variables.
5402 (syms_of_xdisp): Initialize them.
5403
54042008-06-30 Kenichi Handa <handa@m17n.org>
5405
5406 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
5407 XftDefaultSubstitute (they are called in XftFontMatch).
5408 (xftfont_open): Fix args to ftfont_font_format.
5409
5410 * ftfont.c (fc_charset_table): New member lang.
5411 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 5412 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
5413 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
5414 (ftfont_open): Fix args to ftfont_font_format.
5415 (ftfont_font_format): New arg filename.
5416
54172008-06-30 Chong Yidong <cyd@stupidchicken.com>
5418
5419 * xfaces.c (Finternal_merge_in_global_face): If default face was
5420 modified, realize it again. Update the font face attribute.
5421
54222008-06-29 Jason Rumney <jasonr@gnu.org>
5423
5424 * w32term.c (x_set_frame_alpha): Fix logic.
5425
54262008-06-29 Kenichi Handa <handa@m17n.org>
5427
5428 * fontset.c (Finternal_char_font): Return font-object instead of
5429 font-name.
5430
5431 * composite.c (get_composition_id): Fix the width calculation for TAB.
5432
54332008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
5434
5435 * indent.c (Fvertical_motion): Properly handle float column arg.
5436
54372008-06-28 Jason Rumney <jasonr@gnu.org>
5438
5439 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
5440 (pfnSetLayeredWindowAttributes): New function pointer.
5441 (w32_initialize): Initialize it when supported.
5442 (x_set_frame_alpha): New function.
5443
5444 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
5445 (w32_frame_parm_handlers): Set alpha handler.
5446
5447 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
5448
54492008-06-27 Jason Rumney <jasonr@gnu.org>
5450
5451 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
5452 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
5453 (w32_to_x_charset, x_to_w32_charset)
5454 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5455 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5456 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5457 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5458 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5459 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5460 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
5461 (Qw32_charset_unicode): Remove.
5462 (syms_of_w32fns): Update for above changes.
5463
5464 * w32font.c (w32_to_x_charset, x_to_w32_charset)
5465 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5466 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5467 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5468 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5469 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5470 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5471 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
5472 (syms_of_w32font): Update for above changes.
5473
54742008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
5475
5476 * s/usg5-4.h: Fix previous change: keep the correct branch of a
5477 removed #if.
5478 (USG_SHARED_LIBRARIES): Remove duplicate definition.
5479
54802008-06-26 Juanma Barranquero <lekktu@gmail.com>
5481 Eli Zaretskii <eliz@gnu.org>
5482
5483 * makefile.w32-in (LOCAL_FLAGS):
5484 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
5485
5486 * sysdep.c (_spawnlp, _getpid):
5487 Declare with explicit _cdecl instead of _CRTAPI1.
5488
5489 * editfns.c (Fget_internal_run_time):
5490 Check for WINDOWSNT with #ifdef, not #if.
5491
54922008-06-26 Jason Rumney <jasonr@gnu.org>
5493
5494 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
5495
5496 * w32term.c (x_draw_glyph_string_foreground)
5497 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
5498 Use FONT_HANDLE macro.
5499 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
5500
5501 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5502 (uniscribe_encode_char): Use FONT_HANDLE macro.
5503
5504 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
5505 (w32font_text_extents): Use precast w32_font.
5506 (w32font_close): Free cached metrics.
5507 (w32font_open_internal): Allocate space for name on stack.
5508
55092008-06-26 Chong Yidong <cyd@stupidchicken.com>
5510
5511 * xdisp.c (extend_face_to_end_of_line): Fix last change.
5512
55132008-06-26 Jason Rumney <jasonr@gnu.org>
5514
5515 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
5516 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
5517
55182008-06-26 Juanma Barranquero <lekktu@gmail.com>
5519
5520 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
5521
55222008-06-26 Jason Rumney <jasonr@gnu.org>
5523
5524 * w32bdf.c, w32bdf.h: Remove obsolete files.
5525
5526 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
5527
5528 * w32gui.h: Don't include w32bdf.h.
5529 (XCharStruct, enum w32_char_font_type, W32FontStruct):
5530 Remove obsolete font support.
5531
5532 * w32font.h (struct w32font_info): Remove compat_w32_font.
5533 Add hfont member.
5534 (FONT_COMPAT): Remove obsolete macro.
5535
5536 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
5537 (w32font_encode_char, w32font_text_extents): Use new hfont member.
5538 (w32font_open_internal): Remove compat code. Set new hfont member.
5539 (Fx_select_font): Use new hfont member.
5540
5541 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5542 (uniscribe_encode_char): Use new hfont member.
5543
5544 * w32term.c (x_draw_glyph_string_foreground)
5545 (x_draw_composite_glyph_string_foreground): Use new hfont member.
5546 (x_draw_glyph_string): Use metrics in w32font_info.
5547
55482008-06-26 Kenichi Handa <handa@m17n.org>
5549
5550 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
5551
55522008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
5553
5554 * unexnext.c:
5555 * m/ews4800.h:
5556 * m/hp9000s300.h:
5557 * m/ibm370aix.h:
5558 * m/mips-siemens.h:
5559 * m/ncr386.h:
5560 * m/next.h:
5561 * m/pmax.h:
5562 * m/powerpcle.h:
5563 * m/tandem-s2.h:
5564 * s/386bsd.h:
5565 * s/bsd386.h:
5566 * s/bsd4-1.h:
5567 * s/bsd4-2.h:
5568 * s/bsdos2-1.h:
5569 * s/bsdos2.h:
5570 * s/bsdos3.h:
5571 * s/bsdos4.h:
5572 * s/nextstep.h:
5573 * s/ultrix4-3.h:
5574 * s/usg5-0.h:
5575 * s/usg5-2-2.h:
5576 * s/usg5-2.h:
5577 * s/usg5-4-3.h:
5578 * s/ux4800.h:
5579 * s/uxpds.h:
5580 * s/uxpv.h: Remove support for obsolete systems.
5581 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 5582 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
5583 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
5584 Remove, insert contents in s/aix4-2.h.
5585 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
5586 * s/bsd4-3.h: Rename to ...
5587 * s/bsd-common.h: ... this.
5588 * data.c:
5589 * doc.c:
5590 * ecrt0.c:
5591 * emacs.c:
5592 * fileio.c:
5593 * floatfns.c:
5594 * keyboard.c:
5595 * mem-limits.h:
5596 * print.c:
5597 * process.c:
5598 * sysdep.c:
5599 * syssignal.h:
5600 * systty.h:
5601 * syswait.h:
5602 * term.c:
5603 * unexec.c:
5604 * unexelf.c:
5605 * unexhp9k800.c:
5606 * m/hp800.h:
5607 * m/ibmrs6000.h:
5608 * m/mips.h:
5609 * m/vax.h:
5610 * s/darwin.h:
5611 * s/freebsd.h:
5612 * s/gnu.h:
5613 * s/ms-w32.h:
5614 * s/msdos.h:
5615 * s/netbsd.h:
5616 * s/template.h: Remove references to obsolete variables.
5617
5618 * Makefile.in: Add dependencies for all unexec files.
5619 (admindir): Remove unused variable.
5620 (UNEXEC_SRC): Remove references.
5621
56222008-06-25 Chong Yidong <cyd@stupidchicken.com>
5623
5624 * xfns.c (x_default_font_parameter): If Xft is available, first
5625 try Monospace-12 for the default font.
5626
56272008-06-25 Jason Rumney <jasonr@gnu.org>
5628
5629 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
5630
56312008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
5632
5633 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
5634
5635 * buffer.c (syms_of_buffer): Remove default-word-wrap.
5636
56372008-06-25 Juanma Barranquero <lekktu@gmail.com>
5638
5639 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
5640 <scroll-conservatively>: Fix typo in docstring.
5641
5642 * xselect.c (Fx_send_client_event): Doc fix.
5643
56442008-06-25 Kenichi Handa <handa@m17n.org>
5645
5646 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
5647
5648 * font.c (font_parse_fcname): Remove unused variables.
5649 (font_sort_entites): Delete the arg SPEC. Caller changed.
5650 Fix for the case of ! best_only.
5651 (font_delete_unmatched): Check DPI and AVGWIDTH too.
5652
5653 * lisp.h (Fstring_to_unibyte): EXFUN it.
5654
5655 * character.h (str_to_unibyte): Extern it.
5656
5657 * character.c (str_to_unibyte): New function.
5658
5659 * fns.c (Fstring_to_unibyte): New function.
5660 (syms_of_fns): Defsubr it.
5661
56622008-06-24 Kenichi Handa <handa@m17n.org>
5663
5664 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
5665 DPI too.
5666 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
5667
56682008-06-24 Andreas Schwab <schwab@suse.de>
5669
5670 * Makefile.in (${lispsource}loaddefs.el): Rename from
5671 ../lisp/loaddefs.el.
5672 (bootstrap-clean): Do what distclean does but don't remove
5673 Makefile.
5674 (distclean): Depend on bootstrap-clean and remove Makefile.
5675
56762008-06-24 Chong Yidong <cyd@stupidchicken.com>
5677
5678 * buffer.h (struct buffer): New member word_wrap.
5679
5680 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5681 word-wrap.
5682 (init_buffer_once): Initialize them.
5683
5684 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5685 line_wrap enum possessing three possible values.
5686
5687 * termopts.h: Replace truncate_partial_width_windows with
5688 Vtruncate_partial_width_windows.
5689
5690 * dispnew.c (direct_output_for_insert): Avoid direct output when
5691 inserting a space with word wrap on.
5692
5693 * indent.c (compute_motion): Obey integer values of
5694 truncate-partial-width-windows.
5695
5696 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5697 replacing truncate_partial_width_windows.
5698 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5699 truncate only if the window width is below that integer.
5700 (start_display, resize_mini_window, produce_stretch_glyph)
5701 (display_string, move_it_in_display_line_to): Use line_wrap.
5702 (back_to_previous_visible_line_start, reseat_1): Reset
5703 string_from_display_prop_p.
5704 (display_line): Extend default face to end of line when wrapping.
5705
57062008-06-24 Kim F. Storm <storm@cua.dk>
5707
5708 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5709 to wrap continued lines at word boundaries.
5710
57112008-06-24 Jason Rumney <jasonr@gnu.org>
5712
5713 * font.c (Ffont_face_attributes): Multiply pixel size before point
5714 conversion to avoid multiplying rounding error.
5715
57162008-06-23 Jason Rumney <jasonr@gnu.org>
5717
5718 * w32term.c (x_draw_glyph_string_background)
5719 (x_draw_glyph_string): Remove old bdf font code.
5720
5721 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5722
57232008-06-22 Kenichi Handa <handa@m17n.org>
5724
5725 * font.c (font_find_for_lface): Try the adstyle specified in
5726 the property of LFACE_FONT of LFACE (if any).
5727
57282008-06-21 Seiji Zenitani <zenitani@mac.com>
5729 Ryo Yoshitake <ryo@shiftmode.net>
5730
5731 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5732
57332008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5734
5735 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5736 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5737 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5738 (witness-emacs): Remove.
5739 (lisp, shortlisp): Move loaddefs.el earlier.
5740 (mostlyclean): Forget about witness-emacs.
5741
57422008-06-22 Glenn Morris <rgm@gnu.org>
5743
5744 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5745 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5746
57472008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5748
5749 * Makefile.in (PRECOMP): Remove.
5750 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5751 (witness-emacs): Run `compile-first'.
5752 (.el.elc): Use the new compile-onefile target.
5753
57542008-06-21 Kenichi Handa <handa@m17n.org>
5755
5756 * xftfont.c (xftfont_open): Handle QCembolden only when
5757 FC_EMBOLDEN is defined.
5758
57592008-06-21 Andreas Schwab <schwab@suse.de>
5760
5761 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5762 (.el.elc): Likewise.
5763
57642008-06-21 Miles Bader <miles@gnu.org>
5765
5766 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5767 build dir, not the lisp source dir.
5768
57692008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5770
5771 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5772 (bootstrapclean): Remove.
5773 (.el.elc): New rule.
5774 (PRECOMP): New var.
5775 (../lisp/subdirs.el): Remove.
5776 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5777 (witness-emacs): New target.
5778 (mostlyclean): Remove witness-emacs as well.
5779 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5780 Add witness-emacs dependency.
5781
57822008-06-20 Chong Yidong <cyd@stupidchicken.com>
5783
5784 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5785 defined by the font.
5786
57872008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5788
5789 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5790 (bootstrap-clean): New target that keeps TAGS around.
5791 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5792 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5793
57942008-06-20 Jason Rumney <jasonr@gnu.org>
5795
5796 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5797 Remove obsolete font code.
5798
5799 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5800 to determine language support.
5801
58022008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5803
5804 * sysdep.c (cfsetspeed): New fun extracted from the code.
5805 (cfmakeraw): Move before first use.
5806
58072008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5808
5809 * sysdep.c (cfmakeraw): Provide fallback implementation.
5810 (serial_configure): Provide fallback implementation of cfsetspeed.
5811
58122008-06-20 Kenichi Handa <handa@m17n.org>
5813
5814 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5815 the pattern.
5816
5817 * fontset.c (fontset_from_font): Copy font_spec before changing
5818 the elements.
5819
5820 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5821
58222008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5823
5824 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5825 for explicit `font' parameters.
5826
5827 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5828
58292008-06-19 Kenichi Handa <handa@m17n.org>
5830
5831 * frame.c: Include <ctype.h>.
5832 (x_set_font_backend): Allow spacing characters in the X resource
5833 for FontBackend.
5834
58352008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5836
5837 * w32fns.c, xfns.c (Qfont_param): New var.
5838 (syms_of_w32fns): Initialize it.
5839 (x_default_font_parameter): Record explicit `font' into
5840 `font-parameter'.
5841
58422008-06-18 Kenichi Handa <handa@m17n.org>
5843
5844 * font.c (font_parse_xlfd): Fix previous change.
5845 (font_parse_fcname): Don't use :fc-unknown-spec.
5846 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5847 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5848 (font_add_log): Prepend the driver name to the resulting fonts.
5849
5850 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5851 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5852 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5853
5854 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5855 (QCembolden): New variables.
5856 (syms_of_xftfont): DEFSYM them.
5857 (xftfont_open): Call XftFontMatch. Don't trust the result of
5858 XftTextExtents8 if the pixel_size is less than 5.
5859
58602008-06-18 Andreas Schwab <schwab@suse.de>
5861
5862 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5863 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5864
58652008-06-18 Jason Rumney <jasonr@gnu.org>
5866
5867 * w32font.c (w32font_list, w32font_match): Add logging.
5868
5869 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5870
58712008-06-17 Chong Yidong <cyd@stupidchicken.com>
5872
5873 * font.c (font_parse_fcname): Store divider characters for
5874 unknown-spec list. For known key symbols, intern using correct
5875 symbol name.
5876
58772008-06-17 Kenichi Handa <handa@m17n.org>
5878
5879 * xfaces.c (realize_default_face): If the frame is not on window
5880 system, set the fontset of face to nil.
5881
58822008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5883
5884 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5885
58862008-06-16 Juanma Barranquero <lekktu@gmail.com>
5887
5888 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5889 (build_font_name_from_vector): Delete externs.
5890
5891 * xfaces.c (struct font_name): Don't declare.
5892
58932008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5894
5895 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5896
58972008-06-16 Chong Yidong <cyd@stupidchicken.com>
5898
5899 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5900
59012008-06-16 Juanma Barranquero <lekktu@gmail.com>
5902
5903 * font.c (Ffont_spec): Fix usage in docstring.
5904 (Ffont_face_attributes): Doc fix.
5905
59062008-06-16 Andreas Schwab <schwab@suse.de>
5907
5908 * font.c (Ffont_face_attributes): Fix definition.
5909
59102008-06-16 Jason Rumney <jasonr@gnu.org>
5911
5912 * font.h (font_style_symbolic_from_value): Remove.
5913
5914 * font.c (font_style_symbolic_from_value): Remove.
5915 (font_style_symbolic): Revert to pre 2008-06-13 version.
5916
5917 * w32font.c (w32_to_fc_weight): New function.
5918 (w32font_full_name, logfont_to_fcname): Use it.
5919
59202008-06-16 Kenichi Handa <handa@m17n.org>
5921
5922 * font.c (font_check_object): Delete it.
5923 (font_clear_cache): Check if a font-object is alive.
5924 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5925 font-object to nil.
5926 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5927 (font_at): Don't call font_check_object.
5928 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5929
59302008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5931
5932 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5933
59342008-06-16 Chong Yidong <cyd@stupidchicken.com>
5935
5936 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5937
59382008-06-15 Chong Yidong <cyd@stupidchicken.com>
5939
5940 * font.c (font_parse_fcname): Only one decimal point.
5941 (font_unparse_fcname): Handle data in family and foundry indices
5942 as symbols, not strings.
5943 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5944
5945 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5946
5947 * font.h (font_unparse_gtkname): Add prototype.
5948
59492008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5950
5951 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5952
59532008-06-15 Andreas Schwab <schwab@suse.de>
5954
5955 * font.c (font_update_drivers): Fix crash when no drivers match.
5956
59572008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5958
5959 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5960 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5961
59622008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5963
5964 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5965
59662008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5967
5968 * process.c (Fserial_process_configure, Fprocess_send_eof):
5969 Use EQ to compare Lisp_Objects.
5970
59712008-06-13 Jason Rumney <jasonr@gnu.org>
5972
5973 * w32fns.c (Fw32_select_font): Remove old font API function.
5974
5975 * w32font.c (logfont_to_fcname): New function.
5976 (Fx_select_font): New font dialog function compatible with
5977 GTK/fontconfig version.
5978
5979 * font.c (font_style_symbolic_from_value): New function.
5980 (font_style_symbolic): Use it.
5981
5982 * font.h (font_style_symbolic_from_value): Declare new function.
5983
59842008-06-13 Juanma Barranquero <lekktu@gmail.com>
5985
5986 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5987 <font-width-table>: Fix typos in docstrings.
5988
59892008-06-13 Daniel Engeler <engeler@gmail.com>
5990
5991 These changes add serial port access.
5992 * process.c: Add HAVE_SERIAL.
5993 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5994 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5995 (list_processes_1, select_wrapper, Fstop_process)
5996 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5997 (status_notify): Modify to handle serial processes.
5998 [HAVE_SERIAL] (Fserial_process_configure)
5999 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
6000 New functions.
6001 * process.h (struct Lisp_Process): Add `type'.
6002 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
6003 New functions.
6004 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
6005 serial ports.
6006 (serial_open, serial_configure) New functions.
6007 * w32.h: Add FILE_SERIAL.
6008 (struct _child_process): Add ovl_read, ovl_write.
6009
60102008-06-13 Kenichi Handa <handa@m17n.org>
6011
6012 * dispextern.h (enum lface_attribute_index): New member
6013 LFACE_FOUNDRY_INDEX.
6014
6015 * font.c (font_score): Delete arg alternate_families. Check only
6016 weight, slant, width, and size. Ignore the difference of alias
6017 style symbols.
6018 (font_sort_entites): Adjust for the above change. Reflect the
6019 order of font-driver to scores.
6020 (font_list_entities): Don't check alternate_familes here.
6021 (font_clear_prop): Handle foundry.
6022 (font_update_lface): Don't parse "foundry-family" form here.
6023 Handle FONT_FOUNDRY_INDEX.
6024 (font_find_for_lface): Likewise. Handle alternate families here.
6025 If registry is nil, try iso8859-1 and ascii-0.
6026 (font_open_for_lface): Pay attention to size in ENTITY.
6027 (font_open_by_name): Simplify by calling font_load_for_lface.
6028 (free_font_driver_list): Delete it.
6029 (font_update_drivers): Preserve the order of backends.
6030 (syms_of_font): Setting of sort_shift_bits adjusted for the change
6031 of font_score and font_sort_entites.
6032 (font_update_sort_order): Likewise.
6033
6034 * xfaces.c (LFACE_FOUNDRY): New macro.
6035 (check_lface_attrs): Check foundry.
6036 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
6037 (merge_face_vectors): Check foundry.
6038 (merge_face_ref): Likewise.
6039 (Finternal_set_lisp_face_attribute): Likewise.
6040 (x_update_menu_appearance): Likewise.
6041 (Finternal_get_lisp_face_attribute): Likewise.
6042 (lface_hash): Likewise.
6043 (lface_same_font_attributes_p): Likewise.
6044 (x_supports_face_attributes_p): Likewise.
6045 (tty_supports_face_attributes_p): Likewise.
6046 (Finternal_set_alternative_font_family_alist): Intern strings.
6047 (Finternal_set_alternative_font_registry_alist): Downcase strings.
6048 (realize_default_face): Set LFACE_FOUNDRY (lface).
6049
6050 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
6051 font-driver at first.
6052
6053 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
6054
60552008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6056
6057 * lread.c (Fload): Use xfree, not free on saved_doc_string.
6058
60592008-06-12 Jim Meyering <meyering@redhat.com>
6060
6061 Make unexec_free handle NULL the same way free does.
6062 * unexmacosx.c (unexec_free): Ignore a NULL argument.
6063
60642008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
6065
6066 * character.h (CHAR_TO_BYTE_SAFE): New macro.
6067 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
6068 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
6069 (WEAK_ALIAS): Simplify.
6070 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
6071 when searching a unibyte buffer.
6072
60732008-06-12 Chong Yidong <cyd@stupidchicken.com>
6074
6075 * xfns.c (Fx_select_font): Rename from x-font-dialog.
6076
60772008-06-12 Juanma Barranquero <lekktu@gmail.com>
6078
6079 * w32font.c: Include ctype.h.
6080
60812008-06-11 Jason Rumney <jasonr@gnu.org>
6082
6083 * w32font.c (w32font_encode_char): Detect missing glyphs that are
6084 misreported as space.
6085 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
6086 as aliases for registry iso10646-1.
6087
60882008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
6089
6090 * buffer.c (clone_per_buffer_values): Skip `name'.
6091
60922008-06-11 Chong Yidong <cyd@stupidchicken.com>
6093
6094 * font.c (font_parse_fcname): Fix last change; accept decimal
6095 points in font size.
6096
60972008-06-10 Jason Rumney <jasonr@gnu.org>
6098
6099 * w32uniscribe.c (add_opentype_font_name_to_list):
6100 Skip non unicode fonts.
6101
61022008-06-10 Chong Yidong <cyd@stupidchicken.com>
6103
6104 * xfns.c (Fx_font_dialog): New function.
6105
6106 * gtkutil.c (xg_dialog_response_cb): Rename from
6107 xg_file_response_callback.
6108 (pop_down_dialog): Rename from pop_down_file_dialog.
6109 (xg_get_file_name): Callers changed.
6110 (xg_get_font_name): New function.
6111
6112 * gtkutil.h (xg_get_font_name): Insert prototype.
6113
61142008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6115
6116 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
6117 x_underline_minimum_display_offset.
6118 (syms_of_xdisp): Declare it here rather than in xterm.c.
6119 * dispextern.h (underline_minimum_offset): Declare it.
6120 * w32term.c (x_draw_glyph_string): Use it.
6121 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
6122 (syms_of_xterm): Don't declare it any more.
6123 (x_draw_glyph_string): Adjust to the new name.
6124
61252008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
6126
6127 * xterm.c (x_underline_minimum_display_offset): New var.
6128 (x_draw_glyph_string): Use it.
6129 (syms_of_xterm): Declare it.
6130
61312008-06-10 Chong Yidong <cyd@stupidchicken.com>
6132
6133 * font.c (font_parse_fcname): Accept GTK-style font names too.
6134
61352008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
6136
6137 * dired.c (file_name_completion): Don't return t if the match is exact
6138 but with different capitalization.
6139 * minibuf.c (Ftry_completion): Simplify.
6140
6141 * window.c (Vwindow_point_insertion_type): New var.
6142 (set_window_buffer): Use it.
6143 (syms_of_window): Init and export it to Lisp.
6144
61452008-06-10 Kenichi Handa <handa@m17n.org>
6146
6147 * font.h (font_intern_prop): Prototype adjusted.
6148
6149 * font.c (font_intern_prop): New arg force_symbol.
6150 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
6151 Adjust for the change of font_intern_prop.
6152
6153 * ftfont.c (ftfont_pattern_entity):
6154 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
6155 (w32_registry):
6156 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
6157 the change of font_intern_prop.
6158
61592008-06-09 Juanma Barranquero <lekktu@gmail.com>
6160
6161 * w32menu.c (digest_single_submenu): Declare extern.
6162
61632008-06-09 Jason Rumney <jasonr@gnu.org>
6164
6165 * w32term.c (x_make_frame_visible): Use alternate restore flags.
6166
6167 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
6168 (parse_single_submenu): Remove.
6169 (digest_single_submenu): Remove.
6170 (syms_of_w32menu): Don't initialise variables that have moved
6171 to menu.c.
6172 (set_frame_menubar): Sync with version in xmenu.c.
6173 (w32_menu_show): Sync with xmenu_show in xmenu.c.
6174
6175 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
6176 Make static again.
6177
61782008-06-09 Jason Rumney <jasonr@gnu.org>
6179
6180 Changes to w32 files related to the move of common menu code
6181 to menu.c on 2008-06-08 by Chong Yidong.
6182
6183 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
6184 defs to w32gui.h.
6185 (single_keymap_panes, push_menu_item, push_menu_pane):
6186 Make globally visible.
6187
6188 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
6189 (local_free, malloc_widget_value, free_widget_value)
6190 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
6191 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
6192 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
6193 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
6194 (menu_items, menu_items_allocated, menu_items_used)
6195 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
6196 (init_menu_items, finish_menu_items, discard_menu_items)
6197 (grow_menu_items, push_submenu_start, push_submenu_end)
6198 (push_left_right_boundary, push_menu_pane, push_menu_item)
6199 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
6200 (free_menubar_widget_tree_value, parse_single_submenu)
6201 (update_submenu_strings): Remove functions.
6202 (xmalloc_widget_value): Remove and declare extern.
6203
6204 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
6205 (OBJ1): Build it.
6206
6207 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
6208 (local_heap, local_alloc, local_free, malloc_widget_value)
6209 (free_widget_value): Define here.
6210
62112008-06-09 Kenichi Handa <handa@m17n.org>
6212
6213 * font.h (Qascii_0): Extern it.
6214
6215 * font.c (Qascii_0): New variable.
6216 (syms_of_font): DEFSYM it.
6217 (font_open_by_name): If the registry "iso8859-1" fails, try also
6218 "ascii-0".
6219
6220 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
6221
62222008-06-08 Kenichi Handa <handa@m17n.org>
6223
6224 * .gdbinit (xfont): New command.
6225
62262008-06-08 Andreas Schwab <schwab@suse.de>
6227
6228 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
6229 * Makefile.in (menu.o): Update dependencies.
6230
6231 * Makefile.in (obj): Always add menu.o.
6232 * emacs.c (main): Always call syms_of_menu.
6233 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
6234
62352008-06-08 Chong Yidong <cyd@stupidchicken.com>
6236
6237 * Makefile.in: Compile menu.c.
6238
6239 * lisp.h: Declare syms_of_menu.
6240
6241 * emacs.c (main): Call syms_of_menu.
6242
6243 * keyboard.h: Relocate platform-independent menu definitions from
6244 xmenu.c.
6245
6246 * menu.c: New file. Relocate platform-independent menu
6247 definitions from xmenu.c. Suggested by Adrian Robert.
6248
6249 * xmenu.c: Remove platform-independent menu definitions.
6250 (menu_items menu_items_inuse, menu_items_allocated)
6251 (menu_items_used, menu_items_n_panes)
6252 (menu_items_submenu_depth): Move to keyboard.h.
6253 (init_menu_items, finish_menu_items, unuse_menu_items)
6254 (discard_menu_items, restore_menu_items, save_menu_items)
6255 (grow_menu_items, push_submenu_start, push_submenu_end)
6256 (push_left_right_boundary, push_menu_pane, push_menu_item)
6257 (keymap_panes, single_keymap_panes, single_menu_item)
6258 (list_of_panes, list_of_items, find_and_call_menu_selection)
6259 (xmalloc_widget_value, free_menubar_widget_value_tree)
6260 (parse_single_submenu, digest_single_submenu)
6261 (update_submenu_strings): Move to menu.c.
6262
62632008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6264
6265 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6266
62672008-06-06 Miles Bader <miles@gnu.org>
6268
6269 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6270 face, not frame default.
6271
62722008-06-05 Martin Rudalics <rudalics@gmx.at>
6273
6274 * window.c (pop_up_windows, pop_up_frames)
6275 (display_buffer_reuse_frames, Vpop_up_frame_function)
6276 (Vdisplay_buffer_function, Veven_window_heights)
6277 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6278 (Vspecial_display_function, Vsame_window_buffer_names)
6279 (Vsame_window_regexps, split_height_threshold)
6280 (Vsplit_window_preferred_function): Move those vars to window.el.
6281 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6282 (Fdisplay_buffer): Move those functions to window.el.
6283 (syms_of_window): Remove corresponding declarations.
6284 (display_buffer): New function.
6285 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6286 * dispnew.c (Flast_nonminibuf_frame): New function.
6287 * buffer.c (Fpop_to_buffer): Move to window.el.
6288
62892008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6290
6291 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6292
62932008-06-05 Kenichi Handa <handa@m17n.org>
6294
6295 * coding.c (detect_coding): Fix previous change.
6296 (detect_coding_system): Likewise.
6297
62982008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6299
6300 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6301
6302 * keymap.c (Vminibuffer_local_filename_must_match_map):
6303 Rename from Vminibuffer_local_must_match_filename_map.
6304 (syms_of_keymap):
6305 * minibuf.c (Fcompleting_read): Adjust accordingly.
6306 * commands.h: Rename declaration as well.
6307
63082008-06-05 Kenichi Handa <handa@m17n.org>
6309
6310 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6311 family name.
6312 (Ffont_put): Likewise.
6313
6314 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6315 current font-spec.
6316
6317 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6318 is unspecified.
6319
6320 * xfaces.c (realize_x_face): If the font-related face attributes
6321 are the same as those of default face, realize a new fontset from
6322 default->fontset.
6323 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6324
63252008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6326
6327 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6328 (move_it_in_display_line): New wrapper.
6329
6330 * window.c (window_scroll_pixel_based_preserve_x)
6331 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6332 (window_scroll_pixel_based, window_scroll_line_based):
6333 Use them to preserve column positions.
6334 (syms_of_window): Initialize them.
6335
6336 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6337 (HPOS . VPOS) pair.
6338
6339 * dispextern.h (move_it_in_display_line): Declare.
6340
63412008-06-05 Juanma Barranquero <lekktu@gmail.com>
6342
6343 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6344 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6345 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6346
63472008-06-04 Juanma Barranquero <lekktu@gmail.com>
6348
6349 * window.c (Fset_window_parameter): Doc fix.
6350 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6351
63522008-06-04 Joakim Verona <joakim@verona.se>
6353
6354 * window.h (struct window): Add new member window_parameters.
6355
6356 * window.c (Fwindow_parameters, Fwindow_parameter)
6357 (Fset_window_parameter): New defuns.
6358 (syms_of_window): Defsubr the new defuns.
6359 (make_window): Initialize window_parameters to nil.
6360
63612008-06-04 John Paul Wallington <jpw@pobox.com>
6362
6363 * eval.c (Fdefmacro): Doc fix.
6364
63652008-06-04 Kenichi Handa <handa@m17n.org>
6366
6367 * coding.c (detect_coding): Fix handling of coding->head_ascii.
6368 Be sure to call setup_coding_system when we find a proper coding system.
6369 (detect_coding_system): Fix handling of coding->head_ascii.
6370
63712008-06-03 Andreas Schwab <schwab@suse.de>
6372
6373 * font.c (font_prop_validate_spacing): Fix last change.
6374
63752008-06-03 Kenichi Handa <handa@m17n.org>
6376
6377 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
6378 (font_parse_fcname): Fix handling of unknown key.
6379
6380 * xfont.c (xfont_list): Try an alias.
6381
6382 * charset.c (char_charset): Return NULL if the arg charset_list is
6383 specified and C doesn't belong to any of them.
6384
63852008-06-02 Chip Coldwell <coldwell@redhat.com>
6386
6387 * font.c (font_pixel_size): Don't take cdr of an integer.
6388
63892008-06-02 Jim Meyering <meyering@redhat.com>
6390
6391 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
6392 * alloc.c (xfree): Return right away for a NULL arg.
6393 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
6394 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
6395 * mac.c (create_apple_event_from_event_ref): Likewise.
6396 (create_apple_event_from_drag_ref, cfstring_create_normalized):
6397 Likewise.
6398 * doprnt.c (doprnt1): Likewise.
6399 * frame.c (frame): Likewise.
6400 * keyboard.c (wipe_kboard): Likewise.
6401 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
6402 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
6403 * term.c (tty_default_color_capabilities, maybe_fatal)
6404 (delete_tty): Likewise.
6405 * w16select.c (string): Likewise.
6406 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
6407 * w32bdf.c (w32_free_bdf_font): Likewise.
6408 * w32fns.c (w32_unload_font): Likewise.
6409 * w32font.c (w32font_close): Likewise.
6410 * window.c (size_window): Likewise.
6411 * xselect.c (receive_incremental_selection): Likewise.
6412 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
6413 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
6414 * w32.c (stat): Likewise.
6415
6416 Remove useless if-before-free tests.
6417 * editfns.c (Fset_time_zone_rule): Likewise.
6418 * lread.c (nosuffix): Likewise.
6419 * ralloc.c (get_bloc): Likewise.
6420 * regex.c (reg_free): Likewise.
6421 * xftfont.c (xftfont_open, xftfont_close): Likewise.
6422 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
6423 * xsmfns.c (smc_save_yourself_CB): Likewise.
6424
64252008-06-02 Kenichi Handa <handa@m17n.org>
6426
6427 * font.c (font_find_for_lface): Handle float font size.
6428 (font_open_for_lface): Likewise.
6429
6430 * xfaces.c (x_supports_face_attributes_p): Check face->font before
6431 comparing the properties.
6432
64332008-06-01 Jason Rumney <jasonr@gnu.org>
6434
6435 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
6436 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
6437 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
6438 Don't add empty script list.
6439 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
6440
64412008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
6442
6443 * Makefile.in (dot, dotdot): Remove, update users.
6444 ".." has been used elsewhere in the file for a long time.
6445 (LIBXT_STATIC): Remove conditional based on unused variable.
6446
64472008-06-01 Miles Bader <miles@gnu.org>
6448
6449 * xfaces.c (Vface_remapping_alist): New variable.
6450 (syms_of_xfaces): Initialize it.
6451 (enum named_merge_point_kind): New type.
6452 (struct named_merge_point): Add `named_merge_point_kind' field.
6453 (push_named_merge_point): Make cycle detection respect different
6454 named-merge-point kinds.
6455 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
6456 Remove face-name alias resolution.
6457 (lface_from_face_name): New definition using
6458 `lface_from_face_name_no_resolve'.
6459 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
6460 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
6461 (get_lface_attributes): New definition that layers face-remapping on
6462 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
6463 (lookup_basic_face): New function.
6464 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
6465 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
6466 `get_lface_attributes'.
6467 (face_at_buffer_position): Use `lookup_basic_face' to lookup
6468 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
6469 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
6470
6471 * xdisp.c (init_iterator): Pass base_face_id through
6472 `lookup_basic_face' when we actually use it as a face-id.
6473 (handle_single_display_prop): Use `lookup_basic_face' to lookup
6474 DEFAULT_FACE_ID.
6475
6476 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
6477 lookup the initial face-id.
6478
6479 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
6480
64812008-06-01 Juanma Barranquero <lekktu@gmail.com>
6482
6483 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
6484 (Fremove_text_properties): Fix typos in docstrings.
6485
64862008-05-31 Kenichi Handa <handa@m17n.org>
6487
6488 * font.c (font_list_entities): Fix the car part of data to be
6489 stored in the cache.
6490
6491 * ftfont.c (ftfont_font_format): Don't use strcasestr.
6492
64932008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6494
6495 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
6496 Add a `test' argument so another predicate than `equal' can be used.
6497 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
6498 (map_char_table): Remove unused vars `c' and `i'.
6499 * lisp.h (Foptimize_char_table): Adjust declaration.
6500 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
6501
65022008-05-30 Kenichi Handa <handa@m17n.org>
6503
6504 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
6505 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
6506 defined.
6507
65082008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6509
6510 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6511 (Fmake_variable_frame_local): Disallow mixing buffer-local and
6512 frame-local settings for the same variable.
6513
65142008-05-30 Kenichi Handa <handa@m17n.org>
6515
6516 * fontset.c (Ffont_info): Move to font.c.
6517 (syms_of_fontset): Delete defsubr of Sfont_info.
6518
6519 * font.c (font_style_to_value, font_score): Delete casting of the
6520 args to xstcasecmp.
6521 (register_font_driver): Increment num_font_drivers only when
6522 registering the driver globally.
6523 (Ffont_info): Move from fontset.c. Handle a font object too.
6524 (syms_of_font): Defsubr Sfont_info.
6525
65262008-05-29 Kenichi Handa <handa@m17n.org>
6527
6528 * coding.h (enum define_coding_utf8_arg_index): New enum.
6529 (enum coding_attr_index): Change coding_attr_utf_16_bom to
6530 coding_attr_utf_bom.
6531 (enum utf_bom_type): Rename from utf_16_bom_type.
6532 (struct utf_16_spec): Adjust for the above change.
6533 (struct coding_system): Add utf_8_bom in `spec' union.
6534
6535 * coding.c (CODING_UTF_8_BOM): New macro.
6536 (enum coding_category): Delete coding_category_utf_8, add
6537 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
6538 coding_category_utf_8_sig.
6539 (CATEGORY_MASK_UTF_8): Delete it.
6540 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
6541 (CATEGORY_MASK_UTF_8_SIG): New macros.
6542 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
6543 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
6544 CATEGORY_MASK_UTF_8_SIG.
6545 (CATEGORY_MASK_UTF_8): New macro.
6546 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
6547 (detect_coding_utf_8): Check BOM.
6548 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
6549 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
6550 (encode_coding_utf_16): Likewise.
6551 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
6552 (detect_coding, detect_coding_system): Handle utf-8-auto.
6553 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
6554 (syms_of_coding): Fix setting up of Vcoding_category_table.
6555
65562008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
6557
6558 * process.c (Faccept_process_output): If `millisec' is non-nil,
6559 `seconds' default to 0.
6560 (wait_reading_process_output): Also return non-nil if we read output
6561 from a non-running process.
6562
65632008-05-29 Jason Rumney <jasonr@gnu.org>
6564
6565 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
6566 `raster' specified.
6567 (add_font_entity_to_list): Allow non-opentype truetype fonts back
6568 in the uniscribe backend, but disallow any font that has no
6569 unicode subrange support.
6570
65712008-05-29 Juanma Barranquero <lekktu@gmail.com>
6572
6573 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
6574 Fix typos in docstrings.
6575
65762008-05-29 Kenichi Handa <handa@m17n.org>
6577
6578 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
6579 (Fx_family_fonts): Set frame correctly.
6580
65812008-05-28 Jason Rumney <jasonr@gnu.org>
6582
6583 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
6584
65852008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
6586
6587 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
6588 calling build_annotations.
6589
65902008-05-28 Juanma Barranquero <lekktu@gmail.com>
6591
6592 * coding.c (Fdecode_coding_region, Fencode_coding_region)
6593 (Fencode_coding_string):
6594 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
6595 <latin-extra-code-table>: Fix typos in docstrings.
6596 (syms_of_coding) <coding-system-alist>: Doc fix.
6597 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
6598
65992008-05-28 Kenichi Handa <handa@m17n.org>
6600
6601 * fontset.c (Ffont_info): Don't call font_close_object.
6602
6603 * font.c (font_parse_family_registry): Use Ffont_put to validate
6604 foundry and family.
6605 (font_delete_unmatched): Don't check spacing.
6606 (font_list_entities): Add spacing to the spec to list fonts.
6607
6608 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
6609 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
6610
6611 * coding.c (encode_coding_raw_text): Fix previous change.
6612 (encode_coding_object): When the dst_object is a buffer and is
6613 different from src_object, move gap to PT.
6614
66152008-05-27 Chong Yidong <cyd@stupidchicken.com>
6616
6617 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
6618
66192008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6620
6621 * coding.c (encode_coding_raw_text): Set coding->produced_char for
6622 all branches. Compute it differently.
6623
6624 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
6625
66262008-05-27 Juanma Barranquero <lekktu@gmail.com>
6627
6628 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
6629 into "else if () ... else ...".
6630
66312008-05-27 Jason Rumney <jasonr@gnu.org>
6632
6633 * w32font.c (w32font_open_internal): Determine if glyph indices
6634 are likely to work here.
6635
66362008-05-27 Chong Yidong <cyd@stupidchicken.com>
6637
6638 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
6639 draw overlap glyphs with appropriate highlighting.
6640
66412008-05-27 Kenichi Handa <handa@m17n.org>
6642
6643 * xfont.c (xfont_open): Fix calculation of font->average_width.
6644
66452008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6646
6647 * casefiddle.c (casify_object): Try to guess better whether the
6648 argument is a byte or a char.
6649
66502008-05-26 Andreas Schwab <schwab@suse.de>
6651
6652 * xselect.c (x_reply_selection_request): Properly handle format == 32.
6653 Always send multiples of format size.
6654
6655 * xterm.c (x_set_frame_alpha): Fix type mismatch.
6656
66572008-05-26 Jason Rumney <jasonr@gnu.org>
6658
6659 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
6660 (compute_metrics): Don't set failure if we just cleared the cache.
6661 (w32_weight_table): Remove unused variable.
6662 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
6663 backwards compatibility.
6664
66652008-05-25 Kenichi Handa <handa@m17n.org>
6666
6667 * w32term.c (x_draw_glyph_string):
6668 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
6669
6670 * xfaces.c: Delete unused function prototypes.
6671 (xstrlwr, font_frame): Delete them.
6672 (clear_face_cache): Delete unused variable.
6673
6674 * xftfont.c (xftfont_open): Delete unused variable.
6675 If underline_thickness is not 1, adjust underline_position.
6676
6677 * ftxfont.c (ftxfont_open): Delete unused variable.
6678
6679 * fontset.c (face_for_char): Optimize for the case of no charset
6680 property.
6681
6682 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6683 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6684 (otf_open, font_otf_capability, generate_otf_features)
6685 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6686 Comment out by surrounding "#if 0" and "#endif" for the moment.
6687 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6688 (syms_of_font): Codes for accessing above commented out.
6689
66902008-05-24 Eli Zaretskii <eliz@gnu.org>
6691
6692 * w32proc.c: Include dispextern.h.
6693
6694 * w32.c: Include dispextern.h.
6695
66962008-05-23 Juanma Barranquero <lekktu@gmail.com>
6697
6698 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6699 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6700 Fix typos in docstrings.
6701
67022008-05-23 Jason Rumney <jasonr@gnu.org>
6703
6704 * xsmfns.c: Remove includes that are already included by config.h.
6705
67062008-05-23 Kenichi Handa <handa@m17n.org>
6707
6708 * charset.c (Qemacs, charset_emacs): New variables.
6709 (char_charset): Fix for non-Unicode characters.
6710 (syms_of_charset): Define charset_emacs.
6711
6712 * w32term.c (x_draw_glyph_string): Be sure to update
6713 s->underline_thickness and s->underline_position. Be sure to draw
6714 underline within the current line area.
6715
6716 * xterm.c (x_draw_glyph_string): Be sure to update
6717 s->underline_thickness and s->underline_position. Be sure to draw
6718 underline within the current line area.
6719
6720 * fontset.c: Delete unused variables and add casting for char *
6721 throughout the file.
6722 (fontset_font): Try the fallback fonts of the current fontset
6723 before consulting the default fontset.
6724
6725 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6726
6727 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6728
67292008-05-22 Jason Rumney <jasonr@gnu.org>
6730
6731 * font.c: Don't include strings.h.
6732
6733 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6734
6735 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6736 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6737 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6738 to call xstrcasecmp.
6739
6740 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6741
6742 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6743
6744 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6745
6746 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6747
67482008-05-22 Kenichi Handa <handa@m17n.org>
6749
6750 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6751
6752 * font.c (font_prop_validate_style): Adjust for the format
6753 change of font_style_table.
6754
6755 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6756 two args.
6757
6758 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6759 two args.
6760
67612008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6762
6763 * minibuf.c (keys_of_minibuf): Delete.
6764 * lisp.h (keys_of_minibuf): Delete.
6765 * emacs.c (main): Don't call keys_of_minibuf.
6766
67672008-05-22 Kenichi Handa <handa@m17n.org>
6768
6769 * ftfont.c (ftfont_resolve_generic_family): Rename from
6770 ftfont_list_generic_family. Return a single family for each
6771 generic family.
6772 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6773 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6774 Call font_add_log.
6775 (ftfont_match): Call font_add_log.
6776
6777 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6778 (FONT_DEBUG): Define it.
6779 (font_add_log): Extern it.
6780 (font_assert): Rename from xassert.
6781
6782 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6783 (xfont_list_family): Call font_add_log.
6784 (xfont_match): Likewise.
6785 (memq_no_quit): Delete.
6786
6787 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6788 call of Ffont_xlfd_name.
6789
6790 * xfaces.c (struct table_entry, slant_table, weight_table)
6791 (swidth_table): Move to font.c.
6792
6793 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6794 xassert are changed to font_assert. Delete many unused variables.
6795 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6796 New variables.
6797 (struct table_entry): Move from xfaces.c and modified.
6798 (weight_table, slant_table, width_table): Move from xfaces.c and
6799 contents adjusted for the change of struct table_entry.
6800 (font_style_to_value, font_style_symbolic): Adjust for the
6801 format change of font_style_table.
6802 (font_parse_family_registry): Don't overwrite existing foundry and
6803 family of font_spec.
6804 (font_score): Fix calculation of diff for sizes.
6805 (font_sort_entites): Call font_add_log.
6806 (font_delete_unmatched): Return a newly created list.
6807 (font_list_entities): Fix previous change. Call font_add_log.
6808 (font_matching_entity, font_open_entity, font_close_entity):
6809 Call font_add_log.
6810 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6811 (Finternal_set_font_style_table): Delete.
6812 (BUILD_STYLE_TABLE): New macro.
6813 (build_style_table): New function.
6814 (Vfont_log, font_log_env_checked): New variables.
6815 (font_add_log): New function.
6816 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6817 Declare Lisp variables "font-weight-table", "font-slant-table",
6818 "font-width-table", and "font-log". Initialize font_style_table.
6819
68202008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6821
6822 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6823
68242008-05-21 Seiji Zenitani <zenitani@mac.com>
6825 Ryo Yoshitake <ryo@shiftmode.net>
6826
6827 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6828 (Vframe_alpha_lower_limit): New variable.
6829 (x_set_alpha): New function.
6830
6831 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6832
6833 * xfns.c (x-create-frame, Qalpha):
6834 Initialize the frame parameter `alpha'.
6835 * xterm.c (OPAQUE, OPACITY): New.
6836 (x_set_frame_alpha): New function.
6837 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6838
6839 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6840 * w32fns.c (w32_frame_parm_handlers): Likewise.
6841
68422008-05-20 Jason Rumney <jasonr@gnu.org>
6843
6844 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6845 truetype fonts to opentype list.
6846
68472008-05-20 Juanma Barranquero <lekktu@gmail.com>
6848
6849 * fontset.c (Ffontset_info): Doc fix.
6850 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6851 <ignore-relative-composition>: Fix typos in docstrings.
6852
6853 * font.c (syms-of-font) <font-encoding-alist>:
6854 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6855 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6856 (Ffont_otf_alternates): Doc fixes.
6857
68582008-05-20 Kenichi Handa <handa@m17n.org>
6859
6860 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6861 font.h through out the file.
6862 (FONT_DRIVERS): Rename from FONTOBJ.
6863 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6864 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6865
6866 * emacs.c (main): Call syms_of_font unconditionally.
6867
6868 * font.h (find_font_encoding): Extern it.
6869
6870 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6871 fontset.c.
6872 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6873 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6874 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6875 only when HAVE_WINDOW_SYSTEM is defined.
6876 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6877 when HAVE_WINDOW_SYSTEM is defined.
6878
6879 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6880 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6881
6882 * xfaces.c: Include font.h unconditionally.
6883 (merge_face_ref, merge_face_vectors)
6884 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6885
68862008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6887
6888 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6889 indirect_variable.
6890 * eval.c (lisp_indirect_variable): New fun.
6891 (Fuser_variable_p): Use it.
6892
68932008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6894
6895 * lisp.h (indirect_variable):
6896 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6897 Use Lisp_Symbol pointers rather than Lisp_Object.
6898 Adjust callers.
6899 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6900 To this end, change calling-convention.
6901
6902 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6903 if some non-hidden buffers are selected by string&pred.
6904
69052008-05-19 Chong Yidong <cyd@stupidchicken.com>
6906
6907 * process.c (wait_reading_process_output): Always check status
6908 when in batch mode.
6909
69102008-05-19 Kenichi Handa <handa@m17n.org>
6911
6912 * font.c (font_list_entities): Fix handling of cache.
6913 (font_matching_entity): Likewise.
6914
6915 * ftfont.c (cs_iso8859_1): Delete.
6916 (ft_face_cache): New variable.
6917 (struct ftfont_info): New member fc_charset_idx.
6918 (ftfont_build_basic_charsets): Delete.
6919 (fc_charset_table): New variable.
6920 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6921 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6922 Callers changed.
6923 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6924 (ftfont_spec_pattern): New argument fc_charset_idx.
6925 Check registry more rigidly. Change callers.
6926 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6927 change of :font-entity property of the font.
6928
6929 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6930 property of the font.
6931
69322008-05-18 Juanma Barranquero <lekktu@gmail.com>
6933
6934 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6935 (Funencodable_char_position, Fcheck_coding_systems_region)
6936 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6937 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6938 (Ffind_operation_coding_system, Fset_coding_system_priority)
6939 (Fcoding_system_eol_type): Doc fixes.
6940
69412008-05-17 Glenn Morris <rgm@gnu.org>
6942
6943 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6944
69452008-05-16 Eli Zaretskii <eliz@gnu.org>
6946
6947 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6948 and st_gid.
6949
6950 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6951 HAVE_WINDOW_SYSTEM is not defined.
6952
6953 * xfaces.c (merge_face_ref, merge_face_vectors)
6954 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6955 HAVE_WINDOW_SYSTEM is defined.
6956 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6957
69582008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6959
6960 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6961
69622008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6963
6964 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6965
69662008-05-15 Kenichi Handa <handa@m17n.org>
6967
6968 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6969 preference.
6970
69712008-05-15 Glenn Morris <rgm@gnu.org>
6972
6973 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6974
69752008-05-15 Chong Yidong <cyd@stupidchicken.com>
6976
6977 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6978 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6979
6980 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6981
69822008-05-15 Kenichi Handa <handa@m17n.org>
6983
6984 * ftfont.c (ftfont_list): Downcase family name to check generic
6985 families.
6986
6987 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6988 font-spec for QCfont value.
6989
6990 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6991 buffer. Check the return value of it.
6992
69932008-05-14 Jason Rumney <jasonr@gnu.org>
6994
6995 * w32term.c (w32_get_glyph_overhangs): Remove.
6996 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6997
69982008-05-14 Kenichi Handa <handa@m17n.org>
6999
7000 * font.c (font_prop_validate): Make nil a valid value.
7001 (font_clear_cache): Check if the cached vector of entities is nil
7002 or not.
7003
70042008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7005
7006 * emacs.c (main_thread): Conditionalize on
7007 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7008 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
7009
7010 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
7011 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
7012 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
7013
70142008-05-14 Kenichi Handa <handa@m17n.org>
7015
7016 * coding.c (detect_coding_iso_2022): Ignore a coding category that
7017 has no corresponding coding system.
7018
70192008-05-14 Jason Rumney <jasonr@gnu.org>
7020
7021 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
7022
7023 * w32font.h (w32font_open_internal): Update declaration.
7024
7025 * w32font.c (w32font_open_internal): Change last argument from
7026 w32font_info struct to font object. Fill in font object from
7027 font_entity. Get Outline metrics if possible. Use them to
7028 calculate underline position and thickness. Use xlfd name as name
7029 property. Don't set codepage.
7030 (w32font_open): Pass font_object to w32font_open_internal. Don't
7031 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
7032 (w32font_draw): Use s->font.
7033 (clear_cached_metrics): Don't clear non-existent blocks.
7034
7035 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
7036 font was not found.
7037 (x_draw_glyph_string): Use underline position and thickness from font.
7038
7039 * w32uniscribe.c (uniscribe_open): Pass font_object to
7040 w32font_open_internal.
7041
70422008-05-14 Kenichi Handa <handa@m17n.org>
7043
7044 These changes are to delete all legacy font-handling codes, and
7045 make Emacs use only font-backends.
7046
7047 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
7048 (frame.o, image.o, print.o): Depend on $(FONTSRC).
7049
7050 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
7051
7052 * charset.h (Vcharset_non_preferred_head)
7053 (Vcurrent_iso639_language): Extern them.
7054
7055 * charset.c (Vcharset_non_preferred_head): New variable.
7056 (Vcurrent_iso639_language): New variable.
7057 (syms_of_charset): Declare it as a Lisp variable.
7058 (char_charset): Don't check non preferred charsets. As a last
7059 resort, return charset_unicode.
7060 (Fset_charset_priority): Update Vcharset_non_preferred_head.
7061
7062 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
7063 conditionals. Don't check enable_font_backend. Delete all codes
7064 used only when USE_FONT_BACKEND is not defined.
7065
7066 * dispextern.h (struct glyph_string): Change type of `font' to
7067 `struct font *'.
7068 (struct glyph_string): New member underline_position and
7069 underline_thickness.
7070 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
7071 (struct face): Change type of `font' to `struct font *'. Remove
7072 members `font_name', `font_info_id'.
7073 (per_char_metric, encode_char): Delete externs.
7074 (calc_pixel_width_or_height): Adjust the prototype.
7075
7076 * emacs.c (enable_font_backend): Delete extern.
7077 (main): Don't set enable_font_backend. Don't check the command
7078 line argument "-disable-font-backend".
7079
7080 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
7081 (enum font_property_index): New members FONT_DPI_INDEX,
7082 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
7083 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
7084 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
7085 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
7086 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
7087 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
7088 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
7089 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
7090 (struct font_spec, struct font_entity): New structs.
7091 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
7092 (struct font): Many members from old "struct font_info" moved to
7093 here. Members font and entity deleted.
7094 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
7095 the new font-related objects.
7096 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
7097 (CHECK_FONT_GET_OBJECT): Likewise.
7098 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
7099 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
7100 (struct font_driver): New members case_sensitive anc check. Type
7101 of the member list and open changed.
7102 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
7103 (font_symbolic_width, font_find_object, font_get_spec)
7104 (font_set_lface_from_name): Delete extern.
7105 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
7106
7107 * font.c: Include <strings.h>.
7108 (enable_font_backend): Delete it.
7109 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
7110 (CHECK_VALIDATE_FONT_SPEC): Delete it.
7111 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
7112 (null_string): Delete it.
7113 (null_vector): Make it static.
7114 (font_family_alist): Delete it.
7115 (Qnormal): Extern it.
7116 (QCextra, QClanguage): Delete it.
7117 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
7118 (font_make_spec, font_make_entity, font_make_object)
7119 (font_intern_prop): Renamed from intern_downcase. Don't downcase
7120 the string. Callers changed.
7121 (font_pixel_size): Adjusted for the format change of font-related
7122 objects.
7123 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
7124 (font_style_to_value, font_style_symbolic): New function.
7125 (build_font_family_alist): Delete it.
7126 (font_registry_charsets): Use Fassoc_string instead of
7127 assq_no_quit.
7128 (font_prop_validate_symbol): Don't return null_string.
7129 (font_prop_validate_style): Adjusted for the change of
7130 style-related values in a font vector.
7131 (font_property_table): Delete entries for QClanguage and
7132 QCantialias, add entries for QCavgwidth.
7133 (get_font_prop_index): Delete the 2nd argument FROM.
7134 (font_prop_validate): Arguments changed.
7135 (font_put_extra): Adjusted for the change of font-related objects.
7136 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
7137 (font_parse_fcname, font_unparse_fcname)
7138 (font_prepare_composition): Likewise.
7139 (font_parse_family_registry): Renamed from font_merge_old_spec.
7140 (otf_open): Delete the 1st arg entity.
7141 (font_otf_capability): Adjusted for the above change.
7142 (font_score): New arg alternate_families. Adjusted for the change
7143 of font-related objects.
7144 (font_sort_entites): New arg best_only.
7145 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
7146 Delete them.
7147 (font_match_p): Check alternate families.
7148 (font_find_object): Delete it.
7149 (font_check_object): New function.
7150 (font_clear_cache): Adjusted for the change of font-related objects.
7151 (font_delete_unmatched): New arg.
7152 (font_list_entities): Call font_driver->list with a spec that
7153 doesn't specify style-related properties.
7154 (font_matching_entity): Arguments changed. Caller changed.
7155 (font_open_entity): Adjusted for the change of font-related objects.
7156 (font_close_object, font_has_char, font_encode_char)
7157 (font_get_name, font_get_spec): Likewise.
7158 (font_spec_from_name, font_clear_prop, font_update_lface):
7159 New functions.
7160 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
7161 (font_prepare_for_face, font_done_for_face, font_open_by_name)
7162 (font_at): Adjusted for the change of font-related objects.
7163 (font_range): New function.
7164 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
7165 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
7166 (Fcopy_font_spec, Fmerge_font_spec): New function.
7167 (Ffont_family_list): Renamed from list-families.
7168 (Finternal_set_font_style_table): Arguments changed.
7169 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
7170 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
7171 change of font-related objects.
7172 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
7173
7174 * fontset.h (struct font_info): Delete it. Most members go to
7175 struct font.
7176 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
7177 (enum FONT_SPEC_INDEX): Delete it.
7178 (font_info, list_fonts_func, load_font_func, query_font_func)
7179 (set_frame_fontset_func, find_ccl_program_func)
7180 (get_font_repertory_func, new_fontset_from_font_name): Delete
7181 externs.
7182 (fontset_from_font_name): Extern it.
7183 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
7184 (FONT_INFO_FROM_FACE): Deleted.
7185 (face_for_font): Adjust prototype.
7186
7187 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
7188 conditionals. Don't check enable_font_backend. Delete all codes
7189 used only when USE_FONT_BACKEND is not defined.
7190 (get_font_info_func, list_font_func, load_font_func)
7191 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
7192 (get_font_repertory_func): Delete them.
7193 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
7194 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
7195 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
7196 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
7197 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
7198 (fontset_compare_rfontdef): New function.
7199 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
7200 rfont-defs by qsort. Adjusted for the change of font-group vector.
7201 (load_font_get_repertory): Deleted.
7202 (fontset_find_font): Use new macros to ref/set elements of
7203 font-def and rfont-def.
7204 (fontset_font): Fix the timing of remembering that no font for C.
7205 (free_face_fontset): Do nothing if the face has no fontset.
7206 (face_suitable_for_char_p): Use new macros to ref/set elements of
7207 rfont-def.
7208 (face_for_char): Likewise. Call face_for_char with font_object.
7209 (fs_load_font): Delete. Delete #pragma surrounding it.
7210 (fs_query_fontset): Use strcasecmp instead of strcmp.
7211 (generate_ascii_font_name): Adjusted for the format change of
7212 font-spec.
7213 (Fset_fontset_font): Likewise. Use new macros to set elements of
7214 font-def.
7215 (Fnew_fontset): Use font_unparse_xlfd to generate
7216 FONTSET_ASCII (fontset).
7217 (new_fontset_from_font_name): Deleted.
7218 (fontset_from_font): Renamed from new_fontset_from_font. Check if
7219 a fontset is already created for the font. FIx updating of
7220 Vfontset_alias_alist.
7221 (fontset_ascii_font): Deleted.
7222 (Ffont_info): Adjusted for the format change of font-spec.
7223 (Finternal_char_font): Likewise.
7224 (Ffontset_info): Likewise.
7225 (syms_of_fontset): Don't check load_font_func.
7226
7227 * fns.c (internal_equal): Handle PREV_FONT.
7228
7229 * frame.h: Delete USE_FONT_BACKEND conditional.
7230
7231 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
7232 conditionals. Don't check enable_font_backend. Delete all codes
7233 used only when USE_FONT_BACKEND is not defined.
7234 (x_set_font): Call x_new_font, not x_new_fontset2.
7235 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
7236 already set for the frame.
7237
7238 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
7239 a font-entity by font_make_entity. Use font_intern_prop instead
7240 of intern_downcase. Use FONT_SET_STYLE to set a style-related
7241 font property. If a font is scalable, set avgwidth property to 0.
7242 Set font-entity property by font_put_extra.
7243 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
7244 (ffont_driver): Adjusted for the change of struct font_driver.
7245 (ftfont_spec_pattern): New function.
7246 (ftfont_list): Return a list, not vector.
7247 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
7248 (ftfont_list_family): Don't downcase names.
7249 (ftfont_free_entity): Deleted.
7250 (ftfont_open): Return a font-object. Adjusted for the change of
7251 struct font. Get underline_thickness and underline_position from
7252 font property. Don't update dpyinfo->smallest_font_height and
7253 dpyinfo->smallest_char_width.
7254 (ftfont_close): Don't free `struct font'.
7255 (ftfont_has_char): Adjusted for the format change of font-entity.
7256 (ftfont_encode_char, ftfont_text_extents): Likewise.
7257
7258 * ftxfont.c (ftxfont_list): Return a list, not vector.
7259 (ftxfont_open): Return a font-object. Adjusted for the change of
7260 struct font. Get underline_thickness and underline_position from
7261 font property. Don't update dpyinfo->smallest_font_height and
7262 dpyinfo->smallest_char_width.
7263 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7264 (ftxfont_draw): Adjusted for the change of struct font.
7265
7266 * image.c (image_ascent): Don't include "charset.h". Include
7267 "character.h" and "font.h".
7268
7269 * lisp.h (enum pvec_type): New member PREV_FONT.
7270 (Fassoc_string): EXFUN it.
7271
7272 * print.c: Include font.h.
7273 (print_object): Handle font-related objects.
7274
7275 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
7276 conditionals. Don't check enable_font_backend. Delete all codes
7277 used only when USE_FONT_BACKEND is not defined.
7278 (handle_auto_composed_prop): Do nothing if it->f is not on a
7279 window system. Check how many following characters can be
7280 displayed by the same font.
7281 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7282 'struct font *'.
7283 (get_char_face_and_encoding): Assign the whole encoding task to
7284 the `encode-char' method of a font driver.
7285 (fill_composite_glyph_string): Adjusted for the change of `struct
7286 face' and `struct glyph_string'.
7287 (fill_glyph_string): Likewise.
7288 (get_per_char_metric): Arguments changed.
7289 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7290 and `struct glyph_string'.
7291 (produce_stretch_glyph, calc_line_height_property)
7292 (x_produce_glyphs): Likewise.
7293
7294 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7295 conditionals. Don't check enable_font_backend. Delete all codes
7296 used only when USE_FONT_BACKEND is not defined. Use
7297 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7298 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7299 (Qp): Extern them.
7300 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7301 Deleted.
7302 (struct font_name): Deleted.
7303 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7304 (compare_fonts_by_sort_order): New function.
7305 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7306 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7307 Deleted.
7308 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7309 compare_fonts_by_sort_order.
7310 (Fx_font_family_list): Call Ffont_family_list.
7311 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7312 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7313 (face_symbolic_slant, face_symbolic_swidth)
7314 (split_font_name_into_vector, build_font_name_from_vector)
7315 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7316 (font_rescale_ratio, split_font_name, build_font_name)
7317 (free_font_names, sort_fonts, x_face_list_fonts)
7318 (face_font_available_p, sorted_font_list, cmp_font_names)
7319 (font_list_1, concat_font_list, font_list, remove_duplicates):
7320 Deleted.
7321 (Fx_list_fonts): Use Ffont_list.
7322 (LFACE_AVGWIDTH): Deleted.
7323 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7324 by FONTP.
7325 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7326 (set_lface_from_font_name): Delete it.
7327 (set_lface_from_font): Renamed from
7328 set_lface_from_font_and_fontset. Caller changed. Don't set
7329 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7330 for face.
7331 (merge_face_vectors): Copy font-spec if necessary.
7332 Clear properties of the font-spec if necessary.
7333 (merge_face_ref): Clear properties of the font-spec if necessary.
7334 (Finternal_set_lisp_face_attribute): Likewise.
7335 (set_font_frame_param): Use font_load_for_lface to load a
7336 font-object, and call Fmodify_frame_parameters with it.
7337 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7338 font name by Ffont_xlfd_name.
7339 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7340 QCslant, and QCwidth.
7341 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7342 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7343 Compare fonts by EQ.
7344 (lookup_non_ascii_face): Deleted.
7345 (face_for_font): The 2nd argument changed.
7346 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7347 Check atomic font properties by case insensitive.
7348 (realize_non_ascii_face): Set face->overstrike correctly.
7349 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7350 (dump_realized_face): Get font name from
7351 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7352
7353 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
7354 conditionals. Don't check enable_font_backend. Delete all codes
7355 used only when USE_FONT_BACKEND is not defined.
7356 (xic_create_xfontset): Original code deleted and renamed from
7357 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
7358 (x_make_gc): Don't set GCFont in GCs.
7359 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
7360 opened by "fixed".
7361 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
7362 find_ccl_program_func, query_font_func, set_frame_fontset_func,
7363 get_font_repertory_func.
7364
7365 * xfont.c: Include <stdlib.h> and "ccl.h".
7366 (struct xfont_info): New structure.
7367 (xfont_query_font): Deleted.
7368 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
7369 moved from xterm.c.
7370 (xfont_driver): Adjusted for the change of struct font_driver.
7371 (compare_font_names): New function.
7372 (xfont_list_pattern): Sort font names case insensitively. Make
7373 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
7374 (xfont_list): Return a list, not vector.
7375 (xfont_match): If the font doesn't have QCname property, generate
7376 a name from the other font properties.
7377 (xfont_open): Return a font-object. Adjusted for the change of
7378 struct font. Get underline_thickness and underline_position from
7379 font property. Don't update dpyinfo->smallest_font_height and
7380 dpyinfo->smallest_char_width.
7381 (xfont_close): Don't free struct font.
7382 (xfont_prepare_face): Adjusted for the change of struct font.
7383 (xfont_done_face): Deleted.
7384 (xfont_has_char): Adjusted for the change of struct font.
7385 (xfont_encode_char, xfont_draw): Likewise.
7386 (xfont_check): New function.
7387
7388 * xftfont.c (xftfont_list): Adjusted for the change of `list'
7389 callback function.
7390 (xftfont_match): Adjusted for the format change of font-entity.
7391 (xftfont_open): Adjusted for the format change of font-entity and
7392 font-object. Adjusted for the change of struct font. Return a
7393 font-object. Don't update dpyinfo->smallest_font_height and
7394 dpyinfo->smallest_char_width.
7395 (xftfont_close): Block input while calling XftFontClose.
7396 (xftfont_prepare_face): Don't block input while calling
7397 xftfont_get_colors. Adjusted for the change of struct font.
7398 (xftfont_shape): Return value of error case fixed.
7399
7400 * xrdb.c (x_load_resources): Don't setup a fontset resource.
7401
7402 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
7403 conditionals.
7404 (FONT_WIDTH): Return (f)->max_width.
7405 (struct x_display_info): Delete member `font'.
7406 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
7407 (x_find_ccl_program, x_get_font_repertory): Delete externs.
7408 (struct x_output): Change type of `font' to `struct font *'.
7409
7410 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
7411 conditionals. Don't check enable_font_backend. Delete all codes
7412 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
7413 (x_per_char_metric, x_encode_char): Deleted.
7414 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
7415 (x_compute_glyph_string_overhangs): Adjusted for the change of
7416 `struct face'.
7417 (x_draw_glyph_string_foreground)
7418 (x_draw_composite_glyph_string_foreground): Likewise.
7419 (x_draw_glyph_string): Likewise. Use font->underline_position and
7420 font->underline_thickness.
7421 (x_new_font): Renamed from x_new_fontset2.
7422 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
7423 (x_check_font): Call `check' method of a font driver.
7424 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
7425 (x_query_font, x_get_font_repertory): Deleted.
7426 (x_find_ccl_program): Renamed and moved to xfont.c.
7427 (x_redisplay_interface): Adjusted for the change of `struct
7428 redisplay_interface'.
7429
7430 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
7431 conditionals. Don't check enable_font_backend. Delete all codes
7432 used only when USE_FONT_BACKEND is not defined. Surround non-used
7433 code by "#ifdef OLD_FONT" and "endif".
7434 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
7435
7436 * w32font.h (struct w32font_info): New member.
7437 (FONT_COMPAT): New macro.
7438 (w32font_open_internal): Prototype adjusted.
7439
7440 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
7441 OLD_FONT" and "endif".
7442
7443 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
7444 conditionals. Don't check enable_font_backend. Delete all codes
7445 used only when USE_FONT_BACKEND is not defined.
7446 (w32font_open): Return a font-object. Make a font-object by
7447 font_make_object. Adjusted for the change of struct w32font_info.
7448 (w32font_close): Don't free struct font. Adjusted for the change
7449 of struct w32font_info.
7450 (w32font_encode_char, w32font_text_extents, w32font_draw):
7451 Adjusted for the change of struct w32font_info.
7452 (w32font_draw): Likewise.
7453 (w32font_list_internal): Return a list, not vector.
7454 (w32font_open_internal): Change the 4th arg to font-object.
7455 Adjusted for the change of struct w32font_info and font-object format.
7456 (add_font_name_to_list): Don't downcase names.
7457 (w32_enumfont_pattern_entity): Make a font-entity by
7458 font_make_entity. Adjusted for the format change of font-entity.
7459 Use FONT_SET_STYLE to set a style-related font property. If a
7460 font is scalable, set avgwidth property to 0. Set font-entity
7461 property by font_put_extra.
7462 (font_matches_spec): Adjusted for the format change of font-entity.
7463 (w32_weight_table, w32_decode_weight): New variables.
7464 (w32_encode_weight): New function.
7465 (fill_in_logfont): Adjusted for the format change of font-spec.
7466 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
7467 weight value.
7468 (w32font_driver): Adjusted for the change of struct font_driver.
7469
7470 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
7471 conditionals. Don't check enable_font_backend. Surround non-used
7472 code by "#ifdef OLD_FONT" and "endif".
7473 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
7474 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
7475
7476 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
7477 conditionals. Don't check enable_font_backend. Delete all codes
7478 used only when USE_FONT_BACKEND is not defined. Surround non-used
7479 code by "#ifdef OLD_FONT" and "endif".
7480
7481 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
7482 (uniscribe_open): Return value changed to font-object.
7483 Adjusted for the format change of font-object.
7484 (uniscribe_otf_capability): Adjusted for the change of struct font.
7485 (add_opentype_font_name_to_list): Don't downcase names.
7486 (uniscribe_font_driver): Adjusted for the change of struct
7487 font_driver.
7488
74892008-05-13 Chong Yidong <cyd@stupidchicken.com>
7490
7491 * dispnew.c (update_frame_1): Check if tty output is still valid
7492 before flushing it.
7493
74942008-05-13 Jan Djärv <jan.h.d@swipnet.se>
7495
7496 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
7497 to Gtk+ menus.
7498
74992008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
7500
7501 * dired.c (file_name_completion): Tweak the code so as to always do it
7502 in a single pass. Tighten the scope of some variables.
7503
7504 * dired.c (Qdefault_directory): New var.
7505 (file_name_completion): Use it instead of Fexpand_file_name.
7506 (syms_of_dired): Initialize it.
7507
75082008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7509
7510 * fileio.c (double_dollars): Remove dead code.
7511
75122008-05-10 Eli Zaretskii <eliz@gnu.org>
7513
7514 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
7515 Mention w32-get-true-file-attributes in doc string.
7516
7517 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
7518
75192008-05-09 Glenn Morris <rgm@gnu.org>
7520
7521 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
7522 2008-04-23.
7523
75242008-05-09 Eli Zaretskii <eliz@gnu.org>
7525
7526 Support for reporting owner and group of each file on MS-Windows:
7527 * dired.c (stat_uname, stat_gname): New functions, with special
7528 implementation for w32.
7529 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
7530
7531 * w32.c: Rename the_passwd_* to dflt_passwd_*.
7532 (dflt_group_name): New static variable.
7533 (dflt_group): Rename from the_group.
7534 (init_user_info): Init dflt_group fields. Get user's group name
7535 from LookupAccountSid.
7536 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
7537 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
7538 New initialization states.
7539 (globals_of_w32): Initialize them to zero. Initialize the default
7540 group name to "None".
7541 (GetFileSecurity_Name): New global var, the name of the function
7542 to call for GetFileSecurity.
7543 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
7544 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
7545 (get_file_security, get_security_descriptor_owner)
7546 (get_security_descriptor_group, is_valid_sid)
7547 (get_file_security_desc, get_rid, get_name_and_id)
7548 (get_file_owner_and_group): New functions.
7549 (stat): Use get_file_security_desc and get_file_owner_and_group to
7550 report the owner and primary group of each file. Don't ignore the
7551 high 32 bits of file's size, now that st_size is 64-bit wide.
7552 Fix test when to get true file attributes.
7553 (init_user_info): Use get_rid instead of equivalent inline code.
7554 (fstat): Don't ignore the high 32 bits of file's size.
7555
75562008-05-09 Chong Yidong <cyd@stupidchicken.com>
7557
7558 * image.c (png_load): Use correct bit-depth for setting background
7559 color.
7560
75612008-05-08 Eli Zaretskii <eliz@gnu.org>
7562
7563 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
7564 epa-hook.elc.
7565
75662008-05-08 Juanma Barranquero <lekktu@gmail.com>
7567
7568 * font.c (Ffont_match_p): Don't use `iff' in docstring.
7569
75702008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
7571
7572 * macfns.c (Fx_create_frame): Make a copy of frame parameters
7573 because the original parameters are in pure storage now.
7574 (mac_window): Remove unused params. Update callers.
7575
75762008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
7577
7578 * lread.c (substitute_object_recurse): Use lower-level primitives.
7579 Don't signal errors when traversing sub-char-tables.
7580 Don't loop over all the possible characters when traversing char-tables.
7581
7582 * print.c (print_preprocess): Add sub-char-tables to the print-table,
7583 just like we do in print.c.
7584
75852008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
7586
7587 * minibuf.c (Ftry_completion): Remove code left over from when we used
7588 scmp instead of Fcompare_strings.
7589
75902008-05-04 Juanma Barranquero <lekktu@gmail.com>
7591
7592 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
7593
75942008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7595
7596 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
7597 Create bitmap context in native byte order.
7598
7599 * macterm.c (XDrawLine)
7600 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
7601 context in native byte order.
7602
76032008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7604
7605 * config.in: Regenerate.
7606
7607 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
7608 New definitions for Image I/O support.
7609 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
7610 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
7611 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7612 (mac_data_provider_release_data, image_load_image_io)
7613 [USE_MAC_IMAGE_IO]: New functions.
7614 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
7615 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
7616 (init_image_func_pointer) [MAC_OSX]: Remove function.
7617 (image_load_quartz2d) [MAC_OSX]: Check availability of
7618 CGImageCreateWithPNGDataProvider at compile time.
7619 Use lowercase `false' for boolean constant.
7620 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
7621 Use image_load_image_io.
7622 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
7623 Don't check MyCGImageCreateWithPNGDataProvider.
7624 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
7625 Don't call init_image_func_pointer.
7626
7627 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
7628
7629 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
7630 Make variable non-static.
7631 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
7632 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7633
7634 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
7635 (RED_FROM_ULONG): Mask off higher bits.
7636 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
7637
7638 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
7639 Include AvailabilityMacros.h.
7640 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
7641 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
7642
76432008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
7644
7645 * chartab.c (Fset_char_table_range): If range is t, really set all
7646 chars to that value.
7647
76482008-05-03 Eli Zaretskii <eliz@gnu.org>
7649
7650 * dired.c (Ffile_attributes): Don't allow the device number become
7651 negative.
7652
76532008-05-02 Daiki Ueno <ueno@unixuser.org>
7654
7655 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
7656
76572008-05-02 Juri Linkov <juri@jurta.org>
7658
7659 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
7660 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
7661 DEFAULT argument as a list of default values in docstrings.
7662
76632008-05-01 Chong Yidong <cyd@stupidchicken.com>
7664
7665 * puresize.h (BASE_PURESIZE): Increase to 1210000.
7666
76672008-05-01 Martin Rudalics <rudalics@gmx.at>
7668
7669 * dispnew.c (change_frame_size_1): Preserve small windows when
7670 shrinking frames by calling set_window_height|width with third
7671 arg 2.
7672
7673 * window.h (struct window): Replace field too_small_ok by field
7674 resize_proportionally.
7675
7676 * window.c (make_window): Initialize resize_proportionally.
7677 (enlarge_window): Temporarily set resize_proportionally to make
7678 sure that shrink_windows does scale the window proportionally.
7679 (shrink_windows): When window has resize_proportionally set try
7680 to shrink it proportionally by stealing from other windows.
7681 (struct saved_window, Fset_window_configuration)
7682 (compare_window_configurations): Handle resize_proportionally.
7683 (WINDOW_TOTAL_SIZE): New macro.
7684 (window_min_size, shrink_windows, size_window): Use it.
7685 (check_min_window_sizes): Remove. Invalid values of
7686 window-min-height|width are handled by window_min_size_2 now.
7687 (size_window, Fsplit_window, enlarge_window)
7688 (adjust_window_trailing_edge, grow_mini_window): Don't call
7689 check_min_window_sizes.
7690 (window_min_size_2, window_min_size_1, window_min_size):
7691 New argument safe_p for retrieving "safe" minimum sizes.
7692 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7693 (adjust_window_trailing_edge, grow_mini_window):
7694 Adjust arguments of window_min_size... functions.
7695 (shrink_windows): Argument min_size removed. New argument
7696 safe_p allows shrinking windows to their safe minimum sizes.
7697 Calculate minimum size and decide whether a window shall be
7698 deleted for each window individually.
7699 (size_window): When nodelete_p equals 2, tell shrink_windows to
7700 delete windows only if their new minimum size is no more safe.
7701 (shrink_window_lowest_first): Call window_min_size_1 to make
7702 sure to preserve modeline of bottom-most window when resizing
7703 the minibuffer.
7704 (Fset_window_configuration, Fcurrent_window_configuration)
7705 (compare_window_configurations): Do not handle
7706 window-min-height|width any more.
7707 (syms_of_window): Clarify window-min-height|width doc-strings.
7708
77092008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7710
7711 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7712 some more. Copy some of the code from Ftry_completions.
7713 Remove special case code that dates back to initial revision when the
7714 slash was only added when necessary and that can't trigger nowadays.
7715
77162008-04-27 Kenichi Handa <handa@m17n.org>
7717
7718 * font.c (font_prop_validate): Signal `error' instead of `font'.
7719
77202008-04-29 Jason Rumney <jasonr@gnu.org>
7721
7722 * w32fns.c (Fw32_battery_status): New defun.
7723 (syms_of_w32fns): Defsubr it.
7724
77252008-04-28 Andreas Schwab <schwab@suse.de>
7726
7727 * dired.c (file_name_completion): Fix another mixing of encoded
7728 and decoded names.
7729
77302008-04-28 Juanma Barranquero <lekktu@gmail.com>
7731
7732 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7733
77342008-04-27 Juanma Barranquero <lekktu@gmail.com>
7735
7736 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7737
77382008-04-27 Andreas Schwab <schwab@suse.de>
7739
7740 * dired.c (file_name_completion): Fix inappropriate mixing of
7741 encoded and decoded names.
7742
7743 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7744
7745 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7746
77472008-04-26 Eli Zaretskii <eliz@gnu.org>
7748
7749 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7750 2008-03-31, it's not needed anymore with `struct stat' definition
7751 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7752 for the same reasons.
7753
77542008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7755
7756 * m/sparc.h: Additional redefinitions for GNU/Linux.
7757
77582008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7759
7760 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7761 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7762 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7763 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7764 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7765 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7766 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7767 Likewise.
7768
7769 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7770 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7771 (mac_ax_number_of_characters): Add externs.
7772 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7773 [USE_MAC_TSM]: Likewise.
7774 (mac_handle_text_input_event) [MAC_OSX]:
7775 Handle kEventTextInputOffsetToPos for no active input area case.
7776 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7777 (mac_handle_document_access_event)
7778 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7779 (install_application_handler) [MAC_OSX]: Register handlers for
7780 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7781 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7782 Register mac_handle_document_access_event.
7783
7784 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7785 Make functions non-static.
7786
77872008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7788
7789 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7790 (read_file_name_completion_ignore_case, insert_default_directory)
7791 (Qdefault_directory): Move to minibuffer.el.
7792 (Fread_file_name): Call the new `read-file-name' instead.
7793
77942008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7795
7796 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7797 Make function non-static.
7798 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7799 Remove function.
7800 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7801 Move to mactoolbox.c.
7802 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7803
7804 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7805 (mac_rect_make): New macro.
7806
7807 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7808 instead of float.
7809 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7810 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7811 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7812 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7813 CGRectMake.
7814 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7815 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7816 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7817 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7818 instead of WindowRef in argument type.
7819 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7820 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7821 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7822 instead of DISPLAY. All uses changed.
7823 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7824 (x_calc_absolute_position): Simplify so as not to use
7825 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7826
7827 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7828 instead of WindowRef in argument type.
7829 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7830 [TARGET_API_MAC_CARBON]: Remove externs.
7831 (create_apple_event, mac_event_parameters_to_lisp)
7832 [TARGET_API_MAC_CARBON]: Add externs.
7833
7834 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7835 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7836 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7837 is clicked.
7838 (x_activate_menubar): Remove extern for saved_menu_event_location.
7839 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7840 Move from mac.c.
7841
78422008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7843
7844 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7845 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7846
78472008-04-23 Jason Rumney <jasonr@gnu.org>
7848
7849 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7850 attributes only for local files.
7851
7852 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7853 default to Qlocal.
7854
78552008-04-22 Juri Linkov <juri@jurta.org>
7856
7857 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7858 read-buffer-to-switch instead of using the letter "B".
7859
78602008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7861
7862 * fileio.c (Qdefault_directory): New variable.
7863 (Fread_file_name): Use it to pass `dir' to the completion functions.
7864
78652008-04-20 Chong Yidong <cyd@stupidchicken.com>
7866
7867 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7868
78692008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7870
7871 * keyboard.c (Vpre_help_message): Remove.
7872 (show_help_echo): Remove default C code.
7873
7874 * dired.c (directory_files_internal, file_name_completion):
7875 Only call ENCODE_FILE if the string is indeed decoded.
7876
78772008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7878
7879 * Makefile.in (TOOLKIT_DEFINES): Remove.
7880 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7881
78822008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7883
7884 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7885 (mactoolbox.o): New target.
7886
7887 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7888 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7889
7890 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7891 Use mac_set_frame_window_background instead of XSetWindowBackground.
7892 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7893 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7894 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7895 instead of SetWindowTitleWithCFString.
7896 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7897 Move function to mactoolbox.c.
7898 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7899 Use mac_set_window_modified instead of SetWindowModified.
7900 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7901 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7902 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7903 FrontNonFloatingWindow. Use mac_activate_window instead of
7904 ActivateWindow. Use mac_active_non_floating_window instead of
7905 ActiveNonFloatingWindow.
7906 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7907 Use mac_show_hourglass and mac_hide_hourglass.
7908 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7909 instead of GetGlobalMouse.
7910 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7911 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7912 Use mac_bring_window_to_front instead of BringToFront.
7913 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7914 mactoolbox.c.
7915 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7916 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7917 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7918 mactoolbox.c.
7919
7920 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7921 (XtPointer): Move typedef from macmenu.c.
7922 (enum button_type): Move enum from macmenu.c.
7923 (widget_value): Move typedef from macmenu.c.
7924 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7925 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7926 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7927 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7928 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7929 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7930 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7931 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7932 (Selection): Move typedef from macselect.c.
7933 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7934 macterm.c.
7935 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7936 (mac_is_window_collapsed, mac_bring_window_to_front)
7937 (mac_send_window_behind, mac_hide_window, mac_show_window)
7938 (mac_collapse_window, mac_front_non_floating_window)
7939 (mac_active_non_floating_window, mac_activate_window)
7940 (mac_move_window_structure, mac_move_window, mac_size_window)
7941 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7942
7943 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7944 (enum mac_menu_kind): Move enum to mactoolbox.c.
7945 (min_menu_id): Move variable to mactoolbox.c.
7946 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7947 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7948 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7949 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7950 [TARGET_API_MAC_CARBON]: Likewise.
7951 (XtPointer): Move typedef to macgui.h.
7952 (enum button_type): Move enum to macgui.h.
7953 (widget_value): Move typedef to macgui.h.
7954 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7955 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7956 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7957 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7958 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7959 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7960 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7961 (popup_activated_flag): Make variable non-static.
7962 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7963 (add_menu_item, fill_menu, dispose_menus):
7964 Move functions to mactoolbox.c.
7965 (restore_show_help_function, menu_target_item_handler)
7966 (install_menu_target_item_handler, mac_handle_dialog_event)
7967 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7968 [TARGET_API_MAC_CARBON]: Likewise.
7969 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7970 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7971 (find_and_call_menu_selection, name_is_separator): Make function
7972 non-static.
7973 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7974 to mactoolbox.c.
7975 (set_frame_menubar): Don't call install_menu_quit_handler.
7976 (menu_item_selection): New variable.
7977 (mac_menu_show): Use create_and_show_popup_menu.
7978 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7979 selection but set variable menu_item_selection. All uses changed.
7980 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7981 Call install_menu_quit_handler. Move to mactoolbox.c.
7982
7983 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7984 (Selection): Move typedef to macgui.h.
7985 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7986 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7987 Make variables non-static.
7988 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7989 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7990 Make functions non-static.
7991 (Vmac_service_selection) [MAC_OSX]: Likewise.
7992 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7993 (mac_valid_selection_target_p, mac_clear_selection)
7994 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7995 (mac_put_selection_value, mac_selection_has_target_p)
7996 (mac_get_selection_value, mac_get_selection_target_list)
7997 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7998 Move functions to mactoolbox.c.
7999 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
8000 Likewise.
8001 (copy_scrap_flavor_data, mac_handle_service_event)
8002 (install_service_handler) [MAC_OSX]: Likewise.
8003 (syms_of_macselect) <Vmac_dnd_known_types>:
8004 Use mac_dnd_default_known_types.
8005
8006 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
8007 Move to mactoolbox.c.
8008 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
8009 (Fx_selection_owner_p): Add EXFUN.
8010 (install_window_handler, remove_window_handler, XSetWindowBackground):
8011 Remove externs.
8012 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
8013 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
8014 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
8015 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
8016 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
8017 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
8018 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
8019 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
8020 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
8021 (create_and_show_popup_menu, mac_get_selection_from_symbol)
8022 (mac_valid_selection_target_p, mac_clear_selection)
8023 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
8024 (mac_put_selection_value, mac_selection_has_target_p)
8025 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
8026 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
8027 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
8028 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
8029 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
8030 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
8031 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
8032 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8033 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
8034
8035 * mactoolbox.c: New file.
8036
80372008-04-18 Jason Rumney <jasonr@gnu.org>
8038
8039 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
8040
80412008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
8042
8043 * character.c (Fmultibyte_char_to_unibyte):
8044 Return latin1 chars unchanged.
8045
8046 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
8047 relocated if it points to `name'.
8048
80492008-04-17 Kenichi Handa <handa@m17n.org>
8050
8051 * data.c (Faset): Allow setting a multibyte character in an
8052 ASCII-only unibyte string.
8053
8054 * lisp.h (STRING_SET_MULTIBYTE): New macro.
8055
80562008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
8057
8058 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
8059 done in config.h.
8060
80612008-04-16 Juanma Barranquero <lekktu@gmail.com>
8062
8063 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
8064 (Fchar_direction): Add usage in the docstring.
8065
80662008-04-15 Chong Yidong <cyd@stupidchicken.com>
8067
8068 * keyboard.c (read_key_sequence): Remove always-true checks.
8069
80702008-04-14 Jason Rumney <jasonr@gnu.org>
8071
8072 * w32font.c (w32font_open_internal): Set max_bounds.descent in
8073 compatibility struct, for better underline positioning.
8074
80752008-04-13 David Hansen <david.hansen@gmx.net>
8076
8077 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
8078 string.
8079
80802008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
8081
8082 * m/hp800.h (XUINT, XSET): Remove.
8083
80842008-04-12 Juanma Barranquero <lekktu@gmail.com>
8085
8086 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
8087 previous change.
8088
80892008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
8090
8091 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
8092 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
8093
80942008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8095
8096 * keymap.h (map_keymap_canonical): Declare.
8097 * xmenu.c (single_keymap_panes): Use it.
8098
80992008-04-11 Glenn Morris <rgm@gnu.org>
8100
8101 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
8102 set the target's value to that of the alias.
8103
81042008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
8105
8106 * term.c (set_tty_color_mode): Left over typo.
8107
81082008-04-10 Michael Albinus <michael.albinus@gmx.de>
8109
8110 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
8111 only after check for file name handler functions. Signal, when
8112 native functionality is not supported.
8113 (syms_of_fileio): Declare it unconditionally.
8114
81152008-04-10 Jason Rumney <jasonr@gnu.org>
8116
8117 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
8118 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
8119
8120 * w32.c (logon_network_drive): Also logon to remote drives that
8121 are mapped to drive letters.
8122
81232008-04-10 Glenn Morris <rgm@gnu.org>
8124
8125 * xdisp.c (truncate-partial-width-windows): Doc fix.
8126
81272008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
8128
8129 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
8130 Move functions to minibuffer.el.
8131 (syms_of_fileio): Don't declare them.
8132
81332008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8134
8135 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
8136 (syms_of_minibuf): Remove its initialization.
8137
8138 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
8139
81402008-04-09 Juanma Barranquero <lekktu@gmail.com>
8141
8142 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
8143
81442008-04-09 Jason Rumney <jasonr@gnu.org>
8145
8146 * makefile.w32-in (distclean): Delete makefile too.
8147 (maintainer-clean): New target.
8148
8149 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
8150
8151 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
8152 for new font backend and composite cases.
8153
81542008-04-09 Jan Djärv <jan.h.d@swipnet.se>
8155
8156 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
8157 Most of the code moved to run_timers.
8158 (do_pending_atimers): Call run_timers.
8159 (run_timers): New function.
8160
8161 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
8162 run atimers.
8163
8164 * process.c (wait_reading_process_output): The same as above.
8165
81662008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
8167
8168 * minibuf.c (last_exact_completion): Remove variable.
8169 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
8170 (complete_and_exit_1, complete_and_exit_2)
8171 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
8172 (Fdisplay_completion_list, display_completion_list_1)
8173 (Fminibuffer_completion_help, Fself_insert_and_exit)
8174 (Fexit_minibuffer, Fminibuffer_message): Move functions to
8175 minibuffer.el.
8176 (syms_of_minibuf): Remove corresponding initializations.
8177
8178 * keyboard.c (Qdeactivate_mark): New var.
8179 (command_loop_1): Use it to call `deactivate-mark'.
8180 (syms_of_keyboard): Initialize it.
8181
8182 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
8183 to another frame.
8184 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
8185 Don't call set_tty_color_mode.
8186 (store_frame_param): Reset previous_frame rather than call
8187 set_tty_color_mode.
8188 * term.c (set_tty_color_mode): Rewrite.
8189 * dispextern.h (set_tty_color_mode): New type.
8190 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
8191
81922008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
8193
8194 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
8195 for generic chars, which do not exist any more in emacs-unicode.
8196
81972008-04-08 Michael Albinus <michael.albinus@gmx.de>
8198
8199 * coding.c (detect_coding_emacs_mule)
8200 (Ffind_operation_coding_system): Fix typo.
8201
82022008-04-08 Jason Rumney <jasonr@gnu.org>
8203
8204 * w32uniscribe.c (SNAME): Extract only symbol name.
8205
8206 * w32font.h (struct w32_metric_cache): New struct.
8207 (w32font_info): Use it.
8208 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
8209 (CACHE_BLOCKSIZE): New constants.
8210
8211 * w32font.c (Qja, Qko, Qzh): New symbols.
8212 (syms_of_w32font): Initialise them.
8213 (font_matches_spec): Use them to filter by language.
8214 (recompute_cached_metrics): Remove function.
8215 (compute_metrics, clear_cached_metrics): New functions.
8216 (w32font_encode_char): Use them to manage metric cache.
8217 (w32font_text_extents): Cache metrics for all glyphs on demand.
8218 Delay converting glyph indices to WORD until needed.
8219 (w32font_open_internal): Initialize metric cache to empty.
8220 (registry_to_w32_charset): Charset should always be a symbol.
8221 (fill_in_logfont, list_all_matching_fonts): Family should
8222 always be a symbol.
8223
82242008-04-06 Jason Rumney <jasonr@gnu.org>
8225
8226 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
8227 Give up if glyph indices not supported. Use uniscribe obtained
8228 ABC widths for individual metrics. Map glyph clusters back to
8229 characters using fClusterStart flag. Return number of glyphs
8230 produced, not chars processed.
8231 (uniscribe_shape): Map char at FROM to current glyph.
8232
82332008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8234
8235 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
8236 Use SetMenuItemHierarchicalMenu.
8237
82382008-04-05 Jason Rumney <jasonr@gnu.org>
8239
8240 * image.c (pbm_load): Allow color values up to 65535.
8241 Throw an error if max_color_idx is outside the supported range.
8242 Report an error when image size is invalid.
8243 Read two bytes at a time when raw images have max_color_idx above 255.
8244
82452008-04-05 Eli Zaretskii <eliz@gnu.org>
8246
8247 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8248 cFileName a file name that includes `?' characters, use the 8+3
8249 alias in cAlternateFileName instead.
8250
82512008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
8252
8253 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8254 append "CCL: Quitted" when the CCL program is quitted.
8255 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8256
8257 * ccl.h (struct ccl_program): New member quit_silently.
8258
82592008-04-05 Chong Yidong <cyd@stupidchicken.com>
8260
8261 * search.c (compile_pattern_1): Treat non-nil and non-string of
8262 search-spaces-regexp as nil.
8263
8264 * minibuf.c (Fassoc_string): Tweak docstring.
8265
82662008-04-05 Eli Zaretskii <eliz@gnu.org>
8267
8268 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8269 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8270 2008-03-14 to force inode be positive.
8271
8272 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8273 _S_* ones, since we now use our own sys/stat.h.
8274 (stat, fstat): Don't mangle the inode number.
8275 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8276
82772008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8278
8279 * frame.h (struct frame): Give one more bit to `visible' since we use
8280 values larger than 1 to indicate obscured frames on ttys.
8281
8282 * keymap.c (Qkeymap_canonicalize): New var.
8283 (Fmap_keymap_internal): New fun.
8284 (describe_map): Use keymap-canonicalize.
8285
8286 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8287 (Fundo_boundary): Set them.
8288 (syms_of_undo): Initialize them.
8289 (record_point): Use them instead of last_point_position*.
8290 (last_undo_buffer): Change type.
8291
82922008-04-04 Jason Rumney <jasonr@gnu.org>
8293
8294 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8295 (recompute_cached_metrics): Don't set ascent and descent per char.
8296
8297 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8298 (uniscribe_check_otf): Add GC protection before consing.
8299 Rearrange loop for counting features.
8300
83012008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8302
8303 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8304 buffer with byte-size of source buffer.
8305
83062008-04-03 Chong Yidong <cyd@stupidchicken.com>
8307
8308 * callint.c (Fcall_interactively): Handle temporary region even
8309 when shift-select-mode is off.
8310
83112008-04-03 Jason Rumney <jasonr@gnu.org>
8312
8313 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8314
83152008-04-03 Kenichi Handa <handa@m17n.org>
8316
8317 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8318 (CATEGORY_MASK_UTF_16): Likewise.
8319 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8320 binary file.
8321 (detect_coding): Add null-byte detection for a binary file.
8322 (detect_coding_system): Likewise.
8323
83242008-04-03 Jason Rumney <jasonr@gnu.org>
8325
8326 * w32uniscribe.c: New file.
8327
8328 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8329
8330 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8331
8332 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8333 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8334 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8335 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8336 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8337 (Qphonetic): New symbols.
8338 (syms_of_w32font): Initialize them.
8339 (font_supported_scripts): Use them.
8340 (w32font_list_family): List all charsets.
8341 (w32font_text_extents, recompute_cached_metrics): Fix metric
8342 calculations.
8343 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8344 Give opentype fonts their own format.
8345 (font_matches_spec): New arguments backend and logfont.
8346 Handle :otf spec for uniscribe backend.
8347 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8348 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8349
8350 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8351 font backend.
8352 (globals_of_w32fns): Initialize uniscribe font backend.
8353
8354 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
8355 dependencies.
8356 (w32uniscribe.$(O)): New file to build.
8357 (FONT_OBJ): Include w32uniscribe.$(O).
8358 (LIBS): Add uniscribe libraries.
8359
8360 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
8361
83622008-04-02 Chong Yidong <cyd@stupidchicken.com>
8363
8364 * callint.c (Vshift_select_mode): New var.
8365 (Finteractive): Document new ^ spec.
8366 (Fcall_interactively): Call handle-shift-selection if the ^ spec
8367 is present.
8368
8369 * keyboard.c (Vthis_command_keys_shift_translated): New var.
8370 (command_loop_1): Avoid running the direct display versions of
8371 forward-char and backward-char if shift-selection may occur.
8372 (read_key_sequence): Set Vthis_command_keys_shift_translated if
8373 shift-translation takes place.
8374
8375 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
8376 avoid clobbering by define-minor-mode.
8377
8378 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
8379 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
8380
8381 * syntax.c (Fforward_word): Add ^ interactive spec.
8382
8383 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
8384 (Fscroll_right): Add ^ interactive spec.
8385
83862008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
8387
8388 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
8389
8390 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
8391
8392 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
8393
83942008-03-31 Juri Linkov <juri@jurta.org>
8395
8396 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
8397
83982008-03-30 Jan Djärv <jan.h.d@swipnet.se>
8399
8400 * gtkutil.c (xg_set_geometry): Fix indentation.
8401 (xg_resize_outer_widget): Remove.
8402 (x_wm_size_hint_off): Fix indentation.
8403 (xg_frame_set_char_size): Call flush_and_sync after
8404 gtk_window_resize.
8405 (x_wm_set_size_hint): Pass NULL as geometry window to
8406 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
8407 Add menu bar and tool bar height to base height.
8408 (xg_update_frame_menubar, free_frame_menubar)
8409 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
8410 (update_frame_tool_bar, free_frame_tool_bar):
8411 Change xg_resize_outer_widget to xg_frame_set_char_size.
8412
84132008-03-30 Michael Albinus <michael.albinus@gmx.de>
8414
8415 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
8416 (Fdbus_call_method): New parameter TIMEOUT.
8417 (dbus-send-signal): Optimize UNGCPRO call.
8418
84192008-03-29 Juri Linkov <juri@jurta.org>
8420
8421 * window.c (Fdisplay_buffer): Move call to
8422 Vsplit_window_preferred_function out of conditions that check
8423 if window is eligible for vertical splitting.
8424 When Vsplit_window_preferred_function is non-nil, call it and use
8425 its non-nil return value as window. Otherwise, continue doing
8426 vertical splitting using Fsplit_window with arg horflag=nil.
8427 (syms_of_window) <Vsplit_window_preferred_function>: Change the
8428 default value from `split-window' to nil.
8429
84302008-03-29 Juri Linkov <juri@jurta.org>
8431
8432 * callint.c (Fcall_interactively): Revert 2008-03-16 change
8433 for interactive code letters 'b' and 'B'.
8434
84352008-03-29 Eli Zaretskii <eliz@gnu.org>
8436
8437 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
8438 multibyte string.
8439
84402008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
8441
8442 * keyboard.c (pending_funcalls): New var.
8443 (timer_check): Run it.
8444 (syms_of_keyboard): Initialize it.
8445 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
8446 (Vdelete_terminal_functions): New vars.
8447 (syms_of_terminal): Initialize them.
8448 (Fdelete_terminal): Run delete-terminal-functions.
8449 * xdisp.c (safe_eval): Rewrite.
8450 (safe_call2): New fun.
8451 * frame.c (Qdelete_frame_functions): New var.
8452 (syms_of_frame): Initialize it.
8453 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
8454 * lisp.h (safe_call2, pending_funcalls): Declare.
8455
84562008-03-28 Andreas Schwab <schwab@suse.de>
8457
8458 * indent.c (Fmove_to_column): Move declaration before statements.
8459
84602008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
8461
8462 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
8463 (struct frame): Use bit fields for boolean vars.
8464
8465 * process.c (server_accept_connection): Simplify naming.
8466 (emacs_get_tty_pgrp): Use SDATA.
8467
8468 * coding.c (decode_coding_object): Fix last change.
8469
84702008-03-27 Jason Rumney <jasonr@gnu.org>
8471
8472 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
8473
84742008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
8475
8476 * charset.c (Fdefine_charset_internal): Change the way of
8477 registering charsets in Vcharset_order_list.
8478 (syms_of_charset): Make the charset `eight-bit' supplementary.
8479
84802008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
8481
8482 * regex.c (EXTEND_BUFFER): Change order of pointer addition
8483 operations, to avoid having the difference between pointers
8484 overflow.
8485
84862008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
8487
8488 * indent.c (check_display_width): New fun.
8489 (scan_for_column): Use it.
8490
8491 * data.c (syms_of_data): Mark most-positive-fixnum and
8492 most-negative-fixnum as constants.
8493
8494 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
8495
8496 * indent.c (scan_for_column): Extract from current_column_1.
8497 Merge with the same code from Fmove_to_column.
8498 (current_column_1, Fmove_to_column): Use it.
8499
85002008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
8501
8502 * keymap.c (map_keymap_internal): New fun.
8503 (map_keymap): Use it.
8504 (Fmap_keymap_internal): New fun.
8505 (Fmap_keymap): Remove left-out test from before make_save_value.
8506
8507 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
8508
8509 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
8510 Use XCAR/XCDR.
8511
8512 * process.h (struct Lisp_Process): Remove filter_multibyte.
8513 * process.c (QCfilter_multibyte): Remove.
8514 (setup_process_coding_systems): Don't use filter_multibyte.
8515 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
8516 (read_process_output): Don't adjust multibyteness to filter_multibyte.
8517 (Fset_process_filter_multibyte): Change the coding-system to
8518 approximate the previous behavior.
8519 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
8520 coding-system.
8521
8522 * coding.c (decode_coding_object): When not decoding into a buffer,
8523 obey the coding system's preference of (uni|multi)byte.
8524
85252008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
8526
8527 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
8528 every char is changed and has a different byte-length.
8529 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
8530 Fix int -> EMACS_INT.
8531
85322008-03-23 David Hansen <david.hansen@gmx.net>
8533
8534 * dbusbind.c (xd_read_message): Remove extra copying of message
8535 strings. Check for NULL `interface' or `member'.
8536
85372008-03-22 Eli Zaretskii <eliz@gnu.org>
8538
8539 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8540 cFileName a file name that includes `?' characters, use the 8+3
8541 alias in cAlternateFileName instead.
8542
85432008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
8544
8545 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
8546
85472008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8548
8549 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
8550 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
8551 work on current_buffer only instead (that was already the case
8552 for some of the code anyway).
8553 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
8554 (temp_set_point, temp_set_point_both): Use EMACS_INT.
8555 (SET_PT, SET_PT_BOTH): Adjust.
8556 * intervals.h (set_point, temp_set_point, set_point_both)
8557 (temp_set_point_both): Remove redundant declarations.
8558
85592008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8560
8561 * fileio.c (Finsert_file_contents):
8562 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
8563 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
8564 when buffer != current_buffer anyway.
8565
85662008-03-20 Andreas Schwab <schwab@suse.de>
8567
8568 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
8569 as default.
8570
85712008-03-19 Jason Rumney <jasonr@gnu.org>
8572
8573 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
8574 (syms_of_w32fns): Initialize them.
8575 (HOURGLASS_ID): New constant.
8576 (x_window_to_frame): Don't check hourglass_window.
8577 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
8578 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
8579 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
8580 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
8581 Only change the cursor if hourglass is not active.
8582 (Fx_create_frame): Initialize frame's current_cursor.
8583 (hourglass_atimer): Remove.
8584 (hourglass_started): New function.
8585 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
8586 (show_hourglass): Adapt to w32, changing argument to frame.
8587
8588 * w32term.h (struct w32_output): Remove hourglass_window.
8589 Add current_cursor.
8590
8591 * eval.c (call_debugger, Fsignal):
8592 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
8593 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
8594 (Fexecute_extended_command, cancel_hourglass_unwind):
8595 * minibuf.c (read_minibuf):
8596 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
8597
85982008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
8599
8600 * window.c (run_funs): New fun.
8601 (run_window_configuration_change_hook): Use it to run the buffer-local
8602 and the global part of the hook.
8603
8604 * xdisp.c (format_mode_line_unwind_data): Add window argument.
8605 (unwind_format_mode_line): Restore selected window.
8606 (x_consider_frame_title, Fformat_mode_line): Set selected window.
8607
86082008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
8609
8610 * editfns.c (Fchar_equal): Check they are valid characters.
8611
8612 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
8613
86142008-03-17 Andreas Schwab <schwab@suse.de>
8615
8616 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
8617 against a charset.
8618
8619 * lisp.h (Fbuffer_list): Declare.
8620
86212008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 8622
aac0c6e3
MR
8623 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
8624 handlebox_widget is != 0.
8625
86262008-03-16 Juri Linkov <juri@jurta.org>
8627
8628 * callint.c (Fcall_interactively): For interactive code letters
8629 'b' and 'B' put the buffer list into the list of default "future"
8630 values of the minibuffer.
8631
86322008-03-16 Andreas Schwab <schwab@suse.de>
8633
8634 * keyboard.c (read_key_sequence): Fix downcasing of letters with
8635 modifiers.
8636
8637 * regex.c (re_match_2_internal): Correct matching of a charset
8638 against latin-1 characters.
8639
86402008-03-16 Kenichi Handa <handa@m17n.org>
8641
8642 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
8643 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
8644 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
8645 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
8646 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
8647 CHAR_STRING_ADVANCE.
8648 (produce_chars): Fix for the case that the source and the
8649 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
8650 instead of CHAR_STRING_ADVANCE.
8651 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
8652 STRING_CHAR_ADVANCE.
8653
86542008-03-15 Andreas Schwab <schwab@suse.de>
8655
8656 * regex.c (re_match_2_internal): Correct matching of eight bit
8657 characters in unibyte strings.
8658
86592008-03-15 Martin Rudalics <rudalics@gmx.at>
8660
8661 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
8662 at end of range when it coincides with the end of the buffer.
8663
86642008-03-14 Eli Zaretskii <eliz@gnu.org>
8665
8666 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
8667
8668 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
8669
86702008-03-14 Jason Rumney <jasonr@gnu.org>
8671
8672 * editfns.c (initial_tz): New variable.
8673 (syms_of_editfns): Initialize it.
8674 (Fset_time_zone_rule): Set it when first called.
8675 Use it when TZSTRING is nil.
8676
8677 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8678 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8679 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8680 (globals_of_w32fns): Initialize them.
8681 (compute_tip_xy): Use them to position tooltips.
8682
86832008-03-14 Glenn Morris <rgm@gnu.org>
8684
8685 * emacs.c (main): Revert previous change.
8686 (standard_args): Revert -internal-script back to -scriptload,
8687 and remove the long-option form.
8688
86892008-03-13 Glenn Morris <rgm@gnu.org>
8690
8691 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8692 Remove option -enable-font-backend.
8693
86942008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8695
8696 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8697
86982008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8699
8700 * xterm.c (x_connection_closed): For GTK: If this is the last
8701 terminal just exit without closing the display.
8702
87032008-03-11 Jason Rumney <jasonr@gnu.org>
8704
8705 * w32font.c (w32font_full_name): Use floor to round.
8706
f0131492 87072008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8708
8709 * sound.c (alsa_configure): Declare vol at beginning of block.
8710
8711 * fontset.c (Ffontset_info): Remove extra semicolon.
8712
87132008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8714
8715 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8716 size of resulting string.
8717
87182008-03-10 Jason Rumney <jasonr@gnu.org>
8719
8720 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8721
87222008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8723
8724 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8725 Don't pretend as if characters with display property haven't been
8726 consumed for string-replacing-string case.
8727
87282008-03-08 Kim F. Storm <storm@cua.dk>
8729
8730 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8731 (get_next_display_element, next_element_from_string)
8732 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8733
87342008-03-08 Andreas Schwab <schwab@suse.de>
8735
8736 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8737
87382008-03-06 Jason Rumney <jasonr@gnu.org>
8739
8740 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8741 when charset not specified. Only translate ANSI to unicode when
8742 font_type is truetype.
8743 (w32font_coverage_ok): New function.
8744 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8745
87462008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8747
8748 * lread.c (Fread_char): Resolve modifiers.
8749 (Fread_char_exclusive): Likewise.
8750
8751 * character.c (char_resolve_modifier_mask): New function.
8752 (char_string): Use char_resolve_modifier_mask.
8753 (Fchar_resolve_modifiers): New function.
8754 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8755 function.
8756
87572008-03-04 Jason Rumney <jasonr@gnu.org>
8758
8759 * makefile.w32-in: Always include w32font.c in the build.
8760 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8761
87622008-03-04 Andreas Schwab <schwab@suse.de>
8763
8764 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8765 (versionclean): Likewise.
8766
87672008-03-04 Juanma Barranquero <lekktu@gmail.com>
8768
8769 * .cvsignore: Add oo.
8770
87712008-03-03 Andreas Schwab <schwab@suse.de>
8772
8773 * coding.c (decode_coding_object): Inhibit gap shrinking while
8774 decoding in place.
8775
87762008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8777
8778 * w32term.c: Remove unused include "gnu.h".
8779 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8780
8781 * gnu.h: Rename to ...
8782 * emacs-icon.h: ... this.
8783 * xterm.c: Use emacs-icon.h instead of gnu.h.
8784 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8785
87862008-03-03 Juanma Barranquero <lekktu@gmail.com>
8787
8788 * w32font.c: Include math.h.
8789
87902008-03-03 Jason Rumney <jasonr@gnu.org>
8791
8792 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8793 Compute options separately.
8794 (w32font_open_internal): Set glyph_idx before caching metrics.
8795
8796 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8797 Define if system headers don't.
8798 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8799 (w32font_encode_char): Don't declare here.
8800
8801 * w32font.c (Quniscribe, QCformat): New symbols.
8802 (syms_of_w32font): Define them.
8803 (w32font_has_char): Indicate uncertainty.
8804 (w32font_encode_char): Encode as glyph point. Make static.
8805 (recompute_cached_metrics): New function.
8806 (w32font_open_internal): Use it. Set font to use glyph points
8807 initially. Set format based on type of font.
8808 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8809 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8810 on it. Set format based on information available here.
8811 (add_font_entity_to_list): Identify backend based on opentype_only.
8812
88132008-03-02 Andreas Schwab <schwab@suse.de>
8814
8815 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8816
8817 * coding.c (decode_coding_big5, produce_chars):
8818 Fix typos in last change.
8819
88202008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8821
8822 * gnu.h: New icon.
8823
88242008-03-02 Kenichi Handa <handa@m17n.org>
8825
8826 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8827 `dos', don't decode '\r' if that is the last in the source.
8828 (decode_coding_utf_16, decode_coding_emacs_mule)
8829 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8830 (decode_coding_raw_text, decode_coding_charset): Likewise.
8831 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8832
88332008-03-01 Jason Rumney <jasonr@gnu.org>
8834
8835 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8836
88372008-03-01 Kim F. Storm <storm@cua.dk>
8838
8839 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8840
88412008-03-01 Jason Rumney <jasonr@gnu.org>
8842
8843 * w32font.c (w32font_full_name): New function.
8844 (w32font_open_internal): Use it.
8845
88462008-03-01 Kim F. Storm <storm@cua.dk>
8847
8848 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8849
88502008-03-01 Jason Rumney <jasonr@gnu.org>
8851
8852 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8853
88542008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8855
8856 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8857 xg_frame_resized when the event is for the edit widget.
8858
8859 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8860
8861 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8862 set_char_size.
8863 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8864 operations on widgets here. Just set frame size if needed.
8865 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8866 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8867 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8868 the whole frame.
8869 (xg_create_tool_bar): Move attachment of the tool bar to
8870 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8871 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8872
88732008-03-01 Jason Rumney <jasonr@gnu.org>
8874
8875 * w32fns.c (w32_msg_pump): Disable debug code.
8876
88772008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8878
8879 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8880
88812008-02-29 Chong Yidong <cyd@stupidchicken.com>
8882
8883 * xdisp.c (next_overlay_string): Don't set
8884 overlay_strings_at_end_processed_p if we're currently reading from
8885 a display string.
8886
88872008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8888
8889 * xdisp.c (get_overlay_strings_1): Fix typo.
8890
88912008-02-29 Chong Yidong <cyd@stupidchicken.com>
8892
8893 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8894
88952008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8896
8897 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8898
8899 * xdisp.c (display_mode_element): Cancel the previous change.
8900 (decode_mode_spec): Likewise.
8901 (handle_auto_composed_prop): Don't make composition if it->string
8902 is a string.
8903
89042008-02-27 Kim F. Storm <storm@cua.dk>
8905
8906 * lisp.h (GLYPH): Change type from int to struct with separate char
8907 and face_id members.
8908 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8909 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8910 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8911 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8912 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8913 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8914 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8915 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8916 handle new Lisp glyph code encoding, either an integer or a cons.
8917
8918 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8919 (GLYPH_ALIAS): Delete.
8920 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8921 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8922 (GLYPH_FROM_CHAR): Replace macro by ...
8923 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8924
8925 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8926 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8927 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8928 (GLYPH_INVALID_P): New macro.
8929 (spec_glyph_lookup_face): Update prototype.
8930
8931 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8932 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8933 new glyph code encoding.
8934 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8935 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8936
8937 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8938 Adapt to new glyph type and new glyph code encoding.
8939
8940 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8941
8942 * indent.c (current_column, current_column_1, Fmove_to_column)
8943 (compute_motion): Adapt to new glyph code encoding.
8944
8945 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8946
89472008-02-27 Chong Yidong <cyd@stupidchicken.com>
8948
8949 * process.c (wait_reading_process_output): Check for window
8950 changes caused by timers.
8951 Suggested by Johan Bockgård.
8952
89532008-02-27 Glenn Morris <rgm@gnu.org>
8954
8955 * emacs.c (USAGE1): Add `--disable-font-backend'.
8956
89572008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8958
8959 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8960 is made to the buffer.
8961
89622008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8963
8964 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8965 (face_at_string_position):
8966 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8967 (face_at_string_position):
8968 * xdisp.c (display_string, next_overlay_change):
8969 * buffer.h (overlays_at):
8970 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8971 Update callers.
8972
89732008-02-26 Chong Yidong <cyd@stupidchicken.com>
8974
8975 * editfns.c (Fformat): Doc fix.
8976
89772008-02-26 Juanma Barranquero <lekktu@gmail.com>
8978
8979 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8980 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8981 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8982
89832008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8984
8985 * buffer.c (Fbuffer_swap_text): New function.
8986 (syms_of_buffer): Defsubr it.
8987
89882008-02-25 Chong Yidong <cyd@stupidchicken.com>
8989
8990 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8991
89922008-02-25 Jason Rumney <jasonr@gnu.org>
8993
8994 * w32font.c (w32font_draw): Draw one character at a time when padding.
8995
89962008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8997
8998 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8999 Handle a nil arg. Use run_window_configuration_change_hook.
9000 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
9001 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
9002 Use run_window_configuration_change_hook.
9003
90042008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9005
9006 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
9007 1-pixel width.
9008
90092008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
9010
9011 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
9012 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
9013 if the glyph in the font is zero pixel with.
9014
9015 * dispextern.h (struct glyph_string): New member padding_p.
9016
9017 * w32font.c (w32font_draw): Pay attention to s->padding_p.
9018
9019 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
9020
9021 * xfont.c (xfont_draw): Pay attention to s->padding_p.
9022
9023 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
9024
9025 * font.c: If the font driver doesn't have `shape' function, return Qnil.
9026
90272008-02-25 Jason Rumney <jasonr@gnu.org>
9028
9029 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
9030
90312008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
9032
9033 Allow fine-grained image-cache flushing.
9034 * dispextern.h (struct image): Add `dependencies' field.
9035 (clear_image_caches): Change arg to Lisp_Object.
9036 * image.c (make_image): Initialize `dependencies' field.
9037 (clear_image_cache): Change arg to allow fine-grained flushing.
9038 Perform the flush even if image-cache-eviction-delay is nil.
9039 (clear_image_caches): Change arg to Lisp_Object.
9040 (Fclear_image_cache): Expand meaning of the argument.
9041 (mark_image): Mark `dependencies' field.
9042 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
9043 (lface_hash): Use XHASH rather than XFASTINT.
9044 (face_at_buffer_position): Fix int -> EMACS_INT position.
9045 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
9046 (select_frame_for_redisplay): Remove code duplication.
9047 (redisplay_internal): Adapt arg to call to clear_image_caches.
9048
90492008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
9050
9051 * s/vms4-0.h:
9052 * s/vms4-2.h:
9053 * s/vms4-4.h:
9054 * s/vms5-5.h: Remove, unused.
9055
9056 * s/irix5-2.h:
9057 * s/irix6-0.h:
9058 * s/riscos5.h:
9059 * s/mach-bsd4-3.h:
9060 * m/mips4.h: Remove files for obsolete systems.
9061
9062 * Makefile.in:
9063 * filelock.c:
9064 * unexmips.c:
9065 * m/hp9000s300.h:
9066 * m/iris4d.h:
9067 * s/aix3-1.h:
9068 * s/hpux.h:
9069 * s/msdos.h:
9070 * s/usg5-0.h:
9071 * s/usg5-2-2.h:
9072 * s/usg5-2.h:
9073 * s/usg5-3.h: Remove references to obsolete variables.
9074
9075 * s/irix5-0.h: Remove, move all the contents ...
9076 * s/irix6-5.h: ... here. Simplify.
9077 * config.in: Regenerate.
9078
90792008-02-24 Jason Rumney <jasonr@gnu.org>
9080
9081 * w32term.c (x_draw_glyph_string_background): Clear the background
9082 manually when cleartype is in use.
9083 (x_draw_glyph_string_foreground): Draw text transparently when
9084 cleartype is in use.
9085
9086 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
9087 a font into it unless we have to.
9088
90892008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9090
9091 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
9092 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 9093
aac0c6e3
MR
90942008-02-18 Jason Rumney <jasonr@gnu.org>
9095
9096 * w32fns.c (Fw32_shell_execute): Encode parameters.
9097
90982008-02-09 Eli Zaretskii <eliz@gnu.org>
9099
9100 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
9101
91022008-02-05 Juanma Barranquero <lekktu@gmail.com>
9103
9104 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
9105
91062008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
9107
9108 * xterm.c (x_set_offset): Don't change the gravity if
9109 CHANGE_GRAVITY is -1.
9110
91112008-02-23 Chong Yidong <cyd@stupidchicken.com>
9112
9113 * fileio.c (auto_save_error_occurred): New var.
9114 (auto_save_error): Set it.
9115 (Fdo_auto_save): Don't overwrite the error message if an auto-save
9116 error occurred.
9117
91182008-02-23 Eli Zaretskii <eliz@gnu.org>
9119
9120 * w32.c (globals_of_w32): Add initializations for
9121 g_b_init_get_sid_sub_authority and
9122 g_b_init_get_sid_sub_authority_count.
9123
91242008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
9125
9126 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
9127 (font_parse_xlfd): Use them for sanity check.
9128 (Finternal_set_font_style_table): Make sure the table is bijective.
9129
9130 Consolidate the image_cache to the terminal struct.
9131 * termhooks.h (P_): Remove redundant def.
9132 (struct terminal): New field `image_cache'.
9133 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
9134 of FRAME_X_IMAGE_CACHE.
9135 * xterm.h (struct x_display_info): Remove image_cache field.
9136 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9137 * w32term.h (struct w32_display_info): Remove image_cache field.
9138 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9139 * macterm.h (struct mac_display_info): Remove image_cache field.
9140 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
9141 * xterm.c (x_term_init):
9142 * w32term.c (w32_term_init):
9143 * macterm.c (mac_term_init): Set the image_cache in the terminal.
9144 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
9145 Remove declarations.
9146 (clear_image_caches, mark_image_cache): New declarations.
9147 * xfaces.c (clear_face_cache):
9148 * xdisp.c (redisplay_internal): Use clear_image_caches.
9149 * image.c (clear_image_cache): Don't check that a frame is on
9150 a window-system before checking if it shares the same cache.
9151 (clear_image_caches): New function.
9152 (Fclear_image_cache): Use it.
9153 (mark_image): Move from allo.c.
9154 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
9155 * alloc.c (mark_image, mark_image_cache): Move to image.c.
9156 (mark_object): Don't call mark_image_cache for frames.
9157 (mark_terminals): Call mark_image_cache.
9158
9159 * lisp.h (Fdelete_terminal): Declare.
9160
9161 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
9162 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
9163 wrong_type_argument.
9164
91652008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
9166
9167 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
9168 malayalam.el, and tamil.el. Add sinhala.el.
9169
91702008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
9171
9172 * xterm.c (x_connection_closed): Consolidate identical tests.
9173 (x_delete_terminal): Don't crash if called via x_connection_closed.
9174
91752008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
9176
9177 * xdisp.c (decode_mode_spec): New arg string.
9178 (display_mode_element): Adjust for the above change.
9179
91802008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
9181
9182 * callint.c (Fcall_interactively): Use AREF.
9183
91842008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
9185
9186 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
9187
91882008-02-18 Jan Djärv <jan.h.d@swipnet.se>
9189
9190 * xfns.c (Fx_show_tip): Set string to " " if empty.
9191
91922008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
9193
9194 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
9195 with Qt.
9196
91972008-02-17 Kenichi Handa <handa@m17n.org>
9198
9199 * ftfont.c (ftfont_shape): Return Lispy number.
9200
9201 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
9202 for GCs.
9203 (Finternal_set_font_selection_order): Call font_update_sort_order
9204 only when enable_font_backend is set.
9205 (realize_x_face): Set face->font_info to that of default face only
9206 when enable_font_backend is set.
9207
9208 * xdisp.c (handle_composition_prop): Set it->c to the fist
9209 character of the composed region.
9210 (fill_composite_glyph_string): Set base_face->font_info to
9211 s->font_info. Get a face for ascii from base_face->ascii_face.
9212 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
9213 with a face already decided.
9214 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
9215 non-negative.
9216 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
9217 call font_prepare_composition unconditionally.
9218
9219 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
9220
9221 * xterm.h (struct x_display_info): New member font.
9222
9223 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
9224 (x_set_mouse_face_gc, x_new_font): Likewise.
9225 (x_term_init): Setup display_info->font.
9226 (x_delete_terminal): Free display_info->font.
9227
9228 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
9229
9230 * ftxfont.c (ftxfont_default_fid): Delete it.
9231 (ftxfont_open): Set xfont->fid to 0.
9232 (ftxfont_end_for_frame): Clear data specific to the frame and the
9233 font-driver.
9234
9235 * xftfont.c (xftfont_default_fid): Delete it.
9236 (xftfont_open): Set xfont->fid to 0.
9237
9238 * fontset.c (FONTSET_OBJLIST): New macro.
9239 (fontset_find_font): Update font-object list of the fontset.
9240 (free_realized_fontset): New function.
9241 (free_face_fontset): Call free_realized_fontset.
9242 (Ffont_info): Call font_close_object only when enable_font_backend
9243 is set.
9244
9245 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
9246 [HAVE_NTGUI]: Include w32term.h.
9247 [MAC_OS]: Include macterm.ch.
9248 (font_otf_ValueRecord): Use make_number.
9249 (font_finish_cache): Fix handling of reference count.
9250 (font_clear_cache): Update num_fonts.
9251 (font_open_entity): Update smallest_char_width and
9252 smallest_font_height of the frame.
9253 (font_close_object): Update num_fonts.
9254 (Fclear_font_cache): Fix finding the target cache data.
9255
92562008-02-16 Glenn Morris <rgm@gnu.org>
9257
9258 * fontset.c (Finternal_char_font): Fix compilation warning.
9259
92602008-02-16 Eli Zaretskii <eliz@gnu.org>
9261
9262 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9263 instead of char arrays. Enlarge the size of array passed to
9264 get_token_information.
9265
9266 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9267 warnings.
9268
92692008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9270
9271 * .gdbinit: Don't set `args', it breaks gdb --args.
9272
92732008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9274
9275 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9276 within a narrowed buffer.
9277
92782008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9279
9280 * coding.c (decode_coding_object, encode_coding_object):
9281 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9282
92832008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9284
9285 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9286 hardcoding 1.
9287 (detect_coding_system):
9288 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9289 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9290 * insdel.c (insert_from_gap):
9291 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9292 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9293 (string_to_multibyte):
9294 * character.c (chars_in_text, multibyte_chars_in_text):
9295 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9296
9297 * character.h (FETCH_STRING_CHAR_ADVANCE)
9298 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9299 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9300 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9301
9302 * casefiddle.c (casify_region): Only call after-change and composition
9303 functions on the part of the region that was changed.
9304
9305 * keyboard.c (read_avail_input):
9306 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9307
93082008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9309
9310 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9311 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9312
93132008-02-11 Juanma Barranquero <lekktu@gmail.com>
9314
9315 * w32menu.c (push_submenu_start, push_submenu_end)
9316 (push_left_right_boundary, push_menu_pane, push_menu_item):
9317 * keyboard.c (read_key_sequence): Don't pass args with side effects
9318 to AREF, it fails when compiling with -DENABLE_CHECKING.
9319
93202008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9321
9322 * Makefile.in (${lispsource}international/charprop.el):
9323 Delete this target.
9324
9325 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9326 emacs-unicode-2.
9327
93282008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9329
9330 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9331
93322008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9333
9334 * frame.c (Qnoelisp): New symbol.
9335 (syms_of_frame): Initialize it.
9336 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9337 harmless Elisp code, from a strong `force' from x_connection_closed.
9338 * frame.h (Qnoelisp): Declare.
9339 * xterm.c (x_connection_closed): Pass `noelisp'.
9340
9341 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9342 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9343 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9344 rather than `int' for the type of `type'.
9345
93462008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9347
9348 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9349
9350 * Makefile.in (GNUC): Remove support for gcc-1.x.
9351
93522008-02-10 Richard Stallman <rms@gnu.org>
9353
9354 * lisp.h (ASET): Use AREF, not ASLOT.
9355
93562008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9357
9358 * lisp.h (ASET): Check bounds.
9359
93602008-02-10 Glenn Morris <rgm@gnu.org>
9361
9362 * buffer.c (mode-name): Doc fix.
9363
93642008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9365
9366 * Makefile.in:
9367 * emacs.c:
9368 * gmalloc.c:
9369 * keyboard.c:
9370 * lisp.h:
9371 * m/ibm370aix.h:
9372 * process.c:
9373 * regex.c:
9374 * s/hpux.h:
9375 * sysdep.c:
9376 * sysselect.h:
9377 * systty.h:
9378 * unexec.c:
9379 * w32term.c:
9380 * xsmfns.c:
9381 * xterm.c: Remove code that deals with obsolete variables.
9382
9383 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
9384
9385 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
9386 nothing else needs it anymore.
9387
93882008-02-09 Eli Zaretskii <eliz@gnu.org>
9389
9390 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
9391 instead of unibyte_char_to_multibyte.
9392
93932008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9394
9395 * s/gnu-linux.h: Remove commented out code.
9396
9397 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
9398
9399 * Makefile.in: Update what RMS says about using autoconf.
9400 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
9401 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
9402 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
9403 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
9404
94052008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
9406
9407 * keymap.c (Fkey_description): Move side effect outside of macro call.
9408
9409 * xfaces.c (Finternal_make_lisp_face):
9410 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
9411
9412 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
9413 (syms_of_fontset): Use ASET.
9414
9415 * fns.c (concat): Move side effect outside of macro call.
9416 (hash_clear): Use ASET.
9417
94182008-02-08 Richard Stallman <rms@gnu.org>
9419
9420 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
9421 If FORCE, and frame has a surrogate minibuffer for another frame,
9422 delete the other frame first.
9423
94242008-02-07 Timo Savola <timo.savola@iki.fi>
9425
9426 * xterm.c (x_detect_focus_change): Handle embed client message.
9427 (handle_one_xevent): Ditto.
9428 (handle_one_xevent): If embedded and we get a button press/release,
9429 request focus.
9430 (xembed_set_info, xembed_send_message): New functions.
9431 (x_make_frame_visible): Call xembed_set_info if embedded.
9432 (x_make_frame_invisible): Call xembed_set_info if embedded.
9433 (x_term_init): Initialize Xatom_XEMBED.
9434 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
9435 (x_iconify_frame): Ditto.
9436
9437 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
9438 (enum xembed_info, enum xembed_message, enum xembed_focus)
9439 (enum xembed_modifier, enum xembed_accelerator): New.
9440 (xembed_set_info, xembed_send_message): Declare.
9441 (FRAME_X_EMBEDDED_P): New.
9442
9443 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
9444 gtk_plug_new.
9445
9446 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
9447 window ID of a frame.
9448 (x_window): Reparent frame if embedded.
9449 (Fx_create_frame): Don't set border width if embedded.
9450
9451 * emacs.c (USAGE3): Add --parent-id.
9452 (standard_args): Ditto.
9453
94542008-02-07 Jan Djärv <jan.h.d@swipnet.se>
9455
9456 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
9457
94582008-02-07 Jim Meyering <meyering@redhat.com>
9459
9460 Use "do...while (0)", not "if (1)...else" in macro definitions.
9461 The latter provokes a warning from gcc about the empty else, when
9462 followed by ";". Also, without that trailing semicolon, it would
9463 silently swallow up any following statement.
9464 * syntax.h (SETUP_SYNTAX_TABLE)
9465 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
9466 * buffer.h (DECODE_POSITION): Likewise.
9467 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
9468 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
9469 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
9470 (FETCH_CHAR_ADVANCE): Likewise.
9471 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
9472
94732008-02-07 Jim Meyering <meyering@redhat.com>
9474
9475 * lread.c [lint]: Don't include <sys/inode.h>.
9476
94772008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
9478
9479 * xselect.c (x_handle_dnd_message):
9480 * xmenu.c (digest_single_submenu, xmenu_show):
9481 * xdisp.c (with_echo_area_buffer_unwind_data)
9482 (format_mode_line_unwind_data, unwind_format_mode_line)
9483 (display_menu_bar):
9484 * eval.c (Ffetch_bytecode):
9485 * doc.c (store_function_docstring):
9486 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
9487 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
9488 * buffer.c (add_overlay_mod_hooklist): Use ASET.
9489
94902008-02-07 Kenichi Handa <handa@m17n.org>
9491
9492 * ftxfont.c (ftxfont_open): Don't set
9493 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
9494
9495 * ftfont.c (ftfont_open): Fix previous change.
9496
94972008-02-06 Jason Rumney <jasonr@gnu.org>
9498
9499 * w32font.c (w32font_text_extents): Fill in lbearing metric.
9500 Use cached metrics for ASCII characters.
9501 (w32font_open_internal): Don't set font's owning_frame.
9502 Cache metrics for ASCII characters.
9503
9504 * w32font.h (struct w32font_info): Add ascii_metrics.
9505 Remove owning_frame.
9506
95072008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
9508
9509 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
9510 to negative value.
9511
9512 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
9513
9514 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
9515
9516 * charset.c (syms_of_charset): Set QCtest and Qeq.
9517
95182008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
9519
9520 * process.c (Fstart_process):
9521 * callproc.c (Fcall_process): Handle the case where
9522 Funhandled_file_name_directory returns nil.
9523
9524 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
9525 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
9526 * font.c (check_gstring): Use them and AREF to access the vector before
9527 we know it's really a gstring.
9528 (Ffont_shape_text): Fix typo.
46e722a9 9529 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
9530
9531 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
9532 Declare.
9533
9534 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
9535
95362008-02-05 Jason Rumney <jasonr@gnu.org>
9537
9538 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
9539 Set smallest_font_height and smallest_char_width in display info.
9540
95412008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
9542
9543 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
9544
95452008-02-05 Miles Bader <miles@gnu.org>
9546
9547 * xfaces.c (get_lface_attributes, merge_named_face)
9548 (lookup_named_face, lookup_derived_face, realize_named_face):
9549 Revert 2008-02-01 change by cyd@stupidchicken.com.
9550
95512008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
9552
9553 * fontset.c (Ffontset_info): Handle the case of inhibitting the
9554 fallback fonts.
9555 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
9556
95572008-02-04 Jason Rumney <jasonr@gnu.org>
9558
9559 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
9560 set full_name.
9561 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
9562
95632008-02-03 Jason Rumney <jasonr@gnu.org>
9564
9565 * makefile.w32-in (OBJ1): Include font.o here.
9566 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
9567
95682008-02-02 Jason Rumney <jasonr@gnu.org>
9569
9570 * makefile.w32-in (temacs): Bump EMHEAP to 21.
9571
95722008-02-01 Jason Rumney <jasonr@gnu.org>
9573
9574 * s/cygwin.h: Define VIRT_ADDR_VARIES.
9575
9576 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
9577
95782008-02-01 Andreas Schwab <schwab@suse.de>
9579
9580 * Makefile.in (shortlisp, lisp): Update for rename of
9581 ../lisp/language/myanmar.el.
9582
95832008-02-01 Chong Yidong <cyd@stupidchicken.com>
9584
9585 * xfaces.c (get_lface_attributes): Delete function.
9586 (merge_named_face, lookup_named_face, lookup_derived_face)
9587 (realize_named_face): Call lface_from_face_name directly, and use
9588 the fact that merge_face_vectors does not alter its FROM argument.
9589
95902008-02-01 Jason Rumney <jasonr@gnu.org>
9591
9592 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
9593 input in the default locale. Handle non-Unicode multibyte input.
9594
95952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9596
9597 * fontset.c (reorder_font_vector): Exclude nil elements from the
9598 font group. Don't try multiple fonts.
9599 (fontset_font): Adjust for the above change.
9600 (Finternal_char_font): Return nil if the found font doesn't
9601 contain the character ch.
9602
9603 * Makefile.in (lisp, shortlisp): Add cham.el.
9604
96052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9606
9607 * font.h (FONTP): Make it return 1 also for a font-object.
9608
9609 * .gdbinit (xfontset): New function.
9610
9611 * font.c (font_find_for_lface): Check if the character C is
9612 supported or not only for the first font.
9613
9614 * fontset.c (reorder_font_vector): Fix typo.
9615 (fontset_find_font): Don't add a font-spec specifying a script.
9616 Use 0 (not Qt) for the indication of empty font-group. Change the
9617 format of RFONT-DEF. Return Qt if no font in the font-group
9618 support the character.
9619 (fontset_font): Adjust for the above change. If no font was
9620 found the character, remember that.
9621 (face_for_char): Adjust for the change of RFONT-DEF.
9622 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
9623 no font for the target.
9624 (Finternal_char_font): Adjust for the change of RFONT-DEF.
9625
96262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9627
9628 * font.c (font_load_for_face): Handle the case that the font in
9629 face->lface is a string.
9630
96312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9632
9633 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
9634
96352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9636
9637 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
9638 Fix previous change. If the frame is not on a window system,
9639 signal an error.
9640
96412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9642
9643 * coding.c (decode_coding_object, encode_coding_object): Adjust
9644 marker positions after conversion.
9645
9646 * lisp.h (struct Lisp_Marker): New member need_adjustment.
9647
96482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9649
9650 * font.c (font_find_for_lface): Fix the handling of the return
9651 value of font_has_char.
9652 (Ffont_shape_text): Fix previous change.
9653
9654 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
9655 (fontset_ref_and_range): Delete it.
9656 (fontset_find_font): Call char_table_ref_and_range instead of
9657 FONTSET_REF_AND_RANGE.
9658 (make_fontset): Don't setup font groups of Latin here.
9659 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
9660 (new_fontset_from_font): Make the specified font the default for
9661 all Latin characters.
9662
96632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9664
9665 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
9666 is on a window system before accessing the fontset of the frame.
9667
96682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9669
9670 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
9671
9672 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9673 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9674
9675 * font.c (Ffont_shape_text): If the font driver doesn't have a
9676 shaper function, make zero-width glyphs to have at least one-pixel
9677 width. Fix setting of `to' field of glyphs.
9678
96792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9680
9681 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9682 glyphs.
9683
9684 * font.h (struct font_driver): Improve docstring of member `shape'.
9685
96862008-02-01 Kenichi Handa <handa@m17n.org>
9687
9688 * composite.c (syms_of_composite): Fix docstring of
9689 auto-composition-function.
9690
9691 * font.h (LGLYPH_SIZE): New macro.
9692
9693 * font.c (Ffont_fill_gstring): Stop filling when a character not
9694 supported by the font is found.
9695 (Ffont_shape_text): When a shape callback function returns nil,
9696 try at most two more times with larger gstring.
9697 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9698
9699 * xdisp.c (handle_auto_composed_prop): Change the argument to
9700 auto-composition-function.
9701
9702 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9703 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9704 Lispy glyph and store it in the lgstring.
9705
9706 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9707
9708 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9709
97102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9711
9712 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9713
9714 * fontset.c (Vfont_encoding_charset_alist): New variable.
9715 (syms_of_fontset): DEFVAR it.
9716 (reorder_font_vector, fontset_find_font): Optimize for the case of
9717 no need of reordering.
9718 (face_for_char): Map the charset property by
9719 Vfont_encoding_charset_alist.
9720
97212008-02-01 Jason Rumney <jasonr@gnu.org>
9722
9723 * w32font.c (logfonts_match): Don't check adstyle here.
9724 (font_matches_spec): Check here against physical font instead.
9725 (add_font_entity_to_list): Avoid some substitutions.
9726
9727 * font.c (font_parse_fcname): Default weight and slant to normal.
9728 (font_score): Prefer normal fonts if weight or slant unspecified.
9729 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9730 match freetype scores.
9731
97322008-02-01 Jason Rumney <jasonr@gnu.org>
9733
9734 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9735 font, as it may have been deleted.
9736 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9737 most common hyphenless variation.
9738 (logfonts_match): Check generic family.
9739 (font_matches_spec): Don't check generic family here.
9740 (fill_in_logfont): Set generic family based on adstyle.
9741
9742 * w32font.h (w32font_get_cache): Update declaration.
9743
97442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9745
9746 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9747
9748 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9749 If none of the new drivers are available, call font_update_drivers
9750 with the old drivers.
9751
9752 * w32font.c (w32font_get_cache): Adjust the argument type.
9753
9754 * xfont.c (xfont_get_cache): Adjust the argument type.
9755
9756 * font.h (struct font_driver): Change argument type of get_cache.
9757
9758 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9759
9760 * font.c (Ffont_get): Fix arguments to Fassoc.
9761 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9762 (font_clear_cache): New function.
9763 (font_list_entities, font_matching_entity): Use font_get_cache.
9764 (font_update_drivers): Call font_clear_cache when finishing a driver.
9765
9766 * fontset.c (fontset_find_font): Fix previous change.
9767
97682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9769
9770 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9771 dpyinfo->font_table.
9772 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9773 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9774
9775 * font.c (font_at): Handle the case that the arg C is negative.
9776 Handle the unibyte case.
9777 (Ffont_at): Call font_at with the arg C -1.
9778
9779 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9780 the position here, and call font_at with the arg C -1.
9781 Don't check the range of the existing composition at the point.
9782
97832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9784
9785 * fontset.c (fontset_add): New args charset_id and family.
9786 Change caller.
9787 (load_font_get_repertory, fontset_find_font): Assume that
9788 font_spec is always a font-spec object.
9789 (Fset_fontset_font): Always store a font-spec object in a fontset.
9790
9791 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9792 instead of get_property_and_range.
9793
97942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9795
9796 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9797 (xftfont_open): Don't keep locking face.
9798 (xftfont_close): Don't unlock face.
9799 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9800
9801 * fontset.c (fontset_find_font): Don't prefer a font of
9802 supplementary charset.
9803
98042008-02-01 Kenichi Handa <handa@m17n.org>
9805
9806 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9807 script, langsys_tag to langsys, new member script.
9808 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9809 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9810 listing to the script specified in that property. Fix arg to
9811 OTF_check_features.
9812
98132008-02-01 Jason Rumney <jasonr@gnu.org>
9814
9815 * w32font.h: New file.
9816
9817 * w32font.c: Include it.
9818 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9819 (w32font_open): Set owning_frame.
9820 (w32font_text_extents): Use owning_frame.
9821 (struct font_callback_data): Add opentype_only field.
9822 (add_font_entity_to_list): Use it to filter fonts.
9823 Don't check against full name.
9824 (w32font_list_internal): New function.
9825 (w32font_list): Use it.
9826 (w32font_match_internal): New function.
9827 (w32font_match): Use it.
9828 (w32font_open_internal): New function.
9829 (w32font_open): Use it.
9830 (w32font_get_cache, w32font_close, w32font_has_char)
9831 (w32font_encode_char, w32font_text_extents, w32font_draw):
9832 Make non-static.
9833
9834 * makefile.w32-in (w32font.o): Depend on w32font.h.
9835
98362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9837
9838 * charset.c (Fdefine_charset_internal): Record a supplementary
9839 charset at the tail of Vcharset_order_list.
9840
9841 * font.c (Ffont_shape_text): Fix the return value.
9842
9843 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9844
9845 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9846
98472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9848
9849 * ftfont.c (struct OpenTypeSpec): New struct.
9850 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9851 (ftfont_get_open_type_spec): New function.
9852 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9853
9854 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9855
98562008-02-01 Jason Rumney <jasonr@gnu.org>
9857
9858 * w32font.c (add_font_entity_to_list): Compare only the beginning
9859 of full name.
9860
98612008-02-01 Kenichi Handa <handa@m17n.org>
9862
9863 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9864 Never return HANDLED_RECOMPUTE_PROPS.
9865
98662008-02-01 Kenichi Handa <handa@m17n.org>
9867
9868 * font.c (font_gstring_produce): Delete it.
9869
9870 * composite.h (COMPOSITION_METHOD):
9871 Handle COMPOSITION_WITH_GLYPH_STRING.
9872
98732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9874
9875 * xfont.c (Qx): Delete.
9876 (syms_of_xfont): Don't initialize Qx.
9877
9878 * composite.h (enum composition_method):
9879 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9880
98812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9882
9883 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9884 (choose_face_font): Accept new form of font-spec.
9885
9886 * frame.h (font_driver_list): Declare it unconditionally.
9887 (struct frame): Define members font_driver_list and font_data_list
9888 unconditionally.
9889
9890 * fontset.c: Include "font.h" unconditionally.
9891 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9892 (Fset_fontset_font): Accept a font-spec object.
9893
9894 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9895 PIXEL_SIZE part a wild card.
9896
9897 * dispextern.h (struct glyph_string): Define members clip and
9898 num_clips unconditionally.
9899 (struct face): Define members font_info and extra unconditionally.
9900
9901 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9902 ftfont_info only when HAVE_LIBOTF is defined.
9903
99042008-02-01 Andreas Schwab <schwab@suse.de>
9905
9906 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9907 and end.
9908
99092008-02-01 Jason Rumney <jasonr@gnu.org>
9910
9911 * w32font.c (w32font_driver): Add new fields.
9912
99132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9914
9915 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9916 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9917 (LIBES): Add @M17N_FLT_CFLAGS@.
9918
9919 * composite.c (compose_text): Don't treat the new style
9920 composition specially.
9921
9922 * emacs.c (main): Call syms_of_font unconditionally.
9923
9924 * font.h (FONT_ENTITY_NOT_LOADABLE)
9925 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9926 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9927 (struct font_driver): New member shape.
9928 (font_registry_charsets): Extern it.
9929 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9930 (font_otf_capability, font_drive_otf): Delete their externs.
9931
9932 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9933 (font_charset_alist, font_registry_charsets): Move from xfont.c
9934 and rename.
9935 (font_prop_validate_otf): New function.
9936 (font_property_table): Register it for QCotf.
9937 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9938 (font_drive_otf): Delete.
9939 (font_prepare_composition): New arg F. Adjust for the change of
9940 lispy gstring.
9941 (font_find_for_lface): New arg C.
9942 (font_load_for_face): Adjust for the change of font_find_for_lface.
9943 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9944 lispy gstring.
9945 (Ffont_shape_text): New function.
9946 (Fopen_font): If the font size is not given, use 12-pixel.
9947 (Ffont_at): New arg STRING.
9948 (syms_of_font): Initalize font_charset_alist.
9949 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9950 conditionally.
9951
9952 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9953 fonts of the same font-spec. Change the format of RFONT-DEF.
9954 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9955 Adjust for the change of RFONT-DEF.
9956 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9957
9958 * ftfont.h: New file.
9959
9960 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9961 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9962 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9963 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9964 font_otf_capability and font_drive_otf, set ftfont_shape.
9965 (ftfont_list): Adjust for the change of :otf property value.
9966 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9967 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9968 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9969 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9970 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9971 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9972
9973 * w32term.c (x_draw_composite_glyph_string_foreground):
9974 Adjust for the change of lispy gstring.
9975
9976 * xdisp.c (handle_composition_prop): Adjust for the change of
9977 lispy gstring. Call a function for auto-composition with the
9978 third arg it->window.
9979 (fill_composite_glyph_string): Adjust for the change of lispy string.
9980 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9981
9982 * xfaces.c (set_font_frame_param): Adjust for the change of
9983 font_find_for_lface.
9984
9985 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9986 (xfont_registry_charsets): Likewise. Change caller.
9987 (syms_of_xfont): Don't handle x_font_charset_alist.
9988
9989 * xftfont.c: Include "ftfont.h".
9990 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9991 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9992 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9993 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9994 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9995 Set xftfont_driver.shape to xftfont_shape.
9996
9997 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9998 the change of lispy gstring.
9999
100002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10001
10002 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
10003
100042008-02-01 Jason Rumney <jasonr@gnu.org>
10005
10006 * w32font.c (w32font_draw): Fill background manually.
10007
100082008-02-01 Jason Rumney <jasonr@gnu.org>
10009
10010 * font.c (Qfontp): Remove unused symbol.
10011 (QCantialias): New symbol.
10012 (syms_of_font): Define it.
10013 (font_property_table): Set a validator for QCantialias.
10014
10015 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
10016 Define if not already.
10017 (QCfamily): Share with xfaces.c.
10018 (Qstandard, Qsubpixel, Qnatural): New symbols.
10019 (syms_of_w32font): Define them. Don't define QCfamily here.
10020 (w32_antialias_type, lispy_antialias_type): New functions.
10021 (w32_enumfont_pattern_entity): New arg requested_font.
10022 Set antialias parameter if non-default was requested.
10023 (fill_in_logfont): Fill in lfQuality if :antialias specified.
10024
100252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10026
10027 * lread.c (read1): Undo the previous change.
10028
100292008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
10030
10031 * frame.c (Fdelete_frame): Call font_update_drivers only when
10032 USE_FONT_BACKEND is defined.
10033
100342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10035
10036 * font.h (struct font_bitmap): New member bits_per_pixel.
10037 (struct font_driver): New members start_for_frame and end_for_frame.
10038 (struct font_data_list): New struct.
10039 (font_put_frame_data, font_get_frame_data): Extern them.
10040
10041 * frame.h (struct frame): New member font_data_list.
10042
10043 * font.c (font_update_drivers): Call driver->start_for_frame and
10044 driver->end_for_frame at proper timings.
10045 (font_put_frame_data, font_get_frame_data): New functions.
10046 (Ffont_spec): Add usage in the docstring.
10047
10048 * frame.c (make_frame): Initialize f->font_data_list to NULL.
10049 (Fdelete_frame): Call font_update_drivers.
10050
10051 * xftfont.c (struct xftface_info): Delete the member xft_draw.
10052 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
10053 (xftfont_get_xft_draw): New function.
10054 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
10055 (xftfont_end_for_frame): New function.
10056 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
10057
10058 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
10059 Change argument. Cache GCs in the per-frame data.
10060 (struct ftxfont_frame_data): New struct.
10061 (ftxfont_draw_bitmap): New arg gc_fore and flush.
10062 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
10063 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
10064 (ftxfont_end_for_frame): New function.
10065 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
10066
10067 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
10068
100692008-02-01 Kenichi Handa <handa@m17n.org>
10070
10071 * xselect.c (Vselection_coding_system)
10072 (Vnext_selection_coding_system): Delete them.
10073 (syms_of_xselect): Don't declare selection-coding-system and
10074 next-selection-coding-system. They are declared in select.el.
10075
100762008-02-01 Jason Rumney <jasonr@gnu.org>
10077
10078 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
10079
10080 * w32fns.c: Include imm.h.
10081 (get_composition_string_fn, get_ime_context_fn): New optional
10082 system functions.
10083 (globals_of_w32fns): Load them from imm32.dll.
10084 (ignore_ime_char): New flag.
10085 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
10086 WM_IME_ENDCOMPOSITION messages.
10087
10088 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
10089 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
10090
100912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10092
10093 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
10094 (READCHAR_REPORT_MULTIBYTE): New macro.
10095 (readchar): New 2nd arg MULTIBYTE.
10096 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
10097 Make symbol's name multibyte according to the multibyteness of the
10098 source.
10099
101002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10101
10102 * xfaces.c (face_for_overlay_string): Call lookup_face with
10103 correct arguments (fix of synching with the trunk).
10104
101052008-02-01 Kenichi Handa <handa@m17n.org>
10106
10107 * font.c (font_prop_validate_symbol, font_prop_validate_style)
10108 (font_prop_validate_non_neg, font_prop_validate_spacing):
10109 Delete argument prop_index.
10110 (font_property_table): Change arguments to validater. Change Callers.
10111 (font_lispy_object): Delete.
10112 (font_at): Use font_find_object instead fo font_lispy_object.
10113
101142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10115
10116 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
10117 and file names.
10118
101192008-02-01 Jason Rumney <jasonr@gnu.org>
10120
10121 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
10122 (font_matches_spec): Remove debug output.
10123 (add_font_entity_to_list): Avoid using substituted fonts.
10124
101252008-02-01 Jason Rumney <jasonr@gnu.org>
10126
10127 * doc.c (Fsnarf_documentation):
10128 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
10129
101302008-02-01 Miles Bader <miles@gnu.org>
10131
10132 * dispextern.h (struct glyph_row): Only define "clip" field if
10133 HAVE_WINDOW_SYSTEM is defined.
10134
101352008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10136
10137 Fix up multi-tty merge.
10138
10139 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
10140 and indentation.
10141
10142 * xfaces.c (free_realized_face, clear_face_gcs):
10143 Include font_done_for_face in the input_blocked section, just in case.
10144
10145 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
10146 (get_char_face_and_encoding): Undo last change and remove the *other*
10147 duplicate definition (i.e. keep the one that's better scoped and that
10148 includes code for the font-backend).
10149
10150 * terminal.c (create_terminal): Default keyboard_coding to
10151 `no-conversion' and terminal_coding to `undecided'.
10152
10153 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
10154
10155 * fontset.c (free_realized_fontsets): Check that the table entry does
10156 contain a fontset before trying to compare it to `base'.
10157
10158 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
10159 syms_of_charset, and syms_of_coding earlier because init_window_once
10160 now needs Vcoding_system_hash_table to be setup.
10161
10162 * coding.h (default_buffer_file_coding): Remove.
10163
10164 * coding.c (default_buffer_file_coding): Remove.
10165 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
10166 than ->symbol, and use the terminal-local coding system.
10167 (syms_of_coding): Don't setup the coding-systems that are not
10168 terminal-local.
10169 (Fdefine_coding_system_internal): Use XCAR/XCDR.
10170
10171 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
10172 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
10173
10174 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
10175 in chartab.c and were re-added here by mistake.
10176 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
10177
10178 * doc.c (Fsnarf_documentation):
10179 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
10180 src to etc.
10181
10182 * ChangeLog.10: Add mistakenly removed entry.
10183
101842008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
10185
10186 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
10187
101882008-02-01 Miles Bader <miles@gnu.org>
10189
10190 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
10191 Add extra args to FACE_FOR_CHAR.
10192
101932008-02-01 Kenichi Handa <handa@m17n.org>
10194
10195 * keymap.c (where_is_internal_1): If key is a cons, store the copy
10196 in sequence.
10197
10198 * chartab.c (map_sub_char_table, map_char_table): If the range
10199 contains just one character, call the function with that character
10200 even if the depth is not 3.
10201
102022008-02-01 Jason Rumney <jasonr@gnu.org>
10203
10204 * w32font.c (w32font_text_extents): Calculate metrics for the
10205 whole string.
10206
102072008-02-01 Jason Rumney <jasonr@gnu.org>
10208
10209 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
10210
102112008-02-01 Jason Rumney <jasonr@gnu.org>
10212
10213 * w32term.c (x_set_glyph_string_clipping): Use
10214 get_glyph_string_clip_rects.
10215 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10216 Adjust for the change of struct glyph_string.
10217
10218 * w32font.c (w32font_draw): Do clipping here.
10219
102202008-02-01 Kenichi Handa <handa@m17n.org>
10221
10222 * xftfont.c (xftfont_draw): Adjust for the change of struct
10223 glyph_string.
10224
10225 * xterm.c (x_set_glyph_string_clipping): Use
10226 get_glyph_string_clip_rects.
10227 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
10228 Adjust for the change of struct glyph_string.
10229
10230 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
10231 the resulting clip(s}.
10232 (expose_overlaps): Add arg r. Change callers. Set it to
10233 row->clip temporarily.
10234 (expose_window): Redraw rows overlapping the exposed area.
10235
10236 * dispextern.h (struct glyph_row): New member clip.
10237 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
10238 clip_height, new member clip, and num_clips.
10239
102402008-02-01 Kenichi Handa <handa@m17n.org>
10241
10242 * data.c (Fchar_or_string_p): Fix docstring.
10243
102442008-02-01 Kenichi Handa <handa@m17n.org>
10245
10246 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10247 create a temporary XftDraw object.
10248
102492008-02-01 Kenichi Handa <handa@m17n.org>
10250
10251 * font.c (Ffontp): Fix docstring.
10252
10253 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10254 strong evidence of ISO-2022.
10255
102562008-02-01 Kenichi Handa <handa@m17n.org>
10257
10258 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10259 SYNTAX_ENTRY_FOLLOW_PARENT.
10260
102612008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10262
10263 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10264 its type.
10265 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10266 Update to the new type of weak_hash_tables and next_weak.
10267
10268 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10269 a plain C pointer to Lisp_Hash_Table.
10270
10271 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10272 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10273 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10274 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10275 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10276 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10277 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10278 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10279 (GC_EQ): Remove since they've been identical to their non-GC_
10280 alter-egos ever since the markbit was eradicated.
10281
10282 * alloc.c:
10283 * buffer.c:
10284 * buffer.h:
10285 * data.c:
10286 * fileio.c:
10287 * filelock.c:
10288 * fns.c:
10289 * frame.h:
10290 * lisp.h:
10291 * macterm.c:
10292 * print.c:
10293 * process.c:
10294 * w32fns.c:
10295 * w32menu.c:
10296 * w32term.c:
10297 * xfns.c:
10298 * xmenu.c:
10299 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10300
103012008-02-01 Kenichi Handa <handa@m17n.org>
10302
10303 * chartab.c (map_sub_char_table): Make it work for the top-level
10304 char-table. Fix handling of parent char-table.
10305 (map_char_table): Adjust for the above change.
10306
103072008-02-01 Jason Rumney <jasonr@gnu.org>
10308
10309 * w32font.c (Qgdi): Rename from Qw32.
10310
103112008-02-01 Jason Rumney <jasonr@gnu.org>
10312
10313 * w32bdf.c (get_quoted_string): Make function static.
10314
103152008-02-01 Kenichi Handa <handa@m17n.org>
10316
10317 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10318 bigger ascent and descent than those of the font, use them as
10319 font's ascent and descent.
10320
103212008-02-01 Kenichi Handa <handa@m17n.org>
10322
10323 * Makefile.in (${lispsource}international/charprop.el): Move this
10324 target within "#ifdef HAVE_UNIDATA" and "#endif".
10325
103262008-02-01 Kenichi Handa <handa@m17n.org>
10327
10328 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10329 (shortlisp): Add ../lisp/language/tai-viet.el.
10330
103312008-02-01 Ulrich Mueller <ulm@gentoo.org>
10332
10333 * Makefile.in (${lispsource}international/charprop.el): Depend on
10334 temacs${EXEEXT}.
10335
103362008-02-01 Jason Rumney <jasonr@gnu.org>
10337
10338 * w32font.c (w32font_close): Delete the GDI font object.
10339
10340 * w32menu.c: Include character.h.
10341
10342 * w32proc.c: Likewise.
10343
10344 * w32select.c: Likewise.
10345
10346 * makefile.w32-in (w32proc.o): Depend on character.h.
10347
103482008-02-01 Jason Rumney <jasonr@gnu.org>
10349
10350 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10351
10352 * w32menu.c (syms_of_w32menu): Likewise.
10353
10354 * w32proc.c (syms_of_ntproc): Likewise.
10355
10356 * w32select.c (syms_of_w32select): Likewise.
10357
10358 * w32term.c (syms_of_w32term): Likewise.
10359
103602008-02-01 Jason Rumney <jasonr@gnu.org>
10361
10362 * w32font.c (w32font_draw): Delete brush after using it.
10363
103642008-02-01 Jason Rumney <jasonr@gnu.org>
10365
10366 * w32font.c (w32font_open): Don't set font_idx.
10367 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
10368 to font settings.
10369 (w32font_draw): Fill background explicitly.
10370
103712008-02-01 Jason Rumney <jasonr@gnu.org>
10372
10373 * w32term.c (w32_initialize): Don't call w32font_initialize.
10374
10375 * w32font.c (w32font_info): Remove subranges.
10376 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
10377 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
10378 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
10379 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
10380 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
10381 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
10382 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
10383 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
10384 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
10385 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
10386 New symbols.
10387 (font_callback_data): New struct.
10388 (w32font_list, w32font_match): Use it.
10389 (w32font_open): Don't populate subranges.
10390 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
10391 (w32font_encode_char): Always return unicode code-point as-is.
10392 (w32font_text_extents): Supply a transformation matrix to
10393 GetGlyphOutline. Never look up by glyph index. Avoid looping
10394 twice. Use unicode version of GetTexExtentPoint32 instead of
10395 glyph index version.
10396 (set_fonts_frame): Remove.
10397 (w32_enumfont_pattern_entity): Add frame parameter, use it to
10398 set frame parameter. Use backward compatible fake foundries.
10399 Save generic family in extra slot under QCfamily. Make width slot
10400 constant. Save QCspacing value. Save list of scripts instead of
10401 binary subranges.
10402 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
10403 (add_font_entity_to_list): Use font_callback_data struct. Filter
10404 unwanted fonts.
10405 (add_one_font_entity_to_list): Use font_callback_data struct.
10406 (w32_registry): Default to iso10646_1.
10407 (fill_in_logfont): Use dpi from extra slot. Don't bother with
10408 string font registries. Don't fill in font name if it is a generic
10409 family name, fill family instead. Use spacing, family and script
10410 extra info to fill pitch, family and charset fields.
10411 (list_all_matching_fonts): Use font_callback_data struct.
10412 (unicode_range_for_char): Remove.
10413 (font_supported_scripts): New function.
10414 (w32font_initialize): Remove.
10415 (syms_of_w32font): Update which symbols are defined.
10416
104172008-02-01 Jason Rumney <jasonr@gnu.org>
10418
10419 * font.c (font_pixel_size): Reverse assq_no_quit args.
10420
10421 * w32term.h (FONT_WIDTH): Report max width, not average.
10422 (FONT_MAX_WIDTH): Remove.
10423 (FONT_AVG_WIDTH): New macro.
10424
10425 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
10426 redefinition of FONT_WIDTH.
10427
10428 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
10429 (w32_cache_char_metrics): Use FONT_WIDTH.
10430
10431 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
10432
104332008-02-01 Jason Rumney <jasonr@gnu.org>
10434
10435 * w32font.c (w32font_open): Make lfHeight negative.
10436
10437 * w32fns.c (x_default_font_parameter): Use new style font name.
10438 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
10439
104402008-02-01 Jason Rumney <jasonr@gnu.org>
10441
10442 * w32font.c (QCsubranges): New symbol.
10443 (w32font_open, w32font_has_char): Get subranges from subproperty
10444 of extra.
10445 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
10446 (syms_of_w32font): Define :subranges symbol.
10447
10448 * font.c (font_put_extra): Expose externally.
10449
10450 * font.h (font_put_extra): Move declaration from font.c.
10451
10452 * font.c (Ffont_get): Use font driver to determine otf capability.
10453 (adjust_anchor): Check if driver defines anchor_point before using.
10454
10455 * w32font.c (w32font_open): Handle size, height and pixel_size better.
10456 (w32font_draw): Use options.
10457 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
10458 Fix detection of truetype fonts.
10459 (registry_to_w32_charset): Handle charsets other than iso8859-1
10460 expressed as lisp symbols.
10461 (w32_registry): Express charset as lisp symbol.
10462 (fill_in_logfont): Reverse pixel and point height logic.
10463 Don't set width here. Set quality to default.
10464
10465 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
10466 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
10467
10468 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10469 Remove redundant loop and allocation.
10470
10471 * makefile.w32-in (font.o, w32font.o): New objects.
10472 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
10473 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
10474
10475 * xdisp.c (fill_composite_glyph_string): Make the first arg to
10476 STORE_XCHARB a valid l-value.
10477
10478 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
10479 calculations for non-Truetype fonts.
10480 (x_draw_glyph_string): Sync with xterm.c.
10481 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10482 Remove redundant code.
10483 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
10484
10485 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
10486 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
10487
10488 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
10489 (x_to_w32_charset, w32_to_x_charset): Expose externally.
10490
10491 * w32font.c: New file for w32 font backend.
10492
104932008-02-01 Kenichi Handa <handa@m17n.org>
10494
10495 * term.c: Don't include "buffer.h" twice.
10496
104972008-02-01 Kenichi Handa <handa@m17n.org>
10498
10499 * character.c (Funibyte_string): New function.
10500 (syms_of_character): Defsubr it.
10501
105022008-02-01 Jason Rumney <jasonr@gnu.org>
10503
10504 * w32term.c [USE_FONT_BACKEND]:
10505 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
10506 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
10507 (x_draw_glyph_string, x_draw_glyph_string_foreground)
10508 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
10509 (x_free_frame_resources): Sync with xterm.c.
10510
105112008-02-01 Andreas Schwab <schwab@suse.de>
10512
10513 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
10514 char-table size.
10515
105162008-02-01 Kenichi Handa <handa@m17n.org>
10517
10518 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
10519
105202008-02-01 Kenichi Handa <handa@m17n.org>
10521
10522 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
10523 font_otf_gpos, add font_drive_otf.
10524
10525 * fontset.c (fontset_find_font): Pay attention to font size
10526 specified for a font.
10527 (reorder_font_vector): Check contents of font_def.
10528
10529 * font.c (struct otf_list): Delete it.
10530 (otf_list): Make it a lisp variable.
10531 (otf_open): Use lispy otf_list.
10532 (generate_otf_features): Rename from parse_gsub_gpos_spec.
10533 (check_otf_features): New function.
10534 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
10535 New functions.
10536 (font_drive_otf): New function merging font_otf_gsub and
10537 font_otf_gpos.
10538 (font_open_for_lface): New arg spec. Change argument order.
10539 (font_load_for_face): Adjust for the change of font_open_for_lface.
10540 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
10541 Ffont_otf_gpos.
10542 (syms_of_font): Staticpro otf_list. Delete defsubr of
10543 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
10544
10545 * xfaces.c (set_font_frame_param): Adjust for the change of
10546 font_open_for_lface.
10547
10548 * font.h (font_open_for_lface): Adjust prototype.
10549 (struct font_driver): Delete members otf_gsub and otf_gpos, add
10550 member otf_drive.
10551 (font_otf_gsub, font_otf_gpos): Delete externs.
10552 (font_drive_otf): Extern it.
10553
105542008-02-01 Kenichi Handa <handa@m17n.org>
10555
10556 * font.c (font_at): If the window W is not on a window system,
10557 return Qnil.
10558
10559 * coding.c (produce_chars, encode_coding): Don't call
10560 insert_from_gap if no characters to produce.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
10565 Fclear_face_cache.
10566
10567 * xfaces.c (face_for_font): Check also face->font==font->font.font.
10568
105692008-02-01 Miles Bader <miles@gnu.org>
10570
10571 * emacs.c (main): Change default value of `enable_font_backend' to 1.
10572 Parse "--disable-font-backend" option.
10573 (standard_args): Add "--disable-font-backend" option.
10574
105752008-02-01 Kenichi Handa <handa@m17n.org>
10576
10577 * fontset.c (fontset_find_font): New function.
10578 (fontset_font): Use fontset_find_font.
10579 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
10580 Register the specified font for all Latin characters.
10581 (new_fontset_from_font): Register the specified font for all Latin
10582 characters.
10583 (dump_fontset): For a realized fontset, include the base fontset
10584 name in the returned vector.
10585
105862008-02-01 Kenichi Handa <handa@m17n.org>
10587
10588 * character.h (CHAR_STRING): Cast C to unsigned on calling
10589 char_string.
10590
10591 * character.c (char_string): Type of arg C changed to unsigned.
10592 Signal an error if C is an invalid character code.
10593
10594 * editfns.c (general_insert_function, Fchar_to_string):
10595 Use CHARACTERP, not INTEGERP.
10596
105972008-02-01 Kenichi Handa <handa@m17n.org>
10598
10599 * character.h (MIN_MULTIBYTE_LEADING_CODE)
10600 (MAX_MULTIBYTE_LEADING_CODE): New macros.
10601
10602 * regex.c (analyse_first): Fix for multibyte characters in "case
10603 charset:" and "case categoryspec:".
10604
106052008-02-01 Andreas Schwab <schwab@suse.de>
10606
10607 * Makefile.in (LIBES): Move standard libraries to the end.
10608
106092008-02-01 Kenichi Handa <handa@m17n.org>
10610
10611 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
10612 nonzero, don't shrink the buffer nextb.
10613
10614 * buffer.h (struct buffer_text): New member inhibit_shrinking.
10615
10616 * coding.c (coding_alloc_by_making_gap): New arg offset.
10617 (alloc_destination): Call coding_alloc_by_making_gap with the arg
10618 offset.
10619 (decode_coding_iso_2022): Update coding->safe_charsets.
10620 (decode_coding_gap): Temporarily set
10621 current_buffer->text->inhibit_shrinking to 1.
10622
106232008-02-01 Kenichi Handa <handa@m17n.org>
10624
10625 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
10626 indexing into elements of s->cmp and s->char2b.
10627
106282008-02-01 Juanma Barranquero <lekktu@gmail.com>
10629
10630 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
10631
106322008-02-01 Kenichi Handa <handa@m17n.org>
10633
10634 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
10635 target_multibyte instead of multibyte.
10636 (re_match_2_internal): Call bcmp_translate with target_multibyte.
10637 (bcmp_translate): Change the argument name from multibyte to
10638 target_multibyte.
10639
106402008-02-01 Kenichi Handa <handa@m17n.org>
10641
10642 These changes are to compile a regexp into a pattern that can be
10643 used both for multibyte and unibyte targets.
10644
10645 * Makefile.in (search.o): Depend on charset.h.
10646
10647 * character.c (multibyte_char_to_unibyte_safe): New function.
10648
10649 * search.c: Include "charset.h".
10650 (compile_pattern_1): Delete argument multibyte. Don't set
10651 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
10652 (compile_pattern): Don't compare cp->buf.target_multibyte.
10653 Compare cp->buf.charset_unibyte.
10654 (compile_pattern): Set cp->buf.target_multibyte.
10655
10656 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
10657
10658 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
10659
10660 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
10661 multibyte. Change callers.
10662 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
10663 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
10664 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
10665 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
10666 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
10667 (regex_compile): Make the compiled pattern usable both for
10668 multibyte and unibyte targets.
10669 (analyse_first): Make the fastmap usable both for multibyte and
10670 unibyte targets.
10671 (TRANSLATE_VIA_MULTIBYTE): Delete.
10672 (re_match_2_internal): Pay attention to the case that the
10673 multibyteness of bufp and target may be different.
10674
106752008-02-01 Kenichi Handa <handa@m17n.org>
10676
10677 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10678 empty box occupy at least one column width.
10679
106802008-02-01 Miles Bader <miles@gnu.org>
10681
10682 * Makefile.in: Remove redundant HAVE_XFT clause.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10687
106882008-02-01 Kenichi Handa <handa@m17n.org>
10689
10690 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10691 being nil.
10692
106932008-02-01 Kenichi Handa <handa@m17n.org>
10694
10695 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10696
106972008-02-01 Kenichi Handa <handa@m17n.org>
10698
10699 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10700
107012008-02-01 Kenichi Handa <handa@m17n.org>
10702
10703 * search.c (simple_search): Fix previous change.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * xftfont.c (ftfont_font_format): Extern declaration.
10708
10709 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10710
10711 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10712 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10713
10714 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10715 (ftfont_font_format): Fix previous change.
10716
10717 * font.h (Ffont_xlfd_name): EXFUN it.
10718
10719 * font.c (font_parse_xlfd): Fix the array size of `f'.
10720 (register_font_driver): Use EQ to compare driver->type.
10721
10722 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10723 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10724 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10725
107262008-02-01 Kenichi Handa <handa@m17n.org>
10727
10728 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10729 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10730
107312008-02-01 Kenichi Handa <handa@m17n.org>
10732
10733 * xfont.c (xfont_open): Set font->format.
10734
10735 * xftfont.c (xftfont_open): Set font->format.
10736
10737 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10738 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10739 (ftfont_open): Set font->format.
10740 (ftfont_font_format): New function.
10741
10742 * font.h (struct font): New member format.
10743
10744 * font.c (Qopentype): New variable.
10745 (syms_of_font): Defsym it.
10746 (Fquery_font): Change the format of the last element of the return
10747 value.
10748
107492008-02-01 Kenichi Handa <handa@m17n.org>
10750
10751 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10752 last resort.
10753
107542008-02-01 Kenichi Handa <handa@m17n.org>
10755
10756 * coding.c (detect_coding_charset): Fix detection of multi-byte
10757 charset.
10758
107592008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10760
10761 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10762
107632008-02-01 Kenichi Handa <handa@m17n.org>
10764
10765 * xdisp.c (get_next_display_element): Set it->face_id for the
10766 first component of a composition.
10767 (x_produce_glyphs): Check if the font is changed or not for composition.
10768
107692008-02-01 Kenichi Handa <handa@m17n.org>
10770
10771 * fontset.c (Qlatin): New variable.
10772 (syms_of_fontset): Define it as a lisp symbol.
10773 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10774
107752008-02-01 Kenichi Handa <handa@m17n.org>
10776
10777 * font.c (font_unparse_fcname): Pay attention to the case that
10778 some of font property is a null string.
10779
107802008-02-01 Kenichi Handa <handa@m17n.org>
10781
10782 * term.c: Include "composite.h".
10783 (encode_terminal_code): Output all components of composition.
10784 Check the size of encode_terminal_src.
10785 (produce_glyphs): For composition, call produce_composite_glyph.
10786 (append_composite_glyph, produce_composite_glyph): New functions.
10787
10788 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10789 is not found, get font_info from the current ascii face.
10790
107912008-02-01 Kenichi Handa <handa@m17n.org>
10792
10793 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10794 buffer-file-name to Qnil before calling insert_from_buffer.
10795
10796 * font.c (font_unparse_fcname): Pay attention to the case that
10797 foundry is a null string.
10798
107992008-02-01 Kenichi Handa <handa@m17n.org>
10800
10801 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10802
10803 * font.c (Qunicode_sip): New variable.
10804 (syms_of_font): Declare it as a Lisp symbol.
10805
10806 * font.h (Qunicode_sip): Extern it.
10807
108082008-02-01 Kenichi Handa <handa@m17n.org>
10809
10810 * composite.c (get_composition_id): Pay attention to TAB component.
10811
10812 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10813 TAB. Adjust for the change of s->char2b which always points to
10814 the first element of allocated memory.
10815
10816 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10817
10818 * xdisp.c (handle_composition_prop): Set it->c to the first
10819 non-TAB component.
10820 (fill_composite_glyph_string): Change argument.
10821 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10822 (x_produce_glyphs): Fix handling of left/right padding.
10823
108242008-02-01 Kenichi Handa <handa@m17n.org>
10825
10826 * coding.c (detect_coding_system): Fix for handling off
10827 inhibit_iso_escape_detection. Fix for the case that no coding
10828 system is defined for a specific coding category.
10829
108302008-02-01 Kenichi Handa <handa@m17n.org>
10831
10832 * font.c (font_matching_entity): Delete unused local var.
10833
10834 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10835 opening a font.
10836
10837 * fileio.c (Finsert_file_contents): On recovering a file, assume
10838 Unix-like eol.
10839 (choose_write_coding_system): On auto-saving a file, force
10840 Unix-like eol.
10841
10842 * coding.c (setup_coding_system): Fix setting of
10843 coding->common_flags based on eol_type.
10844 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10845 inherit from it.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * alloc.c (NSTATICS): Increas to 0x600.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10854 (ftfont_list): Don't check :name property.
10855 (ftfont_match): New function.
10856 (ftfont_pattern_entity): If the pattern doesn't contain
10857 FC_SPACING, don't assume FC_MONO.
10858
10859 * font.h (struct font_driver): New member `match'.
10860 (font_update_drivers): Adjust prototype.
10861
10862 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10863 property of FONT.
10864 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10865 them unconditionally.
10866 (font_matching_entity): New function.
10867 (font_open_by_name): Try font_matching_entity if exact match is
10868 not found.
10869 (font_update_drivers): Delete the arg FONT. Return a list of
10870 actually used backends. Don't free faces, font caches here.
10871 Don't store data in frame parameters. Don't call x_set_font.
10872 (Ffont_spec): Store :name property as is.
10873 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10874 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10875 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10876 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10877 Call font->driver->otf_gsub instead of font_otf_gsub.
10878
10879 * frame.c (x_set_font_backend): Do more works that were done in
10880 font_update_drivers before.
10881
10882 * xfont.c (xfont_match): New function.
10883 (xfont_driver): Set xfont_driver.match to xfont_match.
10884 (xfont_draw): Set font in GC if necessary.
10885
10886 * ftxfont.c (ftxfont_match): New function.
10887 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10888
10889 * xftfont.c (xftfont_match): New function.
10890 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * font.h (struct font): New member scalable.
10895 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10896 (font_otf_gsub): Adjust prototype.
10897
10898 * font.c (font_otf_capability): Fix handling of the default langsys.
10899 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10900 Check the contents of SPEC.
10901 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10902 (check_gstring): New function.
10903 (REPLACEMENT_CHARACTER): New macro.
10904 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10905 glyph codes of GSTRING.
10906 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10907 (font_prepare_composition): Set cmp->glyph_len.
10908 (font_open_entity): Set font->scalable.
10909 (Ffont_get): Handle :otf property.
10910 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10911 functions.
10912 (Fquery_font): Use font->font.full_name.
10913 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10914 Sfont_otf_alternates.
10915
10916 * ftfont.c (ftfont_open): Set font->font.full_name and
10917 font->font.name properly. Fix calculation of font->font.height
10918 and font->min_width.
10919
10920 * ftxfont.c (ftxfont_create_gcs): New function.
10921 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10922 (ftxfont_draw_backgrond): Fix filling region.
10923 (ftxfont_default_fid): New function.
10924 (ftxfont_open): Set xfont->fid to the return value of
10925 ftxfont_default_fid.
10926 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10927 (ftxfont_done_face): Free only GCs that are created by
10928 ftxfont_create_gcs.
10929 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10930
10931 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10932 Clip to src->width, etc (not src->clip_XXX).
10933
10934 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10935 FontBackend frame parameter.
10936
109372008-02-01 Kenichi Handa <handa@m17n.org>
10938
10939 * font.h (struct font_driver_list): New member `on'.
10940 (Fclear_font_cache): EXFUN it.
10941 (font_update_drivers): Extern it.
10942
10943 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10944 (font_list_entities): Check driver_list->on.
10945 (register_font_driver): Initalize `on' member to 0.
10946 (font_update_drivers): New function.
10947 (Fclear_font_cache): Check driver_list->on.
10948
10949 * frame.h (Qfont_backend): Extern it.
10950 (x_set_font_backend): Extern it.
10951
10952 * frame.c (Qfont_backend): New variable.
10953 (frame_parms): New element for font-backend.
10954 (x_set_font_backend): New function.
10955
10956 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10957 FontBackend frame parameter.
10958 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10959 x_set_font_backend.
10960
10961 * xfont.c (xfont_list): Don't try listing by :name property if the
10962 name is not for XLFD.
10963
109642008-02-01 Kenichi Handa <handa@m17n.org>
10965
10966 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10967 (LGLYPH_SET_TO): New macros.
10968 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10969 element of G is vector or not.
10970 (font_at): Extern it.
10971
10972 * font.c: Include window.h.
10973 (font_lispy_object): New function.
10974 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10975 end of valid glyph.
10976 (font_close_object): Fix getting (struct font *).
10977 (font_at): New function.
10978 (Ffont_get): If FONT is a font-object, get entity from it.
10979 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10980 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10981 range check.
10982 (Ffont_at): New function.
10983 (syms_of_font): Defsubr Sfont_at.
10984
10985 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10986 before the entry for Qcomposition.
10987 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10988 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10989 the font in gstring.
10990 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10991 LGLYPH_FORM (g) to detect the end of valid glyph.
10992 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10993 we are composing with gstring.
10994
10995 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10996 Check if adjustment is vector or not.
10997
10998 * Makefile.in (font.o): Make it depends on window.h.
10999
110002008-02-01 Kenichi Handa <handa@m17n.org>
11001
11002 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
11003 adjustment is vector or not.
11004
110052008-02-01 Miles Bader <miles@gnu.org>
11006
11007 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
11008
110092008-02-01 Kenichi Handa <handa@m17n.org>
11010
11011 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
11012 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
11013 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
11014
11015 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
11016 (DEVICE_DELTA): Fix typo.
11017 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
11018 LGLYPH format.
11019
11020 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11021 the change of LGLYPH format.
11022
110232008-02-01 Kenichi Handa <handa@m17n.org>
11024
11025 * ftfont.c (ftfont_list): Fix typo.
11026 (ftfont_build_basic_charsets): Don't include letters with diacritics.
11027
110282008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11029
11030 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
11031
11032 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
11033 xftface_info is non-NULL.
11034
110352008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11036
11037 * ftfont.c (ftfont_list): Move misplaced #endif.
11038
110392008-02-01 Kenichi Handa <handa@m17n.org>
11040
11041 * ftfont.c (ftfont_list): Pay attention to the case that
11042 FC_CAPABILITY is not defined.
11043
110442008-02-01 Kenichi Handa <handa@m17n.org>
11045
11046 * xftfont.c (xftfont_open): Set charset related members to -1.
11047
11048 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
11049 QCname.
11050 (ftfont_open): Set charset related members to -1.
11051
11052 * fontset.c (Votf_script_alist): New variable.
11053 (syms_of_fontset): Initialize it.
11054 (fontset_font): Delete unused variable.
11055
11056 * fontset.h (Votf_script_alist): Extern it.
11057
11058 * font.c (font_find_for_lface): Optimize code.
11059
11060 * font.h (font_close_object, font_merge_old_spec): Extern them.
11061
110622008-02-01 Kenichi Handa <handa@m17n.org>
11063
11064 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
11065 (syms_of_font): Initialize them.
11066 (font_pixel_size): Allow float value in dpi.
11067 (font_prop_validate_type): Delete.
11068 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
11069 Change caller.
11070 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
11071 (font_prop_validate_extra): Delete.
11072 (font_prop_validate_spacing): New function.
11073 (font_property_table): Add elements for all known properties.
11074 (get_font_prop_index): Rename from check_font_prop_name. New
11075 argument FROM. Change caller.
11076 (font_prop_validate): Validate all known properties.
11077 (font_put_extra): Delete argument force. Change caller.
11078 (font_expand_wildcards): Make it static. Fix the way of shrinking
11079 the possible range.
11080 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
11081 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
11082 Change caller.
11083 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
11084 (font_parse_fcname): Delete argument merge. Fix parsing of point
11085 size. Don't validate properties values here. Change caller.
11086 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
11087 (font_open_by_name): Delete unused variable.
11088 (Ffont_spec): Likewise. Validate property values.
11089 (Ffont_match_p): New function.
11090
11091 * font.h (QCscalable): Extern it.
11092 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
11093
11094 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
11095
11096 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
11097 (xfont_list_pattern): New function.
11098 (xfont_list): Use xfont_list_pattern.
11099
111002008-02-01 Kenichi Handa <handa@m17n.org>
11101
11102 * font.h (Flist_fonts): EXFUN it.
11103
111042008-02-01 Jason Rumney <jasonr@gnu.org>
11105
11106 * w32term.c (w32_initialize): Add back smoothing_type and
11107 smoothing_enabled definitions.
11108
111092008-02-01 Kenichi Handa <handa@m17n.org>
11110
11111 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
11112 s->face->font on determining underline position.
11113
111142008-02-01 Kenichi Handa <handa@m17n.org>
11115
11116 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
11117 (font_has_char): Accept font-object too.
11118 (font_find_for_lface): Try at first with a size specified in face.
11119
111202008-02-01 Kenichi Handa <handa@m17n.org>
11121
11122 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
11123 font_open_by_name.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 * font.h (QCspacing, QCdpi): Extern them.
11128 (enum font_spacing): New enum.
11129 (FONT_PIXEL_SIZE_QUANTUM): New macro.
11130
11131 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
11132 (QCspacing, QCdpi): New variables.
11133 (syms_of_font): Initialize them.
11134 (font_pixel_size): New function.
11135 (font_put_extra): New function.
11136 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
11137 in FONT_EXTRA.
11138 (font_parse_fcname): Handle enumerated values (e.g. bold).
11139 Fix handling font size. Add QCname property that contains only
11140 unknown properties.
11141 (font_score): Change argument. Change caller. Pay attention to
11142 FONT_PIXEL_SIZE_QUANTUM.
11143 (font_sort_entites, font_list_entities, font_find_for_lface)
11144 (font_open_for_lface, font_open_by_name): Fix handling of font size.
11145 (Ffont_spec): Add QCname property that contains only unknown properties.
11146
11147 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
11148 include weight in listing pattern, instead check weight of each
11149 listed font. Don't include scalable in pattern. Pay attention to
11150 FONT_PIXEL_SIZE_QUANTUM.
11151
111522008-02-01 Kenichi Handa <handa@m17n.org>
11153
11154 * font.c (font_parse_fcname): Fix parsing of point-size.
11155 (font_unparse_fcname): Produce symbolic names for style properties.
11156 (font_list_entities): Handle float size correctly.
11157 (font_open_by_name): Prefer `normal' property values if the name
11158 doesn't specify them.
11159
11160 * fontset.c (Finternal_char_font): Use font_get_name, not
11161 Ffont_xlfd_name.
11162
11163 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
11164 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
11165 pattern. Don't force scalable.
11166
11167 * xftfont.c (xftfont_open): For generating a name, start from
11168 96-byte buffer.
11169
111702008-02-01 Jan Djärv <jan.h.d@swipnet.se>
11171
11172 * frame.h (x_new_fontset2): Fix prototype.
11173
111742008-02-01 Kenichi Handa <handa@m17n.org>
11175
11176 * font.h (struct font_driver): Delete member parse_name.
11177 (font_match_p, font_get_spec, font_parse_fcname)
11178 (font_unparse_fcname): Extern them.
11179 (font_get_name): Adjust prototype.
11180
11181 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
11182 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
11183 (font_expand_wildcards): Fix handling ENCODING field. Avoid
11184 unnecessary checks for weight, slant, and swidth.
11185 (font_parse_fcname): New function.
11186 (font_unparse_fcname): New function.
11187 (font_parse_name): New function.
11188 (font_match_p): New function.
11189 (font_get_name): Change return value to Lisp string.
11190 (font_get_spec): New function.
11191 (Qunspecified, Qignore_defface): Don't extern them.
11192 (font_find_for_lface): Assume that LFACE is fully specified.
11193 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
11194 object, use it for FACE.
11195 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
11196 driver->parse_name.
11197 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
11198
11199 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
11200 prototype.
11201
11202 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
11203 argument F. Don't call Fnew_fontset. Instead, directly call
11204 make_fontset.
11205
11206 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
11207
11208 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
11209 of x_new_fontset2.
11210
11211 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
11212 (Qsans__serif): New variables.
11213 (ftfont_generic_family_list): New variable.
11214 (syms_of_ftfont): Initialize the above variables.
11215 (ftfont_pattern_entity): Delete argument NAME.
11216 (ftfont_list_generic_family): New function.
11217 (ftfont_parse_name): Delete this function.
11218 (ftfont_list): Try generic family only when FcFontList found no font.
11219 (ftfont_list_family): Fix args to FcObjectSetBuild.
11220
11221 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
11222 object in attrs[LFACE_FONT_INDEX].
11223 (set_lface_from_font_name): Cancel all changes for font-backend.
11224 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
11225 function.
11226 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
11227 font object in QCfont attribute.
11228 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
11229 (realize_default_face) [USE_FONT_BACKEND]: Call
11230 set_lface_from_font_and_fontset.
11231
11232 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
11233 "fixed", and signal error here if no suitable font was found.
11234
11235 * xfont.c (xfont_parse_name): Delete this function.
11236
11237 * xftfont.c (xftfont_open): Change coding style of error
11238 handling. Generate fontconfig's fontname pattern.
11239
11240 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
11241 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
11242
11243 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
11244 Both args FONTSET and FONT_OBJECT must be existing ones.
11245
112462008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11247
11248 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
11249
112502008-02-01 Kenichi Handa <handa@m17n.org>
11251
11252 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11253
11254 * font.h (struct font): Fix typo.
11255
11256 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11257 XLFD_XXX_INDEX.
11258 (enum xlfd_field_mask): New enum.
11259 (intern_font_field): Changed argument. Change caller. If digits
11260 are followed by non-digits, return a symbol.
11261 (font_expand_wildcards): New function.
11262 (font_parse_xlfd): Fix wildcard handling.
11263 (Ffont_spec): If :name is specified, reflect the info in the other
11264 properties.
11265
11266 * ftfont.c (ftfont_pattern_entity): Fix typo.
11267 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11268 locale.
11269
112702008-02-01 Kenichi Handa <handa@m17n.org>
11271
11272 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11273
11274 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11275 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11276 registry doesn't specify encoding part.
11277 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11278 (font_open_by_name): At first try parsing the name.
11279 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11280 as Lisp symbols.
11281
11282 * fontset.c (reorder_font_vector): Pay attention to the case that
11283 the 3rd element of font_def is nil.
11284 (fontset_font): For the default fontset, append one more fontset
11285 elements for a script-based font specification. Don't add script
11286 attribute on finding a font.
11287 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11288 font name.
11289 (fontset_ascii_font): If a font can't be opened, return nil.
11290
11291 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11292 (ftfont_pattern_entity): New function.
11293 (ftfont_get_cache): Assume that freetype_font_cache is already
11294 initialized.
11295 (ftfont_list): Handle the case that a file is specified in font
11296 name. Use ftfont_pattern_entity to generate entities.
11297 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11298 (syms_of_ftfont): Initialize freetype_font_cache.
11299
11300 * xftfont.c (xftfont_open): Make the font name fontconfig's
11301 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11302 (xftfont_close): Free font->font.name if not NULL.
11303
11304 * xfont.c (xfont_list): If script is specified for a font, return
11305 null_vector.
11306 (xfont_list_family): Declare argument type.
11307
11308 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11309 name, set LFACE_FONT (lface) to nil.
11310
11311 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11312 return Qnil.
11313
113142008-02-01 Kenichi Handa <handa@m17n.org>
11315
11316 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11317 (standard_args): Add "-enable-font-backend".
11318
113192008-02-01 Kenichi Handa <handa@m17n.org>
11320
11321 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11322 (struct xftdraw_list, xftdraw_list): Delete them.
11323 (register_xftdraw, check_xftdraw): Delete them.
11324 (xftfont_prepare_face): Don't call register_xftdraw.
11325 (xftfont_done_face): Don't call check_xftdraw.
11326 (xftfont_draw): Get background color only when with_background is
11327 nonzero.
11328
11329 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11330
113312008-02-01 Kenichi Handa <handa@m17n.org>
11332
11333 These changes are for the new font handling codes.
11334
11335 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11336 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11337 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11338 (FONTSRC, FONTOBJ): New variables.
11339 (obj): Add $(FONTOBJ).
11340 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11341 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11342 @LIBOTF_LIBS@.
11343 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11344 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11345
11346 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11347
11348 * character.h (Vscript_representative_chars): Extern it.
11349
11350 * character.c (Vscript_representative_chars): New variable.
11351 (syms_of_character): Declare it as a Lisp variable.
11352
11353 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
11354 enable_font_backend is nonzero, accept the composition method
11355 COMPOSITION_WITH_GLYPH_STRING.
11356
11357 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
11358 enumeration COMPOSITION_WITH_GLYPH_STRING.
11359
11360 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
11361 members clip_x, clip_y, clip_width, and clip_height.
11362 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
11363
11364 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
11365 --enable-font-backend. Call syms_of_font.
11366
11367 * fns.c (assoc_no_quit): New function.
11368
11369 * fontset.h (FONT_INFO_FROM_FACE): New macro.
11370 (face_for_font, new_fontset_from_font)
11371 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
11372
11373 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
11374 (fontset_font, fontset_ascii, face_for_char)
11375 (make_fontset_for_ascii_face, Ffont_info)
11376 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
11377 is nonzero, use font-backend mechanism.
11378 (find_font_encoding): Make it non-static.
11379 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
11380 New functions.
11381
11382 * frame.h (struct frame): New members resx and resy.
11383 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
11384 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
11385
11386 * frame.c [USE_FONT_BACKEND]: Include "font.h".
11387 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
11388
11389 * lisp.h (assoc_no_quit): Extern it.
11390
11391 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
11392 Through out the file, use FONT_INFO_FROM_FACE instead of
11393 FONT_INFO_FROM_ID, use get_per_char_metric instead of
11394 rif->per_char_metric.
11395 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
11396 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
11397 (get_glyph_face_and_encoding, fill_composite_glyph_string)
11398 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11399 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
11400 nonzero, use font-backend mechanism.
11401 (get_per_char_metric): New function.
11402
11403 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
11404 (set_lface_from_font_name)
11405 (set_font_frame_param, free_realized_face)
11406 (prepare_face_for_display, clear_face_gcs)
11407 (Finternal_set_font_selection_order, realize_x_face)
11408 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
11409 font-backend mechanism.
11410 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
11411 (load_face_font) [USE_FONT_BACKEND]: Abort.
11412 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
11413 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
11414
11415 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
11416 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
11417 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
11418 nonzero, register all available font drivers. Call
11419 x_default_font_parameter for deciding a font.
11420 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
11421
11422 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
11423 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
11424 (x_set_glyph_string_clipping_exactly)
11425 (x_compute_glyph_string_overhangs)
11426 (x_draw_glyph_string_foreground)
11427 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
11428 (x_free_frame_resources) [USE_FONT_BACKEND]: If
11429 enable_font_backend is nonzero, use font-backend mechanism.
11430 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
11431
114322008-02-01 Kenichi Handa <handa@m17n.org>
11433
11434 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
11435 system_eol_type.
11436 (syms_of_coding): Initialize system_eol_type.
11437
11438 * process.c (Fset_process_coding_system): Inherit system's eol
11439 format if necessary.
11440
114412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11442
11443 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
11444
114452008-02-01 Kenichi Handa <handa@m17n.org>
11446
11447 * coding.c (decode_eol): Pay attention to buffer relocation in
11448 del_range_2.
11449 (decode_coding): Call decode_eol before restoring undo_list.
11450
114512008-02-01 Kenichi Handa <handa@m17n.org>
11452
11453 * charset.c (Fdefine_charset_internal): Fix setting of
11454 emacs_mule_bytes.
11455
114562008-02-01 Kenichi Handa <handa@m17n.org>
11457
11458 * keyboard.c (read_char): Check if C is a character or not before
11459 looking up Vkeyboard_translate_table.
11460
114612008-02-01 Kenichi Handa <handa@m17n.org>
11462
11463 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
11464 condition to terminate the loop.
11465
114662008-02-01 Kenichi Handa <handa@m17n.org>
11467
11468 * coding.c (produce_composition): Compare charbuf[i] instead of
11469 args[i] against 0.
11470 (Fterminal_coding_system): Use EQ to compare Lisp objects.
11471
114722008-02-01 Kenichi Handa <handa@m17n.org>
11473
11474 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
11475 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
11476 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
11477 detect_coding.
11478 (emacs_mule_char): Handle old style (Emacs 20) component character
11479 of a composition.
11480 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
11481 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
11482 composition rule.
11483 (decode_coding_emacs_mule): Handle invalid bytes correctly.
11484
114852008-02-01 Kenichi Handa <handa@m17n.org>
11486
11487 * coding.c (encode_coding_ccl): Allocate destination dynamically
11488 when necessary.
11489
114902008-02-01 Kenichi Handa <handa@m17n.org>
11491
11492 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
11493 the loop. When quitted, show a proper error message.
11494
114952008-02-01 Kenichi Handa <handa@m17n.org>
11496
11497 * xterm.c (x_set_glyph_string_clipping_exactly): Set
11498 src->clip_head and src->clip_tail temporarily instead of src->hl.
11499
11500 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
11501 character sequence.
11502 (Fccl_execute_on_string): Use ASET, not XSET.
11503
115042008-02-01 Kenichi Handa <handa@m17n.org>
11505
11506 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
11507
115082008-02-01 Kenichi Handa <handa@m17n.org>
11509
11510 * coding.c (decode_coding): Fix the condition of terminating the
11511 decoding loop.
11512
115132008-02-01 Kenichi Handa <handa@m17n.org>
11514
11515 * data.c (Faset): On setting a character bigger than 255 in a
11516 unibyte string, signal an error instead of make the string multibyte.
11517
115182008-02-01 Kenichi Handa <handa@m17n.org>
11519
11520 * charset.c (map_charset_chars): Fix for ascii-compatible charset
11521 made by a mapping table.
11522
115232008-02-01 Kenichi Handa <handa@m17n.org>
11524
11525 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
11526 not.
11527 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
11528 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
11529
11530 * xterm.c (x_draw_composite_glyph_string_foreground): Check
11531 s->face is NULL or not.
11532
115332008-02-01 Kenichi Handa <handa@m17n.org>
11534
11535 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
11536 (x_draw_glyph_string): Fix drawing of right_overhang and
11537 left_overhang around/on cursor.
11538
11539 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
11540
115412008-02-01 Kenichi Handa <handa@m17n.org>
11542
11543 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
11544
115452008-02-01 Kenichi Handa <handa@m17n.org>
11546
11547 * coding.c (Fdefine_coding_system_internal)
11548 (Fdefine_coding_system_alias): Avoid a duplicated element in
11549 Vcoding_system_alist.
11550
115512008-02-01 Kenichi Handa <handa@m17n.org>
11552
11553 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
11554
11555 * coding.c (Qcoding_system_define_form): New variable.
11556 (syms_of_coding): Intern and staticpro it.
11557 (Fcoding_system_p): Check Qcoding_system_define_form.
11558 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
11559
11560 * coding.h (CODING_SYSTEM_P): If ID is not available, call
11561 Fcoding_system_p.
11562 (CHECK_CODING_SYSTEM): If ID is not available, call
11563 Fcheck_coding_system.
11564 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
11565 Try also Fcheck_coding_system.
11566
115672008-02-01 Kenichi Handa <handa@m17n.org>
11568
11569 * coding.c (code_conversion_restore): GCPRO arg.
11570
115712008-02-01 Kenichi Handa <handa@m17n.org>
11572
11573 * character.c (lisp_string_width): Check multibyteness of STRING.
11574
115752008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11576
11577 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
11578 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
11579 (decode_mac_font_name): Use decode_coding_c_string instead of
11580 decode_coding.
11581 (x_load_font): Initialize fontp->fontset to -1. Set
11582 fontp->encoding_type.
11583
115842008-02-01 Kenichi Handa <handa@m17n.org>
11585
11586 * search.c (search_buffer): Give up BM search on case-fold-search
11587 if one of a target character has a case-equivalence of different
11588 byte length even if that target charcter is an ASCII.
11589 (simple_search): Fix calculation of byte length of matched text.
11590 (boyer_moore): Fix handling of case-equivalent multibyte characters.
11591
115922008-02-01 Kenichi Handa <handa@m17n.org>
11593
11594 * coding.c (decode_coding): Fix handling of invalid bytes.
11595
115962008-02-01 Kenichi Handa <handa@m17n.org>
11597
11598 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
11599 Unicode characters.
11600
116012008-02-01 Kenichi Handa <handa@m17n.org>
11602
11603 * coding.c (encode_coding_object): If a pre-write-conversion
11604 function makes a new buffer, kill it.
11605
116062008-02-01 Kenichi Handa <handa@m17n.org>
11607
11608 * coding.c (QCascii_compatible_p): New variable.
11609 (syms_of_coding): Initialize it.
11610 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
11611 calling string_char.
11612 (record_conversion_result): Add `default:' case.
11613 (coding_charset_list): Delete unused variable `coding_type'.
11614 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
11615 property in the plist of the coding system.
11616 (Fcoding_system_put): Check QCascii_compatible_p.
11617
116182008-02-01 Miles Bader <miles@gnu.org>
11619
11620 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
11621 removed calculation of frame `f', as it's now used.
11622
116232008-02-01 Kenichi Handa <handa@m17n.org>
11624
11625 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
11626 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
11627 (UNIDATA): New variable.
11628 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
11629 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
11630 $(RUN_TEMACS) unconditionally.
11631
116322008-02-01 Kenichi Handa <handa@m17n.org>
11633
11634 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
11635 (admindir): New variable.
11636 ($(lispsource)international/charprop.el): New target.
11637
116382008-02-01 Miles Bader <miles@gnu.org>
11639
11640 * character.c (chars-in-region): Remove obsolete function.
11641 (syms_of_character): Remove its initialization.
11642
116432008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
11644
11645 * w32select.c (validate_coding_system)
11646 (setup_windows_coding_system): New functions.
11647 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
11648 setup_windows_coding_system.
11649 (setup_config, Fw32_get_clipboard_data): Use
11650 validate_coding_system.
11651 (Fx_selection_exists): Move call to setup_config to a place
11652 where signals are allowed.
11653
11654 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
11655 (Fcheck_coding_system): Add declarations.
11656
116572008-02-01 Kenichi Handa <handa@m17n.org>
11658
11659 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
11660
116612008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11662
11663 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
11664 string as the second argument for x_new_fontset.
11665
116662008-02-01 Kenichi Handa <handa@m17n.org>
11667
11668 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
11669 (encode_coding_object): Use safe_call instead of call2.
11670
116712008-02-01 Kenichi Handa <handa@m17n.org>
11672
11673 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11674
11675 * Makefile.in (lisp): Include charprop.el.
11676
116772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11678
11679 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11680 Not sure if it's unnecessary.
11681
116822008-02-01 Steven Tamm <steventamm@mac.com>
11683
11684 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11685 some possibly unnecessary fontset checking code that crashed
11686 when creating a new frame.
11687
116882008-02-01 Kenichi Handa <handa@m17n.org>
11689
11690 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11691 lookup_face.
11692
11693 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11694
11695 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11696
116972008-02-01 Kenichi Handa <handa@m17n.org>
11698
11699 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11700 (coding_charset_list): New function.
11701
11702 * coding.h (coding_charset_list): Extern it.
11703
117042008-02-01 Kenichi Handa <handa@m17n.org>
11705
11706 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11707 concatenation of family and registry.
11708
117092008-02-01 Kenichi Handa <handa@m17n.org>
11710
11711 * character.h (BYTE8_STRING): Fix typo.
11712
11713 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11714 string to multibyte (sync to HEAD).
11715
11716 * casefiddle.c (casify_region): Handle changes in byte-length
11717 using replace_range_2 (sync to HEAD).
11718
117192008-02-01 Andreas Schwab <schwab@suse.de>
11720
11721 * chartab.c (map_char_table): GCPRO table and arg.
11722
117232008-02-01 Kenichi Handa <handa@m17n.org>
11724
11725 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11726 already at limit.
11727
117282008-02-01 Kenichi Handa <handa@m17n.org>
11729
11730 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11731 instead of fast_c_string_match_ignore_case.
11732 (find_font_encoding): Change argument to Lisp_Object. Use
11733 fast_string_match_ignore_case instead of
11734 fast_c_string_match_ignore_case. Change caller.
11735
117362008-02-01 Kenichi Handa <handa@m17n.org>
11737
11738 * xdisp.c (get_next_display_element): In unibyte case, decide to
11739 display in octal form by checking a character by
11740 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11741
11742 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11743
11744 * character.c (unibyte_has_multibyte_table): New variable.
11745
11746 * character.h (unibyte_has_multibyte_table): Extern it.
11747 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11748
117492008-02-01 Kenichi Handa <handa@m17n.org>
11750
11751 * coding.c (encode_coding_iso_2022): Fix handling of charset
11752 annotation.
11753
117542008-02-01 Kenichi Handa <handa@m17n.org>
11755
11756 * coding.c (setup_coding_system): If coding_system is nil, use
11757 Qundecided.
11758 (Fterminal_coding_system): Return nil if terminal coding system is
11759 `undecided'.
11760 (syms_of_coding): Define coding-system `undecided' here. Setup
11761 terminal_coding as `undecided'.
11762
117632008-02-01 Kenichi Handa <handa@m17n.org>
11764
11765 * xdisp.c (message_dolog, set_message_1): Call
11766 unibyte_char_to_multibyte with arg type int.
11767
11768 * lread.c (read1): Fix reading of a char-table.
11769
11770 * print.c (print_object): Include sub char-table in circularities
11771 detection.
11772
117732008-02-01 Kenichi Handa <handa@m17n.org>
11774
11775 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11776 Append the found sequences in car of ARGS instead of prepending.
11777
117782008-02-01 Kenichi Handa <handa@m17n.org>
11779
11780 * fileio.c (report_file_error): Make a unibyte string from
11781 strerror (errorno).
11782 (Fsubstitute_in_file_name): Fix the arg to
11783 unibyte_char_to_multibyte. It is evaluated twice.
11784
117852008-02-01 Kenichi Handa <handa@m17n.org>
11786
11787 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11788
117892008-02-01 Kenichi Handa <handa@m17n.org>
11790
11791 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11792 BOM is not found.
11793 (detect_coding, detect_coding_system): Optimization for ISO-2022
11794 when no 8-bit data is found.
11795
117962008-02-01 Jason Rumney <jasonr@gnu.org>
11797
11798 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11799
118002008-02-01 Kenichi Handa <handa@m17n.org>
11801
11802 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11803 CHARS.
11804
118052008-02-01 Steven Tamm <steventamm@mac.com>
11806
11807 * macterm.c (mac_encode_char): Add charset argument and update
11808 to use encoding_type.
11809 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11810 switch to pure fontset.
11811 (decode_mac_font_name): Temporarily remove decoding.
11812 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11813 (x_load_font): Temporarily remove encoding.
11814
118152008-02-01 Kenichi Handa <handa@m17n.org>
11816
11817 * xfaces.c (Fface_font): If frame is not on a window system,
11818 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11819 refer to face->font.
11820 (split_font_name_into_vector, build_font_name_from_vector)
11821 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11822 when HAVE_WINDOW_SYSTEM is defined.
11823
118242008-02-01 Kenichi Handa <handa@m17n.org>
11825
11826 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11827 (x_produce_glyphs): Fix setting of members of cmp in case
11828 cmp->glyph_len is zero.
11829
11830 * fontset.c (Fset_fontset_font): Fix docstring.
11831 (Ffontset_info): Make it backward compatible. New arg ALL.
11832
118332008-02-01 Kim F. Storm <storm@cua.dk>
11834
11835 * process.c (read_process_output): Grow decoding_buf when needed;
11836 this could cause a crash in allocate_string and compact_small_strings.
11837
118382008-02-01 Kenichi Handa <handa@m17n.org>
11839
11840 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11841
118422008-02-01 Kenichi Handa <handa@m17n.org>
11843
11844 * coding.c (setup_coding_system): Set coding->common_flags
11845 correctly for raw-text.
11846 (consume_chars): On encoding unibyte text by raw-text, don't check
11847 multibyte form.
11848 (encode_coding): On encoding by raw-text, never use translation tables.
11849
11850 * fileio.c (e_write): Short cut for the case of no encoding.
11851
118522008-02-01 Kenichi Handa <handa@m17n.org>
11853
11854 * coding.c (detect_coding, detect_coding_system): Delete unused
11855 variables.
11856
118572008-02-01 Kenichi Handa <handa@m17n.org>
11858
11859 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11860 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11861
118622008-02-01 Kenichi Handa <handa@m17n.org>
11863
11864 * coding.c (Ffind_coding_systems_region_internal): Include
11865 raw-text and no-conversion in the result.
11866
118672008-02-01 Kenichi Handa <handa@m17n.org>
11868
11869 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11870 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11871 FONT_DEF.
11872 (font_def_arg, add_arg, from_arg, to_arg): New args.
11873 (set_fontset_font): Change argument.
11874 (Fset_fontset_font): Fix for the case that TARGET is a script
11875 name and charset name.
11876 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11877
118782008-02-01 Kenichi Handa <handa@m17n.org>
11879
11880 * fontset.c (fontset_font): Rename from fontset_face. Change return
11881 value.
11882 (face_suitable_for_char_p, face_for_char): Adjust for the change
11883 of fontset_font.
11884 (make_fontset_for_ascii_face): Fix setting of the fontset element
11885 for ASCII.
11886 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11887 to get a font name.
11888 (Ffontset_info): Adjust for the change of fontset_font.
11889
11890 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11891
11892 * character.h (LEADING_CODE_LATIN_1_MIN)
11893 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11894
118952008-02-01 Kenichi Handa <handa@m17n.org>
11896
11897 * editfns.c (check_translation): New function.
11898 (Ftranslate_region_internal): Handle M:N mapping.
11899
119002008-02-01 Kenichi Handa <handa@m17n.org>
11901
11902 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11903
119042008-02-01 Kenichi Handa <handa@m17n.org>
11905
11906 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11907 goto invalid_code.
11908 (decode_coding_iso_2022): Fix handling of invalid designation.
11909
11910 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11911 after calling code_conversion_save.
11912
119132008-02-01 Kenichi Handa <handa@m17n.org>
11914
11915 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11916
11917 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11918
11919 * fontset.c: Include "intervals.h".
11920 (fontset_face): Fix comparing of Lisp_Objects.
11921 (free_face_fontset, new_fontset_from_font_name): Fix
11922 Lisp_Object/int mixup.
11923
11924 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11925
11926 * coding.c: Add many prototypes for static functions.
11927 (get_translation_table): Allow max_lookup to be NULL.
11928 (decode_coding, Ffind_coding_systems_region_internal)
11929 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11930 get_translation_table with max_lookup NULL.
11931
119322008-02-01 Kenichi Handa <handa@m17n.org>
11933
11934 * coding.c (get_translation_table): Declare it as Lisp_Object.
11935 (LOOKUP_TRANSLATION_TABLE): New macro.
11936 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11937 instead of CHAR_TABLE_REF.
11938
119392008-02-01 Kenichi Handa <handa@m17n.org>
11940
11941 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11942 annotation data format.
11943 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11944 Change arguments FROM and TO to single argument NCHARS. Change caller.
11945 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11946 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11947 (decode_coding_ccl, decode_coding_charset): Pay attention to
11948 coding->charbuf_used.
11949 (get_translation): New function.
11950 (produce_chars): New arguments translation_table and last_block.
11951 Translate characters here. Return number of carryover chars.
11952 Change caller.
11953 (produce_composition): New argument pos. Change caller.
11954 Adjust for the change of annotation data format.
11955 (produce_charset, produce_annotation): Likewise.
11956 (decode_coding, encode_coding): Don't call translate_chars.
11957 (consume_chars): New arg translation_table. Change caller.
11958 (translate_chars): Delete.
11959 (syms_of_coding): Make translation-table's number of extra slots 2.
11960
119612008-02-01 Kenichi Handa <handa@m17n.org>
11962
11963 * search.c (simple_search): Fix setting this_pos_byte in backward
11964 search.
11965
11966 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11967 byte sequence.
11968 (detect_coding_ccl): Fix setting of the variable valids.
11969
119702008-02-01 Kenichi Handa <handa@m17n.org>
11971
11972 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11973
11974 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11975
11976 * editfns.c (Ftranslate_region_internal): Rename from
11977 Ftranslate_region. Accept a char-table in TABLE.
11978 (syms_of_editfns): Defsubr Stranslate_region_internal.
11979
11980 * xfaces.c (set_lface_from_font_name): If a font is specified for
11981 a frame, generate a fontset from the font.
11982 (build_scalable_font_name): If the scalable font is requested for
11983 a specific size, don't change that size.
11984 (try_font_list): Try a scalable font also in the case that a
11985 pattern string is specified.
11986
119872008-02-01 Kenichi Handa <handa@m17n.org>
11988
11989 * xfaces.c (Fface_font): New optional arg CHARACTER.
11990
119912008-02-01 Kenichi Handa <handa@m17n.org>
11992
11993 * charset.h (CHARSET_OFFSET): New macro.
11994
119952008-02-01 Kenichi Handa <handa@m17n.org>
11996
11997 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11998
11999 * fontset.c (fontset_face): Handle the case that repertory is a
12000 char-table.
12001 (find_font_encoding): Return nil for unknown encoding.
12002 (Fset_fontset_font): Ignore a font of unknown encoding.
12003
120042008-02-01 Kenichi Handa <handa@m17n.org>
12005
12006 * keymap.c (describe_vector): Handle default value of a char table.
12007
12008 * fontset.c (fontset_face): Handle fallback fonts correctly.
12009 (Ffontset_info): Return infomation about fallback fonts.
12010
120112008-02-01 Kenichi Handa <handa@m17n.org>
12012
12013 * fontset.c (FONTSET_DEFAULT): New macro.
12014 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
12015 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
12016 the case that it is nil.
12017 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
12018 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
12019
12020 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
12021 subset or superset.
12022
120232008-02-01 Kenichi Handa <handa@m17n.org>
12024
12025 * emacs.c (main): Call init_charset after syms_of_XXX.
12026
12027 * charset.c (Vcharset_map_directory): Delete.
12028 (Vcharset_map_path): New variable.
12029 (load_charset_map_from_file): Use Vcharset_map_path instead.
12030 (init_charset): Initialize Vcharset_map_path.
12031 (syms_of_charset): Delete declaration of "charset-map-directory",
12032 add declaration of "charset-map-path".
12033
120342008-02-01 Kenichi Handa <handa@m17n.org>
12035
12036 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
12037 ASCII only string.
12038
12039 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
12040
12041 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
12042 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
12043
120442008-02-01 Kenichi Handa <handa@m17n.org>
12045
12046 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
12047
12048 * coding.c (QCmnemonic, QCdefalut_char)
12049 (QCdecode_translation_table, QCencode_translation_table)
12050 (QCpost_read_conversion, QCpre_write_conversion): New variables.
12051 (get_translation_table): Return a list of translation tables if
12052 necessary.
12053 (decode_coding): Call get_translation_table with ENCODEP 0.
12054 (char_encodable_p): If translation_table is non-nil, always call
12055 translate_char.
12056 (Fdefine_coding_system_internal): Accept list of translation
12057 tables as :encode-translation-table and :decode-translation-table.
12058 (Fcoding_system_put): New function.
12059 (syms_of_coding): Declare new symbols. Defsubr
12060 Scoding_system_put.
12061 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
12062 typically JISX0212.
12063
12064 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
12065 when the charset is superset type.
12066
12067 * character.c (translate_char): Accept list of translation tables.
12068
120692008-02-01 Kenichi Handa <handa@m17n.org>
12070
12071 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
12072 (CODING_ATTR_TRANS_TBL): New macro.
12073
12074 * coding.c (get_translation_table): New function.
12075 (translate_chars): Fix the bug of skipping annotation data.
12076 (decode_coding, encode_coding): Utilize get_translation_table.
12077 (char_encodable_p, Funencodable_char_position): Translate char if
12078 necessary.
12079 (Ffind_coding_systems_region_internal)
12080 (Fcheck_coding_systems_region): Setup translation table for encode
12081 in a coding system attribute vector in advance.
12082 (Fdefine_coding_system_internal): Allow a symbol as translation
12083 table. For shift-jis type coding system, allow 4th charset.
12084
120852008-02-01 Kenichi Handa <handa@m17n.org>
12086
12087 * coding.c (decode_coding_sjis): Check the first byte rigidly.
12088
12089 * xdisp.c (get_next_display_element): Pass -1 as POS to
12090 FACE_FOR_CHAR if displaying a C-string.
12091
120922008-02-01 Kenichi Handa <handa@m17n.org>
12093
12094 * composite.c (get_composition_id): Handle xoff and yoff in a
12095 composition rule.
12096
12097 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
12098 (struct composition): New member lbearing and rbearing.
12099
12100 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
12101 (x_get_glyph_overhangs): Handle a composition glyph.
12102 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
12103
12104 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
12105 composition glyph.
12106
121072008-02-01 Kenichi Handa <handa@m17n.org>
12108
12109 * print.c: Include charset.h.
12110 (Vprint_charset_text_property): New variable.
12111 (Qdefault): Extern it.
12112 (PRINT_STRING_NON_CHARSET_FOUND)
12113 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
12114 (print_check_string_result): New variable.
12115 (print_check_string_charset_prop): New function.
12116 (print_prune_charset_plist): New variable.
12117 (print_prune_string_charset): New function.
12118 (print_object): Call print_prune_string_charset if
12119 Vprint_charset_text_property is not t.
12120 (print_interval): Print nothing if interval->plist is nil.
12121 (syms_of_print): Declare Vprint_charset_text_property as a lisp
12122 variable. Init and staticpro print_prune_charset_plist.
12123
121242008-02-01 Kenichi Handa <handa@m17n.org>
12125
12126 * fontset.c (new_fontset_from_font_name): Use the specified font
12127 for all characters in the new fontset.
12128
12129 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12130 OBJECT args.
12131
12132 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
12133 OBJECT args for composition too.
12134
12135 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
12136 OBJECT args.
12137
121382008-02-01 Kenichi Handa <handa@m17n.org>
12139
12140 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
12141
12142 * fontset.c (reorder_font_vector): Adjust for the change of
12143 FONT_DEF format.
12144 (fontset_face): New arg id. Change caller.
12145 (face_for_char): New args pos and object.
12146 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
12147 (fs_query_fontset): Check NAME by Fassoc too.
12148 (Fset_fontset_font): Allow non-XLFD font name.
12149 (Ffontset_info): Adjust for the change of FONT_DEF format.
12150
12151 * fontset.h (face_for_char): Adjust prototype.
12152
12153 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
12154 (append_space, extend_face_to_end_of_line)
12155 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12156 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
12157
12158 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
12159 POS and OBJECT args.
12160
12161 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
12162 POS and OBJECT args.
12163
121642008-02-01 Jason Rumney <jasonr@gnu.org>
12165
12166 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
12167 of GlobalAlloc'ed memory.
12168
121692008-02-01 Kenichi Handa <handa@m17n.org>
12170
12171 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
12172
12173 * charset.h (charset_table_used): Delete extern.
12174
12175 * charset.c (charset_table_used): Make it static.
12176 (map_charset_chars): Fix args to c_function with.
12177
12178 * chartab.c (map_sub_char_table_for_charset): Fix args to
12179 c_function with.
12180
12181 * coding.h (enum coding_result_code): Delete
12182 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
12183
12184 * coding.c (Qinsufficient_source, Qinconsistent_eol)
12185 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
12186 (Vlast_code_conversion_error): New variables.
12187 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
12188 (ONE_MORE_BYTE): Record error if any instead of signaling an
12189 error. If non-ASCII multibyte char is found, return the negative
12190 value of the code. All callers changed to check it.
12191 (ONE_MORE_BYTE_NO_CHECK): Likewise.
12192 (record_conversion_result): New function. Change all codes setting
12193 coding->result to call this function.
12194 (detect_coding_utf_8, decode_coding_utf_8)
12195 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
12196 Don't use the local variable incomplete.
12197 (emacs_mule_char): Change the second arg to `const'.
12198 (decode_coding): Fix of flushing out unprocessed data.
12199 (make_conversion_work_buffer): Fix making of a work buffer.
12200 (decode_coding_object): Return coding->dst_object.
12201
12202 * fontset.c (set_fontset_font): Fix args.
12203
12204 * lisp.h (CHARACTERBITS): Define as 22.
12205
12206 * process.c (send_process): Be sure to set coding->src_multibyte.
12207
12208 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
12209
122102008-02-01 Kenichi Handa <handa@m17n.org>
12211
12212 * xdisp.c (handle_auto_composed_prop): Give limit to
12213 Fnext_single_char_property_change.
12214
122152008-02-01 Kenichi Handa <handa@m17n.org>
12216
12217 * composite.c (syms_of_composite): Don't make the composition hash
12218 table weak.
12219
12220 * fontset.c (Fset_fontset_font): Fix docstring.
12221
12222 * lisp.h (detect_coding_system): Adjust prototype.
12223
12224 * fileio.c (kill_workbuf_unwind): Delete this function.
12225 (Finsert_file_contents): Adjust the call of detect_coding_system.
12226 Get conversion_buffer by code_conversion_save. Use the macro
12227 CODING_MAY_REQUIRE_DECODING. After decoding, update
12228 coding_system.
12229
12230 * coding.h (make_conversion_work_buffer): Delete extern.
12231 (code_conversion_save): Extern it.
12232
12233 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
12234 (CODING_GET_INFO): Delete argument eol_type. Change callers.
12235 (decode_coding_utf_8): Don't do eol converion.
12236 (detect_coding_utf_16): Check coding->src_chars, not
12237 coding->src_bytes. Add heuristics for those that have no signature.
12238 (decode_coding_emacs_mule, decode_coding_iso_2022)
12239 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12240 Don't do eol converion.
12241 (adjust_coding_eol_type): Return a new coding system.
12242 (detect_coding): Don't detect eol. Fix for utf-16 detection.
12243 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
12244 each change.
12245 (decode_coding): Pay attention to undo_list. Do eol conversion for
12246 all types of coding-systems (if necessary).
12247 (Vcode_conversion_work_buf_list): Delete it.
12248 (Vcode_conversion_reused_workbuf): Rename from
12249 Vcode_conversion_reused_work_buf.
12250 (Vcode_conversion_workbuf_name): New variable.
12251 (reused_workbuf_in_use): New variable.
12252 (make_conversion_work_buffer): Delete the arg DEPTH.
12253 (code_conversion_restore): Change argument to cons.
12254 (code_conversion_save): Delete the argument BUFFER. Change callers.
12255 (detect_coding_system): New argument src_chars. Change callers.
12256 Fix for utf-16 detection.
12257 (init_coding_once): Don't use ISO_carriage_return.
12258 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12259 reused_workbuf_in_use.
12260
122612008-02-01 Kenichi Handa <handa@m17n.org>
12262
12263 * keymap.c (store_in_keymap): Pay attention to the case that idx
12264 is a cons specifying a character range.
12265
122662008-02-01 Kenichi Handa <handa@m17n.org>
12267
12268 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12269 HANDLED_RECOMPUTE_PROPS.
12270
12271 * coding.c (Fdefine_coding_system_internal): Fix checking of
12272 ascii compatibility.
12273
122742008-02-01 Kenichi Handa <handa@m17n.org>
12275
12276 * charset.c (find_charsets_in_text): Delete unused locale variable.
12277 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12278
12279 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12280 Resync charset_list to Vemacs_mule_charset_list.
12281
12282 * keymap.c (store_in_keymap): Pay attention to the case that idx
12283 is a cons specifying a character range.
12284
122852008-02-01 Kenichi Handa <handa@m17n.org>
12286
12287 * composite.c (update_compositions): Bind inhibit-read-only, etc
12288 to t before calling remove-list-of-text-properties.
12289
12290 * print.c (print_object): Always print ASCII chars as is.
12291
122922008-02-01 Kenichi Handa <handa@m17n.org>
12293
12294 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12295
12296 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12297 is a char table.
12298
122992008-02-01 Kenichi Handa <handa@m17n.org>
12300
12301 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12302
123032008-02-01 Kenichi Handa <handa@m17n.org>
12304
12305 * xfaces.c (set_lface_from_font_name): Fix for the case that
12306 FONTNAME is not fontset name.
12307
123082008-02-01 Kenichi Handa <handa@m17n.org>
12309
12310 * fns.c (base64_encode_1): Fix previous change.
12311
123122008-02-01 Kenichi Handa <handa@m17n.org>
12313
12314 * fontset.c (set_fontset_font): New function.
12315 (Fset_fontset_font): If a font is specified for a charset, use
12316 map_charset_chars to store the font spec in a fontset.
12317
123182008-02-01 Kenichi Handa <handa@m17n.org>
12319
12320 * fontset.c (fontset_face): Create a fallback fontset on demand.
12321 (make_fontset): Don't create a fallback fontset here.
12322 (free_face_fontset): Free a fallback fontset (if any) too.
12323 (n_auto_fontsets): Delete this variable.
12324 (auto_fontset_alist): New variable.
12325 (new_fontset_from_font_name): Check auto_fontset_alist.
12326 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12327 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12328 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12329 Defsubr Sfontset_list_all.
12330
123312008-02-01 Kenichi Handa <handa@m17n.org>
12332
12333 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12334
123352008-02-01 Kenichi Handa <handa@m17n.org>
12336
12337 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12338
123392008-02-01 Kenichi Handa <handa@m17n.org>
12340
12341 * editfns.c (Fgoto_char): Fix docstring.
12342
123432008-02-01 Kenichi Handa <handa@m17n.org>
12344
12345 * insdel.c (insert_from_gap): Adjust intervals correctly.
12346
123472008-02-01 Jason Rumney <jasonr@gnu.org>
12348
12349 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12350 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12351 (w32_initialize): Try to load it.
12352 (x_get_font_repertory): Use it if available.
12353 (w32_encode_char): Add shortcut for unicode output.
12354
12355 * w32fns.c (w32_load_system_font): Default charset to -1.
12356 (x_to_w32_charset): Match all fonts for unicode.
12357 (w32_to_x_charset): New parameter matching. Don't return partial
12358 or wildcard charsets.
12359 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
12360 (w32_codepage_for_font): Return CP_UNICODE for unicode.
12361 (w32_to_x_font): Match charset to real charset.
12362 (enum_font_cb2): Always list unicode versions.
12363
12364 * makefile.w32-in (temacs): Increase EMHEAP.
12365
123662008-02-01 Jason Rumney <jasonr@gnu.org>
12367
12368 * w32term.c (w32_encode_char): New charset parameter.
12369 font_info.encoding becomes encoding_type.
12370 (x_get_font_repertory): New function. Warning: stub only!
12371 (x_new_font): Return quickly if font already set.
12372 (x_new_fontset): fontsetname parameter is Lisp_Object.
12373 Use new fs_query_fontset. Try new_fontset_from_font_name.
12374 Use fontset_name for return value.
12375
12376 * w32term.h: Declare x_get_font_repertory.
12377
12378 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
12379 place of find_charset_in_text. Use encode_coding_object in place
12380 of encode_coding.
12381 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
12382 decode_coding.
12383
12384 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
12385 of x_new_fontset.
12386 (w32_load_system_font): Initialize charset as unicode.
12387 font_info.encoding becomes encoding_type.
12388 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
12389 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
12390 (syms_of_w32fns): Set get_font_repertory_func.
12391
12392 * w32console.c: Include character.h. Use terminal_encode_buffer
12393 from term.c.
12394 (write_glyphs): Use new version of encode_terminal_code. Use
12395 encode_coding_object in place of encode_coding.
12396
12397 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
12398 encoding becomes encoding_type.
12399
12400 * term.c (terminal_encode_buffer): Make externally visible.
12401
12402 * makefile.w32-in: Add character.h dependancies.
12403 (character.o, chartab.o): New targets.
12404
124052008-02-01 Kenichi Handa <handa@m17n.org>
12406
12407 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
12408 CODING_ID_EOL_TYPE.
12409
124102008-02-01 Andreas Schwab <schwab@suse.de>
12411
12412 * coding.c (produce_chars): Revert last change.
12413
124142008-02-01 Kenichi Handa <handa@m17n.org>
12415
12416 * charset.h (charset_unicode): Extern it.
12417
12418 * charset.c (string_xstring_p): Check by (C >= 0x100).
12419 (find_charsets_in_text): Change format of the arc CHARSETS. New
12420 arg MULTIBYTE.
12421 (Ffind_charset_region, Ffind_charset_string): Adjust for the
12422 change of find_charsets_in_text.
12423 (Fsplit_char): Fix doc. Never return unknown.
12424
12425 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
12426
12427 * coding.c (Fdefine_coding_system_alias): Update
12428 Vcoding_system_list.
12429
12430 * fontset.c (load_font_get_repertory): Pay attention to the case
12431 that ENCODING of a font is specified by a char-table.
12432
12433 * xterm.c (x_get_font_repertory): Handle the case that the
12434 encoding of font is other than Unicode.
12435
124362008-02-01 Kenichi Handa <handa@m17n.org>
12437
12438 * term.c (encode_terminal_code): Don't handle glyph-table. Check
12439 if a character is encodable by the terminal coding system. If
12440 not, produces proper number of `?'s. Update
12441 terminal_encode_buffer and terminal_encode_buf_size if necessary.
12442 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
12443
124442008-02-01 Kenichi Handa <handa@m17n.org>
12445
12446 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
12447 variables.
12448 (encode_terminal_code): Change argument. Encode multiple
12449 characters at once. Store the result of encoding in
12450 terminal_encode_buffer.
12451 (write_glyphs, insert_glyphs): Adjust for the change of
12452 encode_terminal_code.
12453 (term_init): Initialize terminal_encode_buffer and
12454 terminal_encode_buf_size.
12455
12456 * coding.c (consume_chars): If coding->src_object is nil, don't
12457 check annotation.
12458
124592008-02-01 Kenichi Handa <handa@m17n.org>
12460
12461 * character.c (char_string): Use ASCII_CHAR_P instead of
12462 SINGLE_BYTE_CHAR_P.
12463
124642008-02-01 Kenichi Handa <handa@m17n.org>
12465
12466 * xdisp.c (handle_auto_composed_prop): Check if the last
12467 characters of auto-composed region is newly composed with the
12468 following characters.
12469 (handle_composition_prop): Fix checking of point being inside
12470 composition.
12471
124722008-02-01 Kenichi Handa <handa@m17n.org>
12473
12474 * fns.c (concat): Don't change multibyteness of the result by
12475 concatenating an 8-bit character.
12476
12477 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
12478 multibyteness of the result when newelt is an 8-bit character.
12479
124802008-02-01 Dave Love <fx@gnu.org>
12481
12482 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
12483 EMACS_INT.
12484
12485 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
12486
12487 * xfaces.c (face_numeric_value): Declare dim size_t.
12488 (Finternal_lisp_face_equal_p): Remove unused f.
12489
12490 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
12491 (MATRIX_ROW): Remove unused vars.
12492 (draw_glyphs, x_insert_glyphs, fast_find_position)
12493 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
12494 byte/char counts.
12495
12496 * regex.c (regex_compile): Remove unused var.
12497
12498 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12499
12500 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
12501 (Faccessible_keymaps, where_is_internal): Remove unused vars.
12502
12503 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
12504
12505 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
12506
12507 * fileio.c (Fwrite_region): Remove unused var.
12508
12509 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
12510 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
12511
12512 * composite.c (Fremove_list_of_text_properties): Declare.
12513
12514 * coding.c (inhibit_pre_post_conversion): Remove (unused).
12515 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
12516 (coding_inherit_eol_type): Remove unused attrs.
12517 (detect_coding): Cast arg of detect_eol.
12518
12519 * charset.c (syms_of_charset): Remove unused var p.
12520 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
12521 byte/char counts.
12522
12523 * casetab.c (set_case_table): Remove unused var.
12524
12525 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
12526 unused vars.
12527
125282008-02-01 Dave Love <fx@gnu.org>
12529
12530 * xterm.c (x_bitmap_mask): Declare.
12531
125322008-02-01 Dave Love <fx@gnu.org>
12533
12534 * xterm.c (x_term_init): Fix type error.
12535
12536 * lisp.h: Add Funibyte_char_to_multibyte.
12537
12538 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
12539 (Fset_coding_system_priority): Doc fix.
12540
12541 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
12542
12543 * indent.c (check_composition): Make start and end EMACS_INT.
12544
12545 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
12546
12547 * xdisp.c (handle_composition_prop, check_point_in_composition):
12548 Make buffer positions EMACS_INT.
12549
12550 * composite.c (find_composition, run_composition_function)
12551 (update_compositions, Ffind_composition_internal): Make buffer
12552 positions EMACS_INT.
12553
12554 * composite.h (find_composition, update_compositions): Make
12555 position args EMACS_INT.
12556
12557 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
12558
12559 * intervals.c (get_property_and_range):
12560 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
12561
12562 * unexalpha.c: Don't include varargs.h.
12563
125642008-02-01 Dave Love <fx@gnu.org>
12565
12566 * coding.h (ENCODE_UTF_8): New.
12567
12568 * Makefile.in (gtkutil.o): Depend on coding.h.
12569
12570 * coding.c (Fset_coding_system_priority): Doc fix.
12571
125722008-02-01 Kenichi Handa <handa@m17n.org>
12573
12574 * fileio.c (Finsert_file_contents): Call setup_coding_system in
12575 the case of auto saving.
12576
125772008-02-01 Andreas Schwab <schwab@suse.de>
12578
12579 * chartab.c (map_char_table, map_char_table_for_charset): Protect
12580 `range' from GC.
12581
125822008-02-01 Kenichi Handa <handa@m17n.org>
12583
12584 * coding.c (decode_coding_sjis): Check bytes more rigidly.
12585
125862008-02-01 Kenichi Handa <handa@m17n.org>
12587
12588 * fileio.c (choose_write_coding_system): Return a decided coding system.
12589 (Fwrite_region): Set Vlast_coding_system_used to the return value
12590 of choose_write_coding_system.
12591
125922008-02-01 Kenichi Handa <handa@m17n.org>
12593
12594 * charset.c (Fset_charset_priority): Pay attention to duplicated
12595 arguments.
12596
12597 * coding.c (QCcategory): New variable.
12598 (syms_of_coding): Defsym it. Set all elements of
12599 Vcoding_category_table and their symbol values.
12600 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
12601 coding-category-XXX, and coding-category-list.
12602 (Fdefine_coding_system_internal): Add category in the plist.
12603
126042008-02-01 Kenichi Handa <handa@m17n.org>
12605
12606 * callproc.c (Fcall_process): Handle carryover correctly.
12607
12608 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
12609 (raw_text_coding_system): Check NILP (coding_system).
12610 (coding_inherit_eol_type): Check NILP (coding_system) and
12611 NILP (parent).
12612 (consume_chars): Fix for the case of raw-text.
12613
12614 * process.c (read_process_output): Handle carryover correctly.
12615
126162008-02-01 Dave Love <fx@gnu.org>
12617
12618 * regex.c (re_search_2): Fix last change.
12619
126202008-02-01 Kenichi Handa <handa@m17n.org>
12621
12622 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
12623 target_multibyte. Even in a unibyte case, return a converted
12624 multibyte char.
12625 (GET_CHAR_AFTER): New macro.
12626 (PATFETCH): Translate via multibyte char.
12627 (HANDLE_UNIBYTE_RANGE): Delete this macro.
12628 (SETUP_MULTIBYTE_RANGE): New macro.
12629 (regex_compile): Setup compiled code so that its multibyteness
12630 matches that of a target. Fix the handling of "[X-YZ]" using
12631 SETUP_MULTIBYTE_RANGE.
12632 (analyse_first) <charset>: For filling fastmap for all multibyte
12633 characters, don't check by BASE_LEADING_CODE_P.
12634 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
12635 the same as RE_MULTIBYTE_P (bufp) now.
12636 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
12637 (TARGET_CHAR_AND_LENGTH): Delete this macro.
12638 (TRANSLATE_VIA_MULTIBYTE): New macro.
12639 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
12640 It is the same as RE_MULTIBYTE_P (bufp) now.
12641 <exactn>: Translate via multibyte.
12642 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
12643 translate it.
12644 <charset, charset_not>: Fetch a character by
12645 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
12646 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
12647 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
12648 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
12649 by GET_CHAR_AFTER.
12650 (bcmp_translate): Likewise.
12651
12652 * search.c (compile_pattern): Check the member target_multibyte,
12653 not the member multibyte of buf.
12654
12655 * lread.c (read1): While reading a string, set force_singlebyte
12656 and force_multibyte correctly.
12657
12658 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
12659 up of unibyte_to_multibyte_table.
12660
126612008-02-01 Kenichi Handa <handa@m17n.org>
12662
12663 * coding.c (setup_coding_system): If coding has
12664 post-read-conversion or pre-write-conversion, set
12665 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
12666 respectively.
12667 (decode_coding_gap): Run post-read-conversion if any.
12668
12669 * fileio.c (Finsert_file_contents): Even if we read into a
12670 unibyte buffer, check if we must decode the result or not.
12671
126722008-02-01 Kenichi Handa <handa@m17n.org>
12673
12674 * coding.c (make_conversion_work_buffer): Change the work buffer
12675 name to the same one as that of Emacs 21.
12676
126772008-02-01 Kenichi Handa <handa@m17n.org>
12678
12679 * coding.h (make_conversion_work_buffer): Adjust prototype.
12680 (code_conversion_restore): Don't extern it.
12681
12682 * coding.c (detected_mask): Delete unused variable.
12683 (decode_coding_iso_2022): Pay attention to the byte sequence of
12684 CTEXT extended segment, and retain those bytes as is.
12685 (decode_coding_ccl): Delete unused variable `valids'.
12686 (setup_coding_system): Delete unused variable `category'.
12687 (consume_chars): Delete unused variable `category'. Make it work
12688 for non-multibyte case.
12689 (make_conversion_work_buffer): Change argument.
12690 (saved_coding): Delete unused variable.
12691 (code_conversion_restore): Don't check saved_coding->destination.
12692 (code_conversion_save): New function.
12693 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12694 instead of record_unwind_protect.
12695 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12696 (detect_coding_system): Delete unused variable `mask'.
12697 (Fdefine_coding_system_internal): Delete unused variable id.
12698
12699 * fileio.c (kill_workbuf_unwind): New function.
12700 (Finsert_file_contents): On replacing, call
12701 make_conversion_work_buffer with correct args, and call
12702 record_unwind_protect with the first arg kill_workbuf_unwind.
12703
12704 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12705
127062008-02-01 Kenichi Handa <handa@m17n.org>
12707
12708 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12709 (fontset_add): Fix for the case that TO is less than TO1.
12710 (Ffontset_info): Don't use fallback fontset on checking the
12711 default fontset.
12712 (dump_fontset): New function for debugging.
12713
12714 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12715 coding_type is Qcharset.
12716
127172008-02-01 Kenichi Handa <handa@m17n.org>
12718
12719 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12720 (map_char_table): Don't inherit the value from the parent on
12721 initializing VAL. Adjust for the above change.
12722
127232008-02-01 Kenichi Handa <handa@m17n.org>
12724
12725 * coding.c (Qsignature, Qendian): Delete these variables.
12726 (syms_of_coding): Don't initialize them.
12727 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12728 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12729 detect_info->found.
12730 (decode_coding_utf_16): Don't detect BOM here.
12731 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12732 is NOT utf_16_without_bom.
12733 (setup_coding_system): For a coding system of type utf-16, check
12734 if the attribute :endian is Qbig or not (not nil or not), and set
12735 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12736 (detect_coding): If coding type is utf-16 and BOM detection is
12737 required, detect it.
12738 (Fdefine_coding_system_internal): For a coding system of type
12739 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12740
127412008-02-01 Kenichi Handa <handa@m17n.org>
12742
12743 * coding.c (coding_set_source): Fix for the case that the current
12744 buffer is different from coding->src_object.
12745 (decode_coding_object): Don't use the conversion work buffer if
12746 DST_OBJECT is a buffer.
12747
127482008-02-01 Dave Love <fx@gnu.org>
12749
12750 * lread.c (read_emacs_mule_char) [len==2]: Index
12751 emacs_mule_charset correctly.
12752
127532008-02-01 Dave Love <fx@gnu.org>
12754
12755 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12756 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12757 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12758 treated specially.)
12759 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12760 (detected_mask): Remove Big5 bits.
12761
127622008-02-01 Kenichi Handa <handa@m17n.org>
12763
12764 The following changes are to make the font rescaling facility
12765 compatible with Emacs 21.
12766
12767 * xfaces.c (Vface_font_rescale_alist): Rename from
12768 Vface_resizing_fonts.
12769 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12770 (font_rescale_ratio): Rename from font_resizing_ratio.
12771 (split_font_name): Set font->rescale_ratio.
12772 (better_font_p): Pay attention to font->rescale_ratio.
12773 (build_scalable_font_name): Likewise. Change RESX, and RESY
12774 fields.
12775 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12776
127772008-02-01 Kenichi Handa <handa@m17n.org>
12778
12779 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12780 (Qutf_16_le): Remove these variables.
12781 (syms_of_coding): Don't DEFSYM them.
12782 (decode_coding_utf_16): Fix handling of BOM.
12783 (encode_coding_utf_16): Fix handling of BOM.
12784
127852008-02-01 Kenichi Handa <handa@m17n.org>
12786
12787 * fileio.c (Finsert_file_contents): On replacing, before decoding
12788 the file into the work buffer, set point of the work buffer to the end.
12789
127902008-02-01 Dave Love <fx@gnu.org>
12791
12792 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12793
127942008-02-01 Dave Love <fx@gnu.org>
12795
12796 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12797 and fix C types.
12798
127992008-02-01 Kenichi Handa <handa@m17n.org>
12800
12801 * xdisp.c (SKIP_GLYPHS): New macro.
12802 (set_cursor_from_row): Pay attention to string display properties.
12803
12804 * category.c (copy_category_entry): Fix for the case that RANGE
12805 is an integer.
12806
12807 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12808
12809 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12810
128112008-02-01 Kenichi Handa <handa@m17n.org>
12812
12813 * charset.c (Fcharset_id_internal): New function.
12814 (syms_of_charset): Defsubr it.
12815
12816 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12817 with the last arg charset_list acquired from coding.
12818 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12819 the attribute coding_attr_ccl_valids.
12820
12821 * coding.h (enum define_coding_ccl_arg_index): Set the first
12822 member coding_arg_ccl_decoder to coding_arg_max.
12823
12824 * ccl.h (ccl_driver): Adjust prototype.
12825
12826 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12827 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12828 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12829 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12830 last arg Qnil.
12831
128322008-02-01 Kenichi Handa <handa@m17n.org>
12833
12834 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12835 call encode_char.
12836
12837 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12838
128392008-02-01 Dave Love <fx@gnu.org>
12840
12841 * composite.c (syms_of_composite): Make composition_hash_table weak.
12842
128432008-02-01 Kenichi Handa <handa@m17n.org>
12844
12845 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12846 (font_name_registry): Don't extern them.
12847 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12848
12849 * fontset.h (Qfontset): Don't extern it.
12850 (new_fontset_from_font_name): Extern it.
12851
12852 * fontset.c: Give 8 extra slots to fontset objects.
12853 (Qfontset_info): New variable.
12854 (syms_of_fontset): Defsym it.
12855 (FONTSET_FALLBACK): New macro.
12856 (fontset_face): Try also the default fontset.
12857 (make_fontset): Realize a fallback fontset from the default fontset.
12858 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12859 using split_font_name_into_vector and build_font_name_from_vector.
12860 (Fset_fontset_font): Access the elements of font_spec by enum
12861 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12862 name by using split_font_name_into_vector.
12863 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12864 generate a proper font name from the fontset name. Update
12865 Vfontset_alias_alist.
12866 (n_auto_fontsets): New variable.
12867 (new_fontset_from_font_name): New function.
12868 (Ffont_info): Store the information about fonts generated from the
12869 default fontset in the first extra slot of the returned char-table.
12870
12871 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12872 (font_name_registry): Delete function.
12873 (split_font_name_into_vector): New function.
12874 (build_font_name_from_vector): New function.
12875 (font_list): The argument REGISTRY is now a list of registry names.
12876 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12877 specifies an explicit font name, return the name as is. Make a
12878 list of registy names.
12879
12880 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12881 of x_new_fontset.
12882 (Fx_create_frame): Don't call x_new_fontset here. Just use
12883 x_list_fonts to check the existence of fonts.
12884
12885 * xterm.h (x_new_fontset): Adjust prototype.
12886
12887 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12888 string. Use new_fontset_from_font_name to create a fontset from a
12889 font name.
12890
128912008-02-01 Kenichi Handa <handa@m17n.org>
12892
12893 * syntax.c (Vfind_word_boundary_function_table): New name for
12894 Vnext_word_boundary_function_table.
12895 (find-word-boundary-function-table): New name for
12896 next-word-boundary-function-table.
12897
128982008-02-01 Dave Love <fx@gnu.org>
12899
12900 * Makefile.in: Fix some dependencies.
12901
12902 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12903 set it to nil before returning.
12904
12905 * composite.c (update_compositions): Fix type error.
12906
12907 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12908
129092008-02-01 Kenichi Handa <handa@m17n.org>
12910
12911 * xterm.c (x_new_font): Optimize for the case that the font is
12912 already set for the frame.
12913
129142008-02-01 Kenichi Handa <handa@m17n.org>
12915
12916 * chartab.c (char_table_ascii): Check if the char table contents
12917 is sub-char-table or not.
12918 (char_table_set, char_table_set_range): Fix argument to
12919 char_table_ascii.
12920
12921 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12922 (detect_coding_utf_8, detect_coding_utf_16)
12923 (detect_coding_emacs_mule, detect_coding_iso_2022)
12924 (detect_coding_sjis, detect_coding_big5)
12925 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12926 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12927 sequence is valid in this coding system. Change callers.
12928 (MAX_ANNOTATION_LENGTH): New macro.
12929 (ADD_ANNOTATION_DATA): New macro.
12930 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12931 ADD_ANNOTATION_DATA. Change the format of annotation data.
12932 (ADD_CHARSET_DATA): New macro.
12933 (emacs_mule_char): New argument ID. Change callers.
12934 (decode_coding_emacs_mule, decode_coding_iso_2022)
12935 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12936 Produce charset annotation data in coding->charbuf.
12937 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12938 to charset annotation data in coding->charbuf.
12939 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12940 coding->common_flags if the coding system is iso-2022 based and
12941 uses designation.
12942 (produce_composition): Adjust for the new annotation data format.
12943 (produce_charset): New function.
12944 (produce_annotation): Handle charset annotation.
12945 (handle_composition_annotation, handle_charset_annotation): New
12946 functions.
12947 (consume_chars): Handle charset annotation. Utilize the above two
12948 functions.
12949 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12950 buffer, get the deleted text as a string and set
12951 coding->src_object to that string.
12952 (detect_coding, detect_coding_system): Use the new struct
12953 coding_detection_info.
12954
12955 * coding.h (struct coding_detection_info): New structure.
12956 (struct coding_system): Adjust prototype of the member `detector'.
12957 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12958
129592008-02-01 Kenichi Handa <handa@m17n.org>
12960
12961 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12962
129632008-02-01 Dave Love <fx@gnu.org>
12964
12965 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12966 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12967 to new local and nullify apropos_accumulate before returning.
12968 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12969
129702008-02-01 Kenichi Handa <handa@m17n.org>
12971
12972 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12973 correctly.
e3eea1fc 12974
aac0c6e3
MR
129752008-02-01 Dave Love <fx@gnu.org>
12976
12977 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12978
129792008-02-01 Kenichi Handa <handa@m17n.org>
12980
12981 The following changes are to make character composition happen
12982 automatically on displaying.
12983
12984 * Makefile.in (lisp, shortlisp): Add composite.elc.
12985
12986 * composite.h (Qauto_composed, Vauto_composition_function)
12987 (Qauto_composition_function): Extern them.
12988
12989 * composite.c (Vcomposition_function_table)
12990 (Qcomposition_function_table): Delete variables.
12991 (Qauto_composed, Vauto_composition_function)
12992 (Qauto_composition_function): New variables.
12993 (run_composition_function): Don't call
12994 compose-chars-after-function.
12995 (update_compositions): Clear `auto-composed' text property.
12996 (compose_chars_in_text): Delete this function.
12997 (syms_of_composite): Staticpro Qauto_composed and
12998 Qauto_composition_function. Declare Vauto_composition_function as
12999 a Lisp variable.
13000
13001 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
13002
13003 * xdisp.c (it_props): Add an entry for Qauto_composed.
13004 (handle_auto_composed_prop): New function.
13005
13006 * xselect.c (selection_data_to_lisp_data): Don't call
13007 compose_chars_in_text.
13008
130092008-02-01 Dave Love <fx@gnu.org>
13010
13011 * keyboard.c (read_char): Modify checking around use of
13012 Vkeyboard_translate_table.
13013
13014 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
13015 and fix C types.
13016
130172008-02-01 Kenichi Handa <handa@m17n.org>
13018
13019 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
13020 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13021 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
13022 the case that the last byte is '\r' correctly.
13023 (decode_coding): Flush out the unprocessed data correctly.
13024 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
13025
130262008-02-01 Dave Love <fx@gnu.org>
13027
13028 * xterm.c (XTread_socket): Fix changes for defined keysyms.
13029 Add XK_ISO... case.
13030 (xaw_scroll_callback): Revert last change.
13031
130322008-02-01 Kenichi Handa <handa@m17n.org>
13033
13034 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
13035
130362008-02-01 Kenichi Handa <handa@m17n.org>
13037
13038 * xfaces.c (Vface_resizing_fonts): New variable.
13039 (struct font_name): New member `resizing_ratio'.
13040 (font_resizing_ratio): New function.
13041 (split_font_name): Set font->resizing_ratio.
13042 (better_font_p): Pay attention to font->resizing_ratio.
13043 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
13044 RESX, and RESY fields.
13045 (try_alternative_families): Try scalable fonts if
13046 Vscalable_fonts_allowed is not Qt.
13047 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
13048
130492008-02-01 Dave Love <fx@gnu.org>
13050
13051 * xterm.c (xaw_scroll_callback): Cast correctly.
13052
130532008-02-01 Dave Love <fx@gnu.org>
13054
13055 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
13056 (lispy_kana_keys): Comment out.
13057 (make_lispy_event) [XK_kana_A]: Comment out.
13058
13059 * xterm.c (xaw_scroll_callback): Cast call_data.
13060 (XTread_socket): Deal with ASCII keysyms.
13061 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
13062
130632008-02-01 Dave Love <fx@gnu.org>
13064
13065 * xterm.c (Vx_keysym_table): New.
13066 (syms_of_xterm): Initialize it.
13067 (XTread_socket): Use it.
13068 From head: Eliminate incorrect optimization that tried to avoid
13069 decoding the output of X*LookupString.
13070 (x_get_font_repertory): Delete charset declaration.
13071
130722008-02-01 Kenichi Handa <handa@m17n.org>
13073
13074 * coding.c (detect_coding_charset): If only ASCII bytes are found,
13075 return 0.
13076 (Fdefine_coding_system_internal): Setup
13077 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
13078
130792008-02-01 Dave Love <fx@gnu.org>
13080
13081 * coding.c (Fcheck_coding_system): Doc fix.
13082
13083 * editfns.c (Finsert_byte): Return a proper value.
13084
130852008-02-01 Kenichi Handa <handa@m17n.org>
13086
13087 * coding.c (decode_coding): Fix args to translate_chars. Pay
13088 attention to Vstandard_translation_table_for_decode.
13089 (encode_coding): Fix args to translate_chars. Pay attention to
13090 Vstandard_translation_table_for_encode.
13091
13092 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
13093 SINGLE_BYTE_CHAR_P.
13094
13095 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
13096 not by SINGLE_BYTE_CHAR_P.
13097
13098 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
13099 SINGLE_BYTE_CHAR_P.
13100
13101 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
13102 SINGLE_BYTE_CHAR_P.
13103
13104 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
13105 by SINGLE_BYTE_CHAR_P.
13106
13107 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
13108 SINGLE_BYTE_CHAR_P.
13109
131102008-02-01 Dave Love <fx@gnu.org>
13111
13112 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
13113
131142008-02-01 Dave Love <fx@gnu.org>
13115
13116 * fns.c (Flanginfo): Fix typo.
13117
13118 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
13119
131202008-02-01 Kenichi Handa <handa@m17n.org>
13121
13122 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
13123 (detect_coding_emacs_mule, detect_coding_iso_2022)
13124 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
13125 incomplete byte sequence. Don't update *mask when correctly detected.
13126 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
13127 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
13128 (detect_coding, detect_coding_system): Adjust for the changes above.
13129
131302008-02-01 Kenichi Handa <handa@m17n.org>
13131
13132 * character.c (char_string): Rename from
13133 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
13134 (string_char): Rename from string_char.
13135
13136 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
13137 if C is greater than MAX_3_BYTE_CHAR.
13138 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
13139 string_char instead of string_char_with_unification.
13140
131412008-02-01 Dave Love <fx@gnu.org>
13142
13143 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
13144
131452008-02-01 Kenichi Handa <handa@m17n.org>
13146
13147 * keymap.c (push_key_description): Pay attention to force_multibyte.
13148
13149 * regex.c (re_search_2): Fix for the case of unibyte buffer.
13150
131512008-02-01 Dave Love <fx@gnu.org>
13152
13153 * charset.c (define_charset_internal): Rename `supprementary'.
13154
13155 * Makefile.in (lisp, shortlisp): Remove latin-N.
13156
131572008-02-01 Dave Love <fx@gnu.org>
13158
13159 * xfns.c (x_window, x_window): Use use_xim.
13160
13161 * xterm.c (use_xim): Initialize.
13162 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
13163 (x_term_init): Maybe set use_xim.
13164
13165 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
13166
131672008-02-01 Kenichi Handa <handa@m17n.org>
13168
13169 * search.c (search_buffer): Fix case-fold-search of multibyte
13170 characters.
13171 (boyer_moore): Rename the last argument to char_high_bits.
13172
131732008-02-01 Kenichi Handa <handa@m17n.org>
13174
13175 * xdisp.c (display_string): Fix for the case of zero width glyph.
13176
13177 * xfns.c (x_set_font): Change the error message of the case that
13178 x_new_fontset returns Qt.
13179
13180 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
13181 (Finternal_set_lisp_face_attribute): Use signal_error for the
13182 error of invalid fontset.
13183
13184 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
13185 fontset, return Qt.
13186
131872008-02-01 Dave Love <fx@gnu.org>
13188
13189 * unexelf.c (unexec): Make .got handling not SGI-specific.
13190
13191 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
13192
13193 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
13194
13195 * keyboard.c (read_key_sequence): Fix type error.
13196
13197 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
13198 type error.
13199
13200 * fontset.c (fontset_add): Return Lisp_Object.
13201
132022008-02-01 Dave Love <fx@gnu.org>
13203
13204 * charset.h (charset_ordered_list_tick): Declare extern.
13205
132062008-02-01 Kenichi Handa <handa@m17n.org>
13207
13208 The following changes (and some of 2008-02-01 changes of mine) are
13209 for handling syntax, category, and case conversion for unibyte
13210 characters by converting them to multibyte on the fly. With these
13211 changes, we don't have to setup syntax and case tables for unibyte
13212 characters in each language environment.
13213
13214 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
13215 multibyte if necessary.
13216
13217 * bytecode.c (Fbyte_code): Likewise.
13218
13219 * character.h (LEADING_CODE_LATIN_1_MIN)
13220 (LEADING_CODE_LATIN_1_MAX): New macros.
13221 (unibyte_to_multibyte_table): Extern it.
13222 (unibyte_char_to_multibyte): New macro.
13223 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
13224 (CHAR_LEADING_CODE): New macro.
13225 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
13226
13227 * character.c (unibyte_to_multibyte_table): New variable.
13228 (unibyte_char_to_multibyte): Move to character.h and define as macro.
13229 (multibyte_char_to_unibyte): If C is an eight-bit character,
13230 convert it to the corresponding byte value.
13231
13232 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
13233 not 1, signals an error. Update the elements of
13234 unibyte_to_multibyte_table.
13235 (init_charset_once): Initialize unibyte_to_multibyte_table.
13236 (syms_of_charset): Define the charset `iso-8859-1'.
13237
13238 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
13239 as is without converting it to unibyte. In a unibyte buffer,
13240 convert C to multibyte before checking the syntax.
13241
13242 * lisp.h (unibyte_char_to_multibyte): Delete extern.
13243
13244 * minibuf.c (Fminibuffer_complete_word): Use the macro
13245 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
13246
13247 * regex.h (struct re_pattern_buffer): New member target_multibyte.
13248
13249 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
13250 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
13251 that is zero, convert an eight-bit char to multibyte.
13252 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13253 non-emacs case.
13254 (PATFETCH): Convert an eight-bit char to multibyte.
13255 (HANDLE_UNIBYTE_RANGE): New macro.
13256 (regex_compile): Setup the compiled pattern for multibyte chars
13257 even if the given regex string is unibyte. Use PATFETCH_RAW
13258 instead of PATFETCH in many places. To handle `charset'
13259 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13260 only for ASCII chars.
13261 (analyse_first) <exactn>: Simplify because the compiled pattern
13262 is multibyte.
13263 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13264 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13265 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13266 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13267 multibyte always 1.
13268 (re_search_2): In emacs, set the locale variable multibyte to 1,
13269 otherwise to 0. New local variable target_multibyte. Check it
13270 to decide the multibyteness of STR1 and STR2. If
13271 target_multibyte is zero, convert unibyte chars to multibyte
13272 before translating and checking fastmap.
13273 (TARGET_CHAR_AND_LENGTH): New macro.
13274 (re_match_2_internal): In emacs, set the locale variable multibyte
13275 to 1, otherwise to 0. New local variable target_multibyte. Check
13276 it to decide the multibyteness of STR1 and STR2. Use
13277 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13278 <charset, charset_not>: If multibyte is nonzero, check fastmap
13279 only for ASCII chars. Call bcmp_translate with
13280 target_multibyte, not with multibyte.
13281 <begline>: Declare the local variable C as `unsigned'.
13282 (bcmp_translate): Change the last arg name to target_multibyte.
13283
13284 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13285 the regexp pattern and the matching target. Set cp->buf.multibyte
13286 to the multibyteness of the regexp pattern. Set
13287 cp->but.target_multibyte to the multibyteness of the matching target.
13288 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13289 FETCH_STRING_CHAR_ADVANCE.
13290 (Freplace_match): Convert unibyte chars to multibyte.
13291
13292 * syntax.c (char_quoted, back_comment, scan_words)
13293 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13294 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13295 unibyte chars to multibyte.
13296 (skip_chars): Delete the arg syntaxp, and move the code for
13297 handling syntaxes to skip_syntaxes. Change callers.
13298 Fix the case that the multibyteness of STRING and the current
13299 buffer doesn't match.
13300 (skip_syntaxes): New function.
13301 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13302 SINGLE_BYTE_CHAR_P.
13303
133042008-02-01 Kenichi Handa <handa@m17n.org>
13305
13306 * xfaces.c (QCfontset): New variable.
13307 (LFACE_FONTSET): New macro.
13308 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13309 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13310 (Finternal_set_lisp_face_attribute)
13311 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13312 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13313 check also LFACE_FONTSET_INDEX.
13314 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13315 attrs[LFACE_FONT_INDEX].
13316 (syms_of_xfaces): Intern and staticpro QCfontset.
13317
13318 * dispextern.h (enum lface_attribute_index): New member
13319 LFACE_FONTSET_INDEX.
13320
13321 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13322
133232008-02-01 Kenichi Handa <handa@m17n.org>
13324
13325 * coding.c (coding_set_destination): Fix coding->destination for
13326 the case converting a region.
13327 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13328 (encode_coding_object): Fix coding->dst_pos and
13329 coding->dst_pos_byte for the case converting a region.
13330
13331 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13332
13333 * character.h (BYTE8_STRING): New macro.
13334
13335 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13336
133372008-02-01 Kenichi Handa <handa@m17n.org>
13338
13339 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13340 characters by octal form.
13341
13342 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13343
13344 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13345 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13346 _fetch_multibyte_char_len.
13347 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13348
13349 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13350
13351 * casefiddle.c (casify_object): Simplify. Handle the case that
13352 the case conversion change the byte length.
13353 (casify_region): Likewise.
13354
13355 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
13356
13357 * character.c (_fetch_multibyte_char_len): Delete this variable.
13358 (syms_of_character): Setup Vprintable_chars.
13359
13360 * editfns.c (Fchar_equal): Fix for the unibyte case.
13361 (Finsert_byte): New function.
13362 (syms_of_editfns): Defsubr it.
13363
13364 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
13365 of direct code 0x3ffff.
13366
13367 * search.c (Freplace_match): Fix for the unibyte case.
13368
133692008-02-01 Kenichi Handa <handa@m17n.org>
13370
13371 * lread.c (safe_to_load_p): Fix the logic.
13372
13373 * syntax.c (scan_words): Don't treat characters belonging to
13374 different scripts as constituting a word.
13375
13376 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13377
13378 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
13379
13380 * emacs.c (main): In the case of --unibyte, instead of aborting on
13381 finding non-empty buffer, make it unibyte.
13382
133832008-02-01 Kenichi Handa <handa@m17n.org>
13384
13385 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
13386 to create a fontset.
13387
133882008-02-01 Dave Love <fx@gnu.org>
13389
13390 * character.c (Funibyte_char_to_multibyte): Doc fix.
13391
13392 * xfns.c [HAVE_STDLIB_H]: Fix last change.
13393
133942008-02-01 Kenichi Handa <handa@m17n.org>
13395
13396 * fontset.c (fontset_add): Make the type `int'.
13397 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
13398
13399 * character.c (unibyte_char_to_multibyte)
13400 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
13401 charset_unibyte, not charset_primary.
13402
13403 * charset.h (charset_unibyte): Extern it instead of charset_primary.
13404
13405 * charset.c (charset_unibyte): Rename from charset_primary.
13406 (Funibyte_charset): Rename from Fprimary_charset.
13407 (Fset_unibyte_charset): Rename from Fset_primary_charset.
13408 (syms_of_charset): Adjust for the above changes.
13409
13410 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13411 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13412 it->multibyte_p is zero.
13413
13414 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
13415 Delete extern.
13416
134172008-02-01 Kenichi Handa <handa@m17n.org>
13418
13419 * coding.c (Fdefine_coding_system_internal): Fix category setting
13420 for a coding system of type iso-2022.
13421
134222008-02-01 Kenichi Handa <handa@m17n.org>
13423
13424 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
13425
134262008-02-01 Kenichi Handa <handa@m17n.org>
13427
13428 * syntax.c (Vnext_word_boundary_function_table): New variable.
13429 (next-word-boundary-function-table): Declare it as a Lisp variable
13430 in syms_of_syntax.
13431 (scan_words): Call functions in Vnext_word_boundary_function_table
13432 if any.
13433
13434 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
13435
13436 * fontset.c (fs_load_font): If fontp->charset is not negative,
13437 return fontp without setting its members.
13438
134392008-02-01 Dave Love <fx@gnu.org>
13440
13441 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
13442
13443 * m/sparc.h (HAVE_ALLOCA): Delete.
13444
13445 * s/irix6-5.h: Don't include strings.h.
13446 (bcopy, bzero, bcmp): Don't undef.
13447
13448 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
13449
13450 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
13451 (TIOCSIGSEND): Don't test IRIX6.
13452 (bcopy, bzero, bcmp): Define conditionally.
13453
134542008-02-01 Kenichi Handa <handa@m17n.org>
13455
13456 * buffer.c (Qas, Qmake, Qto): New variables.
13457 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
13458 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
13459
13460 * callproc.c (Fcall_process): Don't call insert_1_both directly if
13461 we are inserting a process output into a multibyte buffer.
13462
13463 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
13464 multibyte_char_to_unibyte.
13465
13466 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
13467 by the primary charset, make it eight-bit char.
13468 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
13469
13470 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
13471 (charset_8_bit__control, charset_8_bit_graphic)
13472 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
13473 (define_charset_internal): New function.
13474 (syms_of_charset): Call define_charset_internal for pre-defined
13475 charsets.
13476
13477 * charset.h (charset_8_bit): Extern it.
13478
13479 * coding.c (make_conversion_work_buffer): Adjust for the change
13480 of Fset_buffer_multibyte.
13481 (encode_coding_raw_text): Increment p0 in the loop.
13482
13483 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
13484
13485 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
13486 for the change of Fset_buffer_multibyte.
13487
13488 * fns.c (Fstring_to_multibyte): New function.
13489 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
13490
134912008-02-01 Dave Love <fx@gnu.org>
13492
13493 * xfns.c (x_put_x_image): Declare args.
13494
13495 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
13496 (try_font_list): Declare an arg.
13497
13498 * xdisp.c (message2_nolog, set_message): Declare an arg.
13499
13500 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
13501
13502 * syntax.c (scan_sexps_forward): Declare an arg.
13503
13504 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
13505 Declare an arg.
13506
13507 * lisp.h (Fnew_fontset): Declare.
13508
13509 * keymap.c (push_key_description): Call CHARACTERP correctly.
13510
13511 * fontset.c (fontset_add): Declare args. Call make_number correctly.
13512 (face_for_char): Delete unused vars.
13513 (Fset_fontset_font): Doc fix. Delete unused vars.
13514
13515 * doc.c (Fsubstitute_command_keys): Delete unused vars.
13516
13517 * composite.c (update_compositions): Declare arg.
13518
13519 * cm.c (calccost, cmgoto): Declare args.
13520
13521 * charset.c: Remove `emacs' conditional. Doc fixes.
13522 (map_char_table_for_charset): Declare.
13523
13524 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
13525
13526 * ccl.c: Remove `emacs' conditional.
13527
135282008-02-01 Kenichi Handa <handa@m17n.org>
13529
13530 The following changes are to allow specifying multiple font
13531 patterns for a character range (specified by script or charset).
13532
13533 * Makefile.in (abbrev.o): Depend on syntax.h.
13534 (xfaces.o): Depend on charset.h.
13535
13536 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
13537 SINGLE_BYTE_CHAR_P.
13538
13539 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
13540
13541 * character.h (Vchar_script_table): Extern it.
13542
13543 * character.c (Vscript_alist): Delete.
13544 (Vchar_script_table, Qchar_script_table): New variable.
13545 (syms_of_character): Declare Vchar_script_table as a lisp variable
13546 and initialize it.
13547
13548 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
13549 have property char-table-extra-slots, make no extra slot.
13550
13551 * dispextern.h (struct face): Delete member `charset'.
13552 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
13553 SINGLE_BYTE_CHAR_P.
13554 (choose_face_font, lookup_non_ascii_face, font_name_registry):
13555 Add prototypes.
13556 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
13557 (generate_ascii_font_name): Rename from generate_ascii_font.
13558
13559 * fontset.h (get_font_repertory_func): New prototype.
13560 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
13561 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
13562
13563 * fontset.c (Qprepend, Qappend): New variables.
13564 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
13565 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
13566 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
13567 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
13568 (fontset_ref_and_range, fontset_add, reorder_font_vector)
13569 (load_font_get_repertory): New functions.
13570 (fontset_set): Delete.
13571 (fontset_face): New arg FACE. Return face ID, not face.
13572 Complete re-write to handle new fontset structure. Change caller.
13573 (free_face_fontset): Use ASET istead of AREF (X) = Y.
13574 (face_for_char): Don't call lookup_face.
13575 (make_fontset_for_ascii_face): New arg FACE.
13576 (fs_load_font): New arg CHARSET_ID. Don't check
13577 Vfont_encoding_alist here.
13578 (find_font_encoding): New function.
13579 (list_fontsets): Use STRINGP, not ! NILP.
13580 (accumulate_script_ranges): New function.
13581 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
13582 re-written to handle new fontset structure.
13583 (Ffontset_font): Return a copy of element.
13584 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
13585 docstring of font-encoding-alist.
13586
13587 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
13588 (Fset_fotset_font): Fix arguments to 5.
13589
13590 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
13591
13592 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
13593 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13594 (highlight_trailing_whitespace): Adjust for the change of
13595 lookup_named_face.
13596
13597 * xfaces.c: Include charset.h.
13598 (load_face_font): Delete argument C. Change caller.
13599 (generate_ascii_font_name): Rename from generate_ascii_font.
13600 (font_name_registry): New function.
13601 (cache_face): Store ascii faces before non-ascii faces in buckets.
13602 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
13603 Lookup only ascii faces.
13604 (lookup_non_ascii_face): New function.
13605 (lookup_named_face): Delete argument C. Change caller.
13606 (lookup_derived_face): Delete argument C. Change caller.
13607 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
13608 a string, just call font_list with it.
13609 (choose_face_font): Delete arguments FACE and C. New arg
13610 FONT_SPEC. Change caller.
13611 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
13612 Change caller.
13613 (realize_non_ascii_face): New function.
13614 (realize_x_face): Call load_face_font here.
13615 (realize_tty_face): Delete argument C. Change caller.
13616 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
13617 get a face ID.
13618 (dump_realized_face): Don't print charset of FACE.
13619
13620 * xfns.c (x_set_font): Always call x_new_fontset and
13621 store_frame_parameter.
13622 (Fx_create_frame): Call x_new_fontset, not x_new_font.
13623 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
13624
13625 * xterm.h (x_get_font_repertory): Extern it.
13626
13627 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13628 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13629 it->multibyte_p is zero.
13630 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13631 (x_new_fontset): If FONTSETNAME doesn't match any existing
13632 fontsets, create a new one.
13633 (x_get_font_repertory): New function.
13634
136352008-02-01 Kenichi Handa <handa@m17n.org>
13636
13637 * coding.c (Ffind_coding_systems_region_internal): Detect an
13638 ASCII only string correctly.
13639
13640 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
13641 version is 0.
13642
136432008-02-01 Kenichi Handa <handa@m17n.org>
13644
13645 * lread.c: Include "coding.h".
13646 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
13647 (load_each_byte, unread_char): New variables.
13648 (readchar_backlog): Delete.
13649 (readchar): Return a character unless load_each_byte is nonzero.
13650 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
13651 cons. If unread_char is not -1, simply return it.
13652 (unreadchar): Handle the case that readcharfun is
13653 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
13654 (read_multibyte): Delete.
13655 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
13656 (read_emacs_mule_char): New functions.
13657 (Fload): Even if the file doesn't have the extension ".elc", if
13658 safe_to_load_p returns a positive version number, assume that the
13659 file contains bytecompiled code. If the version is less than 22,
13660 load the file while decoding multibyte sequences by emacs-mule.
13661 (readevalloop): Don't use readchar_backlog.
13662 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
13663 (Fread_from_string): Pay attention to the case that STREAM is a cons.
13664 (read_escape): Delete the arg BYTEREP.
13665 (read1): Set load_each_byte to 1 temporarily while handling
13666 #@NUMBER. Don't call read_multibyte.
13667 (read_vector): Call Fread with a cons. If readcharfun is
13668 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
13669 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
13670 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
13671 and Qload_force_doc_strings.
13672
136732008-02-01 Kenichi Handa <handa@m17n.org>
13674
13675 * xdisp.c (face_before_or_after_it_pos): Call
13676 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13677
136782008-02-01 Kenichi Handa <handa@m17n.org>
13679
13680 * character.h (TRAILING_CODE_P): New macro.
13681 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13682 (string_char_with_unification): Fix prototype.
13683 (Vscript_alist): Extern it.
13684
13685 * character.c (Vscript_alist): New variable.
13686 (string_char_with_unification, str_as_unibyte)
13687 (string_escape_byte8): Add `const' to local variables.
13688 (syms_of_character): Declare script-alist as a Lisp variable.
13689
13690 * charset.h (Vcharset_ordered_list): Extern it.
13691 (charset_ordered_list_tick): Extern it.
13692 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13693 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13694 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13695 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13696 (Funify_charset): Adjust for the change of Funify_charset.
13697
13698 * charset.c (charset_ordered_list_tick): New variable.
13699 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13700 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13701 deunify intead of unify a charset.
13702 (string_xstring_p): Add `const' to local variables.
13703 (find_charsets_in_text): Add `const' to arguments and local variables.
13704 (encode_char): Adjust for the change of Funify_charset. Fix
13705 detecting of invalid code.
13706 (Fset_charset_priority): Increment charset_ordered_list_tick.
13707 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13708 and TO_CODE.
13709
13710 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13711 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13712 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13713 (decode_coding_ccl, consume_chars)
13714 (Ffind_coding_systems_region_internal)
13715 (Fcheck_coding_systems_region): Add `const' to local variables.
13716
13717 * print.c (print_object): Use octal form for printing the
13718 contents of a bool vector.
13719
137202008-02-01 Dave Love <fx@gnu.org>
13721
13722 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13723 <version == 20>: Refuse to load.
13724
137252008-02-01 Dave Love <fx@gnu.org>
13726
13727 * fns.c: Move coding.h.
13728 (Qcodeset, Qdays, Qmonths): New.
13729 (concat): Use CHARACTERP instead of INTEGERP.
13730 (Flocale_codeset): Delete.
13731 (Flanginfo): New function.
13732 (syms_of_fns): Change accordingly.
13733
13734 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13735
137362008-02-01 Dave Love <fx@gnu.org>
13737
13738 * casetab.c (init_casetab_once, init_casetab_once): Fix
13739 CHAR_TABLE_SET call.
13740
13741 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13742
13743 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13744
13745 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13746 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13747 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13748
13749 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13750
13751 * coding.c (ENCODE_DESIGNATION, decode_eol)
13752 (make_conversion_work_buffer, code_conversion_restore)
13753 (Fdefine_coding_system_internal): Convert Lisp types.
13754 (code_conversion_restore): Use EQ, not ==.
13755 (Fencode_coding_string): Fix code_convert_string call.
13756
13757 * coding.h (code_convert_region): Fix prototype.
13758
13759 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13760
13761 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13762 (Ffontset_info): Convert Lisp types.
13763
13764 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13765
13766 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13767
13768 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13769
13770 * chartab.c: Include "...h", not <...h> in some cases.
13771
13772 * callproc.c (Fcall_process): Remove unused variables.
13773
137742008-02-01 Dave Love <fx@gnu.org>
13775
13776 * coding.c (Fset_coding_system_priority): Allow null arg list.
13777
137782008-02-01 Dave Love <fx@gnu.org>
13779
13780 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13781 (Fself_insert_and_exit): Use CHARACTERP.
13782
13783 * callproc.c (Fcall_process): Remove unused vars.
13784
13785 * xterm.c (XTread_socket): Add extra dead keysyms.
13786
13787 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13788
13789 * dispextern.h: Remove prototypes for redraw_frame,
13790 redraw_garbaged_frames.
13791
13792 * cmds.c (Fself_insert_command): Use CHARACTERP.
13793
13794 * chartab.c (make_sub_char_table): Remove unused var.
13795 (Fset_char_table_default, Fmap_char_table): Doc fix.
13796
13797 * keymap.c (access_keymap): Remove generic char code.
13798 (push_key_description): Use CHARACTERP.
13799
138002008-02-01 Dave Love <fx@gnu.org>
13801
13802 * charset.c: Doc fixes.
13803 (Funify_charset): Extra checking.
13804
138052008-02-01 Dave Love <fx@gnu.org>
13806
13807 * lread.c: Remove some unused variables.
13808 (safe_to_load_p): If safe, return the magic number version byte.
13809 (Fload): Maybe use load-with-code-conversion.
13810
138112008-02-01 Kenichi Handa <handa@m17n.org>
13812
13813 * category.c (Fmodify_category_entry): Don't modify the contents
13814 of category_set for characters out of the range. Avoid
13815 unnecessary modification.
13816
13817 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13818 Vchar_unify_table. The default value of the table is now nil.
13819
13820 * character.c (syms_of_character): Setup Vchar_width_table for
13821 eight-bit-control and raw-byte chars.
13822
13823 * charset.h (enum define_charset_arg_index): Delete
13824 charset_arg_parents and add charset_arg_subset and
13825 charset_arg_superset.
13826 (enum charset_attr_index): Delete charset_parents and add
13827 charset_subset and charset_superset.
13828 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13829 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13830 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13831 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13832 (CHARSET_SUPERSET): New macros.
13833 (charset_work): Extern it.
13834 (ENCODE_CHAR): Use charset_work.
13835 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13836 (map_charset_chars): Extern it.
13837
13838 * charset.c (load_charset_map): Set the default value of encoder
13839 and deunifier char-tables to nil.
13840 (map_charset_chars): Change argument. Change callers. Use
13841 map_char_table_for_charset instead of map_char_table.
13842 (Fmap_charset_chars): New optional args from_code and to_code.
13843 (Fdefine_charset_internal): Adjust for the change of
13844 `define-charset' (:parents -> :subset or :superset).
13845 (charset_work): New variable.
13846 (encode_char, syms_of_charset): Adjust for the change of
13847 Fdefine_charset_internal.
13848 (Ffind_charset_string): Setup the vector `charsets' correctly.
13849
13850 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13851 the previous change.
13852 (char_table_ref_and_range): Adjust for the above change.
13853 (map_sub_char_table_for_charset): New function.
13854 (map_char_table_for_charset): New function.
13855
13856 * keymap.c (describe_vector): Handle a char-table directly here.
13857 (describe_char_table): Delete.
13858
13859 * lisp.h (map_charset_chars): Delete.
13860
138612008-02-01 Dave Love <fx@gnu.org>
13862
13863 * fns.c (count_combining): Comment out (unused).
13864 (Flocale_codeset): New.
13865 (syms_of_fns): Defsubr it.
13866
13867 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13868 (size_t): Remove.
13869
138702008-02-01 Dave Love <fx@gnu.org>
13871
13872 * Makefile.in (chartab.o): Depend on charset.h.
13873
138742008-02-01 Kenichi Handa <handa@m17n.org>
13875
13876 * character.c (syms_of_character): Set the default value of
13877 Vprintable_chars to Qnil.
13878
138792008-02-01 Dave Love <fx@gnu.org>
13880
13881 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13882
138832008-02-01 Kenichi Handa <handa@m17n.org>
13884
13885 * charset.c (load_charset_map): Handle the case that from < to
13886 correctly.
13887
13888 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13889 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13890 Pay attention to raw-8-bit chars.
13891
138922008-02-01 Kenichi Handa <handa@m17n.org>
13893
13894 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13895 It is not bytecompiled now.
13896
13897 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13898 (charset_jisx0208): New variables.
13899 (Fdefine_charset_internal): Setup them if appropriate.
13900 (init_charset_once): Initialize them to -1.
13901
13902 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13903 (charset_jisx0208): Extern them.
13904
13905 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13906 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13907 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13908 (setup_iso_safe_charsets): Fix arguments to Fassq.
13909 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13910 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13911 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13912 (encode_coding_iso_2022): Change the 1st arg to
13913 ENCODE_ISO_CHARACTER to a variable.
13914
139152008-02-01 Kenichi Handa <handa@m17n.org>
13916
13917 * charset.h (enum define_charset_arg_index): New enums
13918 charset_arg_min_code and charset_arg_max_code.
13919 (struct charset): New member char_index_offset.
13920
13921 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13922 Take charset->char_index_offset into account.
13923 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13924 args[charset_arg_max_code]. Setup charset.char_index_offset.
13925 (syms_of_charset): Fix args to Fdefine_charset_internal.
13926
139272008-02-01 Dave Love <fx@gnu.org>
13928
13929 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13930
139312008-02-01 Dave Love <fx@gnu.org>
13932
13933 * coding.c: Doc fixes.
13934 (Fcoding_system_aliases): Fix return value.
13935 (Qmac): Remove (duplicated) definition.
13936
139372008-02-01 Dave Love <fx@gnu.org>
13938
13939 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13940 functions.
13941
13942 * character.c (Fstring): Doc fix.
13943
13944 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13945
13946 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13947 ids.
13948 (font-encoding-alist): Doc fix.
13949
139502008-02-01 Dave Love <fx@gnu.org>
13951
13952 * term.c (costs_set): Declare static, non-initialized for pcc.
13953 (encode_terminal_code): Remove unused var.
13954
13955 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13956 for K&R.
13957
13958 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13959
13960 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13961 (suffixes): Move out of make_subsidiaries for K&R.
13962
13963 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13964
13965 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13966
139672008-02-01 Dave Love <fx@gnu.org>
13968
13969 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13970
13971 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13972
139732008-02-01 Yong Lu <lyongu@asia-infonet.com>
13974
13975 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13976
13977 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13978
139792008-02-01 Kenichi Handa <handa@m17n.org>
13980
13981 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13982 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13983
139842008-02-01 Kenichi Handa <handa@m17n.org>
13985
13986 * coding.c (decode_coding_charset): Adjust for the change of
13987 Fdefine_coding_system_internal.
13988 (Fdefine_coding_system_internal): For a coding system of
13989 `charset' type, store a list of charset IDs in
13990 `charset_attr_charset_valids' element of coding attributes.
13991
139922008-02-01 Kenichi Handa <handa@m17n.org>
13993
13994 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13995 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13996 caller. Handle 2-byte and 3-byte charsets correctly.
13997 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13998 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13999 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
14000 (DECODE_EMACS_MULE_21_COMPOSITION): Call
14001 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
14002 sequence.
14003 (decode_coding_emacs_mule): Handle composition correctly. Rewind
14004 `src' and `consumed_chars' correctly before calling emacs_mule_char.
14005 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
14006 and alt&rule composition.
14007 (decode_coding_iso_2022): Handle composition correctly.
14008 (init_coding_once): Setup emacs_mule_bytes for private charsets.
14009
14010 * charset.c (Fdefine_charset_internal): Fix bug for the case of
14011 re-defining a charset. If the charset has :emacs-mule-id, setup
14012 emacs_mule_bytes.
14013 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
14014
140152008-02-01 Kenichi Handa <handa@m17n.org>
14016
14017 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
14018 (encode_coding_big5, encode_coding_charset): If coding requires safe
14019 encoding, produce a character specified by
14020 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
14021
140222008-02-01 Dave Love <fx@gnu.org>
14023
14024 * xterm.c (XSetIMValues): Declare.
14025
14026 * process.c: Conditionally include sys/wait.h, pty.h.
14027
14028 * print.c (print_object): Fix print format for 64-bit systems.
14029
14030 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
14031
14032 * buffer.c (emacs_strerror): Declare.
14033
14034 * fontset.c (Fclear_face_cache): Declare.
14035 (accumulate_font_info): Comment-out (unused).
14036 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
14037 variables.
14038
14039 * character.h (string_escape_byte8): Declare.
14040
14041 * charset.c (load_charset_map, load_charset_map_from_file): Remove
14042 unused vars.
14043 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
14044 (Fmap_charset_chars): Doc fix.
14045
14046 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
14047 (Fset_coding_system_priority, Fset_coding_system_priority)
14048 (Fdefine_coding_system_internal): Doc fix.
14049
140502008-02-01 Dave Love <fx@gnu.org>
14051
14052 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
14053
140542008-02-01 Kenichi Handa <handa@m17n.org>
14055
14056 * character.c (string_escape_byte8): Make multibyte string with
14057 correct size.
14058
14059 * charset.c (Fmake_char): Delete unnecessary code.
14060
140612008-02-01 Kenichi Handa <handa@m17n.org>
14062
14063 * xfns.c (x_encode_text): Allocate coding.destination here, and
14064 call encode_coding_object with dst_object Qnil.
14065
14066 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
14067 multibyte form correctly.
14068
14069 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
14070 against Vfont_encoding_alist.
14071
14072 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
14073 handling of charset list.
14074 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
14075 (decode_coding_object): Move point to coding->dst_pos before
14076 calling post-read-conversion function.
14077 (encode_coding_object): Give correct arguments to
14078 pre-write-conversion. Ignore the return value of
14079 pre-write-conversion function. Pay attention to the case that
14080 pre-write-conversion changes the current buffer. If dst_object is
14081 Qt, even if coding->src_bytes is zero, allocate at least one byte
14082 to coding->destination.
14083
14084 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
14085
14086 * charset.c (Fmake_char): Make it more backward compatible.
14087 (Fmap_charset_chars): Fix docstring.
14088
140892008-02-01 Dave Love <fx@gnu.org>
14090
14091 * coding.c: Doc fixes.
14092 (Fdefine_coding_system_alias): Use names, not symbols, in
14093 coding-system-alist.
14094
140952008-02-01 Kenichi Handa <handa@m17n.org>
14096
14097 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
14098 of calling free_realized_face.
14099
141002008-02-01 Yong Lu <lyongu@asia-infonet.com>
14101
14102 * charset.c (read_hex): Don't treat SPC as a comment starter.
14103 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
14104 (Fdecode_char): Fix typo.
14105
141062008-02-01 Kenichi Handa <handa@m17n.org>
14107
14108 * charset.h (struct charset): New member `code_space_mask'.
14109
14110 * coding.c (coding_set_source): Delete the local variable beg_byte.
14111 (encode_coding_charset, Fdefine_coding_system_internal):
14112 Delete the local variable charset.
14113 (Fdefine_coding_system_internal): Setup
14114 attrs[coding_attr_charset_valids] correctly.
14115
14116 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
14117 member to check if CODE is valid or not.
14118 (Fdefine_charset_internal): Initialize `code_space_mask' member.
14119 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
14120 is within the range of charset->min_code and carset->max_code.
14121
141222008-02-01 Dave Love <fx@gnu.org>
14123
14124 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
14125
14126 * dispextern.h (generate_ascii_font): Fix return type.
14127
14128 * xfaces.c (generate_ascii_font): Fix arg declaration.
14129
14130 * coding.c (coding_inherit_eol_type)
14131 (Fset_terminal_coding_system_internal)
14132 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
14133
141342008-02-01 Kenichi Handa <handa@m17n.org>
14135
14136 * coding.c (decode_coding_charset, encode_coding_charset): Handle
14137 multiple charsets correctly.
14138
141392008-02-01 Kenichi Handa <handa@m17n.org>
14140
14141 * search.c (boyer_moore): Fix handling of multibyte character
14142 translation.
14143
14144 * xdisp.c (display_mode_element): When the variable `elt' is
14145 changed, update `this' and `lisp_string'.
14146
141472008-02-01 Kenichi Handa <handa@m17n.org>
14148
14149 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
14150
14151 * callproc.c (Fcall_process): Be sure to give the current buffer
14152 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
14153
14154 * charset.c (struct charset_map_entries): New struct.
14155 (load_charset_map): Rename from parse_charset_map. New args
14156 entries and n_entries. Change caller.
14157 (load_charset_map_from_file): Rename from load_charset_map.
14158 Change caller. New arg control_flag. Call load_charset_map at
14159 the tail.
14160 (load_charset_map_from_vector): New function.
14161 (Fdefine_charset_internal): Setup charset.compact_codes_p.
14162 (encode_char): If the charset is compact, change a character index
14163 to a code point.
14164
14165 * coding.c (coding_alloc_by_making_gap): Check the case that the
14166 source and destination are the same correctly.
14167 (decode_coding_raw_text): Set coding->consumed_char and
14168 coding->consumed to 0.
14169 (produce_chars): If coding->chars_at_source is nonzero, update
14170 coding->consumed_char and coding->consumed before calling
14171 alloc_destination.
14172 (Fdefine_coding_system_alias): Register ALIAS in
14173 Vcoding_system_alist.
14174 (syms_of_coding): Define `no-conversion' coding system at the tail.
14175
14176 * fileio.c (Finsert_file_contents): Set coding_system instead of
14177 val. If the current buffer is multibyte, always call
14178 decode_coding_gap.
14179
14180 * xfaces.c (try_font_list): Give higher priority to fontset's
14181 family than face's family.
14182
141832008-02-01 Kenichi Handa <handa@m17n.org>
14184
14185 * callproc.c (Fcall_process): Be sure to give the current buffer
14186 to decode_coding_c_string.
14187
14188 * xfaces.c (try_font_list): Give a family specified in a fontset
14189 higher priority than a family specified in a face.
14190
141912008-02-01 Kenichi Handa <handa@m17n.org>
14192
14193 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
14194 Fix arguments to insert_from_buffer.
14195
14196 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
14197
141982008-02-01 Kenichi Handa <handa@m17n.org>
14199
14200 * coding.c (produce_chars): Set the variable `multibytep' correctly.
14201 (decode_coding_gap): Set coding->dst_multibyte correctly.
14202
142032008-02-01 Kenichi Handa <handa@m17n.org>
14204
14205 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
14206 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
14207 (encode_coding_utf_16): Substitute coding->default_char for
14208 non-Unicode characters.
14209 (decode_coding): Don't call record_insert here.
14210 (setup_coding_system): Initialize `surrogate' of
14211 coding->spec.utf_16 to 0.
14212 (EMIT_ONE_BYTE): Fix for multibyte case.
14213
14214 * insdel.c (insert_from_gap): Call record_insert.
14215
142162008-02-01 Kenichi Handa <handa@m17n.org>
14217
14218 * casefiddle.c (casify_region): Fix multibyte case.
14219
14220 * character.c (c_string_width): Add return type `int'.
14221 (char_string_with_unification): Delete arg ADVANCED.
14222
14223 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
14224 (CHAR_STRING): Adjust for the change of char_string_with_unification.
14225 (CHAR_STRING_ADVANCE): Make it do-while statement.
14226
14227 * chartab.c (sub_char_table_set_range): Optimize for the case
14228 DEPTH == 3. Add workaround code for a GCC optimization bug.
14229
14230 * charset.c (parse_charset_map): Remove an unused variable.
14231
14232 * coding.c: Delete unused variables.
14233
14234 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
14235 earlier. If inserted is zero and the coding system doesn't
14236 require flushing, don't call decode_coding_gap.
14237
14238 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
14239
142402008-02-01 Kenichi Handa <handa@m17n.org>
14241
14242 The following changes are for using Unicode as an internal
14243 character model, and use UTF-8 format for buffer/string
14244 representation.
14245
14246 * .gdbinit (xchartable): Adjust for the change of char table structure.
14247 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
14248
14249 * Makefile.in (obj): Add character.o and chartab.o.
14250 (lisp, shortlisp): Remove utf-8.elc.
14251 (*.o): For many files, change dependency on charset.h to
14252 character.h, and add dependency on character.h.
14253 (character.o, chartab.o): New targets.
14254
14255 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14256 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14257 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14258 of "charset.h".
14259
14260 * dired.c, filelock.c: Include "character.h".
14261
14262 * alloc.c: Include "character.h" instead of "charset.h".
14263 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14264 (syms_of_alloc): Remove defsubr for Smake_char_table.
14265
14266 * buffer.c: Include "character.h" instead of "charset.h", don't
14267 include "coding.h".
14268 (Fset_buffer_multibyte): Adjust for UTF-8.
14269
14270 * buffer.h: EXFUN Fbuffer_live_p.
14271
14272 * callproc.c: Include "character.h" instead of "charset.h".
14273 (Fcall_process): Big change for the new code-conversion APIs.
14274
14275 * casetab.c: Include "character.h" instead of "charset.h".
14276 (set_canon, set_identity, shuffle): Adjust for the new
14277 map_char_table spec.
14278 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14279 accessing the char table structure.
14280
14281 * chartab.c: New file that implements char table.
14282
14283 * category.c: Include "character.h".
14284 (copy_category_entry): New function.
14285 (copy_category_table): Call map_char_table and copy_category_entry.
14286 (Fmake_category_table): Initialize all top-level slots.
14287 (char_category_set): New function.
14288 (modify_lower_category_set): Delete.
14289 (Fmodify_category_entry): Call char_table_ref_and_range.
14290
14291 * category.h (CATEGORY_SET): Just call char_category_set.
14292
14293 * ccl.c: Include "character.h".
14294 (Qccl, Qcclp): New variables.
14295 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14296 it's less than 256.
14297 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14298 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14299 and DST type.
14300 (ccl_driver): Change types of argument, adjust code accordingly.
14301 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14302 ccl_driver.
14303 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14304
14305 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14306 New members src_multibyte, dst_multibyte, consumed, and produced.
14307 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14308 (CODING_SPEC_CCL_PROGRAM): New macro.
14309 (ccl_driver): Update prototype.
14310 (Qccl, Qcclp, Fccl_program_p): Extern them.
14311 (CHECK_CCL_PROGRAM): New macro.
14312
14313 * character.c, character.h, chartab.c: New files.
14314
14315 * charset.c: Mostly re-written. Move character and multibyte sequence
14316 handling codes to character.c.
14317
14318 * charset.h: Mostly re-written. Move character and multibyte sequence
14319 handling codes to character.h.
14320
14321 * coding.c, coding.h: Mostly re-written.
14322
14323 * composite.c: Include "character.h" instead of "charset.h".
14324 (CHAR_WIDTH): Move to character.h.
14325 (HASH_KEY, HASH_VALUE): Delete.
14326
14327 * composite.h (enum composition_method): Change order of enumeration
14328 symbols.
14329
14330 * data.c: Include "character.h" instead of "charset.h".
14331 (Faref): Call CHAR_TABLE_REF for a char table.
14332 (Faset): Call CHAR_TABLE_SET for a char table.
14333
14334 * dispextern.h (free_realized_face, check_face_attribytes)
14335 (generate_ascii_font): Extern them.
14336 (free_realized_multibyte_face): Delete extern.
14337
14338 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14339 table structure.
14340
14341 * editfns.c: Include "character.h" instead of "charset.h".
14342 (Fchar_to_string): Always call CHAR_STRING.
14343
14344 * emacs.c (main): Call init_charset_once, init_charset,
14345 syms_of_chartab, and syms_of_character.
14346
14347 * fileio.c: Include "character.h" instead of "charset.h".
14348 (Finsert_file_contents): Big change for the new code-conversion API.
14349 (choose_write_coding_system, Fwrite_region): Likewise.
14350 (build_annotations_2): Delete.
14351 (e_write): Big change for the new code-conversion API.
14352
14353 * fns.c: Include "character.h" instead of "charset.h".
14354 (copy_sub_char_table): Move to chartab.c.
14355 (Fcopy_sequence): Call copy_char_table for a char table.
14356 (concat): Delete codes calling count_multibyte.
14357 (string_char_to_byte, string_byte_to_char): Adjust for the new
14358 multibyte form.
14359 (internal_equal): Adjust for the change of char table structure.
14360 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
14361 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
14362 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
14363 (char_table_translate, optimize_sub_char_table)
14364 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
14365 chartab.c.
14366 (char_table_ref_and_index): Delete.
14367 (HASH_KEY, HASH_VALUE): Move to lisp.h.
14368 (Fmd5): Call preferred_coding_system instead of accessing
14369 Vcoding_category_list. Adjust for the new code-conversion API.
14370 (syms_of_fns): Move defsubr for char table related functions to
14371 chartab.c.
14372
14373 * fontset.c: Mostly re-written.
14374
14375 * fontset.h (struct font_info): Change type of the member encoding_type.
14376 (enum FONT_SPEC_INDEX): New enum.
14377 (fontset_font_pattern, fs_load_font): Update prototype.
14378 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
14379
14380 * indent.c: Include "character.h" instead of "charset.h".
14381 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
14382
14383 * insdel.c: Include "character.h" instead of "charset.h".
14384 (copy_text): Don't refer to Vnonascii_translation_table.
14385 (insert_from_gap): New function.
14386
14387 * keyboard.c: Include "character.h" instead of "charset.h".
14388 (command_loop_1): Never call direct_output_forward_char before
14389 a non-ASCII character.
14390 (read_char): If Vkeyboard_translate_table is a char table, always
14391 translate a character.
14392
14393 * keymap.c: Include "character.h".
14394 (store_in_keymap): Handle the case that IDX is a cons.
14395 (Fdefine_key): Handle the case that KEY is a cons and the car part
14396 is also a cons (range).
14397 (push_key_description): Adjust for the new character code.
14398 (describe_vector): Call describe_char_table for a char table.
14399 (describe_char_table): New function.
14400
14401 * keymap.h (describe_char_table): Extern it.
14402
14403 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
14404 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
14405 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
14406 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
14407 Delete.
14408 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
14409 structure.
14410 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
14411 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
14412 (CHARTAB_SIZE_BITS_3): New macros.
14413 (chartab_size): Extern it.
14414 (struct Lisp_Char_Table): Re-design.
14415 (struct Lisp_Sub_Char_Table): New structure.
14416 (HASH_KEY, HASH_VALUE): Move from fns.c.
14417 (CHARACTERBITS): Define as 22.
14418 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
14419 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
14420 (GC_SUB_CHAR_TABLE_P): New macro.
14421 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
14422 (code_convert_string_norecord): Deleted extern.
14423 (init_character_once, syms_of_character, init_charset)
14424 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
14425
14426 * lread.c: Include "character.h".
14427 (read_multibyte): New arg NBYTES.
14428 (read_escape): Change the meaning of returned *BYTEREP.
14429 (to_multibyte): Delete.
14430 (read1): Adjust the handling of char table and string.
14431
14432 * print.c: Include "character.h" instead of "charset.h".
14433 (print_string): Convert 8-bit raw bytes to octal form by
14434 string_escape_byte8.
14435 (print_object): Adjust for the new multibyte form. Print 8-bit
14436 raw bytes always in octal form. Handle sub char table correctly.
14437
14438 * process.c: Include "character.h" instead of "charset.h".
14439 (read_process_output, send_process): Adjust for the new
14440 code-conversion API.
14441
14442 * puresize.h (BASE_PURESIZE): Increase.
14443
14444 * regex.c: Include "character.h" instead of "charset.h".
14445 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
14446 (regex_compile): Accept a range whose starting and ending
14447 character have different leading bytes.
14448 (analyse_first): Adjust for the above change.
14449
14450 * search.c: Include "character.h" instead of "charset.h".
14451 (search_buffer, boyer_moore): Adjust for the new multibyte form.
14452 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
14453
14454 * syntax.c: Include "character.h" instead of "charset.h".
14455 (syntax_parent_lookup): Delete.
14456 (Fmodify_syntax_entry): Accept a cons as CHAR.
14457 (skip_chars): Adjust for the new multibyte form.
14458 (init_syntax_once): Call char_table_set_range instead of directly
14459 accessing the structure of a char table.
14460
14461 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
14462 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
14463 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
14464 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
14465
14466 * term.c: Include "buffer.h" and "character.h".
14467 (encode_terminal_code, write_glyphs): Adjust for the new
14468 code-conversion API.
14469 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
14470
14471 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
14472
14473 * xdisp.c: Include "character.h".
14474 (get_next_display_element): Adjust for the new multibyte form.
14475 (disp_char_vector): Adjust for the new char table structure.
14476 (decode_mode_spec_coding): Adjust for the new structure of
14477 coding system.
14478 (decode_mode_spec): Adjust for the new code-conversion API.
14479
14480 * xfaces.c: Include "character.h" instead of "charset.h".
14481 (load_face_font): Adjust for the change of choose_face_font and
14482 FS_LOAD_FONT.
14483 (generate_ascii_font): New function.
14484 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
14485 (set_font_frame_param): Adjust for the change of choose_face_font.
14486 (free_realized_face): Make it public.
14487 (free_realized_faces_for_fontset): Rename from
14488 free_realized_multibyte_face. Free also faces realized for ASCII.
14489 (choose_face_font): Change arguments. Adjust for the change of
14490 fontset_font_pattern and FS_LOAD_FONT.
14491
14492 * xfns.c: Include "character.h".
14493 (x_encode_text): Adjust for the new code-conversion API.
14494
14495 * xselect.c: Don't include "charset.h".
14496 (selection_data_to_lisp_data): Adjust for the new code conversion API.
14497
14498 * xterm.c: Include "character.h".
14499 (x_encode_char): New argument CHARSET. Change caller.
14500 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
14501 Call ENCODE_CHAR instead of SPLIT_CHAR.
14502 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
14503 CHAR_WIDTH instead of CHARSET_WIDTH.
14504 (XTread_socket): Adjust for the new code-conversion API.
14505 (x_new_font): Adjust for the change of FS_LOAD_FONT.
14506 (x_load_font): Adjust for the change of struct font.
14507
145082008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
14509
14510 * xfaces.c (face_at_buffer_position): Remove unused vars.
14511
145122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14513
14514 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
14515 Fix overflow checking.
14516
145172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14518
14519 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
14520 Cancel previous change.
14521
145222008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14523
14524 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
14525 ccl->eight_bit_control. Fix check for buffer overflow.
14526 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
14527 (ccl_driver): Initialize extra_bytes to 0.
14528
145292008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14530
14531 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
14532 return it ORed with ctrl_modifier.
14533
145342008-01-29 Miles Bader <miles@gnu.org>
14535
14536 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
14537
145382008-01-28 Jason Rumney <jasonr@gnu.org>
14539
14540 * w32.c (stat): Don't double check for networked drive.
14541
145422008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
14543
14544 * window.c (run_window_configuration_change_hook): New function.
14545 Code extracted from set_window_buffer. Set the selected frame.
14546 (set_window_buffer): Use it.
14547 * window.h (run_window_configuration_change_hook): Declare.
14548 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
14549
14550 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
14551
145522008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
14553
14554 * Makefile.in: Remove references to unused macros.
14555
145562008-01-26 Eli Zaretskii <eliz@gnu.org>
14557
14558 * w32.c (g_b_init_get_sid_sub_authority)
14559 (g_b_init_get_sid_sub_authority_count): New static variables.
14560 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
14561 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
14562 (init_user_info): Use them to retrieve uid and gid.
14563 Use 500/513, the Windows defaults, as Administrator's uid/gid.
14564 (fstat): Use pw_uid and pw_gid from the_passwd structure for
14565 st_uid and st_gid of the file.
14566
145672008-01-26 Jason Rumney <jasonr@gnu.org>
14568
14569 * w32.c (logon_network_drive): New function.
14570 (stat): Use it.
14571
145722008-01-26 Chong Yidong <cyd@stupidchicken.com>
14573
14574 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
14575 invisible text covered with an ellipsis.
14576
145772008-01-25 Richard Stallman <rms@gnu.org>
14578
14579 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
14580 jump back to beginning. Move some other initializations after that.
14581 (Qwindow_text_change_functions, Vwindow_text_change_functions):
14582 New variables.
14583 (syms_of_xdisp): Init them.
14584
14585 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
14586
14587 * buffer.c (reset_buffer_local_variables):
14588 Implement `permanent-local-hook'.
14589 (Qpermanent_local_hook): New variable.
14590 (syms_of_buffer): Init and staticpro it.
14591
145922008-01-25 Michael Albinus <michael.albinus@gmx.de>
14593
14594 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
14595
145962008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
14597
14598 * fns.c (Fclrhash): Return TABLE.
14599
146002008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14601
14602 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
14603 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
14604 is set even without positional changes.
14605 (x_scroll_bar_clear): Set bar->redraw_needed_p.
14606
14607 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
14608
146092008-01-23 Jason Rumney <jasonr@gnu.org>
14610
14611 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
14612
14613 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
14614 the unicode range available in MULE by locale-coding-system.
14615 Improve dbcs lead byte detection. Set event timestamp and modifiers
14616 earlier.
14617
146182008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14619
14620 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
14621 [MAC_OSX] (init_mac_osx_environment): Initialize it.
14622 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
14623 when used on child processes.
14624
146252008-01-21 Michael Albinus <michael.albinus@gmx.de>
14626
14627 * dbusbind.c (Fdbus_method_return_internal): Rename from
14628 Fdbus_method_return.
14629 (Fdbus_unregister_object): Move to dbus.el.
14630 (Fdbus_call_method, Fdbus_method_return_internal)
14631 (Fdbus_send_signal): Improve debug messages.
14632
146332008-01-20 Martin Rudalics <rudalics@gmx.at>
14634
14635 * undo.c (undo_inhibit_record_point): New variable.
14636 (syms_of_undo): Initialize it.
14637 (record_point): Don't record point when undo_inhibit_record_point
14638 is set.
14639
146402008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
14641
14642 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
14643
14644 * xdisp.c (Qauto_hscroll_mode): New var.
14645 (syms_of_xdisp): Initialize it.
14646 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
14647 window's buffer.
14648 (hscroll_windows): Don't check automatic_hscrolling_p here.
14649
14650 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
14651 vscroll if we're setting window-buffer to the value it already has.
14652
146532008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
14654
14655 * m/intel386.h: Remove references to XENIX.
14656
146572008-01-17 Andreas Schwab <schwab@suse.de>
14658
14659 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
14660 instead of HAVE_X86_64_LIB64_DIR.
14661 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
14662
146632008-01-17 Glenn Morris <rgm@gnu.org>
14664
14665 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
14666 to HAVE_X86_64_LIB64_DIR.
14667
146682008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
14669
14670 * s/irix3-3.h:
14671 * s/irix4-0.h:
14672 * s/386-ix.h:
14673 * s/domain.h:
14674 * s/hpux9-x11r4.h:
14675 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14676
14677 * sysdep.c: Remove code containing references to symbols defined
14678 by unsupported systems.
14679
146802008-01-16 Glenn Morris <rgm@gnu.org>
14681
14682 * coding.c (select-safe-coding-system-function): Doc fix.
14683
146842008-01-15 Glenn Morris <rgm@gnu.org>
14685
14686 * config.in: Revert 2008-01-13 change: this is a generated file.
14687
146882008-01-13 Tom Tromey <tromey@redhat.com>
14689
14690 * lisp.h: Fix typo.
14691
146922008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14693
14694 * m/sequent-ptx.h:
14695 * m/sequent.h:
14696 * s/ptx.h:
14697 * s/ptx4-2.h:
14698 * s/ptx4.h: Remove files for systems no longer supported.
14699
14700 * callproc.c (Fcall_process): Fix previous change.
14701
147022008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14703
14704 * unexsunos4.c: Remove file, system not supported anymore.
14705
14706 * m/mips.h:
14707 * m/intel386.h:
14708 * callproc.c:
14709 * config.in:
14710 * ecrt0.c:
14711 * emacs.c:
14712 * fileio.c:
14713 * frame.c:
14714 * getpagesize.h:
14715 * keyboard.c:
14716 * lread.c:
14717 * process.c:
14718 * puresize.h:
14719 * sysdep.c:
14720 * systty.h:
14721 * syswait.h:
14722 * unexec.c:
14723 * xdisp.c:
14724 * alloc.c: Remove code containing references to symbols defined by
14725 unsupported systems.
14726
147272008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14728
14729 * coding.c (detect_coding_mask): Fix previous change.
14730
147312008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14732
14733 * coding.c (detect_coding_iso2022): New arg
14734 latin_extra_code_state. Allow Latin extra codes only
14735 when *latin_extra_code_state is nonzero.
14736 (detect_coding_mask): If there is a NULL byte, detect the encoding
14737 as UTF-16 or binary. If Latin extra codes exist, detect the
14738 encoding as ISO-2022 only when there's no other proper encoding is
14739 found.
14740
147412008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14742
14743 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14744 #ifdef MAC_OS.
14745
147462008-01-08 Richard Stallman <rms@gnu.org>
14747
14748 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14749
147502008-01-06 Nick Roberts <nickrob@snap.net.nz>
14751
14752 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14753 menu bar in parentheses.
14754
147552008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14756
14757 * m/7300.h:
14758 * m/acorn.h:
14759 * m/alliant-2800.h:
14760 * m/alliant.h:
14761 * m/alliant1.h:
14762 * m/alliant4.h:
14763 * m/altos.h:
14764 * m/amdahl.h:
14765 * m/apollo.h:
14766 * m/att3b.h:
14767 * m/aviion-intel.h:
14768 * m/aviion.h:
14769 * m/celerity.h:
14770 * m/clipper.h:
14771 * m/cnvrgnt.h:
14772 * m/convex.h:
14773 * m/cydra5.h:
14774 * m/delta88k.h:
14775 * m/dpx2.h:
14776 * m/dual.h:
14777 * m/elxsi.h:
14778 * m/f301.h:
14779 * m/gould-np1.h:
14780 * m/gould.h:
14781 * m/i860.h:
14782 * m/ibmps2-aix.h:
14783 * m/ibmrt-aix.h:
14784 * m/ibmrt.h:
14785 * m/irist.h:
14786 * m/is386.h:
14787 * m/isi-ov.h:
14788 * m/mega68.h:
14789 * m/mg1.h:
14790 * m/news-r6.h:
14791 * m/news-risc.h:
14792 * m/news.h:
14793 * m/nh3000.h:
14794 * m/nh4000.h:
14795 * m/ns16000.h:
14796 * m/ns32000.h:
14797 * m/nu.h:
14798 * m/orion.h:
14799 * m/orion105.h:
14800 * m/paragon.h:
14801 * m/pfa50.h:
14802 * m/plexus.h:
14803 * m/pyramid.h:
14804 * m/pyrmips.h:
14805 * m/sh3el.h:
14806 * m/sps7.h:
14807 * m/sr2k.h:
14808 * m/stride.h:
14809 * m/sun1.h:
14810 * m/sun2.h:
14811 * m/sun3-68881.h:
14812 * m/sun3-fpa.h:
14813 * m/sun3-soft.h:
14814 * m/sun3.h:
14815 * m/sun386.h:
14816 * m/symmetry.h:
14817 * m/tad68k.h:
14818 * m/tahoe.h:
14819 * m/targon31.h:
14820 * m/tek4300.h:
14821 * m/tekxd88.h:
14822 * m/tower32.h:
14823 * m/tower32v3.h:
14824 * m/ustation.h:
14825 * m/wicat.h:
14826 * m/xps100.h:
14827 * s/cxux.h:
14828 * s/cxux7.h:
14829 * s/dgux.h:
14830 * s/dgux4.h:
14831 * s/dgux5-4-3.h:
14832 * s/dgux5-4r2.h:
14833 * s/esix.h:
14834 * s/esix5r4.h:
14835 * s/hiuxmpp.h:
14836 * s/hiuxwe2.h:
14837 * s/iris3-5.h:
14838 * s/iris3-6.h:
14839 * s/isc2-2.h:
14840 * s/isc3-0.h:
14841 * s/isc4-0.h:
14842 * s/isc4-1.h:
14843 * s/newsos5.h:
14844 * s/newsos6.h:
14845 * s/osf1.h:
14846 * s/osf5-0.h:
14847 * s/riscix1-1.h:
14848 * s/riscix12.h:
14849 * s/sco4.h:
14850 * s/sco5.h:
14851 * s/sunos4-0.h:
14852 * s/sunos4-1.h:
14853 * s/sunos413.h:
14854 * s/sunos4shr.h:
14855 * s/umax.h:
14856 * s/unipl5-2.h:
14857 * s/xenix.h:
14858 * cxux-crt0.s:
14859 * unexapollo.c:
14860 * unexconvex.c:
14861 * unexenix.c:
14862 * unexsni.c: Remove files for systems no longer supported.
14863
14864 * m/intel386.h: Remove references to unsupported systems.
14865
14866 * w32.c (get_emacs_configuration): Remove reference to i860.
14867
14868 * sysdep.c: Remove dead code.
14869
148702008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14871
14872 * s/rtu.h:
14873 * m/masscomp.h: Remove files. Platform is obsolete.
14874
148752008-01-04 Michael Albinus <michael.albinus@gmx.de>
14876
14877 * dbusbind.c (Fdbus_method_return): New function.
14878 (xd_read_message): Add the serial number to the event.
14879 (Fdbus_register_method): Activate the function.
14880
148812008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14882
14883 * keyboard.c (read_key_sequence): Fix typo.
14884
148852008-01-03 Michael Albinus <michael.albinus@gmx.de>
14886
14887 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14888 (xd_signature, xd_append_arg): Handle element type detection for
14889 empty arrays.
14890 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14891 SDATA () calls; this must be solved more general.
14892 (Fdbus_register_signal): Use SBYTES instead of strlen.
14893
148942008-01-03 Magnus Henoch <magnus@zemdatav>
14895
14896 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14897 unsigned int for byte values (necessary for big-endian platform).
14898 (Fdbus_call_method): Handle the case of no returned arguments.
14899
149002007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14901
14902 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14903
149042007-12-31 Magnus Henoch <mange@freemail.hu>
14905
14906 * dbusbind.c (xd_signature): Signature of variant is just "v".
14907
149082007-12-30 Michael Albinus <michael.albinus@gmx.de>
14909
14910 * dbusbind.c: Fix several errors and compiler warnings.
14911 Reported by Tom Tromey <tromey@redhat.com>.
14912 (XD_ERROR, XD_DEBUG_MESSAGE)
14913 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14914 (xd_append_arg): Part for basic D-Bus types rewritten.
14915 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14916 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14917 appropriate.
14918 (xd_read_message): Return Qnil. Don't signal an error; it is not
14919 useful during event reading.
14920 (Fdbus_register_signal): Signal an error if the check for
14921 FUNCTIONP fails.
14922 (Fdbus_register_method): New function. The implementation is not
14923 complete, the call of the function signals an error therefore.
14924 (Fdbus_unregister_object): New function, renamed from
14925 Fdbus_unregister_signal. The initial check signals an error, if
14926 the object is not well formed.
14927
149282007-12-30 Richard Stallman <rms@gnu.org>
14929
14930 * textprop.c (get_char_property_and_overlay):
14931 Signal error if POSITION is out of range in a buffer.
14932
149332007-12-29 Martin Rudalics <rudalics@gmx.at>
14934
14935 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14936 because the original parameters are in pure storage now.
14937
149382007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14939
14940 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14941
149422007-12-22 Eli Zaretskii <eliz@gnu.org>
14943
14944 * callint.c (syms_of_callint) <command-history>: Add reference to
14945 history-length in the doc string.
14946
149472007-12-17 Jason Rumney <jasonr@gnu.org>
14948
14949 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14950 before passing as wParam.
14951
149522007-12-22 Michael Albinus <michael.albinus@gmx.de>
14953
14954 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14955 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14956 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14957 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14958 as number.
14959 (Fdbus_call_method): Fix docstring.
14960
149612007-12-21 Michael Albinus <michael.albinus@gmx.de>
14962
14963 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14964 New macros.
14965 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14966 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14967 Simplify.
14968 (xd_signature): New function.
14969 (xd_append_arg): Compute also signatures. Major rewrite.
14970 (xd_retrieve_arg): Make debug messages friendly.
14971 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14972 Check for signatures of arguments.
14973
149742007-12-19 Michael Albinus <michael.albinus@gmx.de>
14975
14976 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14977 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14978 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14979 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14980 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14981 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14982 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14983 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14984 (xd_retrieve_value): Remove. Functionality included in ...
14985 (xd_append_arg): New function.
14986 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14987
149882007-12-16 Michael Albinus <michael.albinus@gmx.de>
14989
14990 * dbusbind.c (top): Include <stdio.h>.
14991 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14992 dbus_message_new_method_call and dbus_message_new_signal.
14993 (Fdbus_register_signal): Rename unique_name to uname.
14994 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14995 non-existing unique name. Fix typos in matching rule. Return an
14996 object which is useful in Fdbus_unregister_signal.
14997 (Fdbus_unregister_signal): Reimplementation, in order to remove
14998 only the corresponding entry.
14999 (Vdbus_registered_functions_table): Change the order of entries.
15000 Apply these changes in xd_read_message and Fdbus_register_signal.
15001
150022007-12-16 Andreas Schwab <schwab@suse.de>
15003
15004 * fileio.c (Finsert_file_contents): Fix overflow check to not
15005 depend on undefined integer overflow.
15006
150072007-12-14 Jason Rumney <jasonr@gnu.org>
15008
15009 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
15010 for characters above 127.
15011
150122007-12-13 Jason Rumney <jasonr@gnu.org>
15013
15014 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
15015 before dereferencing array.
15016 (lookup_vk_code): Remove zero comparison.
15017
150182007-12-14 Michael Albinus <michael.albinus@gmx.de>
15019
15020 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
15021 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
15022 Use `unsigned int' instead of `uint'.
15023 (xd_read_message, Fdbus_register_signal): Split expressions into
15024 multiple lines before operators "&&" and "||", according to the
15025 GNU Coding Standards.
15026
150272007-12-14 Eli Zaretskii <eliz@gnu.org>
15028
15029 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
15030
150312007-12-12 Juri Linkov <juri@jurta.org>
15032
15033 * buffer.c (Frename_buffer): In interactive spec replace
15034 `read-buffer' with `read-string' that uses `buffer-name-history'
15035 as history, and the current buffer's name as default.
15036
150372007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
15038
15039 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
15040 manipulating the backtrace manually.
15041 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
15042 (struct backtrace, backtrace_list): Remove.
15043 (command_loop_1): Remove dead var `no_direct'.
15044
15045 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
15046 preserve non-built-in buffer-local variables.
15047 (Fkill_all_local_variables): Don't re-create&re-set permanent
15048 buffer-local variables.
15049
150502007-12-09 Juri Linkov <juri@jurta.org>
15051
15052 * buffer.c (Frename_buffer): Change interactive spec from "s" to
15053 Lisp code that uses `read-buffer' with current buffer as default.
15054
150552007-12-08 Michael Albinus <michael.albinus@gmx.de>
15056
15057 * dbusbind.c (xd_read_message): Generate an event for every
15058 registered handler. There might be several handlers registered
15059 for the same signal.
15060 (Fdbus_register_signal): Don't overwrite a registration for the
15061 same signal. Add a new registration if handlers are different.
15062 (Vdbus_registered_functions_table): Rework doc string.
15063
150642007-12-07 Michael Albinus <michael.albinus@gmx.de>
15065
15066 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
15067 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
15068 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
15069 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
15070 Unify argument lists.
15071 (xd_read_message, Fdbus_register_signal): Reorder and extend event
15072 arguments and hash table keys. Use unique name for service.
15073 (Fdbus_unregister_signal): Remove checks.
15074 (Vdbus_registered_functions_table): Fix doc string.
15075
150762007-12-05 Magnus Henoch <mange@freemail.hu>
15077
15078 * process.c (make_process): Initialize pty_flag to 0.
15079
150802007-12-05 Jason Rumney <jasonr@gnu.org>
15081
15082 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
15083 specified XBMs.
15084
150852007-12-05 Richard Stallman <rms@gnu.org>
15086
15087 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
15088
150892007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15090
15091 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
15092 New variable.
15093 (mac_try_close_socket) [MAC_OSX]: New function.
15094 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
15095 Update cfsockets_for_select. Replace invalid CFRunLoop source.
15096
15097 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
15098 Use mac_try_close_socket.
15099
151002007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15101
15102 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
15103 reloc_base.
15104 (copy_dysymtab): Compute relocation base here.
15105 (rebase_reloc_address) [__ppc64__]: New function.
15106 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
15107 changed.
15108
151092007-12-05 Jason Rumney <jasonr@gnu.org>
15110
15111 * w32proc.c (sys_spawnve): Quote args with wildcards.
15112
151132007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15114
15115 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
15116 __objc_* sections.
15117 (unrelocate) [_LP64]: Set relocation base to address of data segment.
15118
151192007-12-05 Michael Albinus <michael.albinus@gmx.de>
15120
15121 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
15122 Move check for Vdbus_registered_functions_table to
15123 xd_read_queued_messages.
15124 (xd_read_queued_messages): Protect xd_read_message calls by
15125 internal_condition_case_1.
15126
151272007-12-04 Michael Albinus <michael.albinus@gmx.de>
15128
15129 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
15130 Qdbus_system_bus and Qdbus_session_bus, respectively.
15131 (Vdbus_intern_symbols): Remove.
15132 (Vdbus_registered_functions_table): New hash table.
15133 (XD_SYMBOL_INTERN_SYMBOL): Remove.
15134 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
15135 Rewrite in order to manage registered functions by hash table
15136 Vdbus_registered_functions_table.
15137
151382007-12-03 Jan Djärv <jan.h.d@swipnet.se>
15139
15140 * xterm.c: Update URL to Window Manager Specification in comment.
15141
151422007-12-02 Michael Albinus <michael.albinus@gmx.de>
15143
15144 * config.in (HAVE_DBUS): Add.
15145
15146 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
15147 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
15148 (obj): Add $(DBUS_OBJ).
15149 (LIBES): Add $(DBUS_LIBS).
15150 (dbusbind.o): New target.
15151
15152 * dbusbind.c: New file.
15153
15154 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
15155
15156 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
15157 (Qdbus_event): New Lisp symbol.
15158 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
15159 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 15160 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
15161
15162 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
15163
151642007-12-01 Richard Stallman <rms@gnu.org>
15165
15166 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
15167
151682007-11-30 Jason Rumney <jasonr@gnu.org>
15169
15170 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
15171 (w32con_reset_terminal_modes): Clear screen buffer.
15172 (w32_face_attributes): Don't use color indexes that are out of range.
15173 Only reverse the default colors.
15174
15175 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
15176 WINDOWSNT.
15177
15178 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
15179
151802007-11-29 Jason Rumney <jasonr@gnu.org>
15181
15182 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
15183 (w32_face_attributes): Use Vtty_defined_color_alist to determine
15184 if the terminal colors are initialized.
15185 (unspecified_fg, unspecified_bg): Remove unused declarations.
15186
151872007-11-29 Andreas Schwab <schwab@suse.de>
15188
15189 * keyboard.c (apply_modifiers): Fix typo.
15190
151912007-11-29 Richard Stallman <rms@gnu.org>
15192
15193 * keymap.c (Fcurrent_local_map): Doc fix.
15194
151952007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
15196
15197 * s/gnu-kfreebsd.h: New file.
15198
151992007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
15200
15201 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
15202 Don't cast redundantly.
15203
15204 * keyboard.c (KEY_TO_CHAR): New macro.
15205 (parse_modifiers, apply_modifiers): Accept integer arguments.
15206 (read_key_sequence): Use them to unify the "shift->unshift" mapping
15207 for chars and symbol keys.
15208 After doing such remapping, apply function-key-map again.
15209
152102007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
15211
15212 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
15213 compiled anymore.
15214
152152007-11-26 Andreas Schwab <schwab@suse.de>
15216
15217 * process.c (list_processes_1): Fix indentation level of the
15218 command column.
15219
152202007-11-23 Andreas Schwab <schwab@suse.de>
15221
15222 * editfns.c (Fformat): Handle %c specially since it requires the
15223 argument to be of type int.
15224
152252007-11-23 Markus Triska <markus.triska@gmx.at>
15226
15227 * emacs.c (main): Call init_editfns before init_process, since
15228 init_process sets Vprocess_connection_type depending on OS release.
15229
152302007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
15231
15232 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
15233 (find_symbol_value): Use do_symval_forwarding.
15234
15235 * data.c (set_internal): Set the value in the `cons-cell' (for
15236 Buffer_Local_values) not only for frame-local variables.
15237
152382007-11-22 Andreas Schwab <schwab@suse.de>
15239
15240 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
15241 values to sprintf.
15242 * keymap.c (Fsingle_key_description): Likewise.
15243 * print.c (print_object): Likewise.
15244
152452007-11-22 Jan Djärv <jan.h.d@swipnet.se>
15246
15247 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
15248 file for image is nil.
15249
152502007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
15251
15252 * term.c: Include stdarg.h.
15253 (fatal): Implement using varargs.
15254 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15255
152562007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15257
15258 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15259 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15260 Update call to buffer_slot_type_mismatch.
15261 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15262 (buffer_slot_type_mismatch): Update.
15263 * buffer.c (buffer_local_types): Remove.
15264 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15265 (defvar_per_buffer): Set the type in the buffer_objfwd.
15266
152672007-11-21 Jason Rumney <jasonr@gnu.org>
15268
15269 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15270 CreateFileMapping returns NULL on failure.
15271
152722007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15273
15274 * search.c (Fset_match_data): Remove the `evaporate' feature.
15275 (unwind_set_match_data): Don't use the `evaporate' feature.
15276
152772007-11-21 Jason Rumney <jasonr@gnu.org>
15278
15279 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15280
15281 * w32console.c (w32con_write_glyphs): Remove unused variables.
15282
152832007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15284
15285 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15286
15287 * s/darwin.h (MULTI_KBOARD): Remove.
15288
15289 * macfns.c (x_create_tip_frame, Fx_create_frame)
15290 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15291
152922007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15293
15294 * buffer.c (Fbuffer_local_value): Remove redundant test.
15295 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15296 than in `current-buffer' to match the comment.
15297 Do the swap using swap_in_global_binding.
15298
15299 * data.c (store_symval_forwarding, set_internal):
15300 * eval.c (specbind): Remove dead code.
15301
15302 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15303 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15304 Since we do not want to see internal Lisp_*fwd objects here.
15305
153062007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15307
15308 * sysdep.c (init_system_name): Use getaddrinfo if available.
15309
15310 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15311 (x_scroll_bar_note_movement): start, end, with, height in struct
15312 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15313
153142007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15315
15316 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15317
153182007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15319
15320 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15321 This undoes Richard's change of 14-Oct-2002.
15322
15323 * alloc.c (allocate_other_vector):
15324 * lisp.h (allocate_other_vector): Remove.
15325
15326 * window.c (struct save_window_data): Move non-lisp data to the end
15327 and make it `int' rather than Lisp_Object.
15328 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15329 Done wrap/unwrap integer values.
15330 (Fset_window_configuration, compare_window_configurations):
15331 Update use of fields to their new types.
15332
15333 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15334 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15335 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15336 (SET_SCROLL_BAR_X_WINDOW): Remove.
15337 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15338 Access the new x_window field directly.
15339 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15340 Don't wrap/unwrap integers into Lisp_Objects.
15341 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15342 (x_scroll_bar_report_motion):
15343 Don't wrap/unwrap integers into Lisp_Objects.
15344 (x_term_init): Use SDATA.
15345 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15346 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15347 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15348 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15349 * xfns.c (x_set_background_color):
15350 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15351 Access the new x_window field directly.
15352
15353 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
15354 (allocate_pseudovector): Make non-static.
15355
15356 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
15357 (allocate_pseudovector): Declare.
15358 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
15359
153602007-11-15 Andreas Schwab <schwab@suse.de>
15361
15362 * editfns.c (Fformat): Correctly format EMACS_INT values.
15363 Also take precision into account when formatting an integer.
15364
15365 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
15366
153672007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
15368
15369 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
15370 (syms_of_keyboard): Defsubr it.
15371
15372 * data.c (swap_in_global_binding): Fix longstanding bug where
15373 store_symval_forwarding was not called with the right second argument,
15374 thus causing objfwd-ing from being dropped.
15375
153762007-11-14 Juanma Barranquero <lekktu@gmail.com>
15377
15378 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
15379 (Fx_display_pixel_height, Fx_display_planes)
15380 (Fx_display_color_cells, Fx_server_max_request_size)
15381 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15382 (Fx_display_visual_class, Fx_display_save_under):
15383 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
15384 (Fx_display_pixel_height, Fx_display_planes)
15385 (Fx_display_color_cells, Fx_server_max_request_size)
15386 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
15387 (Fx_display_mm_height, Fx_display_mm_width)
15388 (Fx_display_backing_store, Fx_display_visual_class)
15389 (Fw32_select_font, Fx_display_save_under):
15390 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
15391 (Fx_display_pixel_height, Fx_display_planes)
15392 (Fx_display_color_cells, Fx_server_max_request_size)
15393 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15394 (Fx_display_save_under): Fix typos in docstrings.
15395
153962007-11-14 Juanma Barranquero <lekktu@gmail.com>
15397
15398 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
15399 corresponding to deleted entries; they are an implementation detail.
15400 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
15401 Remove variables.
15402 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
15403 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
15404 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
15405 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
15406 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
15407 (Fw32_define_rgb_color, Fw32_load_color_file)
15408 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
15409 Fix typos in docstrings.
15410 (Fx_server_version): Reflow docstring.
15411 (Fw32_shell_execute): Doc fixes.
15412
154132007-11-13 Juanma Barranquero <lekktu@gmail.com>
15414
15415 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
15416 if w32_parse_hot_key returned nil.
15417
154182007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
15419
15420 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
15421
154222007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 15423
aac0c6e3
MR
15424 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
15425
15426 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
15427
15428 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
15429 Remove W32_SCROLL_BAR_CLICK_EVENT.
15430
15431 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
15432 Add MULTIMEDIA_KEY_EVENT.
15433
15434 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
15435 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15436 (make_lispy_event) [WINDOWSNT]: Use it to translate
15437 MULTIMEDIA_KEY_EVENT.
15438
15439 * w32term.h (WM_APPCOMMAND): Define if not already.
15440 (GET_APPCOMMAND_LPARAM): Likewise.
15441
15442 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
15443 WM_APPCOMMAND.
15444
15445 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
15446 (syms_of_w32fns): Export and initialize it.
15447 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
15448
154492007-11-09 Chong Yidong <cyd@stupidchicken.com>
15450
15451 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
15452 twice.
15453
15454 * xdisp.c (handle_face_prop): Fix last change.
15455
154562007-11-09 Richard Stallman <rms@gnu.org>
15457
15458 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
15459 not just for after-strings and before-strings.
15460 Call face_for_overlay_string and pass the overlay to it.
15461 (handle_display_prop): Determine whether property came from an overlay.
15462 Pass OVERLAY arg to handle_single_display_spec.
15463 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
15464 (load_overlay_strings): Fill in it->string_overlays.
15465 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
15466
15467 * xfaces.c (face_for_overlay_string): Function renamed from
15468 face_at_buffer_position_no_overlays, and add arg OVERLAY.
15469
15470 * dispextern.h (struct it): New elt string_overlays.
15471 New elt from_overlay, also in stack.
15472 Rearrange a few elements.
15473 (face_for_overlay_string): Decl renamed from
15474 face_at_buffer_position_no_overlays, and add argument.
15475
154762007-11-09 Richard Stallman <rms@gnu.org>
15477
15478 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
15479 to get the base face for an overlay string.
15480
15481 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15482
15483 * xfaces.c (face_at_buffer_position_no_overlays): New function.
15484
15485 * xdisp.c (handle_stop): Move some code out of loop.
15486
154872007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15488
15489 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
15490 Fix conversion from Lisp object to ATSUFontID.
15491
154922007-11-09 Jason Rumney <jasonr@gnu.org>
15493
15494 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
15495
154962007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15497
15498 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
15499 Don't assume regions are aligned to page boundary.
15500 (print_load_command_name): Add LC_UUID if defined.
15501
155022007-11-09 Richard Stallman <rms@gnu.org>
15503
15504 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
15505
155062007-11-07 Jason Rumney <jasonr@gnu.org>
15507
15508 * s/windows95.h: Remove.
15509
155102007-11-06 Jan Djärv <jan.h.d@swipnet.se>
15511
15512 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
15513 abort with a message on unhandled store_type values.
15514
155152007-11-01 Jan Djärv <jan.h.d@swipnet.se>
15516
15517 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
15518 Remove HAVE_X11R5 and HAVE_X11R4.
15519
155202007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15521
15522 * Makefile.in: Remove references to sunfns.c and sunfns.o.
15523
155242007-11-01 Johan Bockgård <bojohan@gnu.org>
15525
15526 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
15527 Don't set s->stippled_p here, since it has already been set by
15528 x_set_glyph_string_gc from x_draw_glyph_string.
15529
155302007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15531
15532 * sunfns.c: Remove file.
15533
15534 * m/sun386.h:
15535 * m/sun2.h:
15536 * m/sparc.h: Remove Sun windows code.
15537
155382007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
15539
15540 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
15541 (init_keyboard): Set current_kboard's window-system to nil.
15542 (tty_read_avail_input): Typo.
15543 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
15544
155452007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
15546
15547 * s/usg5-4.h:
15548 * s/usg5-3.h:
15549 * s/ptx.h:
15550 * m/is386.h:
15551 * m/ibmps2-aix.h:
15552 * Makefile.in: Remove all mentions of X10.
15553
15554 * dispnew.c (syms_of_display): Don't mention version 10.
15555
155562007-10-28 Juanma Barranquero <lekktu@gmail.com>
15557
15558 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
15559 ($(BLD)/abbrev.$(O)): Remove.
15560
155612007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
15562
15563 Rewrite abbrev.c in Elisp.
15564 * image.c (Qcount): Don't declare as extern.
15565 (syms_of_image): Initialize and staticpro `Qcount'.
15566 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
15567 * emacs.c (main): Don't call syms_of_abbrev.
15568 * Makefile.in (obj): Remove abbrev.o.
15569 (abbrev.o): Remove.
15570 * abbrev.c: Remove.
15571
155722007-10-26 Martin Rudalics <rudalics@gmx.at>
15573
15574 * window.c (window_min_size_2): Don't count header-line.
15575
155762007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
15577
15578 * frame.h (struct frame): Move all bit fields after the first bit
15579 field to take advantage of the available space. Group all the
15580 chars together to reduce wasted space due to padding.
15581
155822007-10-26 Juanma Barranquero <lekktu@gmail.com>
15583
15584 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
15585
15586 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
15587 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
15588 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
15589 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
15590 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
15591 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
15592 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
15593 (last_marked, mark_object_loop_halt): Make static.
15594
15595 * frame.c (syms_of_frame) <delete-frame-functions>:
15596 Fix typo in docstring.
15597
155982007-10-25 Juanma Barranquero <lekktu@gmail.com>
15599
15600 * w32.c (init_environment): Fix tiny memory leak.
15601 (w32_get_resource): Remove unused variable `ok'.
15602
156032007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
15604
15605 Make `window-system' into a keyboard-local variable (rather than
15606 frame-local as done originally by multi-tty).
15607
15608 * keyboard.h (struct kboard): Add Vwindow_system.
15609 * keyboard.c (init_kboard): Set a default for Vwindow_system.
15610 (mark_kboards): Mark Vwindow_system.
15611
15612 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
15613 (init_display): Don't set the obsolete `window-system' frame-param.
15614
15615 * xterm.c (x_term_init):
15616 * w32term.c (w32_create_terminal):
15617 * term.c (init_tty): Set Vwindow_system.
15618 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
15619 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
15620
15621 * xfns.c (Fx_create_frame, x_create_tip_frame):
15622 * w32fns.c (Fx_create_frame, x_create_tip_frame):
15623 * macfns.c (Fx_create_frame):
15624 Don't set the obsolete `window-system' frame-param.
15625
15626 * frame.h (Qwindow_system): Remove.
15627 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
15628 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
15629
156302007-10-24 Richard Stallman <rms@gnu.org>
15631
15632 * frame.c (x_figure_window_size): For fullscreen case,
15633 set USPosition | PPosition without clobbering rest of window_prompting.
15634
15635 * keyboard.c (Fcurrent_idle_time): Doc fix.
15636
15637 * print.c (Fwith_output_to_temp_buffer): Doc fix.
15638
156392007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
15640
15641 * process.c (unwind_request_sigio): Only define if __ultrix__.
15642
15643 * callproc.c (child_setup): Remove spurious *.
15644
15645 * lisp.h (Fget_text_property): Declare.
15646 (have_menus_p): Declare it here rather than in sys-dep header files.
15647 * macterm.h (have_menus_p):
15648 * msdos.h (have_menus_p):
15649 * xterm.h (have_menus_p): Remove.
15650
15651 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
15652 (Fmake_variable_frame_local): Just check the variable's const-ness
15653 rather than checking nil or t.
15654
156552007-10-22 Jason Rumney <jasonr@gnu.org>
15656
15657 * w32fns.c: Include math.h.
15658 (w32_abort): Declaration moved to nt/config.nt.
15659
15660 * s/ms-w32.h (HAVE_STDLIB_H): Define.
15661 (abort): Redefinition moved to nt/config.nt.
15662
15663 * m/windowsnt.h: Remove.
15664
156652007-10-22 Juanma Barranquero <lekktu@gmail.com>
15666
15667 * emacs.c (Fdump_emacs): Fix typo in message.
15668 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
15669 <installation-directory>: Reflow docstring.
15670
156712007-10-22 Juri Linkov <juri@jurta.org>
15672
15673 * minibuf.c: Allow minibuffer default to be a list of default values.
15674 With empty input use the first element of this list as returned default.
15675 (string_to_object)
15676 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15677 (read_minibuf): If defalt is cons, set histstring to its car.
15678 (Fread_string): If default_value is cons, set val to its car.
15679 (Fread_buffer): If def is cons, use its car.
15680 (Fcompleting_read): If defalt is cons, set val to its car.
15681
156822007-10-21 Michael Albinus <michael.albinus@gmx.de>
15683
15684 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15685
156862007-10-20 Juanma Barranquero <lekktu@gmail.com>
15687
15688 * doc.c (Fdocumentation): Check for advice in all cases.
15689
156902007-10-19 Chong Yidong <cyd@stupidchicken.com>
15691
15692 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15693
156942007-10-19 Richard Stallman <rms@gnu.org>
15695
15696 * doc.c (Fdocumentation): Check for and handle an advised function.
15697
156982007-10-19 Juanma Barranquero <lekktu@gmail.com>
15699
15700 * process.c (Fset_process_filter): Doc fix.
15701
157022007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15703
15704 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15705 which caused key-translation-map to applied repeatedly (thus breaking
15706 double-mode).
15707
157082007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15709
15710 * xselect.c (x_own_selection, x_handle_selection_clear)
15711 (x_clear_frame_selections):
15712 * w32menu.c (list_of_panes, list_of_items):
15713 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15714 * textprop.c (validate_plist, interval_has_all_properties)
15715 (interval_has_some_properties, interval_has_some_properties_list)
15716 (add_properties, text_property_list):
15717 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15718 * minibuf.c (Fassoc_string):
15719 * macselect.c (x_own_selection, x_clear_frame_selections)
15720 (Fx_disown_selection_internal):
15721 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15722 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15723
157242007-10-17 Chong Yidong <cyd@stupidchicken.com>
15725
15726 * process.c: Link to libs for calling res_init() if available.
15727 (Fmake_network_process): Call res_init() before getaddrinfo or
15728 gethostbyname, if possible.
15729
157302007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15731
15732 * lread.c (read1): Set pvectype for char_tables.
15733
15734 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15735 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15736 Add type checks.
15737 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15738
15739 * alloc.c (free_misc): Use XMISCTYPE.
15740 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15741
157422007-10-17 Glenn Morris <rgm@gnu.org>
15743
15744 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15745 (syms_of_minibuf): Add Qcompletion_ignore_case.
15746 * dired.c (Qcompletion_ignore_case): Change to external.
15747 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15748 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15749 (Fread_file_name): Use it rather than intern'ing.
15750
15751 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15752 (Fread_coding_system): Ignore case of user input.
15753
157542007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15755
15756 * xdisp.c (handle_display_prop): Ignore display specs after
15757 replacing one when string text is being replaced.
15758 (handle_single_display_spec): Pretend as if characters with display
15759 property haven't been consumed only when buffer text is being replaced.
15760
157612007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15762
15763 * xfns.c (Fx_create_frame, Fx_display_list):
15764 * window.c (window_fixed_size_p, enlarge_window)
15765 (shrink_window_lowest_first):
15766 * macterm.c (init_font_name_table):
15767 * macfns.c (Fx_create_frame, Fx_display_list):
15768 * lread.c (close_load_descs):
15769 * keyboard.c (read_char_x_menu_prompt):
15770 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15771 * coding.c (code_convert_region_unwind): Test the type of an object
15772 rather than just !NILP before extracting data from it.
15773
15774 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15775
15776 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15777 (XMISCANY): New macro.
15778 (XMISCTYPE): Use it.
15779 (struct Lisp_Misc_Any): New type.
15780 (union Lisp_Misc): Use it.
15781 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15782 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15783 (find_symbol_value, set_internal, default_value, Fset_default)
15784 (Fmake_variable_buffer_local, Fmake_local_variable)
15785 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15786 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15787 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15788 * alloc.c (allocate_buffer): Set the size and tag.
15789 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15790 Use XMISCANY.
15791 (die): Follow the GNU convention for error messages.
15792 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15793 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15794 tag any more.
15795 (set_buffer_internal_1):
15796 * frame.c (store_frame_param):
15797 * eval.c (specbind):
15798 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15799
15800 * doc.c (Fsnarf_documentation): Simplify.
15801
158022007-10-14 Juanma Barranquero <lekktu@gmail.com>
15803
15804 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15805 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15806
158072007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15808
15809 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15810
158112007-10-14 Juanma Barranquero <lekktu@gmail.com>
15812
15813 * eval.c (do_autoload): Don't save autoloads.
15814
15815 * data.c (Ffset): Save autoload of the function being set.
15816
158172007-10-07 John Paul Wallington <jpw@pobox.com>
15818
15819 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15820 parameter before setting up faces.
15821
158222007-10-13 Eli Zaretskii <eliz@gnu.org>
15823
15824 * ccl.c (Fregister_code_conversion_map):
15825 * keyboard.c (append_tool_bar_item): Reformat last change.
15826
15827 * lisp.h (eabs): Rename from `abs'. All callers changed.
15828
158292007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15830
15831 * buffer.c (add_overlay_mod_hooklist):
15832 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15833 * fontset.c (make_fontset):
15834 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15835 (append_tool_bar_item):
15836 * macmenu.c (grow_menu_items):
15837 * w32menu.c (grow_menu_items):
15838 * xmenu.c (grow_menu_items): Use larger_vector.
15839
158402007-10-13 Eli Zaretskii <eliz@gnu.org>
15841
15842 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15843 selected frame'' on MSDOS).
15844
158452007-10-12 Martin Rudalics <rudalics@gmx.at>
15846
15847 * frame.c (Qexplicit_name): New variable.
15848 (x_report_frame_params): Report it in parameter alist.
15849 (syms_of_frame): Intern and staticpro it.
15850
158512007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15852
15853 * macfns.c (x_create_tip_frame): Set terminal for frame.
15854
158552007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15856
15857 * frame.c (Qenvironment): Remove.
15858 (syms_of_frame) <Qenvironment>: Don't initialize.
15859 (Fdelete_frame): Don't treat the `environment' param specially.
15860 * frame.h (Qenvironment): Don't declare.
15861 * callproc.c (set_initial_environment): Don't set unused frame param.
15862
15863 * frame.c (Fframe_with_environment): Remove.
15864 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15865
15866 * lisp.h (Fframe_with_environment): Don't declare.
15867
158682007-10-10 Juanma Barranquero <lekktu@gmail.com>
15869
15870 * indent.c (indent_tabs_mode, last_known_column)
15871 (last_known_column_modified): Make static.
15872 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15873
158742007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15875
15876 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15877
158782007-10-09 Jason Rumney <jasonr@gnu.org>
15879
15880 * w32term.c (x_set_window_size): Disable code that attempts to tell
15881 Lisp code about a size change before it actually happens.
15882
158832007-10-09 Richard Stallman <rms@gnu.org>
15884
15885 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15886 return HANDLED_RETURN.
15887
158882007-10-08 Martin Rudalics <rudalics@gmx.at>
15889
15890 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15891 when there's an unread command event.
15892
15893 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15894 window autoselection act appropriately when leaving selected frame.
15895 (syms_of_frame): Initialize focus_follows_mouse.
15896 * frame.h (focus_follows_mouse): Extern it.
15897 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15898 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15899 * msdos.c (dos_rawgetc): Likewise.
15900 * w32term.c (w32_read_socket): Likewise.
15901 * xterm.c (handle_one_xevent): Likewise.
15902 * xdisp.c (syms_of_xdisp): In doc-string of
15903 mouse-autoselect-window mention focus-follows-mouse.
15904
159052007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15906
15907 * macterm.c (mac_load_query_font): Fix missing return value.
15908 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15909 Add BLOCK_INPUT.
15910
159112007-10-08 Richard Stallman <rms@gnu.org>
15912
15913 * xdisp.c (get_window_cursor_type): Implement documented behavior
15914 for cursor-in-non-selected-windows = t.
15915
159162007-10-08 Jason Rumney <jasonr@gnu.org>
15917
15918 * w32.c (w32_get_resource): Always close registry keys.
15919
159202007-10-08 Jason Rumney <jasonr@gnu.org>
15921
15922 * makefile.w32-in (LIBS): Add COMCTL32.
15923
15924 * w32fns.c (globals_of_w32fns): Init common controls.
15925
159262007-10-08 Richard Stallman <rms@gnu.org>
15927
15928 * image.c (our_memory_buffer): Rename from omfib_buffer.
15929
159302007-10-08 Richard Stallman <rms@gnu.org>
15931
15932 * buffer.c (Foverlays_at): Doc fix.
15933
159342007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15935
15936 * fns.c (Fplist_put): Preserve uneven tail data.
15937
159382007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15939
15940 * termhooks.h (enum event_kind): Remove trailing comma.
15941
15942 * frame.h (enum): Remove trailing comma.
15943
159442007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15945
15946 * w32proc.c (delete_child): Don't terminate threads of zombies.
15947
159482007-10-08 Martin Rudalics <rudalics@gmx.at>
15949
15950 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15951
15952 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15953 last-repeatable-command.
15954 (init_kboard): Initialize Vlast_repeatable_command.
15955 (command_loop_1): Set it to real_this_command unless that was
15956 bound to an input event.
15957 (mark_kboards): Mark it.
15958
159592007-10-08 Richard Stallman <rms@gnu.org>
15960
15961 * eval.c (condition-case): Doc fix.
15962
159632007-10-08 Masatake YAMATO <jet@gyve.org>
15964
15965 * xfaces.c (tty_supports_face_attributes_p): Fix code
15966 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15967 was copied and not edited.
15968
159692007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15970
15971 Add new `input-decode-map' keymap and use it for terminal
15972 escape sequences.
15973 * keyboard.h (struct kboard): Add Vinput_decode_map.
15974 Remove Vlocal_key_translation_map.
15975 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15976 (init_kboard): Init input-decode-map.
15977 Replace local-key-translation-map back with key-translation-map.
15978 (syms_of_keyboard): Declare input-decode-map.
15979 Remove local-key-translation-map. Update docstrings.
15980 (mark_kboards): Mark Vinput_decode_map.
15981 Don't mark Vlocal_key_translation_map.
15982 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15983 Replace local-key-translation-map back with key-translation-map.
15984 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15985 Bind in input-decode-map rather than function-key-map.
15986
15987 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15988 This was made redundant by the previous introduction of XSETPVECTYPE.
15989
159902007-10-09 Richard Stallman <rms@gnu.org>
15991
15992 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15993
159942007-09-29 Richard Stallman <rms@gnu.org>
15995
15996 * eval.c (internal_condition_case_2, internal_condition_case_1)
15997 (internal_condition_case): Reenable abort if x_catching_errors ()
15998 to see if that really happens and why.
15999
160002007-10-06 Andreas Schwab <schwab@suse.de>
16001
16002 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
16003
160042007-10-04 Juanma Barranquero <lekktu@gmail.com>
16005
16006 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
16007
160082007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
16009
16010 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
16011
160122007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
16013
16014 * window.h (struct window):
16015 * window.c (struct save_window_data, struct saved_window):
16016 * termhooks.h (struct terminal):
16017 * process.h (struct Lisp_Process):
16018 * frame.h (struct frame):
16019 * buffer.h (struct buffer):
16020 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
16021 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
16022 The size field of (pseudo)vectors is now unsigned.
16023 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
16024
16025 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
16026 Turn `count' into an integer.
16027
16028 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
16029 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
16030 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
16031 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
16032 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
16033
16034 * alloc.c (allocate_pseudovector): New fun.
16035 (ALLOCATE_PSEUDOVECTOR): New macro.
16036 (allocate_window, allocate_terminal, allocate_frame)
16037 (allocate_process): Use it.
16038 (mark_vectorlike): New function.
16039 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
16040 (mark_terminals): Use it.
16041 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
16042 (Fmake_byte_code): Use XSETPVECTYPE.
16043
16044 * frame.c (Fframe_parameters): Minor simplification.
16045
16046 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
16047
16048 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
16049
16050 * buffer.c (Fget_buffer_create, init_buffer_once):
16051 * lread.c (defsubr):
16052 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
16053
16054 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
16055 defined differently in the m/*.h files.
16056 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
16057 (XSETPVECTYPE): New macro.
16058 (XSETPSEUDOVECTOR): Use it.
16059
16060 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
16061 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
16062
16063 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
16064 * lread.c (defvar_per_buffer):
16065 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
16066
16067 * window.c (candidate_window_p): Only consider as visible frames that
16068 are on the same terminal.
16069
16070 * m/ibms390x.h (MARKBIT): Remove unused macro.
16071
160722007-10-01 Juanma Barranquero <lekktu@gmail.com>
16073
16074 * lread.c (Fload): Fix typo in docstring.
16075
160762007-10-01 Michaël Cadilhac <michael@cadilhac.name>
16077
16078 * floatfns.c (Fexpt): Manually check for overflows, so that a power
16079 of a non-zero value can't yield zero.
16080
160812007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
16082
16083 * term.c (term_clear_mouse_face, term_mouse_highlight)
16084 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
16085
16086 * print.c (safe_debug_print): Use XHASH.
16087
16088 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
16089 Lisp elements such as tags.
16090 (XHASH): New macro.
16091 (EQ): Use it.
16092 (SREF, SSET, STRING_COPYIN): Use SDATA.
16093 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
16094
16095 * alloc.c (mark_terminal): Remove left-over declaration.
16096 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
16097 (allocate_vectorlike): Remove type argument. Adjust callers.
16098 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
16099 Only handle the one remaining MEM_TYPE_VECTORLIKE.
16100
16101 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
16102 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
16103 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
16104 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
16105 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
16106 Use them.
16107
16108 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
16109 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
16110 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
16111
161122007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
16113
16114 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
16115 loaded by default.
16116
161172007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
16118
16119 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
16120 on this tty.
16121 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
16122
16123 * term.c (mouse_face_window): Rename from Qmouse_face_window.
16124 Update all users.
16125 (handle_one_term_event): Use Gpm_DrawPointer.
16126 (Fgpm_mouse_start): Rename from Fterm_open_connection.
16127 Signal errors instead of returning nil. Always return nil.
16128 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
16129 Make it a noop if gpm-mouse was not activated.
16130 (syms_of_term): Update names.
16131
161322007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
16133
16134 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
16135 (init_sys_modes): Check that gpm_tty is the current tty.
16136
16137 * alloc.c (allocate_terminal): Set the vector size to only count the
16138 lisp fields. Initialize those to nil.
16139 (mark_object): Don't treat terminals specially.
16140 (mark_terminal): Remove.
16141 (mark_terminals): Use mark_object instead.
16142
16143 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
16144 the GC to the beginning.
16145
16146 * indent.h:
16147 * indent.c: Use EMACS_INT for ints coming from Elisp data.
16148
16149 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
16150
161512007-09-25 Jason Rumney <jasonr@gnu.org>
16152
16153 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
16154
16155 * w32console.c (create_w32cons_output): Remove.
16156
16157 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
16158
16159 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
16160 (reset_sys_modes): Use reset_terminal_modes_hook.
16161
161622007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
16163
16164 * eval.c (do_autoload): Don't output any message.
16165
161662007-09-24 Juri Linkov <juri@jurta.org>
16167
16168 * emacs.c (standard_args): Change priority of "--no-splash"
16169 from 40 to 3. Add "--no-desktop" with the same priority.
16170
161712007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
16172
16173 * alloc.c (gc_sweep): Check cons cell mark bits word by word
16174 and optimize the case where they are all 1.
16175
161762007-09-23 Johannes Weiner <hannes@saeurebad.de>
16177
16178 * lisp.h (abs): Define if not defined.
16179 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
16180 Don't define `abs', since it's defined in lisp.h.
16181
161822007-09-22 Eli Zaretskii <eliz@gnu.org>
16183
16184 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
16185 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
16186 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
16187 (init_tty): Use DEV_TTY instead of "/dev/tty".
16188 [WINDOWSNT]: No need to protect from NAME arg being null.
16189
161902007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
16191
16192 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
16193 up the tty state.
16194
161952007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16196
16197 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
16198 (gpm_tty): Change its type.
16199 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
16200 (gpm_tty): Change its type and initialize it.
16201 (Fterm_open_connection): Check the frame is indeed a tty.
16202 Use the new gpm_tty.
16203 (Fterm_close_connection): Use the new gpm_tty.
16204 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
16205 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
16206
162072007-09-21 Juanma Barranquero <lekktu@gmail.com>
16208
16209 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
16210 underline_color, to draw strike-through.
16211
162122007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
16213
16214 * lisp.h (allocate_terminal): Declare.
16215
16216 * window.c (candidate_window_p): Consider frames that are being placed
16217 by the user as somewhere between visible and iconified.
16218 (window_loop): Prefer windows on the current frame.
16219 (Fselect_window): Move the use of select-frame to the beginning so we
16220 can just delegate all the work (it'll call us back anyway).
16221
16222 * frame.c (Qdisplay_environment_variable):
16223 * frame.h (Qdisplay_environment_variable): Delete.
16224
16225 * .gdbinit (xbacktrace): Print the arg's address rather than the value
16226 of the first arg, since that value may be a union.
16227
16228 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
16229 parameter rather than Qdisplay_environment_variable. If all else
16230 fails, look for DISPLAY in initial-environment.
16231
162322007-09-21 Glenn Morris <rgm@gnu.org>
16233
16234 * Makefile.in (emacstool): Remove target.
16235 (lisp, shortlisp): Remove termdev.elc.
16236
162372007-09-21 Markus Triska <markus.triska@gmx.at>
16238
16239 * xterm.c (x_delete_display): Compile session management conditionally.
16240
162412007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
16242
16243 * callproc.c (getenv_internal_1): New function.
16244 (getenv_internal): Use it.
16245 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
16246
16247 * terminal.c (get_terminal): Don't accept ints to represent terminals.
16248 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
16249 (Fset_terminal_parameter): Work with dead terminals as well.
16250 (Fmodify_terminal_parameters): Remove.
16251
16252 * terminal.c (get_terminal): Handle terminals.
16253 Make sure the terminal returned is live.
16254 (create_terminal): Use allocate_terminal.
16255 (mark_terminals): Move to alloc.c.
16256 (delete_terminal): Use terminal->name as liveness status.
16257 NULL out fields after freeing their contents.
16258 Don't deallocate the object.
16259 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16260 rather than an int.
16261 (Fterminal_live_p): Accept non-integer arguments.
16262 (Fterminal_list): Return terminal objects rather than an ints.
16263
16264 * alloc.c (enum mem_type): New member for `terminal' objects.
16265 (allocate_terminal): New function.
16266 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16267 Handle terminals.
16268 (mark_terminal): New fun.
16269 (mark_terminals): Move from terminal.c.
16270
16271 * term.c (get_tty_terminal): Don't treat output_initial specially.
16272 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16273 (delete_tty): Use terminal->name as liveness status.
16274
16275 * termhooks.h (struct terminal): Make it into a pseudovector.
16276 Remove `deleted' replaced by checking `name's nullness.
16277
16278 * print.c (print_object): Handle terminals.
16279
16280 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16281 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16282
16283 * frame.c (make_terminal_frame):
16284 * keyboard.c (tty_read_avail_input):
16285 * w32term.c (x_delete_terminal):
16286 * xfns.c (Fx_create_frame, x_create_tip_frame):
16287 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16288
162892007-09-20 Glenn Morris <rgm@gnu.org>
16290
16291 * process.c (Fmake_network_process): Doc fix.
16292
162932007-09-19 Jason Rumney <jasonr@gnu.org>
16294
16295 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16296
162972007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16298
16299 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16300 Fix a C warning regarding variable constness.
16301
16302 * xterm.c (handle_one_xevent): Fix a C warning.
16303
163042007-09-18 Jason Rumney <jasonr@gnu.org>
16305
16306 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16307
163082007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16309
16310 * gtkutil.c (gdpy_def): New variable.
16311 (xg_initialize): Initialize gdpy_def.
16312 (xg_display_close): If no other display exists, set gdpy_def to a
16313 new connection.
16314
163152007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16316
16317 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16318 when we have no file name for the icon.
16319 (xg_tool_bar_expose_callback): Remove.
16320 (xg_create_tool_bar): Don't connect expose signal to
16321 xg_tool_bar_expose_callback.
16322 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16323
163242007-09-16 Andreas Schwab <schwab@suse.de>
16325
16326 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16327 values instead of zapping them.
16328
163292007-09-14 Glenn Morris <rgm@gnu.org>
16330
16331 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16332 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16333 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16334 scope and rename to omfib_buffer for clarity.
16335 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16336
163372007-09-14 Kenichi Handa <handa@m17n.org>
16338
16339 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16340
163412007-09-13 Jason Rumney <jasonr@gnu.org>
16342
16343 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16344
16345 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16346
16347 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16348 (mac_term_init): Call here instead, passing rif.
16349
163502007-09-13 Glenn Morris <rgm@gnu.org>
16351
16352 * s/hpux.h: No longer define `static' as nothing.
16353
163542007-09-13 Johan Bockgård <bojohan@gnu.org>
16355
16356 * callint.c (Fcall_interactively): Remove unused var `fun'.
16357
163582007-09-12 Romain Francoise <romain@orebokech.com>
16359
16360 * window.c (prefer_window_split_horizontally, display_buffer):
16361 Revert 2007-09-08 change.
16362
163632007-09-12 Glenn Morris <rgm@gnu.org>
16364
16365 * alloca.c: Remove file.
16366 * Makefile.in (alloca): Do not undef.
16367 (allocaobj, alloca.o): Remove.
16368 (otherobj): Remove allocaobj.
16369 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
16370 * regex.c (C_ALLOCA): Remove all references and code that was only
16371 used when this was defined.
16372 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
16373 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
16374 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
16375
16376 * Makefile.in (SOURCES, unlock, relock): Delete.
16377
16378 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
16379 (menu_grab_callback): All uses changed.
16380
16381 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
16382 (x_reply_selection_request): All uses changed.
16383
163842007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
16385
16386 * lread.c (load_warn_old_style_backquotes): Change message to look
16387 better when it appears in the middle of byte-compiler messages.
16388
163892007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
16390
16391 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
16392
16393 * xterm.c (x_create_terminal): Add comment.
16394
16395 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
16396
163972007-09-10 Richard Stallman <rms@gnu.org>
16398
16399 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
16400
164012007-09-10 Michaël Cadilhac <michael@cadilhac.name>
16402
16403 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
16404 (DEFUN): Document `intspec', use it instead of `prompt'.
16405
16406 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
16407
16408 * data.c (Finteractive_form): If the interactive specification starts
16409 with a `(', use it as a Lisp form.
16410
16411 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
16412 name and file modes.
16413
16414 * callint.c (Fcall_interactively): Comment fixes.
16415
164162007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
16417
16418 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
16419 and compiled functions.
16420
164212007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
16422
16423 * window.c (prefer_window_split_horizontally): New variable.
16424 (display_buffer): Consider splitting window horizontally depending
16425 on prefer_window_split_horizontally.
16426
164272007-09-08 Eli Zaretskii <eliz@gnu.org>
16428
16429 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
16430
164312007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16432
16433 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
16434
16435 * frame.c (x_set_frame_parameters): Check number is positive before
16436 using XFASTINT.
16437
16438 * window.c (freeze_window_start): Don't presume selected_window holds
16439 a window object.
16440 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
16441
164422007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
16443
16444 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
16445
164462007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16447
16448 * window.c (Vsplit_window_preferred_function): New var.
16449 (Fdisplay_buffer): Use it.
16450 (syms_of_window): Export, and initialize it.
16451
164522007-09-06 Pixel <pixel@mandriva.com> (tiny change)
16453
16454 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
16455
164562007-09-06 Glenn Morris <rgm@gnu.org>
16457
16458 * gtkutil.c (menu_grab_callback) <cnt>:
16459 * xselect.c (x_reply_selection_request) <cnt>: Move static
16460 variable to file scope.
16461
164622007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
16463
16464 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
16465 consistent values of selected_frame and selected_window.
16466
164672007-09-04 Jason Rumney <jasonr@gnu.org>
16468
16469 * w32console.c (initialize_w32_display): Zero unused hooks.
16470
164712007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16472
16473 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
16474 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
16475
164762007-09-04 Jason Rumney <jasonr@gnu.org>
16477
16478 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
16479 in w32console.c. Set up input. Remove XXX comments that have been
16480 confirmed as correct.
16481
16482 * s/ms-w32.h (MULTI_KBOARD): Define.
16483
16484 * w32console.c (one_and_only_w32cons): Remove.
16485 (initialize_w32_display): Take terminal argument.
16486
16487 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
16488 initialize_w32_display.
16489 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
16490
16491 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
16492
16493 * keyboard.c (discard_mouse_events): Discard it.
16494 (make_lispy_event): Translate it to a lisp event.
16495 (lispy_wheel_names): Add wheel-left and right events.
16496 (syms_of_keyboard): Enlarge wheel_syms.
16497
16498 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
16499 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
16500
16501 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
16502
16503 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
16504 from WM_MOUSEHWHEEL.
16505 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
16506
16507 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
16508 terminal.
16509
16510 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
16511 keyboard for the terminal.
16512
165132007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16514
16515 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
16516 (Vresume_tty_hook): Rename from Vresume_tty_functions.
16517 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
16518 and resume-tty-function to resume-tty-hook.
16519 (Fsuspend_tty, Fresume_tty): Use new names.
16520
165212007-09-02 Jan Djärv <jan.h.d@swipnet.se>
16522
16523 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
16524 if it starts with "n:".
16525
165262007-08-31 Jan Djärv <jan.h.d@swipnet.se>
16527
16528 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
16529
165302007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
16531
16532 * frame.h:
16533 * frame.c (Qterm_environment_variable): Remove.
16534 (syms_of_frame): Don't init and staticpro it.
16535
16536 * callproc.c (getenv_internal): Remove special case for $TERM.
16537
16538 * callproc.c (Vinitial_environment): New variable.
16539 (set_initial_environment): Initialize it.
16540 (syms_of_callproc): Declare it.
16541 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
16542 TERM under which a process runs is never related to the TERM in which
16543 Emacs is running.
16544
165452007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16546
16547 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
16548 * s/darwin.h: ... do it here.
16549
165502007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
16551
16552 * lisp.h (set_initial_environment): Rename from set_global_environment.
16553
16554 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
16555 removed by mistake on the multi-tty branch.
16556
16557 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
16558 (Fmodify_frame_parameters): Return a value.
16559
16560 * image.c (png_load): Comment-out var only used in commented-out code.
16561
16562 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
16563 before passing it to mark_object.
16564
16565 * xfaces.c (internal_resolve_face_name): Return a value.
16566 (internal_resolve_face_name, resolve_face_name_error): Comment out.
16567
16568 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
16569 (x_icon): Comment-out var only used in commented-out code.
16570
165712007-08-29 Romain Francoise <romain@orebokech.com>
16572
16573 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
16574 QUIT hasn't been provided.
16575
165762007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16577
16578 * callproc.c (child_setup, getenv_internal): Use the
16579 display-environment-variable and term-environment-variable frame params.
16580 (set_initial_environment): Initialise Vprocess_environment.
16581
16582 * config.in: Disable multi-keyboard support on a mac.
16583
16584 * frame.c (Qterm_environment_variable)
16585 (Qdisplay_environment_variable): New variables.
16586 (syms_of_frame): Intern and staticpro them.
16587 (Fmake_terminal_frame): Disable output method test.
16588
16589 * frame.h: Declare them here.
16590
16591 * macfns.c (x_set_mouse_color): Get rif from the frame.
16592 (x_set_tool_bar_lines): Don't use updating_frame.
16593 (mac_window): Add 2 new parameters for consistency with other systems.
16594 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
16595 frame parameters following what is done in X11 and w32. Don't use
16596 FRAME_MAC_DISPLAY_INFO.
16597 (Fx_open_connection, start_hourglass): Remove window-system check.
16598 (x_create_tip_frame): Get the keyboard from the terminal.
16599
16600 * macmenu.c: Reorder includes.
16601 (Fx_popup_menu): Use terminal specific mouse_position_hook.
16602
16603 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
16604 terminal parameter.
16605 (x_clear_frame): Add a frame parameter.
16606 (note_mouse_movement): Get rif from the frame.
16607 (mac_term_init): Initialize the terminal.
16608 (mac_initialize): Make static and move terminal initialization ...
16609 (mac_create_terminal): ... to this new function.
16610
16611 * macterm.h (struct mac_display_info): Add terminal.
16612 (mac_initialize): Delete declaration.
16613
16614 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
16615
16616 * sysdep.c: Comment out text after #endif.
16617
16618 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
16619 is defined. Better initialize ttys in windows. Use terminal
16620 specific mouse_position_hook.
16621
16622 * termhooks.h (union display_info): Add mac_display_info.
16623
16624 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
16625 Set the default minibuffer frame, window_system and the rest of the
16626 frame parameters following what is done in X11.
16627
16628 * w32term.c (w32_initialize): Make static.
16629
16630 * xselect.c (x_handle_selection_clear): Only access
16631 terminal->kboard when MULTI_KBOARD is defined.
16632
16633 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
16634 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
16635
166362007-08-29 Jason Rumney <jasonr@gnu.org>
16637
16638 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
16639 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
16640
16641 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
16642 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
16643
16644 * keyboard.c (restore_kboard_configuration): Only define when
16645 MULTI_KBOARD defined.
16646
16647 * makefile.w32-in: Update dependancies from Makefile.in.
16648 (OBJ1): Add terminal.$(O)
16649
16650 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
16651 Don't define function body.
16652 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
16653
16654 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
16655
16656 * w32.c (request_sigio, unrequest_sigio): Remove.
16657
16658 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
16659 (w32con_clear_frame, w32con_clear_end_of_line)
16660 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
16661 (w32con_delete_glyphs, w32con_set_terminal_window)
16662 (scroll_line, w32_sys_ring_bell): Add frame arg.
16663 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
16664 Add terminal arg.
16665 (PICK_FRAME): Remove.
16666 (w32con_write_glyphs): Use frame specific terminal coding.
16667 (one_and_only_w32cons): New global variable.
16668 (initialize_w32_display): Use it for storing hooks.
16669 (create_w32cons_output): New function.
16670
16671 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16672 arg a frame.
16673
16674 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16675 Set window_system.
16676 (x_set_tool_bar_lines): Don't use updating_frame.
16677 (Fx_create_frame): Set terminal and ref count.
16678 (Fx_open_connection): Remove window-system check.
16679
16680 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16681
16682 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16683 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16684 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16685 Add frame arg.
16686 (x_delete_terminal, w32_create_terminal): New functions.
16687 (w32_term_init): Create a terminal.
16688 (w32_initialize): Move terminal specific initialization to
16689 w32_create_terminal.
16690
16691 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16692 (w32_clear_rect, w32_clear_area): Use background from frame.
16693 (w32_display_info): Add terminal.
16694 (w32_sys_ring_bell, x_delete_display): Declare here.
16695
16696 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16697
16698 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16699
167002007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16701
16702 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16703 Fix get_named_tty calls for the controlling tty.
16704
167052007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16706
16707 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16708
167092007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16710
16711 * term.c (tty_insert_glyphs): Add missing first parameter.
16712
167132007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16714
16715 * buffer.c (Fbuffer_list, Fbury_buffer):
16716 Take frame->buried_buffer_list into account.
16717
16718 * cm.c (current_tty): New variable, for cmputc().
16719 (cmputc): Use it.
16720 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16721 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16722 (cmgoto): Add tty parameter. Pass it on to calccost().
16723 Use emacs_tputs() instead of tputs().
16724
16725 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16726 tputs().
16727 (current_tty): New variable, for cmputc().
16728 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16729
16730 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16731 (internal_condition_case, internal_condition_case_1)
16732 (internal_condition_case_2): Don't abort when x_catching_errors.
16733
16734 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16735 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16736 prevent crashes caused by bogus longjmps in read_char.
16737
16738 * keymap.h (Fset_keymap_parent): Add EXFUN.
16739
16740 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16741 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16742 Remove redundant definition.
16743
16744 * macfns.c (x_set_mouse_color, x_make_gc):
16745 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16746
16747 * w32term.c (x_free_frame_resources):
16748 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16749 (w32_initialize): Use the accessor macros for terminal characteristics.
16750
16751 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16752 Use the accessor macros for terminal characteristics.
16753 * msdos.c (internal_terminal_init): Use the accessor macros for
16754 terminal characteristics.
16755 (ScreenVisualBell, internal_terminal_init):
16756 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16757
16758 * termopts.h (no_redraw_on_reenter): Declare.
16759
16760 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16761 (mark_terminals, mark_ttys): Declare.
16762 (Fgarbage_collect): Call them.
16763 (mark_object): Mark buried_buffer_list.
16764
16765 * prefix-args.c: Include stdlib.h for exit.
16766
16767 * syssignal.h: Add comment.
16768
16769 * indent.c: Include stdio.h.
16770
16771 * window.h (Vinitial_window_system): Declare.
16772 (Vwindow_system): Delete declaration.
16773
16774 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16775
16776 * image.c (lookup_image): Don't initialize `c' until the xasserts
16777 have been run.
16778
16779 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16780 FRAME_FOREGROUND_PIXEL.
16781
16782 * print.c (print_preprocess): Don't lose print_depth levels while
16783 iterating.
16784
16785 * widget.c (update_from_various_frame_slots):
16786 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16787
16788 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16789 frames.
16790 (window_internal_height): Remove bogus make_number call.
16791 (init_window_once): Call make_terminal_frame with two zero parameters.
16792
16793 * fileio.c (Fread_file_name): Update comment.
16794
16795 * callint.c (Fcall_interactively):
16796 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16797 Make sure it is correctly unwound.
16798
16799 * xsmfns.c (x_session_close): New function.
16800
16801 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16802 Delete declarations.
16803
16804 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16805 (x_output): Remove background_pixel and foreground_pixel fields.
16806 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16807 (x_delete_device, x_session_close): Declare.
16808
16809 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16810 (read_filtered_event): Call `read_char' with a local
16811 `wrong_kboard_jmpbuf'.
16812
16813 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16814 Don't call single_kboard_state. Use FRAME_RIF.
16815
16816 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16817 systems.
16818
16819 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16820 (Fframe_with_environment, Fset_input_meta_mode)
16821 (Fset_quit_char): EXFUN.
16822 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16823 (init_sys_modes, reset_sys_modes): Update prototypes.
16824 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16825
16826 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16827 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16828 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16829 Delete declarations.
16830 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16831 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16832 New declarations.
16833
16834 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16835 already does that during init_display(). Call syms_of_keymap
16836 before syms_of_keyboard. Call `syms_of_terminal'.
16837 Call set_initial_environment, not set_process_environment.
16838 (shut_down_emacs): Call reset_all_sys_modes() instead of
16839 reset_sys_modes().
16840
16841 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16842 (internal_resolve_face_name, resolve_face_name_error): New functions.
16843 (resolve_face_name): Protect against loops and errors thrown by Fget.
16844 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16845 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16846
16847 * scroll.c: Replace CURTTY() with local variables throughout the
16848 file (where applicable).
16849 (calculate_scrolling, calculate_direct_scrolling)
16850 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16851 characteristics.
16852
16853 * keymap.c (Vfunction_key_map): Remove.
16854 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16855 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16856 (Vkey_translation_map): Remove.
16857 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16858 (Fdescribe_buffer_bindings)
16859 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16860 Update for terminal-local key-translation-map.
16861
16862 * Makefile.in (callproc.o): Update dependencies.
16863 (lisp, shortlisp): Add termdev.elc.
16864 (obj): Add terminal.o.
16865 (terminal.o): Add dependencies.
16866 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16867 (data.o, fns.o): Add termhooks.h dependency.
16868 (SOME_MACHINE_LISP): Add dnd.elc.
16869 (minibuf.o): Fix typo.
16870 Update dependencies.
16871
16872 * data.c (do_symval_forwarding, store_symval_forwarding)
16873 (find_symbol_value): Use the selected frame's keyboard, not
16874 current_kboard.
16875
16876 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16877 Vwindow_system.
16878
16879 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16880 Fmenu_bar_open.
16881 (syms_of_xmenu): Update defsubr.
16882 (mouse_position_for_popup, Fx_popup_menu)
16883 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16884 (set_frame_menubar, free_frame_menubar)
b97439ce 16885 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16886 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16887 an X frame.
16888
16889 * xselect.c (x_own_selection): Abort if not an X frame.
16890 (some_frame_on_display): Check if it is an X frame.
16891 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16892
16893 * coding.c: Include frame.h and termhooks.h.
16894 (terminal_coding, keyboard_coding): Delete.
16895 (Fset_terminal_coding_system_internal)
16896 (Fset_keyboard_coding_system_internal)
16897 (Fkeyboard_coding_system)
16898 (Fterminal_coding_system): Add a terminal parameter.
16899 Get terminal_coding from the terminal.
16900 (init_coding_once): Don't call setup_coding_system here.
16901
16902 * dispextern.h (set_scroll_region, turn_off_insert)
16903 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16904 (tty_clear_end_of_line, tty_setup_colors)
16905 (delete_tty, updating_frame)
16906 (produce_special_glyphs, produce_glyphs, write_glyphs)
16907 (insert_glyphs): Remove.
16908 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16909 (tty_turn_off_highlight, get_tty_size): Add declaration.
16910 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16911
16912 * frame.h (enum output_method): Add output_initial.
16913 (struct x_output): Delete.
16914 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16915 Access foreground_pixel and background_pixel directly from the frame.
16916 (tty_display): Delete.
16917 (struct frame): Add buried_buffer_list, foreground_pixel,
16918 background_pixel and terminal. Delete kboard.
16919 (union output_data): Add tty.
16920 (FRAME_KBOARD): Get the kboard from the terminal.
16921 (FRAME_INITIAL_P): New macro.
16922 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16923 (Qterm_environment_variable, Qdisplay_environment_variable)
16924 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16925 New declarations.
16926
16927 * termchar.h (tty_output, tty_display_info): New structures.
16928 (tty_list): Declare.
16929 (FRAME_TTY, CURTTY): New macros.
16930 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16931 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16932 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16933 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16934
16935 * callproc.c: Include frame.h and termhooks.h, for terminal
16936 parameters.
16937 (add_env): New function.
16938 (child_setup): Use it.
16939 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16940 (getenv_internal): Fix get_terminal_param call.
16941 (Fgetenv_internal, egetenv): Update doc.
16942 (syms_of_callproc): Initialize Vprocess_environment to nil.
16943 Register and initialize them. Remove obsolete defvars. Update doc
16944 strings.
16945 (child_setup): Handle Vlocal_environment_variables.
16946 (getenv_internal): Add terminal parameter.
16947 Handle Vlocal_environment_variables.
16948 (Fgetenv_internal): Add terminal parameter.
16949 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16950 environment in a frame (not terminal) parameter. Update doc strings.
16951 (set_initial_environment): Rename from set_global_environment.
16952 Store Emacs environment in initial frame parameter.
16953
16954 * xdisp.c (redisplay_internal): Update references to
16955 `previous_terminal_frame'.
16956 (display_mode_line, Fformat_mode_line): Replace calls to
16957 `push_frame_kboard' with `push_kboard'.
16958 (get_glyph_string_clip_rects): Add extra parentheses and
16959 braces to prevent compiler warnings.
16960 (calc_pixel_width_or_height): Add xassert to check that the
16961 frame is alive. Don't call `lookup_image' on a termcap frame.
16962 (message2_nolog, message3_nolog, redisplay_internal)
16963 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16964 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16965 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16966 (Fx_display_pixel_width, Fx_display_pixel_height)
16967 (Fx_display_planes, Fx_display_color_cells)
16968 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16969 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16970 (Fx_display_backing_store, Fx_display_visual_class)
16971 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16972 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16973
16974 * xfns.c (x_set_foreground_color x_set_background_color)
16975 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16976 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16977 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16978 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16979 terminal that is being deleted.
16980 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16981 frame parameter, and make sure it overrides any user-supplied setting.
16982 (Fx_close_connection, Fx_synchronize): Unify argument names with
16983 the rest of the DEFUNs.
16984
16985 * dispnew.c (Fsend_string_to_terminal): Update call to
16986 `get_tty_terminal'.
16987 (Fredraw_frame, Fsend_string_to_terminal)
16988 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16989 FRAME_TERMCAP_P and FRAME_TTY.
16990 (window_change_signal): Don't believe width/height values that are
16991 impossibly small.
16992 (Vinitial_window_system): Rename from Vwindow_system.
16993 (termscript, Wcm, rif): Delete.
16994
16995 * termhooks.h (struct terminal): New struct containing the
16996 previously global text display hooks and new members NAME,
16997 DELETED and PARAM_ALIST.
16998 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16999 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
17000 (FRAME_RIF): New macros.
17001 (get_terminal_param, get_device): New declarations.
17002 (termscript): Delete declaration.
17003
17004 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
17005 (XTflash, x_free_frame_resources, x_scroll_bar_create)
17006 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
17007 FRAME_FOREGROUND_PIXEL.
17008 (x_fully_uncatch_errors): Disable definition.
17009 (x_scroll_bar_expose): Fix reference to foreground pixel.
17010 (XTread_socket): Disable loop on all X displays.
17011 (x_delete_terminal): Don't set terminal->deleted and let
17012 delete_terminal delete the frames on the terminal.
17013 (x_delete_display): Doc update to reflect changes in
17014 delete_terminal.
17015 (x_display_info) <terminal>: Move member earlier in the struct.
17016 (deleting_tty): Remove old variable.
17017 (Fsuspend_tty): Call clear_tty_hooks.
17018 (Fresume_tty, init_tty): Call set_tty_hooks.
17019 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
17020 errors on X frames.
17021 (x_catch_errors_unwind): Abort if x_error_message is NULL.
17022 (handle_one_xevent): Initialize `f' to NULL.
17023 (x_delete_terminal, x_create_terminal): New functions.
17024 (XTset_terminal_modes, XTreset_terminal_modes)
17025 (XTread_socket, x_connection_closed, x_term_init)
17026 (x_term_init, x_delete_display): Add terminal parameter.
17027 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
17028 X connections.
17029
17030 * frame.c: Include termchar.h.
17031 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
17032 (Qwindow_system, Qenvironment, Qterm_environment_variable)
17033 (Qdisplay_environment_variable): New vars.
17034 (Fframep): Deal with output_initial.
17035 (Fframe-live-p): Doc fix.
17036 (Fwindow-system): New function.
17037 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
17038 (make_terminal_frame): Don't create frames on a terminal that is
17039 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
17040 (store_frame_param): Check for found_for_frame before calling XFRAME.
17041 (Fmake_terminal_frame): Handle NULL tty names correctly.
17042 (syms_of_frame): Enhance doc string of `default-frame-alist'.
17043 (Fdelete_frame): Remove unused variable `count'. Don't allow other
17044 frames to refer to a deleted frame in their 'environment parameter.
17045 (Fframe_with_environment): New function.
17046 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
17047 (get_future_frame_param): New function.
17048 (Fmake_terminal_frame): Use it.
17049 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
17050
17051 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
17052 * sysdep.c (reset_sys_modes): Update for renames.
17053
17054 * keyboard.c (tty_read_avail_input): New function.
17055 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
17056 (syms_of_keyboard): Defsubr them.
17057 (Fset_input_meta_mode, Fset_quit_char): New functions.
17058 (Fset_input_mode): Split to above functions.
17059 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
17060 parameter. Use it in call to `read_char'.
17061 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
17062 Set wrong_kboard_jmpbuf correctly in recursive calls.
17063 Use current_kboard to access Vkeyboard_translate_table.
17064 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
17065 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
17066 Update longjmp invocations. Remember the original current_kboard,
17067 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
17068 changes it. Comment out unnecessary calls to
17069 `record_single_kboard_state' and `any_kboard_state'.
17070 Update recursive calls.
17071 (wrong_kboard_jmpbuf): Remove global variable.
17072 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
17073 Handle deleted interrupted_kboards correctly; that is a legal
17074 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
17075 and read_char calls. Abort if interrupted_kboard died in read_char.
17076 (any_kboard_state, single_kboard_state)
17077 (push_frame_kboard): Remove function.
17078 (pop_kboard): Switch out of single_kboard mode if the kboard has
17079 been deleted. Remove unused variable. Help debugging by not
17080 changing current_kboard unnecessarily. Set current_kboard to the
17081 kboard of the selected frame when the stored kboard object has
17082 been deleted before pop_kboard.
17083 (temporarily_switch_to_single_kboard): Change first parameter to a
17084 frame pointer. Throw an error when caller wants to change kboards
17085 while in single_kboard mode. Don't push_kboard if we weren't in
17086 single kboard state. Don't pop_kboard if we popped into any
17087 kboard state.
17088 (restore_kboard_configuration): Abort if pop_kboard changed the
17089 kboard in single_kboard mode. Call pop_kboard only after setting
17090 up single_kboard mode.
17091 (Frecursive_edit): Switch to single_kboard mode only in nested
17092 command loops.
17093 (cmd_error, command_loop, command_loop_1, timer_check):
17094 Comment out unnecessary call to `any_kboard_state' and
17095 `record_single_kboard_state'.
17096 (delete_kboard): Exit single_kboard mode if we have just deleted
17097 that kboard. Use FRAME_KBOARD.
17098 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
17099 `fatal_error_signal'.
17100 (record_single_kboard_state): Don't push_kboard if we weren't in
17101 single kboard state. Don't pop_kboard if we popped into any
17102 kboard state.
17103 (push_frame_kboard): Rename to push_kboard.
17104 (kbd_buffer_get_event): Use FRAME_TERMINAL.
17105 (read_avail_input): Read input from all terminals.
17106 (mark_kboards): Also mark Vkeyboard_translate_table.
17107 (kbd_buffer_store_event_hold): Simplify condition.
17108 (read_key_sequence): Reinitialize fkey and keytran at each replay.
17109 (Vkeyboard_translate_table): Move to struct kboard.
17110 (init_kboard): Initialize Vkeyboard_translate_table.
17111 (syms_of_keyboard): Use DEFVAR_KBOARD to define
17112 Vkeyboard_translate_table. Update doc strings. Update docs of
17113 local-function-key-map and function-key-map.
17114
17115 * terminal.c: New file.
17116
17117 * term.c: Include errno.h.
17118 (Vring_bell_function, device_list, initial_device)
17119 (next_device_id, ring_bell, update_begin, update_end)
17120 (set_terminal_window, cursor_to, raw_cursor_to)
17121 (clear_to_end, clear_frame, clear_end_of_line)
17122 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
17123 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
17124 (syms_of_term): Move their initialization to terminal.c.
17125 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
17126 (Ftty_display_color_cells)
17127 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
17128 (clear_tty_hooks, set_tty_hooks)
17129 (init_tty, maybe_fatal): New functions.
17130 (Ftty_type): Return nil if terminal is not on a tty instead of
17131 throwing an error. Doc update.
17132 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
17133 Doc update. Initialize new subrs and variables.
17134 (delete_tty): Use terminal->deleted.
17135 (tty_set_terminal_modes): Rename from set_terminal_modes.
17136 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
17137 (set_scroll_region): Rename to `tty_set_scroll_region'.
17138 (turn_on_insert): Rename to `tty_turn_on_insert'.
17139 (turn_off_insert): Rename to `tty_turn_off_insert'.
17140 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
17141 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
17142 (toggle_highligh): Rename to `tty_toggle_highlight'.
17143 (background_highlight): Rename to `tty_background_highlight'.
17144 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
17145 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
17146 (tty_set_scroll_region, tty_background_highlight)
17147 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
17148 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
17149 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
17150 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
17151 Add static modifier.
17152 (tty_reset_terminal_modes, tty_set_terminal_window)
17153 (tty_set_scroll_region, tty_background_highlight)
17154 (tty_highlight_if_desired, tty_cursor_to)
17155 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
17156 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
17157 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
17158 renames.
17159
171602007-08-28 Jan Djärv <jan.h.d@swipnet.se>
17161
17162 * keyboard.c: Qrtl is new.
17163 (parse_tool_bar_item): Handle :rtl keyword.
17164 (syms_of_keyboard): Intern :rtl keyword.
17165
17166 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
17167
17168 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
17169 so no Lisp code is executed.
17170 (file_for_image, find_rtl_image): New functions.
17171 (xg_get_image_for_pixmap): Use file_for_image.
17172 (update_frame_tool_bar): If direction is RTL, use RTL image if
17173 defined. Use Gtk stock images if defined.
17174
171752007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17176
17177 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
17178 for nonexistent or zero-width glyph in composition glyph.
17179
171802007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
17181
17182 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
17183
17184 * xdisp.c (Finvisible_p): New function.
17185 (syms_of_xdisp): defsubr it.
17186
171872007-08-24 Juanma Barranquero <lekktu@gmail.com>
17188
17189 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
17190 Doc fixes.
17191
171922007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17193
17194 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
17195
171962007-08-24 Martin Rudalics <rudalics@gmx.at>
17197
17198 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
17199 whether decoding has modified buffer contents.
17200
172012007-08-24 Jason Rumney <jasonr@gnu.org>
17202
17203 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
17204 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
17205 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
17206 (init_svg_functions) [HAVE_NTGUI]: New function.
17207 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
17208 (svg_load_image): Use them.
17209 (svg_load_image) [HAVE_NTGUI]: Implement background.
17210
172112007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17212
17213 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
17214 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
17215 (LIBX): Remove @RSVG_LIBS@.
17216 (LIBES): Add $(RSVG_LIBS).
17217
17218 * image.c (svg_load_image): Blend with specified background if exists.
17219 Use IMAGE_BACKGROUND. Add Mac OS Support.
17220
17221 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
17222 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
17223 Remove macros.
17224 [MAC_OSX] (socket_callback): Do nothing.
17225 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
17226 ReceiveNextEvent.
17227 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
17228 socket_callback.
17229 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
17230
172312007-08-22 Glenn Morris <rgm@gnu.org>
17232
17233 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
17234
172352007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
17236
17237 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
17238
17239 * image.c: Add support for SVG images. Some additional comments
17240 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
17241 (svg_image_p): New function to test for SVG image.
17242 (svg_load): New function to load SVG image.
17243 (svg_load_image): New function, helper for svg_load.
17244 (Qsvg): New Lisp_object.
17245 (svg_keyword_index): New enum.
17246 (svg_format): New static `image_keyword' struct.
17247 (svg_type): New static `image_type' struct.
17248 (librsvg/rsvg.h): Include it.
17249
172502007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
17251
17252 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17253
172542007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17255
17256 * lread.c (Qold_style_backquotes): New var.
17257 (syms_of_lread): Init and staticpro it.
17258 (load_warn_old_style_backquotes): New fun.
17259 (Fload): Use them to warn about old style backquotes.
17260 (end_of_file_error, Fload): Remove unused vars.
17261
17262 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17263
17264 * lread.c (Vold_style_backquotes): New var.
17265 (syms_of_lread): Init and export it to Elisp.
17266 (read1): Set it when we find an old-style (back)quote.
17267
172682007-08-22 Jason Rumney <jasonr@gnu.org>
17269
17270 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17271
172722007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17273
17274 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17275
172762007-08-19 Richard Stallman <rms@gnu.org>
17277
17278 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17279
172802007-08-19 Andreas Schwab <schwab@suse.de>
17281
17282 * alloc.c (pure): Round PURESIZE up.
17283
172842007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17285
17286 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17287 active frame.
17288
172892007-08-16 Richard Stallman <rms@gnu.org>
17290
17291 * eval.c (Fcommandp): Add parens to clarify.
17292
17293 * minibuf.c (Fall_completions): Use enum for type of table.
17294
17295 * emacs.c (USAGE2): Improve text.
17296
172972007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17298
17299 * term.c (tty_default_color_capabilities): Declare static
17300 variables in file scope, to avoid HPUX compiler problem.
17301
173022007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17303
17304 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17305 to gtk_toolbar_insert.
17306
173072007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17308
17309 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17310
17311 * insdel.c (reset_var_on_error): New fun.
17312 (signal_before_change, signal_after_change):
17313 Use it to reset (after|before)-change-functions to nil in case of error.
17314 Bind inhibit-modification-hooks to t.
17315 Don't bind (after|before)-change-functions to nil while they run.
17316
173172007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17318
17319 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17320 filling pixmap with stippled background.
17321
173222007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17323
17324 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17325 Don't use invisible frame as parent window for repositioning.
17326
173272007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17328
17329 * print.c (new_backquote_output): Rename from old_backquote_output.
17330 (print): Inverse its logic (according to its name) so as to match the
17331 behavior of new_backquote_flag in lread.c.
17332
173332007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17334
17335 * gmalloc.c (posix_memalign): New function.
17336
17337 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17338 ActivateControl/DeactivateControl here.
17339 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17340 frame-notice-user-settings is non-nil.
17341 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17342 for kEventParamFMFontStyle.
17343 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17344 mac_pass_command_to_system and mac_pass_control_to_system here.
17345 (XTread_socket): Call ActivateControl/DeactivateControl here.
17346 (XTread_socket) [TARGET_API_MAC_CARBON]:
17347 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17348 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17349 for window repositioning.
17350
173512007-08-08 Glenn Morris <rgm@gnu.org>
17352
17353 * Replace `iff' in doc-strings and comments.
17354
173552007-08-07 Chong Yidong <cyd@stupidchicken.com>
17356
17357 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
17358
173592007-08-07 Martin Rudalics <rudalics@gmx.at>
17360
17361 * fileio.c (Finsert_file_contents): Run format-decode and
17362 after_insert_file_functions on entire buffer when REPLACE is
17363 non-nil and inhibit modification_hooks and point_motion_hooks.
17364 For consistency, run after_insert_file_functions iff something
17365 got inserted. Move signal_after_change and update_compositions
17366 after code running after_insert_file_functions. Make sure that
17367 undo_list doesn't record intermediate steps of the decoding process.
17368
173692007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17370
17371 * emacs.c (main)
17372 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
17373 Call malloc_enable_thread on interactive startup.
17374
17375 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
17376 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
17377 [USE_PTHREAD]: Conditionalize with it.
17378 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
17379 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
17380 New functions.
17381
173822007-08-06 Chong Yidong <cyd@stupidchicken.com>
17383
17384 * xdisp.c (redisplay_window): When restoring original buffer
17385 position, make sure it is still valid.
17386
17387 * image.c (png_load): Ignore png-supplied background color.
17388
173892007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17390
17391 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
17392 Use kCFAbsoluteTimeIntervalSince1970.
17393
17394 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
17395 New variable.
17396 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
17397 event loop should be quit.
17398 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
17399 Quit dialog event loop if quit_dialog_event_loop is set.
17400
17401 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
17402 (Selection): New typedef. Use instead of ScrapRef.
17403 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
17404 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
17405 (mac_clear_selection): Rename from clear_scrap.
17406 (get_flavor_type_from_symbol): New argument SEL and subsume function of
17407 scrap_has_target_type. All uses changed.
17408 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
17409 (mac_selection_has_target_p): New functions.
17410 (mac_put_selection_value): Rename from put_scrap_string.
17411 (mac_get_selection_value): Rename from get_scrap_string.
17412 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
17413 (put_scrap_private_timestamp, scrap_has_target_type)
17414 (get_scrap_private_timestamp): Remove functions.
17415 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
17416 (x_own_selection, x_get_local_selection):
17417 Use mac_valid_selection_value_p.
17418 (x_own_selection): Don't use put_scrap_private_timestamp.
17419 Record OWNERSHIP-INFO into Vselection_alist instead.
17420 (x_get_local_selection): Don't check type if request is local.
17421 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
17422 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
17423
174242007-08-04 Jan Djärv <jan.h.d@swipnet.se>
17425
17426 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
17427 add comment explaining why.
17428
174292007-08-03 Richard Stallman <rms@gnu.org>
17430
17431 * fileio.c (Fvisited_file_modtime): Use make_time.
17432
174332007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
17434
17435 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
17436 build.
17437
174382007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
17439
17440 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
17441
174422007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
17443
17444 * puresize.h (BASE_PURESIZE): Increase to 1130000.
17445
174462007-07-30 Richard Stallman <rms@gnu.org>
17447
17448 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
17449
174502007-07-29 Jan Djärv <jan.h.d@swipnet.se>
17451
17452 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
17453
174542007-07-28 Nick Roberts <nickrob@snap.net.nz>
17455
17456 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
17457 remote default-directory.
17458
17459 * buffer.c (mode-line-format): Update doc string.
17460
174612007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17462
17463 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
17464 scroll bar gap.
17465 (x_scroll_bar_create): Set bar->fringe_extended_p.
17466 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
17467 on frame edge. Check fringe background extension. Don't clear
17468 extended fringe background area.
17469
17470 * w32term.h (struct scroll_bar): New member fringe_extended_p.
17471 (w32_fill_area): Enclose multiple statements with do ... while (0).
17472
17473 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
17474 Extend fringe background to scroll bar gap.
17475 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
17476 Set bar->fringe_extended_p.
17477 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17478 Put leftmost/rightmost scroll bars on frame edge. Check fringe
17479 background extension. Don't clear extended fringe background area.
17480
17481 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17482 New member fringe_extended_p.
17483
174842007-07-25 Glenn Morris <rgm@gnu.org>
17485
17486 * Relicense all FSF files to GPLv3 or later.
17487
17488 * COPYING: Switch to GPLv3.
17489
174902007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
17491
17492 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
17493
17494 * data.c (Finteractive_form): Check for the presence of an
17495 `interactive-form' symbol property more thoroughly.
17496
17497 * data.c (Finteractive_form): Use an `interactive-form' property if
17498 present, analogous to the function-documentation property.
17499
175002007-07-24 Jason Rumney <jasonr@gnu.org>
17501
17502 * w32fns.c (x_real_positions): Get real position from OS instead of
17503 calculating it.
17504
175052007-07-23 Jason Rumney <jasonr@gnu.org>
17506
17507 * filelock.c (current_lock_owner): Allow for @ sign in username.
17508
175092007-07-22 Nick Roberts <nickrob@snap.net.nz>
17510
17511 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
17512 remote default-directory.
17513
17514 * buffer.c (mode-line-format): Describe above case in doc string.
17515
175162007-07-20 Eli Zaretskii <eliz@gnu.org>
17517
17518 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
17519 Define if not defined.
17520
175212007-07-18 Jason Rumney <jasonr@gnu.org>
17522
17523 * w32proc.c (w32_executable_type): Handle 64 bit executables.
17524
175252007-07-18 Richard Stallman <rms@gnu.org>
17526
17527 * data.c (Fsetq_default): Doc fix.
17528
17529 * eval.c (Fsetq): Doc fix.
17530
175312007-07-18 Juanma Barranquero <lekktu@gmail.com>
17532
17533 * coding.c (Ffind_operation_coding_system):
17534 * eval.c (For, Fand): Doc fixes.
17535 Reported by Johan Bockgård.
17536
175372007-07-18 Jan Djärv <jan.h.d@swipnet.se>
17538
17539 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
17540
17541 * xterm.h: Declare x_ewmh_activate_frame.
17542
17543 * xterm.c (x_ewmh_activate_frame): New function.
17544 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
17545
175462007-07-17 Martin Rudalics <rudalics@gmx.at>
17547
17548 * window.c (Fdisplay_buffer): If largest or LRU window is the
17549 only window, split it even if it is not eligible for splitting.
17550 This restores the original behavior broken by the 2007-07-15
17551 change.
17552
175532007-07-17 Glenn Morris <rgm@gnu.org>
17554
17555 * abbrev.c (abbrev_check_chars): New function.
17556 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
17557 Call abbrev_check_chars to check abbrev characters are word
17558 constituents. Doc fix.
17559
175602007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
17561
17562 * process.c (Fstart_process, Fmake_network_process)
17563 (read_process_output): Fix up last changes.
17564
175652007-07-16 Eli Zaretskii <eliz@gnu.org>
17566
17567 * makefile.w32-in (clean): Don't delete *~.
17568
175692007-07-16 Andreas Schwab <schwab@suse.de>
17570
17571 * window.c (Fdisplay_buffer): Use NILP.
17572 (Fset_window_scroll_bars): Likewise.
17573
175742007-07-15 Martin Rudalics <rudalics@gmx.at>
17575
17576 * window.c (window_min_size_2): New function.
17577 (window_min_size_1, size_window, Fdisplay_buffer)
17578 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
17579 windows without mode- or header-lines when window-min-height is
17580 too small.
17581 (size_window): Reset nodelete_p after testing it, following an
17582 earlier note by Kim F. Storm.
17583 (display_buffer): Do not set split_height_threshold to twice the
17584 value of window_min_height to avoid changing the value of a
17585 customizable variable. Rather explicitly check whether the
17586 height of the window that shall be splitted is at least as large
17587 as split_height_threshold.
17588 (Fwindow_full_width_p): New defun.
17589 (syms_of_window): Defsubr it.
17590
17591 * window.h: Add EXFUN for Fwindow_full_width_p.
17592
175932007-07-14 Jason Rumney <jasonr@gnu.org>
17594
17595 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
17596
175972007-07-14 Richard Stallman <rms@gnu.org>
17598
17599 * eval.c (maybe_call_debugger): New function.
17600 (find_handler_clause): Use maybe_call_debugger.
17601 Call it when the handler says `debug'.
17602 Eliminate DEBUGGER_VALUE_PTR.
17603 (Fsignal): Eliminate debugger_value.
17604 (Qdebug): New variable.
17605 (syms_of_eval): Initialize it.
17606
176072007-07-14 Juanma Barranquero <lekktu@gmail.com>
17608
17609 * eval.c (Fprogn):
17610 * keyboard.c (Ftrack_mouse):
17611 * print.c (Fwith_output_to_temp_buffer):
17612 * window.c (Fsave_window_excursion): Doc fix.
17613
176142007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
17615
17616 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
17617
176182007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
17619
17620 * process.h (struct Lisp_Process): Turn slots infd, outfd,
17621 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
17622 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
17623 read_output_delay, and read_output_skip from Lisp_Objects to ints.
17624 Remove unused encoding_carryover.
17625 * process.c: Adjust all functions accordingly.
17626
176272007-07-12 Richard Stallman <rms@gnu.org>
17628
17629 * term.c: Include unistd.h only if HAVE_UNISTD_H.
17630
176312007-07-11 Jason Rumney <jasonr@gnu.org>
17632
17633 * makefile.w32-in (LIBS): Include OLE32.
17634
17635 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
17636 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
17637
176382007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
17639
17640 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
17641 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
17642 from a Lisp_Object into a bare pointer.
17643 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
17644 Adjust the code correspondingly.
17645
17646 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
17647
17648 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
17649 (term_show_mouse_face): Remove unused var `j'.
17650 (handle_one_term_event): Remove unused vars `i' and `j'.
17651 Don't cast return value of ttyname since it's not necessary.
17652
176532007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
17654
17655 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
17656 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
17657
17658 * fns.c (map_char_table): Use an array of int for `indices' rather than
17659 an array of Lisp_Objects (which are only ever integers anyway).
17660 (Fmap_char_table): Update caller.
17661 * lisp.h: Update prototype.
17662 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
17663 * fontset.c (Ffontset_info):
17664 * casetab.c (set_case_table): Update callers.
17665
17666 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
17667
17668 * keymap.c (struct accessible_keymaps_data)
17669 (struct where_is_internal_data): New structures.
17670 (accessible_keymaps_1, where_is_internal_1): Use them to change
17671 interface to adhere to the one used by map_keymap.
17672 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17673 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17674
17675 * keymap.h (map_keymap_function_t): More informative prototype.
17676
176772007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17678
17679 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17680 (looking_at_1): Don't change search_regs and last_thing_searched
17681 if `inhibit-changing-match-data' is non-nil.
17682 (string_match_1, search_buffer, set_search_regs): Likewise.
17683 (syms_of_search): Add Lisp level definition for
17684 `inhibit-changing-match-data' and set it to nil.
17685 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17686 start and end of the match, instead of using values in search_regs.
17687
176882007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17689
17690 * minibuf.c (Fcompleting_read): New value `confirm-only'
17691 for `require-match'.
17692
176932007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17694
17695 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17696 part of the 2007-06-27 change to syms_of_fileio.
17697
176982007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17699
17700 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17701 Check WINDOWP before using XWINDOW. Consolidate return statements.
17702
177032007-06-27 Richard Stallman <rms@gnu.org>
17704
17705 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17706
177072007-06-27 Juanma Barranquero <lekktu@gmail.com>
17708
17709 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17710
177112007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17712
17713 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17714 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17715 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17716 (_free_internal, memalign): Use them.
17717 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17718 Initialize to PTHREAD_MUTEX_INITIALIZER.
17719 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17720 (morecore_nolock): Rename from morecore. All uses changed.
17721 Use only nolock versions of internal allocation functions.
17722 (_malloc_internal_nolock, _realloc_internal_nolock)
17723 (_free_internal_nolock): New functions created from
17724 _malloc_internal, _realloc_internal, and _free_internal.
17725 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17726 Copy hook value to automatic variable before its use.
17727 (memalign): Copy hook value to automatic variable before its use.
17728
177292007-06-26 Kenichi Handa <handa@m17n.org>
17730
17731 * coding.c (Ffind_operation_coding_system): Docstring improved.
17732 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17733
177342007-06-25 David Kastrup <dak@gnu.org>
17735
17736 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17737 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17738 cater for additional parameter.
17739
17740 * keymap.h: Adjust number of parameters to `current-active-maps'.
17741
17742 * doc.c (Fsubstitute_command_keys): Adjust call of
17743 `current-active-maps'.
17744
177452007-06-25 David Kastrup <dak@gnu.org>
17746
17747 * callint.c (Fcall_interactively): Make the parsing of interactive
17748 specs somewhat more readable.
17749
177502007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17751
17752 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17753 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17754 if extended background has already been filled.
17755
177562007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17757
17758 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17759 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17760
17761 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17762 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17763 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17764 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17765 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17766 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17767 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17768 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17769 Run timers during dialog popup.
17770 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17771
177722007-06-21 Jason Rumney <jasonr@gnu.org>
17773
17774 * image.c (convert_mono_to_color_image): Swap fore and background.
17775
177762007-06-20 Jason Rumney <jasonr@gnu.org>
17777
17778 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17779 (w32_free_bdf_font): Unmap memory not handle.
17780
177812007-06-20 Sam Steingold <sds@gnu.org>
17782
17783 * gmalloc.c (__morecore): Fix the declaration to comply with the
17784 definition.
17785
177862007-06-20 Juanma Barranquero <lekktu@gmail.com>
17787
17788 * w32term.c (w32_delete_display): Remove leftover declaration.
17789 (w32_define_cursor, w32_initialize): Make static.
17790
17791 * w32.c (_wsa_errlist): Fix typo in error message.
17792 (init_environment): Ignore any environment variable from the
17793 registry having a null value.
17794
177952007-06-20 Glenn Morris <rgm@gnu.org>
17796
17797 * Makefile.in (LIBGIF): Default to -lgif.
17798
177992007-06-17 Jason Rumney <jasonr@gnu.org>
17800
17801 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17802 unicode strings.
17803
178042007-06-16 Juanma Barranquero <lekktu@gmail.com>
17805
17806 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17807 Fix typo in docstring.
17808
178092007-06-16 Eli Zaretskii <eliz@gnu.org>
17810
17811 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17812 and their keybindings.
17813
178142007-06-15 Chong Yidong <cyd@stupidchicken.com>
17815
17816 * composite.c (update_compositions): Fix last fix.
17817
178182007-06-14 Jason Rumney <jasonr@gnu.org>
17819
17820 * w32.c (get_process_times_fn): New function pointer.
17821 (globals_of_w32): Intialize it if present in kernel32.dll.
17822 (w32_get_internal_run_time): New function.
17823
17824 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17825
178262007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17827
17828 * composite.c (update_compositions): Check the validness of
17829 compositions.
17830
178312007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17832
17833 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17834 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17835
17836 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17837 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17838
17839 * macgui.h (USE_MAC_TOOLBAR): New define.
17840
17841 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17842 Return immediately unless popup is activated.
17843
17844 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17845 background to scroll bar gap.
17846 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17847 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17848 scroll bars on frame edge. Check fringe background extension.
17849 Don't clear extended fringe background area.
17850 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17851 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17852 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17853 [USE_MAC_TOOLBAR]: New macros.
17854 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17855 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17856 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17857 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17858 [USE_MAC_TOOLBAR]: New functions.
17859 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17860 manually if previous repositioning has failed.
17861 (mac_handle_keyboard_event): Use precomputed event kind.
17862 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17863 as tool bar item click. Handle mouse movement over tool bar items.
17864
17865 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17866 toolbar_win_gravity.
17867 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17868 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17869 Add externs.
17870
17871 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17872 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17873
178742007-06-14 Chong Yidong <cyd@stupidchicken.com>
17875
17876 * image.c (search_image_cache): Remove unused variable.
17877
178782007-06-13 Chong Yidong <cyd@stupidchicken.com>
17879
17880 * xfns.c, xmenu.c: Link to xaw3d if available.
17881
178822007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17883
17884 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17885 frame_foreground and frame_background.
17886
17887 * image.c (lookup_image): Save frame foreground and background colors.
17888 (search_image_cache): Check if saved and current frame colors match.
17889
178902007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17891
17892 * regex.c (regex_compile): Remove the `regnum' counter.
17893 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17894
178952007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17896
17897 * term.c: Include intervals.h to declare Fget_text_property.
17898
178992007-06-10 Jason Rumney <jasonr@gnu.org>
17900
17901 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17902
179032007-06-08 Juanma Barranquero <lekktu@gmail.com>
17904
17905 * callint.c (Fcall_interactively):
17906 * editfns.c (Fdelete_and_extract_region):
17907 * fileio.c (Fread_file_name):
17908 * fns.c (Fmapconcat):
17909 * keyboard.c (cmd_error_internal):
17910 * keymap.c (Fkey_description):
17911 * lread.c (openp):
17912 * minibuf.c (read_minibuf):
17913 * search.c (wordify):
17914 * sunfns.c (sel_read):
17915 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17916 * xfns.c (x_default_scroll_bar_color_parameter):
17917 * xmenu.c (menu_help_callback):
17918 * xselect.c (Fx_get_atom_name):
17919 * xterm.c (x_term_init): Use empty_unibyte_string.
17920
179212007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17922
17923 * alloc.c (init_strings): Initialize canonical empty strings.
17924 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17925 canonical empty string when the requested size is 0.
17926
17927 * emacs.c (empty_unibyte_string): Rename from empty_string.
17928 (empty_multibyte_string): New canonical empty string.
17929 (syms_of_emacs): Don't initialize empty_string.
17930
17931 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17932 string, if appropriate.
17933 (empty_unibyte_string, empty_multibyte_string): New externs.
17934 (empty_string): Remove extern.
17935
17936 * lread.c (syms_of_lread): Use empty_unibyte_string.
17937
179382007-06-07 Jason Rumney <jasonr@gnu.org>
17939
17940 * s/ms-w32.h: Don't define HAVE_TZNAME.
17941
17942 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17943
179442007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17945
17946 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17947
17948 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17949 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17950
17951 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17952 Don't call next handler.
17953 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17954 Remove argument. Install handler to application.
17955 (set_frame_menubar): Don't change deep_p.
17956 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17957 FRAME_OUTER_TO_INNER_DIFF_Y.
17958 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17959 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17960 [HAVE_DIALOGS]: New macros.
17961 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17962 Use them.
17963 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17964
17965 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17966 init_service_handler. All callers changed. Return OSStatus value.
17967
17968 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17969 All callers changed so as not to call SetPortWindowPort.
17970 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17971 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17972 mac_draw_string_common.
17973 (mac_draw_image_string_qd): Likewise.
17974 (mac_draw_string_common): Use them. Add INLINE.
17975 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17976 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17977 GetGlobalMouse.
17978 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17979 and FRAME_OUTER_TO_INNER_DIFF_Y.
17980 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17981 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17982 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17983 repositioning window to mac_handle_window_event.
17984 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17985 saving window location to mac_handle_window_event
17986 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17987 (install_menu_target_item_handler): Remove argument in extern.
17988 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17989 Also accept command events.
17990 (do_keystroke): New function created from XTread_socket.
17991 (init_command_handler): Remove functions.
17992 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17993 and save window location by kEventWindowShowing and kEventWindowHiding
17994 handlers here. Don't call next handler for window state change and
17995 focus events.
17996 (mac_handle_application_event, mac_handle_keyboard_event)
17997 [TARGET_API_MAC_CARBON]: New functions.
17998 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17999 kEventWindowShowing and kEventWindowHiding events. Move installation
18000 of mouse, font, text input and menu target item handlers to
18001 install_application_handler.
18002 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
18003 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18004 New function.
18005 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
18006 Register it.
18007 (XTread_socket) [TARGET_API_MAC_CARBON]:
18008 Consolidate SendEventToEventTarget calls.
18009 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
18010 Move application activation handler to mac_handle_application_event.
18011 Move keyboard handler to mac_handle_keyboard_event.
18012 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
18013 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
18014 init_command_handler. Call install_application_handler.
18015
18016 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
18017 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
18018
180192007-06-07 Glenn Morris <rgm@gnu.org>
18020
18021 * emacs.c (main): Use `emacs-copyright' in --version output.
18022
180232007-06-06 Chong Yidong <cyd@stupidchicken.com>
18024
18025 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
18026
180272007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18028
18029 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
18030
18031 * macgui.h: Replace WindowPtr with WindowRef.
18032
18033 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18034 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18035 Replace ControlHandle with ControlRef.
18036 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
18037
18038 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
18039 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
18040 Replace ControlHandle with ControlRef.
18041 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
18042 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
18043
18044 * macterm.h (struct scroll_bar): Rename member control_handle_low
18045 and control_handle_high to control_ref_low and control_ref_high.
18046 All uses changed.
18047 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
18048 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
18049 respectively. All uses changed.
18050 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
18051 (install_window_handler, remove_window_handler): Replace WindowPtr
18052 with WindowRef in externs.
18053
180542007-06-05 Juanma Barranquero <lekktu@gmail.com>
18055
18056 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
18057
180582007-06-03 Nick Roberts <nickrob@snap.net.nz>
18059
18060 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
18061
18062 * frame.c (Fmouse_position, Fmouse_pixel_position):
18063 Condition on HAVE_GPM too.
18064
18065 * term.c (term_mouse_highlight): Remove unused variables.
18066 (Fterm_open_connection): Set gpm_zerobased to 1.
18067 (term_mouse_movement, term_mouse_click, handle_one_term_event):
18068 Use zero based co-ordinates.
18069 (handle_one_term_event): Report a drag as mouse movement too.
18070
18071 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
18072
180732007-06-03 Chong Yidong <cyd@stupidchicken.com>
18074
18075 * image.c (search_image_cache): New function. Require background
18076 color match if background color is unspecified in the image spec.
18077 (uncache_image, lookup_image): Use it.
18078
180792007-06-01 Juanma Barranquero <lekktu@gmail.com>
18080
18081 * window.c (Fshrink_window): Reflow docstring.
18082
180832007-06-02 Chong Yidong <cyd@stupidchicken.com>
18084
18085 * Version 22.1 released.
18086
180872007-06-01 Richard Stallman <rms@gnu.org>
18088
18089 * xfns.c (x_encode_text): Add GCPRO.
18090
180912007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18092
18093 * xfns.c (x_set_name_internal): Save encoded name before
18094 x_encode_text in case string data is relocated.
18095
180962007-05-31 Richard Stallman <rms@gnu.org>
18097
18098 * buffer.c (syms_of_buffer): Doc fix.
18099
181002007-05-30 Nick Roberts <nickrob@snap.net.nz>
18101
18102 * sysdep.c (init_sys_modes): Add rather than replace with
18103 O_NONBLOCK.
18104
18105 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
18106 term_mouse_moveto.
18107
18108 * termhooks.h (term_mouse_moveto): New extern.
18109
18110 * term.c (mouse_face_window): Rename...
18111 (Qmouse_face_window): ...to this.
18112 (term_show_mouse_face, term_clear_mouse_face)
18113 (term_mouse_highlight): Use Qmouse_face_window.
18114 (term_mouse_moveto): New function.
18115 (term_mouse_position): Make it work.
18116 (syms_of_term): Uncomment assignment to mouse_position_hook.
18117 Staticpro Qmouse_face_window.
18118
181192007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18120
18121 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
18122 around current_column call.
18123
181242007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
18125
18126 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
18127 * xdisp.c (next_element_from_buffer):
18128 * window.c (delete_window):
18129 * term.c (term_mouse_highlight):
18130 * msdos.c (getdefdir):
18131 * macterm.c (mac_create_bitmap_from_bitmap_data)
18132 (init_font_name_table):
18133 * fns.c (Fsxhash):
18134 * data.c (Fmake_local_variable):
18135 * ccl.c (ccl_driver): Likewise.
18136
181372007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18138
18139 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
18140 Call mac_wakeup_from_rne on window size change.
18141
181422007-05-25 Chong Yidong <cyd@stupidchicken.com>
18143
18144 * image.c (uncache_image): Fix typo.
18145
181462007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
18147
18148 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
18149
181502007-05-22 Richard Stallman <rms@gnu.org>
18151
18152 * xterm.c (x_connection_closed): Remove NO_RETURN.
18153
181542007-05-22 Martin Rudalics <rudalics@gmx.at>
18155
18156 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
18157
181582007-05-21 Chong Yidong <cyd@stupidchicken.com>
18159
18160 * image.c (uncache_image): New function.
18161 (Fimage_refresh): New function.
18162
181632007-05-20 Jan Djärv <jan.h.d@swipnet.se>
18164
18165 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
18166
181672007-05-20 Nick Roberts <nickrob@snap.net.nz>
18168
18169 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
18170 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
18171
181722007-05-20 Nick Roberts <nickrob@snap.net.nz>
18173
18174 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
18175 conditional on [HAVE_GPM_H].
18176
181772007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
18178
18179 * syntax.c (skip_chars): Update syntax-table only after we checked that
18180 the new location is valid.
18181
181822007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18183
18184 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
18185 mac_get_window_bounds.
18186
181872007-05-20 Nick Roberts <nickrob@snap.net.nz>
18188
18189 * Makefile.in (LIBGPM): Allow it to be set from configure.
18190 If set then link Emacs with it.
18191
18192 * config.in: Regenerate.
18193
18194 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
18195 New externs.
18196
18197 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
18198 Include gpm.h.
18199 (handle_one_term_event, term_gpm): New externs.
18200
18201 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
18202 and allow it to be interrupted by SIGIO.
18203
18204 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
18205 (wait_reading_process_output): Wait on gpm_fd too.
18206 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
18207 (add_gpm_wait_descriptor_called_flag): New variable.
18208 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
18209
18210 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
18211 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
18212 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
18213 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
18214 (make_lispy_event): Add case GPM_CLICK_EVENT.
18215 (read_avail_input): Handle mouse input.
18216
18217 * term.c (write_glyphs_with_face): New function.
18218 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
18219 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
18220 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
18221 (mouse_face_face_id, term_gpm, pos_x, pos_y)
18222 (last_mouse_x, last_mouse_y): New variables.
18223 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
18224 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
18225 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
18226 (Fterm_close_connection): New functions.
18227 (term_init): Initialise mouse_face_window.
18228
182292007-05-19 Chong Yidong <cyd@stupidchicken.com>
18230
18231 * xdisp.c (redisplay_window): If first window line is a
18232 continuation line, recompute the new window start instead of
18233 recentering.
18234
182352007-05-18 Glenn Morris <rgm@gnu.org>
18236
18237 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
18238 Suggested by Alfred M. Szmidt <ams@gnu.org>.
18239
182402007-05-17 Glenn Morris <rgm@gnu.org>
18241
18242 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
18243
182442007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18245
18246 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
18247 dead key repeat and up events.
18248
182492007-05-14 Chong Yidong <cyd@stupidchicken.com>
18250
18251 * image.c (pbm_load): Check image size for monochrome pbm.
18252
182532007-05-13 Chong Yidong <cyd@stupidchicken.com>
18254
18255 * xterm.c (XTread_socket): Revert last change.
18256
182572007-05-12 Chong Yidong <cyd@stupidchicken.com>
18258
18259 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18260
18261 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18262
182632007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18264
18265 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18266 mixup (YAILOM).
18267
182682007-05-07 Andreas Schwab <schwab@suse.de>
18269
18270 * keymap.c (Flookup_key): Fix typo in last change.
18271
182722007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18273
18274 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18275 mapping for unibyte strings.
18276
182772007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18278
18279 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18280 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18281
182822007-04-29 Richard Stallman <rms@gnu.org>
18283
18284 * insdel.c (replace_range): For undo, record insertion first.
18285
182862007-04-29 Andreas Schwab <schwab@suse.de>
18287
18288 * lisp.h (VECSIZE): Use OFFSETOF.
18289
182902007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18291
18292 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18293 disabled lines.
18294
182952007-04-28 Richard Stallman <rms@gnu.org>
18296
18297 * lread.c (read_escape): In a string, \s is always space.
18298
182992007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18300
18301 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18302
18303 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18304 submenu for menu bar items.
18305
18306See ChangeLog.10 for earlier changes.
18307
18308;; Local Variables:
18309;; coding: utf-8
18310;; add-log-time-zone-rule: t
aac0c6e3
MR
18311;; End:
18312
76b6f707 18313 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
18314
18315 This file is part of GNU Emacs.
18316
18317 GNU Emacs is free software: you can redistribute it and/or modify
18318 it under the terms of the GNU General Public License as published by
18319 the Free Software Foundation, either version 3 of the License, or
18320 (at your option) any later version.
18321
18322 GNU Emacs is distributed in the hope that it will be useful,
18323 but WITHOUT ANY WARRANTY; without even the implied warranty of
18324 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18325 GNU General Public License for more details.
18326
18327 You should have received a copy of the GNU General Public License
18328 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18329
18330;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40