(make_terminal_frame): Remove redundant code and useless
[bpt/emacs.git] / src / ChangeLog
CommitLineData
5bbdf7aa
DN
12009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * frame.c (make_terminal_frame): Remove redundant code and useless
4 block.
5
63136da6
AS
62009-01-01 Andreas Schwab <schwab@suse.de>
7
8 * process.c (conv_sockaddr_to_lisp): Add workaround for
9 getsockname bug on BSD.
10
9ef69046
CY
112009-01-01 Chong Yidong <cyd@stupidchicken.com>
12
d6fafbe0
CY
13 * xfns.c (x_create_tip_frame): Set border width of the X window.
14
9ef69046
CY
15 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
16 message.
17
f9c34147
JR
182009-01-01 Jason Rumney <jasonr@gnu.org>
19
20 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
21 Don't block input, as per earlier xterm.c changes.
22
f5497e45
AR
232008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
24
25 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
26 (ns_appkit_version_int): New function.
27 (x-server-version): Use ns_appkit_version_int and follow 21+
28 convention of returning 3 integers.
29
c19cab20
KH
302008-12-30 Kenichi Handa <handa@m17n.org>
31
32 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
33 (CHAR_SURROGATE_PAIR_P): New macro.
34
35 * font.h (struct font_driver): New member get_variation_glyphs.
36
37 * font.c (font_range): Don't require a font for a variation
38 selector.
39 (Ffont_variation_glyphs): New function.
40 (syms_of_font): Defsubr it.
41
42 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
43 ftfont_variation_glyphs.
44 (setup_otf_gstring): New function.
45 (ftfont_drive_otf): Use it.
46 (ftfont_shape_by_flt): Handle variation selector.
47 (ftfont_variation_glyphs): New function.
48
28cd591f
MR
492008-12-30 Martin Rudalics <rudalics@gmx.at>
50
51 * frame.c (Vemacs_iconified): Remove.
52
7f714baf
JR
532008-12-30 Jason Rumney <jasonr@gnu.org>
54
55 * frame.c (store_frame_param, x_get_arg): Enable newer code on
f9c34147 56 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 57
9d2d22ab
CY
582008-12-30 Chong Yidong <cyd@stupidchicken.com>
59
60 * indent.c (Fvertical_motion): Don't advance iterator if we have
61 reseated to the desired position.
62
63 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
64 checking for pos match.
65
545312c2
KH
662008-12-30 Kenichi Handa <handa@m17n.org>
67
1ede3eb6
KH
68 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
69 just get the low 8-bit of the code.
70
545312c2
KH
71 * font.c (font_intern_prop): Validate str as multibyte.
72
bd7bbf29
DN
732008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
74
31e0750e
DN
75 * dispextern.h (struct face): Move lface and hash from the middle
76 of bitfields.
77
bd7bbf29
DN
78 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
79
b5672e7c
DN
802008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
81
82 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
83 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
84 instead of intervals.h.
85
d704470f
AS
862008-12-26 Andreas Schwab <schwab@suse.de>
87
88 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
89 cons.
90
54b33868
MR
912008-12-26 Martin Rudalics <rudalics@gmx.at>
92
93 * textprop.c (Qminibuffer_prompt): New variable.
94 (syms_of_textprop): Initialize it.
95 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
96 in minibuffer-prompt face. (Bug#1662)
97
40b615d6
JR
982008-12-25 Jason Rumney <jasonr@gnu.org>
99
100 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
101
baae5c2d
JR
1022008-12-24 Jason Rumney <jasonr@gnu.org>
103
104 * ralloc.c (r_alloc_reset_variable): New function.
105
106 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
85f967f9 107 record of what points where. (Bug#716)
baae5c2d 108
a9051c88
DN
1092008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
110
111 * minibuf.c (read_minibuf): Follow the non-interactive case when
112 running as a daemon, before detaching.
113
8b146312
AS
1142008-12-22 Andreas Schwab <schwab@suse.de>
115
116 * buffer.c (init_buffer): Use realloc instead of xrealloc.
117 * gtkutil.c (free_widget_value): Use xfree instead of free.
118
56f2de10
MR
1192008-12-22 Martin Rudalics <rudalics@gmx.at>
120
121 * frame.c (delete_frame): New function derived from
122 Fdelete_frame to handle Qnoelisp value for FORCE argument.
123 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
124 (Fdelete_frame): Call delete_frame. Remove line from doc-string
125 saying that FORCE non-nil doesn't run `delete-frame-functions'.
126 * frame.h: Extern delete_frame.
127 * window.c (window_loop):
128 * terminal.c (delete_terminal):
129 * xterm.c (x_connection_closed):
130 * xfns.c (Fx_hide_tip):
131 * w32fns.c (Fx_hide_tip): Call delete_frame instead of
132 Fdelete_frame.
133
1fc200d6
JR
1342008-12-21 Jason Rumney <jasonr@gnu.org>
135
136 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
137 when character maps to .notdef character.
138
5e252df2
SM
1392008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
140
141 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
142
99b72cc4
JR
1432008-12-20 Jason Rumney <jasonr@gnu.org>
144
145 * frame.c (Fmake_terminal_frame): Raise an error when called from
85f967f9 146 a graphical frame on Windows. (Bug#1325)
99b72cc4 147
acc49a52
JD
1482008-12-20 Jan Djärv <jan.h.d@swipnet.se>
149
150 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
151
6ea15123
CY
1522008-12-20 Chong Yidong <cyd@stupidchicken.com>
153
154 * minibuf.c (Fread_buffer): Doc fix.
155
b2dab6c8
JR
1562008-12-20 Jason Rumney <jasonr@gnu.org>
157
54ea0c87 158 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
85f967f9 159 server name in UNC paths. (Bug#719)
54ea0c87 160
b2dab6c8 161 * coding.c (decode_coding): Clear chars_at_source flag when using
85f967f9 162 charbuf. (Bug#1035)
b2dab6c8 163
6d1921be
DN
1642008-12-19 Daniel Engeler <engeler@gmail.com>
165
166 * sysdep.c (serial_configure): Fix typo.
167
53934c98
DN
1682008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
169
170 * sysdep.c: Include alloca.h.
f4f634e8
DN
171 (system_process_attributes): Add implementation for Solaris.
172
173 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 174
06e111a6
DN
1752008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
176
177 Reorganize implementation of Flist_system_processes and
178 Fsystem_process_attributes. No functional changes.
179 * process.c: Don't #include pwd.h, grp.h and limits.h.
180 (Flist_system_processes): Just call list_system_processes.
181 (Fsystem_process_attributes): Just call system_process_attributes.
182 (procfs_list_system_processes, time_from_jiffies)
183 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
184 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
185
186 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
187 (list_system_processes): Rename from
188 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
189 Provide a do nothing implementation.
190 (system_process_attributes): Rename from
191 procfs_list_system_processes.
192 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
193 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
194
195 * w32.c (list_system_processes): Rename from
196 w32_list_system_processes.
197 (system_process_attributes): Rename from
198 w32_system_process_attributes.
199
200 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
201
202 * process.h (w32_list_system_processes)
203 (w32_system_process_attributes): Remove.
204 (list_system_processes, system_process_attributes): New
205 prototypes.
206
6a705b23
KH
2072008-12-19 Kenichi Handa <handa@m17n.org>
208
209 * xfont.c (xfont_decode_coding_xlfd): New function.
210 (xfont_encode_coding_xlfd): New function.
211 (xfont_list_pattern): Decode XLFD by iso-8859-1.
212 (xfont_list): Decode and encode XLFD by iso-8859-1.
213 (xfont_match): Likewise.
214 (xfont_list_family): Likewise.
215 (xfont_open): Likewise.
216
217 * ftfont.c (ftfont_open): Genarate a multibyte string if given
218 names are utf-8.
219
220 * xftfont.c (xftfont_open): Genarate a multibyte string if given
221 names are utf-8.
222
5a130941
JD
2232008-12-18 Jan Djärv <jan.h.d@swipnet.se>
224
225 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
226 changed.
bfd20325
JD
227 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
228 clicked on a detached tool bar button.
5a130941 229
fd95644b
DN
2302008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
231
232 * emacs.c (main): Print and error and exit when no data is read
233 from the pipe.
234
e6eee6ae
JR
2352008-12-17 Jason Rumney <jasonr@gnu.org>
236
237 * w32font.c (w32font_has_char): Always return -1.
238
a35dd56b
KH
2392008-12-16 Kenichi Handa <handa@m17n.org>
240
241 * font.c (font_open_entity): Fix previous change.
242
0e3635c2
DN
2432008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
244
245 * process.c: Include <limits.h>.
246
d4835507 2472008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
248
249 * font.c (font_update_drivers): Fix mistake in reconstructing the
250 driver list.
251
2522008-12-16 Chong Yidong <cyd@stupidchicken.com>
253
254 * font.c (font_clear_cache): Fix format of font cache data.
255
e2cbc401
CY
2562008-12-15 Chong Yidong <cyd@stupidchicken.com>
257
258 * xftfont.c (xftfont_open): Free Xft font pattern if
259 XftFontOpenPattern fails.
260
261 * xterm.c (x_free_frame_resources): Remove extraneous call to
262 free_frame_faces.
263
b131d535
CY
2642008-12-13 Chong Yidong <cyd@stupidchicken.com>
265
266 * xterm.c (x_delete_display): Move xim_close_dpy call to
267 x_delete_terminal.
268 (x_delete_terminal): Call xim_close_dpy.
269
e6df5336
JR
2702008-12-13 Jason Rumney <jasonr@gnu.org>
271
272 * w32font.c (intern_font_name): New function.
273 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
274 (w32font_open_internal, Fx_select_font): Decode font name.
275 (fill_in_logfont, list_all_matching_fonts): Encode font name.
276
277 * w32font.h (intern_font_name): Declare new function.
278
279 * w32uniscribe.c (add_opentype_font_name_to_list):
280 Use intern_font_name.
281
20d68145
CY
2822008-12-13 Chong Yidong <cyd@stupidchicken.com>
283
9f2554de
CY
284 * frame.c (Fdelete_frame): Call free_font_driver_list.
285
3d9bec9a
CY
286 * font.c (free_font_driver_list): Implement missing function.
287
20d68145
CY
288 * w32term.c (w32_term_init): Don't initialize the image cache
289 here; it will be done in init_frame_faces.
290
291 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
292 (struct x_display_info): Remove unused member null_pixel. New
293 member xim_callback_data.
294
295 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
296 (xim_initialize): Save pointer to callback function data.
297 (xim_close_dpy): Free callback function data. Call XCloseIM,
298 reverting 2008-11-04 change by David Smith.
299 (x_term_init): Don't initialize the image cache here; it will be
300 done in init_frame_faces. Remove ancient "null_pixel" cruft.
301 (x_delete_display): Free x_dnd_atoms member.
302
96f9306b
KH
3032008-12-13 Kenichi Handa <handa@m17n.org>
304
305 * font.c (font_rescale_ratio): Moved from xfaces.c. Argument
306 type changed. Handle a font-spec too.
307 (font_score): Check Vface_font_rescale_alist.
308 (font_open_entity): Likewise.
309
310 * xfaces.c (font_rescale_ratio): Moved to font.c.
311
8d5b4964
CY
3122008-12-13 Chong Yidong <cyd@stupidchicken.com>
313
314 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
315
e6df5336
JR
3162008-12-12 Jason Rumney <jasonr@gnu.org>
317
318 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
319 Vwindow_system_version to the real w32 major version.
320
97c6058a
DN
3212008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
322
323 * term.c (init_tty): Move setting the terminal name before the
324 potential user: maybe_fatal.
325
ec4e88d7
CY
3262008-12-11 Chong Yidong <cyd@stupidchicken.com>
327
d4835507
JB
328 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
329 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 330
b4233ec9
JR
3312008-12-11 Jason Rumney <jasonr@gnu.org>
332
8ec71e23 333 * w32font.c (fill_in_logfont): Don't assume symbol script means
85f967f9 334 SYMBOL_CHARSET. (Bug#547)
8ec71e23 335
b4233ec9 336 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
e3021fe7 337 size for surrogates. (Bug#1096, bug#872)
b4233ec9 338
011a0143
JB
3392008-12-11 Juanma Barranquero <lekktu@gmail.com>
340
341 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
342
3c309f34
JB
3432008-12-11 Juanma Barranquero <lekktu@gmail.com>
344
345 * process.c (Fsystem_process_attributes, syms_of_process):
346 Fix typo in name of Ssystem_process_attributes.
347 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
348
fedc6ab5
JB
3492008-12-11 Juanma Barranquero <lekktu@gmail.com>
350
351 * syntax.c (Fmodify_syntax_entry): Doc fix.
352
ba3de0e8
JB
3532008-12-10 Juanma Barranquero <lekktu@gmail.com>
354
355 * font.c (Ffont_spec): Move usage to end of docstring.
356
174f1c74
JR
3572008-12-10 Jason Rumney <jasonr@gnu.org>
358
359 * w32font.c (Qcham): New symbol.
360 (font_supported_scripts): Add cham, and comments for other new
361 scripts in bitfield from OpenType spec.
9d32f818
JR
362 (add_font_entity_to_list): Limit unicode-sip fonts to those that
363 contain characters beyond the bmp.
174f1c74 364
7b649478
KH
3652008-12-10 Kenichi Handa <handa@m17n.org>
366
367 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 368 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
369 Qunicode_sip.
370
2133e2d1
JB
3712008-12-10 Juanma Barranquero <lekktu@gmail.com>
372
373 * coding.c (QCdefault_char): Rename from QCdefalut_char.
374 (Fcoding_system_put): Use QCdefault_char.
375 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
376
9af886ee
CY
3772008-12-09 Chong Yidong <cyd@stupidchicken.com>
378
74d819eb
CY
379 * xftfont.c (syms_of_xftfont): Fix typo.
380
4ccfa1c0 381 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 382
7c19d3ae
DN
3832008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
384
385 * emacs.c (main): Close daemon_pipe on exec.
386
567826bb
CY
3872008-12-08 Chong Yidong <cyd@stupidchicken.com>
388
389 * termchar.h (struct tty): New members termcap_term_buffer and
390 termcap_strings_buffer.
391
392 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 393 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
394 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
395 All callers changed.
396 (init_tty): Store termcap data and string buffers in new struct
397 tty members termcap_term_buffer and termcap_strings_buffer.
398 (delete_tty): Free them.
4ccfa1c0 399 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 400
aa96c42b
SZ
4012008-12-07 Seiji Zenitani <zenitani@mac.com>
402
403 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 404 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 405
b7e1d896
CY
4062008-12-06 Chong Yidong <cyd@stupidchicken.com>
407
408 * coding.c (make_conversion_work_buffer): Disable buffer
409 modification hooks in the work buffer.
410
b5ec91a5
EZ
4112008-12-05 Eli Zaretskii <eliz@gnu.org>
412
413 * process.c (procfs_system_process_attributes): If `nread' has a
414 negative value, assign zero to it.
415
a5d2a52b
CY
4162008-12-05 Chong Yidong <cyd@stupidchicken.com>
417
68c5540b 418 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 419
7bf1bb21
KH
4202008-12-05 Kenichi Handa <handa@m17n.org>
421
422 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
423 second character is a combining character.
424
2fdc7d00
EZ
4252008-12-05 Eli Zaretskii <eliz@gnu.org>
426
427 * process.c (procfs_system_process_attributes): Don't use cmd,
428 cmdsize, and q without initializing them first.
429
bf6bfba8
JR
4302008-12-04 Jason Rumney <jasonr@gnu.org>
431
432 * w32font.c (w32font_draw): Initialize orig_clip before getting
433 it, and delete it when finished.
434
a3b1a468
DN
4352008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
436
437 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
438 case when running as a daemon before detaching.
439
8b8be8eb
JB
4402008-12-03 Juanma Barranquero <lekktu@gmail.com>
441
805f2638 442 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 443
b1bde622
KH
4442008-12-03 Kenichi Handa <handa@m17n.org>
445
e500c47d
KH
446 * font.c (font_at): Set `multibyte' at first.
447
ca516334
KH
448 * coding.c (decode_coding_charset): Check type of an element of
449 vector VALIDS.
7bf1bb21 450 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 451
4ccfa1c0 452 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
453 (font_for_char): Likewise.
454
1e5ecd37
CY
4552008-12-03 Chong Yidong <cyd@stupidchicken.com>
456
d5b01609 457 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
458 (font_update_lface): Handle fonts with corrupted size specs,
459 i.e. non-int and non-float.
d5b01609 460
11e3a6e4 461 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 462 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 463 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 464
ab06788b
CY
465 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
466
1e5ecd37 467 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 468 underline_minimum_offset for underline position.
1e5ecd37 469
63c125ab
DN
4702008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
471
472 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
473
474 * character.c (c_string_width): Specify the type for LEN.
475
3a8406e1
KH
4762008-12-03 Kenichi Handa <handa@m17n.org>
477
4ccfa1c0 478 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 479 (decode_coding_utf_8): Likewise.
4ccfa1c0 480 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 481 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 482
651df7d9
CY
4832008-12-02 Chong Yidong <cyd@stupidchicken.com>
484
485 * keyboard.c (make_lispy_position): Only use PT if the selected
486 window is current.
487
1f625c6c
AS
4882008-12-02 Andreas Schwab <schwab@suse.de>
489
f7741ce9
AS
490 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
491
1f625c6c
AS
492 * doprnt.c (doprnt1): Fix size of charbuf.
493
92bc2678
CY
4942008-12-02 Chong Yidong <cyd@stupidchicken.com>
495
496 * keyboard.c (timer_check): Revert last change.
497
93b9e8cc
JB
4982008-12-02 Juanma Barranquero <lekktu@gmail.com>
499
500 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
501
fd7a37d5
JB
5022008-12-01 Juanma Barranquero <lekktu@gmail.com>
503
504 * makefile.w32-in: Update dependencies.
505 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
506
c115043b
AS
5072008-12-01 Andreas Schwab <schwab@suse.de>
508
509 * font.c (register_font_driver): Use xmalloc.
510 (font_put_frame_data): Likewise.
511
f5668d2a
CY
5122008-12-01 Chong Yidong <cyd@stupidchicken.com>
513
860d96be
CY
514 * xfaces.c (realize_x_face): Make abort condition clearer.
515
f5668d2a
CY
516 * gtkutil.c (update_frame_tool_bar): Initialize variable.
517
379c17e7
CY
5182008-11-30 Chong Yidong <cyd@stupidchicken.com>
519
520 * keyboard.c (timer_check): After a timer runs, ensure that the
521 selected window's buffer is current.
522
35f36d65
JB
5232008-11-30 Juanma Barranquero <lekktu@gmail.com>
524
f952c61c
JB
525 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
526 It was accidentally restored by the Unicode merge.
527
35f36d65
JB
528 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
529
b23077df
JB
5302008-11-29 Juanma Barranquero <lekktu@gmail.com>
531
532 * w32proc.c: Include "coding.h".
533 (Fw32_short_file_name): Encode filename passed to Windows API.
534 (Fw32_long_file_name): Encode filename passed to Windows API and
535 decode back the result. (Bug#1433)
536
b8ebe9dd
KH
5372008-11-29 Kenichi Handa <handa@m17n.org>
538
8cc53f96
KH
539 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
540 not before accessing it.
541
b8ebe9dd
KH
542 * charset.c (Fdefine_charset_internal): After calculating
543 min_char, max_char, and fastmap, copy the charset structure again.
544 (encode_char): Fix the previous change.
545
59bc82c0
SZ
5462008-11-28 Seiji Zenitani <zenitani@mac.com>
547
548 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
549
550 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
551
552 * nsterm.m (x_set_frame_alpha): New function.
553
32247e3d
EZ
5542008-11-27 Eli Zaretskii <eliz@gnu.org>
555
556 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
557
b003e5ff
JB
5582008-11-27 Juanma Barranquero <lekktu@gmail.com>
559
560 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
561 pointer to check_face_name.
562
708550f5
KH
5632008-11-27 Kenichi Handa <handa@m17n.org>
564
565 * category.h (SET_CATEGORY_SET): Call set_category_set.
566 (set_category_set): Extern it.
567
568 * category.c (hash_get_category_set): New function.
569 (Fmodify_category_entry): Adjusted for the change of
570 char_table_ref_and_range. Call hash_get_category_set to get a
571 category set to store in the table.
572
573 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
574 Funify_charset.
575
2ae37cf0 576 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
577 (DECODE_CHAR): Check if the decoder vector is ready.
578 (ENCODE_CHAR): Check if the encoder char-table is ready.
579 (maybe_unify_char): Extern it.
580
581 * charset.c (Vchar_unified_charset_table): Delete it.
582 (inhibit_load_charset_map): New variable.
583 (temp_charset_work): New variable.
584 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
585 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
586 New macros.
587 (load_charset_map): Meaning of control_flag changed. If
588 inhibit_load_charset_map is nonzero, setup a table in
589 temp_charset_work.
590 (load_charset): New argument control_flag.
591 (map_charset_for_dump): New function.
592 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
593 map_charset_for_dump.
594 (Fdefine_charset_internal): If the charset method is MAP, load
595 mapping tables by calling load_charset.
596 (Funify_charset): Don't load a mapping table but directly set
597 Vchar_unify_table.
598 (maybe_unify_char): New function.
599 (decode_char): Don't handle the deleted method MAP_DEFERRED.
600 Handle the case of inhibit_load_charset_map being nonzero.
601 (encode_char): Don't handle the deleted method MAP_DEFERRED.
602 Handle the case of inhibit_load_charset_map being nonzero.
603 (Fclear_charset_maps): Just free temp_charset_work.
604 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
605 variable.
606
607 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
608 change of char_table_ref_and_range.
609 (char_table_ref_and_range): Change the meaning of argument FROM
610 and TO. Now the caller must provide initial values for *FROM
611 and *TO.
612
613 * fontset.c (fontset_add): Adjusted for the change of
614 char_table_ref_and_range.
615 (fontset_get_font_group): Likewise.
616 (Ffontset_info): Likewise.
617
618 * keymap.c (describe_vector): Adjusted for the change of
619 char_table_ref_and_range. For char-table, put boundary between
620 non-ASCII and 8-bit characters.
621
622 * print.c (print_object): For bool-vector, delete unnecessary
623 check of ASCII_BYTE_P.
624
9196133b
JR
6252008-11-26 Jason Rumney <jasonr@gnu.org>
626
627 * w32font.c (w32font_open_internal): Don't include external
85f967f9 628 leading in font height. (Bug#879)
9196133b 629
9f688acf
GM
6302008-11-26 Glenn Morris <rgm@gnu.org>
631
632 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
633 redefinition with ifdef. (Bug#1383)
634
90d19aff
AR
6352008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
636
637 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
638
4ccfa1c0 6392008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
640
641 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
642 New EmacsView methods.
643 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
644 Fixes bug #1048,1357,1414.
645
6462008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
647
648 Fix bug #1362.
649 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
650 is not an indexed color.
651 * nsterm.m (free_indexed_color): Add argument checking.
652 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
653
e7d5ecb3
CY
6542008-11-24 Chong Yidong <cyd@stupidchicken.com>
655
656 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
657 Document confirm-after-completion value for
658 minibuffer-completion-confirm.
659
c285743c
JR
6602008-11-24 Jason Rumney <jasonr@gnu.org>
661
662 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
663 warning.
664
b0857706
JR
6652008-11-23 Jason Rumney <jasonr@gnu.org>
666
667 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
668 restored before returning.
669
670 * w32font.c (check_face_name): New function.
671 (add_font_entity_to_list): Use it to filter out common substituted
85f967f9 672 fonts. (Bug#642)
b0857706 673
ee50ff07
MR
6742008-11-22 Martin Rudalics <rudalics@gmx.at>
675
676 * buffer.c (Fswitch_to_buffer): Reword and mention new option
677 confirm-nonexistent-file-or-buffer in doc-string.
678
b8ff72fa
SM
6792008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
680
681 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
682 Fix copy/paste typo. Add checks.
683
cee53ed4
KH
6842008-11-21 Kenichi Handa <handa@m17n.org>
685
686 * coding.c (detect_coding_iso_2022): Reject invalid composition
687 sequence.
688 (DECODE_COMPOSITION_START): If the current source is the last
689 block, and the current composition doesn't end, regard this
690 sequence as invalid.
691 (decode_coding_iso_2022): Handle invalid composition sequence.
692
f6ef1e65
MR
6932008-11-20 Martin Rudalics <rudalics@gmx.at>
694
695 * window.c (coordinates_in_window): Don't return
696 ON_VERTICAL_BORDER for the rightmost position of a mode/header
697 line when the window is not the rightmost one. (Bug#1372)
698
e08b1705
MR
6992008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
700
701 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
702
ad98e89f
EZ
7032008-11-15 Eli Zaretskii <eliz@gnu.org>
704
705 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
706 and bright_bg if noninteractive is non-zero.
707
fb098a4b
CY
7082008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
709
710 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
711 x_draw_glyph_string_background.
712
713 * w32term.c (x_draw_glyph_string): Likewise.
714
ce952b6e
CY
7152008-11-15 Chong Yidong <cyd@stupidchicken.com>
716
717 * xterm.c (x_draw_glyph_string): Stop drawing the background of
718 the next glyph string once past the overhang width.
719
720 * nsterm.m (ns_draw_glyph_string): Likewise.
721
722 * w32term.c (x_draw_glyph_string): Likewise.
723
26ea7079
CY
7242008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
725
726 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
727 double file close.
728
1c33c906
MR
7292008-11-14 Martin Rudalics <rudalics@gmx.at>
730
731 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
732 dedicated status of window before attempting to display another
733 buffer in it.
734
8fc29035
JB
7352008-11-14 Juanma Barranquero <lekktu@gmail.com>
736
737 * msdos.c (Fmsdos_long_file_names):
738 (syms_of_msdos) <dos-unsupported-char-glyph>:
739 * dosfns.c (Fint86): Fix typos in docstrings.
740
55fb4286
EZ
7412008-11-14 Eli Zaretskii <eliz@gnu.org>
742
743 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
744
3fda0315
KY
7452008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
746
747 * puresize.h (BASE_PURESIZE): Increase to 1260000.
748
7e849c17
CY
7492008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
750
751 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
752
753 * frame.h: Negative alpha means "don't touch".
754
755 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
756
757 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
758
b9fd67bd
DN
7592008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
760
761 * hftctl.c:
762 * chpdef.h:
763 * acldef.h: Remove files used only for systems no longer supported.
764
765 * Makefile.in: Fix .o alphabetical ordering.
766 (hftctl.o): Remove dependency, file removed.
767 (keymap.o, print.o): Depend on charset.h.
768
d5998e03
KH
7692008-11-10 Kenichi Handa <handa@m17n.org>
770
2ae37cf0 771 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 772
be70e183
CY
7732008-11-08 Chong Yidong <cyd@stupidchicken.com>
774
775 * dired.c (file_name_completion): If completion_ignore_case is
776 enabled, ignore case when checking completion-regexp-list.
777
7cf94eac
EZ
7782008-11-08 Eli Zaretskii <eliz@gnu.org>
779
780 * vm-limit.c (get_lim_data): Fix last change.
781
ee107a89
KH
7822008-11-08 Kenichi Handa <handa@m17n.org>
783
784 * character.c (Fget_byte): New function.
785 (syms_of_character): Defsubr Fget_byte.
786
5fd15622
CY
7872008-11-07 Chong Yidong <cyd@stupidchicken.com>
788
789 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
790 cursor position is valid after scrolling.
791
13d62fad
JB
7922008-11-06 Juanma Barranquero <lekktu@gmail.com>
793
794 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
795
a1dd2936
GM
7962008-11-06 Glenn Morris <rgm@gnu.org>
797
798 * xterm.c (handle_one_xevent): Don't let popup menus cause
799 mouse-autoselect-window related window switching. (Bug#1261)
800
860cd236
CY
8012008-11-04 David Smith <davidsmith@acm.org> (tiny change)
802
803 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
804
653a3150
AS
8052008-11-04 Andreas Schwab <schwab@suse.de>
806
807 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
808
870f5cac
CY
8092008-11-03 Chong Yidong <cyd@stupidchicken.com>
810
811 * xfns.c (Fx_wm_set_size_hint): New function.
812
1e02f3cb
MR
8132008-11-03 Martin Rudalics <rudalics@gmx.at>
814
815 * textprop.c (Fprevious_single_char_property_change): Return 0
816 when there's no change in a string. (Bug#1301)
817
e630dfc6
MR
8182008-11-02 Martin Rudalics <rudalics@gmx.at>
819
820 * frame.c (do_switch_frame): New argument NORECORD passed to
821 Fselect_window.
822 (Fselect_frame): New argument NORECORD passed to
823 do_switch_frame.
824 (Fset_frame_selected_window): New argument NORECORD passed to
825 Fselect_frame.
826 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
827 in call of do_switch_frame.
828 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
829 Handle NORECORD argument in call of Fselect_frame.
830 * lisp.h (do_switch_frame, Fselect_frame)
831 (Fset_frame_selected_window): Adjust declarations.
832 * window.c (select_frame_norecord): New function.
833 (run_window_configuration_change_hook): Use it and call
834 Fselect_frame with NORECORD set.
835 (Fselect_window): Pass NORECORD to Fselect_frame.
836 (Fset_window_configuration): Handle NORECORD argument in call of
837 do_switch_frame.
838 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
839 Fset_frame_selected_window.
840 * keyboard.c (command_loop_1): Handle NORECORD in call of
841 Fselect_frame (currently ifdefd).
842
9020b223
GM
8432008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
844
845 * emacs.c (USAGE2): Untabify.
846
793ffee8
SM
8472008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
848
849 * composite.c (fill_gstring_header): Fix copy/paste typo.
850
ab6d1131
MR
8512008-10-31 Martin Rudalics <rudalics@gmx.at>
852
853 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
854 (Fother_window): Rename argument and rewrite doc-string.
855 (select_window_norecord): Fix return value. (Bug#1276)
856
601a9cf1
JB
8572008-10-30 Juanma Barranquero <lekktu@gmail.com>
858
859 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
860 new frames overriding foreground for tooltips. Based on similar patch
861 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
862
813b0652
CY
8632008-10-29 Chong Yidong <cyd@stupidchicken.com>
864
865 * emacs.c (Fdaemon_initialized): Initialize nfd.
866
4414f58f
MR
8672008-10-29 Martin Rudalics <rudalics@gmx.at>
868
869 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
870 (Fwindow_text_height): Clarify doc-strings.
871 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
872 doc-string of window-scroll-functions.
873
ecdcaa09
RS
8742008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
875
876 * category.c (syms_of_category): Fix typo in docstring.
877
23fe745a
JB
8782008-10-28 Juanma Barranquero <lekktu@gmail.com>
879
880 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
881 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
882 Fix typos in docstrings.
883
ff808935
DN
8842008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
885
886 * emacs.c (daemon_pipe): Make non-static.
887 (IS_DAEMON): Move definition ...
888 * lisp.h (IS_DAEMON): ... here.
889 (daemon_pipe): Declare.
890 (is_daemon): Remove.
891 * dispnew.c (init_display): Use IS_DAEMON.
892
fc012771
SM
8932008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
894
895 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
896 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
897
898 * emacs.c (is_daemon): Remove.
899 (main): Don't set is_daemon.
900 (IS_DAEMON): New macro.
901 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 902 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
903 parent exits.
904 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
905
d8bdbe6f
CY
9062008-10-27 Chong Yidong <cyd@stupidchicken.com>
907
d1a072bf
CY
908 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
909 over-sized glyph, draw it with the default glyph width.
910
e2e325aa
CY
911 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
912 glyph, draw it with the default glyph width.
913
914 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
915 glyph, draw it with the default glyph width.
916
d8bdbe6f
CY
917 * xdisp.c (try_scrolling): When computing the distance from the
918 scroll margin to PT, try moving some distance past the window
919 bottom before giving up.
920
7bfac547
MR
9212008-10-27 Martin Rudalics <rudalics@gmx.at>
922
923 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
924 (Fset_window_buffer): Explain in doc-string that a window can be
925 "strongly" dedicated to its buffer.
926
4ff029f6
DN
9272008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
928
929 * emacs.c (daemon_name): New variable.
930 (main): Deal with --daemon=SERVER_NAME.
931 (Fdaemonp): Return a name if one was passed to --daemon.
932
5790ef40
DN
9332008-10-26 Romain Francoise <romain@orebokech.com>
934
f9bd0df9 935 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
936 (main): Create a pipe before forking, make the parent exit only after
937 the child has closed its end of the pipe. Move closing the
938 descriptors ...
939 (Fdaemon_initialized): ... here. New function.
940
f5385255
SM
9412008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
942
4d632321
SM
943 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
944 the previous unoptimized table.
945
f5385255
SM
946 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
947 the distinction between non-nil and non-t value of `dedicated'.
948
6c56a0f3
CY
9492008-10-25 Chong Yidong <cyd@stupidchicken.com>
950
951 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 952 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 953
fec89261
MR
9542008-10-25 Martin Rudalics <rudalics@gmx.at>
955
956 * window.c (Fget_buffer_window, Fdelete_windows_on)
957 (Freplace_buffer_in_windows): Make buffer argument optional and
958 rename to buffer_or_name.
959
34fcddd0
CY
9602008-10-24 Chong Yidong <cyd@stupidchicken.com>
961
f5385255
SM
962 * xdisp.c (handle_single_display_spec, handle_display_prop):
963 Undo 2005-05-16 change.
34fcddd0
CY
964 (handle_stop): Pop iterator if it's loaded with an empty string.
965 (get_overlay_strings_1): Don't save iterator if it's loaded with
966 an empty string (bug#1201).
967
064766f2
KH
9682008-10-24 Kenichi Handa <handa@m17n.org>
969
970 * ftfont.c (ftfont_otf_features): Fix previous change.
971 (ftfont_otf_capability): Check FeatureList.FeatureCount before
972 calling ftfont_otf_features.
973
f9bd0df9 9742008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
975
976 * font.c (font_match_p): Fix for the case that a vector of
977 characters is in script-representative-chars.
978
1dae9197
MA
9792008-10-24 Michael Albinus <michael.albinus@gmx.de>
980
981 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 982 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
983 (xd_read_queued_messages): Catch Qdbus_error from the macros.
984 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
985 macro. (Bug#1186).
986
f9bd0df9 9872008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
988
989 * s/sol2-10.h: New file.
990
878a4584
JB
9912008-10-23 Juanma Barranquero <lekktu@gmail.com>
992
993 * xdisp.c (fill_glyph_string): Fix typo in source (though the
994 poor beast has survived 9+ years and the jump from xterm.c!).
995
cd265ca6
MR
9962008-10-23 Martin Rudalics <rudalics@gmx.at>
997
998 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
999 Reword doc-string.
f5385255 1000 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1001
472a4dc9
JB
10022008-10-23 Juanma Barranquero <lekktu@gmail.com>
1003
1004 * character.c (syms_of_character) <script-representative-chars>:
1005 <unicode-category-table>: Doc fixes.
1006
159bd5a2
NF
10072008-10-23 Noah Friedman <friedman@splode.com>
1008
1009 * coding.c (make_conversion_work_buffer): Check that
1010 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1011 Fget_buffer_create.
1012
49f9c344
KH
10132008-10-23 Kenichi Handa <handa@m17n.org>
1014
1015 * font.c (font_add_log): Check the values of extra properties.
1016
12bb3111
MR
10172008-10-22 Martin Rudalics <rudalics@gmx.at>
1018
1019 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1020 Reword doc-string.
1021 (Fset_window_parameter): Use NILP.
1022 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1023 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1024
bbeb4e99
JB
10252008-10-22 Juanma Barranquero <lekktu@gmail.com>
1026
1027 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1028
10292008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1030
1031 * nsfns.m (ns_appkit_version): New function.
1032 (x-server-version): Use it.
1033 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1034 (x-server-vendor): Don't check_ns().
1035
1036 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1037
a9b555d3
JB
10382008-10-22 Juanma Barranquero <lekktu@gmail.com>
1039
1040 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1041 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1042
4626499f
KH
10432008-10-22 Kenichi Handa <handa@m17n.org>
1044
e3681952
KH
1045 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1046 scripts.
1047
4626499f
KH
1048 * category.c (word_boundary_p): Check scripts instead of charset.
1049 Handle nil value in word-separating-categories and
1050 word-combining-categories.
1051 (syms_of_category): Fix docstrings of word-separating-categories
1052 and word-combining-categories.
1053
1560f91a
EZ
10542008-10-21 Eli Zaretskii <eliz@gnu.org>
1055
1056 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1057 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1058
f4668441
MR
10592008-10-21 Martin Rudalics <rudalics@gmx.at>
1060
1061 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1062 Rename arg "buffer" to "buffer_or_name".
1063 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1064 it optional.
1065 (no_switch_window): Remove since the return value is not used.
a9b555d3 1066 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1067 Consider window as dedicated when Fwindow_dedicated_p returns a
1068 non-nil value.
1069 * lisp.h: Remove prototype for no_switch_window.
1070
fd75ddb2
JD
10712008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1072
1073 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1074 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1075
07295713
KH
10762008-10-21 Kenichi Handa <handa@m17n.org>
1077
1078 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1079 check Vlatin_extra_code_table.
1080
712adc82
EZ
10812008-10-20 Eli Zaretskii <eliz@gnu.org>
1082
1083 * fileio.c (Fset_file_modes): Doc fix.
1084
f549eb0b
MA
10852008-10-19 Michael Albinus <michael.albinus@gmx.de>
1086
1087 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1088 in arrays.
1089
aac0c6e3
MR
10902008-10-19 Martin Rudalics <rudalics@gmx.at>
1091
1092 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1093 Mention kill-buffer in doc-string.
1094 (Fset_window_buffer): Reinsert tem check removed in last commit.
1095 (Fenlarge_window, Fshrink_window): Have argument names and
1096 doc-string follow Elisp manual more closely.
1097
10982008-10-18 Eli Zaretskii <eliz@gnu.org>
1099
1100 * fileio.c (Fset_file_modes): Doc fix.
1101
11022008-10-18 Martin Rudalics <rudalics@gmx.at>
1103
1104 * window.c (Fwindow_width, Fset_window_start)
1105 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1106 (Fdelete_windows_on, Freplace_buffer_in_windows):
1107 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1108 (Fwindow_dedicated_p): Make window argument optional.
1109 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1110 (Fset_window_buffer): Respect any non-nil dedicated value for
1111 window. Rename "buffer" argument to "buffer_or_name".
1112
11132008-10-18 Ulrich Mueller <ulm@gentoo.org>
1114
1115 * m/sh3.h: New file, machine description for SuperH.
1116
11172008-10-17 Martin Rudalics <rudalics@gmx.at>
1118
1119 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1120
11212008-10-17 Kenichi Handa <handa@m17n.org>
1122
1123 * ftfont.c (ftfont_otf_features): Fix indexing
1124 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1125
11262008-10-16 Magnus Henoch <mange@freemail.hu>
1127
1128 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1129 (Fdbus_call_method_asynchronously): Ditto.
1130 This change makes C-h f display the argument list.
1131
11322008-10-16 Chong Yidong <cyd@stupidchicken.com>
1133
1134 * fileio.c (Fexpand_file_name): Doc fix.
1135
1136 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1137 of :foreground and :background equivalent to unspecified (20.x
1138 compatibility).
1139
11402008-10-15 Eli Zaretskii <eliz@gnu.org>
1141
1142 * buffer.c (syms_of_buffer): Doc fix.
1143
11442008-10-14 Kenichi Handa <handa@m17n.org>
1145
1146 * font.c (font_clear_prop): When clearing font width, clear the
1147 average width field too.
1148
11492008-10-12 Andreas Schwab <schwab@suse.de>
1150
1151 * ftfont.c (ftfont_shape_by_flt): Make static.
1152 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1153
1154 * font.c: Don't include <m17n-flt.h>.
1155
11562008-10-10 Eli Zaretskii <eliz@gnu.org>
1157
1158 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1159
11602008-10-09 Eli Zaretskii <eliz@gnu.org>
1161
1162 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1163 away code.
1164
11652008-10-09 Chong Yidong <cyd@stupidchicken.com>
1166
1167 * dispnew.c (update_text_area): Avoid looping due to large glyph
1168 overhangs (bug#1070).
1169
11702008-10-09 Kenichi Handa <handa@m17n.org>
1171
1172 * fontset.c (face_for_char): If face->fontset is negative, just
1173 return ascii_face.
1174
f5385255
SM
1175 * font.c (font_delete_unmatched): Fix previous change.
1176 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1177
11782008-10-09 Martin Rudalics <rudalics@gmx.at>
1179
1180 * frame.c (Fraise_frame): On text-only terminals select frame in
1181 order to make it visible. (Bug#1061)
1182
11832008-10-08 Chong Yidong <cyd@stupidchicken.com>
1184
1185 * fontset.c (fontset_find_font): Check frame validity.
1186
11872008-10-07 Chong Yidong <cyd@stupidchicken.com>
1188
a9b555d3 1189 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1190 (xg_display_close): Allow Emacs to close all displays (bug#985).
1191
11922008-10-06 Andreas Schwab <schwab@suse.de>
1193
f5385255 1194 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1195
11962008-10-06 Chong Yidong <cyd@stupidchicken.com>
1197
f5385255 1198 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1199
a9b555d3 1200 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1201
1202 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1203 during initialization.
1204
12052008-10-04 Eli Zaretskii <eliz@gnu.org>
1206
1207 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1208 whole thing on MSDOS frames as well as on a TTY.
1209
1210 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1211 well as for TTY.
1212 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1213 well as on a TTY.
1214
1215 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1216 as well as for TTY.
1217
1218 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1219
1220 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1221 MSDOS frames as well.
1222
12232008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1224
1225 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1226 correct arguments.
1227 * menu.c (find_and_return_menu_selection) Add cast.
1228
12292008-10-03 Glenn Morris <rgm@gnu.org>
1230
1231 * emacs.c (USAGE1): Add --daemon.
1232
12332008-10-02 Eli Zaretskii <eliz@gnu.org>
1234
1235 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1236 100, so it's in percents as advertised.
1237
12382008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1239
1240 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1241 (ns_output.current_cursor, ns_output.desired_cursor)
1242 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1243 (FRAME_NEW_CURSOR_COLOR): Remove.
1244
1245 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1246 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1247 enumeration (HOLLOW_BOX_CURSOR, etc.).
1248
1249 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1250 (draw_window_cursor): Simplify code.
f5385255
SM
1251 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1252 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1253 updates manually.
a9b555d3
JB
1254 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1255 Use core Emacs cursor types.
aac0c6e3 1256
b8ff72fa 1257 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1258
12592008-10-02 Martin Rudalics <rudalics@gmx.at>
1260
1261 * process.c (Faccept_process_output): Fix doc-string.
1262
12632008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1264
1265 * gmalloc.c (__sbrk): Also define for uClibc.
1266
1267 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1268 for uClibc.
1269
12702008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1271
1272 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1273 styles.
1274 (nsfont_open): Reenable the cache.
1275
12762008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1277
1278 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1279 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1280
12812008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1282
1283 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1284 a suspended terminal.
1285
12862008-09-30 Michael Albinus <michael.albinus@gmx.de>
1287
1288 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1289
12902008-09-30 Eli Zaretskii <eliz@gnu.org>
1291
1292 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1293
12942008-09-30 Chong Yidong <cyd@stupidchicken.com>
1295
1296 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1297 in a continued line coincides with a line beginning.
1298
12992008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1300
1301 * nsfont.m (nsfont_trait_distance): Fix bug.
1302 (nsfont_list): Return a list rather than a vector (syncs with Handa
1303 changes of 2008-05-14).
1304 (nsfont_open): Improve logging.
1305
13062008-09-29 Andreas Schwab <schwab@suse.de>
1307
1308 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1309
13102008-09-28 Martin Rudalics <rudalics@gmx.at>
1311
1312 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1313 name as char-resolve-modifiers.
1314 Reported by: Markus Triska <markus.triska@gmx.at>
1315
13162008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1317
1318 * dispnew.c (init_display): Return earlier when running as a daemon.
1319
13202008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1321
1322 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1323
13242008-09-27 Eli Zaretskii <eliz@gnu.org>
1325
1326 * composite.c (Fcomposition_get_gstring)
1327 (Fcompose_region_internal, Fcompose_string_internal)
1328 (Ffind_composition_internal): Doc fix.
1329 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1330 (syms_of_composite) <auto-composition-function>: Doc fix.
1331 (syms_of_composite) <composition-function-table>: Doc fix.
1332
13332008-09-25 Chong Yidong <cyd@stupidchicken.com>
1334
1335 * search.c (wordify): New argument for lax word-ends.
1336 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1337
13382008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1339
1340 * lisp.h (is_daemon): Declare.
1341 * dispnew.c (init_display): Do not try to initialize the terminal
1342 when running as a daemon.
1343
13442008-09-22 Chong Yidong <cyd@stupidchicken.com>
1345
1346 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1347 x_display_pixel_height.
1348
13492008-09-22 Martin Rudalics <rudalics@gmx.at>
1350
1351 * undo.c (record_point): Don't call Fundo_boundary for first
1352 change. (Bug#731)
1353
13542008-09-22 Juanma Barranquero <lekktu@gmail.com>
1355
1356 * emacs.c (Fdaemonp): Doc fix.
1357
13582008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1359
1360 * emacs.c (main): Place #ifdef in the proper place.
1361
13622008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1363
1364 * emacs.c (standard_args): Add --daemon.
1365 (main): Disconnect from the terminal when --daemon is passed.
1366 (is_daemon): New variable.
1367 (Fdaemonp): New function.
1368 (syms_of_emacs): Defsubr it.
1369
13702008-09-20 Chong Yidong <cyd@stupidchicken.com>
1371
1372 * xdisp.c (get_next_display_element): Handle string display
1373 correctly when checking for the end of a box run.
1374
13752008-09-20 Glenn Morris <rgm@gnu.org>
1376
1377 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1378 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1379 (Frename_file): Avoid copying to trash if a rename involves
1380 a delete. (Bug#964).
1381
13822008-09-20 Eli Zaretskii <eliz@gnu.org>
1383
1384 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1385 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1386 frames as well as termcap frames.
1387 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1388 get_named_tty.
1389
13902008-09-19 Eli Zaretskii <eliz@gnu.org>
1391
1392 * process.c (procfs_system_process_attributes): Fix cmdline in
1393 case /proc/PID/cmdline is empty.
1394
1395 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1396 x_display_pixel_height.
1397
13982008-09-19 Juanma Barranquero <lekktu@gmail.com>
1399
1400 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1401
1402 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1403 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1404
14052008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1406
1407 * dispextern.h (struct it): Move line_wrap away from the middle of
1408 bitfields. Move voffset in struct iterator_stack_entry after the
1409 bitfields. Move tab_width near after another short.
1410
14112008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1412
1413 * frame.h (struct frame): Move alpha from the middle of bitfields.
1414
1415 * window.h (struct window): Move frozen_window_start_p after the
1416 rest of the bitfields to reduce padding.
1417
14182008-09-18 Chong Yidong <cyd@stupidchicken.com>
1419
1420 * xterm.h (x_display_info): Remove `height' and `width' members.
1421
1422 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1423
1424 * w32term.h (w32_display_info): Remove `height', `width',
1425 `height_in', and `width_in' members.
1426
b8ff72fa
SM
1427 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1428 New functions.
aac0c6e3
MR
1429 (x_calc_absolute_position): Use them.
1430 (x_term_init): Omit removed `height' and `width' members.
1431
b8ff72fa
SM
1432 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1433 New functions.
aac0c6e3
MR
1434 (w32_read_socket, x_calc_absolute_position): Use them.
1435 (w32_initialize_display_info, w32_term_init): Omit removed members
1436 of w32_display_info.
1437
b8ff72fa
SM
1438 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1439 New functions.
1440 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1441
b8ff72fa
SM
1442 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1443 New functions.
aac0c6e3
MR
1444 (x_calc_absolute_position): Use them.
1445 (x_term_init): Omit removed `height' and `width' members.
1446
1447 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1448 (compute_tip_xy):
1449 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1450 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1451 x_display_pixel_width.
1452
14532008-09-18 Kenichi Handa <handa@m17n.org>
1454
1455 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1456 (composition_compute_stop_pos): Fix handling of static composition.
1457 (Fcomposition_get_gstring): Check FROM and TO at first.
1458
14592008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1460
1461 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1462 mixup (YAILOM).
1463
14642008-09-17 Chong Yidong <cyd@stupidchicken.com>
1465
1466 * indent.c (Fvertical_motion): Use position reported by iterator
1467 instead of PT for determining screen motion (bug#943).
1468
14692008-09-17 Romain Francoise <romain@orebokech.com>
1470
1471 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1472
14732008-09-17 Kenichi Handa <handa@m17n.org>
1474
1475 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1476
1477 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1478 if necessary.
1479
14802008-09-16 Kenichi Handa <handa@m17n.org>
1481
1482 * coding.c (make_conversion_work_buffer): Avoid calling
1483 Fget_buffer_create if it is not necessary.
1484
14852008-09-15 Martin Rudalics <rudalics@gmx.at>
1486
1487 * window.c (Fselect_window): Don't update window_select_count and
1488 use_time when norecord is not nil.
1489
14902008-09-14 Kenichi Handa <handa@m17n.org>
1491
1492 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1493 specpdl_ptr.
1494
14952008-09-12 Kenichi Handa <handa@m17n.org>
1496
1497 * indent.c (scan_for_column): Don't handle automatic composition
1498 if the current buffer is not associated with a window.
1499
1500 * composite.c (composition_reseat_it): If the current buffer is
1501 not associated with a window, ignore the automatic composition.
1502 (find_automatic_composition): Likewise.
1503
15042008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1505
1506 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1507 (Fgpm_mouse_stop): Use it.
1508 * termhooks.h (close_gpm): Declare.
1509 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1510 connection if Gpm_GetEvent fails.
1511
1512 * window.c (set_window_buffer): Always preserve current-buffer.
1513
15142008-09-12 Glenn Morris <rgm@gnu.org>
1515
1516 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1517
15182008-09-11 Glenn Morris <rgm@gnu.org>
1519
1520 * charset.c (charset-map-path): Doc fix.
1521
15222008-09-10 Kenichi Handa <handa@m17n.org>
1523
1524 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1525
1526 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1527 compose a grapheme cluster with the preceding base glyph.
1528
1529 * composite.c (composition_compute_stop_pos): Fix previous change.
1530 Reset cmp_it->id to -1 at first.
1531
15322008-09-10 Glenn Morris <rgm@gnu.org>
1533
1534 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1535
15362008-09-09 Chong Yidong <cyd@stupidchicken.com>
1537
1538 * keyboard.c (read_key_sequence): Reapply translation maps when
1539 switching keyboards.
1540
15412008-09-09 Kenichi Handa <handa@m17n.org>
1542
1543 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1544 characters.
1545
1546 * composite.c (FORWARD_CHAR): Fix calculation
1547 of (POSITION).pos_byte.
1548 (composition_compute_stop_pos): Limit the search of composition to
1549 at most 500 characters ahead. If we reach the limit or find a
1550 newline, set cmp_it->ch to -2 and return 0.
1551 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1552
15532008-09-08 Kenichi Handa <handa@m17n.org>
1554
1555 * indent.c (Fvertical_motion): Be sure to set
1556 it_overshoot_expected if it.cmp_it.id is non-negative.
1557
15582008-09-07 Andreas Schwab <schwab@suse.de>
1559
1560 * callproc.c (Fcall_process): Don't hold references to string data
1561 across garbage collection. Move initialisation of new_argv down
1562 to avoid compiler bug.
1563
15642008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1565
1566 * process.c (Fsystem_process_attributes): Doc fix.
1567
15682008-09-07 Chong Yidong <cyd@stupidchicken.com>
1569
1570 * callproc.c (Fcall_process): Canonicalize current directory name.
1571
1572 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1573 iterator advances to the next line if the current line ends in a
1574 continued tab.
1575
15762008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1577
1578 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1579 member to point to cmp_from.
1580
1581 * xdisp.c: Doc fix for references to gidx data member.
1582
15832008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1584
1585 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1586
15872008-09-07 Kenichi Handa <handa@m17n.org>
1588
1589 * composite.c (FORWARD_CHAR): Check STOP after
1590 incrementing (POSITION).pos.
1591
15922008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1593
1594 * process.c (Fsystem_process_attributes): Doc fix.
1595
15962008-09-06 Chong Yidong <cyd@stupidchicken.com>
1597
1598 * keyboard.c (Ftop_level): Doc fix.
1599
16002008-09-06 Eli Zaretskii <eliz@gnu.org>
1601
1602 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1603 minibuffer, don't let lower part of menu invade the echo area.
1604
1605 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1606 "char *q" to access menu text and advance through it. Revert the
1607 change that displayed ">" instead of ASCII character 0x10.
1608
16092008-09-05 Eli Zaretskii <eliz@gnu.org>
1610
1611 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1612 toggle boxes and radio buttons on MS-DOS as well.
1613
16142008-09-05 Kenichi Handa <handa@m17n.org>
1615
1616 * composite.c (autocmp_chars): Check lookback count.
1617 (composition_compute_stop_pos): Set cmp_it->lookback.
1618 (composition_reseat_it): Check lookback count.
1619 (struct position_record): New struct.
1620 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1621 (find_automatic_composition): New function.
1622 (composition_adjust_point): Use find_automatic_composition.
1623
1624 * dispextern.h (struct composition_it): New member lookback.
1625
16262008-09-02 Chong Yidong <cyd@stupidchicken.com>
1627
1628 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1629 if moving by a single line.
1630
16312008-09-02 Andreas Schwab <schwab@suse.de>
1632
1633 * xterm.c (x_delete_display): Fix merge error.
1634
1635 * fileio.c (Fexpand_file_name): Remove unused variables.
1636
16372008-09-02 Eli Zaretskii <eliz@gnu.org>
1638
1639 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1640 storage on all platforms, not just on DOS_NT.
1641
16422008-09-02 Jason Rumney <jasonr@gnu.org>
1643
b8ff72fa
SM
1644 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1645 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1646
16472008-09-01 Chong Yidong <cyd@stupidchicken.com>
1648
1649 * xfaces.c (Finternal_set_alternative_font_family_alist)
1650 (Finternal_set_alternative_font_registry_alist): Properly copy
1651 entire alist structure.
1652
16532008-09-01 Kenichi Handa <handa@m17n.org>
1654
1655 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1656 representative chars of the script is a vector.
1657 (ftfont_list): Handle the case the representative chars of the
1658 script is a vector.
1659
1660 * character.c (syms_of_character): Docstring of
1661 script-representative-chars fixed.
1662
16632008-08-31 Eli Zaretskii <eliz@gnu.org>
1664
1665 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1666 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1667 the menu. Allocate larger buffer for `text', to account for
1668 possible ^C characters.
1669
16702008-08-31 Martin Rudalics <rudalics@gmx.at>
1671
1672 * xdisp.c (prepare_menu_bars): Don't call
1673 Vwindow_size_change_functions with arg Qt.
1674
16752008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1676
1677 * font.h (font_range):
1678 * fileio.c (report_file_error):
1679 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1680
16812008-08-30 Glenn Morris <rgm@gnu.org>
1682
1683 * data.c (Fmake_variable_frame_local): Doc fix.
1684
1685 * frame.c (Fmodify_frame_parameters): Doc fix.
1686
16872008-08-30 Eli Zaretskii <eliz@gnu.org>
1688
1689 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1690 needed by GetTokenInformation.
1691 (w32_system_process_attributes): Check return values of all system
1692 APIs.
1693
1694 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1695 only when the state changes.
1696 (IT_update_begin, IT_update_end): Add termscript trace.
1697
1698 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1699 clipboard is unavailable. Set dst to NULL if it doesn't point to
1700 malloc'ed data.
1701 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1702 passing random values to xfree.
1703
1704 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1705 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1706
17072008-08-29 Jason Rumney <jasonr@gnu.org>
1708
1709 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1710
17112008-08-29 Eli Zaretskii <eliz@gnu.org>
1712
1713 * composite.c (fill_gstring_body): Avoid compiler warnings.
1714
1715 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1716 LGLYPH_SET_CODE to avoid compiler warnings.
1717
2ae37cf0 1718 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1719
1720 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1721
1722 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1723 LGLYPH_SET_CODE.
1724
17252008-08-29 Kenichi Handa <handa@m17n.org>
1726
1727 * fileio.c (report_file_error): Don't downcase the first character
1728 of errstring if it is still unibyte.
1729
17302008-08-29 Kenichi Handa <handa@m17n.org>
1731
1732 These changes are to re-implement the automatic composition so
1733 that it doesn't use text properties.
1734
1735 * Makefile.in (ftfont.o): Depend on composite.h.
1736 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1737
1738 * character.h (Vunicode_category_table): Extern it.
1739
1740 * character.c (Vunicode_category_table): New variable.
1741 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1742
1743 * chartab.c (optimize_sub_char_table): Perform more greedy
1744 optimization.
1745
b8ff72fa
SM
1746 * composite.h (enum composition_method):
1747 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1748 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1749 (Vcomposition_function_table): Extern it.
1750 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1751 (composition_gstring_put_cache, composition_gstring_from_id)
1752 (composition_gstring_p, composition_gstring_width)
1753 (composition_compute_stop_pos, composition_reseat_it)
1754 (composition_update_it, composition_adjust_point): Extern them.
1755 (Fcomposition_get_gstring): EXFUN it.
1756
1757 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1758 (Vcomposition_function_table)
1759 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1760 (gstring_hash_table, gstring_work, gstring_work_headers):
1761 New variables.
aac0c6e3
MR
1762 (gstring_lookup_cache, composition_gstring_put_cache)
1763 (composition_gstring_from_id, composition_gstring_p)
1764 (composition_gstring_width, fill_gstring_header)
1765 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1766 (composition_reseat_it, composition_update_it)
b8ff72fa 1767 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1768 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1769 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1770 Defsubr compostion_get_gstring.
1771
1772 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1773 cmp_id.
1774 (struct glyph_string): Delete the member gidx. New members
1775 cmp_id, cmp_from, and cmp_to.
1776 (enum it_method): Delete GET_FROM_COMPOSITION.
1777 (struct composition_it): New struct.
1778 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1779 Delete c, len, cmp_id, cmp_len in u.comp.
1780
1781 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1782 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1783 (enum lglyph_indices): Likewise.
b8ff72fa 1784 (font_range): Adjust extern.
aac0c6e3
MR
1785 (font_fill_lglyph_metrics): Extern it.
1786
1787 * font.c (QCf): New variable.
1788 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1789 (font_prepare_composition): Delete this function.
1790 (font_range): Type and arguments changed.
1791 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1792 (font_fill_lglyph_metrics): New function.
b8ff72fa 1793 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1794 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1795 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1796 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1797
1798 * fontset.h (font_for_char): Extern it.
1799
1800 * fontset.c (font_for_char): New function.
1801
1802 * ftfont.c: Include composite.h.
1803 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1804 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1805
1806 * indent.c: Include composite.h and dispextern.h.
1807 (check_composition): Delete this function.
1808 (scan_for_column): Handle composition by
1809 composition_compute_stop_pos, composition_reseat_it, and
1810 composition_update_it.
1811 (compute_motion): Likewise.
1812 (Fvertical_motion): Fix checking of composition.
1813
1814 * keyboard.c (adjust_point_for_property): Check composition by
1815 composition_adjust_point.
1816
b8ff72fa 1817 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1818 struct glyph_string.
1819
b8ff72fa
SM
1820 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1821 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1822 struct glyph.
1823 (produce_composite_glyph): Likewise.
1824
b8ff72fa
SM
1825 * w32term.c (x_draw_composite_glyph_string_foreground):
1826 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1827 (x_draw_glyph_string): Likewise.
1828
1829 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1830 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1831
1832 * xdisp.c: Include font.h.
1833 (it_props): Delete the entry for Qauto_composed.
1834 (init_iterator): Initialize it->cmp_it.id to -1.
1835 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1836 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1837 (handle_auto_composed_prop): Delete it.
1838 (handle_composition_prop): Handle only static composition.
1839 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1840 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1841 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1842 (pop_it): Likewise.
1843 (get_next_element): Delete next_element_from_composition.
1844 (CHAR_COMPOSED_P): New macro.
1845 (get_next_display_element): For automatic composition, get a face
1846 from the font in the glyph-string.
1847 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1848 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1849 (next_element_from_string): Check if the character at the current
1850 position is composed by CHAR_COMPOSED_P.
1851 (next_element_from_buffer): Likewise.
b8ff72fa 1852 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1853 it. Update it->cmp_it.
b8ff72fa
SM
1854 (dump_glyph): Adjust for the change of struct glyph.
1855 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1856 it and struct glyph. Don't handle automatic composition here.
1857 (fill_gstring_glyph_string): New function.
1858 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1859 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1860 (BUILD_GSTRING_GLYPH_STRING): New macro.
1861 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1862 automatic composition.
b8ff72fa 1863 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1864 struct glyph.
b8ff72fa 1865 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1866
b8ff72fa 1867 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1868 the change of struct glyph_string.
1869 (x_draw_glyph_string): Likewise.
1870
18712008-08-29 Glenn Morris <rgm@gnu.org>
1872
1873 * buffer.c (word-wrap): Doc fix.
1874 * xdisp.c (truncate-partial-width-windows): Doc fix.
1875 Increase default to 50.
1876
18772008-08-29 Chong Yidong <cyd@stupidchicken.com>
1878
1879 * xdisp.c (update_tool_bar_unwind): New function.
1880 (update_tool_bar): Temporarily set selected frame before building
1881 tool-bar items.
1882
18832008-08-28 Michael Albinus <michael.albinus@gmx.de>
1884
1885 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1886 snprintf, respectively.
1887 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1888
18892008-08-28 Chong Yidong <cyd@stupidchicken.com>
1890
1891 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1892 LDFLAGS to GNUstep CC invocation.
1893
18942008-08-27 Chong Yidong <cyd@stupidchicken.com>
1895
1896 * indent.c (Fvertical_motion): Revert last change. Handle the
1897 general case where we are moving forward, and PT spans multiple
1898 screen lines.
1899
1900 * eval.c (find_handler_clause): Temporarily increase
1901 max-lisp-eval-depth while printing the backtrace buffer, to
1902 guarantee that help-mode code can run.
1903
19042008-08-27 Eli Zaretskii <eliz@gnu.org>
1905
1906 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1907 colors under -rv.
1908 (IT_set_frame_parameters): Don't swap foreground and background
1909 colors if `(reverse . t)' is present in the frame properties.
1910 (internal_terminal_init): Call init_frame_faces only for the
1911 initial frame.
1912
19132008-08-27 Andreas Schwab <schwab@suse.de>
1914
1915 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1916
19172008-08-27 Andreas Schwab <schwab@suse.de>
1918
1919 * search.c (search_buffer): Set char_base to zero only at the end.
1920
19212008-08-27 Kenichi Handa <handa@m17n.org>
1922
b8ff72fa 1923 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1924
19252008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1926
1927 * xterm.c (x_term_init): Temporarily hide the partially
1928 initialized terminal while calling vendor-specific-keysyms.
1929
19302008-08-26 Eli Zaretskii <eliz@gnu.org>
1931
1932 * msdos.c (internal_terminal_init): Most initializations done only
1933 once, especially initial_screen_colors[] and termscript open.
1934
19352008-08-26 Chong Yidong <cyd@stupidchicken.com>
1936
1937 * eval.c (Fcondition_case): Doc fix.
1938
1939 * widgetprv.h (EmacsFramePart): Change font member to the new font
1940 struct.
1941
1942 * widget.c: Include character.h and font.h for XSETFONT.
1943 (setup_frame_gcs): Compute X font id from font struct, just once.
1944
19452008-08-26 Eli Zaretskii <eliz@gnu.org>
1946
1947 * term.c (get_named_tty): Fix last change.
1948
19492008-08-26 Chong Yidong <cyd@stupidchicken.com>
1950
1951 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1952 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1953
19542008-08-25 Eli Zaretskii <eliz@gnu.org>
1955
1956 * frame.c (do_switch_frame): Mark previously displayed frame as
1957 obscured for FRAME_MSDOS_P frames as well.
1958
19592008-08-24 Eli Zaretskii <eliz@gnu.org>
1960
1961 * frame.c (make_terminal_frame): Initialize f->terminal,
1962 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1963 Set the top frame to newly created frame.
1964 (Fmake_terminal_frame): Reuse the_only_display_info.
1965
1966 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1967 estimating available memory.
1968
b97439ce 19692008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1970
1971 * nsterm.m (ns_draw_window_cursor): Don't call
1972 NSDisableScreenUpdates and NSEnableScreenUpdates on
1973 non-NS_IMPL_COCOA systems.
1974
19752008-08-23 Andreas Schwab <schwab@suse.de>
1976
1977 * process.c (procfs_system_process_attributes): Fix use of
1978 uninitialized variables.
1979
19802008-08-23 Eli Zaretskii <eliz@gnu.org>
1981
1982 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1983
1984 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1985 calling tty-set-up-initial-frame-faces.
1986
b8ff72fa
SM
1987 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1988 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1989
1990 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1991 addition to output_termcap.
1992
1993 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1994
1995 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1996 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1997 highlight.
1998
1999 * process.c [!subprocesses]: Define QCname.
2000 (syms_of_process): Intern and staticpro it.
2001
2002 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2003 Adjust for changes in encoding/decoding routines.
2004 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2005 encode_coding and decode_coding.
2006
b8ff72fa 2007 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2008
2009 * dosfns.c: Include frame.h before termhooks.h.
2010 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2011 variable termscript.
2012
2013 * s/msdos.h (USER_FULL_NAME): Define.
2014 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2015
2016 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2017 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2018 pw->pw_gecos.
2019
2020 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2021 SELECTED_FRAME as additional (1st) argument.
2022 (tty_read_avail_input): Handle output_msdos_raw in
2023 addition to output_termcap.
2024
2025 * msdos.c: Include frame.h before termhooks.h.
2026 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2027 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2028 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2029 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2030 (IT_set_terminal_modes, IT_reset_terminal_modes)
2031 (IT_set_frame_parameters): Use tty->termscript instead of a global
2032 variable termscript.
2033 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2034 global variable terminal_coding. Don't refer to
2035 Vnonascii_translation_table.
2036 (internal_terminal_init): Set Vwindow_system in current_kboard.
2037 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2038 Announce date and time of session start, if termscript is open.
2039 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2040 term.c:init_tty). Open termscript only of not already open.
2041 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2042 here instead of dos_ttraw. Don't initialize display if this is an
2043 initial tty. Don't set FRAME_FONT.
2044 (Vwindow_system_version): Bump to 23.
2045 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2046 is available, set up mouse_position_hook.
2047 (dos_ttraw, IT_set_terminal_modes): If called with initial
2048 terminal, do nothing.
2049 (IT_set_frame_parameters): Handle the Qtty_type frame
2050 parameter by calling internal_terminal_init.
2051 (dos_set_window_size, show_mouse_face)
2052 (clear_mouse_face, IT_note_mode_line_highlight)
2053 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2054 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2055 (initialize_msdos_display): New function.
2056 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2057 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2058 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2059 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2060 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2061 (request_sigio, unrequest_sigio): Don't define, now defined on
2062 sysdep.c.
2063 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2064
2065 * term.c [MSDOS]: Include msdos.h.
2066 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2067 conditional to DOS_NT. Allow only one call to this function in a
2068 session. Don't allocate a new struct tty_display_info; instead,
2069 reuse the_only_display_info. Call get_tty_size to get screen
2070 dimensions. Call init_baud_rate to set bad_rate.
2071 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2072 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2073 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2074 (get_tty_terminal, get_named_tty, Ftty_type)
2075 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2076 output_termcap.
b8ff72fa
SM
2077 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2078 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2079 only when subprocesses are supported.
aac0c6e3
MR
2080
2081 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2082 f->output_data.x.
2083 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2084 terminal devices.
2085
5582fbc7 2086 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2087 x_output.
2088 (FRAME_FONT): Use output_data.tty.
2089 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2090 (struct x_display_info): Rename from display_info. Update all users in
2091 msdos.c.
aac0c6e3 2092 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2093 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2094 (dos_ttraw): Update prototype.
2095
2096 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2097 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2098
20992008-08-23 Jason Rumney <jasonr@gnu.org>
2100
2101 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2102 (fn_TIFFSetDirectory): New library function used.
2103 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2104 (tiff_load): Use :index to select among multiple images. Set count
2105 property when multiple images exist.
2106 (gif_format): Use :index, not :image.
2107
21082008-08-23 Chong Yidong <cyd@stupidchicken.com>
2109
2110 * xdisp.c (try_scrolling): Check INT_MAX instead of
2111 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2112 to obtain INT_MAX.
2113
21142008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2115
2116 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2117
21182008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2119
2120 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2121 GNUstep library location.
2122
21232008-08-21 Chong Yidong <cyd@stupidchicken.com>
2124
2125 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2126 before using it.
2127
2128 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2129
21302008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2131
2132 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2133 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2134 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2135 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2136 (EmacsApp-cursor_blink_handler): Remove declaration.
2137 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2138 match 01 Feb 2008 changes in xterm.c.
2139 (ns_read_socket): Add cast to avoid warning.
2140 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2141 GNUstep.
2142
21432008-08-20 Chong Yidong <cyd@stupidchicken.com>
2144
2145 * xselect.c (x_get_foreign_selection): Return nil if desired
2146 selection could not be obtained, instead of signalling an error.
2147
21482008-08-20 David Reitter <david.reitter@gmail.com>
2149
2150 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2151 * nsterm.m: Remove ns-specific code for cursor blinking.
2152 (ns_draw_window_cursor): Clear cursor properly rather than
2153 redrawing the area. Respect width of bar cursors.
2154 These changes enable the use of generic blink-cursor-mode and
2155 generic cursor types in NS and support smooth cursor movements (do
2156 not blink off after command).
2157 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2158 Nextstep, too.
2159
21602008-08-19 Kenichi Handa <handa@m17n.org>
2161
2162 * font.c (Vfont_log_deferred): New variable.
2163 (font_add_log): Check Vfont_log_deferred.
2164 (font_deferred_log): New function.
2165
2166 * font.h (font_deferred_log): Extern it.
2167
2168 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2169 for sorting.
2170 (face_for_char): Use deferred log.
2171
21722008-08-18 Kenichi Handa <handa@m17n.org>
2173
2174 * fontset.c (face_for_char): Add font log.
2175
2176 * font.c (font_add_log): Add the font properties :script, :lang,
2177 and :otf in the log.
2178
21792008-08-17 Chong Yidong <cyd@stupidchicken.com>
2180
2181 * xdisp.c: Remove dead code.
2182 (handle_invisible_prop, next_overlay_string): Defer call to
2183 setup_for_ellipsis.
2184 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2185
21862008-08-15 Chong Yidong <cyd@stupidchicken.com>
2187
2188 * xfaces.c (lookup_derived_face): Properly handle possible zero
2189 return value of get_lface_attributes.
2190 (merge_faces): Don't tell lookup_derived_face to signal an error
2191 if face is not found.
2192
2193 * dired.c (Fdirectory_files): Doc fix.
2194
2195 * process.c (make_process): Initialize kill_without_query struct
2196 member.
2197
21982008-08-15 Eli Zaretskii <eliz@gnu.org>
2199
2200 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2201 Alternative calculation of totphys for Visual Studio 6.
2202
2203 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2204
2205 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2206 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2207 All users changed.
2208 (stat): Only root directory passed to GetDriveType. Allow RAM
2209 disk as well as local fixed disk when w32-get-true-file-attributes
2210 is set to `local'.
2211 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2212 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2213 (w32_cached_id, w32_add_to_cache): New functions.
2214 (get_name_and_id): Look account names in the cache before calling
2215 lookup_account_sid.
2216 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2217 New initialization flags.
2218 (globals_of_w32): Initialize them to zero.
2219 (w32_system_process_attributes): Use w32_cached_id and
2220 w32_add_to_cache.
2221
22222008-08-14 Lawrence Mitchell <wence@gmx.li>
2223
2224 * lread.c (Fread_char, Fread_char_exclusive): If no character
2225 event is read before timeout is reached, return nil, rather than
2226 converting to a number.
2227
22282008-08-14 Chong Yidong <cyd@stupidchicken.com>
2229
2230 * fns.c (use_dialog_box): Doc fix.
2231
2232 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2233 on OS X.
2234
22352008-08-13 Chong Yidong <cyd@stupidchicken.com>
2236
2237 * frame.c (Qns_parse_geometry): New var.
2238 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2239
22402008-08-11 Chong Yidong <cyd@stupidchicken.com>
2241
2242 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2243 space character in calculating tabs.
2244
22452008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2246
2247 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2248
22492008-08-10 Glenn Morris <rgm@gnu.org>
2250
2251 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2252 silence gcc "limited range of data type" warnings in some
2253 make_fixnum_or_float calls.
2254
22552008-08-09 Eli Zaretskii <eliz@gnu.org>
2256
2257 * w32.c (w32_system_process_attributes): If the process does not
2258 exist, return nil.
2259
2260 * w32.c: Include thelp32.h, psapi.h and coding.h.
2261 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2262 declarations.
2263 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2264 (Process32Next_Proc): New typedefs.
2265 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2266 (g_b_init_process32_next, g_b_init_open_thread_token)
2267 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2268 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2269 (g_b_init_get_process_working_set_size)
2270 (g_b_init_global_memory_status_ex): New static variables.
2271 (globals_of_w32): Initialize them.
2272 (create_toolhelp32_snapshot, process32_first, process32_next)
2273 (open_thread_token, impersonate_self, revert_to_self)
2274 (get_process_memory_info, get_process_working_set_size)
2275 (global_memory_status, global_memory_status_ex): New wrapper
2276 functions.
2277 (w32_list_system_processes, w32_system_process_attributes)
2278 (enable_privilege, restore_privilege, ltime, process_times):
2279 New functions.
2280 (convert_time_raw): New function.
2281 (convert_time): Remove conversion of FILETIME into time in 100
2282 nsec units, call convert_time_raw instead.
2283
2284 * process.h (w32_list_system_processes, w32_system_process_attributes):
2285 Add prototypes.
2286 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2287 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2288 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2289 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2290
2291 * process.c (Fsystem_process_attributes): Doc fix.
2292
22932008-08-08 Chong Yidong <cyd@stupidchicken.com>
2294
2295 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2296 a continued multi-char glyph; if so, advance to the actual glyph.
2297
22982008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2299
2300 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2301
2302 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2303 (.m.o): Use it.
2304 * config.in: Regenerate.
2305
23062008-08-07 Chong Yidong <cyd@stupidchicken.com>
2307
2308 * xdisp.c (redisplay_window): Revert last change.
2309 (try_window): Check bottom scroll margin too.
2310
23112008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2312
2313 * config.in: Regenerate.
2314
2315 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2316 -list-load-path-shadows'.
2317 (nsgui.h): Reduce number of things depending on it.
2318
23192008-08-06 Chong Yidong <cyd@stupidchicken.com>
2320
2321 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2322 instead of window-end which does the wrong thing at eob.
2323 (try_cursor_movement): Minor optimization.
2324 (redisplay_window): If scroll margin is defined, don't assume
2325 window doesn't need scrolling.
2326
23272008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2328
2329 * config.in: Regenerate.
2330
2331 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2332 (mostlyclean): Don't delete *.d under NS.
2333
2334 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2335
23362008-08-06 Kenichi Handa <handa@m17n.org>
2337
2338 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2339
23402008-08-06 Andreas Schwab <schwab@suse.de>
2341
2342 * config.in: Regenerate.
2343
23442008-08-05 Chong Yidong <cyd@stupidchicken.com>
2345
2346 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2347 forcing a window start.
2348
2349 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2350 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2351
23522008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2353
2354 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2355 argument.
2356
23572008-08-05 Juanma Barranquero <lekktu@gmail.com>
2358
2359 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2360 <scroll-down-aggressively, before-change-functions>:
2361 <after-change-functions>: Reflow docstrings.
2362
23632008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2364 Ken Raeburn <raeburn@gnu.org>
2365
2366 Dock menu customization, based on a patch by Ken Raeburn, plus some
2367 other fixes.
2368 * nsmenu.m (dockMenu): New variable.
2369 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2370
2371 * nsterm.h (dockMenu): Declare.
2372
2373 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2374 (ns_term_init): Initialize dockMenu.
2375 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2376 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2377 left.
2378
2379 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2380
23812008-08-04 Chong Yidong <cyd@stupidchicken.com>
2382
2383 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2384
2385 * config.in: Regenerate.
2386
23872008-08-04 Seiji Zenitani <zenitani@mac.com>
2388
2389 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2390
23912008-08-04 Chong Yidong <cyd@stupidchicken.com>
2392
2393 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2394
23952008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2396
2397 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2398
2399 * keyboard.h: Comment an #endif.
2400
2401 * lisp.h (have_menus_p): Adjust comment.
2402
2403 * menu.c (find_and_return_menu_selection): Fix comparison with
2404 client_data.
2405
2406 * nsmenu.m (popup_activated_flag): New variable.
2407 (popup_activated): New function.
2408 (menu-or-popup-active-p): New exported lisp definition.
2409 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2410 when popup done.
2411 (ns_popup_dialog): Set popup_activated_flag.
2412
2413 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2414 version for GNUstep (handled by conditional typedef in nsterm.m).
2415 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2416 in rgb.txt).
2417
2418 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2419
2420 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2421
2422 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2423
2424 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2425 shortcircuit if popup_activated like GTK and X toolkit.
2426
2427 * m/inter386.h: Change DARWIN to DARWIN_OS.
2428
2429 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2430 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2431 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2432 comment on NO_SOCK_SIGIO.
2433
24342008-08-03 Chong Yidong <cyd@stupidchicken.com>
2435
2436 * nsterm.m (windowDidResize): Remove stopModal call.
2437
24382008-08-03 Andreas Schwab <schwab@suse.de>
2439
2440 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2441 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2442
24432008-08-02 Chong Yidong <cyd@stupidchicken.com>
2444
2445 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2446 Don't use uninitialized pointer variable when using getrlimit.
2447
24482008-08-02 Jason Rumney <jasonr@gnu.org>
2449
2450 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2451
24522008-08-02 Eli Zaretskii <eliz@gnu.org>
2453
2454 * alloc.c (NSTATICS): Bump to 0x640.
2455
2456 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2457
2458 * lisp.h: Add prototype for directory_files_internal.
2459
2460 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2461 New functions.
2462 (syms_of_process): Defsubr them. Add initializations for various
2463 Q* symbols used in procfs_system_process_attributes.
2464 (procfs_list_system_processes, procfs_system_process_attributes)
2465 [HAVE_PROCFS]: New functions.
2466 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2467 (procfs_get_total_memory): New functions.
2468
24692008-08-01 Juanma Barranquero <lekktu@gmail.com>
2470
2471 * xfaces.c (Fx_load_color_file): Fix previous change;
2472 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2473
24742008-08-01 Michael Albinus <michael.albinus@gmx.de>
2475
2476 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2477
24782008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2479
2480 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2481
24822008-08-01 Chong Yidong <cyd@stupidchicken.com>
2483
2484 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2485
2486 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2487 define NSApplicationDelegateReplySuccess.
2488 (EmacsView -converstationIdentifier): Use long instead of
2489 NSInteger for GNUstep, since it doesn't have NSInteger.
2490
2491 * xmenu.c: Revert last change.
2492
2493 * keyboard.h: Fix last change.
2494
24952008-08-01 Juanma Barranquero <lekktu@gmail.com>
2496
2497 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2498 on Windows.
2499
25002008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2501
2502 Warning clearing and clean-up in NS port.
2503 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2504 Add prototypes.
2505 * nsgui.h (FACE_DEFAULT): Remove, unused.
2506 (XGCValues): Change colors to unsigned long.
2507 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2508 nsterm.m.
2509 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2510 (ns_list_fonts): Remove, unused.
2511 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2512 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2513 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2514 (nsfont_draw): Compare face colors to 0, not nil.
2515 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2516 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2517 (-addSubmenuWithTitle:): Use NSMenuItem class.
2518 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2519 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2520 (ns_clip_to_row): Make gc arg a BOOL.
2521 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2522 ns_clip_to_row() call.
2523 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2524 used). Cast FRAME_FONT assignments.
2525 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2526 (ns_string_to_lispmod): Change arg to const char.
2527 (ns_term_init): Use NSMenuItem class.
2528 (EmacsApp -openFile:): Move to different section of file.
2529 (EmacsApp -application:openFiles:): Don't return a value, call
2530 -replyToOpenOrPrint:.
2531 (EmacsView -keyDown:): Fix up cast.
2532 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2533 (EmacsView -menuDown:): Cast tag in call to
2534 find_and_call_menu_selection().
2535 (ns_list_fonts): Remove, unused.
2536 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2537 (ns_fontname_to_xlfd): Make static.
2538 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2539 Remove prototypes (now in keyboard.h).
2540 (next_menubar_widget_id): Remove, unused.
2541 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2542 Remove prototypes (now in keyboard.h).
2543 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2544
25452008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2546
2547 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2548 (floatfns.o): Depend on syssignal.h.
2549 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2550
2551 * systty.h: Fix previous change that removed BSD_TERMIOS.
2552 Add comments to #ifdefs.
2553
25542008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2555
2556 * w32fns.c (w32-load-color-file): Remove.
2557 (x-open-connection): Use renamed Fx_load_color_file.
2558 * xfaces.c (x-load-color-file): Add.
2559 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2560 Emacs.clr.
2561 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2562
25632008-07-31 Michael Albinus <michael.albinus@gmx.de>
2564
2565 * dbusbind.c (Fdbus_call_method_asynchronously)
2566 (Fdbus_method_error_internal): New defuns.
2567 (xd_read_message): Handle also reply messages.
2568 (Vdbus_registered_functions_table): Extend docstring.
2569
25702008-07-31 Juanma Barranquero <lekktu@gmail.com>
2571
2572 * keyboard.c (gobble_input): Fix previous change.
2573
25742008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2575
2576 * bitmaps/README:
2577 * xfns.c:
2578 * termcap.c:
2579 * term.c:
2580 * syswait.h:
2581 * systty.h:
2582 * systime.h:
2583 * syssignal.h:
2584 * sysdep.c:
2585 * process.h:
2586 * process.c:
2587 * print.c:
2588 * ndir.h:
2589 * lread.c:
2590 * keyboard.c:
2591 * getpagesize.h:
2592 * floatfns.c:
2593 * fileio.c:
2594 * emacs.c:
2595 * doc.c:
2596 * dispnew.c:
2597 * dired.c:
2598 * data.c:
2599 * callproc.c:
2600 * buffer.c:
2601 * README:
2602 * Makefile.in:
2603 * s/template.h:
2604 * s/msdos.h:
2605 * m/vax.h: Remove VMS support.
2606 * s/vms.h:
2607 * vlimit.h:
2608 * uaf.h:
2609 * temacs.opt:
2610 * param.h:
2611 * ioctl.h: Remove file.
2612
26132008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2614
2615 * s/ms-w32.h (MULTI_KBOARD): Remove.
2616 * xterm.c:
2617 * xselect.c:
2618 * xfns.c:
2619 * window.c:
2620 * w32term.c:
2621 * w32fns.c:
2622 * terminal.c:
2623 * termhooks.h:
2624 * term.c:
2625 * sysdep.c:
2626 * keyboard.h:
2627 * keyboard.c:
2628 * frame.h:
2629 * frame.c:
2630 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2631 * config.in: Regenerate.
2632
26332008-07-30 Jason Rumney <jasonr@gnu.org>
2634
2635 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2636
2637 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2638 (w32font_open_internal): Get unicode version of textmetrics.
2639 Don't enable or disable glyph indices here.
2640 (w32font_open): Disable use of glyph indices.
2641
2642 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2643
26442008-07-30 Chong Yidong <cyd@stupidchicken.com>
2645
2646 * minibuf.c (Vread_buffer_function): Doc fix.
2647
26482008-07-30 John Paul Wallington <jpw@pobox.com>
2649
2650 * minibuf.c (read_buffer_completion_ignore_case): New var.
2651 (Fread_buffer): Use it.
2652
26532008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2654
2655 * systty.h (sensemode): Remove empty #if. Remove reference to
2656 BSD_TERMIOS, unused.
2657
2658 * sysdep.c: Remove reference to DGUX.
2659 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2660
2661 * config.in: Regenerate.
2662
26632008-07-30 Jason Rumney <jasonr@gnu.org>
2664
2665 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2666
26672008-07-29 Jason Rumney <jasonr@gnu.org>
2668
2669 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2670 is populated.
2671 (uniscribe_encode_char): Always use uniscribe.
2672 Avoid using context if cache is populated.
2673
26742008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2675
2676 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2677 open menu.
2678
2679 * gtkutil.c (menu_nav_ended): Remove.
2680 (create_menus): Remove signal connect for menu_nav_ended.
2681
26822008-07-28 Chong Yidong <cyd@stupidchicken.com>
2683
2684 * xdisp.c (redisplay_window): Check return value of
2685 compute_window_start_on_continuation_line before forcing a window
2686 start.
2687
26882008-07-28 Jason Rumney <jasonr@gnu.org>
2689
2690 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2691
2692 * w32term.c (w32_enable_unicode_output, cleartype_active):
2693 Remove obsolete display options.
2694 (x_draw_glyph_string_background): Don't use old cleartype_active
2695 workaround.
2696 (w32_initialize): Remove cleartype_active initialization.
2697 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2698
26992008-07-28 Andreas Schwab <schwab@suse.de>
2700
2701 * lisp.h (init_weak_hash_tables, syms_of_font)
2702 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2703 (remove_hash_entry): Don't declare.
2704 * eval.c (maybe_call_debugger): Make static and move before use.
2705 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2706 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2707 * xterm.h (x_set_frame_alpha): Declare.
2708
27092008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2710
2711 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2712 (create_menus): Connect selection-done to menu_nav_ended.
2713
27142008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2715
2716 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2717 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2718 parameter with read of 'alpha' one.
2719 (Qns_frame_parameter): Remove.
5582fbc7 2720 * nsselect.m (selection-coding-system)
aac0c6e3
MR
2721 (next-selection-coding-system, Vselection_coding_system)
2722 (Vnext_selection_coding_system): Drop.
2723
27242008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2725
2726 * nsfns.m (do-applescript, do_applescript): Rename to
2727 ns-do-applescript, ns_do_applescript, and move within file.
2728
27292008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2730
2731 Remove support for Mac Carbon.
2732 * mactoolbox.c:
2733 * macterm.h:
2734 * macterm.c:
2735 * macselect.c:
2736 * macmenu.c:
2737 * macgui.h:
2738 * macfns.c:
2739 * mac.c: Remove file.
2740 * s/darwin.h:
2741 * m/intel386.h:
2742 * xfaces.c:
2743 * xdisp.c:
2744 * window.c:
2745 * tparam.c:
2746 * termhooks.h:
2747 * termcap.c:
2748 * term.c:
2749 * syssignal.h:
2750 * sysselect.h:
2751 * sysdep.c:
2752 * process.c:
2753 * lread.c:
2754 * lisp.h:
2755 * keyboard.c:
2756 * image.c:
2757 * fringe.c:
2758 * frame.h:
2759 * frame.c:
2760 * fontset.c:
2761 * font.h:
2762 * font.c:
2763 * fns.c:
2764 * fileio.c:
2765 * emacs.c:
2766 * dispnew.c:
2767 * dispextern.h:
2768 * config.in:
2769 * atimer.c:
2ae37cf0 2770 * Makefile.in: Remove code for Carbon.
aac0c6e3 2771
f0131492 27722008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
2773
2774 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2775
27762008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2777
2778 * macterm.h (kCGBitmapByteOrder32Host): New define for
2779 non-universal SDKs.
2780
2781 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2782 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2783
2784 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2785 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2786
27872008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2788
2789 * w32inevt.c: Include dispextern.h.
2790
27912008-07-26 Andreas Schwab <schwab@suse.de>
2792
2793 * print.c (print_object): Fix off-by-one in last change.
2794
27952008-07-25 Juanma Barranquero <lekktu@gmail.com>
2796
2797 * term.c (syms_of_term): Don't initialize default_orig_pair,
2798 default_set_foreground and default_set_background on Windows.
2799
28002008-07-25 Jason Rumney <jasonr@gnu.org>
2801
2802 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2803 ScriptItemize. Clean up return value checking. Remove unused
2804 variables.
2805 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2806 shaping engine.
2807
2808 * w32font.c (w32font_has_char): Handle the case where we can't
2809 determine the script for a character.
2810
28112008-07-25 Chong Yidong <cyd@stupidchicken.com>
2812
2813 * term.c (syms_of_term): Initialize default_orig_pair,
2814 default_set_foreground, and default_set_background.
2815
2816 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2817 clash (bug#86).
2818 (getloadavg): Callers changed.
2819
2820 * image.c (svg_load_image): Fix last change.
2821 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2822 image size is valid. Use g_object_unref instead of deprecated
2823 rsvg_handle_free to free rsvg handle.
2824 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2825
28262008-07-25 Jason Rumney <jasonr@gnu.org>
2827
2828 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2829 surrogates before looking up glyph index.
2830 (w32font_text_extents): Encode as surrogates if falling back to
2831 functions that need UTF-16 wide chars.
2832
2833 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2834 BMP as surrogates before looking up glyph index.
2835
28362008-07-25 Chong Yidong <cyd@stupidchicken.com>
2837
2838 * image.c (svg_load_image): Check for failure in return value of
2839 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2840
28412008-07-25 Jason Rumney <jasonr@gnu.org>
2842
2843 * w32font.c (Fx_select_font): Reverse sense of second arg.
2844
28452008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2846
2847 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2848 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2849
2850 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2851 (PURESIZE): Use it.
2852
28532008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2854
2855 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2856 * m/alpha.h (TEXT_END):
2857 * m/ibmrs6000.h (TEXT_END):
2858 * m/macppc.h (TEXT_END):
2859 * s/darwin.h (TEXT_END):
2860 * s/msdos.h (TEXT_END): Remove, unused.
2861 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2862 * s/cygwin.h: Remove comment.
2863
2864 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2865 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2866 * m/intel386.h (DOT_GLOBAL_START):
2867 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2868 (USG): Remove, file not used on USG platforms.
2869
2870 * Makefile.in (HAVE_X11): Remove empty #else.
2871
28722008-07-24 Andreas Schwab <schwab@suse.de>
2873
2874 * fileio.c (Finsert_file_contents): Properly adjust undo list
2875 after format conversion.
2876
28772008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2878
2879 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2880 (menu_nav_ended): Remove.
2881 (create_menus): Remove signal connect for menu_nav_ended.
2882 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2883 create_menus.
2884 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2885
28862008-07-23 Jason Rumney <jasonr@gnu.org>
2887
2888 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2889 with opened font.
2890 (w32font_open): Set font type to gdi.
2891
2892 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2893
28942008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2895
2896 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2897 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2898 defines it.
2899 * unexec.c (ADDR_CORRECT): Define unconditionally.
2900
2901 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2902
2903 * unexec.c: Remove code depending on !COFF and USG, the file is
2904 not used for such systems.
2905
2906 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2907 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2908 (LD_SWITCH_SYSTEM_1): Remove, update users.
2909
2910 * s/darwin.h (DATA_END):
2911 * m/intel386.h (DATA_END):
2912 * m/ibmrs6000.h (DATA_END):
2913 * m/alpha.h (DATA_END): Remove, unused.
2914
2915 * config.in: Regenerate.
2916 * s/ms-w32.h (subprocesses): Define unconditionally.
2917 * s/template.h (subprocesses): Update comment.
2918 * s/vms.h (subprocesses):
2919 * s/usg5-4.h (subprocesses):
2920 * s/hpux10-20.h (subprocesses):
2921 * s/gnu-linux.h (subprocesses):
2922 * s/cygwin.h (subprocesses):
2923 * s/bsd-common.h (subprocesses):
2924 * s/aix4-2.h (subprocesses):
2925 * s/darwin.h (subprocesses): Do not define, defined by default now.
2926
2927 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2928 Remove all references.
2929 (temacs): Add GNUstep specific ld flags.
2930
2931 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2932 similarly to what X does.
2933
29342008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2935
2936 * nsfns.m (x-list-fonts): Remove.
2937 (syms_of_nsfns): Drop the x-list-fonts declaration.
2938 * nsterm.m: Get rid of remaining "//" comments.
2939
29402008-07-22 Chong Yidong <cyd@stupidchicken.com>
2941
2942 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2943
2944 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2945 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2946 (Fns_own_selection_internal, Fx_disown_selection_internal)
2947 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2948
2949 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2950 ... */' style of docstrings. Doc fixes.
2951
29522008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2953
2954 * terminfo.c (UP, BC, PC): Undo previous change.
2955
2956 * nsfns.m: Rename ns prefixed functions/variables to the
2957 corresponding x versions. Update references.
2958
29592008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2960
2961 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2962
29632008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2964
2965 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2966 Remove forwarding functions.
2967 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2968 non-static.
2969 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2970 non-static.
2971 (ns_frame_parm_handlers): Use the new names.
2972 (syms_of_nsfns): Move to the end of file.
2973
2974 * nsterm.m (syms_of_nsterm): Move to the end of file.
2975
2976 * dispnew.c (init_display): Remove code for X10.
2977
29782008-07-22 Jason Rumney <jasonr@gnu.org>
2979
2980 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2981 bare drive.
2982
29832008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2984
2985 * nsterm.m (syms_of_nsterm): Remove debugging println.
2986
29872008-07-22 David Reitter <david.reitter@gmail.com>
2988
2989 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2990 Carbon implementation of the same functionality: execute arbitrary
2991 AppleScript code.
2992
29932008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2994
2995 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2996 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2997 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2998 (Fx_display_mm_height, Fx_display_mm_width)
2999 (Fx_display_backing_store, Fx_display_visual_class)
3000 (Fx_display_save_under, Fx_open_connection)
3001 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3002 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3003 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3004 (Fx_display_pixel_width, Fx_display_pixel_height)
3005 (Fx_display_usable_bounds, Fx_display_planes)
3006 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3007 ... */' style of docstrings.
3008
30092008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3010
3011 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3012 on this platform.
3013 (mips):
3014 * m/iris4d.h (mips): Do not define.
3015 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3016
3017 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3018
3019 * image.c:
3020 * nsfns.m:
3021 * nsselect.m:
3022 * nsterm.h:
3023 * nsterm.m: Rename ns prefixed functions/variables to the
3024 corresponding x versions. Update references.
3025
3026 * m/ibms390x.h (NO_REMAP): Do not undefine.
3027
3028 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3029
30302008-07-21 Chong Yidong <cyd@stupidchicken.com>
3031
3032 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3033 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3034 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3035 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3036 (Fns_display_mm_height, Fns_display_mm_width)
3037 (Fns_display_backing_store, Fns_display_visual_class)
3038 (Fns_display_save_under, Fns_open_connection)
3039 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3040 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3041 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3042 (Fns_display_pixel_width, Fns_display_pixel_height)
3043 (Fns_display_usable_bounds, Fx_display_planes)
3044 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3045
30462008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3047
3048 * print.c (print_object): Check print_depth before searching for
3049 circularities.
3050
30512008-07-21 Michael Albinus <michael.albinus@gmx.de>
3052
3053 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3054 only sprintf.
3055
30562008-07-21 Kenichi Handa <handa@m17n.org>
3057
3058 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3059
30602008-07-20 Andreas Schwab <schwab@suse.de>
3061
3062 * syntax.c (find_start_pos, find_start_value)
3063 (find_start_value_byte, find_start_begv, find_defun_start)
3064 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3065
30662008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3067
3068 * s/sol2-3.h: Insert contents of s/sol2.h.
3069 (LD_SWITCH_SYSTEM): Remove redundant definition.
3070 * s/sol2.h: Remove, unused.
3071
30722008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3073
3074 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3075
30762008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3077
3078 * Makefile.in (ns_appdir): Fix typo in find command.
3079
30802008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3081
3082 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3083
3084 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3085 added not supported anymore.
3086
3087 * s/usg5-4-2.h (LIBS_SYSTEM):
3088 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3089
3090 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3091 * s/lynxos.h (GETPGRP_NO_ARG):
3092 * s/hpux10-20.h (NO_SIOCTL_H):
3093 * s/gnu.h (GETPGRP_NO_ARG):
3094 * s/gnu-linux.h (NO_SIOCTL_H):
3095 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3096 * s/cygwin.h (GETPGRP_NO_ARG):
3097 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3098 (C_DEBUG_SWITCH): Remove duplicate definition.
3099
3100 * m/ibms390.h: Remove boilerplate comments.
3101
3102 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3103
3104 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3105 (wait_reading_process_output): Remove code for SunOS, platform not
3106 supported anymore. Use SOLARIS2 instead of sun.
3107
31082008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3109
3110 * font.c (font_open_by_name): Under NS, default lface height to zero.
3111 (font_open_for_lface): Under NS, set size based on frame fontsize.
3112 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3113 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3114
31152008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3116
3117 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3118 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3119 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3120 YES/NO.
3121 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3122 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3123 * Makefile.in (clean): Clear out build destination dir.
3124
31252008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3126
3127 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3128 xterm, xselect.
3129 * lisp.h: Remove declaration of hash_remove.
3130 * nsgui.h: Remove redefinitions of hash_remove.
3131 * fns.c (hash_remove): Rename to hash_remove_from_table.
3132
31332008-07-19 Seiji Zenitani <zenitani@mac.com>
3134
3135 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3136 strdup() the family UTF8String before modifying it.
3137
31382008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3139
3140 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3141 NS_FACE_BACKGROUND with 0 instead of nil.
3142 * nsfont.m (nsfont_draw): Same.
3143
31442008-07-19 Chong Yidong <cyd@stupidchicken.com>
3145
3146 * nsfns.m (ns_set_background_color): Fix crash.
3147
31482008-07-18 Chong Yidong <cyd@stupidchicken.com>
3149
3150 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3151
31522008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3153
3154 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3155
31562008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3157
3158 * gtkutil.c: Include <config.h> instead of "config.h".
3159
3160 * lisp.h (Foverlay_buffer): Add EXFUN.
3161
3162 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3163 child process to complete child_setup. Undo 2005-09-21 change.
3164
3165 * s/darwin.h: Mention setsid after vfork.
3166
31672008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3168
3169 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3170 Depend on macgui.h.
3171
3172 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3173 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3174
3175 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3176 and f19.
3177 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3178
3179 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3180 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3181 Remove enumerators.
3182
3183 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3184 Check if FACE_FROM_ID returns NULL.
3185
31862008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3187
3188 * w32inevt.c (change_frame_size): Remove extern declaration.
3189 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3190 change_frame_size.
3191
31922008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3193
3194 * getloadavg.c: Revert last change (2008-07-15).
3195
31962008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3197
3198 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3199 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3200 from configure.
3201
32022008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3203
3204 * s/sol2.h:
3205 * s/sol2-4.h: Reorganize conditionals.
3206
3207 * ecrt0.c: Remove code depending on m68000, not used anymore.
3208
3209 * fns.c (hash_remove): Make static.
3210 * lisp.h (hash_remove): Don't prototype.
3211
3212 * m/ibmrs6000.h:
3213 * m/ibms390x.h:
3214 * m/macppc.h: Remove boilerplate comments.
3215
3216 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3217 Solaris, which does not need them.
3218
3219 * m/vax.h: Remove comments about unsupported systems.
3220
3221 * s/darwin.h: Reorganize ifdefs.
3222
32232008-07-17 Andreas Schwab <schwab@suse.de>
3224
3225 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3226
32272008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3228
3229 Use SDATA. Follow coding convention of placing operators at
3230 beginning of next line rather than end of previous line, and placing
3231 spaces around infix operators.
3232
3233 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3234 in case it was defined already.
3235 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3236 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3237 ns_default.
3238 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3239 Lisp_Objects.
3240 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3241 (ns_defined_color, ns_color_to_lisp): Declare.
3242 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3243 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3244 it's accepted even with USE_LISP_UNION_TYPE.
3245 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3246 (update_frame_tool_bar): Remove apparently obsolete tests for
3247 non-integerness of f->tool_bar_lines.
3248 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3249 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3250 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3251 (nsfont_open): Don't confuse NULL for Qnil.
3252 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3253 * menu.h (find_and_call_menu_selection):
3254 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3255 (find_and_return_menu_selection): Always return something.
3256 * frame.h: Include dispextern.h for Display_Info.
3257 (display_x_get_resource): Declare.
3258
32592008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3260
3261 * syntax.c: Remove stdio.h include accidentally introduced in
3262 Emacs.app commit.
3263 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3264 NS_IMPL_COCOA.
3265 * keyboard.c (handle_async_input, input_available_signal): Remove
3266 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3267
32682008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3269
3270 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3271 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3272 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3273 Use SDATA.
3274
3275 * keymap.c: Remove all NS-specific code.
3276 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3277 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3278 where_is_preferred_modifier, return a different value depending on how
3279 preferred is the binding.
3280 (where_is_internal): Adjust accordingly.
3281 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3282 Adjust to new preferred_sequence_p.
3283 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3284 * keyboard.c (parse_solitary_modifier): Not static any more.
3285 * keyboard.h (parse_solitary_modifier): Declare.
3286
32872008-07-16 Andreas Schwab <schwab@suse.de>
3288
3289 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3290 of easymenu.
3291
32922008-07-16 Chong Yidong <cyd@stupidchicken.com>
3293
3294 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3295 that we don't move off the line.
3296
32972008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3298
3299 * keyboard.c (Qsuper): Remove.
3300 (parse_menu_item): Don't call where_is_internal specially for NS.
3301
33022008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3303
3304 * s/gnu-linux.h: Remove boilerplate comments.
3305
3306 * m/alpha.h (__ELF__): Consolidate conditions.
3307
3308 * m/m68k.h (linux): Use GNU_LINUX instead.
3309 Remove boilerplate comments.
3310
3311 * m/intel386.h: Undo refactoring from previous change.
3312 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3313 too, remove dead code.
3314 (linux): Use GNU_LINUX instead.
3315
33162008-07-16 Jason Rumney <jasonr@gnu.org>
3317
3318 * w32gui.h: Repeat 26 June changes lost by last change.
3319
33202008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3321
3322 * systty.h: Remove code for Aix on 386, unsupported platform.
3323
3324 * s/ms-w32.h: Remove boilerplate comments.
3325 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3326
3327 * s/gnu-linux.h (TERM): Remove support.
3328 (HAVE_SYSVIPC): Remove, unused.
3329 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3330 for this system.
3331
3332 * process.c: Remove support for IRIS, unused.
3333 Remove support for TERM, not relevant anymore.
3334
3335 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3336 used with the definition.
3337
3338 * s/aix4-2.h (static): Do not undef.
3339
3340 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3341 only used on Aix.
3342 (HAVE_SYSVIPC): Remove, unused.
3343
3344 * m/hp800.h (CANNOT_DUMP): Do not undef.
3345
3346 * m/alpha.h: Fix comment.
3347
3348 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3349 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3350 used by this configuration.
3351 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3352 * unexec.c: Remove code depending on HPUX and
3353 USG_SHARED_LIBRARIES, not used with this file. Remove code
3354 depending on IRIS, unused. Remove if 0-ed code.
3355
3356 * s/template.h: Remove comments about static.
3357
3358 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3359 Remove if 0-ed code.
3360 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3361 were the same as the default.
3362 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3363 Remove boilerplate comments.
3364 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3365 (HAVE_SYSVIPC): Remove, unused.
3366 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3367
3368 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3369 Remove boilerplate comments.
3370 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3371 Remove boilerplate comments.
3372 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3373 Remove boilerplate comments.
3374 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3375
3376 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3377 USG systems which do not use DATA_SEG_BITS.
3378 Refactor code. Remove boilerplate comments.
3379
3380 * m/ibms390.h:
3381 * m/m68k.h:
3382 * s/bsd-common.h:
3383 * s/cygwin.h:
3384 * s/darwin.h:
3385 * s/freebsd.h:
3386 * s/gnu.h:
3387 * s/msdos.h: Remove boilerplate comments.
3388
3389 * m/iris4d.h: Remove boilerplate comments and code for systems that
3390 do not use this file.
3391 (IRIS_4D): Remove, unused.
3392
3393 * m/mips.h: Remove boilerplate comments and code for systems that
3394 do not use this file.
3395 (SIGN_EXTEND_CHAR):
3396 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3397 * unexmips.c: Remove file, unused.
3398
3399 * editfns.c (Fuser_full_name): Replace the only use of
3400 USER_FULL_NAME with its value.
3401 * config.in: Regenerate.
3402
34032008-07-16 David Reitter <david.reitter@gmail.com>
3404
3405 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3406 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3407
34082008-07-16 Glenn Morris <rgm@gnu.org>
3409
3410 * emacs.c (system-type): Doc fix.
3411
34122008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3413
3414 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3415 If the cache doesn't work, let's fix it, rather than work around it.
3416
34172008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3418
3419 * Makefile.in: Correct additions for nsfont.o in last commit.
3420 * nsfont.m: New file (forgot last commit).
3421
34222008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3423
3424 * callproc.c (set_initial_environment): Initialize
3425 Vprocess_environment under CANNOT_DUMP (fixes crash when
3426 batch-compiling for bootstrap).
3427
34282008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3429 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3430
3431 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3432 fix crash due to different init order.
3433
34342008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3435
3436 Changes and additions for NeXTstep windowing system (Cocoa and
3437 GNUstep) support.
3438
3439 * Makefile.in:
3440 * config.in: Support defines and build commands for NS port.
3441 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3442 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3443 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3444 windowing.
3445 (struct face): Add synth_ital field.
3446 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3447 (init_display): Initialize Vinitial_window_system to "ns" when so
3448 compiled.
3449 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3450 (display_arg): Use under NS.
3451 (main): Under NS, allocate autorelease pool and handle command line
3452 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3453 (standard_args): Add NS-specific args.
3454 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3455 * font.c (DEFAULT_ENCODING): New variable.
3456 (font_find_for_lface): Use it.
3457 (syms_of_font): Load syms_of_nsfont under NS.
3458 * font.h: Declare nsfont_driver when compiled under NS.
3459 * fontset.c: When compiling under NS, include nsterm.h.
3460 (fontset_from_font): Autoconstruct fontset under NS.
3461 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3462 symbol, document and use it.
3463 (do_switch_frame): When for_deletion under Cocoa, add
3464 Fraise_frame(Qnil).
3465 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3466 (x_get_arg): Allow "yes" and "no" as boolean values.
3467 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3468 Qright under Cocoa.
3469 (focus-follows-mouse): Default to 0 under NS.
3470 * frame.h (enum output_method): Add output_ns.
3471 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3472 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3473 (FRAME_WINDOW_P): NS-specific definition.
3474 * fringe.c (max_used_fringe_bitmap): Make public.
3475 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3476 (getloadavg): Use NeXT code under descendant OS's.
3477 * image.c (includes and header section, x_create_bitmap_from_data)
3478 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3479 (image_background_transparent, x_clear_image_1)
3480 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3481 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3482 (x_to_xcolors, x_from_xcolors, x_disable_image)
3483 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3484 other GUIs, including XPM support using code originally written for
3485 Carbon GUI.
3486 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3487 using NS API.
3488 (image_ascent): Use font metrics macros instead of direct struct field
3489 access.
3490 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3491 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3492 Also, handle NS as GTK for menu bar purposes.
3493 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3494 toolkit where they differ.
3495 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3496 use cachelist, still needed under NS.
3497 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3498 (struct widget_value): Define it here for menu.c.
3499 * keymap.c (includes): Include modifier internals.
3500 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3501 NS.
3502 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3503 support for preferring sequences using certain modifiers, specified by
3504 the FIRSTONLY argument.
3505 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3506 under NS GNUstep implementation.
3507 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3508 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3509 * menu.c: Include nsterm.h under NS.
3510 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3511 (free_menubar_widget_tree_value, update_submenu_strings)
3512 (find_and_call_menu_selection): Treat NS as X and NT.
3513 (find_and_return_menu_selection): New function, used for popup menus.
3514 * nsgui.h:
3515 * nsterm.h:
3516 * nsfns.m:
3517 * nsimage.m:
3518 * nsmenu.m:
3519 * nsselect.m:
3520 * nsterm.m: New files.
3521 * process.c (wait_reading_process_output): Under NS, call ns_select()
3522 instead of plain select().
3523 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3524 beginning of buffer.
3525 * sysselect.h (init_process): Rename when compiling under Cocoa to
3526 avoid name conflict.
3527 * termhooks.h (display_info): Add ns_display_info to union.
3528 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3529 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3530 COCOA environment.
3531 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3532 unexec() signature. (Note, this will dump, but the resulting file
3533 crashes; unexosx is used instead; keeping around for reference and
3534 possible aid in getting dump working under GNUstep.)
3535 * w32gui.h (button_type, widget_value): Remove definitions (now in
3536 keyboard.h).
3537 * window.c: Include nsterm.h when compiling under NS.
3538 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3539 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3540 other GUI windowing systems.
3541 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3542 GTK.
3543 (x_consider_frame_title): Under NS, set icon type and frame
3544 modified-state indicator; use ns_set_name_as_filename() when using
3545 formatted title.
3546 (update_window_cursor): Make public when compiling under NS.
3547 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3548 (hourglass_atimer, Vhourglass_delay
3549 * xfaces.c (header section, init_frame_faces, clear_font_table)
3550 (defined_color, unload_color, x_face_list_fonts)
3551 (prepare_face_for_display): Add NS support parallel to other GUIs.
3552 Emulate GCs like other non-X GUIs.
3553 (split_font_name): Don't lowercase font name under NS.
3554 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3555 under NS.
3556 * s/darwin.h: Add support for compilation under NS.
3557
35582008-07-15 Jason Rumney <jasonr@gnu.org>
3559
3560 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3561 (w32_show_hourglass): Rename from show_hourglass.
3562 (w32_hide_hourglass): Rename from hide_hourglass.
3563 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3564 (Vhourglass_delay): Declare extern.
3565 (hourglass_started): Remove.
3566
3567 * xdisp.c (Vhourglass_delay): Remove static.
3568 (hourglass_started, start_hourglass, cancel_hourglass):
3569 Don't include these versions on WINDOWSNT.
3570
35712008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3572
3573 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3574 variables (formerly in xfns.c).
3575 (show_hourglass, hide_hourglass): New prototypes (same).
3576 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3577 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3578 in xfns.c).
3579 (syms_of_xdisp): Declare/initialize display-hourglass,
3580 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3581 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3582 formerly in xfns.c.
3583 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3584 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3585 (start_hourglass, cancel_hourglass): Remove.
3586 (show_hourglass, hide_hourglass): Remove prototypes and static
3587 modifiers.
3588 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3589 hourglass_atimer, hourglass_shown_p declaration/initialization.
3590 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3591 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3592 (start_hourglass, cancel_hourglass): Remove.
3593 (show_hourglass, hide_hourglass): Remove prototypes and static
3594 modifiers.
3595 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3596 hourglass_atimer, hourglass_shown_p declaration/initialization.
3597 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3598 (DEFAULT_HOURGLASS_DELAY): Remove.
3599 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3600 hourglass_shown_p declaration/initialization.
3601
36022008-07-14 Jason Rumney <jasonr@gnu.org>
3603
3604 * w32fns.c (w32_get_arg): Remove wrapper function.
3605 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3606 directly.
3607 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3608
36092008-07-14 Kenichi Handa <handa@m17n.org>
3610
3611 * xfont.c (xfont_open): Add workaround for X's bug.
3612
36132008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3614
3615 * fontset.c: Include <stdio.h> unconditionally.
3616
36172008-07-13 Michael Albinus <michael.albinus@gmx.de>
3618
3619 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3620 for filtering.
3621
36222008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3623
3624 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3625
3626 * m/macppc.h:
3627 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3628
3629 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3630 (SPECIAL_EMACS_INT):
3631 * m/ia64.h (SPECIAL_EMACS_INT):
3632 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3633 * s/gnu.h (NLIST_STRUCT):
3634 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3635 * s/gnu-linux.h (LINUX):
3636 * s/msdos.h (HAVE_FACES):
3637 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3638
3639 * systty.h:
3640 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3641 anymore.
3642
36432008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3644
3645 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3646 always defined as int.
3647
3648 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3649 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3650 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3651 * s/freebsd.h (HAVE_WAIT_HEADER):
3652 * s/bsd-common.h (HAVE_UNION_WAIT):
3653 * s/aix4-2.h (HAVE_WAIT_HEADER):
3654 * m/mips.h (HAVE_UNION_WAIT):
3655 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3656 (COFF, static): Do not define, they are undefined later in the file.
3657
3658 * process.c (update_status): Don't use a union.
3659 (status_convert):
3660 (sigchld_handler): Use int instead of WAITTYPE.
3661
36622008-07-12 Chong Yidong <cyd@stupidchicken.com>
3663
3664 * indent.c (Fvertical_motion): Restore hscroll before moving to
3665 goal column.
3666
36672008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3668
3669 * lisp.h: Remove left over code.
3670
36712008-07-11 Andreas Schwab <schwab@suse.de>
3672
3673 * lisp.h: Fix logic in last change.
3674
3675 * menu.h: New file.
3676 * menu.c: Include it.
3677 * xmenu.c: Likewise.
3678 * Makefile.in: Update dependencies.
3679
36802008-07-11 Kenichi Handa <handa@m17n.org>
3681
3682 * fontset.c (fontset_from_font): Cancel the previous change.
3683
36842008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3685
3686 * lisp.h:
3687 * w32heap.c:
3688 * emacs.c:
3689 * alloc.c: Replace all references of NO_UNION_TYPE with
3690 USE_LISP_UNION_TYPE.
3691
3692 * m/xtensa.h (NO_UNION_TYPE):
3693 * m/vax.h (NO_UNION_TYPE):
3694 * m/template.h (NO_UNION_TYPE):
3695 * m/sparc.h (NO_UNION_TYPE):
3696 * m/mips.h (NO_UNION_TYPE):
3697 * m/macppc.h (NO_UNION_TYPE):
3698 * m/m68k.h (NO_UNION_TYPE):
3699 * m/iris4d.h (NO_UNION_TYPE):
3700 * m/intel386.h (NO_UNION_TYPE):
3701 * m/ibms390x.h (NO_UNION_TYPE):
3702 * m/ibms390.h (NO_UNION_TYPE):
3703 * m/ibmrs6000.h (NO_UNION_TYPE):
3704 * m/ia64.h (NO_UNION_TYPE):
3705 * m/hp800.h (NO_UNION_TYPE):
3706 * m/arm.h (NO_UNION_TYPE):
3707 * m/amdx86-64.h (NO_UNION_TYPE):
3708 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3709 defining it the same.
3710
37112008-07-10 Chong Yidong <cyd@stupidchicken.com>
3712
3713 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3714
37152008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3716
3717 * fileio.c:
3718 * sysdep.c
3719 * systty.h:
3720 * m/ibmrs6000.h:
3721 * m/iris4d.h:
3722 * s/aix4-2.h:
3723 * s/freebsd.h:
3724 * s/gnu-linux.h:
3725 * s/hpux10-20.h:
3726 * s/hpux11.h:
3727 * s/netbsd.h:
3728 * s/sol2-3.h:
3729 * s/sol2-4.h:
3730 * s/sol2.h:
3731 * s/usg5-4.h:
3732 * s/vms.h: Remove references to unused variables.
3733
37342008-07-10 Andreas Schwab <schwab@suse.de>
3735
3736 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3737 pattern before matching the generic family.
3738
37392008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3740
3741 * unexec.c:
3742 * s/vms.h:
3743 * s/usg5-4-2.h:
3744 * s/sol2-5.h:
3745 * s/freebsd.h:
3746 * s/darwin.h: Remove dead code.
3747
3748 * m/template.h:
3749 * m/sparc.h:
3750 * m/mips.h:
3751 * m/m68k.h:
3752 * m/iris4d.h:
3753 * m/intel386.h:
3754 * m/ibms390x.h:
3755 * m/ibms390.h:
3756 * m/ia64.h:
3757 * m/hp800.h:
3758 * m/arm.h:
3759 * m/amdx86-64.h: Remove dead code and references to unused
3760 and compiler defined symbols.
3761
3762 * unexmips.c:
3763 * unexelf.c: Remove references to desupported systems.
3764
3765 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3766
3767 * m/powermac.h: Remove boilerplate comments.
3768 (NO_REMAP): Remove unused definition.
3769
3770 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3771 define them.
3772
37732008-07-10 Kenichi Handa <handa@m17n.org>
3774
3775 * xfont.c (xfont_open): Log the reason of failure.
3776
37772008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3778
3779 * fontset.c (fontset_get_font_group):
3780 * font.c (font_check_otf): Specify argument types.
3781
37822008-07-09 Kenichi Handa <handa@m17n.org>
3783
3784 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3785 non-ASCII char is found.
3786
3787 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3788 (reorder_font_vector): Change the arg preferred_family to font.
3789 Prefer the spec matching with font.
3790 (fontset_get_font_group): New function.
3791 (fontset_find_font): Change the format of an element of a realized
3792 fontset. Use fontset_get_font_group.
3793 (fontset_font): Try the current fontset, the default fontset, the
3794 fallbacks of the current fontset, and the fallbacks of the default
3795 fontset in this order.
3796 (face_for_char): Delete the shortcut to use the current font.
3797 (fontset_from_font): Don't set fonts for Latin in the fontset.
3798
3799 * font.h (font_make_object, font_match_p): Adjust prototypes.
3800
3801 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3802
3803 * font.c (font_make_object): New arg entity and pixelsize.
3804 (font_check_otf_features, font_check_otf): New functions.
3805 (font_match_p): Check :lang, :script, and :otf properties.
3806
3807 * xfont.c (xfont_open): Adjust it for the change of
3808 font_make_object.
3809 (xfont_text_extents): Fix initial setting of metrics.
3810
3811 * ftfont.c (struct ftfont_info): New member index, delete member
3812 fc_charset_idx. Make the member order compatible with struct
3813 xftfont_info.
3814 (fc_charset_table): Change charset names to registry names.
3815 (ftfont_pattern_entity): Delete the args registry and
3816 fc_charset_idx. Change the value of :font-entity property
3817 to (FONTNAME . INDEX). Always set :registry property to
3818 `iso10646-1'.
3819 (struct ftfont_cache_data): New struct.
3820 (ftfont_lookup_cache): New arg for_face.
3821 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3822 (ftfont_driver): Set the member otf_capability.
3823 (ftfont_get_charset): Adjust it for the change of
3824 fc_charset_table.
3825 (OTF_TAG_SYM): New macro.
3826 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3827 for the change of fc_charset_table.
3828 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3829 ftfont_pattern_entity. Add FC_INDEX to objset.
3830 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3831 and ftfont_pattern_entity.
3832 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3833 font_make_object, struct ftfont_info.
3834 (ftfont_has_char): Use ftfont_get_fc_charset.
3835 (ftfont_otf_features, ftfont_otf_capability): New functions.
3836 (ftfont_shape): Use ftfont_get_otf.
3837 (ftfont_text_extents): Fix initial setting of metrics.
3838
3839 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3840 member order compatible with struct ftfont_info.
3841 (xftfont_open): Add FC_CHARSET to the pattern. Set
3842 xftfont_info->ft_size. Don't unlock the face. Check BDF
3843 properties if appropriate.
3844 (xftfont_close): Unlock the face.
3845 (xftfont_anchor_point, xftfont_shape): Deleted.
3846 (syms_of_xftfont): Don't set members anchor_point and shape of
3847 xftfont_driver.
3848
3849 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3850 font_make_object.
3851
3852 * w32font.c (w32font_open): Adjust it for the change of
3853 font_make_object.
3854 (w32font_open_internal): Don't set properties of font_object here.
3855
38562008-07-08 Chong Yidong <cyd@stupidchicken.com>
3857
3858 * macfns.c (x_create_tip_frame):
3859 * w32fns.c (x_create_tip_frame):
3860 * xfns.c (x_create_tip_frame): Pass parameter argument to
3861 face-set-after-frame-default.
3862
3863 * xfaces.c (Finternal_merge_in_global_face): Save merged
3864 attributes for the default face back into the face vector.
3865
38662008-07-08 Andreas Schwab <schwab@suse.de>
3867
3868 * fontset.h: Declare fontset_from_font. Don't declare
3869 new_fontset_from_font and fontset_from_font_name.
3870 * xterm.c: Include "fontset.h".
3871 * Makefile.in (xterm.o): Update dependencies.
3872
38732008-07-08 Glenn Morris <rgm@gnu.org>
3874
3875 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3876 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3877
38782008-07-07 Chong Yidong <cyd@stupidchicken.com>
3879
3880 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3881 (x_set_frame_parameters): Don't bind it.
3882
38832008-07-07 Juanma Barranquero <lekktu@gmail.com>
3884
3885 * w32fns.c (map_w32_filename): Declare extern.
3886
38872008-07-07 Jason Rumney <jasonr@gnu.org>
3888
3889 * w32term.c (WS_EX_LAYERED): Define if not already.
3890
38912008-07-06 Chong Yidong <cyd@stupidchicken.com>
3892
3893 * xfaces.c (set_font_frame_param): Don't try to set the font
3894 parameter if it is still unspecified in the lface.
3895
38962008-07-05 Chong Yidong <cyd@stupidchicken.com>
3897
3898 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3899 face if it didn't already exist.
3900
3901 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3902
39032008-07-05 Andreas Schwab <schwab@suse.de>
3904
3905 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3906
39072008-07-05 Chong Yidong <cyd@stupidchicken.com>
3908
3909 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3910 word-wrapping.
3911 (IT_DISPLAYING_WHITESPACE): New macro.
3912 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3913 when word-wrapping. Simplify word-wrapping logic. Use correct
3914 pixel positions when saving copies of the iterator.
3915 (display_line): Use proper wrap point if the last character on a
3916 line was preceded by whitespace.
3917
39182008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3919
3920 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3921
39222008-07-04 Kenichi Handa <handa@m17n.org>
3923
3924 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3925
3926 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3927
39282008-07-02 Jason Rumney <jasonr@gnu.org>
3929
3930 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 3931 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
3932
3933 * xdisp.c (next_element_from_display_vector): Move assignment out
3934 of if statement.
3935
39362008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3937
3938 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3939
3940 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3941 (syms_of_fileio): Initialize and export them.
3942 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3943
3944 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3945 (Fsystem_move_file_to_trash): New function.
3946 (syms_of_w32fns): Export it to lisp.
3947
39482008-07-01 Jason Rumney <jasonr@gnu.org>
3949
3950 * w32font.c (w32font_text_extents): Don't count overhang as part
3951 of width.
3952
39532008-06-30 Miles Bader <miles@gnu.org>
3954
3955 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3956 Add `avoid_cursor_p' field.
3957
3958 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3959 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3960 (append_glyph, append_composite_glyph, produce_image_glyph)
3961 (append_stretch_glyph): Initialize avoid_cursor_p.
3962 (get_it_property): Rename from `get_line_height_property'.
3963 (x_produce_glyphs): Use get_it_property.
3964 (handle_line_prefix, push_display_prop): New functions.
3965 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3966 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3967 New variables.
3968 (syms_of_xdisp): Initialize them.
3969
39702008-06-30 Kenichi Handa <handa@m17n.org>
3971
3972 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3973 XftDefaultSubstitute (they are called in XftFontMatch).
3974 (xftfont_open): Fix args to ftfont_font_format.
3975
3976 * ftfont.c (fc_charset_table): New member lang.
3977 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3978 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3979 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3980 (ftfont_open): Fix args to ftfont_font_format.
3981 (ftfont_font_format): New arg filename.
3982
39832008-06-30 Chong Yidong <cyd@stupidchicken.com>
3984
3985 * xfaces.c (Finternal_merge_in_global_face): If default face was
3986 modified, realize it again. Update the font face attribute.
3987
39882008-06-29 Jason Rumney <jasonr@gnu.org>
3989
3990 * w32term.c (x_set_frame_alpha): Fix logic.
3991
39922008-06-29 Kenichi Handa <handa@m17n.org>
3993
3994 * fontset.c (Finternal_char_font): Return font-object instead of
3995 font-name.
3996
3997 * composite.c (get_composition_id): Fix the width calculation for TAB.
3998
39992008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4000
4001 * indent.c (Fvertical_motion): Properly handle float column arg.
4002
40032008-06-28 Jason Rumney <jasonr@gnu.org>
4004
4005 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4006 (pfnSetLayeredWindowAttributes): New function pointer.
4007 (w32_initialize): Initialize it when supported.
4008 (x_set_frame_alpha): New function.
4009
4010 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4011 (w32_frame_parm_handlers): Set alpha handler.
4012
4013 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4014
40152008-06-27 Jason Rumney <jasonr@gnu.org>
4016
4017 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4018 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4019 (w32_to_x_charset, x_to_w32_charset)
4020 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4021 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4022 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4023 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4024 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4025 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4026 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4027 (Qw32_charset_unicode): Remove.
4028 (syms_of_w32fns): Update for above changes.
4029
4030 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4031 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4032 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4033 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4034 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4035 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4036 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4037 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4038 (syms_of_w32font): Update for above changes.
4039
40402008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4041
4042 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4043 removed #if.
4044 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4045
40462008-06-26 Juanma Barranquero <lekktu@gmail.com>
4047 Eli Zaretskii <eliz@gnu.org>
4048
4049 * makefile.w32-in (LOCAL_FLAGS):
4050 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4051
4052 * sysdep.c (_spawnlp, _getpid):
4053 Declare with explicit _cdecl instead of _CRTAPI1.
4054
4055 * editfns.c (Fget_internal_run_time):
4056 Check for WINDOWSNT with #ifdef, not #if.
4057
40582008-06-26 Jason Rumney <jasonr@gnu.org>
4059
4060 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4061
4062 * w32term.c (x_draw_glyph_string_foreground)
4063 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4064 Use FONT_HANDLE macro.
4065 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4066
4067 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4068 (uniscribe_encode_char): Use FONT_HANDLE macro.
4069
4070 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4071 (w32font_text_extents): Use precast w32_font.
4072 (w32font_close): Free cached metrics.
4073 (w32font_open_internal): Allocate space for name on stack.
4074
40752008-06-26 Chong Yidong <cyd@stupidchicken.com>
4076
4077 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4078
40792008-06-26 Jason Rumney <jasonr@gnu.org>
4080
4081 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4082 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4083
40842008-06-26 Juanma Barranquero <lekktu@gmail.com>
4085
4086 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4087
40882008-06-26 Jason Rumney <jasonr@gnu.org>
4089
4090 * w32bdf.c, w32bdf.h: Remove obsolete files.
4091
4092 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4093
4094 * w32gui.h: Don't include w32bdf.h.
4095 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4096 Remove obsolete font support.
4097
4098 * w32font.h (struct w32font_info): Remove compat_w32_font.
4099 Add hfont member.
4100 (FONT_COMPAT): Remove obsolete macro.
4101
4102 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4103 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4104 (w32font_open_internal): Remove compat code. Set new hfont member.
4105 (Fx_select_font): Use new hfont member.
4106
4107 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4108 (uniscribe_encode_char): Use new hfont member.
4109
4110 * w32term.c (x_draw_glyph_string_foreground)
4111 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4112 (x_draw_glyph_string): Use metrics in w32font_info.
4113
41142008-06-26 Kenichi Handa <handa@m17n.org>
4115
4116 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4117
41182008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4119
4120 * unexnext.c:
4121 * m/ews4800.h:
4122 * m/hp9000s300.h:
4123 * m/ibm370aix.h:
4124 * m/mips-siemens.h:
4125 * m/ncr386.h:
4126 * m/next.h:
4127 * m/pmax.h:
4128 * m/powerpcle.h:
4129 * m/tandem-s2.h:
4130 * s/386bsd.h:
4131 * s/bsd386.h:
4132 * s/bsd4-1.h:
4133 * s/bsd4-2.h:
4134 * s/bsdos2-1.h:
4135 * s/bsdos2.h:
4136 * s/bsdos3.h:
4137 * s/bsdos4.h:
4138 * s/nextstep.h:
4139 * s/ultrix4-3.h:
4140 * s/usg5-0.h:
4141 * s/usg5-2-2.h:
4142 * s/usg5-2.h:
4143 * s/usg5-4-3.h:
4144 * s/ux4800.h:
4145 * s/uxpds.h:
4146 * s/uxpv.h: Remove support for obsolete systems.
4147 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
4148 Remove, insert contents in s/hpux-10.20.h.
4149 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4150 Remove, insert contents in s/aix4-2.h.
4151 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4152 * s/bsd4-3.h: Rename to ...
4153 * s/bsd-common.h: ... this.
4154 * data.c:
4155 * doc.c:
4156 * ecrt0.c:
4157 * emacs.c:
4158 * fileio.c:
4159 * floatfns.c:
4160 * keyboard.c:
4161 * mem-limits.h:
4162 * print.c:
4163 * process.c:
4164 * sysdep.c:
4165 * syssignal.h:
4166 * systty.h:
4167 * syswait.h:
4168 * term.c:
4169 * unexec.c:
4170 * unexelf.c:
4171 * unexhp9k800.c:
4172 * m/hp800.h:
4173 * m/ibmrs6000.h:
4174 * m/mips.h:
4175 * m/vax.h:
4176 * s/darwin.h:
4177 * s/freebsd.h:
4178 * s/gnu.h:
4179 * s/ms-w32.h:
4180 * s/msdos.h:
4181 * s/netbsd.h:
4182 * s/template.h: Remove references to obsolete variables.
4183
4184 * Makefile.in: Add dependencies for all unexec files.
4185 (admindir): Remove unused variable.
4186 (UNEXEC_SRC): Remove references.
4187
41882008-06-25 Chong Yidong <cyd@stupidchicken.com>
4189
4190 * xfns.c (x_default_font_parameter): If Xft is available, first
4191 try Monospace-12 for the default font.
4192
41932008-06-25 Jason Rumney <jasonr@gnu.org>
4194
4195 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4196
41972008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4198
4199 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4200
4201 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4202
42032008-06-25 Juanma Barranquero <lekktu@gmail.com>
4204
4205 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4206 <scroll-conservatively>: Fix typo in docstring.
4207
4208 * xselect.c (Fx_send_client_event): Doc fix.
4209
42102008-06-25 Kenichi Handa <handa@m17n.org>
4211
4212 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4213
4214 * font.c (font_parse_fcname): Remove unused variables.
4215 (font_sort_entites): Delete the arg SPEC. Caller changed.
4216 Fix for the case of ! best_only.
4217 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4218
4219 * lisp.h (Fstring_to_unibyte): EXFUN it.
4220
4221 * character.h (str_to_unibyte): Extern it.
4222
4223 * character.c (str_to_unibyte): New function.
4224
4225 * fns.c (Fstring_to_unibyte): New function.
4226 (syms_of_fns): Defsubr it.
4227
42282008-06-24 Kenichi Handa <handa@m17n.org>
4229
4230 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4231 DPI too.
4232 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4233
42342008-06-24 Andreas Schwab <schwab@suse.de>
4235
4236 * Makefile.in (${lispsource}loaddefs.el): Rename from
4237 ../lisp/loaddefs.el.
4238 (bootstrap-clean): Do what distclean does but don't remove
4239 Makefile.
4240 (distclean): Depend on bootstrap-clean and remove Makefile.
4241
42422008-06-24 Chong Yidong <cyd@stupidchicken.com>
4243
4244 * buffer.h (struct buffer): New member word_wrap.
4245
4246 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4247 word-wrap.
4248 (init_buffer_once): Initialize them.
4249
4250 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4251 line_wrap enum possessing three possible values.
4252
4253 * termopts.h: Replace truncate_partial_width_windows with
4254 Vtruncate_partial_width_windows.
4255
4256 * dispnew.c (direct_output_for_insert): Avoid direct output when
4257 inserting a space with word wrap on.
4258
4259 * indent.c (compute_motion): Obey integer values of
4260 truncate-partial-width-windows.
4261
4262 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4263 replacing truncate_partial_width_windows.
4264 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4265 truncate only if the window width is below that integer.
4266 (start_display, resize_mini_window, produce_stretch_glyph)
4267 (display_string, move_it_in_display_line_to): Use line_wrap.
4268 (back_to_previous_visible_line_start, reseat_1): Reset
4269 string_from_display_prop_p.
4270 (display_line): Extend default face to end of line when wrapping.
4271
42722008-06-24 Kim F. Storm <storm@cua.dk>
4273
4274 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4275 to wrap continued lines at word boundaries.
4276
42772008-06-24 Jason Rumney <jasonr@gnu.org>
4278
4279 * font.c (Ffont_face_attributes): Multiply pixel size before point
4280 conversion to avoid multiplying rounding error.
4281
42822008-06-23 Jason Rumney <jasonr@gnu.org>
4283
4284 * w32term.c (x_draw_glyph_string_background)
4285 (x_draw_glyph_string): Remove old bdf font code.
4286
4287 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4288
42892008-06-22 Kenichi Handa <handa@m17n.org>
4290
4291 * font.c (font_find_for_lface): Try the adstyle specified in
4292 the property of LFACE_FONT of LFACE (if any).
4293
42942008-06-21 Seiji Zenitani <zenitani@mac.com>
4295 Ryo Yoshitake <ryo@shiftmode.net>
4296
4297 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4298
42992008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4300
4301 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4302 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4303 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4304 (witness-emacs): Remove.
4305 (lisp, shortlisp): Move loaddefs.el earlier.
4306 (mostlyclean): Forget about witness-emacs.
4307
43082008-06-22 Glenn Morris <rgm@gnu.org>
4309
4310 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4311 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4312
43132008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4314
4315 * Makefile.in (PRECOMP): Remove.
4316 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4317 (witness-emacs): Run `compile-first'.
4318 (.el.elc): Use the new compile-onefile target.
4319
43202008-06-21 Kenichi Handa <handa@m17n.org>
4321
4322 * xftfont.c (xftfont_open): Handle QCembolden only when
4323 FC_EMBOLDEN is defined.
4324
43252008-06-21 Andreas Schwab <schwab@suse.de>
4326
4327 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4328 (.el.elc): Likewise.
4329
43302008-06-21 Miles Bader <miles@gnu.org>
4331
4332 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4333 build dir, not the lisp source dir.
4334
43352008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4336
4337 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4338 (bootstrapclean): Remove.
4339 (.el.elc): New rule.
4340 (PRECOMP): New var.
4341 (../lisp/subdirs.el): Remove.
4342 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4343 (witness-emacs): New target.
4344 (mostlyclean): Remove witness-emacs as well.
4345 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4346 Add witness-emacs dependency.
4347
43482008-06-20 Chong Yidong <cyd@stupidchicken.com>
4349
4350 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4351 defined by the font.
4352
43532008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4354
4355 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4356 (bootstrap-clean): New target that keeps TAGS around.
4357 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4358 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4359
43602008-06-20 Jason Rumney <jasonr@gnu.org>
4361
4362 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4363 Remove obsolete font code.
4364
4365 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4366 to determine language support.
4367
43682008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4369
4370 * sysdep.c (cfsetspeed): New fun extracted from the code.
4371 (cfmakeraw): Move before first use.
4372
43732008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4374
4375 * sysdep.c (cfmakeraw): Provide fallback implementation.
4376 (serial_configure): Provide fallback implementation of cfsetspeed.
4377
43782008-06-20 Kenichi Handa <handa@m17n.org>
4379
4380 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4381 the pattern.
4382
4383 * fontset.c (fontset_from_font): Copy font_spec before changing
4384 the elements.
4385
4386 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4387
43882008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4389
4390 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4391 for explicit `font' parameters.
4392
4393 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4394
43952008-06-19 Kenichi Handa <handa@m17n.org>
4396
4397 * frame.c: Include <ctype.h>.
4398 (x_set_font_backend): Allow spacing characters in the X resource
4399 for FontBackend.
4400
44012008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4402
4403 * w32fns.c, xfns.c (Qfont_param): New var.
4404 (syms_of_w32fns): Initialize it.
4405 (x_default_font_parameter): Record explicit `font' into
4406 `font-parameter'.
4407
44082008-06-18 Kenichi Handa <handa@m17n.org>
4409
4410 * font.c (font_parse_xlfd): Fix previous change.
4411 (font_parse_fcname): Don't use :fc-unknown-spec.
4412 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4413 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4414 (font_add_log): Prepend the driver name to the resulting fonts.
4415
4416 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4417 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4418 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4419
4420 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4421 (QCembolden): New variables.
4422 (syms_of_xftfont): DEFSYM them.
4423 (xftfont_open): Call XftFontMatch. Don't trust the result of
4424 XftTextExtents8 if the pixel_size is less than 5.
4425
44262008-06-18 Andreas Schwab <schwab@suse.de>
4427
4428 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4429 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4430
44312008-06-18 Jason Rumney <jasonr@gnu.org>
4432
4433 * w32font.c (w32font_list, w32font_match): Add logging.
4434
4435 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4436
44372008-06-17 Chong Yidong <cyd@stupidchicken.com>
4438
4439 * font.c (font_parse_fcname): Store divider characters for
4440 unknown-spec list. For known key symbols, intern using correct
4441 symbol name.
4442
44432008-06-17 Kenichi Handa <handa@m17n.org>
4444
4445 * xfaces.c (realize_default_face): If the frame is not on window
4446 system, set the fontset of face to nil.
4447
44482008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4449
4450 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4451
44522008-06-16 Juanma Barranquero <lekktu@gmail.com>
4453
4454 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4455 (build_font_name_from_vector): Delete externs.
4456
4457 * xfaces.c (struct font_name): Don't declare.
4458
44592008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4460
4461 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4462
44632008-06-16 Chong Yidong <cyd@stupidchicken.com>
4464
4465 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4466
44672008-06-16 Juanma Barranquero <lekktu@gmail.com>
4468
4469 * font.c (Ffont_spec): Fix usage in docstring.
4470 (Ffont_face_attributes): Doc fix.
4471
44722008-06-16 Andreas Schwab <schwab@suse.de>
4473
4474 * font.c (Ffont_face_attributes): Fix definition.
4475
44762008-06-16 Jason Rumney <jasonr@gnu.org>
4477
4478 * font.h (font_style_symbolic_from_value): Remove.
4479
4480 * font.c (font_style_symbolic_from_value): Remove.
4481 (font_style_symbolic): Revert to pre 2008-06-13 version.
4482
4483 * w32font.c (w32_to_fc_weight): New function.
4484 (w32font_full_name, logfont_to_fcname): Use it.
4485
44862008-06-16 Kenichi Handa <handa@m17n.org>
4487
4488 * font.c (font_check_object): Delete it.
4489 (font_clear_cache): Check if a font-object is alive.
4490 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4491 font-object to nil.
4492 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4493 (font_at): Don't call font_check_object.
4494 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4495
44962008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4497
4498 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4499
45002008-06-16 Chong Yidong <cyd@stupidchicken.com>
4501
4502 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4503
45042008-06-15 Chong Yidong <cyd@stupidchicken.com>
4505
4506 * font.c (font_parse_fcname): Only one decimal point.
4507 (font_unparse_fcname): Handle data in family and foundry indices
4508 as symbols, not strings.
4509 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4510
4511 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4512
4513 * font.h (font_unparse_gtkname): Add prototype.
4514
45152008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4516
4517 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4518
45192008-06-15 Andreas Schwab <schwab@suse.de>
4520
4521 * font.c (font_update_drivers): Fix crash when no drivers match.
4522
45232008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4524
4525 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4526 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4527
45282008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4529
4530 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4531
45322008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4533
4534 * process.c (Fserial_process_configure, Fprocess_send_eof):
4535 Use EQ to compare Lisp_Objects.
4536
45372008-06-13 Jason Rumney <jasonr@gnu.org>
4538
4539 * w32fns.c (Fw32_select_font): Remove old font API function.
4540
4541 * w32font.c (logfont_to_fcname): New function.
4542 (Fx_select_font): New font dialog function compatible with
4543 GTK/fontconfig version.
4544
4545 * font.c (font_style_symbolic_from_value): New function.
4546 (font_style_symbolic): Use it.
4547
4548 * font.h (font_style_symbolic_from_value): Declare new function.
4549
45502008-06-13 Juanma Barranquero <lekktu@gmail.com>
4551
4552 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4553 <font-width-table>: Fix typos in docstrings.
4554
45552008-06-13 Daniel Engeler <engeler@gmail.com>
4556
4557 These changes add serial port access.
4558 * process.c: Add HAVE_SERIAL.
4559 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4560 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4561 (list_processes_1, select_wrapper, Fstop_process)
4562 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4563 (status_notify): Modify to handle serial processes.
4564 [HAVE_SERIAL] (Fserial_process_configure)
4565 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4566 New functions.
4567 * process.h (struct Lisp_Process): Add `type'.
4568 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4569 New functions.
4570 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4571 serial ports.
4572 (serial_open, serial_configure) New functions.
4573 * w32.h: Add FILE_SERIAL.
4574 (struct _child_process): Add ovl_read, ovl_write.
4575
45762008-06-13 Kenichi Handa <handa@m17n.org>
4577
4578 * dispextern.h (enum lface_attribute_index): New member
4579 LFACE_FOUNDRY_INDEX.
4580
4581 * font.c (font_score): Delete arg alternate_families. Check only
4582 weight, slant, width, and size. Ignore the difference of alias
4583 style symbols.
4584 (font_sort_entites): Adjust for the above change. Reflect the
4585 order of font-driver to scores.
4586 (font_list_entities): Don't check alternate_familes here.
4587 (font_clear_prop): Handle foundry.
4588 (font_update_lface): Don't parse "foundry-family" form here.
4589 Handle FONT_FOUNDRY_INDEX.
4590 (font_find_for_lface): Likewise. Handle alternate families here.
4591 If registry is nil, try iso8859-1 and ascii-0.
4592 (font_open_for_lface): Pay attention to size in ENTITY.
4593 (font_open_by_name): Simplify by calling font_load_for_lface.
4594 (free_font_driver_list): Delete it.
4595 (font_update_drivers): Preserve the order of backends.
4596 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4597 of font_score and font_sort_entites.
4598 (font_update_sort_order): Likewise.
4599
4600 * xfaces.c (LFACE_FOUNDRY): New macro.
4601 (check_lface_attrs): Check foundry.
4602 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4603 (merge_face_vectors): Check foundry.
4604 (merge_face_ref): Likewise.
4605 (Finternal_set_lisp_face_attribute): Likewise.
4606 (x_update_menu_appearance): Likewise.
4607 (Finternal_get_lisp_face_attribute): Likewise.
4608 (lface_hash): Likewise.
4609 (lface_same_font_attributes_p): Likewise.
4610 (x_supports_face_attributes_p): Likewise.
4611 (tty_supports_face_attributes_p): Likewise.
4612 (Finternal_set_alternative_font_family_alist): Intern strings.
4613 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4614 (realize_default_face): Set LFACE_FOUNDRY (lface).
4615
4616 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4617 font-driver at first.
4618
4619 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4620
46212008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4622
4623 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4624
46252008-06-12 Jim Meyering <meyering@redhat.com>
4626
4627 Make unexec_free handle NULL the same way free does.
4628 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4629
46302008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4631
4632 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4633 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4634 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4635 (WEAK_ALIAS): Simplify.
4636 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4637 when searching a unibyte buffer.
4638
46392008-06-12 Chong Yidong <cyd@stupidchicken.com>
4640
4641 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4642
46432008-06-12 Juanma Barranquero <lekktu@gmail.com>
4644
4645 * w32font.c: Include ctype.h.
4646
46472008-06-11 Jason Rumney <jasonr@gnu.org>
4648
4649 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4650 misreported as space.
4651 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4652 as aliases for registry iso10646-1.
4653
46542008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4655
4656 * buffer.c (clone_per_buffer_values): Skip `name'.
4657
46582008-06-11 Chong Yidong <cyd@stupidchicken.com>
4659
4660 * font.c (font_parse_fcname): Fix last change; accept decimal
4661 points in font size.
4662
46632008-06-10 Jason Rumney <jasonr@gnu.org>
4664
4665 * w32uniscribe.c (add_opentype_font_name_to_list):
4666 Skip non unicode fonts.
4667
46682008-06-10 Chong Yidong <cyd@stupidchicken.com>
4669
4670 * xfns.c (Fx_font_dialog): New function.
4671
4672 * gtkutil.c (xg_dialog_response_cb): Rename from
4673 xg_file_response_callback.
4674 (pop_down_dialog): Rename from pop_down_file_dialog.
4675 (xg_get_file_name): Callers changed.
4676 (xg_get_font_name): New function.
4677
4678 * gtkutil.h (xg_get_font_name): Insert prototype.
4679
46802008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4681
4682 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4683 x_underline_minimum_display_offset.
4684 (syms_of_xdisp): Declare it here rather than in xterm.c.
4685 * dispextern.h (underline_minimum_offset): Declare it.
4686 * w32term.c (x_draw_glyph_string): Use it.
4687 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4688 (syms_of_xterm): Don't declare it any more.
4689 (x_draw_glyph_string): Adjust to the new name.
4690
46912008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4692
4693 * xterm.c (x_underline_minimum_display_offset): New var.
4694 (x_draw_glyph_string): Use it.
4695 (syms_of_xterm): Declare it.
4696
46972008-06-10 Chong Yidong <cyd@stupidchicken.com>
4698
4699 * font.c (font_parse_fcname): Accept GTK-style font names too.
4700
47012008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4702
4703 * dired.c (file_name_completion): Don't return t if the match is exact
4704 but with different capitalization.
4705 * minibuf.c (Ftry_completion): Simplify.
4706
4707 * window.c (Vwindow_point_insertion_type): New var.
4708 (set_window_buffer): Use it.
4709 (syms_of_window): Init and export it to Lisp.
4710
47112008-06-10 Kenichi Handa <handa@m17n.org>
4712
4713 * font.h (font_intern_prop): Prototype adjusted.
4714
4715 * font.c (font_intern_prop): New arg force_symbol.
4716 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4717 Adjust for the change of font_intern_prop.
4718
4719 * ftfont.c (ftfont_pattern_entity):
4720 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4721 (w32_registry):
4722 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4723 the change of font_intern_prop.
4724
47252008-06-09 Juanma Barranquero <lekktu@gmail.com>
4726
4727 * w32menu.c (digest_single_submenu): Declare extern.
4728
47292008-06-09 Jason Rumney <jasonr@gnu.org>
4730
4731 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4732
4733 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4734 (parse_single_submenu): Remove.
4735 (digest_single_submenu): Remove.
4736 (syms_of_w32menu): Don't initialise variables that have moved
4737 to menu.c.
4738 (set_frame_menubar): Sync with version in xmenu.c.
4739 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4740
4741 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4742 Make static again.
4743
47442008-06-09 Jason Rumney <jasonr@gnu.org>
4745
4746 Changes to w32 files related to the move of common menu code
4747 to menu.c on 2008-06-08 by Chong Yidong.
4748
4749 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4750 defs to w32gui.h.
4751 (single_keymap_panes, push_menu_item, push_menu_pane):
4752 Make globally visible.
4753
4754 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4755 (local_free, malloc_widget_value, free_widget_value)
4756 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4757 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4758 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4759 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4760 (menu_items, menu_items_allocated, menu_items_used)
4761 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4762 (init_menu_items, finish_menu_items, discard_menu_items)
4763 (grow_menu_items, push_submenu_start, push_submenu_end)
4764 (push_left_right_boundary, push_menu_pane, push_menu_item)
4765 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4766 (free_menubar_widget_tree_value, parse_single_submenu)
4767 (update_submenu_strings): Remove functions.
4768 (xmalloc_widget_value): Remove and declare extern.
4769
4770 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4771 (OBJ1): Build it.
4772
4773 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4774 (local_heap, local_alloc, local_free, malloc_widget_value)
4775 (free_widget_value): Define here.
4776
47772008-06-09 Kenichi Handa <handa@m17n.org>
4778
4779 * font.h (Qascii_0): Extern it.
4780
4781 * font.c (Qascii_0): New variable.
4782 (syms_of_font): DEFSYM it.
4783 (font_open_by_name): If the registry "iso8859-1" fails, try also
4784 "ascii-0".
4785
4786 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4787
47882008-06-08 Kenichi Handa <handa@m17n.org>
4789
4790 * .gdbinit (xfont): New command.
4791
47922008-06-08 Andreas Schwab <schwab@suse.de>
4793
4794 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4795 * Makefile.in (menu.o): Update dependencies.
4796
4797 * Makefile.in (obj): Always add menu.o.
4798 * emacs.c (main): Always call syms_of_menu.
4799 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4800
48012008-06-08 Chong Yidong <cyd@stupidchicken.com>
4802
4803 * Makefile.in: Compile menu.c.
4804
4805 * lisp.h: Declare syms_of_menu.
4806
4807 * emacs.c (main): Call syms_of_menu.
4808
4809 * keyboard.h: Relocate platform-independent menu definitions from
4810 xmenu.c.
4811
4812 * menu.c: New file. Relocate platform-independent menu
4813 definitions from xmenu.c. Suggested by Adrian Robert.
4814
4815 * xmenu.c: Remove platform-independent menu definitions.
4816 (menu_items menu_items_inuse, menu_items_allocated)
4817 (menu_items_used, menu_items_n_panes)
4818 (menu_items_submenu_depth): Move to keyboard.h.
4819 (init_menu_items, finish_menu_items, unuse_menu_items)
4820 (discard_menu_items, restore_menu_items, save_menu_items)
4821 (grow_menu_items, push_submenu_start, push_submenu_end)
4822 (push_left_right_boundary, push_menu_pane, push_menu_item)
4823 (keymap_panes, single_keymap_panes, single_menu_item)
4824 (list_of_panes, list_of_items, find_and_call_menu_selection)
4825 (xmalloc_widget_value, free_menubar_widget_value_tree)
4826 (parse_single_submenu, digest_single_submenu)
4827 (update_submenu_strings): Move to menu.c.
4828
48292008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4830
4831 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4832
48332008-06-06 Miles Bader <miles@gnu.org>
4834
4835 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4836 face, not frame default.
4837
48382008-06-05 Martin Rudalics <rudalics@gmx.at>
4839
4840 * window.c (pop_up_windows, pop_up_frames)
4841 (display_buffer_reuse_frames, Vpop_up_frame_function)
4842 (Vdisplay_buffer_function, Veven_window_heights)
4843 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4844 (Vspecial_display_function, Vsame_window_buffer_names)
4845 (Vsame_window_regexps, split_height_threshold)
4846 (Vsplit_window_preferred_function): Move those vars to window.el.
4847 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4848 (Fdisplay_buffer): Move those functions to window.el.
4849 (syms_of_window): Remove corresponding declarations.
4850 (display_buffer): New function.
4851 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4852 * dispnew.c (Flast_nonminibuf_frame): New function.
4853 * buffer.c (Fpop_to_buffer): Move to window.el.
4854
48552008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4856
4857 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4858
48592008-06-05 Kenichi Handa <handa@m17n.org>
4860
4861 * coding.c (detect_coding): Fix previous change.
4862 (detect_coding_system): Likewise.
4863
48642008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4865
4866 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4867
4868 * keymap.c (Vminibuffer_local_filename_must_match_map):
4869 Rename from Vminibuffer_local_must_match_filename_map.
4870 (syms_of_keymap):
4871 * minibuf.c (Fcompleting_read): Adjust accordingly.
4872 * commands.h: Rename declaration as well.
4873
48742008-06-05 Kenichi Handa <handa@m17n.org>
4875
4876 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4877 family name.
4878 (Ffont_put): Likewise.
4879
4880 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4881 current font-spec.
4882
4883 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4884 is unspecified.
4885
4886 * xfaces.c (realize_x_face): If the font-related face attributes
4887 are the same as those of default face, realize a new fontset from
4888 default->fontset.
4889 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4890
48912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4892
4893 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4894 (move_it_in_display_line): New wrapper.
4895
4896 * window.c (window_scroll_pixel_based_preserve_x)
4897 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4898 (window_scroll_pixel_based, window_scroll_line_based):
4899 Use them to preserve column positions.
4900 (syms_of_window): Initialize them.
4901
4902 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4903 (HPOS . VPOS) pair.
4904
4905 * dispextern.h (move_it_in_display_line): Declare.
4906
49072008-06-05 Juanma Barranquero <lekktu@gmail.com>
4908
4909 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4910 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4911 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4912
49132008-06-04 Juanma Barranquero <lekktu@gmail.com>
4914
4915 * window.c (Fset_window_parameter): Doc fix.
4916 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4917
49182008-06-04 Joakim Verona <joakim@verona.se>
4919
4920 * window.h (struct window): Add new member window_parameters.
4921
4922 * window.c (Fwindow_parameters, Fwindow_parameter)
4923 (Fset_window_parameter): New defuns.
4924 (syms_of_window): Defsubr the new defuns.
4925 (make_window): Initialize window_parameters to nil.
4926
49272008-06-04 John Paul Wallington <jpw@pobox.com>
4928
4929 * eval.c (Fdefmacro): Doc fix.
4930
49312008-06-04 Kenichi Handa <handa@m17n.org>
4932
4933 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4934 Be sure to call setup_coding_system when we find a proper coding system.
4935 (detect_coding_system): Fix handling of coding->head_ascii.
4936
49372008-06-03 Andreas Schwab <schwab@suse.de>
4938
4939 * font.c (font_prop_validate_spacing): Fix last change.
4940
49412008-06-03 Kenichi Handa <handa@m17n.org>
4942
4943 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4944 (font_parse_fcname): Fix handling of unknown key.
4945
4946 * xfont.c (xfont_list): Try an alias.
4947
4948 * charset.c (char_charset): Return NULL if the arg charset_list is
4949 specified and C doesn't belong to any of them.
4950
49512008-06-02 Chip Coldwell <coldwell@redhat.com>
4952
4953 * font.c (font_pixel_size): Don't take cdr of an integer.
4954
49552008-06-02 Jim Meyering <meyering@redhat.com>
4956
4957 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4958 * alloc.c (xfree): Return right away for a NULL arg.
4959 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4960 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4961 * mac.c (create_apple_event_from_event_ref): Likewise.
4962 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4963 Likewise.
4964 * doprnt.c (doprnt1): Likewise.
4965 * frame.c (frame): Likewise.
4966 * keyboard.c (wipe_kboard): Likewise.
4967 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4968 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4969 * term.c (tty_default_color_capabilities, maybe_fatal)
4970 (delete_tty): Likewise.
4971 * w16select.c (string): Likewise.
4972 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4973 * w32bdf.c (w32_free_bdf_font): Likewise.
4974 * w32fns.c (w32_unload_font): Likewise.
4975 * w32font.c (w32font_close): Likewise.
4976 * window.c (size_window): Likewise.
4977 * xselect.c (receive_incremental_selection): Likewise.
4978 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4979 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4980 * w32.c (stat): Likewise.
4981
4982 Remove useless if-before-free tests.
4983 * editfns.c (Fset_time_zone_rule): Likewise.
4984 * lread.c (nosuffix): Likewise.
4985 * ralloc.c (get_bloc): Likewise.
4986 * regex.c (reg_free): Likewise.
4987 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4988 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4989 * xsmfns.c (smc_save_yourself_CB): Likewise.
4990
49912008-06-02 Kenichi Handa <handa@m17n.org>
4992
4993 * font.c (font_find_for_lface): Handle float font size.
4994 (font_open_for_lface): Likewise.
4995
4996 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4997 comparing the properties.
4998
49992008-06-01 Jason Rumney <jasonr@gnu.org>
5000
5001 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5002 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5003 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5004 Don't add empty script list.
5005 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5006
50072008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5008
5009 * Makefile.in (dot, dotdot): Remove, update users.
5010 ".." has been used elsewhere in the file for a long time.
5011 (LIBXT_STATIC): Remove conditional based on unused variable.
5012
50132008-06-01 Miles Bader <miles@gnu.org>
5014
5015 * xfaces.c (Vface_remapping_alist): New variable.
5016 (syms_of_xfaces): Initialize it.
5017 (enum named_merge_point_kind): New type.
5018 (struct named_merge_point): Add `named_merge_point_kind' field.
5019 (push_named_merge_point): Make cycle detection respect different
5020 named-merge-point kinds.
5021 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5022 Remove face-name alias resolution.
5023 (lface_from_face_name): New definition using
5024 `lface_from_face_name_no_resolve'.
5025 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5026 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5027 (get_lface_attributes): New definition that layers face-remapping on
5028 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5029 (lookup_basic_face): New function.
5030 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5031 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5032 `get_lface_attributes'.
5033 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5034 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5035 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5036
5037 * xdisp.c (init_iterator): Pass base_face_id through
5038 `lookup_basic_face' when we actually use it as a face-id.
5039 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5040 DEFAULT_FACE_ID.
5041
5042 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5043 lookup the initial face-id.
5044
5045 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5046
50472008-06-01 Juanma Barranquero <lekktu@gmail.com>
5048
5049 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5050 (Fremove_text_properties): Fix typos in docstrings.
5051
50522008-05-31 Kenichi Handa <handa@m17n.org>
5053
5054 * font.c (font_list_entities): Fix the car part of data to be
5055 stored in the cache.
5056
5057 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5058
50592008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5060
5061 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5062 Add a `test' argument so another predicate than `equal' can be used.
5063 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5064 (map_char_table): Remove unused vars `c' and `i'.
5065 * lisp.h (Foptimize_char_table): Adjust declaration.
5066 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5067
50682008-05-30 Kenichi Handa <handa@m17n.org>
5069
5070 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5071 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5072 defined.
5073
50742008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5075
5076 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5077 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5078 frame-local settings for the same variable.
5079
50802008-05-30 Kenichi Handa <handa@m17n.org>
5081
5082 * fontset.c (Ffont_info): Move to font.c.
5083 (syms_of_fontset): Delete defsubr of Sfont_info.
5084
5085 * font.c (font_style_to_value, font_score): Delete casting of the
5086 args to xstcasecmp.
5087 (register_font_driver): Increment num_font_drivers only when
5088 registering the driver globally.
5089 (Ffont_info): Move from fontset.c. Handle a font object too.
5090 (syms_of_font): Defsubr Sfont_info.
5091
50922008-05-29 Kenichi Handa <handa@m17n.org>
5093
5094 * coding.h (enum define_coding_utf8_arg_index): New enum.
5095 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5096 coding_attr_utf_bom.
5097 (enum utf_bom_type): Rename from utf_16_bom_type.
5098 (struct utf_16_spec): Adjust for the above change.
5099 (struct coding_system): Add utf_8_bom in `spec' union.
5100
5101 * coding.c (CODING_UTF_8_BOM): New macro.
5102 (enum coding_category): Delete coding_category_utf_8, add
5103 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5104 coding_category_utf_8_sig.
5105 (CATEGORY_MASK_UTF_8): Delete it.
5106 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5107 (CATEGORY_MASK_UTF_8_SIG): New macros.
5108 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5109 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5110 CATEGORY_MASK_UTF_8_SIG.
5111 (CATEGORY_MASK_UTF_8): New macro.
5112 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5113 (detect_coding_utf_8): Check BOM.
5114 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5115 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5116 (encode_coding_utf_16): Likewise.
5117 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5118 (detect_coding, detect_coding_system): Handle utf-8-auto.
5119 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5120 (syms_of_coding): Fix setting up of Vcoding_category_table.
5121
51222008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5123
5124 * process.c (Faccept_process_output): If `millisec' is non-nil,
5125 `seconds' default to 0.
5126 (wait_reading_process_output): Also return non-nil if we read output
5127 from a non-running process.
5128
51292008-05-29 Jason Rumney <jasonr@gnu.org>
5130
5131 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5132 `raster' specified.
5133 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5134 in the uniscribe backend, but disallow any font that has no
5135 unicode subrange support.
5136
51372008-05-29 Juanma Barranquero <lekktu@gmail.com>
5138
5139 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5140 Fix typos in docstrings.
5141
51422008-05-29 Kenichi Handa <handa@m17n.org>
5143
5144 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5145 (Fx_family_fonts): Set frame correctly.
5146
51472008-05-28 Jason Rumney <jasonr@gnu.org>
5148
5149 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5150
51512008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5152
5153 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5154 calling build_annotations.
5155
51562008-05-28 Juanma Barranquero <lekktu@gmail.com>
5157
5158 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5159 (Fencode_coding_string):
5160 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5161 <latin-extra-code-table>: Fix typos in docstrings.
5162 (syms_of_coding) <coding-system-alist>: Doc fix.
5163 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5164
51652008-05-28 Kenichi Handa <handa@m17n.org>
5166
5167 * fontset.c (Ffont_info): Don't call font_close_object.
5168
5169 * font.c (font_parse_family_registry): Use Ffont_put to validate
5170 foundry and family.
5171 (font_delete_unmatched): Don't check spacing.
5172 (font_list_entities): Add spacing to the spec to list fonts.
5173
5174 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5175 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5176
5177 * coding.c (encode_coding_raw_text): Fix previous change.
5178 (encode_coding_object): When the dst_object is a buffer and is
5179 different from src_object, move gap to PT.
5180
51812008-05-27 Chong Yidong <cyd@stupidchicken.com>
5182
5183 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5184
51852008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5186
5187 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5188 all branches. Compute it differently.
5189
5190 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5191
51922008-05-27 Juanma Barranquero <lekktu@gmail.com>
5193
5194 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5195 into "else if () ... else ...".
5196
51972008-05-27 Jason Rumney <jasonr@gnu.org>
5198
5199 * w32font.c (w32font_open_internal): Determine if glyph indices
5200 are likely to work here.
5201
52022008-05-27 Chong Yidong <cyd@stupidchicken.com>
5203
5204 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5205 draw overlap glyphs with appropriate highlighting.
5206
52072008-05-27 Kenichi Handa <handa@m17n.org>
5208
5209 * xfont.c (xfont_open): Fix calculation of font->average_width.
5210
52112008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5212
5213 * casefiddle.c (casify_object): Try to guess better whether the
5214 argument is a byte or a char.
5215
52162008-05-26 Andreas Schwab <schwab@suse.de>
5217
5218 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5219 Always send multiples of format size.
5220
5221 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5222
52232008-05-26 Jason Rumney <jasonr@gnu.org>
5224
5225 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5226 (compute_metrics): Don't set failure if we just cleared the cache.
5227 (w32_weight_table): Remove unused variable.
5228 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5229 backwards compatibility.
5230
52312008-05-25 Kenichi Handa <handa@m17n.org>
5232
5233 * w32term.c (x_draw_glyph_string):
5234 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5235
5236 * xfaces.c: Delete unused function prototypes.
5237 (xstrlwr, font_frame): Delete them.
5238 (clear_face_cache): Delete unused variable.
5239
5240 * xftfont.c (xftfont_open): Delete unused variable.
5241 If underline_thickness is not 1, adjust underline_position.
5242
5243 * ftxfont.c (ftxfont_open): Delete unused variable.
5244
5245 * fontset.c (face_for_char): Optimize for the case of no charset
5246 property.
5247
5248 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5249 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5250 (otf_open, font_otf_capability, generate_otf_features)
5251 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5252 Comment out by surrounding "#if 0" and "#endif" for the moment.
5253 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5254 (syms_of_font): Codes for accessing above commented out.
5255
52562008-05-24 Eli Zaretskii <eliz@gnu.org>
5257
5258 * w32proc.c: Include dispextern.h.
5259
5260 * w32.c: Include dispextern.h.
5261
52622008-05-23 Juanma Barranquero <lekktu@gmail.com>
5263
5264 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5265 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5266 Fix typos in docstrings.
5267
52682008-05-23 Jason Rumney <jasonr@gnu.org>
5269
5270 * xsmfns.c: Remove includes that are already included by config.h.
5271
52722008-05-23 Kenichi Handa <handa@m17n.org>
5273
5274 * charset.c (Qemacs, charset_emacs): New variables.
5275 (char_charset): Fix for non-Unicode characters.
5276 (syms_of_charset): Define charset_emacs.
5277
5278 * w32term.c (x_draw_glyph_string): Be sure to update
5279 s->underline_thickness and s->underline_position. Be sure to draw
5280 underline within the current line area.
5281
5282 * xterm.c (x_draw_glyph_string): Be sure to update
5283 s->underline_thickness and s->underline_position. Be sure to draw
5284 underline within the current line area.
5285
5286 * fontset.c: Delete unused variables and add casting for char *
5287 throughout the file.
5288 (fontset_font): Try the fallback fonts of the current fontset
5289 before consulting the default fontset.
5290
5291 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5292
5293 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5294
52952008-05-22 Jason Rumney <jasonr@gnu.org>
5296
5297 * font.c: Don't include strings.h.
5298
5299 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5300
5301 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5302 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5303 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5304 to call xstrcasecmp.
5305
5306 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5307
5308 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5309
5310 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5311
5312 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5313
53142008-05-22 Kenichi Handa <handa@m17n.org>
5315
5316 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5317
5318 * font.c (font_prop_validate_style): Adjust for the format
5319 change of font_style_table.
5320
5321 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5322 two args.
5323
5324 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5325 two args.
5326
53272008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5328
5329 * minibuf.c (keys_of_minibuf): Delete.
5330 * lisp.h (keys_of_minibuf): Delete.
5331 * emacs.c (main): Don't call keys_of_minibuf.
5332
53332008-05-22 Kenichi Handa <handa@m17n.org>
5334
5335 * ftfont.c (ftfont_resolve_generic_family): Rename from
5336 ftfont_list_generic_family. Return a single family for each
5337 generic family.
5338 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5339 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5340 Call font_add_log.
5341 (ftfont_match): Call font_add_log.
5342
5343 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5344 (FONT_DEBUG): Define it.
5345 (font_add_log): Extern it.
5346 (font_assert): Rename from xassert.
5347
5348 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5349 (xfont_list_family): Call font_add_log.
5350 (xfont_match): Likewise.
5351 (memq_no_quit): Delete.
5352
5353 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5354 call of Ffont_xlfd_name.
5355
5356 * xfaces.c (struct table_entry, slant_table, weight_table)
5357 (swidth_table): Move to font.c.
5358
5359 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5360 xassert are changed to font_assert. Delete many unused variables.
5361 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5362 New variables.
5363 (struct table_entry): Move from xfaces.c and modified.
5364 (weight_table, slant_table, width_table): Move from xfaces.c and
5365 contents adjusted for the change of struct table_entry.
5366 (font_style_to_value, font_style_symbolic): Adjust for the
5367 format change of font_style_table.
5368 (font_parse_family_registry): Don't overwrite existing foundry and
5369 family of font_spec.
5370 (font_score): Fix calculation of diff for sizes.
5371 (font_sort_entites): Call font_add_log.
5372 (font_delete_unmatched): Return a newly created list.
5373 (font_list_entities): Fix previous change. Call font_add_log.
5374 (font_matching_entity, font_open_entity, font_close_entity):
5375 Call font_add_log.
5376 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5377 (Finternal_set_font_style_table): Delete.
5378 (BUILD_STYLE_TABLE): New macro.
5379 (build_style_table): New function.
5380 (Vfont_log, font_log_env_checked): New variables.
5381 (font_add_log): New function.
5382 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5383 Declare Lisp variables "font-weight-table", "font-slant-table",
5384 "font-width-table", and "font-log". Initialize font_style_table.
5385
53862008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5387
5388 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5389
53902008-05-21 Seiji Zenitani <zenitani@mac.com>
5391 Ryo Yoshitake <ryo@shiftmode.net>
5392
5393 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5394 (Vframe_alpha_lower_limit): New variable.
5395 (x_set_alpha): New function.
5396
5397 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5398
5399 * xfns.c (x-create-frame, Qalpha):
5400 Initialize the frame parameter `alpha'.
5401 * xterm.c (OPAQUE, OPACITY): New.
5402 (x_set_frame_alpha): New function.
5403 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5404
5405 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5406 * w32fns.c (w32_frame_parm_handlers): Likewise.
5407
54082008-05-20 Jason Rumney <jasonr@gnu.org>
5409
5410 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5411 truetype fonts to opentype list.
5412
54132008-05-20 Juanma Barranquero <lekktu@gmail.com>
5414
5415 * fontset.c (Ffontset_info): Doc fix.
5416 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5417 <ignore-relative-composition>: Fix typos in docstrings.
5418
5419 * font.c (syms-of-font) <font-encoding-alist>:
5420 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5421 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5422 (Ffont_otf_alternates): Doc fixes.
5423
54242008-05-20 Kenichi Handa <handa@m17n.org>
5425
5426 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5427 font.h through out the file.
5428 (FONT_DRIVERS): Rename from FONTOBJ.
5429 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5430 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5431
5432 * emacs.c (main): Call syms_of_font unconditionally.
5433
5434 * font.h (find_font_encoding): Extern it.
5435
5436 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5437 fontset.c.
5438 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5439 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5440 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5441 only when HAVE_WINDOW_SYSTEM is defined.
5442 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5443 when HAVE_WINDOW_SYSTEM is defined.
5444
5445 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5446 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5447
5448 * xfaces.c: Include font.h unconditionally.
5449 (merge_face_ref, merge_face_vectors)
5450 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5451
54522008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5453
5454 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5455 indirect_variable.
5456 * eval.c (lisp_indirect_variable): New fun.
5457 (Fuser_variable_p): Use it.
5458
54592008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5460
5461 * lisp.h (indirect_variable):
5462 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5463 Use Lisp_Symbol pointers rather than Lisp_Object.
5464 Adjust callers.
5465 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5466 To this end, change calling-convention.
5467
5468 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5469 if some non-hidden buffers are selected by string&pred.
5470
54712008-05-19 Chong Yidong <cyd@stupidchicken.com>
5472
5473 * process.c (wait_reading_process_output): Always check status
5474 when in batch mode.
5475
54762008-05-19 Kenichi Handa <handa@m17n.org>
5477
5478 * font.c (font_list_entities): Fix handling of cache.
5479 (font_matching_entity): Likewise.
5480
5481 * ftfont.c (cs_iso8859_1): Delete.
5482 (ft_face_cache): New variable.
5483 (struct ftfont_info): New member fc_charset_idx.
5484 (ftfont_build_basic_charsets): Delete.
5485 (fc_charset_table): New variable.
5486 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5487 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5488 Callers changed.
5489 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5490 (ftfont_spec_pattern): New argument fc_charset_idx.
5491 Check registry more rigidly. Change callers.
5492 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5493 change of :font-entity property of the font.
5494
5495 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5496 property of the font.
5497
54982008-05-18 Juanma Barranquero <lekktu@gmail.com>
5499
5500 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5501 (Funencodable_char_position, Fcheck_coding_systems_region)
5502 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5503 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5504 (Ffind_operation_coding_system, Fset_coding_system_priority)
5505 (Fcoding_system_eol_type): Doc fixes.
5506
55072008-05-17 Glenn Morris <rgm@gnu.org>
5508
5509 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5510
55112008-05-16 Eli Zaretskii <eliz@gnu.org>
5512
5513 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5514 and st_gid.
5515
5516 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5517 HAVE_WINDOW_SYSTEM is not defined.
5518
5519 * xfaces.c (merge_face_ref, merge_face_vectors)
5520 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5521 HAVE_WINDOW_SYSTEM is defined.
5522 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5523
55242008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5525
5526 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5527
55282008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5529
5530 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5531
55322008-05-15 Kenichi Handa <handa@m17n.org>
5533
5534 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5535 preference.
5536
55372008-05-15 Glenn Morris <rgm@gnu.org>
5538
5539 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5540
55412008-05-15 Chong Yidong <cyd@stupidchicken.com>
5542
5543 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5544 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5545
5546 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5547
55482008-05-15 Kenichi Handa <handa@m17n.org>
5549
5550 * ftfont.c (ftfont_list): Downcase family name to check generic
5551 families.
5552
5553 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5554 font-spec for QCfont value.
5555
5556 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5557 buffer. Check the return value of it.
5558
55592008-05-14 Jason Rumney <jasonr@gnu.org>
5560
5561 * w32term.c (w32_get_glyph_overhangs): Remove.
5562 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5563
55642008-05-14 Kenichi Handa <handa@m17n.org>
5565
5566 * font.c (font_prop_validate): Make nil a valid value.
5567 (font_clear_cache): Check if the cached vector of entities is nil
5568 or not.
5569
55702008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5571
5572 * emacs.c (main_thread): Conditionalize on
5573 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5574 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5575
5576 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5577 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5578 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5579
55802008-05-14 Kenichi Handa <handa@m17n.org>
5581
5582 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5583 has no corresponding coding system.
5584
55852008-05-14 Jason Rumney <jasonr@gnu.org>
5586
5587 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5588
5589 * w32font.h (w32font_open_internal): Update declaration.
5590
5591 * w32font.c (w32font_open_internal): Change last argument from
5592 w32font_info struct to font object. Fill in font object from
5593 font_entity. Get Outline metrics if possible. Use them to
5594 calculate underline position and thickness. Use xlfd name as name
5595 property. Don't set codepage.
5596 (w32font_open): Pass font_object to w32font_open_internal. Don't
5597 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5598 (w32font_draw): Use s->font.
5599 (clear_cached_metrics): Don't clear non-existent blocks.
5600
5601 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5602 font was not found.
5603 (x_draw_glyph_string): Use underline position and thickness from font.
5604
5605 * w32uniscribe.c (uniscribe_open): Pass font_object to
5606 w32font_open_internal.
5607
56082008-05-14 Kenichi Handa <handa@m17n.org>
5609
5610 These changes are to delete all legacy font-handling codes, and
5611 make Emacs use only font-backends.
5612
5613 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5614 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5615
5616 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5617
5618 * charset.h (Vcharset_non_preferred_head)
5619 (Vcurrent_iso639_language): Extern them.
5620
5621 * charset.c (Vcharset_non_preferred_head): New variable.
5622 (Vcurrent_iso639_language): New variable.
5623 (syms_of_charset): Declare it as a Lisp variable.
5624 (char_charset): Don't check non preferred charsets. As a last
5625 resort, return charset_unicode.
5626 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5627
5628 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5629 conditionals. Don't check enable_font_backend. Delete all codes
5630 used only when USE_FONT_BACKEND is not defined.
5631
5632 * dispextern.h (struct glyph_string): Change type of `font' to
5633 `struct font *'.
5634 (struct glyph_string): New member underline_position and
5635 underline_thickness.
5636 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5637 (struct face): Change type of `font' to `struct font *'. Remove
5638 members `font_name', `font_info_id'.
5639 (per_char_metric, encode_char): Delete externs.
5640 (calc_pixel_width_or_height): Adjust the prototype.
5641
5642 * emacs.c (enable_font_backend): Delete extern.
5643 (main): Don't set enable_font_backend. Don't check the command
5644 line argument "-disable-font-backend".
5645
5646 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5647 (enum font_property_index): New members FONT_DPI_INDEX,
5648 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5649 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5650 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5651 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5652 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5653 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5654 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5655 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5656 (struct font_spec, struct font_entity): New structs.
5657 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5658 (struct font): Many members from old "struct font_info" moved to
5659 here. Members font and entity deleted.
5660 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5661 the new font-related objects.
5662 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5663 (CHECK_FONT_GET_OBJECT): Likewise.
5664 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5665 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5666 (struct font_driver): New members case_sensitive anc check. Type
5667 of the member list and open changed.
5668 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5669 (font_symbolic_width, font_find_object, font_get_spec)
5670 (font_set_lface_from_name): Delete extern.
5671 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5672
5673 * font.c: Include <strings.h>.
5674 (enable_font_backend): Delete it.
5675 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5676 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5677 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5678 (null_string): Delete it.
5679 (null_vector): Make it static.
5680 (font_family_alist): Delete it.
5681 (Qnormal): Extern it.
5682 (QCextra, QClanguage): Delete it.
5683 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5684 (font_make_spec, font_make_entity, font_make_object)
5685 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5686 the string. Callers changed.
5687 (font_pixel_size): Adjusted for the format change of font-related
5688 objects.
5689 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5690 (font_style_to_value, font_style_symbolic): New function.
5691 (build_font_family_alist): Delete it.
5692 (font_registry_charsets): Use Fassoc_string instead of
5693 assq_no_quit.
5694 (font_prop_validate_symbol): Don't return null_string.
5695 (font_prop_validate_style): Adjusted for the change of
5696 style-related values in a font vector.
5697 (font_property_table): Delete entries for QClanguage and
5698 QCantialias, add entries for QCavgwidth.
5699 (get_font_prop_index): Delete the 2nd argument FROM.
5700 (font_prop_validate): Arguments changed.
5701 (font_put_extra): Adjusted for the change of font-related objects.
5702 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5703 (font_parse_fcname, font_unparse_fcname)
5704 (font_prepare_composition): Likewise.
5705 (font_parse_family_registry): Renamed from font_merge_old_spec.
5706 (otf_open): Delete the 1st arg entity.
5707 (font_otf_capability): Adjusted for the above change.
5708 (font_score): New arg alternate_families. Adjusted for the change
5709 of font-related objects.
5710 (font_sort_entites): New arg best_only.
5711 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5712 Delete them.
5713 (font_match_p): Check alternate families.
5714 (font_find_object): Delete it.
5715 (font_check_object): New function.
5716 (font_clear_cache): Adjusted for the change of font-related objects.
5717 (font_delete_unmatched): New arg.
5718 (font_list_entities): Call font_driver->list with a spec that
5719 doesn't specify style-related properties.
5720 (font_matching_entity): Arguments changed. Caller changed.
5721 (font_open_entity): Adjusted for the change of font-related objects.
5722 (font_close_object, font_has_char, font_encode_char)
5723 (font_get_name, font_get_spec): Likewise.
5724 (font_spec_from_name, font_clear_prop, font_update_lface):
5725 New functions.
5726 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5727 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5728 (font_at): Adjusted for the change of font-related objects.
5729 (font_range): New function.
5730 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5731 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5732 (Fcopy_font_spec, Fmerge_font_spec): New function.
5733 (Ffont_family_list): Renamed from list-families.
5734 (Finternal_set_font_style_table): Arguments changed.
5735 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5736 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5737 change of font-related objects.
5738 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5739
5740 * fontset.h (struct font_info): Delete it. Most members go to
5741 struct font.
5742 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5743 (enum FONT_SPEC_INDEX): Delete it.
5744 (font_info, list_fonts_func, load_font_func, query_font_func)
5745 (set_frame_fontset_func, find_ccl_program_func)
5746 (get_font_repertory_func, new_fontset_from_font_name): Delete
5747 externs.
5748 (fontset_from_font_name): Extern it.
5749 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5750 (FONT_INFO_FROM_FACE): Deleted.
5751 (face_for_font): Adjust prototype.
5752
5753 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5754 conditionals. Don't check enable_font_backend. Delete all codes
5755 used only when USE_FONT_BACKEND is not defined.
5756 (get_font_info_func, list_font_func, load_font_func)
5757 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5758 (get_font_repertory_func): Delete them.
5759 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5760 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5761 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5762 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5763 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5764 (fontset_compare_rfontdef): New function.
5765 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5766 rfont-defs by qsort. Adjusted for the change of font-group vector.
5767 (load_font_get_repertory): Deleted.
5768 (fontset_find_font): Use new macros to ref/set elements of
5769 font-def and rfont-def.
5770 (fontset_font): Fix the timing of remembering that no font for C.
5771 (free_face_fontset): Do nothing if the face has no fontset.
5772 (face_suitable_for_char_p): Use new macros to ref/set elements of
5773 rfont-def.
5774 (face_for_char): Likewise. Call face_for_char with font_object.
5775 (fs_load_font): Delete. Delete #pragma surrounding it.
5776 (fs_query_fontset): Use strcasecmp instead of strcmp.
5777 (generate_ascii_font_name): Adjusted for the format change of
5778 font-spec.
5779 (Fset_fontset_font): Likewise. Use new macros to set elements of
5780 font-def.
5781 (Fnew_fontset): Use font_unparse_xlfd to generate
5782 FONTSET_ASCII (fontset).
5783 (new_fontset_from_font_name): Deleted.
5784 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5785 a fontset is already created for the font. FIx updating of
5786 Vfontset_alias_alist.
5787 (fontset_ascii_font): Deleted.
5788 (Ffont_info): Adjusted for the format change of font-spec.
5789 (Finternal_char_font): Likewise.
5790 (Ffontset_info): Likewise.
5791 (syms_of_fontset): Don't check load_font_func.
5792
5793 * fns.c (internal_equal): Handle PREV_FONT.
5794
5795 * frame.h: Delete USE_FONT_BACKEND conditional.
5796
5797 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5798 conditionals. Don't check enable_font_backend. Delete all codes
5799 used only when USE_FONT_BACKEND is not defined.
5800 (x_set_font): Call x_new_font, not x_new_fontset2.
5801 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5802 already set for the frame.
5803
5804 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5805 a font-entity by font_make_entity. Use font_intern_prop instead
5806 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5807 font property. If a font is scalable, set avgwidth property to 0.
5808 Set font-entity property by font_put_extra.
5809 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5810 (ffont_driver): Adjusted for the change of struct font_driver.
5811 (ftfont_spec_pattern): New function.
5812 (ftfont_list): Return a list, not vector.
5813 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5814 (ftfont_list_family): Don't downcase names.
5815 (ftfont_free_entity): Deleted.
5816 (ftfont_open): Return a font-object. Adjusted for the change of
5817 struct font. Get underline_thickness and underline_position from
5818 font property. Don't update dpyinfo->smallest_font_height and
5819 dpyinfo->smallest_char_width.
5820 (ftfont_close): Don't free `struct font'.
5821 (ftfont_has_char): Adjusted for the format change of font-entity.
5822 (ftfont_encode_char, ftfont_text_extents): Likewise.
5823
5824 * ftxfont.c (ftxfont_list): Return a list, not vector.
5825 (ftxfont_open): Return a font-object. Adjusted for the change of
5826 struct font. Get underline_thickness and underline_position from
5827 font property. Don't update dpyinfo->smallest_font_height and
5828 dpyinfo->smallest_char_width.
5829 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5830 (ftxfont_draw): Adjusted for the change of struct font.
5831
5832 * image.c (image_ascent): Don't include "charset.h". Include
5833 "character.h" and "font.h".
5834
5835 * lisp.h (enum pvec_type): New member PREV_FONT.
5836 (Fassoc_string): EXFUN it.
5837
5838 * print.c: Include font.h.
5839 (print_object): Handle font-related objects.
5840
5841 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5842 conditionals. Don't check enable_font_backend. Delete all codes
5843 used only when USE_FONT_BACKEND is not defined.
5844 (handle_auto_composed_prop): Do nothing if it->f is not on a
5845 window system. Check how many following characters can be
5846 displayed by the same font.
5847 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5848 'struct font *'.
5849 (get_char_face_and_encoding): Assign the whole encoding task to
5850 the `encode-char' method of a font driver.
5851 (fill_composite_glyph_string): Adjusted for the change of `struct
5852 face' and `struct glyph_string'.
5853 (fill_glyph_string): Likewise.
5854 (get_per_char_metric): Arguments changed.
5855 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5856 and `struct glyph_string'.
5857 (produce_stretch_glyph, calc_line_height_property)
5858 (x_produce_glyphs): Likewise.
5859
5860 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5861 conditionals. Don't check enable_font_backend. Delete all codes
5862 used only when USE_FONT_BACKEND is not defined. Use
5863 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5864 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5865 (Qp): Extern them.
5866 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5867 Deleted.
5868 (struct font_name): Deleted.
5869 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5870 (compare_fonts_by_sort_order): New function.
5871 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5872 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5873 Deleted.
5874 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5875 compare_fonts_by_sort_order.
5876 (Fx_font_family_list): Call Ffont_family_list.
5877 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5878 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5879 (face_symbolic_slant, face_symbolic_swidth)
5880 (split_font_name_into_vector, build_font_name_from_vector)
5881 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5882 (font_rescale_ratio, split_font_name, build_font_name)
5883 (free_font_names, sort_fonts, x_face_list_fonts)
5884 (face_font_available_p, sorted_font_list, cmp_font_names)
5885 (font_list_1, concat_font_list, font_list, remove_duplicates):
5886 Deleted.
5887 (Fx_list_fonts): Use Ffont_list.
5888 (LFACE_AVGWIDTH): Deleted.
5889 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5890 by FONTP.
5891 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5892 (set_lface_from_font_name): Delete it.
5893 (set_lface_from_font): Renamed from
5894 set_lface_from_font_and_fontset. Caller changed. Don't set
5895 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5896 for face.
5897 (merge_face_vectors): Copy font-spec if necessary.
5898 Clear properties of the font-spec if necessary.
5899 (merge_face_ref): Clear properties of the font-spec if necessary.
5900 (Finternal_set_lisp_face_attribute): Likewise.
5901 (set_font_frame_param): Use font_load_for_lface to load a
5902 font-object, and call Fmodify_frame_parameters with it.
5903 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5904 font name by Ffont_xlfd_name.
5905 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5906 QCslant, and QCwidth.
5907 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5908 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5909 Compare fonts by EQ.
5910 (lookup_non_ascii_face): Deleted.
5911 (face_for_font): The 2nd argument changed.
5912 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5913 Check atomic font properties by case insensitive.
5914 (realize_non_ascii_face): Set face->overstrike correctly.
5915 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5916 (dump_realized_face): Get font name from
5917 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5918
5919 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5920 conditionals. Don't check enable_font_backend. Delete all codes
5921 used only when USE_FONT_BACKEND is not defined.
5922 (xic_create_xfontset): Original code deleted and renamed from
5923 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5924 (x_make_gc): Don't set GCFont in GCs.
5925 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5926 opened by "fixed".
5927 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5928 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5929 get_font_repertory_func.
5930
5931 * xfont.c: Include <stdlib.h> and "ccl.h".
5932 (struct xfont_info): New structure.
5933 (xfont_query_font): Deleted.
5934 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5935 moved from xterm.c.
5936 (xfont_driver): Adjusted for the change of struct font_driver.
5937 (compare_font_names): New function.
5938 (xfont_list_pattern): Sort font names case insensitively. Make
5939 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5940 (xfont_list): Return a list, not vector.
5941 (xfont_match): If the font doesn't have QCname property, generate
5942 a name from the other font properties.
5943 (xfont_open): Return a font-object. Adjusted for the change of
5944 struct font. Get underline_thickness and underline_position from
5945 font property. Don't update dpyinfo->smallest_font_height and
5946 dpyinfo->smallest_char_width.
5947 (xfont_close): Don't free struct font.
5948 (xfont_prepare_face): Adjusted for the change of struct font.
5949 (xfont_done_face): Deleted.
5950 (xfont_has_char): Adjusted for the change of struct font.
5951 (xfont_encode_char, xfont_draw): Likewise.
5952 (xfont_check): New function.
5953
5954 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5955 callback function.
5956 (xftfont_match): Adjusted for the format change of font-entity.
5957 (xftfont_open): Adjusted for the format change of font-entity and
5958 font-object. Adjusted for the change of struct font. Return a
5959 font-object. Don't update dpyinfo->smallest_font_height and
5960 dpyinfo->smallest_char_width.
5961 (xftfont_close): Block input while calling XftFontClose.
5962 (xftfont_prepare_face): Don't block input while calling
5963 xftfont_get_colors. Adjusted for the change of struct font.
5964 (xftfont_shape): Return value of error case fixed.
5965
5966 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5967
5968 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5969 conditionals.
5970 (FONT_WIDTH): Return (f)->max_width.
5971 (struct x_display_info): Delete member `font'.
5972 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5973 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5974 (struct x_output): Change type of `font' to `struct font *'.
5975
5976 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5977 conditionals. Don't check enable_font_backend. Delete all codes
5978 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5979 (x_per_char_metric, x_encode_char): Deleted.
5980 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5981 (x_compute_glyph_string_overhangs): Adjusted for the change of
5982 `struct face'.
5983 (x_draw_glyph_string_foreground)
5984 (x_draw_composite_glyph_string_foreground): Likewise.
5985 (x_draw_glyph_string): Likewise. Use font->underline_position and
5986 font->underline_thickness.
5987 (x_new_font): Renamed from x_new_fontset2.
5988 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5989 (x_check_font): Call `check' method of a font driver.
5990 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5991 (x_query_font, x_get_font_repertory): Deleted.
5992 (x_find_ccl_program): Renamed and moved to xfont.c.
5993 (x_redisplay_interface): Adjusted for the change of `struct
5994 redisplay_interface'.
5995
5996 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5997 conditionals. Don't check enable_font_backend. Delete all codes
5998 used only when USE_FONT_BACKEND is not defined. Surround non-used
5999 code by "#ifdef OLD_FONT" and "endif".
6000 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6001
6002 * w32font.h (struct w32font_info): New member.
6003 (FONT_COMPAT): New macro.
6004 (w32font_open_internal): Prototype adjusted.
6005
6006 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6007 OLD_FONT" and "endif".
6008
6009 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6010 conditionals. Don't check enable_font_backend. Delete all codes
6011 used only when USE_FONT_BACKEND is not defined.
6012 (w32font_open): Return a font-object. Make a font-object by
6013 font_make_object. Adjusted for the change of struct w32font_info.
6014 (w32font_close): Don't free struct font. Adjusted for the change
6015 of struct w32font_info.
6016 (w32font_encode_char, w32font_text_extents, w32font_draw):
6017 Adjusted for the change of struct w32font_info.
6018 (w32font_draw): Likewise.
6019 (w32font_list_internal): Return a list, not vector.
6020 (w32font_open_internal): Change the 4th arg to font-object.
6021 Adjusted for the change of struct w32font_info and font-object format.
6022 (add_font_name_to_list): Don't downcase names.
6023 (w32_enumfont_pattern_entity): Make a font-entity by
6024 font_make_entity. Adjusted for the format change of font-entity.
6025 Use FONT_SET_STYLE to set a style-related font property. If a
6026 font is scalable, set avgwidth property to 0. Set font-entity
6027 property by font_put_extra.
6028 (font_matches_spec): Adjusted for the format change of font-entity.
6029 (w32_weight_table, w32_decode_weight): New variables.
6030 (w32_encode_weight): New function.
6031 (fill_in_logfont): Adjusted for the format change of font-spec.
6032 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6033 weight value.
6034 (w32font_driver): Adjusted for the change of struct font_driver.
6035
6036 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6037 conditionals. Don't check enable_font_backend. Surround non-used
6038 code by "#ifdef OLD_FONT" and "endif".
6039 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6040 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6041
6042 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6043 conditionals. Don't check enable_font_backend. Delete all codes
6044 used only when USE_FONT_BACKEND is not defined. Surround non-used
6045 code by "#ifdef OLD_FONT" and "endif".
6046
6047 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6048 (uniscribe_open): Return value changed to font-object.
6049 Adjusted for the format change of font-object.
6050 (uniscribe_otf_capability): Adjusted for the change of struct font.
6051 (add_opentype_font_name_to_list): Don't downcase names.
6052 (uniscribe_font_driver): Adjusted for the change of struct
6053 font_driver.
6054
60552008-05-13 Chong Yidong <cyd@stupidchicken.com>
6056
6057 * dispnew.c (update_frame_1): Check if tty output is still valid
6058 before flushing it.
6059
60602008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6061
6062 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6063 to Gtk+ menus.
6064
60652008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6066
6067 * dired.c (file_name_completion): Tweak the code so as to always do it
6068 in a single pass. Tighten the scope of some variables.
6069
6070 * dired.c (Qdefault_directory): New var.
6071 (file_name_completion): Use it instead of Fexpand_file_name.
6072 (syms_of_dired): Initialize it.
6073
60742008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6075
6076 * fileio.c (double_dollars): Remove dead code.
6077
60782008-05-10 Eli Zaretskii <eliz@gnu.org>
6079
6080 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6081 Mention w32-get-true-file-attributes in doc string.
6082
6083 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6084
60852008-05-09 Glenn Morris <rgm@gnu.org>
6086
6087 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6088 2008-04-23.
6089
60902008-05-09 Eli Zaretskii <eliz@gnu.org>
6091
6092 Support for reporting owner and group of each file on MS-Windows:
6093 * dired.c (stat_uname, stat_gname): New functions, with special
6094 implementation for w32.
6095 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6096
6097 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6098 (dflt_group_name): New static variable.
6099 (dflt_group): Rename from the_group.
6100 (init_user_info): Init dflt_group fields. Get user's group name
6101 from LookupAccountSid.
6102 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6103 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6104 New initialization states.
6105 (globals_of_w32): Initialize them to zero. Initialize the default
6106 group name to "None".
6107 (GetFileSecurity_Name): New global var, the name of the function
6108 to call for GetFileSecurity.
6109 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6110 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6111 (get_file_security, get_security_descriptor_owner)
6112 (get_security_descriptor_group, is_valid_sid)
6113 (get_file_security_desc, get_rid, get_name_and_id)
6114 (get_file_owner_and_group): New functions.
6115 (stat): Use get_file_security_desc and get_file_owner_and_group to
6116 report the owner and primary group of each file. Don't ignore the
6117 high 32 bits of file's size, now that st_size is 64-bit wide.
6118 Fix test when to get true file attributes.
6119 (init_user_info): Use get_rid instead of equivalent inline code.
6120 (fstat): Don't ignore the high 32 bits of file's size.
6121
61222008-05-09 Chong Yidong <cyd@stupidchicken.com>
6123
6124 * image.c (png_load): Use correct bit-depth for setting background
6125 color.
6126
61272008-05-08 Eli Zaretskii <eliz@gnu.org>
6128
6129 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6130 epa-hook.elc.
6131
61322008-05-08 Juanma Barranquero <lekktu@gmail.com>
6133
6134 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6135
61362008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6137
6138 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6139 because the original parameters are in pure storage now.
6140 (mac_window): Remove unused params. Update callers.
6141
61422008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6143
6144 * lread.c (substitute_object_recurse): Use lower-level primitives.
6145 Don't signal errors when traversing sub-char-tables.
6146 Don't loop over all the possible characters when traversing char-tables.
6147
6148 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6149 just like we do in print.c.
6150
61512008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6152
6153 * minibuf.c (Ftry_completion): Remove code left over from when we used
6154 scmp instead of Fcompare_strings.
6155
61562008-05-04 Juanma Barranquero <lekktu@gmail.com>
6157
6158 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6159
61602008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6161
6162 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6163 Create bitmap context in native byte order.
6164
6165 * macterm.c (XDrawLine)
6166 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6167 context in native byte order.
6168
61692008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6170
6171 * config.in: Regenerate.
6172
6173 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6174 New definitions for Image I/O support.
6175 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6176 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6177 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6178 (mac_data_provider_release_data, image_load_image_io)
6179 [USE_MAC_IMAGE_IO]: New functions.
6180 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6181 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6182 (init_image_func_pointer) [MAC_OSX]: Remove function.
6183 (image_load_quartz2d) [MAC_OSX]: Check availability of
6184 CGImageCreateWithPNGDataProvider at compile time.
6185 Use lowercase `false' for boolean constant.
6186 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6187 Use image_load_image_io.
6188 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6189 Don't check MyCGImageCreateWithPNGDataProvider.
6190 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6191 Don't call init_image_func_pointer.
6192
6193 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6194
6195 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6196 Make variable non-static.
6197 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6198 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6199
6200 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6201 (RED_FROM_ULONG): Mask off higher bits.
6202 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6203
6204 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6205 Include AvailabilityMacros.h.
6206 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6207 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6208
62092008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6210
6211 * chartab.c (Fset_char_table_range): If range is t, really set all
6212 chars to that value.
6213
62142008-05-03 Eli Zaretskii <eliz@gnu.org>
6215
6216 * dired.c (Ffile_attributes): Don't allow the device number become
6217 negative.
6218
62192008-05-02 Daiki Ueno <ueno@unixuser.org>
6220
6221 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6222
62232008-05-02 Juri Linkov <juri@jurta.org>
6224
6225 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6226 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6227 DEFAULT argument as a list of default values in docstrings.
6228
62292008-05-01 Chong Yidong <cyd@stupidchicken.com>
6230
6231 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6232
62332008-05-01 Martin Rudalics <rudalics@gmx.at>
6234
6235 * dispnew.c (change_frame_size_1): Preserve small windows when
6236 shrinking frames by calling set_window_height|width with third
6237 arg 2.
6238
6239 * window.h (struct window): Replace field too_small_ok by field
6240 resize_proportionally.
6241
6242 * window.c (make_window): Initialize resize_proportionally.
6243 (enlarge_window): Temporarily set resize_proportionally to make
6244 sure that shrink_windows does scale the window proportionally.
6245 (shrink_windows): When window has resize_proportionally set try
6246 to shrink it proportionally by stealing from other windows.
6247 (struct saved_window, Fset_window_configuration)
6248 (compare_window_configurations): Handle resize_proportionally.
6249 (WINDOW_TOTAL_SIZE): New macro.
6250 (window_min_size, shrink_windows, size_window): Use it.
6251 (check_min_window_sizes): Remove. Invalid values of
6252 window-min-height|width are handled by window_min_size_2 now.
6253 (size_window, Fsplit_window, enlarge_window)
6254 (adjust_window_trailing_edge, grow_mini_window): Don't call
6255 check_min_window_sizes.
6256 (window_min_size_2, window_min_size_1, window_min_size):
6257 New argument safe_p for retrieving "safe" minimum sizes.
6258 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6259 (adjust_window_trailing_edge, grow_mini_window):
6260 Adjust arguments of window_min_size... functions.
6261 (shrink_windows): Argument min_size removed. New argument
6262 safe_p allows shrinking windows to their safe minimum sizes.
6263 Calculate minimum size and decide whether a window shall be
6264 deleted for each window individually.
6265 (size_window): When nodelete_p equals 2, tell shrink_windows to
6266 delete windows only if their new minimum size is no more safe.
6267 (shrink_window_lowest_first): Call window_min_size_1 to make
6268 sure to preserve modeline of bottom-most window when resizing
6269 the minibuffer.
6270 (Fset_window_configuration, Fcurrent_window_configuration)
6271 (compare_window_configurations): Do not handle
6272 window-min-height|width any more.
6273 (syms_of_window): Clarify window-min-height|width doc-strings.
6274
62752008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6276
6277 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6278 some more. Copy some of the code from Ftry_completions.
6279 Remove special case code that dates back to initial revision when the
6280 slash was only added when necessary and that can't trigger nowadays.
6281
62822008-04-27 Kenichi Handa <handa@m17n.org>
6283
6284 * font.c (font_prop_validate): Signal `error' instead of `font'.
6285
62862008-04-29 Jason Rumney <jasonr@gnu.org>
6287
6288 * w32fns.c (Fw32_battery_status): New defun.
6289 (syms_of_w32fns): Defsubr it.
6290
62912008-04-28 Andreas Schwab <schwab@suse.de>
6292
6293 * dired.c (file_name_completion): Fix another mixing of encoded
6294 and decoded names.
6295
62962008-04-28 Juanma Barranquero <lekktu@gmail.com>
6297
6298 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6299
63002008-04-27 Juanma Barranquero <lekktu@gmail.com>
6301
6302 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6303
63042008-04-27 Andreas Schwab <schwab@suse.de>
6305
6306 * dired.c (file_name_completion): Fix inappropriate mixing of
6307 encoded and decoded names.
6308
6309 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6310
6311 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6312
63132008-04-26 Eli Zaretskii <eliz@gnu.org>
6314
6315 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6316 2008-03-31, it's not needed anymore with `struct stat' definition
6317 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6318 for the same reasons.
6319
63202008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6321
6322 * m/sparc.h: Additional redefinitions for GNU/Linux.
6323
63242008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6325
6326 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6327 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6328 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6329 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6330 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6331 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6332 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6333 Likewise.
6334
6335 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6336 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6337 (mac_ax_number_of_characters): Add externs.
6338 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6339 [USE_MAC_TSM]: Likewise.
6340 (mac_handle_text_input_event) [MAC_OSX]:
6341 Handle kEventTextInputOffsetToPos for no active input area case.
6342 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6343 (mac_handle_document_access_event)
6344 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6345 (install_application_handler) [MAC_OSX]: Register handlers for
6346 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6347 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6348 Register mac_handle_document_access_event.
6349
6350 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6351 Make functions non-static.
6352
63532008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6354
6355 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6356 (read_file_name_completion_ignore_case, insert_default_directory)
6357 (Qdefault_directory): Move to minibuffer.el.
6358 (Fread_file_name): Call the new `read-file-name' instead.
6359
63602008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6361
6362 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6363 Make function non-static.
6364 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6365 Remove function.
6366 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6367 Move to mactoolbox.c.
6368 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6369
6370 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6371 (mac_rect_make): New macro.
6372
6373 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6374 instead of float.
6375 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6376 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6377 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6378 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6379 CGRectMake.
6380 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6381 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6382 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6383 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6384 instead of WindowRef in argument type.
6385 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6386 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6387 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6388 instead of DISPLAY. All uses changed.
6389 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6390 (x_calc_absolute_position): Simplify so as not to use
6391 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6392
6393 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6394 instead of WindowRef in argument type.
6395 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6396 [TARGET_API_MAC_CARBON]: Remove externs.
6397 (create_apple_event, mac_event_parameters_to_lisp)
6398 [TARGET_API_MAC_CARBON]: Add externs.
6399
6400 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6401 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6402 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6403 is clicked.
6404 (x_activate_menubar): Remove extern for saved_menu_event_location.
6405 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6406 Move from mac.c.
6407
64082008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6409
6410 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6411 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6412
64132008-04-23 Jason Rumney <jasonr@gnu.org>
6414
6415 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6416 attributes only for local files.
6417
6418 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6419 default to Qlocal.
6420
64212008-04-22 Juri Linkov <juri@jurta.org>
6422
6423 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6424 read-buffer-to-switch instead of using the letter "B".
6425
64262008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6427
6428 * fileio.c (Qdefault_directory): New variable.
6429 (Fread_file_name): Use it to pass `dir' to the completion functions.
6430
64312008-04-20 Chong Yidong <cyd@stupidchicken.com>
6432
6433 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6434
64352008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6436
6437 * keyboard.c (Vpre_help_message): Remove.
6438 (show_help_echo): Remove default C code.
6439
6440 * dired.c (directory_files_internal, file_name_completion):
6441 Only call ENCODE_FILE if the string is indeed decoded.
6442
64432008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6444
6445 * Makefile.in (TOOLKIT_DEFINES): Remove.
6446 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6447
64482008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6449
6450 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6451 (mactoolbox.o): New target.
6452
6453 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6454 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6455
6456 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6457 Use mac_set_frame_window_background instead of XSetWindowBackground.
6458 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6459 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6460 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6461 instead of SetWindowTitleWithCFString.
6462 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6463 Move function to mactoolbox.c.
6464 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6465 Use mac_set_window_modified instead of SetWindowModified.
6466 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6467 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6468 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6469 FrontNonFloatingWindow. Use mac_activate_window instead of
6470 ActivateWindow. Use mac_active_non_floating_window instead of
6471 ActiveNonFloatingWindow.
6472 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6473 Use mac_show_hourglass and mac_hide_hourglass.
6474 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6475 instead of GetGlobalMouse.
6476 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6477 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6478 Use mac_bring_window_to_front instead of BringToFront.
6479 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6480 mactoolbox.c.
6481 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6482 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6483 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6484 mactoolbox.c.
6485
6486 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6487 (XtPointer): Move typedef from macmenu.c.
6488 (enum button_type): Move enum from macmenu.c.
6489 (widget_value): Move typedef from macmenu.c.
6490 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6491 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6492 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6493 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6494 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6495 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6496 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6497 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6498 (Selection): Move typedef from macselect.c.
6499 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6500 macterm.c.
6501 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6502 (mac_is_window_collapsed, mac_bring_window_to_front)
6503 (mac_send_window_behind, mac_hide_window, mac_show_window)
6504 (mac_collapse_window, mac_front_non_floating_window)
6505 (mac_active_non_floating_window, mac_activate_window)
6506 (mac_move_window_structure, mac_move_window, mac_size_window)
6507 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6508
6509 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6510 (enum mac_menu_kind): Move enum to mactoolbox.c.
6511 (min_menu_id): Move variable to mactoolbox.c.
6512 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6513 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6514 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6515 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6516 [TARGET_API_MAC_CARBON]: Likewise.
6517 (XtPointer): Move typedef to macgui.h.
6518 (enum button_type): Move enum to macgui.h.
6519 (widget_value): Move typedef to macgui.h.
6520 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6521 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6522 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6523 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6524 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6525 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6526 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6527 (popup_activated_flag): Make variable non-static.
6528 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6529 (add_menu_item, fill_menu, dispose_menus):
6530 Move functions to mactoolbox.c.
6531 (restore_show_help_function, menu_target_item_handler)
6532 (install_menu_target_item_handler, mac_handle_dialog_event)
6533 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6534 [TARGET_API_MAC_CARBON]: Likewise.
6535 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6536 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6537 (find_and_call_menu_selection, name_is_separator): Make function
6538 non-static.
6539 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6540 to mactoolbox.c.
6541 (set_frame_menubar): Don't call install_menu_quit_handler.
6542 (menu_item_selection): New variable.
6543 (mac_menu_show): Use create_and_show_popup_menu.
6544 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6545 selection but set variable menu_item_selection. All uses changed.
6546 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6547 Call install_menu_quit_handler. Move to mactoolbox.c.
6548
6549 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6550 (Selection): Move typedef to macgui.h.
6551 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6552 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6553 Make variables non-static.
6554 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6555 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6556 Make functions non-static.
6557 (Vmac_service_selection) [MAC_OSX]: Likewise.
6558 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6559 (mac_valid_selection_target_p, mac_clear_selection)
6560 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6561 (mac_put_selection_value, mac_selection_has_target_p)
6562 (mac_get_selection_value, mac_get_selection_target_list)
6563 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6564 Move functions to mactoolbox.c.
6565 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6566 Likewise.
6567 (copy_scrap_flavor_data, mac_handle_service_event)
6568 (install_service_handler) [MAC_OSX]: Likewise.
6569 (syms_of_macselect) <Vmac_dnd_known_types>:
6570 Use mac_dnd_default_known_types.
6571
6572 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6573 Move to mactoolbox.c.
6574 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6575 (Fx_selection_owner_p): Add EXFUN.
6576 (install_window_handler, remove_window_handler, XSetWindowBackground):
6577 Remove externs.
6578 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6579 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6580 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6581 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6582 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6583 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6584 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6585 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6586 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6587 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6588 (mac_valid_selection_target_p, mac_clear_selection)
6589 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6590 (mac_put_selection_value, mac_selection_has_target_p)
6591 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6592 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6593 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6594 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6595 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6596 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6597 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6598 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6599 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6600
6601 * mactoolbox.c: New file.
6602
66032008-04-18 Jason Rumney <jasonr@gnu.org>
6604
6605 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6606
66072008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6608
6609 * character.c (Fmultibyte_char_to_unibyte):
6610 Return latin1 chars unchanged.
6611
6612 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6613 relocated if it points to `name'.
6614
66152008-04-17 Kenichi Handa <handa@m17n.org>
6616
6617 * data.c (Faset): Allow setting a multibyte character in an
6618 ASCII-only unibyte string.
6619
6620 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6621
66222008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6623
6624 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6625 done in config.h.
6626
66272008-04-16 Juanma Barranquero <lekktu@gmail.com>
6628
6629 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6630 (Fchar_direction): Add usage in the docstring.
6631
66322008-04-15 Chong Yidong <cyd@stupidchicken.com>
6633
6634 * keyboard.c (read_key_sequence): Remove always-true checks.
6635
66362008-04-14 Jason Rumney <jasonr@gnu.org>
6637
6638 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6639 compatibility struct, for better underline positioning.
6640
66412008-04-13 David Hansen <david.hansen@gmx.net>
6642
6643 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6644 string.
6645
66462008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6647
6648 * m/hp800.h (XUINT, XSET): Remove.
6649
66502008-04-12 Juanma Barranquero <lekktu@gmail.com>
6651
6652 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6653 previous change.
6654
66552008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6656
6657 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6658 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6659
66602008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6661
6662 * keymap.h (map_keymap_canonical): Declare.
6663 * xmenu.c (single_keymap_panes): Use it.
6664
66652008-04-11 Glenn Morris <rgm@gnu.org>
6666
6667 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6668 set the target's value to that of the alias.
6669
66702008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6671
6672 * term.c (set_tty_color_mode): Left over typo.
6673
66742008-04-10 Michael Albinus <michael.albinus@gmx.de>
6675
6676 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6677 only after check for file name handler functions. Signal, when
6678 native functionality is not supported.
6679 (syms_of_fileio): Declare it unconditionally.
6680
66812008-04-10 Jason Rumney <jasonr@gnu.org>
6682
6683 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6684 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6685
6686 * w32.c (logon_network_drive): Also logon to remote drives that
6687 are mapped to drive letters.
6688
66892008-04-10 Glenn Morris <rgm@gnu.org>
6690
6691 * xdisp.c (truncate-partial-width-windows): Doc fix.
6692
66932008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6694
6695 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6696 Move functions to minibuffer.el.
6697 (syms_of_fileio): Don't declare them.
6698
66992008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6700
6701 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6702 (syms_of_minibuf): Remove its initialization.
6703
6704 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6705
67062008-04-09 Juanma Barranquero <lekktu@gmail.com>
6707
6708 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6709
67102008-04-09 Jason Rumney <jasonr@gnu.org>
6711
6712 * makefile.w32-in (distclean): Delete makefile too.
6713 (maintainer-clean): New target.
6714
6715 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6716
6717 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6718 for new font backend and composite cases.
6719
67202008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6721
6722 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6723 Most of the code moved to run_timers.
6724 (do_pending_atimers): Call run_timers.
6725 (run_timers): New function.
6726
6727 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6728 run atimers.
6729
6730 * process.c (wait_reading_process_output): The same as above.
6731
67322008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6733
6734 * minibuf.c (last_exact_completion): Remove variable.
6735 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6736 (complete_and_exit_1, complete_and_exit_2)
6737 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6738 (Fdisplay_completion_list, display_completion_list_1)
6739 (Fminibuffer_completion_help, Fself_insert_and_exit)
6740 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6741 minibuffer.el.
6742 (syms_of_minibuf): Remove corresponding initializations.
6743
6744 * keyboard.c (Qdeactivate_mark): New var.
6745 (command_loop_1): Use it to call `deactivate-mark'.
6746 (syms_of_keyboard): Initialize it.
6747
6748 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6749 to another frame.
6750 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6751 Don't call set_tty_color_mode.
6752 (store_frame_param): Reset previous_frame rather than call
6753 set_tty_color_mode.
6754 * term.c (set_tty_color_mode): Rewrite.
6755 * dispextern.h (set_tty_color_mode): New type.
6756 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6757
67582008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6759
6760 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6761 for generic chars, which do not exist any more in emacs-unicode.
6762
67632008-04-08 Michael Albinus <michael.albinus@gmx.de>
6764
6765 * coding.c (detect_coding_emacs_mule)
6766 (Ffind_operation_coding_system): Fix typo.
6767
67682008-04-08 Jason Rumney <jasonr@gnu.org>
6769
6770 * w32uniscribe.c (SNAME): Extract only symbol name.
6771
6772 * w32font.h (struct w32_metric_cache): New struct.
6773 (w32font_info): Use it.
6774 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6775 (CACHE_BLOCKSIZE): New constants.
6776
6777 * w32font.c (Qja, Qko, Qzh): New symbols.
6778 (syms_of_w32font): Initialise them.
6779 (font_matches_spec): Use them to filter by language.
6780 (recompute_cached_metrics): Remove function.
6781 (compute_metrics, clear_cached_metrics): New functions.
6782 (w32font_encode_char): Use them to manage metric cache.
6783 (w32font_text_extents): Cache metrics for all glyphs on demand.
6784 Delay converting glyph indices to WORD until needed.
6785 (w32font_open_internal): Initialize metric cache to empty.
6786 (registry_to_w32_charset): Charset should always be a symbol.
6787 (fill_in_logfont, list_all_matching_fonts): Family should
6788 always be a symbol.
6789
67902008-04-06 Jason Rumney <jasonr@gnu.org>
6791
6792 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6793 Give up if glyph indices not supported. Use uniscribe obtained
6794 ABC widths for individual metrics. Map glyph clusters back to
6795 characters using fClusterStart flag. Return number of glyphs
6796 produced, not chars processed.
6797 (uniscribe_shape): Map char at FROM to current glyph.
6798
67992008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6800
6801 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6802 Use SetMenuItemHierarchicalMenu.
6803
68042008-04-05 Jason Rumney <jasonr@gnu.org>
6805
6806 * image.c (pbm_load): Allow color values up to 65535.
6807 Throw an error if max_color_idx is outside the supported range.
6808 Report an error when image size is invalid.
6809 Read two bytes at a time when raw images have max_color_idx above 255.
6810
68112008-04-05 Eli Zaretskii <eliz@gnu.org>
6812
6813 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6814 cFileName a file name that includes `?' characters, use the 8+3
6815 alias in cAlternateFileName instead.
6816
68172008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6818
6819 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6820 append "CCL: Quitted" when the CCL program is quitted.
6821 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6822
6823 * ccl.h (struct ccl_program): New member quit_silently.
6824
68252008-04-05 Chong Yidong <cyd@stupidchicken.com>
6826
6827 * search.c (compile_pattern_1): Treat non-nil and non-string of
6828 search-spaces-regexp as nil.
6829
6830 * minibuf.c (Fassoc_string): Tweak docstring.
6831
68322008-04-05 Eli Zaretskii <eliz@gnu.org>
6833
6834 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6835 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6836 2008-03-14 to force inode be positive.
6837
6838 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6839 _S_* ones, since we now use our own sys/stat.h.
6840 (stat, fstat): Don't mangle the inode number.
6841 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6842
68432008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6844
6845 * frame.h (struct frame): Give one more bit to `visible' since we use
6846 values larger than 1 to indicate obscured frames on ttys.
6847
6848 * keymap.c (Qkeymap_canonicalize): New var.
6849 (Fmap_keymap_internal): New fun.
6850 (describe_map): Use keymap-canonicalize.
6851
6852 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6853 (Fundo_boundary): Set them.
6854 (syms_of_undo): Initialize them.
6855 (record_point): Use them instead of last_point_position*.
6856 (last_undo_buffer): Change type.
6857
68582008-04-04 Jason Rumney <jasonr@gnu.org>
6859
6860 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6861 (recompute_cached_metrics): Don't set ascent and descent per char.
6862
6863 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6864 (uniscribe_check_otf): Add GC protection before consing.
6865 Rearrange loop for counting features.
6866
68672008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6868
6869 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6870 buffer with byte-size of source buffer.
6871
68722008-04-03 Chong Yidong <cyd@stupidchicken.com>
6873
6874 * callint.c (Fcall_interactively): Handle temporary region even
6875 when shift-select-mode is off.
6876
68772008-04-03 Jason Rumney <jasonr@gnu.org>
6878
6879 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6880
68812008-04-03 Kenichi Handa <handa@m17n.org>
6882
6883 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6884 (CATEGORY_MASK_UTF_16): Likewise.
6885 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6886 binary file.
6887 (detect_coding): Add null-byte detection for a binary file.
6888 (detect_coding_system): Likewise.
6889
68902008-04-03 Jason Rumney <jasonr@gnu.org>
6891
6892 * w32uniscribe.c: New file.
6893
6894 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6895
6896 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6897
6898 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6899 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6900 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6901 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6902 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6903 (Qphonetic): New symbols.
6904 (syms_of_w32font): Initialize them.
6905 (font_supported_scripts): Use them.
6906 (w32font_list_family): List all charsets.
6907 (w32font_text_extents, recompute_cached_metrics): Fix metric
6908 calculations.
6909 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6910 Give opentype fonts their own format.
6911 (font_matches_spec): New arguments backend and logfont.
6912 Handle :otf spec for uniscribe backend.
6913 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6914 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6915
6916 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6917 font backend.
6918 (globals_of_w32fns): Initialize uniscribe font backend.
6919
6920 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6921 dependencies.
6922 (w32uniscribe.$(O)): New file to build.
6923 (FONT_OBJ): Include w32uniscribe.$(O).
6924 (LIBS): Add uniscribe libraries.
6925
6926 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6927
69282008-04-02 Chong Yidong <cyd@stupidchicken.com>
6929
6930 * callint.c (Vshift_select_mode): New var.
6931 (Finteractive): Document new ^ spec.
6932 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6933 is present.
6934
6935 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6936 (command_loop_1): Avoid running the direct display versions of
6937 forward-char and backward-char if shift-selection may occur.
6938 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6939 shift-translation takes place.
6940
6941 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6942 avoid clobbering by define-minor-mode.
6943
6944 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6945 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6946
6947 * syntax.c (Fforward_word): Add ^ interactive spec.
6948
6949 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6950 (Fscroll_right): Add ^ interactive spec.
6951
69522008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6953
6954 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6955
6956 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6957
6958 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6959
69602008-03-31 Juri Linkov <juri@jurta.org>
6961
6962 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6963
69642008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6965
6966 * gtkutil.c (xg_set_geometry): Fix indentation.
6967 (xg_resize_outer_widget): Remove.
6968 (x_wm_size_hint_off): Fix indentation.
6969 (xg_frame_set_char_size): Call flush_and_sync after
6970 gtk_window_resize.
6971 (x_wm_set_size_hint): Pass NULL as geometry window to
6972 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6973 Add menu bar and tool bar height to base height.
6974 (xg_update_frame_menubar, free_frame_menubar)
6975 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6976 (update_frame_tool_bar, free_frame_tool_bar):
6977 Change xg_resize_outer_widget to xg_frame_set_char_size.
6978
69792008-03-30 Michael Albinus <michael.albinus@gmx.de>
6980
6981 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6982 (Fdbus_call_method): New parameter TIMEOUT.
6983 (dbus-send-signal): Optimize UNGCPRO call.
6984
69852008-03-29 Juri Linkov <juri@jurta.org>
6986
6987 * window.c (Fdisplay_buffer): Move call to
6988 Vsplit_window_preferred_function out of conditions that check
6989 if window is eligible for vertical splitting.
6990 When Vsplit_window_preferred_function is non-nil, call it and use
6991 its non-nil return value as window. Otherwise, continue doing
6992 vertical splitting using Fsplit_window with arg horflag=nil.
6993 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6994 default value from `split-window' to nil.
6995
69962008-03-29 Juri Linkov <juri@jurta.org>
6997
6998 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6999 for interactive code letters 'b' and 'B'.
7000
70012008-03-29 Eli Zaretskii <eliz@gnu.org>
7002
7003 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7004 multibyte string.
7005
70062008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7007
7008 * keyboard.c (pending_funcalls): New var.
7009 (timer_check): Run it.
7010 (syms_of_keyboard): Initialize it.
7011 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7012 (Vdelete_terminal_functions): New vars.
7013 (syms_of_terminal): Initialize them.
7014 (Fdelete_terminal): Run delete-terminal-functions.
7015 * xdisp.c (safe_eval): Rewrite.
7016 (safe_call2): New fun.
7017 * frame.c (Qdelete_frame_functions): New var.
7018 (syms_of_frame): Initialize it.
7019 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7020 * lisp.h (safe_call2, pending_funcalls): Declare.
7021
70222008-03-28 Andreas Schwab <schwab@suse.de>
7023
7024 * indent.c (Fmove_to_column): Move declaration before statements.
7025
70262008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7027
7028 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7029 (struct frame): Use bit fields for boolean vars.
7030
7031 * process.c (server_accept_connection): Simplify naming.
7032 (emacs_get_tty_pgrp): Use SDATA.
7033
7034 * coding.c (decode_coding_object): Fix last change.
7035
70362008-03-27 Jason Rumney <jasonr@gnu.org>
7037
7038 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7039
70402008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7041
7042 * charset.c (Fdefine_charset_internal): Change the way of
7043 registering charsets in Vcharset_order_list.
7044 (syms_of_charset): Make the charset `eight-bit' supplementary.
7045
70462008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7047
7048 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7049 operations, to avoid having the difference between pointers
7050 overflow.
7051
70522008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7053
7054 * indent.c (check_display_width): New fun.
7055 (scan_for_column): Use it.
7056
7057 * data.c (syms_of_data): Mark most-positive-fixnum and
7058 most-negative-fixnum as constants.
7059
7060 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7061
7062 * indent.c (scan_for_column): Extract from current_column_1.
7063 Merge with the same code from Fmove_to_column.
7064 (current_column_1, Fmove_to_column): Use it.
7065
70662008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7067
7068 * keymap.c (map_keymap_internal): New fun.
7069 (map_keymap): Use it.
7070 (Fmap_keymap_internal): New fun.
7071 (Fmap_keymap): Remove left-out test from before make_save_value.
7072
7073 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7074
7075 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7076 Use XCAR/XCDR.
7077
7078 * process.h (struct Lisp_Process): Remove filter_multibyte.
7079 * process.c (QCfilter_multibyte): Remove.
7080 (setup_process_coding_systems): Don't use filter_multibyte.
7081 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7082 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7083 (Fset_process_filter_multibyte): Change the coding-system to
7084 approximate the previous behavior.
7085 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7086 coding-system.
7087
7088 * coding.c (decode_coding_object): When not decoding into a buffer,
7089 obey the coding system's preference of (uni|multi)byte.
7090
70912008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7092
7093 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7094 every char is changed and has a different byte-length.
7095 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7096 Fix int -> EMACS_INT.
7097
70982008-03-23 David Hansen <david.hansen@gmx.net>
7099
7100 * dbusbind.c (xd_read_message): Remove extra copying of message
7101 strings. Check for NULL `interface' or `member'.
7102
71032008-03-22 Eli Zaretskii <eliz@gnu.org>
7104
7105 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7106 cFileName a file name that includes `?' characters, use the 8+3
7107 alias in cAlternateFileName instead.
7108
71092008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7110
7111 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7112
71132008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7114
7115 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7116 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7117 work on current_buffer only instead (that was already the case
7118 for some of the code anyway).
7119 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7120 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7121 (SET_PT, SET_PT_BOTH): Adjust.
7122 * intervals.h (set_point, temp_set_point, set_point_both)
7123 (temp_set_point_both): Remove redundant declarations.
7124
71252008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7126
7127 * fileio.c (Finsert_file_contents):
7128 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7129 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7130 when buffer != current_buffer anyway.
7131
71322008-03-20 Andreas Schwab <schwab@suse.de>
7133
7134 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7135 as default.
7136
71372008-03-19 Jason Rumney <jasonr@gnu.org>
7138
7139 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7140 (syms_of_w32fns): Initialize them.
7141 (HOURGLASS_ID): New constant.
7142 (x_window_to_frame): Don't check hourglass_window.
7143 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7144 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7145 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7146 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7147 Only change the cursor if hourglass is not active.
7148 (Fx_create_frame): Initialize frame's current_cursor.
7149 (hourglass_atimer): Remove.
7150 (hourglass_started): New function.
7151 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7152 (show_hourglass): Adapt to w32, changing argument to frame.
7153
7154 * w32term.h (struct w32_output): Remove hourglass_window.
7155 Add current_cursor.
7156
7157 * eval.c (call_debugger, Fsignal):
7158 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7159 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7160 (Fexecute_extended_command, cancel_hourglass_unwind):
7161 * minibuf.c (read_minibuf):
7162 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7163
71642008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7165
7166 * window.c (run_funs): New fun.
7167 (run_window_configuration_change_hook): Use it to run the buffer-local
7168 and the global part of the hook.
7169
7170 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7171 (unwind_format_mode_line): Restore selected window.
7172 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7173
71742008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7175
7176 * editfns.c (Fchar_equal): Check they are valid characters.
7177
7178 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7179
71802008-03-17 Andreas Schwab <schwab@suse.de>
7181
7182 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7183 against a charset.
7184
7185 * lisp.h (Fbuffer_list): Declare.
7186
71872008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7188
aac0c6e3
MR
7189 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7190 handlebox_widget is != 0.
7191
71922008-03-16 Juri Linkov <juri@jurta.org>
7193
7194 * callint.c (Fcall_interactively): For interactive code letters
7195 'b' and 'B' put the buffer list into the list of default "future"
7196 values of the minibuffer.
7197
71982008-03-16 Andreas Schwab <schwab@suse.de>
7199
7200 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7201 modifiers.
7202
7203 * regex.c (re_match_2_internal): Correct matching of a charset
7204 against latin-1 characters.
7205
72062008-03-16 Kenichi Handa <handa@m17n.org>
7207
7208 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7209 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7210 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7211 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7212 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7213 CHAR_STRING_ADVANCE.
7214 (produce_chars): Fix for the case that the source and the
7215 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7216 instead of CHAR_STRING_ADVANCE.
7217 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7218 STRING_CHAR_ADVANCE.
7219
72202008-03-15 Andreas Schwab <schwab@suse.de>
7221
7222 * regex.c (re_match_2_internal): Correct matching of eight bit
7223 characters in unibyte strings.
7224
72252008-03-15 Martin Rudalics <rudalics@gmx.at>
7226
7227 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7228 at end of range when it coincides with the end of the buffer.
7229
72302008-03-14 Eli Zaretskii <eliz@gnu.org>
7231
7232 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7233
7234 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7235
72362008-03-14 Jason Rumney <jasonr@gnu.org>
7237
7238 * editfns.c (initial_tz): New variable.
7239 (syms_of_editfns): Initialize it.
7240 (Fset_time_zone_rule): Set it when first called.
7241 Use it when TZSTRING is nil.
7242
7243 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7244 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7245 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7246 (globals_of_w32fns): Initialize them.
7247 (compute_tip_xy): Use them to position tooltips.
7248
72492008-03-14 Glenn Morris <rgm@gnu.org>
7250
7251 * emacs.c (main): Revert previous change.
7252 (standard_args): Revert -internal-script back to -scriptload,
7253 and remove the long-option form.
7254
72552008-03-13 Glenn Morris <rgm@gnu.org>
7256
7257 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7258 Remove option -enable-font-backend.
7259
72602008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7261
7262 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7263
72642008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7265
7266 * xterm.c (x_connection_closed): For GTK: If this is the last
7267 terminal just exit without closing the display.
7268
72692008-03-11 Jason Rumney <jasonr@gnu.org>
7270
7271 * w32font.c (w32font_full_name): Use floor to round.
7272
f0131492 72732008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7274
7275 * sound.c (alsa_configure): Declare vol at beginning of block.
7276
7277 * fontset.c (Ffontset_info): Remove extra semicolon.
7278
72792008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7280
7281 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7282 size of resulting string.
7283
72842008-03-10 Jason Rumney <jasonr@gnu.org>
7285
7286 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7287
72882008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7289
7290 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7291 Don't pretend as if characters with display property haven't been
7292 consumed for string-replacing-string case.
7293
72942008-03-08 Kim F. Storm <storm@cua.dk>
7295
7296 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7297 (get_next_display_element, next_element_from_string)
7298 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7299
73002008-03-08 Andreas Schwab <schwab@suse.de>
7301
7302 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7303
73042008-03-06 Jason Rumney <jasonr@gnu.org>
7305
7306 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7307 when charset not specified. Only translate ANSI to unicode when
7308 font_type is truetype.
7309 (w32font_coverage_ok): New function.
7310 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7311
73122008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7313
7314 * lread.c (Fread_char): Resolve modifiers.
7315 (Fread_char_exclusive): Likewise.
7316
7317 * character.c (char_resolve_modifier_mask): New function.
7318 (char_string): Use char_resolve_modifier_mask.
7319 (Fchar_resolve_modifiers): New function.
7320 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7321 function.
7322
73232008-03-04 Jason Rumney <jasonr@gnu.org>
7324
7325 * makefile.w32-in: Always include w32font.c in the build.
7326 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7327
73282008-03-04 Andreas Schwab <schwab@suse.de>
7329
7330 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7331 (versionclean): Likewise.
7332
73332008-03-04 Juanma Barranquero <lekktu@gmail.com>
7334
7335 * .cvsignore: Add oo.
7336
73372008-03-03 Andreas Schwab <schwab@suse.de>
7338
7339 * coding.c (decode_coding_object): Inhibit gap shrinking while
7340 decoding in place.
7341
73422008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7343
7344 * w32term.c: Remove unused include "gnu.h".
7345 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7346
7347 * gnu.h: Rename to ...
7348 * emacs-icon.h: ... this.
7349 * xterm.c: Use emacs-icon.h instead of gnu.h.
7350 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7351
73522008-03-03 Juanma Barranquero <lekktu@gmail.com>
7353
7354 * w32font.c: Include math.h.
7355
73562008-03-03 Jason Rumney <jasonr@gnu.org>
7357
7358 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7359 Compute options separately.
7360 (w32font_open_internal): Set glyph_idx before caching metrics.
7361
7362 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7363 Define if system headers don't.
7364 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7365 (w32font_encode_char): Don't declare here.
7366
7367 * w32font.c (Quniscribe, QCformat): New symbols.
7368 (syms_of_w32font): Define them.
7369 (w32font_has_char): Indicate uncertainty.
7370 (w32font_encode_char): Encode as glyph point. Make static.
7371 (recompute_cached_metrics): New function.
7372 (w32font_open_internal): Use it. Set font to use glyph points
7373 initially. Set format based on type of font.
7374 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7375 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7376 on it. Set format based on information available here.
7377 (add_font_entity_to_list): Identify backend based on opentype_only.
7378
73792008-03-02 Andreas Schwab <schwab@suse.de>
7380
7381 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7382
7383 * coding.c (decode_coding_big5, produce_chars):
7384 Fix typos in last change.
7385
73862008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7387
7388 * gnu.h: New icon.
7389
73902008-03-02 Kenichi Handa <handa@m17n.org>
7391
7392 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7393 `dos', don't decode '\r' if that is the last in the source.
7394 (decode_coding_utf_16, decode_coding_emacs_mule)
7395 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7396 (decode_coding_raw_text, decode_coding_charset): Likewise.
7397 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7398
73992008-03-01 Jason Rumney <jasonr@gnu.org>
7400
7401 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7402
74032008-03-01 Kim F. Storm <storm@cua.dk>
7404
7405 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7406
74072008-03-01 Jason Rumney <jasonr@gnu.org>
7408
7409 * w32font.c (w32font_full_name): New function.
7410 (w32font_open_internal): Use it.
7411
74122008-03-01 Kim F. Storm <storm@cua.dk>
7413
7414 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7415
74162008-03-01 Jason Rumney <jasonr@gnu.org>
7417
7418 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7419
74202008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7421
7422 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7423 xg_frame_resized when the event is for the edit widget.
7424
7425 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7426
7427 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7428 set_char_size.
7429 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7430 operations on widgets here. Just set frame size if needed.
7431 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7432 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7433 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7434 the whole frame.
7435 (xg_create_tool_bar): Move attachment of the tool bar to
7436 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7437 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7438
74392008-03-01 Jason Rumney <jasonr@gnu.org>
7440
7441 * w32fns.c (w32_msg_pump): Disable debug code.
7442
74432008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7444
7445 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7446
74472008-02-29 Chong Yidong <cyd@stupidchicken.com>
7448
7449 * xdisp.c (next_overlay_string): Don't set
7450 overlay_strings_at_end_processed_p if we're currently reading from
7451 a display string.
7452
74532008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7454
7455 * xdisp.c (get_overlay_strings_1): Fix typo.
7456
74572008-02-29 Chong Yidong <cyd@stupidchicken.com>
7458
7459 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7460
74612008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7462
7463 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7464
7465 * xdisp.c (display_mode_element): Cancel the previous change.
7466 (decode_mode_spec): Likewise.
7467 (handle_auto_composed_prop): Don't make composition if it->string
7468 is a string.
7469
74702008-02-27 Kim F. Storm <storm@cua.dk>
7471
7472 * lisp.h (GLYPH): Change type from int to struct with separate char
7473 and face_id members.
7474 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7475 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7476 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7477 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7478 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7479 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7480 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7481 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7482 handle new Lisp glyph code encoding, either an integer or a cons.
7483
7484 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7485 (GLYPH_ALIAS): Delete.
7486 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7487 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7488 (GLYPH_FROM_CHAR): Replace macro by ...
7489 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7490
7491 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7492 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7493 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7494 (GLYPH_INVALID_P): New macro.
7495 (spec_glyph_lookup_face): Update prototype.
7496
7497 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7498 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7499 new glyph code encoding.
7500 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7501 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7502
7503 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7504 Adapt to new glyph type and new glyph code encoding.
7505
7506 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7507
7508 * indent.c (current_column, current_column_1, Fmove_to_column)
7509 (compute_motion): Adapt to new glyph code encoding.
7510
7511 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7512
75132008-02-27 Chong Yidong <cyd@stupidchicken.com>
7514
7515 * process.c (wait_reading_process_output): Check for window
7516 changes caused by timers.
7517 Suggested by Johan Bockgård.
7518
75192008-02-27 Glenn Morris <rgm@gnu.org>
7520
7521 * emacs.c (USAGE1): Add `--disable-font-backend'.
7522
75232008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7524
7525 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7526 is made to the buffer.
7527
75282008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7529
7530 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7531 (face_at_string_position):
7532 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7533 (face_at_string_position):
7534 * xdisp.c (display_string, next_overlay_change):
7535 * buffer.h (overlays_at):
7536 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7537 Update callers.
7538
75392008-02-26 Chong Yidong <cyd@stupidchicken.com>
7540
7541 * editfns.c (Fformat): Doc fix.
7542
75432008-02-26 Juanma Barranquero <lekktu@gmail.com>
7544
7545 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7546 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7547 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7548
75492008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7550
7551 * buffer.c (Fbuffer_swap_text): New function.
7552 (syms_of_buffer): Defsubr it.
7553
75542008-02-25 Chong Yidong <cyd@stupidchicken.com>
7555
7556 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7557
75582008-02-25 Jason Rumney <jasonr@gnu.org>
7559
7560 * w32font.c (w32font_draw): Draw one character at a time when padding.
7561
75622008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7563
7564 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7565 Handle a nil arg. Use run_window_configuration_change_hook.
7566 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7567 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7568 Use run_window_configuration_change_hook.
7569
75702008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7571
7572 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7573 1-pixel width.
7574
75752008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7576
7577 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7578 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7579 if the glyph in the font is zero pixel with.
7580
7581 * dispextern.h (struct glyph_string): New member padding_p.
7582
7583 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7584
7585 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7586
7587 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7588
7589 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7590
7591 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7592
75932008-02-25 Jason Rumney <jasonr@gnu.org>
7594
7595 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7596
75972008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7598
7599 Allow fine-grained image-cache flushing.
7600 * dispextern.h (struct image): Add `dependencies' field.
7601 (clear_image_caches): Change arg to Lisp_Object.
7602 * image.c (make_image): Initialize `dependencies' field.
7603 (clear_image_cache): Change arg to allow fine-grained flushing.
7604 Perform the flush even if image-cache-eviction-delay is nil.
7605 (clear_image_caches): Change arg to Lisp_Object.
7606 (Fclear_image_cache): Expand meaning of the argument.
7607 (mark_image): Mark `dependencies' field.
7608 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7609 (lface_hash): Use XHASH rather than XFASTINT.
7610 (face_at_buffer_position): Fix int -> EMACS_INT position.
7611 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7612 (select_frame_for_redisplay): Remove code duplication.
7613 (redisplay_internal): Adapt arg to call to clear_image_caches.
7614
76152008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7616
7617 * s/vms4-0.h:
7618 * s/vms4-2.h:
7619 * s/vms4-4.h:
7620 * s/vms5-5.h: Remove, unused.
7621
7622 * s/irix5-2.h:
7623 * s/irix6-0.h:
7624 * s/riscos5.h:
7625 * s/mach-bsd4-3.h:
7626 * m/mips4.h: Remove files for obsolete systems.
7627
7628 * Makefile.in:
7629 * filelock.c:
7630 * unexmips.c:
7631 * m/hp9000s300.h:
7632 * m/iris4d.h:
7633 * s/aix3-1.h:
7634 * s/hpux.h:
7635 * s/msdos.h:
7636 * s/usg5-0.h:
7637 * s/usg5-2-2.h:
7638 * s/usg5-2.h:
7639 * s/usg5-3.h: Remove references to obsolete variables.
7640
7641 * s/irix5-0.h: Remove, move all the contents ...
7642 * s/irix6-5.h: ... here. Simplify.
7643 * config.in: Regenerate.
7644
76452008-02-24 Jason Rumney <jasonr@gnu.org>
7646
7647 * w32term.c (x_draw_glyph_string_background): Clear the background
7648 manually when cleartype is in use.
7649 (x_draw_glyph_string_foreground): Draw text transparently when
7650 cleartype is in use.
7651
7652 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7653 a font into it unless we have to.
7654
76552008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7656
7657 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7658 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7659
aac0c6e3
MR
76602008-02-18 Jason Rumney <jasonr@gnu.org>
7661
7662 * w32fns.c (Fw32_shell_execute): Encode parameters.
7663
76642008-02-09 Eli Zaretskii <eliz@gnu.org>
7665
7666 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7667
76682008-02-05 Juanma Barranquero <lekktu@gmail.com>
7669
7670 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7671
76722008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7673
7674 * xterm.c (x_set_offset): Don't change the gravity if
7675 CHANGE_GRAVITY is -1.
7676
76772008-02-23 Chong Yidong <cyd@stupidchicken.com>
7678
7679 * fileio.c (auto_save_error_occurred): New var.
7680 (auto_save_error): Set it.
7681 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7682 error occurred.
7683
76842008-02-23 Eli Zaretskii <eliz@gnu.org>
7685
7686 * w32.c (globals_of_w32): Add initializations for
7687 g_b_init_get_sid_sub_authority and
7688 g_b_init_get_sid_sub_authority_count.
7689
76902008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7691
7692 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7693 (font_parse_xlfd): Use them for sanity check.
7694 (Finternal_set_font_style_table): Make sure the table is bijective.
7695
7696 Consolidate the image_cache to the terminal struct.
7697 * termhooks.h (P_): Remove redundant def.
7698 (struct terminal): New field `image_cache'.
7699 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7700 of FRAME_X_IMAGE_CACHE.
7701 * xterm.h (struct x_display_info): Remove image_cache field.
7702 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7703 * w32term.h (struct w32_display_info): Remove image_cache field.
7704 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7705 * macterm.h (struct mac_display_info): Remove image_cache field.
7706 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7707 * xterm.c (x_term_init):
7708 * w32term.c (w32_term_init):
7709 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7710 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7711 Remove declarations.
7712 (clear_image_caches, mark_image_cache): New declarations.
7713 * xfaces.c (clear_face_cache):
7714 * xdisp.c (redisplay_internal): Use clear_image_caches.
7715 * image.c (clear_image_cache): Don't check that a frame is on
7716 a window-system before checking if it shares the same cache.
7717 (clear_image_caches): New function.
7718 (Fclear_image_cache): Use it.
7719 (mark_image): Move from allo.c.
7720 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7721 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7722 (mark_object): Don't call mark_image_cache for frames.
7723 (mark_terminals): Call mark_image_cache.
7724
7725 * lisp.h (Fdelete_terminal): Declare.
7726
7727 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7728 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7729 wrong_type_argument.
7730
77312008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7732
7733 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7734 malayalam.el, and tamil.el. Add sinhala.el.
7735
77362008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7737
7738 * xterm.c (x_connection_closed): Consolidate identical tests.
7739 (x_delete_terminal): Don't crash if called via x_connection_closed.
7740
77412008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7742
7743 * xdisp.c (decode_mode_spec): New arg string.
7744 (display_mode_element): Adjust for the above change.
7745
77462008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7747
7748 * callint.c (Fcall_interactively): Use AREF.
7749
77502008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7751
7752 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7753
77542008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7755
7756 * xfns.c (Fx_show_tip): Set string to " " if empty.
7757
77582008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7759
7760 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7761 with Qt.
7762
77632008-02-17 Kenichi Handa <handa@m17n.org>
7764
7765 * ftfont.c (ftfont_shape): Return Lispy number.
7766
7767 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7768 for GCs.
7769 (Finternal_set_font_selection_order): Call font_update_sort_order
7770 only when enable_font_backend is set.
7771 (realize_x_face): Set face->font_info to that of default face only
7772 when enable_font_backend is set.
7773
7774 * xdisp.c (handle_composition_prop): Set it->c to the fist
7775 character of the composed region.
7776 (fill_composite_glyph_string): Set base_face->font_info to
7777 s->font_info. Get a face for ascii from base_face->ascii_face.
7778 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7779 with a face already decided.
7780 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7781 non-negative.
7782 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7783 call font_prepare_composition unconditionally.
7784
7785 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7786
7787 * xterm.h (struct x_display_info): New member font.
7788
7789 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7790 (x_set_mouse_face_gc, x_new_font): Likewise.
7791 (x_term_init): Setup display_info->font.
7792 (x_delete_terminal): Free display_info->font.
7793
7794 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7795
7796 * ftxfont.c (ftxfont_default_fid): Delete it.
7797 (ftxfont_open): Set xfont->fid to 0.
7798 (ftxfont_end_for_frame): Clear data specific to the frame and the
7799 font-driver.
7800
7801 * xftfont.c (xftfont_default_fid): Delete it.
7802 (xftfont_open): Set xfont->fid to 0.
7803
7804 * fontset.c (FONTSET_OBJLIST): New macro.
7805 (fontset_find_font): Update font-object list of the fontset.
7806 (free_realized_fontset): New function.
7807 (free_face_fontset): Call free_realized_fontset.
7808 (Ffont_info): Call font_close_object only when enable_font_backend
7809 is set.
7810
7811 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7812 [HAVE_NTGUI]: Include w32term.h.
7813 [MAC_OS]: Include macterm.ch.
7814 (font_otf_ValueRecord): Use make_number.
7815 (font_finish_cache): Fix handling of reference count.
7816 (font_clear_cache): Update num_fonts.
7817 (font_open_entity): Update smallest_char_width and
7818 smallest_font_height of the frame.
7819 (font_close_object): Update num_fonts.
7820 (Fclear_font_cache): Fix finding the target cache data.
7821
78222008-02-16 Glenn Morris <rgm@gnu.org>
7823
7824 * fontset.c (Finternal_char_font): Fix compilation warning.
7825
78262008-02-16 Eli Zaretskii <eliz@gnu.org>
7827
7828 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7829 instead of char arrays. Enlarge the size of array passed to
7830 get_token_information.
7831
7832 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7833 warnings.
7834
78352008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7836
7837 * .gdbinit: Don't set `args', it breaks gdb --args.
7838
78392008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7840
7841 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7842 within a narrowed buffer.
7843
78442008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7845
7846 * coding.c (decode_coding_object, encode_coding_object):
7847 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7848
78492008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7850
7851 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7852 hardcoding 1.
7853 (detect_coding_system):
7854 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7855 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7856 * insdel.c (insert_from_gap):
7857 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7858 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7859 (string_to_multibyte):
7860 * character.c (chars_in_text, multibyte_chars_in_text):
7861 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7862
7863 * character.h (FETCH_STRING_CHAR_ADVANCE)
7864 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7865 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7866 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7867
7868 * casefiddle.c (casify_region): Only call after-change and composition
7869 functions on the part of the region that was changed.
7870
7871 * keyboard.c (read_avail_input):
7872 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7873
78742008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7875
7876 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7877 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7878
78792008-02-11 Juanma Barranquero <lekktu@gmail.com>
7880
7881 * w32menu.c (push_submenu_start, push_submenu_end)
7882 (push_left_right_boundary, push_menu_pane, push_menu_item):
7883 * keyboard.c (read_key_sequence): Don't pass args with side effects
7884 to AREF, it fails when compiling with -DENABLE_CHECKING.
7885
78862008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7887
7888 * Makefile.in (${lispsource}international/charprop.el):
7889 Delete this target.
7890
7891 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7892 emacs-unicode-2.
7893
78942008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7895
7896 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7897
78982008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7899
7900 * frame.c (Qnoelisp): New symbol.
7901 (syms_of_frame): Initialize it.
7902 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7903 harmless Elisp code, from a strong `force' from x_connection_closed.
7904 * frame.h (Qnoelisp): Declare.
7905 * xterm.c (x_connection_closed): Pass `noelisp'.
7906
7907 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7908 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7909 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7910 rather than `int' for the type of `type'.
7911
79122008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7913
7914 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7915
7916 * Makefile.in (GNUC): Remove support for gcc-1.x.
7917
79182008-02-10 Richard Stallman <rms@gnu.org>
7919
7920 * lisp.h (ASET): Use AREF, not ASLOT.
7921
79222008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7923
7924 * lisp.h (ASET): Check bounds.
7925
79262008-02-10 Glenn Morris <rgm@gnu.org>
7927
7928 * buffer.c (mode-name): Doc fix.
7929
79302008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7931
7932 * Makefile.in:
7933 * emacs.c:
7934 * gmalloc.c:
7935 * keyboard.c:
7936 * lisp.h:
7937 * m/ibm370aix.h:
7938 * process.c:
7939 * regex.c:
7940 * s/hpux.h:
7941 * sysdep.c:
7942 * sysselect.h:
7943 * systty.h:
7944 * unexec.c:
7945 * w32term.c:
7946 * xsmfns.c:
7947 * xterm.c: Remove code that deals with obsolete variables.
7948
7949 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7950
7951 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7952 nothing else needs it anymore.
7953
79542008-02-09 Eli Zaretskii <eliz@gnu.org>
7955
7956 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7957 instead of unibyte_char_to_multibyte.
7958
79592008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7960
7961 * s/gnu-linux.h: Remove commented out code.
7962
7963 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7964
7965 * Makefile.in: Update what RMS says about using autoconf.
7966 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7967 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7968 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7969 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7970
79712008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7972
7973 * keymap.c (Fkey_description): Move side effect outside of macro call.
7974
7975 * xfaces.c (Finternal_make_lisp_face):
7976 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7977
7978 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7979 (syms_of_fontset): Use ASET.
7980
7981 * fns.c (concat): Move side effect outside of macro call.
7982 (hash_clear): Use ASET.
7983
79842008-02-08 Richard Stallman <rms@gnu.org>
7985
7986 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7987 If FORCE, and frame has a surrogate minibuffer for another frame,
7988 delete the other frame first.
7989
79902008-02-07 Timo Savola <timo.savola@iki.fi>
7991
7992 * xterm.c (x_detect_focus_change): Handle embed client message.
7993 (handle_one_xevent): Ditto.
7994 (handle_one_xevent): If embedded and we get a button press/release,
7995 request focus.
7996 (xembed_set_info, xembed_send_message): New functions.
7997 (x_make_frame_visible): Call xembed_set_info if embedded.
7998 (x_make_frame_invisible): Call xembed_set_info if embedded.
7999 (x_term_init): Initialize Xatom_XEMBED.
8000 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8001 (x_iconify_frame): Ditto.
8002
8003 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8004 (enum xembed_info, enum xembed_message, enum xembed_focus)
8005 (enum xembed_modifier, enum xembed_accelerator): New.
8006 (xembed_set_info, xembed_send_message): Declare.
8007 (FRAME_X_EMBEDDED_P): New.
8008
8009 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8010 gtk_plug_new.
8011
8012 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8013 window ID of a frame.
8014 (x_window): Reparent frame if embedded.
8015 (Fx_create_frame): Don't set border width if embedded.
8016
8017 * emacs.c (USAGE3): Add --parent-id.
8018 (standard_args): Ditto.
8019
80202008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8021
8022 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8023
80242008-02-07 Jim Meyering <meyering@redhat.com>
8025
8026 Use "do...while (0)", not "if (1)...else" in macro definitions.
8027 The latter provokes a warning from gcc about the empty else, when
8028 followed by ";". Also, without that trailing semicolon, it would
8029 silently swallow up any following statement.
8030 * syntax.h (SETUP_SYNTAX_TABLE)
8031 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8032 * buffer.h (DECODE_POSITION): Likewise.
8033 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8034 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8035 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8036 (FETCH_CHAR_ADVANCE): Likewise.
8037 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8038
80392008-02-07 Jim Meyering <meyering@redhat.com>
8040
8041 * lread.c [lint]: Don't include <sys/inode.h>.
8042
80432008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8044
8045 * xselect.c (x_handle_dnd_message):
8046 * xmenu.c (digest_single_submenu, xmenu_show):
8047 * xdisp.c (with_echo_area_buffer_unwind_data)
8048 (format_mode_line_unwind_data, unwind_format_mode_line)
8049 (display_menu_bar):
8050 * eval.c (Ffetch_bytecode):
8051 * doc.c (store_function_docstring):
8052 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8053 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8054 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8055
80562008-02-07 Kenichi Handa <handa@m17n.org>
8057
8058 * ftxfont.c (ftxfont_open): Don't set
8059 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8060
8061 * ftfont.c (ftfont_open): Fix previous change.
8062
80632008-02-06 Jason Rumney <jasonr@gnu.org>
8064
8065 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8066 Use cached metrics for ASCII characters.
8067 (w32font_open_internal): Don't set font's owning_frame.
8068 Cache metrics for ASCII characters.
8069
8070 * w32font.h (struct w32font_info): Add ascii_metrics.
8071 Remove owning_frame.
8072
80732008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8074
8075 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8076 to negative value.
8077
8078 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8079
8080 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8081
8082 * charset.c (syms_of_charset): Set QCtest and Qeq.
8083
80842008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8085
8086 * process.c (Fstart_process):
8087 * callproc.c (Fcall_process): Handle the case where
8088 Funhandled_file_name_directory returns nil.
8089
8090 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8091 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8092 * font.c (check_gstring): Use them and AREF to access the vector before
8093 we know it's really a gstring.
8094 (Ffont_shape_text): Fix typo.
8095 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8096
8097 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8098 Declare.
8099
8100 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8101
81022008-02-05 Jason Rumney <jasonr@gnu.org>
8103
8104 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8105 Set smallest_font_height and smallest_char_width in display info.
8106
81072008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8108
8109 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8110
81112008-02-05 Miles Bader <miles@gnu.org>
8112
8113 * xfaces.c (get_lface_attributes, merge_named_face)
8114 (lookup_named_face, lookup_derived_face, realize_named_face):
8115 Revert 2008-02-01 change by cyd@stupidchicken.com.
8116
81172008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8118
8119 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8120 fallback fonts.
8121 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8122
81232008-02-04 Jason Rumney <jasonr@gnu.org>
8124
8125 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8126 set full_name.
8127 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8128
81292008-02-03 Jason Rumney <jasonr@gnu.org>
8130
8131 * makefile.w32-in (OBJ1): Include font.o here.
8132 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8133
81342008-02-02 Jason Rumney <jasonr@gnu.org>
8135
8136 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8137
81382008-02-01 Jason Rumney <jasonr@gnu.org>
8139
8140 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8141
8142 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8143
81442008-02-01 Andreas Schwab <schwab@suse.de>
8145
8146 * Makefile.in (shortlisp, lisp): Update for rename of
8147 ../lisp/language/myanmar.el.
8148
81492008-02-01 Chong Yidong <cyd@stupidchicken.com>
8150
8151 * xfaces.c (get_lface_attributes): Delete function.
8152 (merge_named_face, lookup_named_face, lookup_derived_face)
8153 (realize_named_face): Call lface_from_face_name directly, and use
8154 the fact that merge_face_vectors does not alter its FROM argument.
8155
81562008-02-01 Jason Rumney <jasonr@gnu.org>
8157
8158 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8159 input in the default locale. Handle non-Unicode multibyte input.
8160
81612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8162
8163 * fontset.c (reorder_font_vector): Exclude nil elements from the
8164 font group. Don't try multiple fonts.
8165 (fontset_font): Adjust for the above change.
8166 (Finternal_char_font): Return nil if the found font doesn't
8167 contain the character ch.
8168
8169 * Makefile.in (lisp, shortlisp): Add cham.el.
8170
81712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8172
8173 * font.h (FONTP): Make it return 1 also for a font-object.
8174
8175 * .gdbinit (xfontset): New function.
8176
8177 * font.c (font_find_for_lface): Check if the character C is
8178 supported or not only for the first font.
8179
8180 * fontset.c (reorder_font_vector): Fix typo.
8181 (fontset_find_font): Don't add a font-spec specifying a script.
8182 Use 0 (not Qt) for the indication of empty font-group. Change the
8183 format of RFONT-DEF. Return Qt if no font in the font-group
8184 support the character.
8185 (fontset_font): Adjust for the above change. If no font was
8186 found the character, remember that.
8187 (face_for_char): Adjust for the change of RFONT-DEF.
8188 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8189 no font for the target.
8190 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8191
81922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8193
8194 * font.c (font_load_for_face): Handle the case that the font in
8195 face->lface is a string.
8196
81972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8198
8199 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8200
82012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8202
8203 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8204 Fix previous change. If the frame is not on a window system,
8205 signal an error.
8206
82072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8208
8209 * coding.c (decode_coding_object, encode_coding_object): Adjust
8210 marker positions after conversion.
8211
8212 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8213
82142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8215
8216 * font.c (font_find_for_lface): Fix the handling of the return
8217 value of font_has_char.
8218 (Ffont_shape_text): Fix previous change.
8219
8220 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8221 (fontset_ref_and_range): Delete it.
8222 (fontset_find_font): Call char_table_ref_and_range instead of
8223 FONTSET_REF_AND_RANGE.
8224 (make_fontset): Don't setup font groups of Latin here.
8225 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8226 (new_fontset_from_font): Make the specified font the default for
8227 all Latin characters.
8228
82292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8230
8231 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8232 is on a window system before accessing the fontset of the frame.
8233
82342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8235
8236 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8237
8238 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8239 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8240
8241 * font.c (Ffont_shape_text): If the font driver doesn't have a
8242 shaper function, make zero-width glyphs to have at least one-pixel
8243 width. Fix setting of `to' field of glyphs.
8244
82452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8246
8247 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8248 glyphs.
8249
8250 * font.h (struct font_driver): Improve docstring of member `shape'.
8251
82522008-02-01 Kenichi Handa <handa@m17n.org>
8253
8254 * composite.c (syms_of_composite): Fix docstring of
8255 auto-composition-function.
8256
8257 * font.h (LGLYPH_SIZE): New macro.
8258
8259 * font.c (Ffont_fill_gstring): Stop filling when a character not
8260 supported by the font is found.
8261 (Ffont_shape_text): When a shape callback function returns nil,
8262 try at most two more times with larger gstring.
8263 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8264
8265 * xdisp.c (handle_auto_composed_prop): Change the argument to
8266 auto-composition-function.
8267
8268 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8269 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8270 Lispy glyph and store it in the lgstring.
8271
8272 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8273
8274 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8275
82762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8277
8278 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8279
8280 * fontset.c (Vfont_encoding_charset_alist): New variable.
8281 (syms_of_fontset): DEFVAR it.
8282 (reorder_font_vector, fontset_find_font): Optimize for the case of
8283 no need of reordering.
8284 (face_for_char): Map the charset property by
8285 Vfont_encoding_charset_alist.
8286
82872008-02-01 Jason Rumney <jasonr@gnu.org>
8288
8289 * w32font.c (logfonts_match): Don't check adstyle here.
8290 (font_matches_spec): Check here against physical font instead.
8291 (add_font_entity_to_list): Avoid some substitutions.
8292
8293 * font.c (font_parse_fcname): Default weight and slant to normal.
8294 (font_score): Prefer normal fonts if weight or slant unspecified.
8295 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8296 match freetype scores.
8297
82982008-02-01 Jason Rumney <jasonr@gnu.org>
8299
8300 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8301 font, as it may have been deleted.
8302 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8303 most common hyphenless variation.
8304 (logfonts_match): Check generic family.
8305 (font_matches_spec): Don't check generic family here.
8306 (fill_in_logfont): Set generic family based on adstyle.
8307
8308 * w32font.h (w32font_get_cache): Update declaration.
8309
83102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8311
8312 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8313
8314 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8315 If none of the new drivers are available, call font_update_drivers
8316 with the old drivers.
8317
8318 * w32font.c (w32font_get_cache): Adjust the argument type.
8319
8320 * xfont.c (xfont_get_cache): Adjust the argument type.
8321
8322 * font.h (struct font_driver): Change argument type of get_cache.
8323
8324 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8325
8326 * font.c (Ffont_get): Fix arguments to Fassoc.
8327 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8328 (font_clear_cache): New function.
8329 (font_list_entities, font_matching_entity): Use font_get_cache.
8330 (font_update_drivers): Call font_clear_cache when finishing a driver.
8331
8332 * fontset.c (fontset_find_font): Fix previous change.
8333
83342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8335
8336 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8337 dpyinfo->font_table.
8338 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8339 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8340
8341 * font.c (font_at): Handle the case that the arg C is negative.
8342 Handle the unibyte case.
8343 (Ffont_at): Call font_at with the arg C -1.
8344
8345 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8346 the position here, and call font_at with the arg C -1.
8347 Don't check the range of the existing composition at the point.
8348
83492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8350
8351 * fontset.c (fontset_add): New args charset_id and family.
8352 Change caller.
8353 (load_font_get_repertory, fontset_find_font): Assume that
8354 font_spec is always a font-spec object.
8355 (Fset_fontset_font): Always store a font-spec object in a fontset.
8356
8357 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8358 instead of get_property_and_range.
8359
83602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8361
8362 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8363 (xftfont_open): Don't keep locking face.
8364 (xftfont_close): Don't unlock face.
8365 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8366
8367 * fontset.c (fontset_find_font): Don't prefer a font of
8368 supplementary charset.
8369
83702008-02-01 Kenichi Handa <handa@m17n.org>
8371
8372 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8373 script, langsys_tag to langsys, new member script.
8374 (OTF_TAG_STR): Terminate by '\0'.
8375 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8376 listing to the script specified in that property. Fix arg to
8377 OTF_check_features.
8378
83792008-02-01 Jason Rumney <jasonr@gnu.org>
8380
8381 * w32font.h: New file.
8382
8383 * w32font.c: Include it.
8384 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8385 (w32font_open): Set owning_frame.
8386 (w32font_text_extents): Use owning_frame.
8387 (struct font_callback_data): Add opentype_only field.
8388 (add_font_entity_to_list): Use it to filter fonts.
8389 Don't check against full name.
8390 (w32font_list_internal): New function.
8391 (w32font_list): Use it.
8392 (w32font_match_internal): New function.
8393 (w32font_match): Use it.
8394 (w32font_open_internal): New function.
8395 (w32font_open): Use it.
8396 (w32font_get_cache, w32font_close, w32font_has_char)
8397 (w32font_encode_char, w32font_text_extents, w32font_draw):
8398 Make non-static.
8399
8400 * makefile.w32-in (w32font.o): Depend on w32font.h.
8401
84022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8403
8404 * charset.c (Fdefine_charset_internal): Record a supplementary
8405 charset at the tail of Vcharset_order_list.
8406
8407 * font.c (Ffont_shape_text): Fix the return value.
8408
8409 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8410
8411 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8412
84132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8414
8415 * ftfont.c (struct OpenTypeSpec): New struct.
8416 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8417 (ftfont_get_open_type_spec): New function.
8418 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8419
8420 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8421
84222008-02-01 Jason Rumney <jasonr@gnu.org>
8423
8424 * w32font.c (add_font_entity_to_list): Compare only the beginning
8425 of full name.
8426
84272008-02-01 Kenichi Handa <handa@m17n.org>
8428
8429 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8430 Never return HANDLED_RECOMPUTE_PROPS.
8431
84322008-02-01 Kenichi Handa <handa@m17n.org>
8433
8434 * font.c (font_gstring_produce): Delete it.
8435
8436 * composite.h (COMPOSITION_METHOD):
8437 Handle COMPOSITION_WITH_GLYPH_STRING.
8438
84392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8440
8441 * xfont.c (Qx): Delete.
8442 (syms_of_xfont): Don't initialize Qx.
8443
8444 * composite.h (enum composition_method):
8445 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8446
84472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8448
8449 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8450 (choose_face_font): Accept new form of font-spec.
8451
8452 * frame.h (font_driver_list): Declare it unconditionally.
8453 (struct frame): Define members font_driver_list and font_data_list
8454 unconditionally.
8455
8456 * fontset.c: Include "font.h" unconditionally.
8457 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8458 (Fset_fontset_font): Accept a font-spec object.
8459
8460 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8461 PIXEL_SIZE part a wild card.
8462
8463 * dispextern.h (struct glyph_string): Define members clip and
8464 num_clips unconditionally.
8465 (struct face): Define members font_info and extra unconditionally.
8466
8467 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8468 ftfont_info only when HAVE_LIBOTF is defined.
8469
84702008-02-01 Andreas Schwab <schwab@suse.de>
8471
8472 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8473 and end.
8474
84752008-02-01 Jason Rumney <jasonr@gnu.org>
8476
8477 * w32font.c (w32font_driver): Add new fields.
8478
84792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8480
8481 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8482 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8483 (LIBES): Add @M17N_FLT_CFLAGS@.
8484
8485 * composite.c (compose_text): Don't treat the new style
8486 composition specially.
8487
8488 * emacs.c (main): Call syms_of_font unconditionally.
8489
8490 * font.h (FONT_ENTITY_NOT_LOADABLE)
8491 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8492 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8493 (struct font_driver): New member shape.
8494 (font_registry_charsets): Extern it.
8495 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8496 (font_otf_capability, font_drive_otf): Delete their externs.
8497
8498 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8499 (font_charset_alist, font_registry_charsets): Move from xfont.c
8500 and rename.
8501 (font_prop_validate_otf): New function.
8502 (font_property_table): Register it for QCotf.
8503 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8504 (font_drive_otf): Delete.
8505 (font_prepare_composition): New arg F. Adjust for the change of
8506 lispy gstring.
8507 (font_find_for_lface): New arg C.
8508 (font_load_for_face): Adjust for the change of font_find_for_lface.
8509 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8510 lispy gstring.
8511 (Ffont_shape_text): New function.
8512 (Fopen_font): If the font size is not given, use 12-pixel.
8513 (Ffont_at): New arg STRING.
8514 (syms_of_font): Initalize font_charset_alist.
8515 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8516 conditionally.
8517
8518 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8519 fonts of the same font-spec. Change the format of RFONT-DEF.
8520 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8521 Adjust for the change of RFONT-DEF.
8522 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8523
8524 * ftfont.h: New file.
8525
8526 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8527 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8528 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8529 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8530 font_otf_capability and font_drive_otf, set ftfont_shape.
8531 (ftfont_list): Adjust for the change of :otf property value.
8532 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8533 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8534 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8535 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8536 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8537 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8538
8539 * w32term.c (x_draw_composite_glyph_string_foreground):
8540 Adjust for the change of lispy gstring.
8541
8542 * xdisp.c (handle_composition_prop): Adjust for the change of
8543 lispy gstring. Call a function for auto-composition with the
8544 third arg it->window.
8545 (fill_composite_glyph_string): Adjust for the change of lispy string.
8546 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8547
8548 * xfaces.c (set_font_frame_param): Adjust for the change of
8549 font_find_for_lface.
8550
8551 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8552 (xfont_registry_charsets): Likewise. Change caller.
8553 (syms_of_xfont): Don't handle x_font_charset_alist.
8554
8555 * xftfont.c: Include "ftfont.h".
8556 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8557 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8558 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8559 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8560 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8561 Set xftfont_driver.shape to xftfont_shape.
8562
8563 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8564 the change of lispy gstring.
8565
85662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8567
8568 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8569
85702008-02-01 Jason Rumney <jasonr@gnu.org>
8571
8572 * w32font.c (w32font_draw): Fill background manually.
8573
85742008-02-01 Jason Rumney <jasonr@gnu.org>
8575
8576 * font.c (Qfontp): Remove unused symbol.
8577 (QCantialias): New symbol.
8578 (syms_of_font): Define it.
8579 (font_property_table): Set a validator for QCantialias.
8580
8581 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8582 Define if not already.
8583 (QCfamily): Share with xfaces.c.
8584 (Qstandard, Qsubpixel, Qnatural): New symbols.
8585 (syms_of_w32font): Define them. Don't define QCfamily here.
8586 (w32_antialias_type, lispy_antialias_type): New functions.
8587 (w32_enumfont_pattern_entity): New arg requested_font.
8588 Set antialias parameter if non-default was requested.
8589 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8590
85912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8592
8593 * lread.c (read1): Undo the previous change.
8594
85952008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8596
8597 * frame.c (Fdelete_frame): Call font_update_drivers only when
8598 USE_FONT_BACKEND is defined.
8599
86002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8601
8602 * font.h (struct font_bitmap): New member bits_per_pixel.
8603 (struct font_driver): New members start_for_frame and end_for_frame.
8604 (struct font_data_list): New struct.
8605 (font_put_frame_data, font_get_frame_data): Extern them.
8606
8607 * frame.h (struct frame): New member font_data_list.
8608
8609 * font.c (font_update_drivers): Call driver->start_for_frame and
8610 driver->end_for_frame at proper timings.
8611 (font_put_frame_data, font_get_frame_data): New functions.
8612 (Ffont_spec): Add usage in the docstring.
8613
8614 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8615 (Fdelete_frame): Call font_update_drivers.
8616
8617 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8618 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8619 (xftfont_get_xft_draw): New function.
8620 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8621 (xftfont_end_for_frame): New function.
8622 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8623
8624 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8625 Change argument. Cache GCs in the per-frame data.
8626 (struct ftxfont_frame_data): New struct.
8627 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8628 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8629 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8630 (ftxfont_end_for_frame): New function.
8631 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8632
8633 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8634
86352008-02-01 Kenichi Handa <handa@m17n.org>
8636
8637 * xselect.c (Vselection_coding_system)
8638 (Vnext_selection_coding_system): Delete them.
8639 (syms_of_xselect): Don't declare selection-coding-system and
8640 next-selection-coding-system. They are declared in select.el.
8641
86422008-02-01 Jason Rumney <jasonr@gnu.org>
8643
8644 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8645
8646 * w32fns.c: Include imm.h.
8647 (get_composition_string_fn, get_ime_context_fn): New optional
8648 system functions.
8649 (globals_of_w32fns): Load them from imm32.dll.
8650 (ignore_ime_char): New flag.
8651 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8652 WM_IME_ENDCOMPOSITION messages.
8653
8654 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8655 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8656
86572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8658
8659 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8660 (READCHAR_REPORT_MULTIBYTE): New macro.
8661 (readchar): New 2nd arg MULTIBYTE.
8662 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8663 Make symbol's name multibyte according to the multibyteness of the
8664 source.
8665
86662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8667
8668 * xfaces.c (face_for_overlay_string): Call lookup_face with
8669 correct arguments (fix of synching with the trunk).
8670
86712008-02-01 Kenichi Handa <handa@m17n.org>
8672
8673 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8674 (font_prop_validate_non_neg, font_prop_validate_spacing):
8675 Delete argument prop_index.
8676 (font_property_table): Change arguments to validater. Change Callers.
8677 (font_lispy_object): Delete.
8678 (font_at): Use font_find_object instead fo font_lispy_object.
8679
86802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8681
8682 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8683 and file names.
8684
86852008-02-01 Jason Rumney <jasonr@gnu.org>
8686
8687 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8688 (font_matches_spec): Remove debug output.
8689 (add_font_entity_to_list): Avoid using substituted fonts.
8690
86912008-02-01 Jason Rumney <jasonr@gnu.org>
8692
8693 * doc.c (Fsnarf_documentation):
8694 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8695
86962008-02-01 Miles Bader <miles@gnu.org>
8697
8698 * dispextern.h (struct glyph_row): Only define "clip" field if
8699 HAVE_WINDOW_SYSTEM is defined.
8700
87012008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8702
8703 Fix up multi-tty merge.
8704
8705 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8706 and indentation.
8707
8708 * xfaces.c (free_realized_face, clear_face_gcs):
8709 Include font_done_for_face in the input_blocked section, just in case.
8710
8711 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8712 (get_char_face_and_encoding): Undo last change and remove the *other*
8713 duplicate definition (i.e. keep the one that's better scoped and that
8714 includes code for the font-backend).
8715
8716 * terminal.c (create_terminal): Default keyboard_coding to
8717 `no-conversion' and terminal_coding to `undecided'.
8718
8719 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8720
8721 * fontset.c (free_realized_fontsets): Check that the table entry does
8722 contain a fontset before trying to compare it to `base'.
8723
8724 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8725 syms_of_charset, and syms_of_coding earlier because init_window_once
8726 now needs Vcoding_system_hash_table to be setup.
8727
8728 * coding.h (default_buffer_file_coding): Remove.
8729
8730 * coding.c (default_buffer_file_coding): Remove.
8731 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8732 than ->symbol, and use the terminal-local coding system.
8733 (syms_of_coding): Don't setup the coding-systems that are not
8734 terminal-local.
8735 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8736
8737 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8738 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8739
8740 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8741 in chartab.c and were re-added here by mistake.
8742 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8743
8744 * doc.c (Fsnarf_documentation):
8745 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8746 src to etc.
8747
8748 * ChangeLog.10: Add mistakenly removed entry.
8749
87502008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8751
8752 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8753
87542008-02-01 Miles Bader <miles@gnu.org>
8755
8756 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8757 Add extra args to FACE_FOR_CHAR.
8758
87592008-02-01 Kenichi Handa <handa@m17n.org>
8760
8761 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8762 in sequence.
8763
8764 * chartab.c (map_sub_char_table, map_char_table): If the range
8765 contains just one character, call the function with that character
8766 even if the depth is not 3.
8767
87682008-02-01 Jason Rumney <jasonr@gnu.org>
8769
8770 * w32font.c (w32font_text_extents): Calculate metrics for the
8771 whole string.
8772
87732008-02-01 Jason Rumney <jasonr@gnu.org>
8774
8775 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8776
87772008-02-01 Jason Rumney <jasonr@gnu.org>
8778
8779 * w32term.c (x_set_glyph_string_clipping): Use
8780 get_glyph_string_clip_rects.
8781 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8782 Adjust for the change of struct glyph_string.
8783
8784 * w32font.c (w32font_draw): Do clipping here.
8785
87862008-02-01 Kenichi Handa <handa@m17n.org>
8787
8788 * xftfont.c (xftfont_draw): Adjust for the change of struct
8789 glyph_string.
8790
8791 * xterm.c (x_set_glyph_string_clipping): Use
8792 get_glyph_string_clip_rects.
8793 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8794 Adjust for the change of struct glyph_string.
8795
8796 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8797 the resulting clip(s}.
8798 (expose_overlaps): Add arg r. Change callers. Set it to
8799 row->clip temporarily.
8800 (expose_window): Redraw rows overlapping the exposed area.
8801
8802 * dispextern.h (struct glyph_row): New member clip.
8803 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8804 clip_height, new member clip, and num_clips.
8805
88062008-02-01 Kenichi Handa <handa@m17n.org>
8807
8808 * data.c (Fchar_or_string_p): Fix docstring.
8809
88102008-02-01 Kenichi Handa <handa@m17n.org>
8811
8812 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8813 create a temporary XftDraw object.
8814
88152008-02-01 Kenichi Handa <handa@m17n.org>
8816
8817 * font.c (Ffontp): Fix docstring.
8818
8819 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8820 strong evidence of ISO-2022.
8821
88222008-02-01 Kenichi Handa <handa@m17n.org>
8823
8824 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8825 SYNTAX_ENTRY_FOLLOW_PARENT.
8826
88272008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8828
8829 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8830 its type.
8831 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8832 Update to the new type of weak_hash_tables and next_weak.
8833
8834 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8835 a plain C pointer to Lisp_Hash_Table.
8836
8837 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8838 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8839 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8840 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8841 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8842 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8843 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8844 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8845 (GC_EQ): Remove since they've been identical to their non-GC_
8846 alter-egos ever since the markbit was eradicated.
8847
8848 * alloc.c:
8849 * buffer.c:
8850 * buffer.h:
8851 * data.c:
8852 * fileio.c:
8853 * filelock.c:
8854 * fns.c:
8855 * frame.h:
8856 * lisp.h:
8857 * macterm.c:
8858 * print.c:
8859 * process.c:
8860 * w32fns.c:
8861 * w32menu.c:
8862 * w32term.c:
8863 * xfns.c:
8864 * xmenu.c:
8865 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8866
88672008-02-01 Kenichi Handa <handa@m17n.org>
8868
8869 * chartab.c (map_sub_char_table): Make it work for the top-level
8870 char-table. Fix handling of parent char-table.
8871 (map_char_table): Adjust for the above change.
8872
88732008-02-01 Jason Rumney <jasonr@gnu.org>
8874
8875 * w32font.c (Qgdi): Rename from Qw32.
8876
88772008-02-01 Jason Rumney <jasonr@gnu.org>
8878
8879 * w32bdf.c (get_quoted_string): Make function static.
8880
88812008-02-01 Kenichi Handa <handa@m17n.org>
8882
8883 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8884 bigger ascent and descent than those of the font, use them as
8885 font's ascent and descent.
8886
88872008-02-01 Kenichi Handa <handa@m17n.org>
8888
8889 * Makefile.in (${lispsource}international/charprop.el): Move this
8890 target within "#ifdef HAVE_UNIDATA" and "#endif".
8891
88922008-02-01 Kenichi Handa <handa@m17n.org>
8893
8894 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8895 (shortlisp): Add ../lisp/language/tai-viet.el.
8896
88972008-02-01 Ulrich Mueller <ulm@gentoo.org>
8898
8899 * Makefile.in (${lispsource}international/charprop.el): Depend on
8900 temacs${EXEEXT}.
8901
89022008-02-01 Jason Rumney <jasonr@gnu.org>
8903
8904 * w32font.c (w32font_close): Delete the GDI font object.
8905
8906 * w32menu.c: Include character.h.
8907
8908 * w32proc.c: Likewise.
8909
8910 * w32select.c: Likewise.
8911
8912 * makefile.w32-in (w32proc.o): Depend on character.h.
8913
89142008-02-01 Jason Rumney <jasonr@gnu.org>
8915
8916 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8917
8918 * w32menu.c (syms_of_w32menu): Likewise.
8919
8920 * w32proc.c (syms_of_ntproc): Likewise.
8921
8922 * w32select.c (syms_of_w32select): Likewise.
8923
8924 * w32term.c (syms_of_w32term): Likewise.
8925
89262008-02-01 Jason Rumney <jasonr@gnu.org>
8927
8928 * w32font.c (w32font_draw): Delete brush after using it.
8929
89302008-02-01 Jason Rumney <jasonr@gnu.org>
8931
8932 * w32font.c (w32font_open): Don't set font_idx.
8933 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8934 to font settings.
8935 (w32font_draw): Fill background explicitly.
8936
89372008-02-01 Jason Rumney <jasonr@gnu.org>
8938
8939 * w32term.c (w32_initialize): Don't call w32font_initialize.
8940
8941 * w32font.c (w32font_info): Remove subranges.
8942 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8943 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8944 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8945 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8946 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8947 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8948 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8949 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8950 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8951 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8952 New symbols.
8953 (font_callback_data): New struct.
8954 (w32font_list, w32font_match): Use it.
8955 (w32font_open): Don't populate subranges.
8956 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8957 (w32font_encode_char): Always return unicode code-point as-is.
8958 (w32font_text_extents): Supply a transformation matrix to
8959 GetGlyphOutline. Never look up by glyph index. Avoid looping
8960 twice. Use unicode version of GetTexExtentPoint32 instead of
8961 glyph index version.
8962 (set_fonts_frame): Remove.
8963 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8964 set frame parameter. Use backward compatible fake foundries.
8965 Save generic family in extra slot under QCfamily. Make width slot
8966 constant. Save QCspacing value. Save list of scripts instead of
8967 binary subranges.
8968 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8969 (add_font_entity_to_list): Use font_callback_data struct. Filter
8970 unwanted fonts.
8971 (add_one_font_entity_to_list): Use font_callback_data struct.
8972 (w32_registry): Default to iso10646_1.
8973 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8974 string font registries. Don't fill in font name if it is a generic
8975 family name, fill family instead. Use spacing, family and script
8976 extra info to fill pitch, family and charset fields.
8977 (list_all_matching_fonts): Use font_callback_data struct.
8978 (unicode_range_for_char): Remove.
8979 (font_supported_scripts): New function.
8980 (w32font_initialize): Remove.
8981 (syms_of_w32font): Update which symbols are defined.
8982
89832008-02-01 Jason Rumney <jasonr@gnu.org>
8984
8985 * font.c (font_pixel_size): Reverse assq_no_quit args.
8986
8987 * w32term.h (FONT_WIDTH): Report max width, not average.
8988 (FONT_MAX_WIDTH): Remove.
8989 (FONT_AVG_WIDTH): New macro.
8990
8991 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8992 redefinition of FONT_WIDTH.
8993
8994 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8995 (w32_cache_char_metrics): Use FONT_WIDTH.
8996
8997 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8998
89992008-02-01 Jason Rumney <jasonr@gnu.org>
9000
9001 * w32font.c (w32font_open): Make lfHeight negative.
9002
9003 * w32fns.c (x_default_font_parameter): Use new style font name.
9004 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9005
90062008-02-01 Jason Rumney <jasonr@gnu.org>
9007
9008 * w32font.c (QCsubranges): New symbol.
9009 (w32font_open, w32font_has_char): Get subranges from subproperty
9010 of extra.
9011 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9012 (syms_of_w32font): Define :subranges symbol.
9013
9014 * font.c (font_put_extra): Expose externally.
9015
9016 * font.h (font_put_extra): Move declaration from font.c.
9017
9018 * font.c (Ffont_get): Use font driver to determine otf capability.
9019 (adjust_anchor): Check if driver defines anchor_point before using.
9020
9021 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9022 (w32font_draw): Use options.
9023 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9024 Fix detection of truetype fonts.
9025 (registry_to_w32_charset): Handle charsets other than iso8859-1
9026 expressed as lisp symbols.
9027 (w32_registry): Express charset as lisp symbol.
9028 (fill_in_logfont): Reverse pixel and point height logic.
9029 Don't set width here. Set quality to default.
9030
9031 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9032 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9033
9034 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9035 Remove redundant loop and allocation.
9036
9037 * makefile.w32-in (font.o, w32font.o): New objects.
9038 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9039 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9040
9041 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9042 STORE_XCHARB a valid l-value.
9043
9044 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9045 calculations for non-Truetype fonts.
9046 (x_draw_glyph_string): Sync with xterm.c.
9047 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9048 Remove redundant code.
9049 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9050
9051 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9052 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9053
9054 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9055 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9056
9057 * w32font.c: New file for w32 font backend.
9058
90592008-02-01 Kenichi Handa <handa@m17n.org>
9060
9061 * term.c: Don't include "buffer.h" twice.
9062
90632008-02-01 Kenichi Handa <handa@m17n.org>
9064
9065 * character.c (Funibyte_string): New function.
9066 (syms_of_character): Defsubr it.
9067
90682008-02-01 Jason Rumney <jasonr@gnu.org>
9069
9070 * w32term.c [USE_FONT_BACKEND]:
9071 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9072 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9073 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9074 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9075 (x_free_frame_resources): Sync with xterm.c.
9076
90772008-02-01 Andreas Schwab <schwab@suse.de>
9078
9079 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9080 char-table size.
9081
90822008-02-01 Kenichi Handa <handa@m17n.org>
9083
9084 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9085
90862008-02-01 Kenichi Handa <handa@m17n.org>
9087
9088 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9089 font_otf_gpos, add font_drive_otf.
9090
9091 * fontset.c (fontset_find_font): Pay attention to font size
9092 specified for a font.
9093 (reorder_font_vector): Check contents of font_def.
9094
9095 * font.c (struct otf_list): Delete it.
9096 (otf_list): Make it a lisp variable.
9097 (otf_open): Use lispy otf_list.
9098 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9099 (check_otf_features): New function.
9100 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9101 New functions.
9102 (font_drive_otf): New function merging font_otf_gsub and
9103 font_otf_gpos.
9104 (font_open_for_lface): New arg spec. Change argument order.
9105 (font_load_for_face): Adjust for the change of font_open_for_lface.
9106 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9107 Ffont_otf_gpos.
9108 (syms_of_font): Staticpro otf_list. Delete defsubr of
9109 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9110
9111 * xfaces.c (set_font_frame_param): Adjust for the change of
9112 font_open_for_lface.
9113
9114 * font.h (font_open_for_lface): Adjust prototype.
9115 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9116 member otf_drive.
9117 (font_otf_gsub, font_otf_gpos): Delete externs.
9118 (font_drive_otf): Extern it.
9119
91202008-02-01 Kenichi Handa <handa@m17n.org>
9121
9122 * font.c (font_at): If the window W is not on a window system,
9123 return Qnil.
9124
9125 * coding.c (produce_chars, encode_coding): Don't call
9126 insert_from_gap if no characters to produce.
9127
91282008-02-01 Kenichi Handa <handa@m17n.org>
9129
9130 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9131 Fclear_face_cache.
9132
9133 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9134
91352008-02-01 Miles Bader <miles@gnu.org>
9136
9137 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9138 Parse "--disable-font-backend" option.
9139 (standard_args): Add "--disable-font-backend" option.
9140
91412008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 * fontset.c (fontset_find_font): New function.
9144 (fontset_font): Use fontset_find_font.
9145 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9146 Register the specified font for all Latin characters.
9147 (new_fontset_from_font): Register the specified font for all Latin
9148 characters.
9149 (dump_fontset): For a realized fontset, include the base fontset
9150 name in the returned vector.
9151
91522008-02-01 Kenichi Handa <handa@m17n.org>
9153
9154 * character.h (CHAR_STRING): Cast C to unsigned on calling
9155 char_string.
9156
9157 * character.c (char_string): Type of arg C changed to unsigned.
9158 Signal an error if C is an invalid character code.
9159
9160 * editfns.c (general_insert_function, Fchar_to_string):
9161 Use CHARACTERP, not INTEGERP.
9162
91632008-02-01 Kenichi Handa <handa@m17n.org>
9164
9165 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9166 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9167
9168 * regex.c (analyse_first): Fix for multibyte characters in "case
9169 charset:" and "case categoryspec:".
9170
91712008-02-01 Andreas Schwab <schwab@suse.de>
9172
9173 * Makefile.in (LIBES): Move standard libraries to the end.
9174
91752008-02-01 Kenichi Handa <handa@m17n.org>
9176
9177 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9178 nonzero, don't shrink the buffer nextb.
9179
9180 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9181
9182 * coding.c (coding_alloc_by_making_gap): New arg offset.
9183 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9184 offset.
9185 (decode_coding_iso_2022): Update coding->safe_charsets.
9186 (decode_coding_gap): Temporarily set
9187 current_buffer->text->inhibit_shrinking to 1.
9188
91892008-02-01 Kenichi Handa <handa@m17n.org>
9190
9191 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9192 indexing into elements of s->cmp and s->char2b.
9193
91942008-02-01 Juanma Barranquero <lekktu@gmail.com>
9195
9196 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9201 target_multibyte instead of multibyte.
9202 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9203 (bcmp_translate): Change the argument name from multibyte to
9204 target_multibyte.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 These changes are to compile a regexp into a pattern that can be
9209 used both for multibyte and unibyte targets.
9210
9211 * Makefile.in (search.o): Depend on charset.h.
9212
9213 * character.c (multibyte_char_to_unibyte_safe): New function.
9214
9215 * search.c: Include "charset.h".
9216 (compile_pattern_1): Delete argument multibyte. Don't set
9217 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9218 (compile_pattern): Don't compare cp->buf.target_multibyte.
9219 Compare cp->buf.charset_unibyte.
9220 (compile_pattern): Set cp->buf.target_multibyte.
9221
9222 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9223
9224 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9225
9226 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9227 multibyte. Change callers.
9228 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9229 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9230 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9231 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9232 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9233 (regex_compile): Make the compiled pattern usable both for
9234 multibyte and unibyte targets.
9235 (analyse_first): Make the fastmap usable both for multibyte and
9236 unibyte targets.
9237 (TRANSLATE_VIA_MULTIBYTE): Delete.
9238 (re_match_2_internal): Pay attention to the case that the
9239 multibyteness of bufp and target may be different.
9240
92412008-02-01 Kenichi Handa <handa@m17n.org>
9242
9243 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9244 empty box occupy at least one column width.
9245
92462008-02-01 Miles Bader <miles@gnu.org>
9247
9248 * Makefile.in: Remove redundant HAVE_XFT clause.
9249
92502008-02-01 Kenichi Handa <handa@m17n.org>
9251
9252 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9253
92542008-02-01 Kenichi Handa <handa@m17n.org>
9255
9256 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9257 being nil.
9258
92592008-02-01 Kenichi Handa <handa@m17n.org>
9260
9261 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9262
92632008-02-01 Kenichi Handa <handa@m17n.org>
9264
9265 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9266
92672008-02-01 Kenichi Handa <handa@m17n.org>
9268
9269 * search.c (simple_search): Fix previous change.
9270
92712008-02-01 Kenichi Handa <handa@m17n.org>
9272
9273 * xftfont.c (ftfont_font_format): Extern declaration.
9274
9275 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9276
9277 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9278 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9279
9280 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9281 (ftfont_font_format): Fix previous change.
9282
9283 * font.h (Ffont_xlfd_name): EXFUN it.
9284
9285 * font.c (font_parse_xlfd): Fix the array size of `f'.
9286 (register_font_driver): Use EQ to compare driver->type.
9287
9288 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9289 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9290 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9291
92922008-02-01 Kenichi Handa <handa@m17n.org>
9293
9294 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9295 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9296
92972008-02-01 Kenichi Handa <handa@m17n.org>
9298
9299 * xfont.c (xfont_open): Set font->format.
9300
9301 * xftfont.c (xftfont_open): Set font->format.
9302
9303 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9304 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9305 (ftfont_open): Set font->format.
9306 (ftfont_font_format): New function.
9307
9308 * font.h (struct font): New member format.
9309
9310 * font.c (Qopentype): New variable.
9311 (syms_of_font): Defsym it.
9312 (Fquery_font): Change the format of the last element of the return
9313 value.
9314
93152008-02-01 Kenichi Handa <handa@m17n.org>
9316
9317 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9318 last resort.
9319
93202008-02-01 Kenichi Handa <handa@m17n.org>
9321
9322 * coding.c (detect_coding_charset): Fix detection of multi-byte
9323 charset.
9324
93252008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9326
9327 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9328
93292008-02-01 Kenichi Handa <handa@m17n.org>
9330
9331 * xdisp.c (get_next_display_element): Set it->face_id for the
9332 first component of a composition.
9333 (x_produce_glyphs): Check if the font is changed or not for composition.
9334
93352008-02-01 Kenichi Handa <handa@m17n.org>
9336
9337 * fontset.c (Qlatin): New variable.
9338 (syms_of_fontset): Define it as a lisp symbol.
9339 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9340
93412008-02-01 Kenichi Handa <handa@m17n.org>
9342
9343 * font.c (font_unparse_fcname): Pay attention to the case that
9344 some of font property is a null string.
9345
93462008-02-01 Kenichi Handa <handa@m17n.org>
9347
9348 * term.c: Include "composite.h".
9349 (encode_terminal_code): Output all components of composition.
9350 Check the size of encode_terminal_src.
9351 (produce_glyphs): For composition, call produce_composite_glyph.
9352 (append_composite_glyph, produce_composite_glyph): New functions.
9353
9354 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9355 is not found, get font_info from the current ascii face.
9356
93572008-02-01 Kenichi Handa <handa@m17n.org>
9358
9359 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9360 buffer-file-name to Qnil before calling insert_from_buffer.
9361
9362 * font.c (font_unparse_fcname): Pay attention to the case that
9363 foundry is a null string.
9364
93652008-02-01 Kenichi Handa <handa@m17n.org>
9366
9367 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9368
9369 * font.c (Qunicode_sip): New variable.
9370 (syms_of_font): Declare it as a Lisp symbol.
9371
9372 * font.h (Qunicode_sip): Extern it.
9373
93742008-02-01 Kenichi Handa <handa@m17n.org>
9375
9376 * composite.c (get_composition_id): Pay attention to TAB component.
9377
9378 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9379 TAB. Adjust for the change of s->char2b which always points to
9380 the first element of allocated memory.
9381
9382 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9383
9384 * xdisp.c (handle_composition_prop): Set it->c to the first
9385 non-TAB component.
9386 (fill_composite_glyph_string): Change argument.
9387 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9388 (x_produce_glyphs): Fix handling of left/right padding.
9389
93902008-02-01 Kenichi Handa <handa@m17n.org>
9391
9392 * coding.c (detect_coding_system): Fix for handling off
9393 inhibit_iso_escape_detection. Fix for the case that no coding
9394 system is defined for a specific coding category.
9395
93962008-02-01 Kenichi Handa <handa@m17n.org>
9397
9398 * font.c (font_matching_entity): Delete unused local var.
9399
9400 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9401 opening a font.
9402
9403 * fileio.c (Finsert_file_contents): On recovering a file, assume
9404 Unix-like eol.
9405 (choose_write_coding_system): On auto-saving a file, force
9406 Unix-like eol.
9407
9408 * coding.c (setup_coding_system): Fix setting of
9409 coding->common_flags based on eol_type.
9410 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9411 inherit from it.
9412
94132008-02-01 Kenichi Handa <handa@m17n.org>
9414
9415 * alloc.c (NSTATICS): Increas to 0x600.
9416
94172008-02-01 Kenichi Handa <handa@m17n.org>
9418
9419 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9420 (ftfont_list): Don't check :name property.
9421 (ftfont_match): New function.
9422 (ftfont_pattern_entity): If the pattern doesn't contain
9423 FC_SPACING, don't assume FC_MONO.
9424
9425 * font.h (struct font_driver): New member `match'.
9426 (font_update_drivers): Adjust prototype.
9427
9428 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9429 property of FONT.
9430 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9431 them unconditionally.
9432 (font_matching_entity): New function.
9433 (font_open_by_name): Try font_matching_entity if exact match is
9434 not found.
9435 (font_update_drivers): Delete the arg FONT. Return a list of
9436 actually used backends. Don't free faces, font caches here.
9437 Don't store data in frame parameters. Don't call x_set_font.
9438 (Ffont_spec): Store :name property as is.
9439 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9440 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9441 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9442 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9443 Call font->driver->otf_gsub instead of font_otf_gsub.
9444
9445 * frame.c (x_set_font_backend): Do more works that were done in
9446 font_update_drivers before.
9447
9448 * xfont.c (xfont_match): New function.
9449 (xfont_driver): Set xfont_driver.match to xfont_match.
9450 (xfont_draw): Set font in GC if necessary.
9451
9452 * ftxfont.c (ftxfont_match): New function.
9453 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9454
9455 * xftfont.c (xftfont_match): New function.
9456 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9457
94582008-02-01 Kenichi Handa <handa@m17n.org>
9459
9460 * font.h (struct font): New member scalable.
9461 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9462 (font_otf_gsub): Adjust prototype.
9463
9464 * font.c (font_otf_capability): Fix handling of the default langsys.
9465 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9466 Check the contents of SPEC.
9467 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9468 (check_gstring): New function.
9469 (REPLACEMENT_CHARACTER): New macro.
9470 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9471 glyph codes of GSTRING.
9472 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9473 (font_prepare_composition): Set cmp->glyph_len.
9474 (font_open_entity): Set font->scalable.
9475 (Ffont_get): Handle :otf property.
9476 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9477 functions.
9478 (Fquery_font): Use font->font.full_name.
9479 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9480 Sfont_otf_alternates.
9481
9482 * ftfont.c (ftfont_open): Set font->font.full_name and
9483 font->font.name properly. Fix calculation of font->font.height
9484 and font->min_width.
9485
9486 * ftxfont.c (ftxfont_create_gcs): New function.
9487 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9488 (ftxfont_draw_backgrond): Fix filling region.
9489 (ftxfont_default_fid): New function.
9490 (ftxfont_open): Set xfont->fid to the return value of
9491 ftxfont_default_fid.
9492 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9493 (ftxfont_done_face): Free only GCs that are created by
9494 ftxfont_create_gcs.
9495 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9496
9497 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9498 Clip to src->width, etc (not src->clip_XXX).
9499
9500 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9501 FontBackend frame parameter.
9502
95032008-02-01 Kenichi Handa <handa@m17n.org>
9504
9505 * font.h (struct font_driver_list): New member `on'.
9506 (Fclear_font_cache): EXFUN it.
9507 (font_update_drivers): Extern it.
9508
9509 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9510 (font_list_entities): Check driver_list->on.
9511 (register_font_driver): Initalize `on' member to 0.
9512 (font_update_drivers): New function.
9513 (Fclear_font_cache): Check driver_list->on.
9514
9515 * frame.h (Qfont_backend): Extern it.
9516 (x_set_font_backend): Extern it.
9517
9518 * frame.c (Qfont_backend): New variable.
9519 (frame_parms): New element for font-backend.
9520 (x_set_font_backend): New function.
9521
9522 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9523 FontBackend frame parameter.
9524 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9525 x_set_font_backend.
9526
9527 * xfont.c (xfont_list): Don't try listing by :name property if the
9528 name is not for XLFD.
9529
95302008-02-01 Kenichi Handa <handa@m17n.org>
9531
9532 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9533 (LGLYPH_SET_TO): New macros.
9534 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9535 element of G is vector or not.
9536 (font_at): Extern it.
9537
9538 * font.c: Include window.h.
9539 (font_lispy_object): New function.
9540 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9541 end of valid glyph.
9542 (font_close_object): Fix getting (struct font *).
9543 (font_at): New function.
9544 (Ffont_get): If FONT is a font-object, get entity from it.
9545 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9546 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9547 range check.
9548 (Ffont_at): New function.
9549 (syms_of_font): Defsubr Sfont_at.
9550
9551 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9552 before the entry for Qcomposition.
9553 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9554 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9555 the font in gstring.
9556 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9557 LGLYPH_FORM (g) to detect the end of valid glyph.
9558 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9559 we are composing with gstring.
9560
9561 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9562 Check if adjustment is vector or not.
9563
9564 * Makefile.in (font.o): Make it depends on window.h.
9565
95662008-02-01 Kenichi Handa <handa@m17n.org>
9567
9568 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9569 adjustment is vector or not.
9570
95712008-02-01 Miles Bader <miles@gnu.org>
9572
9573 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9574
95752008-02-01 Kenichi Handa <handa@m17n.org>
9576
9577 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9578 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9579 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9580
9581 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9582 (DEVICE_DELTA): Fix typo.
9583 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9584 LGLYPH format.
9585
9586 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9587 the change of LGLYPH format.
9588
95892008-02-01 Kenichi Handa <handa@m17n.org>
9590
9591 * ftfont.c (ftfont_list): Fix typo.
9592 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9593
95942008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9595
9596 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9597
9598 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9599 xftface_info is non-NULL.
9600
96012008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9602
9603 * ftfont.c (ftfont_list): Move misplaced #endif.
9604
96052008-02-01 Kenichi Handa <handa@m17n.org>
9606
9607 * ftfont.c (ftfont_list): Pay attention to the case that
9608 FC_CAPABILITY is not defined.
9609
96102008-02-01 Kenichi Handa <handa@m17n.org>
9611
9612 * xftfont.c (xftfont_open): Set charset related members to -1.
9613
9614 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9615 QCname.
9616 (ftfont_open): Set charset related members to -1.
9617
9618 * fontset.c (Votf_script_alist): New variable.
9619 (syms_of_fontset): Initialize it.
9620 (fontset_font): Delete unused variable.
9621
9622 * fontset.h (Votf_script_alist): Extern it.
9623
9624 * font.c (font_find_for_lface): Optimize code.
9625
9626 * font.h (font_close_object, font_merge_old_spec): Extern them.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9631 (syms_of_font): Initialize them.
9632 (font_pixel_size): Allow float value in dpi.
9633 (font_prop_validate_type): Delete.
9634 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9635 Change caller.
9636 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9637 (font_prop_validate_extra): Delete.
9638 (font_prop_validate_spacing): New function.
9639 (font_property_table): Add elements for all known properties.
9640 (get_font_prop_index): Rename from check_font_prop_name. New
9641 argument FROM. Change caller.
9642 (font_prop_validate): Validate all known properties.
9643 (font_put_extra): Delete argument force. Change caller.
9644 (font_expand_wildcards): Make it static. Fix the way of shrinking
9645 the possible range.
9646 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9647 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9648 Change caller.
9649 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9650 (font_parse_fcname): Delete argument merge. Fix parsing of point
9651 size. Don't validate properties values here. Change caller.
9652 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9653 (font_open_by_name): Delete unused variable.
9654 (Ffont_spec): Likewise. Validate property values.
9655 (Ffont_match_p): New function.
9656
9657 * font.h (QCscalable): Extern it.
9658 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9659
9660 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9661
9662 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9663 (xfont_list_pattern): New function.
9664 (xfont_list): Use xfont_list_pattern.
9665
96662008-02-01 Kenichi Handa <handa@m17n.org>
9667
9668 * font.h (Flist_fonts): EXFUN it.
9669
96702008-02-01 Jason Rumney <jasonr@gnu.org>
9671
9672 * w32term.c (w32_initialize): Add back smoothing_type and
9673 smoothing_enabled definitions.
9674
96752008-02-01 Kenichi Handa <handa@m17n.org>
9676
9677 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9678 s->face->font on determining underline position.
9679
96802008-02-01 Kenichi Handa <handa@m17n.org>
9681
9682 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9683 (font_has_char): Accept font-object too.
9684 (font_find_for_lface): Try at first with a size specified in face.
9685
96862008-02-01 Kenichi Handa <handa@m17n.org>
9687
9688 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9689 font_open_by_name.
9690
96912008-02-01 Kenichi Handa <handa@m17n.org>
9692
9693 * font.h (QCspacing, QCdpi): Extern them.
9694 (enum font_spacing): New enum.
9695 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9696
9697 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9698 (QCspacing, QCdpi): New variables.
9699 (syms_of_font): Initialize them.
9700 (font_pixel_size): New function.
9701 (font_put_extra): New function.
9702 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9703 in FONT_EXTRA.
9704 (font_parse_fcname): Handle enumerated values (e.g. bold).
9705 Fix handling font size. Add QCname property that contains only
9706 unknown properties.
9707 (font_score): Change argument. Change caller. Pay attention to
9708 FONT_PIXEL_SIZE_QUANTUM.
9709 (font_sort_entites, font_list_entities, font_find_for_lface)
9710 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9711 (Ffont_spec): Add QCname property that contains only unknown properties.
9712
9713 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9714 include weight in listing pattern, instead check weight of each
9715 listed font. Don't include scalable in pattern. Pay attention to
9716 FONT_PIXEL_SIZE_QUANTUM.
9717
97182008-02-01 Kenichi Handa <handa@m17n.org>
9719
9720 * font.c (font_parse_fcname): Fix parsing of point-size.
9721 (font_unparse_fcname): Produce symbolic names for style properties.
9722 (font_list_entities): Handle float size correctly.
9723 (font_open_by_name): Prefer `normal' property values if the name
9724 doesn't specify them.
9725
9726 * fontset.c (Finternal_char_font): Use font_get_name, not
9727 Ffont_xlfd_name.
9728
9729 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9730 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9731 pattern. Don't force scalable.
9732
9733 * xftfont.c (xftfont_open): For generating a name, start from
9734 96-byte buffer.
9735
97362008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9737
9738 * frame.h (x_new_fontset2): Fix prototype.
9739
97402008-02-01 Kenichi Handa <handa@m17n.org>
9741
9742 * font.h (struct font_driver): Delete member parse_name.
9743 (font_match_p, font_get_spec, font_parse_fcname)
9744 (font_unparse_fcname): Extern them.
9745 (font_get_name): Adjust prototype.
9746
9747 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9748 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9749 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9750 unnecessary checks for weight, slant, and swidth.
9751 (font_parse_fcname): New function.
9752 (font_unparse_fcname): New function.
9753 (font_parse_name): New function.
9754 (font_match_p): New function.
9755 (font_get_name): Change return value to Lisp string.
9756 (font_get_spec): New function.
9757 (Qunspecified, Qignore_defface): Don't extern them.
9758 (font_find_for_lface): Assume that LFACE is fully specified.
9759 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9760 object, use it for FACE.
9761 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9762 driver->parse_name.
9763 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9764
9765 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9766 prototype.
9767
9768 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9769 argument F. Don't call Fnew_fontset. Instead, directly call
9770 make_fontset.
9771
9772 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9773
9774 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9775 of x_new_fontset2.
9776
9777 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9778 (Qsans__serif): New variables.
9779 (ftfont_generic_family_list): New variable.
9780 (syms_of_ftfont): Initialize the above variables.
9781 (ftfont_pattern_entity): Delete argument NAME.
9782 (ftfont_list_generic_family): New function.
9783 (ftfont_parse_name): Delete this function.
9784 (ftfont_list): Try generic family only when FcFontList found no font.
9785 (ftfont_list_family): Fix args to FcObjectSetBuild.
9786
9787 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9788 object in attrs[LFACE_FONT_INDEX].
9789 (set_lface_from_font_name): Cancel all changes for font-backend.
9790 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9791 function.
9792 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9793 font object in QCfont attribute.
9794 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9795 (realize_default_face) [USE_FONT_BACKEND]: Call
9796 set_lface_from_font_and_fontset.
9797
9798 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9799 "fixed", and signal error here if no suitable font was found.
9800
9801 * xfont.c (xfont_parse_name): Delete this function.
9802
9803 * xftfont.c (xftfont_open): Change coding style of error
9804 handling. Generate fontconfig's fontname pattern.
9805
9806 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9807 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9808
9809 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9810 Both args FONTSET and FONT_OBJECT must be existing ones.
9811
98122008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9813
9814 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9815
98162008-02-01 Kenichi Handa <handa@m17n.org>
9817
9818 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9819
9820 * font.h (struct font): Fix typo.
9821
9822 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9823 XLFD_XXX_INDEX.
9824 (enum xlfd_field_mask): New enum.
9825 (intern_font_field): Changed argument. Change caller. If digits
9826 are followed by non-digits, return a symbol.
9827 (font_expand_wildcards): New function.
9828 (font_parse_xlfd): Fix wildcard handling.
9829 (Ffont_spec): If :name is specified, reflect the info in the other
9830 properties.
9831
9832 * ftfont.c (ftfont_pattern_entity): Fix typo.
9833 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9834 locale.
9835
98362008-02-01 Kenichi Handa <handa@m17n.org>
9837
9838 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9839
9840 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9841 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9842 registry doesn't specify encoding part.
9843 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9844 (font_open_by_name): At first try parsing the name.
9845 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9846 as Lisp symbols.
9847
9848 * fontset.c (reorder_font_vector): Pay attention to the case that
9849 the 3rd element of font_def is nil.
9850 (fontset_font): For the default fontset, append one more fontset
9851 elements for a script-based font specification. Don't add script
9852 attribute on finding a font.
9853 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9854 font name.
9855 (fontset_ascii_font): If a font can't be opened, return nil.
9856
9857 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9858 (ftfont_pattern_entity): New function.
9859 (ftfont_get_cache): Assume that freetype_font_cache is already
9860 initialized.
9861 (ftfont_list): Handle the case that a file is specified in font
9862 name. Use ftfont_pattern_entity to generate entities.
9863 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9864 (syms_of_ftfont): Initialize freetype_font_cache.
9865
9866 * xftfont.c (xftfont_open): Make the font name fontconfig's
9867 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9868 (xftfont_close): Free font->font.name if not NULL.
9869
9870 * xfont.c (xfont_list): If script is specified for a font, return
9871 null_vector.
9872 (xfont_list_family): Declare argument type.
9873
9874 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9875 name, set LFACE_FONT (lface) to nil.
9876
9877 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9878 return Qnil.
9879
98802008-02-01 Kenichi Handa <handa@m17n.org>
9881
9882 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9883 (standard_args): Add "-enable-font-backend".
9884
98852008-02-01 Kenichi Handa <handa@m17n.org>
9886
9887 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9888 (struct xftdraw_list, xftdraw_list): Delete them.
9889 (register_xftdraw, check_xftdraw): Delete them.
9890 (xftfont_prepare_face): Don't call register_xftdraw.
9891 (xftfont_done_face): Don't call check_xftdraw.
9892 (xftfont_draw): Get background color only when with_background is
9893 nonzero.
9894
9895 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9896
98972008-02-01 Kenichi Handa <handa@m17n.org>
9898
9899 These changes are for the new font handling codes.
9900
9901 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9902 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9903 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9904 (FONTSRC, FONTOBJ): New variables.
9905 (obj): Add $(FONTOBJ).
9906 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9907 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9908 @LIBOTF_LIBS@.
9909 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9910 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9911
9912 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9913
9914 * character.h (Vscript_representative_chars): Extern it.
9915
9916 * character.c (Vscript_representative_chars): New variable.
9917 (syms_of_character): Declare it as a Lisp variable.
9918
9919 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9920 enable_font_backend is nonzero, accept the composition method
9921 COMPOSITION_WITH_GLYPH_STRING.
9922
9923 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9924 enumeration COMPOSITION_WITH_GLYPH_STRING.
9925
9926 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9927 members clip_x, clip_y, clip_width, and clip_height.
9928 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9929
9930 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9931 --enable-font-backend. Call syms_of_font.
9932
9933 * fns.c (assoc_no_quit): New function.
9934
9935 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9936 (face_for_font, new_fontset_from_font)
9937 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9938
9939 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9940 (fontset_font, fontset_ascii, face_for_char)
9941 (make_fontset_for_ascii_face, Ffont_info)
9942 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9943 is nonzero, use font-backend mechanism.
9944 (find_font_encoding): Make it non-static.
9945 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9946 New functions.
9947
9948 * frame.h (struct frame): New members resx and resy.
9949 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9950 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9951
9952 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9953 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9954
9955 * lisp.h (assoc_no_quit): Extern it.
9956
9957 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9958 Through out the file, use FONT_INFO_FROM_FACE instead of
9959 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9960 rif->per_char_metric.
9961 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9962 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9963 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9964 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9965 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9966 nonzero, use font-backend mechanism.
9967 (get_per_char_metric): New function.
9968
9969 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9970 (set_lface_from_font_name)
9971 (set_font_frame_param, free_realized_face)
9972 (prepare_face_for_display, clear_face_gcs)
9973 (Finternal_set_font_selection_order, realize_x_face)
9974 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9975 font-backend mechanism.
9976 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9977 (load_face_font) [USE_FONT_BACKEND]: Abort.
9978 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9979 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9980
9981 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9982 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9983 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9984 nonzero, register all available font drivers. Call
9985 x_default_font_parameter for deciding a font.
9986 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9987
9988 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9989 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9990 (x_set_glyph_string_clipping_exactly)
9991 (x_compute_glyph_string_overhangs)
9992 (x_draw_glyph_string_foreground)
9993 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9994 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9995 enable_font_backend is nonzero, use font-backend mechanism.
9996 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9997
99982008-02-01 Kenichi Handa <handa@m17n.org>
9999
10000 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10001 system_eol_type.
10002 (syms_of_coding): Initialize system_eol_type.
10003
10004 * process.c (Fset_process_coding_system): Inherit system's eol
10005 format if necessary.
10006
100072008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10008
10009 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * coding.c (decode_eol): Pay attention to buffer relocation in
10014 del_range_2.
10015 (decode_coding): Call decode_eol before restoring undo_list.
10016
100172008-02-01 Kenichi Handa <handa@m17n.org>
10018
10019 * charset.c (Fdefine_charset_internal): Fix setting of
10020 emacs_mule_bytes.
10021
100222008-02-01 Kenichi Handa <handa@m17n.org>
10023
10024 * keyboard.c (read_char): Check if C is a character or not before
10025 looking up Vkeyboard_translate_table.
10026
100272008-02-01 Kenichi Handa <handa@m17n.org>
10028
10029 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10030 condition to terminate the loop.
10031
100322008-02-01 Kenichi Handa <handa@m17n.org>
10033
10034 * coding.c (produce_composition): Compare charbuf[i] instead of
10035 args[i] against 0.
10036 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10041 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10042 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10043 detect_coding.
10044 (emacs_mule_char): Handle old style (Emacs 20) component character
10045 of a composition.
10046 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10047 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10048 composition rule.
10049 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10050
100512008-02-01 Kenichi Handa <handa@m17n.org>
10052
10053 * coding.c (encode_coding_ccl): Allocate destination dynamically
10054 when necessary.
10055
100562008-02-01 Kenichi Handa <handa@m17n.org>
10057
10058 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10059 the loop. When quitted, show a proper error message.
10060
100612008-02-01 Kenichi Handa <handa@m17n.org>
10062
10063 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10064 src->clip_head and src->clip_tail temporarily instead of src->hl.
10065
10066 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10067 character sequence.
10068 (Fccl_execute_on_string): Use ASET, not XSET.
10069
100702008-02-01 Kenichi Handa <handa@m17n.org>
10071
10072 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10073
100742008-02-01 Kenichi Handa <handa@m17n.org>
10075
10076 * coding.c (decode_coding): Fix the condition of terminating the
10077 decoding loop.
10078
100792008-02-01 Kenichi Handa <handa@m17n.org>
10080
10081 * data.c (Faset): On setting a character bigger than 255 in a
10082 unibyte string, signal an error instead of make the string multibyte.
10083
100842008-02-01 Kenichi Handa <handa@m17n.org>
10085
10086 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10087 made by a mapping table.
10088
100892008-02-01 Kenichi Handa <handa@m17n.org>
10090
10091 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10092 not.
10093 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10094 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10095
10096 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10097 s->face is NULL or not.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10102 (x_draw_glyph_string): Fix drawing of right_overhang and
10103 left_overhang around/on cursor.
10104
10105 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10110
101112008-02-01 Kenichi Handa <handa@m17n.org>
10112
10113 * coding.c (Fdefine_coding_system_internal)
10114 (Fdefine_coding_system_alias): Avoid a duplicated element in
10115 Vcoding_system_alist.
10116
101172008-02-01 Kenichi Handa <handa@m17n.org>
10118
10119 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10120
10121 * coding.c (Qcoding_system_define_form): New variable.
10122 (syms_of_coding): Intern and staticpro it.
10123 (Fcoding_system_p): Check Qcoding_system_define_form.
10124 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10125
10126 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10127 Fcoding_system_p.
10128 (CHECK_CODING_SYSTEM): If ID is not available, call
10129 Fcheck_coding_system.
10130 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10131 Try also Fcheck_coding_system.
10132
101332008-02-01 Kenichi Handa <handa@m17n.org>
10134
10135 * coding.c (code_conversion_restore): GCPRO arg.
10136
101372008-02-01 Kenichi Handa <handa@m17n.org>
10138
10139 * character.c (lisp_string_width): Check multibyteness of STRING.
10140
101412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10142
10143 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10144 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10145 (decode_mac_font_name): Use decode_coding_c_string instead of
10146 decode_coding.
10147 (x_load_font): Initialize fontp->fontset to -1. Set
10148 fontp->encoding_type.
10149
101502008-02-01 Kenichi Handa <handa@m17n.org>
10151
10152 * search.c (search_buffer): Give up BM search on case-fold-search
10153 if one of a target character has a case-equivalence of different
10154 byte length even if that target charcter is an ASCII.
10155 (simple_search): Fix calculation of byte length of matched text.
10156 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10157
101582008-02-01 Kenichi Handa <handa@m17n.org>
10159
10160 * coding.c (decode_coding): Fix handling of invalid bytes.
10161
101622008-02-01 Kenichi Handa <handa@m17n.org>
10163
10164 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10165 Unicode characters.
10166
101672008-02-01 Kenichi Handa <handa@m17n.org>
10168
10169 * coding.c (encode_coding_object): If a pre-write-conversion
10170 function makes a new buffer, kill it.
10171
101722008-02-01 Kenichi Handa <handa@m17n.org>
10173
10174 * coding.c (QCascii_compatible_p): New variable.
10175 (syms_of_coding): Initialize it.
10176 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10177 calling string_char.
10178 (record_conversion_result): Add `default:' case.
10179 (coding_charset_list): Delete unused variable `coding_type'.
10180 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10181 property in the plist of the coding system.
10182 (Fcoding_system_put): Check QCascii_compatible_p.
10183
101842008-02-01 Miles Bader <miles@gnu.org>
10185
10186 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10187 removed calculation of frame `f', as it's now used.
10188
101892008-02-01 Kenichi Handa <handa@m17n.org>
10190
10191 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10192 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10193 (UNIDATA): New variable.
10194 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10195 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10196 $(RUN_TEMACS) unconditionally.
10197
101982008-02-01 Kenichi Handa <handa@m17n.org>
10199
10200 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10201 (admindir): New variable.
10202 ($(lispsource)international/charprop.el): New target.
10203
102042008-02-01 Miles Bader <miles@gnu.org>
10205
10206 * character.c (chars-in-region): Remove obsolete function.
10207 (syms_of_character): Remove its initialization.
10208
102092008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10210
10211 * w32select.c (validate_coding_system)
10212 (setup_windows_coding_system): New functions.
10213 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10214 setup_windows_coding_system.
10215 (setup_config, Fw32_get_clipboard_data): Use
10216 validate_coding_system.
10217 (Fx_selection_exists): Move call to setup_config to a place
10218 where signals are allowed.
10219
10220 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10221 (Fcheck_coding_system): Add declarations.
10222
102232008-02-01 Kenichi Handa <handa@m17n.org>
10224
10225 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10226
102272008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10228
10229 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10230 string as the second argument for x_new_fontset.
10231
102322008-02-01 Kenichi Handa <handa@m17n.org>
10233
10234 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10235 (encode_coding_object): Use safe_call instead of call2.
10236
102372008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10240
10241 * Makefile.in (lisp): Include charprop.el.
10242
102432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10244
10245 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10246 Not sure if it's unnecessary.
10247
102482008-02-01 Steven Tamm <steventamm@mac.com>
10249
10250 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10251 some possibly unnecessary fontset checking code that crashed
10252 when creating a new frame.
10253
102542008-02-01 Kenichi Handa <handa@m17n.org>
10255
10256 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10257 lookup_face.
10258
10259 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10260
10261 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10262
102632008-02-01 Kenichi Handa <handa@m17n.org>
10264
10265 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10266 (coding_charset_list): New function.
10267
10268 * coding.h (coding_charset_list): Extern it.
10269
102702008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10273 concatenation of family and registry.
10274
102752008-02-01 Kenichi Handa <handa@m17n.org>
10276
10277 * character.h (BYTE8_STRING): Fix typo.
10278
10279 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10280 string to multibyte (sync to HEAD).
10281
10282 * casefiddle.c (casify_region): Handle changes in byte-length
10283 using replace_range_2 (sync to HEAD).
10284
102852008-02-01 Andreas Schwab <schwab@suse.de>
10286
10287 * chartab.c (map_char_table): GCPRO table and arg.
10288
102892008-02-01 Kenichi Handa <handa@m17n.org>
10290
10291 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10292 already at limit.
10293
102942008-02-01 Kenichi Handa <handa@m17n.org>
10295
10296 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10297 instead of fast_c_string_match_ignore_case.
10298 (find_font_encoding): Change argument to Lisp_Object. Use
10299 fast_string_match_ignore_case instead of
10300 fast_c_string_match_ignore_case. Change caller.
10301
103022008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * xdisp.c (get_next_display_element): In unibyte case, decide to
10305 display in octal form by checking a character by
10306 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10307
10308 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10309
10310 * character.c (unibyte_has_multibyte_table): New variable.
10311
10312 * character.h (unibyte_has_multibyte_table): Extern it.
10313 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10314
103152008-02-01 Kenichi Handa <handa@m17n.org>
10316
10317 * coding.c (encode_coding_iso_2022): Fix handling of charset
10318 annotation.
10319
103202008-02-01 Kenichi Handa <handa@m17n.org>
10321
10322 * coding.c (setup_coding_system): If coding_system is nil, use
10323 Qundecided.
10324 (Fterminal_coding_system): Return nil if terminal coding system is
10325 `undecided'.
10326 (syms_of_coding): Define coding-system `undecided' here. Setup
10327 terminal_coding as `undecided'.
10328
103292008-02-01 Kenichi Handa <handa@m17n.org>
10330
10331 * xdisp.c (message_dolog, set_message_1): Call
10332 unibyte_char_to_multibyte with arg type int.
10333
10334 * lread.c (read1): Fix reading of a char-table.
10335
10336 * print.c (print_object): Include sub char-table in circularities
10337 detection.
10338
103392008-02-01 Kenichi Handa <handa@m17n.org>
10340
10341 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10342 Append the found sequences in car of ARGS instead of prepending.
10343
103442008-02-01 Kenichi Handa <handa@m17n.org>
10345
10346 * fileio.c (report_file_error): Make a unibyte string from
10347 strerror (errorno).
10348 (Fsubstitute_in_file_name): Fix the arg to
10349 unibyte_char_to_multibyte. It is evaluated twice.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10354
103552008-02-01 Kenichi Handa <handa@m17n.org>
10356
10357 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10358 BOM is not found.
10359 (detect_coding, detect_coding_system): Optimization for ISO-2022
10360 when no 8-bit data is found.
10361
103622008-02-01 Jason Rumney <jasonr@gnu.org>
10363
10364 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10369 CHARS.
10370
103712008-02-01 Steven Tamm <steventamm@mac.com>
10372
10373 * macterm.c (mac_encode_char): Add charset argument and update
10374 to use encoding_type.
10375 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10376 switch to pure fontset.
10377 (decode_mac_font_name): Temporarily remove decoding.
10378 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10379 (x_load_font): Temporarily remove encoding.
10380
103812008-02-01 Kenichi Handa <handa@m17n.org>
10382
10383 * xfaces.c (Fface_font): If frame is not on a window system,
10384 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10385 refer to face->font.
10386 (split_font_name_into_vector, build_font_name_from_vector)
10387 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10388 when HAVE_WINDOW_SYSTEM is defined.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10393 (x_produce_glyphs): Fix setting of members of cmp in case
10394 cmp->glyph_len is zero.
10395
10396 * fontset.c (Fset_fontset_font): Fix docstring.
10397 (Ffontset_info): Make it backward compatible. New arg ALL.
10398
103992008-02-01 Kim F. Storm <storm@cua.dk>
10400
10401 * process.c (read_process_output): Grow decoding_buf when needed;
10402 this could cause a crash in allocate_string and compact_small_strings.
10403
104042008-02-01 Kenichi Handa <handa@m17n.org>
10405
10406 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10407
104082008-02-01 Kenichi Handa <handa@m17n.org>
10409
10410 * coding.c (setup_coding_system): Set coding->common_flags
10411 correctly for raw-text.
10412 (consume_chars): On encoding unibyte text by raw-text, don't check
10413 multibyte form.
10414 (encode_coding): On encoding by raw-text, never use translation tables.
10415
10416 * fileio.c (e_write): Short cut for the case of no encoding.
10417
104182008-02-01 Kenichi Handa <handa@m17n.org>
10419
10420 * coding.c (detect_coding, detect_coding_system): Delete unused
10421 variables.
10422
104232008-02-01 Kenichi Handa <handa@m17n.org>
10424
10425 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10426 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10427
104282008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * coding.c (Ffind_coding_systems_region_internal): Include
10431 raw-text and no-conversion in the result.
10432
104332008-02-01 Kenichi Handa <handa@m17n.org>
10434
10435 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10436 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10437 FONT_DEF.
10438 (font_def_arg, add_arg, from_arg, to_arg): New args.
10439 (set_fontset_font): Change argument.
10440 (Fset_fontset_font): Fix for the case that TARGET is a script
10441 name and charset name.
10442 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10443
104442008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * fontset.c (fontset_font): Rename from fontset_face. Change return
10447 value.
10448 (face_suitable_for_char_p, face_for_char): Adjust for the change
10449 of fontset_font.
10450 (make_fontset_for_ascii_face): Fix setting of the fontset element
10451 for ASCII.
10452 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10453 to get a font name.
10454 (Ffontset_info): Adjust for the change of fontset_font.
10455
10456 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10457
10458 * character.h (LEADING_CODE_LATIN_1_MIN)
10459 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10460
104612008-02-01 Kenichi Handa <handa@m17n.org>
10462
10463 * editfns.c (check_translation): New function.
10464 (Ftranslate_region_internal): Handle M:N mapping.
10465
104662008-02-01 Kenichi Handa <handa@m17n.org>
10467
10468 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10469
104702008-02-01 Kenichi Handa <handa@m17n.org>
10471
10472 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10473 goto invalid_code.
10474 (decode_coding_iso_2022): Fix handling of invalid designation.
10475
10476 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10477 after calling code_conversion_save.
10478
104792008-02-01 Kenichi Handa <handa@m17n.org>
10480
10481 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10482
10483 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10484
10485 * fontset.c: Include "intervals.h".
10486 (fontset_face): Fix comparing of Lisp_Objects.
10487 (free_face_fontset, new_fontset_from_font_name): Fix
10488 Lisp_Object/int mixup.
10489
10490 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10491
10492 * coding.c: Add many prototypes for static functions.
10493 (get_translation_table): Allow max_lookup to be NULL.
10494 (decode_coding, Ffind_coding_systems_region_internal)
10495 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10496 get_translation_table with max_lookup NULL.
10497
104982008-02-01 Kenichi Handa <handa@m17n.org>
10499
10500 * coding.c (get_translation_table): Declare it as Lisp_Object.
10501 (LOOKUP_TRANSLATION_TABLE): New macro.
10502 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10503 instead of CHAR_TABLE_REF.
10504
105052008-02-01 Kenichi Handa <handa@m17n.org>
10506
10507 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10508 annotation data format.
10509 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10510 Change arguments FROM and TO to single argument NCHARS. Change caller.
10511 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10512 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10513 (decode_coding_ccl, decode_coding_charset): Pay attention to
10514 coding->charbuf_used.
10515 (get_translation): New function.
10516 (produce_chars): New arguments translation_table and last_block.
10517 Translate characters here. Return number of carryover chars.
10518 Change caller.
10519 (produce_composition): New argument pos. Change caller.
10520 Adjust for the change of annotation data format.
10521 (produce_charset, produce_annotation): Likewise.
10522 (decode_coding, encode_coding): Don't call translate_chars.
10523 (consume_chars): New arg translation_table. Change caller.
10524 (translate_chars): Delete.
10525 (syms_of_coding): Make translation-table's number of extra slots 2.
10526
105272008-02-01 Kenichi Handa <handa@m17n.org>
10528
10529 * search.c (simple_search): Fix setting this_pos_byte in backward
10530 search.
10531
10532 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10533 byte sequence.
10534 (detect_coding_ccl): Fix setting of the variable valids.
10535
105362008-02-01 Kenichi Handa <handa@m17n.org>
10537
10538 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10539
10540 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10541
10542 * editfns.c (Ftranslate_region_internal): Rename from
10543 Ftranslate_region. Accept a char-table in TABLE.
10544 (syms_of_editfns): Defsubr Stranslate_region_internal.
10545
10546 * xfaces.c (set_lface_from_font_name): If a font is specified for
10547 a frame, generate a fontset from the font.
10548 (build_scalable_font_name): If the scalable font is requested for
10549 a specific size, don't change that size.
10550 (try_font_list): Try a scalable font also in the case that a
10551 pattern string is specified.
10552
105532008-02-01 Kenichi Handa <handa@m17n.org>
10554
10555 * xfaces.c (Fface_font): New optional arg CHARACTER.
10556
105572008-02-01 Kenichi Handa <handa@m17n.org>
10558
10559 * charset.h (CHARSET_OFFSET): New macro.
10560
105612008-02-01 Kenichi Handa <handa@m17n.org>
10562
10563 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10564
10565 * fontset.c (fontset_face): Handle the case that repertory is a
10566 char-table.
10567 (find_font_encoding): Return nil for unknown encoding.
10568 (Fset_fontset_font): Ignore a font of unknown encoding.
10569
105702008-02-01 Kenichi Handa <handa@m17n.org>
10571
10572 * keymap.c (describe_vector): Handle default value of a char table.
10573
10574 * fontset.c (fontset_face): Handle fallback fonts correctly.
10575 (Ffontset_info): Return infomation about fallback fonts.
10576
105772008-02-01 Kenichi Handa <handa@m17n.org>
10578
10579 * fontset.c (FONTSET_DEFAULT): New macro.
10580 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10581 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10582 the case that it is nil.
10583 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10584 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10585
10586 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10587 subset or superset.
10588
105892008-02-01 Kenichi Handa <handa@m17n.org>
10590
10591 * emacs.c (main): Call init_charset after syms_of_XXX.
10592
10593 * charset.c (Vcharset_map_directory): Delete.
10594 (Vcharset_map_path): New variable.
10595 (load_charset_map_from_file): Use Vcharset_map_path instead.
10596 (init_charset): Initialize Vcharset_map_path.
10597 (syms_of_charset): Delete declaration of "charset-map-directory",
10598 add declaration of "charset-map-path".
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10603 ASCII only string.
10604
10605 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10606
10607 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10608 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10609
106102008-02-01 Kenichi Handa <handa@m17n.org>
10611
10612 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10613
10614 * coding.c (QCmnemonic, QCdefalut_char)
10615 (QCdecode_translation_table, QCencode_translation_table)
10616 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10617 (get_translation_table): Return a list of translation tables if
10618 necessary.
10619 (decode_coding): Call get_translation_table with ENCODEP 0.
10620 (char_encodable_p): If translation_table is non-nil, always call
10621 translate_char.
10622 (Fdefine_coding_system_internal): Accept list of translation
10623 tables as :encode-translation-table and :decode-translation-table.
10624 (Fcoding_system_put): New function.
10625 (syms_of_coding): Declare new symbols. Defsubr
10626 Scoding_system_put.
10627 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10628 typically JISX0212.
10629
10630 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10631 when the charset is superset type.
10632
10633 * character.c (translate_char): Accept list of translation tables.
10634
106352008-02-01 Kenichi Handa <handa@m17n.org>
10636
10637 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10638 (CODING_ATTR_TRANS_TBL): New macro.
10639
10640 * coding.c (get_translation_table): New function.
10641 (translate_chars): Fix the bug of skipping annotation data.
10642 (decode_coding, encode_coding): Utilize get_translation_table.
10643 (char_encodable_p, Funencodable_char_position): Translate char if
10644 necessary.
10645 (Ffind_coding_systems_region_internal)
10646 (Fcheck_coding_systems_region): Setup translation table for encode
10647 in a coding system attribute vector in advance.
10648 (Fdefine_coding_system_internal): Allow a symbol as translation
10649 table. For shift-jis type coding system, allow 4th charset.
10650
106512008-02-01 Kenichi Handa <handa@m17n.org>
10652
10653 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10654
10655 * xdisp.c (get_next_display_element): Pass -1 as POS to
10656 FACE_FOR_CHAR if displaying a C-string.
10657
106582008-02-01 Kenichi Handa <handa@m17n.org>
10659
10660 * composite.c (get_composition_id): Handle xoff and yoff in a
10661 composition rule.
10662
10663 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10664 (struct composition): New member lbearing and rbearing.
10665
10666 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10667 (x_get_glyph_overhangs): Handle a composition glyph.
10668 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10669
10670 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10671 composition glyph.
10672
106732008-02-01 Kenichi Handa <handa@m17n.org>
10674
10675 * print.c: Include charset.h.
10676 (Vprint_charset_text_property): New variable.
10677 (Qdefault): Extern it.
10678 (PRINT_STRING_NON_CHARSET_FOUND)
10679 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10680 (print_check_string_result): New variable.
10681 (print_check_string_charset_prop): New function.
10682 (print_prune_charset_plist): New variable.
10683 (print_prune_string_charset): New function.
10684 (print_object): Call print_prune_string_charset if
10685 Vprint_charset_text_property is not t.
10686 (print_interval): Print nothing if interval->plist is nil.
10687 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10688 variable. Init and staticpro print_prune_charset_plist.
10689
106902008-02-01 Kenichi Handa <handa@m17n.org>
10691
10692 * fontset.c (new_fontset_from_font_name): Use the specified font
10693 for all characters in the new fontset.
10694
10695 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10696 OBJECT args.
10697
10698 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10699 OBJECT args for composition too.
10700
10701 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10702 OBJECT args.
10703
107042008-02-01 Kenichi Handa <handa@m17n.org>
10705
10706 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10707
10708 * fontset.c (reorder_font_vector): Adjust for the change of
10709 FONT_DEF format.
10710 (fontset_face): New arg id. Change caller.
10711 (face_for_char): New args pos and object.
10712 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10713 (fs_query_fontset): Check NAME by Fassoc too.
10714 (Fset_fontset_font): Allow non-XLFD font name.
10715 (Ffontset_info): Adjust for the change of FONT_DEF format.
10716
10717 * fontset.h (face_for_char): Adjust prototype.
10718
10719 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10720 (append_space, extend_face_to_end_of_line)
10721 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10722 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10723
10724 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10725 POS and OBJECT args.
10726
10727 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10728 POS and OBJECT args.
10729
107302008-02-01 Jason Rumney <jasonr@gnu.org>
10731
10732 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10733 of GlobalAlloc'ed memory.
10734
107352008-02-01 Kenichi Handa <handa@m17n.org>
10736
10737 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10738
10739 * charset.h (charset_table_used): Delete extern.
10740
10741 * charset.c (charset_table_used): Make it static.
10742 (map_charset_chars): Fix args to c_function with.
10743
10744 * chartab.c (map_sub_char_table_for_charset): Fix args to
10745 c_function with.
10746
10747 * coding.h (enum coding_result_code): Delete
10748 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10749
10750 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10751 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10752 (Vlast_code_conversion_error): New variables.
10753 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10754 (ONE_MORE_BYTE): Record error if any instead of signaling an
10755 error. If non-ASCII multibyte char is found, return the negative
10756 value of the code. All callers changed to check it.
10757 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10758 (record_conversion_result): New function. Change all codes setting
10759 coding->result to call this function.
10760 (detect_coding_utf_8, decode_coding_utf_8)
10761 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10762 Don't use the local variable incomplete.
10763 (emacs_mule_char): Change the second arg to `const'.
10764 (decode_coding): Fix of flushing out unprocessed data.
10765 (make_conversion_work_buffer): Fix making of a work buffer.
10766 (decode_coding_object): Return coding->dst_object.
10767
10768 * fontset.c (set_fontset_font): Fix args.
10769
10770 * lisp.h (CHARACTERBITS): Define as 22.
10771
10772 * process.c (send_process): Be sure to set coding->src_multibyte.
10773
10774 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10775
107762008-02-01 Kenichi Handa <handa@m17n.org>
10777
10778 * xdisp.c (handle_auto_composed_prop): Give limit to
10779 Fnext_single_char_property_change.
10780
107812008-02-01 Kenichi Handa <handa@m17n.org>
10782
10783 * composite.c (syms_of_composite): Don't make the composition hash
10784 table weak.
10785
10786 * fontset.c (Fset_fontset_font): Fix docstring.
10787
10788 * lisp.h (detect_coding_system): Adjust prototype.
10789
10790 * fileio.c (kill_workbuf_unwind): Delete this function.
10791 (Finsert_file_contents): Adjust the call of detect_coding_system.
10792 Get conversion_buffer by code_conversion_save. Use the macro
10793 CODING_MAY_REQUIRE_DECODING. After decoding, update
10794 coding_system.
10795
10796 * coding.h (make_conversion_work_buffer): Delete extern.
10797 (code_conversion_save): Extern it.
10798
10799 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10800 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10801 (decode_coding_utf_8): Don't do eol converion.
10802 (detect_coding_utf_16): Check coding->src_chars, not
10803 coding->src_bytes. Add heuristics for those that have no signature.
10804 (decode_coding_emacs_mule, decode_coding_iso_2022)
10805 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10806 Don't do eol converion.
10807 (adjust_coding_eol_type): Return a new coding system.
10808 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10809 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10810 each change.
10811 (decode_coding): Pay attention to undo_list. Do eol conversion for
10812 all types of coding-systems (if necessary).
10813 (Vcode_conversion_work_buf_list): Delete it.
10814 (Vcode_conversion_reused_workbuf): Rename from
10815 Vcode_conversion_reused_work_buf.
10816 (Vcode_conversion_workbuf_name): New variable.
10817 (reused_workbuf_in_use): New variable.
10818 (make_conversion_work_buffer): Delete the arg DEPTH.
10819 (code_conversion_restore): Change argument to cons.
10820 (code_conversion_save): Delete the argument BUFFER. Change callers.
10821 (detect_coding_system): New argument src_chars. Change callers.
10822 Fix for utf-16 detection.
10823 (init_coding_once): Don't use ISO_carriage_return.
10824 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10825 reused_workbuf_in_use.
10826
108272008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 * keymap.c (store_in_keymap): Pay attention to the case that idx
10830 is a cons specifying a character range.
10831
108322008-02-01 Kenichi Handa <handa@m17n.org>
10833
10834 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10835 HANDLED_RECOMPUTE_PROPS.
10836
10837 * coding.c (Fdefine_coding_system_internal): Fix checking of
10838 ascii compatibility.
10839
108402008-02-01 Kenichi Handa <handa@m17n.org>
10841
10842 * charset.c (find_charsets_in_text): Delete unused locale variable.
10843 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10844
10845 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10846 Resync charset_list to Vemacs_mule_charset_list.
10847
10848 * keymap.c (store_in_keymap): Pay attention to the case that idx
10849 is a cons specifying a character range.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * composite.c (update_compositions): Bind inhibit-read-only, etc
10854 to t before calling remove-list-of-text-properties.
10855
10856 * print.c (print_object): Always print ASCII chars as is.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10861
10862 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10863 is a char table.
10864
108652008-02-01 Kenichi Handa <handa@m17n.org>
10866
10867 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10868
108692008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * xfaces.c (set_lface_from_font_name): Fix for the case that
10872 FONTNAME is not fontset name.
10873
108742008-02-01 Kenichi Handa <handa@m17n.org>
10875
10876 * fns.c (base64_encode_1): Fix previous change.
10877
108782008-02-01 Kenichi Handa <handa@m17n.org>
10879
10880 * fontset.c (set_fontset_font): New function.
10881 (Fset_fontset_font): If a font is specified for a charset, use
10882 map_charset_chars to store the font spec in a fontset.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * fontset.c (fontset_face): Create a fallback fontset on demand.
10887 (make_fontset): Don't create a fallback fontset here.
10888 (free_face_fontset): Free a fallback fontset (if any) too.
10889 (n_auto_fontsets): Delete this variable.
10890 (auto_fontset_alist): New variable.
10891 (new_fontset_from_font_name): Check auto_fontset_alist.
10892 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10893 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10894 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10895 Defsubr Sfontset_list_all.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10900
109012008-02-01 Kenichi Handa <handa@m17n.org>
10902
10903 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10904
109052008-02-01 Kenichi Handa <handa@m17n.org>
10906
10907 * editfns.c (Fgoto_char): Fix docstring.
10908
109092008-02-01 Kenichi Handa <handa@m17n.org>
10910
10911 * insdel.c (insert_from_gap): Adjust intervals correctly.
10912
109132008-02-01 Jason Rumney <jasonr@gnu.org>
10914
10915 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10916 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10917 (w32_initialize): Try to load it.
10918 (x_get_font_repertory): Use it if available.
10919 (w32_encode_char): Add shortcut for unicode output.
10920
10921 * w32fns.c (w32_load_system_font): Default charset to -1.
10922 (x_to_w32_charset): Match all fonts for unicode.
10923 (w32_to_x_charset): New parameter matching. Don't return partial
10924 or wildcard charsets.
10925 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10926 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10927 (w32_to_x_font): Match charset to real charset.
10928 (enum_font_cb2): Always list unicode versions.
10929
10930 * makefile.w32-in (temacs): Increase EMHEAP.
10931
109322008-02-01 Jason Rumney <jasonr@gnu.org>
10933
10934 * w32term.c (w32_encode_char): New charset parameter.
10935 font_info.encoding becomes encoding_type.
10936 (x_get_font_repertory): New function. Warning: stub only!
10937 (x_new_font): Return quickly if font already set.
10938 (x_new_fontset): fontsetname parameter is Lisp_Object.
10939 Use new fs_query_fontset. Try new_fontset_from_font_name.
10940 Use fontset_name for return value.
10941
10942 * w32term.h: Declare x_get_font_repertory.
10943
10944 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10945 place of find_charset_in_text. Use encode_coding_object in place
10946 of encode_coding.
10947 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10948 decode_coding.
10949
10950 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10951 of x_new_fontset.
10952 (w32_load_system_font): Initialize charset as unicode.
10953 font_info.encoding becomes encoding_type.
10954 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10955 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10956 (syms_of_w32fns): Set get_font_repertory_func.
10957
10958 * w32console.c: Include character.h. Use terminal_encode_buffer
10959 from term.c.
10960 (write_glyphs): Use new version of encode_terminal_code. Use
10961 encode_coding_object in place of encode_coding.
10962
10963 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10964 encoding becomes encoding_type.
10965
10966 * term.c (terminal_encode_buffer): Make externally visible.
10967
10968 * makefile.w32-in: Add character.h dependancies.
10969 (character.o, chartab.o): New targets.
10970
109712008-02-01 Kenichi Handa <handa@m17n.org>
10972
10973 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10974 CODING_ID_EOL_TYPE.
10975
109762008-02-01 Andreas Schwab <schwab@suse.de>
10977
10978 * coding.c (produce_chars): Revert last change.
10979
109802008-02-01 Kenichi Handa <handa@m17n.org>
10981
10982 * charset.h (charset_unicode): Extern it.
10983
10984 * charset.c (string_xstring_p): Check by (C >= 0x100).
10985 (find_charsets_in_text): Change format of the arc CHARSETS. New
10986 arg MULTIBYTE.
10987 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10988 change of find_charsets_in_text.
10989 (Fsplit_char): Fix doc. Never return unknown.
10990
10991 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10992
10993 * coding.c (Fdefine_coding_system_alias): Update
10994 Vcoding_system_list.
10995
10996 * fontset.c (load_font_get_repertory): Pay attention to the case
10997 that ENCODING of a font is specified by a char-table.
10998
10999 * xterm.c (x_get_font_repertory): Handle the case that the
11000 encoding of font is other than Unicode.
11001
110022008-02-01 Kenichi Handa <handa@m17n.org>
11003
11004 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11005 if a character is encodable by the terminal coding system. If
11006 not, produces proper number of `?'s. Update
11007 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11008 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11009
110102008-02-01 Kenichi Handa <handa@m17n.org>
11011
11012 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11013 variables.
11014 (encode_terminal_code): Change argument. Encode multiple
11015 characters at once. Store the result of encoding in
11016 terminal_encode_buffer.
11017 (write_glyphs, insert_glyphs): Adjust for the change of
11018 encode_terminal_code.
11019 (term_init): Initialize terminal_encode_buffer and
11020 terminal_encode_buf_size.
11021
11022 * coding.c (consume_chars): If coding->src_object is nil, don't
11023 check annotation.
11024
110252008-02-01 Kenichi Handa <handa@m17n.org>
11026
11027 * character.c (char_string): Use ASCII_CHAR_P instead of
11028 SINGLE_BYTE_CHAR_P.
11029
110302008-02-01 Kenichi Handa <handa@m17n.org>
11031
11032 * xdisp.c (handle_auto_composed_prop): Check if the last
11033 characters of auto-composed region is newly composed with the
11034 following characters.
11035 (handle_composition_prop): Fix checking of point being inside
11036 composition.
11037
110382008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * fns.c (concat): Don't change multibyteness of the result by
11041 concatenating an 8-bit character.
11042
11043 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11044 multibyteness of the result when newelt is an 8-bit character.
11045
110462008-02-01 Dave Love <fx@gnu.org>
11047
11048 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11049 EMACS_INT.
11050
11051 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11052
11053 * xfaces.c (face_numeric_value): Declare dim size_t.
11054 (Finternal_lisp_face_equal_p): Remove unused f.
11055
11056 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11057 (MATRIX_ROW): Remove unused vars.
11058 (draw_glyphs, x_insert_glyphs, fast_find_position)
11059 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11060 byte/char counts.
11061
11062 * regex.c (regex_compile): Remove unused var.
11063
11064 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11065
11066 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11067 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11068
11069 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11070
11071 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11072
11073 * fileio.c (Fwrite_region): Remove unused var.
11074
11075 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11076 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11077
11078 * composite.c (Fremove_list_of_text_properties): Declare.
11079
11080 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11081 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11082 (coding_inherit_eol_type): Remove unused attrs.
11083 (detect_coding): Cast arg of detect_eol.
11084
11085 * charset.c (syms_of_charset): Remove unused var p.
11086 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11087 byte/char counts.
11088
11089 * casetab.c (set_case_table): Remove unused var.
11090
11091 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11092 unused vars.
11093
110942008-02-01 Dave Love <fx@gnu.org>
11095
11096 * xterm.c (x_bitmap_mask): Declare.
11097
110982008-02-01 Dave Love <fx@gnu.org>
11099
11100 * xterm.c (x_term_init): Fix type error.
11101
11102 * lisp.h: Add Funibyte_char_to_multibyte.
11103
11104 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11105 (Fset_coding_system_priority): Doc fix.
11106
11107 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11108
11109 * indent.c (check_composition): Make start and end EMACS_INT.
11110
11111 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11112
11113 * xdisp.c (handle_composition_prop, check_point_in_composition):
11114 Make buffer positions EMACS_INT.
11115
11116 * composite.c (find_composition, run_composition_function)
11117 (update_compositions, Ffind_composition_internal): Make buffer
11118 positions EMACS_INT.
11119
11120 * composite.h (find_composition, update_compositions): Make
11121 position args EMACS_INT.
11122
11123 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11124
11125 * intervals.c (get_property_and_range):
11126 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11127
11128 * unexalpha.c: Don't include varargs.h.
11129
111302008-02-01 Dave Love <fx@gnu.org>
11131
11132 * coding.h (ENCODE_UTF_8): New.
11133
11134 * Makefile.in (gtkutil.o): Depend on coding.h.
11135
11136 * coding.c (Fset_coding_system_priority): Doc fix.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11141 the case of auto saving.
11142
111432008-02-01 Andreas Schwab <schwab@suse.de>
11144
11145 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11146 `range' from GC.
11147
111482008-02-01 Kenichi Handa <handa@m17n.org>
11149
11150 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11151
111522008-02-01 Kenichi Handa <handa@m17n.org>
11153
11154 * fileio.c (choose_write_coding_system): Return a decided coding system.
11155 (Fwrite_region): Set Vlast_coding_system_used to the return value
11156 of choose_write_coding_system.
11157
111582008-02-01 Kenichi Handa <handa@m17n.org>
11159
11160 * charset.c (Fset_charset_priority): Pay attention to duplicated
11161 arguments.
11162
11163 * coding.c (QCcategory): New variable.
11164 (syms_of_coding): Defsym it. Set all elements of
11165 Vcoding_category_table and their symbol values.
11166 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11167 coding-category-XXX, and coding-category-list.
11168 (Fdefine_coding_system_internal): Add category in the plist.
11169
111702008-02-01 Kenichi Handa <handa@m17n.org>
11171
11172 * callproc.c (Fcall_process): Handle carryover correctly.
11173
11174 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11175 (raw_text_coding_system): Check NILP (coding_system).
11176 (coding_inherit_eol_type): Check NILP (coding_system) and
11177 NILP (parent).
11178 (consume_chars): Fix for the case of raw-text.
11179
11180 * process.c (read_process_output): Handle carryover correctly.
11181
111822008-02-01 Dave Love <fx@gnu.org>
11183
11184 * regex.c (re_search_2): Fix last change.
11185
111862008-02-01 Kenichi Handa <handa@m17n.org>
11187
11188 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11189 target_multibyte. Even in a unibyte case, return a converted
11190 multibyte char.
11191 (GET_CHAR_AFTER): New macro.
11192 (PATFETCH): Translate via multibyte char.
11193 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11194 (SETUP_MULTIBYTE_RANGE): New macro.
11195 (regex_compile): Setup compiled code so that its multibyteness
11196 matches that of a target. Fix the handling of "[X-YZ]" using
11197 SETUP_MULTIBYTE_RANGE.
11198 (analyse_first) <charset>: For filling fastmap for all multibyte
11199 characters, don't check by BASE_LEADING_CODE_P.
11200 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11201 the same as RE_MULTIBYTE_P (bufp) now.
11202 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11203 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11204 (TRANSLATE_VIA_MULTIBYTE): New macro.
11205 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11206 It is the same as RE_MULTIBYTE_P (bufp) now.
11207 <exactn>: Translate via multibyte.
11208 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11209 translate it.
11210 <charset, charset_not>: Fetch a character by
11211 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11212 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11213 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11214 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11215 by GET_CHAR_AFTER.
11216 (bcmp_translate): Likewise.
11217
11218 * search.c (compile_pattern): Check the member target_multibyte,
11219 not the member multibyte of buf.
11220
11221 * lread.c (read1): While reading a string, set force_singlebyte
11222 and force_multibyte correctly.
11223
11224 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11225 up of unibyte_to_multibyte_table.
11226
112272008-02-01 Kenichi Handa <handa@m17n.org>
11228
11229 * coding.c (setup_coding_system): If coding has
11230 post-read-conversion or pre-write-conversion, set
11231 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11232 respectively.
11233 (decode_coding_gap): Run post-read-conversion if any.
11234
11235 * fileio.c (Finsert_file_contents): Even if we read into a
11236 unibyte buffer, check if we must decode the result or not.
11237
112382008-02-01 Kenichi Handa <handa@m17n.org>
11239
11240 * coding.c (make_conversion_work_buffer): Change the work buffer
11241 name to the same one as that of Emacs 21.
11242
112432008-02-01 Kenichi Handa <handa@m17n.org>
11244
11245 * coding.h (make_conversion_work_buffer): Adjust prototype.
11246 (code_conversion_restore): Don't extern it.
11247
11248 * coding.c (detected_mask): Delete unused variable.
11249 (decode_coding_iso_2022): Pay attention to the byte sequence of
11250 CTEXT extended segment, and retain those bytes as is.
11251 (decode_coding_ccl): Delete unused variable `valids'.
11252 (setup_coding_system): Delete unused variable `category'.
11253 (consume_chars): Delete unused variable `category'. Make it work
11254 for non-multibyte case.
11255 (make_conversion_work_buffer): Change argument.
11256 (saved_coding): Delete unused variable.
11257 (code_conversion_restore): Don't check saved_coding->destination.
11258 (code_conversion_save): New function.
11259 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11260 instead of record_unwind_protect.
11261 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11262 (detect_coding_system): Delete unused variable `mask'.
11263 (Fdefine_coding_system_internal): Delete unused variable id.
11264
11265 * fileio.c (kill_workbuf_unwind): New function.
11266 (Finsert_file_contents): On replacing, call
11267 make_conversion_work_buffer with correct args, and call
11268 record_unwind_protect with the first arg kill_workbuf_unwind.
11269
11270 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11271
112722008-02-01 Kenichi Handa <handa@m17n.org>
11273
11274 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11275 (fontset_add): Fix for the case that TO is less than TO1.
11276 (Ffontset_info): Don't use fallback fontset on checking the
11277 default fontset.
11278 (dump_fontset): New function for debugging.
11279
11280 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11281 coding_type is Qcharset.
11282
112832008-02-01 Kenichi Handa <handa@m17n.org>
11284
11285 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11286 (map_char_table): Don't inherit the value from the parent on
11287 initializing VAL. Adjust for the above change.
11288
112892008-02-01 Kenichi Handa <handa@m17n.org>
11290
11291 * coding.c (Qsignature, Qendian): Delete these variables.
11292 (syms_of_coding): Don't initialize them.
11293 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11294 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11295 detect_info->found.
11296 (decode_coding_utf_16): Don't detect BOM here.
11297 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11298 is NOT utf_16_without_bom.
11299 (setup_coding_system): For a coding system of type utf-16, check
11300 if the attribute :endian is Qbig or not (not nil or not), and set
11301 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11302 (detect_coding): If coding type is utf-16 and BOM detection is
11303 required, detect it.
11304 (Fdefine_coding_system_internal): For a coding system of type
11305 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11306
113072008-02-01 Kenichi Handa <handa@m17n.org>
11308
11309 * coding.c (coding_set_source): Fix for the case that the current
11310 buffer is different from coding->src_object.
11311 (decode_coding_object): Don't use the conversion work buffer if
11312 DST_OBJECT is a buffer.
11313
113142008-02-01 Dave Love <fx@gnu.org>
11315
11316 * lread.c (read_emacs_mule_char) [len==2]: Index
11317 emacs_mule_charset correctly.
11318
113192008-02-01 Dave Love <fx@gnu.org>
11320
11321 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11322 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11323 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11324 treated specially.)
11325 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11326 (detected_mask): Remove Big5 bits.
11327
113282008-02-01 Kenichi Handa <handa@m17n.org>
11329
11330 The following changes are to make the font rescaling facility
11331 compatible with Emacs 21.
11332
11333 * xfaces.c (Vface_font_rescale_alist): Rename from
11334 Vface_resizing_fonts.
11335 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11336 (font_rescale_ratio): Rename from font_resizing_ratio.
11337 (split_font_name): Set font->rescale_ratio.
11338 (better_font_p): Pay attention to font->rescale_ratio.
11339 (build_scalable_font_name): Likewise. Change RESX, and RESY
11340 fields.
11341 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11342
113432008-02-01 Kenichi Handa <handa@m17n.org>
11344
11345 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11346 (Qutf_16_le): Remove these variables.
11347 (syms_of_coding): Don't DEFSYM them.
11348 (decode_coding_utf_16): Fix handling of BOM.
11349 (encode_coding_utf_16): Fix handling of BOM.
11350
113512008-02-01 Kenichi Handa <handa@m17n.org>
11352
11353 * fileio.c (Finsert_file_contents): On replacing, before decoding
11354 the file into the work buffer, set point of the work buffer to the end.
11355
113562008-02-01 Dave Love <fx@gnu.org>
11357
11358 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11359
113602008-02-01 Dave Love <fx@gnu.org>
11361
11362 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11363 and fix C types.
11364
113652008-02-01 Kenichi Handa <handa@m17n.org>
11366
11367 * xdisp.c (SKIP_GLYPHS): New macro.
11368 (set_cursor_from_row): Pay attention to string display properties.
11369
11370 * category.c (copy_category_entry): Fix for the case that RANGE
11371 is an integer.
11372
11373 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11374
11375 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11376
113772008-02-01 Kenichi Handa <handa@m17n.org>
11378
11379 * charset.c (Fcharset_id_internal): New function.
11380 (syms_of_charset): Defsubr it.
11381
11382 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11383 with the last arg charset_list acquired from coding.
11384 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11385 the attribute coding_attr_ccl_valids.
11386
11387 * coding.h (enum define_coding_ccl_arg_index): Set the first
11388 member coding_arg_ccl_decoder to coding_arg_max.
11389
11390 * ccl.h (ccl_driver): Adjust prototype.
11391
11392 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11393 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11394 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11395 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11396 last arg Qnil.
11397
113982008-02-01 Kenichi Handa <handa@m17n.org>
11399
11400 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11401 call encode_char.
11402
11403 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11404
114052008-02-01 Dave Love <fx@gnu.org>
11406
11407 * composite.c (syms_of_composite): Make composition_hash_table weak.
11408
114092008-02-01 Kenichi Handa <handa@m17n.org>
11410
11411 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11412 (font_name_registry): Don't extern them.
11413 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11414
11415 * fontset.h (Qfontset): Don't extern it.
11416 (new_fontset_from_font_name): Extern it.
11417
11418 * fontset.c: Give 8 extra slots to fontset objects.
11419 (Qfontset_info): New variable.
11420 (syms_of_fontset): Defsym it.
11421 (FONTSET_FALLBACK): New macro.
11422 (fontset_face): Try also the default fontset.
11423 (make_fontset): Realize a fallback fontset from the default fontset.
11424 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11425 using split_font_name_into_vector and build_font_name_from_vector.
11426 (Fset_fontset_font): Access the elements of font_spec by enum
11427 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11428 name by using split_font_name_into_vector.
11429 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11430 generate a proper font name from the fontset name. Update
11431 Vfontset_alias_alist.
11432 (n_auto_fontsets): New variable.
11433 (new_fontset_from_font_name): New function.
11434 (Ffont_info): Store the information about fonts generated from the
11435 default fontset in the first extra slot of the returned char-table.
11436
11437 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11438 (font_name_registry): Delete function.
11439 (split_font_name_into_vector): New function.
11440 (build_font_name_from_vector): New function.
11441 (font_list): The argument REGISTRY is now a list of registry names.
11442 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11443 specifies an explicit font name, return the name as is. Make a
11444 list of registy names.
11445
11446 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11447 of x_new_fontset.
11448 (Fx_create_frame): Don't call x_new_fontset here. Just use
11449 x_list_fonts to check the existence of fonts.
11450
11451 * xterm.h (x_new_fontset): Adjust prototype.
11452
11453 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11454 string. Use new_fontset_from_font_name to create a fontset from a
11455 font name.
11456
114572008-02-01 Kenichi Handa <handa@m17n.org>
11458
11459 * syntax.c (Vfind_word_boundary_function_table): New name for
11460 Vnext_word_boundary_function_table.
11461 (find-word-boundary-function-table): New name for
11462 next-word-boundary-function-table.
11463
114642008-02-01 Dave Love <fx@gnu.org>
11465
11466 * Makefile.in: Fix some dependencies.
11467
11468 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11469 set it to nil before returning.
11470
11471 * composite.c (update_compositions): Fix type error.
11472
11473 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11474
114752008-02-01 Kenichi Handa <handa@m17n.org>
11476
11477 * xterm.c (x_new_font): Optimize for the case that the font is
11478 already set for the frame.
11479
114802008-02-01 Kenichi Handa <handa@m17n.org>
11481
11482 * chartab.c (char_table_ascii): Check if the char table contents
11483 is sub-char-table or not.
11484 (char_table_set, char_table_set_range): Fix argument to
11485 char_table_ascii.
11486
11487 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11488 (detect_coding_utf_8, detect_coding_utf_16)
11489 (detect_coding_emacs_mule, detect_coding_iso_2022)
11490 (detect_coding_sjis, detect_coding_big5)
11491 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11492 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11493 sequence is valid in this coding system. Change callers.
11494 (MAX_ANNOTATION_LENGTH): New macro.
11495 (ADD_ANNOTATION_DATA): New macro.
11496 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11497 ADD_ANNOTATION_DATA. Change the format of annotation data.
11498 (ADD_CHARSET_DATA): New macro.
11499 (emacs_mule_char): New argument ID. Change callers.
11500 (decode_coding_emacs_mule, decode_coding_iso_2022)
11501 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11502 Produce charset annotation data in coding->charbuf.
11503 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11504 to charset annotation data in coding->charbuf.
11505 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11506 coding->common_flags if the coding system is iso-2022 based and
11507 uses designation.
11508 (produce_composition): Adjust for the new annotation data format.
11509 (produce_charset): New function.
11510 (produce_annotation): Handle charset annotation.
11511 (handle_composition_annotation, handle_charset_annotation): New
11512 functions.
11513 (consume_chars): Handle charset annotation. Utilize the above two
11514 functions.
11515 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11516 buffer, get the deleted text as a string and set
11517 coding->src_object to that string.
11518 (detect_coding, detect_coding_system): Use the new struct
11519 coding_detection_info.
11520
11521 * coding.h (struct coding_detection_info): New structure.
11522 (struct coding_system): Adjust prototype of the member `detector'.
11523 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11524
115252008-02-01 Kenichi Handa <handa@m17n.org>
11526
11527 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11528
115292008-02-01 Dave Love <fx@gnu.org>
11530
11531 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11532 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11533 to new local and nullify apropos_accumulate before returning.
11534 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11535
115362008-02-01 Kenichi Handa <handa@m17n.org>
11537
11538 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11539 correctly.
e3eea1fc 11540
aac0c6e3
MR
115412008-02-01 Dave Love <fx@gnu.org>
11542
11543 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11544
115452008-02-01 Kenichi Handa <handa@m17n.org>
11546
11547 The following changes are to make character composition happen
11548 automatically on displaying.
11549
11550 * Makefile.in (lisp, shortlisp): Add composite.elc.
11551
11552 * composite.h (Qauto_composed, Vauto_composition_function)
11553 (Qauto_composition_function): Extern them.
11554
11555 * composite.c (Vcomposition_function_table)
11556 (Qcomposition_function_table): Delete variables.
11557 (Qauto_composed, Vauto_composition_function)
11558 (Qauto_composition_function): New variables.
11559 (run_composition_function): Don't call
11560 compose-chars-after-function.
11561 (update_compositions): Clear `auto-composed' text property.
11562 (compose_chars_in_text): Delete this function.
11563 (syms_of_composite): Staticpro Qauto_composed and
11564 Qauto_composition_function. Declare Vauto_composition_function as
11565 a Lisp variable.
11566
11567 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11568
11569 * xdisp.c (it_props): Add an entry for Qauto_composed.
11570 (handle_auto_composed_prop): New function.
11571
11572 * xselect.c (selection_data_to_lisp_data): Don't call
11573 compose_chars_in_text.
11574
115752008-02-01 Dave Love <fx@gnu.org>
11576
11577 * keyboard.c (read_char): Modify checking around use of
11578 Vkeyboard_translate_table.
11579
11580 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11581 and fix C types.
11582
115832008-02-01 Kenichi Handa <handa@m17n.org>
11584
11585 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11586 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11587 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11588 the case that the last byte is '\r' correctly.
11589 (decode_coding): Flush out the unprocessed data correctly.
11590 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11591
115922008-02-01 Dave Love <fx@gnu.org>
11593
11594 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11595 Add XK_ISO... case.
11596 (xaw_scroll_callback): Revert last change.
11597
115982008-02-01 Kenichi Handa <handa@m17n.org>
11599
11600 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11601
116022008-02-01 Kenichi Handa <handa@m17n.org>
11603
11604 * xfaces.c (Vface_resizing_fonts): New variable.
11605 (struct font_name): New member `resizing_ratio'.
11606 (font_resizing_ratio): New function.
11607 (split_font_name): Set font->resizing_ratio.
11608 (better_font_p): Pay attention to font->resizing_ratio.
11609 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11610 RESX, and RESY fields.
11611 (try_alternative_families): Try scalable fonts if
11612 Vscalable_fonts_allowed is not Qt.
11613 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11614
116152008-02-01 Dave Love <fx@gnu.org>
11616
11617 * xterm.c (xaw_scroll_callback): Cast correctly.
11618
116192008-02-01 Dave Love <fx@gnu.org>
11620
11621 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11622 (lispy_kana_keys): Comment out.
11623 (make_lispy_event) [XK_kana_A]: Comment out.
11624
11625 * xterm.c (xaw_scroll_callback): Cast call_data.
11626 (XTread_socket): Deal with ASCII keysyms.
11627 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11628
116292008-02-01 Dave Love <fx@gnu.org>
11630
11631 * xterm.c (Vx_keysym_table): New.
11632 (syms_of_xterm): Initialize it.
11633 (XTread_socket): Use it.
11634 From head: Eliminate incorrect optimization that tried to avoid
11635 decoding the output of X*LookupString.
11636 (x_get_font_repertory): Delete charset declaration.
11637
116382008-02-01 Kenichi Handa <handa@m17n.org>
11639
11640 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11641 return 0.
11642 (Fdefine_coding_system_internal): Setup
11643 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11644
116452008-02-01 Dave Love <fx@gnu.org>
11646
11647 * coding.c (Fcheck_coding_system): Doc fix.
11648
11649 * editfns.c (Finsert_byte): Return a proper value.
11650
116512008-02-01 Kenichi Handa <handa@m17n.org>
11652
11653 * coding.c (decode_coding): Fix args to translate_chars. Pay
11654 attention to Vstandard_translation_table_for_decode.
11655 (encode_coding): Fix args to translate_chars. Pay attention to
11656 Vstandard_translation_table_for_encode.
11657
11658 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11659 SINGLE_BYTE_CHAR_P.
11660
11661 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11662 not by SINGLE_BYTE_CHAR_P.
11663
11664 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11665 SINGLE_BYTE_CHAR_P.
11666
11667 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11668 SINGLE_BYTE_CHAR_P.
11669
11670 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11671 by SINGLE_BYTE_CHAR_P.
11672
11673 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11674 SINGLE_BYTE_CHAR_P.
11675
116762008-02-01 Dave Love <fx@gnu.org>
11677
11678 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11679
116802008-02-01 Dave Love <fx@gnu.org>
11681
11682 * fns.c (Flanginfo): Fix typo.
11683
11684 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11685
116862008-02-01 Kenichi Handa <handa@m17n.org>
11687
11688 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11689 (detect_coding_emacs_mule, detect_coding_iso_2022)
11690 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11691 incomplete byte sequence. Don't update *mask when correctly detected.
11692 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11693 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11694 (detect_coding, detect_coding_system): Adjust for the changes above.
11695
116962008-02-01 Kenichi Handa <handa@m17n.org>
11697
11698 * character.c (char_string): Rename from
11699 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11700 (string_char): Rename from string_char.
11701
11702 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11703 if C is greater than MAX_3_BYTE_CHAR.
11704 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11705 string_char instead of string_char_with_unification.
11706
117072008-02-01 Dave Love <fx@gnu.org>
11708
11709 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11710
117112008-02-01 Kenichi Handa <handa@m17n.org>
11712
11713 * keymap.c (push_key_description): Pay attention to force_multibyte.
11714
11715 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11716
117172008-02-01 Dave Love <fx@gnu.org>
11718
11719 * charset.c (define_charset_internal): Rename `supprementary'.
11720
11721 * Makefile.in (lisp, shortlisp): Remove latin-N.
11722
117232008-02-01 Dave Love <fx@gnu.org>
11724
11725 * xfns.c (x_window, x_window): Use use_xim.
11726
11727 * xterm.c (use_xim): Initialize.
11728 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11729 (x_term_init): Maybe set use_xim.
11730
11731 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11732
117332008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * search.c (search_buffer): Fix case-fold-search of multibyte
11736 characters.
11737 (boyer_moore): Rename the last argument to char_high_bits.
11738
117392008-02-01 Kenichi Handa <handa@m17n.org>
11740
11741 * xdisp.c (display_string): Fix for the case of zero width glyph.
11742
11743 * xfns.c (x_set_font): Change the error message of the case that
11744 x_new_fontset returns Qt.
11745
11746 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11747 (Finternal_set_lisp_face_attribute): Use signal_error for the
11748 error of invalid fontset.
11749
11750 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11751 fontset, return Qt.
11752
117532008-02-01 Dave Love <fx@gnu.org>
11754
11755 * unexelf.c (unexec): Make .got handling not SGI-specific.
11756
11757 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11758
11759 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11760
11761 * keyboard.c (read_key_sequence): Fix type error.
11762
11763 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11764 type error.
11765
11766 * fontset.c (fontset_add): Return Lisp_Object.
11767
117682008-02-01 Dave Love <fx@gnu.org>
11769
11770 * charset.h (charset_ordered_list_tick): Declare extern.
11771
117722008-02-01 Kenichi Handa <handa@m17n.org>
11773
11774 The following changes (and some of 2008-02-01 changes of mine) are
11775 for handling syntax, category, and case conversion for unibyte
11776 characters by converting them to multibyte on the fly. With these
11777 changes, we don't have to setup syntax and case tables for unibyte
11778 characters in each language environment.
11779
11780 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11781 multibyte if necessary.
11782
11783 * bytecode.c (Fbyte_code): Likewise.
11784
11785 * character.h (LEADING_CODE_LATIN_1_MIN)
11786 (LEADING_CODE_LATIN_1_MAX): New macros.
11787 (unibyte_to_multibyte_table): Extern it.
11788 (unibyte_char_to_multibyte): New macro.
11789 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11790 (CHAR_LEADING_CODE): New macro.
11791 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11792
11793 * character.c (unibyte_to_multibyte_table): New variable.
11794 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11795 (multibyte_char_to_unibyte): If C is an eight-bit character,
11796 convert it to the corresponding byte value.
11797
11798 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11799 not 1, signals an error. Update the elements of
11800 unibyte_to_multibyte_table.
11801 (init_charset_once): Initialize unibyte_to_multibyte_table.
11802 (syms_of_charset): Define the charset `iso-8859-1'.
11803
11804 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11805 as is without converting it to unibyte. In a unibyte buffer,
11806 convert C to multibyte before checking the syntax.
11807
11808 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11809
11810 * minibuf.c (Fminibuffer_complete_word): Use the macro
11811 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11812
11813 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11814
11815 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11816 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11817 that is zero, convert an eight-bit char to multibyte.
11818 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11819 non-emacs case.
11820 (PATFETCH): Convert an eight-bit char to multibyte.
11821 (HANDLE_UNIBYTE_RANGE): New macro.
11822 (regex_compile): Setup the compiled pattern for multibyte chars
11823 even if the given regex string is unibyte. Use PATFETCH_RAW
11824 instead of PATFETCH in many places. To handle `charset'
11825 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11826 only for ASCII chars.
11827 (analyse_first) <exactn>: Simplify because the compiled pattern
11828 is multibyte.
11829 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11830 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11831 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11832 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11833 multibyte always 1.
11834 (re_search_2): In emacs, set the locale variable multibyte to 1,
11835 otherwise to 0. New local variable target_multibyte. Check it
11836 to decide the multibyteness of STR1 and STR2. If
11837 target_multibyte is zero, convert unibyte chars to multibyte
11838 before translating and checking fastmap.
11839 (TARGET_CHAR_AND_LENGTH): New macro.
11840 (re_match_2_internal): In emacs, set the locale variable multibyte
11841 to 1, otherwise to 0. New local variable target_multibyte. Check
11842 it to decide the multibyteness of STR1 and STR2. Use
11843 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11844 <charset, charset_not>: If multibyte is nonzero, check fastmap
11845 only for ASCII chars. Call bcmp_translate with
11846 target_multibyte, not with multibyte.
11847 <begline>: Declare the local variable C as `unsigned'.
11848 (bcmp_translate): Change the last arg name to target_multibyte.
11849
11850 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11851 the regexp pattern and the matching target. Set cp->buf.multibyte
11852 to the multibyteness of the regexp pattern. Set
11853 cp->but.target_multibyte to the multibyteness of the matching target.
11854 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11855 FETCH_STRING_CHAR_ADVANCE.
11856 (Freplace_match): Convert unibyte chars to multibyte.
11857
11858 * syntax.c (char_quoted, back_comment, scan_words)
11859 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11860 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11861 unibyte chars to multibyte.
11862 (skip_chars): Delete the arg syntaxp, and move the code for
11863 handling syntaxes to skip_syntaxes. Change callers.
11864 Fix the case that the multibyteness of STRING and the current
11865 buffer doesn't match.
11866 (skip_syntaxes): New function.
11867 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11868 SINGLE_BYTE_CHAR_P.
11869
118702008-02-01 Kenichi Handa <handa@m17n.org>
11871
11872 * xfaces.c (QCfontset): New variable.
11873 (LFACE_FONTSET): New macro.
11874 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11875 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11876 (Finternal_set_lisp_face_attribute)
11877 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11878 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11879 check also LFACE_FONTSET_INDEX.
11880 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11881 attrs[LFACE_FONT_INDEX].
11882 (syms_of_xfaces): Intern and staticpro QCfontset.
11883
11884 * dispextern.h (enum lface_attribute_index): New member
11885 LFACE_FONTSET_INDEX.
11886
11887 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11888
118892008-02-01 Kenichi Handa <handa@m17n.org>
11890
11891 * coding.c (coding_set_destination): Fix coding->destination for
11892 the case converting a region.
11893 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11894 (encode_coding_object): Fix coding->dst_pos and
11895 coding->dst_pos_byte for the case converting a region.
11896
11897 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11898
11899 * character.h (BYTE8_STRING): New macro.
11900
11901 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11902
119032008-02-01 Kenichi Handa <handa@m17n.org>
11904
11905 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11906 characters by octal form.
11907
11908 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11909
11910 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11911 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11912 _fetch_multibyte_char_len.
11913 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11914
11915 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11916
11917 * casefiddle.c (casify_object): Simplify. Handle the case that
11918 the case conversion change the byte length.
11919 (casify_region): Likewise.
11920
11921 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11922
11923 * character.c (_fetch_multibyte_char_len): Delete this variable.
11924 (syms_of_character): Setup Vprintable_chars.
11925
11926 * editfns.c (Fchar_equal): Fix for the unibyte case.
11927 (Finsert_byte): New function.
11928 (syms_of_editfns): Defsubr it.
11929
11930 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11931 of direct code 0x3ffff.
11932
11933 * search.c (Freplace_match): Fix for the unibyte case.
11934
119352008-02-01 Kenichi Handa <handa@m17n.org>
11936
11937 * lread.c (safe_to_load_p): Fix the logic.
11938
11939 * syntax.c (scan_words): Don't treat characters belonging to
11940 different scripts as constituting a word.
11941
11942 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11943
11944 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11945
11946 * emacs.c (main): In the case of --unibyte, instead of aborting on
11947 finding non-empty buffer, make it unibyte.
11948
119492008-02-01 Kenichi Handa <handa@m17n.org>
11950
11951 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11952 to create a fontset.
11953
119542008-02-01 Dave Love <fx@gnu.org>
11955
11956 * character.c (Funibyte_char_to_multibyte): Doc fix.
11957
11958 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11959
119602008-02-01 Kenichi Handa <handa@m17n.org>
11961
11962 * fontset.c (fontset_add): Make the type `int'.
11963 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11964
11965 * character.c (unibyte_char_to_multibyte)
11966 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11967 charset_unibyte, not charset_primary.
11968
11969 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11970
11971 * charset.c (charset_unibyte): Rename from charset_primary.
11972 (Funibyte_charset): Rename from Fprimary_charset.
11973 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11974 (syms_of_charset): Adjust for the above changes.
11975
11976 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11977 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11978 it->multibyte_p is zero.
11979
11980 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11981 Delete extern.
11982
119832008-02-01 Kenichi Handa <handa@m17n.org>
11984
11985 * coding.c (Fdefine_coding_system_internal): Fix category setting
11986 for a coding system of type iso-2022.
11987
119882008-02-01 Kenichi Handa <handa@m17n.org>
11989
11990 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11991
119922008-02-01 Kenichi Handa <handa@m17n.org>
11993
11994 * syntax.c (Vnext_word_boundary_function_table): New variable.
11995 (next-word-boundary-function-table): Declare it as a Lisp variable
11996 in syms_of_syntax.
11997 (scan_words): Call functions in Vnext_word_boundary_function_table
11998 if any.
11999
12000 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12001
12002 * fontset.c (fs_load_font): If fontp->charset is not negative,
12003 return fontp without setting its members.
12004
120052008-02-01 Dave Love <fx@gnu.org>
12006
12007 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12008
12009 * m/sparc.h (HAVE_ALLOCA): Delete.
12010
12011 * s/irix6-5.h: Don't include strings.h.
12012 (bcopy, bzero, bcmp): Don't undef.
12013
12014 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12015
12016 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12017 (TIOCSIGSEND): Don't test IRIX6.
12018 (bcopy, bzero, bcmp): Define conditionally.
12019
120202008-02-01 Kenichi Handa <handa@m17n.org>
12021
12022 * buffer.c (Qas, Qmake, Qto): New variables.
12023 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12024 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12025
12026 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12027 we are inserting a process output into a multibyte buffer.
12028
12029 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12030 multibyte_char_to_unibyte.
12031
12032 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12033 by the primary charset, make it eight-bit char.
12034 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12035
12036 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12037 (charset_8_bit__control, charset_8_bit_graphic)
12038 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12039 (define_charset_internal): New function.
12040 (syms_of_charset): Call define_charset_internal for pre-defined
12041 charsets.
12042
12043 * charset.h (charset_8_bit): Extern it.
12044
12045 * coding.c (make_conversion_work_buffer): Adjust for the change
12046 of Fset_buffer_multibyte.
12047 (encode_coding_raw_text): Increment p0 in the loop.
12048
12049 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12050
12051 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12052 for the change of Fset_buffer_multibyte.
12053
12054 * fns.c (Fstring_to_multibyte): New function.
12055 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12056
120572008-02-01 Dave Love <fx@gnu.org>
12058
12059 * xfns.c (x_put_x_image): Declare args.
12060
12061 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12062 (try_font_list): Declare an arg.
12063
12064 * xdisp.c (message2_nolog, set_message): Declare an arg.
12065
12066 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12067
12068 * syntax.c (scan_sexps_forward): Declare an arg.
12069
12070 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12071 Declare an arg.
12072
12073 * lisp.h (Fnew_fontset): Declare.
12074
12075 * keymap.c (push_key_description): Call CHARACTERP correctly.
12076
12077 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12078 (face_for_char): Delete unused vars.
12079 (Fset_fontset_font): Doc fix. Delete unused vars.
12080
12081 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12082
12083 * composite.c (update_compositions): Declare arg.
12084
12085 * cm.c (calccost, cmgoto): Declare args.
12086
12087 * charset.c: Remove `emacs' conditional. Doc fixes.
12088 (map_char_table_for_charset): Declare.
12089
12090 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12091
12092 * ccl.c: Remove `emacs' conditional.
12093
120942008-02-01 Kenichi Handa <handa@m17n.org>
12095
12096 The following changes are to allow specifying multiple font
12097 patterns for a character range (specified by script or charset).
12098
12099 * Makefile.in (abbrev.o): Depend on syntax.h.
12100 (xfaces.o): Depend on charset.h.
12101
12102 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12103 SINGLE_BYTE_CHAR_P.
12104
12105 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12106
12107 * character.h (Vchar_script_table): Extern it.
12108
12109 * character.c (Vscript_alist): Delete.
12110 (Vchar_script_table, Qchar_script_table): New variable.
12111 (syms_of_character): Declare Vchar_script_table as a lisp variable
12112 and initialize it.
12113
12114 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12115 have property char-table-extra-slots, make no extra slot.
12116
12117 * dispextern.h (struct face): Delete member `charset'.
12118 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12119 SINGLE_BYTE_CHAR_P.
12120 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12121 Add prototypes.
12122 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12123 (generate_ascii_font_name): Rename from generate_ascii_font.
12124
12125 * fontset.h (get_font_repertory_func): New prototype.
12126 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12127 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12128
12129 * fontset.c (Qprepend, Qappend): New variables.
12130 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12131 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12132 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12133 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12134 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12135 (load_font_get_repertory): New functions.
12136 (fontset_set): Delete.
12137 (fontset_face): New arg FACE. Return face ID, not face.
12138 Complete re-write to handle new fontset structure. Change caller.
12139 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12140 (face_for_char): Don't call lookup_face.
12141 (make_fontset_for_ascii_face): New arg FACE.
12142 (fs_load_font): New arg CHARSET_ID. Don't check
12143 Vfont_encoding_alist here.
12144 (find_font_encoding): New function.
12145 (list_fontsets): Use STRINGP, not ! NILP.
12146 (accumulate_script_ranges): New function.
12147 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12148 re-written to handle new fontset structure.
12149 (Ffontset_font): Return a copy of element.
12150 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12151 docstring of font-encoding-alist.
12152
12153 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12154 (Fset_fotset_font): Fix arguments to 5.
12155
12156 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12157
12158 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12159 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12160 (highlight_trailing_whitespace): Adjust for the change of
12161 lookup_named_face.
12162
12163 * xfaces.c: Include charset.h.
12164 (load_face_font): Delete argument C. Change caller.
12165 (generate_ascii_font_name): Rename from generate_ascii_font.
12166 (font_name_registry): New function.
12167 (cache_face): Store ascii faces before non-ascii faces in buckets.
12168 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12169 Lookup only ascii faces.
12170 (lookup_non_ascii_face): New function.
12171 (lookup_named_face): Delete argument C. Change caller.
12172 (lookup_derived_face): Delete argument C. Change caller.
12173 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12174 a string, just call font_list with it.
12175 (choose_face_font): Delete arguments FACE and C. New arg
12176 FONT_SPEC. Change caller.
12177 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12178 Change caller.
12179 (realize_non_ascii_face): New function.
12180 (realize_x_face): Call load_face_font here.
12181 (realize_tty_face): Delete argument C. Change caller.
12182 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12183 get a face ID.
12184 (dump_realized_face): Don't print charset of FACE.
12185
12186 * xfns.c (x_set_font): Always call x_new_fontset and
12187 store_frame_parameter.
12188 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12189 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12190
12191 * xterm.h (x_get_font_repertory): Extern it.
12192
12193 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12194 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12195 it->multibyte_p is zero.
12196 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12197 (x_new_fontset): If FONTSETNAME doesn't match any existing
12198 fontsets, create a new one.
12199 (x_get_font_repertory): New function.
12200
122012008-02-01 Kenichi Handa <handa@m17n.org>
12202
12203 * coding.c (Ffind_coding_systems_region_internal): Detect an
12204 ASCII only string correctly.
12205
12206 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12207 version is 0.
12208
122092008-02-01 Kenichi Handa <handa@m17n.org>
12210
12211 * lread.c: Include "coding.h".
12212 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12213 (load_each_byte, unread_char): New variables.
12214 (readchar_backlog): Delete.
12215 (readchar): Return a character unless load_each_byte is nonzero.
12216 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12217 cons. If unread_char is not -1, simply return it.
12218 (unreadchar): Handle the case that readcharfun is
12219 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12220 (read_multibyte): Delete.
12221 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12222 (read_emacs_mule_char): New functions.
12223 (Fload): Even if the file doesn't have the extension ".elc", if
12224 safe_to_load_p returns a positive version number, assume that the
12225 file contains bytecompiled code. If the version is less than 22,
12226 load the file while decoding multibyte sequences by emacs-mule.
12227 (readevalloop): Don't use readchar_backlog.
12228 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12229 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12230 (read_escape): Delete the arg BYTEREP.
12231 (read1): Set load_each_byte to 1 temporarily while handling
12232 #@NUMBER. Don't call read_multibyte.
12233 (read_vector): Call Fread with a cons. If readcharfun is
12234 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12235 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12236 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12237 and Qload_force_doc_strings.
12238
122392008-02-01 Kenichi Handa <handa@m17n.org>
12240
12241 * xdisp.c (face_before_or_after_it_pos): Call
12242 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12243
122442008-02-01 Kenichi Handa <handa@m17n.org>
12245
12246 * character.h (TRAILING_CODE_P): New macro.
12247 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12248 (string_char_with_unification): Fix prototype.
12249 (Vscript_alist): Extern it.
12250
12251 * character.c (Vscript_alist): New variable.
12252 (string_char_with_unification, str_as_unibyte)
12253 (string_escape_byte8): Add `const' to local variables.
12254 (syms_of_character): Declare script-alist as a Lisp variable.
12255
12256 * charset.h (Vcharset_ordered_list): Extern it.
12257 (charset_ordered_list_tick): Extern it.
12258 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12259 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12260 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12261 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12262 (Funify_charset): Adjust for the change of Funify_charset.
12263
12264 * charset.c (charset_ordered_list_tick): New variable.
12265 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12266 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12267 deunify intead of unify a charset.
12268 (string_xstring_p): Add `const' to local variables.
12269 (find_charsets_in_text): Add `const' to arguments and local variables.
12270 (encode_char): Adjust for the change of Funify_charset. Fix
12271 detecting of invalid code.
12272 (Fset_charset_priority): Increment charset_ordered_list_tick.
12273 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12274 and TO_CODE.
12275
12276 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12277 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12278 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12279 (decode_coding_ccl, consume_chars)
12280 (Ffind_coding_systems_region_internal)
12281 (Fcheck_coding_systems_region): Add `const' to local variables.
12282
12283 * print.c (print_object): Use octal form for printing the
12284 contents of a bool vector.
12285
122862008-02-01 Dave Love <fx@gnu.org>
12287
12288 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12289 <version == 20>: Refuse to load.
12290
122912008-02-01 Dave Love <fx@gnu.org>
12292
12293 * fns.c: Move coding.h.
12294 (Qcodeset, Qdays, Qmonths): New.
12295 (concat): Use CHARACTERP instead of INTEGERP.
12296 (Flocale_codeset): Delete.
12297 (Flanginfo): New function.
12298 (syms_of_fns): Change accordingly.
12299
12300 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12301
123022008-02-01 Dave Love <fx@gnu.org>
12303
12304 * casetab.c (init_casetab_once, init_casetab_once): Fix
12305 CHAR_TABLE_SET call.
12306
12307 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12308
12309 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12310
12311 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12312 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12313 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12314
12315 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12316
12317 * coding.c (ENCODE_DESIGNATION, decode_eol)
12318 (make_conversion_work_buffer, code_conversion_restore)
12319 (Fdefine_coding_system_internal): Convert Lisp types.
12320 (code_conversion_restore): Use EQ, not ==.
12321 (Fencode_coding_string): Fix code_convert_string call.
12322
12323 * coding.h (code_convert_region): Fix prototype.
12324
12325 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12326
12327 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12328 (Ffontset_info): Convert Lisp types.
12329
12330 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12331
12332 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12333
12334 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12335
12336 * chartab.c: Include "...h", not <...h> in some cases.
12337
12338 * callproc.c (Fcall_process): Remove unused variables.
12339
123402008-02-01 Dave Love <fx@gnu.org>
12341
12342 * coding.c (Fset_coding_system_priority): Allow null arg list.
12343
123442008-02-01 Dave Love <fx@gnu.org>
12345
12346 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12347 (Fself_insert_and_exit): Use CHARACTERP.
12348
12349 * callproc.c (Fcall_process): Remove unused vars.
12350
12351 * xterm.c (XTread_socket): Add extra dead keysyms.
12352
12353 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12354
12355 * dispextern.h: Remove prototypes for redraw_frame,
12356 redraw_garbaged_frames.
12357
12358 * cmds.c (Fself_insert_command): Use CHARACTERP.
12359
12360 * chartab.c (make_sub_char_table): Remove unused var.
12361 (Fset_char_table_default, Fmap_char_table): Doc fix.
12362
12363 * keymap.c (access_keymap): Remove generic char code.
12364 (push_key_description): Use CHARACTERP.
12365
123662008-02-01 Dave Love <fx@gnu.org>
12367
12368 * charset.c: Doc fixes.
12369 (Funify_charset): Extra checking.
12370
123712008-02-01 Dave Love <fx@gnu.org>
12372
12373 * lread.c: Remove some unused variables.
12374 (safe_to_load_p): If safe, return the magic number version byte.
12375 (Fload): Maybe use load-with-code-conversion.
12376
123772008-02-01 Kenichi Handa <handa@m17n.org>
12378
12379 * category.c (Fmodify_category_entry): Don't modify the contents
12380 of category_set for characters out of the range. Avoid
12381 unnecessary modification.
12382
12383 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12384 Vchar_unify_table. The default value of the table is now nil.
12385
12386 * character.c (syms_of_character): Setup Vchar_width_table for
12387 eight-bit-control and raw-byte chars.
12388
12389 * charset.h (enum define_charset_arg_index): Delete
12390 charset_arg_parents and add charset_arg_subset and
12391 charset_arg_superset.
12392 (enum charset_attr_index): Delete charset_parents and add
12393 charset_subset and charset_superset.
12394 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12395 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12396 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12397 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12398 (CHARSET_SUPERSET): New macros.
12399 (charset_work): Extern it.
12400 (ENCODE_CHAR): Use charset_work.
12401 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12402 (map_charset_chars): Extern it.
12403
12404 * charset.c (load_charset_map): Set the default value of encoder
12405 and deunifier char-tables to nil.
12406 (map_charset_chars): Change argument. Change callers. Use
12407 map_char_table_for_charset instead of map_char_table.
12408 (Fmap_charset_chars): New optional args from_code and to_code.
12409 (Fdefine_charset_internal): Adjust for the change of
12410 `define-charset' (:parents -> :subset or :superset).
12411 (charset_work): New variable.
12412 (encode_char, syms_of_charset): Adjust for the change of
12413 Fdefine_charset_internal.
12414 (Ffind_charset_string): Setup the vector `charsets' correctly.
12415
12416 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12417 the previous change.
12418 (char_table_ref_and_range): Adjust for the above change.
12419 (map_sub_char_table_for_charset): New function.
12420 (map_char_table_for_charset): New function.
12421
12422 * keymap.c (describe_vector): Handle a char-table directly here.
12423 (describe_char_table): Delete.
12424
12425 * lisp.h (map_charset_chars): Delete.
12426
124272008-02-01 Dave Love <fx@gnu.org>
12428
12429 * fns.c (count_combining): Comment out (unused).
12430 (Flocale_codeset): New.
12431 (syms_of_fns): Defsubr it.
12432
12433 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12434 (size_t): Remove.
12435
124362008-02-01 Dave Love <fx@gnu.org>
12437
12438 * Makefile.in (chartab.o): Depend on charset.h.
12439
124402008-02-01 Kenichi Handa <handa@m17n.org>
12441
12442 * character.c (syms_of_character): Set the default value of
12443 Vprintable_chars to Qnil.
12444
124452008-02-01 Dave Love <fx@gnu.org>
12446
12447 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12448
124492008-02-01 Kenichi Handa <handa@m17n.org>
12450
12451 * charset.c (load_charset_map): Handle the case that from < to
12452 correctly.
12453
12454 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12455 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12456 Pay attention to raw-8-bit chars.
12457
124582008-02-01 Kenichi Handa <handa@m17n.org>
12459
12460 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12461 It is not bytecompiled now.
12462
12463 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12464 (charset_jisx0208): New variables.
12465 (Fdefine_charset_internal): Setup them if appropriate.
12466 (init_charset_once): Initialize them to -1.
12467
12468 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12469 (charset_jisx0208): Extern them.
12470
12471 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12472 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12473 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12474 (setup_iso_safe_charsets): Fix arguments to Fassq.
12475 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12476 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12477 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12478 (encode_coding_iso_2022): Change the 1st arg to
12479 ENCODE_ISO_CHARACTER to a variable.
12480
124812008-02-01 Kenichi Handa <handa@m17n.org>
12482
12483 * charset.h (enum define_charset_arg_index): New enums
12484 charset_arg_min_code and charset_arg_max_code.
12485 (struct charset): New member char_index_offset.
12486
12487 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12488 Take charset->char_index_offset into account.
12489 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12490 args[charset_arg_max_code]. Setup charset.char_index_offset.
12491 (syms_of_charset): Fix args to Fdefine_charset_internal.
12492
124932008-02-01 Dave Love <fx@gnu.org>
12494
12495 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12496
124972008-02-01 Dave Love <fx@gnu.org>
12498
12499 * coding.c: Doc fixes.
12500 (Fcoding_system_aliases): Fix return value.
12501 (Qmac): Remove (duplicated) definition.
12502
125032008-02-01 Dave Love <fx@gnu.org>
12504
12505 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12506 functions.
12507
12508 * character.c (Fstring): Doc fix.
12509
12510 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12511
12512 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12513 ids.
12514 (font-encoding-alist): Doc fix.
12515
125162008-02-01 Dave Love <fx@gnu.org>
12517
12518 * term.c (costs_set): Declare static, non-initialized for pcc.
12519 (encode_terminal_code): Remove unused var.
12520
12521 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12522 for K&R.
12523
12524 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12525
12526 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12527 (suffixes): Move out of make_subsidiaries for K&R.
12528
12529 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12530
12531 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12532
125332008-02-01 Dave Love <fx@gnu.org>
12534
12535 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12536
12537 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12538
125392008-02-01 Yong Lu <lyongu@asia-infonet.com>
12540
12541 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12542
12543 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12544
125452008-02-01 Kenichi Handa <handa@m17n.org>
12546
12547 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12548 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12549
125502008-02-01 Kenichi Handa <handa@m17n.org>
12551
12552 * coding.c (decode_coding_charset): Adjust for the change of
12553 Fdefine_coding_system_internal.
12554 (Fdefine_coding_system_internal): For a coding system of
12555 `charset' type, store a list of charset IDs in
12556 `charset_attr_charset_valids' element of coding attributes.
12557
125582008-02-01 Kenichi Handa <handa@m17n.org>
12559
12560 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12561 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12562 caller. Handle 2-byte and 3-byte charsets correctly.
12563 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12564 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12565 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12566 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12567 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12568 sequence.
12569 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12570 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12571 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12572 and alt&rule composition.
12573 (decode_coding_iso_2022): Handle composition correctly.
12574 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12575
12576 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12577 re-defining a charset. If the charset has :emacs-mule-id, setup
12578 emacs_mule_bytes.
12579 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12580
125812008-02-01 Kenichi Handa <handa@m17n.org>
12582
12583 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12584 (encode_coding_big5, encode_coding_charset): If coding requires safe
12585 encoding, produce a character specified by
12586 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12587
125882008-02-01 Dave Love <fx@gnu.org>
12589
12590 * xterm.c (XSetIMValues): Declare.
12591
12592 * process.c: Conditionally include sys/wait.h, pty.h.
12593
12594 * print.c (print_object): Fix print format for 64-bit systems.
12595
12596 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12597
12598 * buffer.c (emacs_strerror): Declare.
12599
12600 * fontset.c (Fclear_face_cache): Declare.
12601 (accumulate_font_info): Comment-out (unused).
12602 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12603 variables.
12604
12605 * character.h (string_escape_byte8): Declare.
12606
12607 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12608 unused vars.
12609 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12610 (Fmap_charset_chars): Doc fix.
12611
12612 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12613 (Fset_coding_system_priority, Fset_coding_system_priority)
12614 (Fdefine_coding_system_internal): Doc fix.
12615
126162008-02-01 Dave Love <fx@gnu.org>
12617
12618 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12619
126202008-02-01 Kenichi Handa <handa@m17n.org>
12621
12622 * character.c (string_escape_byte8): Make multibyte string with
12623 correct size.
12624
12625 * charset.c (Fmake_char): Delete unnecessary code.
12626
126272008-02-01 Kenichi Handa <handa@m17n.org>
12628
12629 * xfns.c (x_encode_text): Allocate coding.destination here, and
12630 call encode_coding_object with dst_object Qnil.
12631
12632 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12633 multibyte form correctly.
12634
12635 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12636 against Vfont_encoding_alist.
12637
12638 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12639 handling of charset list.
12640 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12641 (decode_coding_object): Move point to coding->dst_pos before
12642 calling post-read-conversion function.
12643 (encode_coding_object): Give correct arguments to
12644 pre-write-conversion. Ignore the return value of
12645 pre-write-conversion function. Pay attention to the case that
12646 pre-write-conversion changes the current buffer. If dst_object is
12647 Qt, even if coding->src_bytes is zero, allocate at least one byte
12648 to coding->destination.
12649
12650 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12651
12652 * charset.c (Fmake_char): Make it more backward compatible.
12653 (Fmap_charset_chars): Fix docstring.
12654
126552008-02-01 Dave Love <fx@gnu.org>
12656
12657 * coding.c: Doc fixes.
12658 (Fdefine_coding_system_alias): Use names, not symbols, in
12659 coding-system-alist.
12660
126612008-02-01 Kenichi Handa <handa@m17n.org>
12662
12663 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12664 of calling free_realized_face.
12665
126662008-02-01 Yong Lu <lyongu@asia-infonet.com>
12667
12668 * charset.c (read_hex): Don't treat SPC as a comment starter.
12669 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12670 (Fdecode_char): Fix typo.
12671
126722008-02-01 Kenichi Handa <handa@m17n.org>
12673
12674 * charset.h (struct charset): New member `code_space_mask'.
12675
12676 * coding.c (coding_set_source): Delete the local variable beg_byte.
12677 (encode_coding_charset, Fdefine_coding_system_internal):
12678 Delete the local variable charset.
12679 (Fdefine_coding_system_internal): Setup
12680 attrs[coding_attr_charset_valids] correctly.
12681
12682 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12683 member to check if CODE is valid or not.
12684 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12685 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12686 is within the range of charset->min_code and carset->max_code.
12687
126882008-02-01 Dave Love <fx@gnu.org>
12689
12690 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12691
12692 * dispextern.h (generate_ascii_font): Fix return type.
12693
12694 * xfaces.c (generate_ascii_font): Fix arg declaration.
12695
12696 * coding.c (coding_inherit_eol_type)
12697 (Fset_terminal_coding_system_internal)
12698 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12699
127002008-02-01 Kenichi Handa <handa@m17n.org>
12701
12702 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12703 multiple charsets correctly.
12704
127052008-02-01 Kenichi Handa <handa@m17n.org>
12706
12707 * search.c (boyer_moore): Fix handling of multibyte character
12708 translation.
12709
12710 * xdisp.c (display_mode_element): When the variable `elt' is
12711 changed, update `this' and `lisp_string'.
12712
127132008-02-01 Kenichi Handa <handa@m17n.org>
12714
12715 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12716
12717 * callproc.c (Fcall_process): Be sure to give the current buffer
12718 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12719
12720 * charset.c (struct charset_map_entries): New struct.
12721 (load_charset_map): Rename from parse_charset_map. New args
12722 entries and n_entries. Change caller.
12723 (load_charset_map_from_file): Rename from load_charset_map.
12724 Change caller. New arg control_flag. Call load_charset_map at
12725 the tail.
12726 (load_charset_map_from_vector): New function.
12727 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12728 (encode_char): If the charset is compact, change a character index
12729 to a code point.
12730
12731 * coding.c (coding_alloc_by_making_gap): Check the case that the
12732 source and destination are the same correctly.
12733 (decode_coding_raw_text): Set coding->consumed_char and
12734 coding->consumed to 0.
12735 (produce_chars): If coding->chars_at_source is nonzero, update
12736 coding->consumed_char and coding->consumed before calling
12737 alloc_destination.
12738 (Fdefine_coding_system_alias): Register ALIAS in
12739 Vcoding_system_alist.
12740 (syms_of_coding): Define `no-conversion' coding system at the tail.
12741
12742 * fileio.c (Finsert_file_contents): Set coding_system instead of
12743 val. If the current buffer is multibyte, always call
12744 decode_coding_gap.
12745
12746 * xfaces.c (try_font_list): Give higher priority to fontset's
12747 family than face's family.
12748
127492008-02-01 Kenichi Handa <handa@m17n.org>
12750
12751 * callproc.c (Fcall_process): Be sure to give the current buffer
12752 to decode_coding_c_string.
12753
12754 * xfaces.c (try_font_list): Give a family specified in a fontset
12755 higher priority than a family specified in a face.
12756
127572008-02-01 Kenichi Handa <handa@m17n.org>
12758
12759 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12760 Fix arguments to insert_from_buffer.
12761
12762 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12763
127642008-02-01 Kenichi Handa <handa@m17n.org>
12765
12766 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12767 (decode_coding_gap): Set coding->dst_multibyte correctly.
12768
127692008-02-01 Kenichi Handa <handa@m17n.org>
12770
12771 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12772 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12773 (encode_coding_utf_16): Substitute coding->default_char for
12774 non-Unicode characters.
12775 (decode_coding): Don't call record_insert here.
12776 (setup_coding_system): Initialize `surrogate' of
12777 coding->spec.utf_16 to 0.
12778 (EMIT_ONE_BYTE): Fix for multibyte case.
12779
12780 * insdel.c (insert_from_gap): Call record_insert.
12781
127822008-02-01 Kenichi Handa <handa@m17n.org>
12783
12784 * casefiddle.c (casify_region): Fix multibyte case.
12785
12786 * character.c (c_string_width): Add return type `int'.
12787 (char_string_with_unification): Delete arg ADVANCED.
12788
12789 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12790 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12791 (CHAR_STRING_ADVANCE): Make it do-while statement.
12792
12793 * chartab.c (sub_char_table_set_range): Optimize for the case
12794 DEPTH == 3. Add workaround code for a GCC optimization bug.
12795
12796 * charset.c (parse_charset_map): Remove an unused variable.
12797
12798 * coding.c: Delete unused variables.
12799
12800 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12801 earlier. If inserted is zero and the coding system doesn't
12802 require flushing, don't call decode_coding_gap.
12803
12804 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12805
128062008-02-01 Kenichi Handa <handa@m17n.org>
12807
12808 The following changes are for using Unicode as an internal
12809 character model, and use UTF-8 format for buffer/string
12810 representation.
12811
12812 * .gdbinit (xchartable): Adjust for the change of char table structure.
12813 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12814
12815 * Makefile.in (obj): Add character.o and chartab.o.
12816 (lisp, shortlisp): Remove utf-8.elc.
12817 (*.o): For many files, change dependency on charset.h to
12818 character.h, and add dependency on character.h.
12819 (character.o, chartab.o): New targets.
12820
12821 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12822 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12823 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12824 of "charset.h".
12825
12826 * dired.c, filelock.c: Include "character.h".
12827
12828 * alloc.c: Include "character.h" instead of "charset.h".
12829 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12830 (syms_of_alloc): Remove defsubr for Smake_char_table.
12831
12832 * buffer.c: Include "character.h" instead of "charset.h", don't
12833 include "coding.h".
12834 (Fset_buffer_multibyte): Adjust for UTF-8.
12835
12836 * buffer.h: EXFUN Fbuffer_live_p.
12837
12838 * callproc.c: Include "character.h" instead of "charset.h".
12839 (Fcall_process): Big change for the new code-conversion APIs.
12840
12841 * casetab.c: Include "character.h" instead of "charset.h".
12842 (set_canon, set_identity, shuffle): Adjust for the new
12843 map_char_table spec.
12844 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12845 accessing the char table structure.
12846
12847 * chartab.c: New file that implements char table.
12848
12849 * category.c: Include "character.h".
12850 (copy_category_entry): New function.
12851 (copy_category_table): Call map_char_table and copy_category_entry.
12852 (Fmake_category_table): Initialize all top-level slots.
12853 (char_category_set): New function.
12854 (modify_lower_category_set): Delete.
12855 (Fmodify_category_entry): Call char_table_ref_and_range.
12856
12857 * category.h (CATEGORY_SET): Just call char_category_set.
12858
12859 * ccl.c: Include "character.h".
12860 (Qccl, Qcclp): New variables.
12861 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12862 it's less than 256.
12863 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12864 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12865 and DST type.
12866 (ccl_driver): Change types of argument, adjust code accordingly.
12867 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12868 ccl_driver.
12869 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12870
12871 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12872 New members src_multibyte, dst_multibyte, consumed, and produced.
12873 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12874 (CODING_SPEC_CCL_PROGRAM): New macro.
12875 (ccl_driver): Update prototype.
12876 (Qccl, Qcclp, Fccl_program_p): Extern them.
12877 (CHECK_CCL_PROGRAM): New macro.
12878
12879 * character.c, character.h, chartab.c: New files.
12880
12881 * charset.c: Mostly re-written. Move character and multibyte sequence
12882 handling codes to character.c.
12883
12884 * charset.h: Mostly re-written. Move character and multibyte sequence
12885 handling codes to character.h.
12886
12887 * coding.c, coding.h: Mostly re-written.
12888
12889 * composite.c: Include "character.h" instead of "charset.h".
12890 (CHAR_WIDTH): Move to character.h.
12891 (HASH_KEY, HASH_VALUE): Delete.
12892
12893 * composite.h (enum composition_method): Change order of enumeration
12894 symbols.
12895
12896 * data.c: Include "character.h" instead of "charset.h".
12897 (Faref): Call CHAR_TABLE_REF for a char table.
12898 (Faset): Call CHAR_TABLE_SET for a char table.
12899
12900 * dispextern.h (free_realized_face, check_face_attribytes)
12901 (generate_ascii_font): Extern them.
12902 (free_realized_multibyte_face): Delete extern.
12903
12904 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12905 table structure.
12906
12907 * editfns.c: Include "character.h" instead of "charset.h".
12908 (Fchar_to_string): Always call CHAR_STRING.
12909
12910 * emacs.c (main): Call init_charset_once, init_charset,
12911 syms_of_chartab, and syms_of_character.
12912
12913 * fileio.c: Include "character.h" instead of "charset.h".
12914 (Finsert_file_contents): Big change for the new code-conversion API.
12915 (choose_write_coding_system, Fwrite_region): Likewise.
12916 (build_annotations_2): Delete.
12917 (e_write): Big change for the new code-conversion API.
12918
12919 * fns.c: Include "character.h" instead of "charset.h".
12920 (copy_sub_char_table): Move to chartab.c.
12921 (Fcopy_sequence): Call copy_char_table for a char table.
12922 (concat): Delete codes calling count_multibyte.
12923 (string_char_to_byte, string_byte_to_char): Adjust for the new
12924 multibyte form.
12925 (internal_equal): Adjust for the change of char table structure.
12926 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12927 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12928 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12929 (char_table_translate, optimize_sub_char_table)
12930 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12931 chartab.c.
12932 (char_table_ref_and_index): Delete.
12933 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12934 (Fmd5): Call preferred_coding_system instead of accessing
12935 Vcoding_category_list. Adjust for the new code-conversion API.
12936 (syms_of_fns): Move defsubr for char table related functions to
12937 chartab.c.
12938
12939 * fontset.c: Mostly re-written.
12940
12941 * fontset.h (struct font_info): Change type of the member encoding_type.
12942 (enum FONT_SPEC_INDEX): New enum.
12943 (fontset_font_pattern, fs_load_font): Update prototype.
12944 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12945
12946 * indent.c: Include "character.h" instead of "charset.h".
12947 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12948
12949 * insdel.c: Include "character.h" instead of "charset.h".
12950 (copy_text): Don't refer to Vnonascii_translation_table.
12951 (insert_from_gap): New function.
12952
12953 * keyboard.c: Include "character.h" instead of "charset.h".
12954 (command_loop_1): Never call direct_output_forward_char before
12955 a non-ASCII character.
12956 (read_char): If Vkeyboard_translate_table is a char table, always
12957 translate a character.
12958
12959 * keymap.c: Include "character.h".
12960 (store_in_keymap): Handle the case that IDX is a cons.
12961 (Fdefine_key): Handle the case that KEY is a cons and the car part
12962 is also a cons (range).
12963 (push_key_description): Adjust for the new character code.
12964 (describe_vector): Call describe_char_table for a char table.
12965 (describe_char_table): New function.
12966
12967 * keymap.h (describe_char_table): Extern it.
12968
12969 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12970 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12971 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12972 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12973 Delete.
12974 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12975 structure.
12976 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12977 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12978 (CHARTAB_SIZE_BITS_3): New macros.
12979 (chartab_size): Extern it.
12980 (struct Lisp_Char_Table): Re-design.
12981 (struct Lisp_Sub_Char_Table): New structure.
12982 (HASH_KEY, HASH_VALUE): Move from fns.c.
12983 (CHARACTERBITS): Define as 22.
12984 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12985 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12986 (GC_SUB_CHAR_TABLE_P): New macro.
12987 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12988 (code_convert_string_norecord): Deleted extern.
12989 (init_character_once, syms_of_character, init_charset)
12990 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12991
12992 * lread.c: Include "character.h".
12993 (read_multibyte): New arg NBYTES.
12994 (read_escape): Change the meaning of returned *BYTEREP.
12995 (to_multibyte): Delete.
12996 (read1): Adjust the handling of char table and string.
12997
12998 * print.c: Include "character.h" instead of "charset.h".
12999 (print_string): Convert 8-bit raw bytes to octal form by
13000 string_escape_byte8.
13001 (print_object): Adjust for the new multibyte form. Print 8-bit
13002 raw bytes always in octal form. Handle sub char table correctly.
13003
13004 * process.c: Include "character.h" instead of "charset.h".
13005 (read_process_output, send_process): Adjust for the new
13006 code-conversion API.
13007
13008 * puresize.h (BASE_PURESIZE): Increase.
13009
13010 * regex.c: Include "character.h" instead of "charset.h".
13011 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13012 (regex_compile): Accept a range whose starting and ending
13013 character have different leading bytes.
13014 (analyse_first): Adjust for the above change.
13015
13016 * search.c: Include "character.h" instead of "charset.h".
13017 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13018 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13019
13020 * syntax.c: Include "character.h" instead of "charset.h".
13021 (syntax_parent_lookup): Delete.
13022 (Fmodify_syntax_entry): Accept a cons as CHAR.
13023 (skip_chars): Adjust for the new multibyte form.
13024 (init_syntax_once): Call char_table_set_range instead of directly
13025 accessing the structure of a char table.
13026
13027 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13028 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13029 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13030 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13031
13032 * term.c: Include "buffer.h" and "character.h".
13033 (encode_terminal_code, write_glyphs): Adjust for the new
13034 code-conversion API.
13035 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13036
13037 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13038
13039 * xdisp.c: Include "character.h".
13040 (get_next_display_element): Adjust for the new multibyte form.
13041 (disp_char_vector): Adjust for the new char table structure.
13042 (decode_mode_spec_coding): Adjust for the new structure of
13043 coding system.
13044 (decode_mode_spec): Adjust for the new code-conversion API.
13045
13046 * xfaces.c: Include "character.h" instead of "charset.h".
13047 (load_face_font): Adjust for the change of choose_face_font and
13048 FS_LOAD_FONT.
13049 (generate_ascii_font): New function.
13050 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13051 (set_font_frame_param): Adjust for the change of choose_face_font.
13052 (free_realized_face): Make it public.
13053 (free_realized_faces_for_fontset): Rename from
13054 free_realized_multibyte_face. Free also faces realized for ASCII.
13055 (choose_face_font): Change arguments. Adjust for the change of
13056 fontset_font_pattern and FS_LOAD_FONT.
13057
13058 * xfns.c: Include "character.h".
13059 (x_encode_text): Adjust for the new code-conversion API.
13060
13061 * xselect.c: Don't include "charset.h".
13062 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13063
13064 * xterm.c: Include "character.h".
13065 (x_encode_char): New argument CHARSET. Change caller.
13066 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13067 Call ENCODE_CHAR instead of SPLIT_CHAR.
13068 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13069 CHAR_WIDTH instead of CHARSET_WIDTH.
13070 (XTread_socket): Adjust for the new code-conversion API.
13071 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13072 (x_load_font): Adjust for the change of struct font.
13073
130742008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13075
13076 * xfaces.c (face_at_buffer_position): Remove unused vars.
13077
130782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13079
13080 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13081 Fix overflow checking.
13082
130832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13084
13085 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13086 Cancel previous change.
13087
130882008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13089
13090 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13091 ccl->eight_bit_control. Fix check for buffer overflow.
13092 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13093 (ccl_driver): Initialize extra_bytes to 0.
13094
130952008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13096
13097 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13098 return it ORed with ctrl_modifier.
13099
131002008-01-29 Miles Bader <miles@gnu.org>
13101
13102 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13103
131042008-01-28 Jason Rumney <jasonr@gnu.org>
13105
13106 * w32.c (stat): Don't double check for networked drive.
13107
131082008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13109
13110 * window.c (run_window_configuration_change_hook): New function.
13111 Code extracted from set_window_buffer. Set the selected frame.
13112 (set_window_buffer): Use it.
13113 * window.h (run_window_configuration_change_hook): Declare.
13114 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13115
13116 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13117
131182008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13119
13120 * Makefile.in: Remove references to unused macros.
13121
131222008-01-26 Eli Zaretskii <eliz@gnu.org>
13123
13124 * w32.c (g_b_init_get_sid_sub_authority)
13125 (g_b_init_get_sid_sub_authority_count): New static variables.
13126 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13127 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13128 (init_user_info): Use them to retrieve uid and gid.
13129 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13130 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13131 st_uid and st_gid of the file.
13132
131332008-01-26 Jason Rumney <jasonr@gnu.org>
13134
13135 * w32.c (logon_network_drive): New function.
13136 (stat): Use it.
13137
131382008-01-26 Chong Yidong <cyd@stupidchicken.com>
13139
13140 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13141 invisible text covered with an ellipsis.
13142
131432008-01-25 Richard Stallman <rms@gnu.org>
13144
13145 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13146 jump back to beginning. Move some other initializations after that.
13147 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13148 New variables.
13149 (syms_of_xdisp): Init them.
13150
13151 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13152
13153 * buffer.c (reset_buffer_local_variables):
13154 Implement `permanent-local-hook'.
13155 (Qpermanent_local_hook): New variable.
13156 (syms_of_buffer): Init and staticpro it.
13157
131582008-01-25 Michael Albinus <michael.albinus@gmx.de>
13159
13160 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13161
131622008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13163
13164 * fns.c (Fclrhash): Return TABLE.
13165
131662008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13167
13168 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13169 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13170 is set even without positional changes.
13171 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13172
13173 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13174
131752008-01-23 Jason Rumney <jasonr@gnu.org>
13176
13177 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13178
13179 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13180 the unicode range available in MULE by locale-coding-system.
13181 Improve dbcs lead byte detection. Set event timestamp and modifiers
13182 earlier.
13183
131842008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13185
13186 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13187 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13188 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13189 when used on child processes.
13190
131912008-01-21 Michael Albinus <michael.albinus@gmx.de>
13192
13193 * dbusbind.c (Fdbus_method_return_internal): Rename from
13194 Fdbus_method_return.
13195 (Fdbus_unregister_object): Move to dbus.el.
13196 (Fdbus_call_method, Fdbus_method_return_internal)
13197 (Fdbus_send_signal): Improve debug messages.
13198
131992008-01-20 Martin Rudalics <rudalics@gmx.at>
13200
13201 * undo.c (undo_inhibit_record_point): New variable.
13202 (syms_of_undo): Initialize it.
13203 (record_point): Don't record point when undo_inhibit_record_point
13204 is set.
13205
132062008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13207
13208 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13209
13210 * xdisp.c (Qauto_hscroll_mode): New var.
13211 (syms_of_xdisp): Initialize it.
13212 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13213 window's buffer.
13214 (hscroll_windows): Don't check automatic_hscrolling_p here.
13215
13216 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13217 vscroll if we're setting window-buffer to the value it already has.
13218
132192008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13220
13221 * m/intel386.h: Remove references to XENIX.
13222
132232008-01-17 Andreas Schwab <schwab@suse.de>
13224
13225 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13226 instead of HAVE_X86_64_LIB64_DIR.
13227 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13228
132292008-01-17 Glenn Morris <rgm@gnu.org>
13230
13231 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13232 to HAVE_X86_64_LIB64_DIR.
13233
132342008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13235
13236 * s/irix3-3.h:
13237 * s/irix4-0.h:
13238 * s/386-ix.h:
13239 * s/domain.h:
13240 * s/hpux9-x11r4.h:
13241 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13242
13243 * sysdep.c: Remove code containing references to symbols defined
13244 by unsupported systems.
13245
132462008-01-16 Glenn Morris <rgm@gnu.org>
13247
13248 * coding.c (select-safe-coding-system-function): Doc fix.
13249
132502008-01-15 Glenn Morris <rgm@gnu.org>
13251
13252 * config.in: Revert 2008-01-13 change: this is a generated file.
13253
132542008-01-13 Tom Tromey <tromey@redhat.com>
13255
13256 * lisp.h: Fix typo.
13257
132582008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13259
13260 * m/sequent-ptx.h:
13261 * m/sequent.h:
13262 * s/ptx.h:
13263 * s/ptx4-2.h:
13264 * s/ptx4.h: Remove files for systems no longer supported.
13265
13266 * callproc.c (Fcall_process): Fix previous change.
13267
132682008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13269
13270 * unexsunos4.c: Remove file, system not supported anymore.
13271
13272 * m/mips.h:
13273 * m/intel386.h:
13274 * callproc.c:
13275 * config.in:
13276 * ecrt0.c:
13277 * emacs.c:
13278 * fileio.c:
13279 * frame.c:
13280 * getpagesize.h:
13281 * keyboard.c:
13282 * lread.c:
13283 * process.c:
13284 * puresize.h:
13285 * sysdep.c:
13286 * systty.h:
13287 * syswait.h:
13288 * unexec.c:
13289 * xdisp.c:
13290 * alloc.c: Remove code containing references to symbols defined by
13291 unsupported systems.
13292
132932008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13294
13295 * coding.c (detect_coding_mask): Fix previous change.
13296
132972008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13298
13299 * coding.c (detect_coding_iso2022): New arg
13300 latin_extra_code_state. Allow Latin extra codes only
13301 when *latin_extra_code_state is nonzero.
13302 (detect_coding_mask): If there is a NULL byte, detect the encoding
13303 as UTF-16 or binary. If Latin extra codes exist, detect the
13304 encoding as ISO-2022 only when there's no other proper encoding is
13305 found.
13306
133072008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13308
13309 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13310 #ifdef MAC_OS.
13311
133122008-01-08 Richard Stallman <rms@gnu.org>
13313
13314 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13315
133162008-01-06 Nick Roberts <nickrob@snap.net.nz>
13317
13318 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13319 menu bar in parentheses.
13320
133212008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13322
13323 * m/7300.h:
13324 * m/acorn.h:
13325 * m/alliant-2800.h:
13326 * m/alliant.h:
13327 * m/alliant1.h:
13328 * m/alliant4.h:
13329 * m/altos.h:
13330 * m/amdahl.h:
13331 * m/apollo.h:
13332 * m/att3b.h:
13333 * m/aviion-intel.h:
13334 * m/aviion.h:
13335 * m/celerity.h:
13336 * m/clipper.h:
13337 * m/cnvrgnt.h:
13338 * m/convex.h:
13339 * m/cydra5.h:
13340 * m/delta88k.h:
13341 * m/dpx2.h:
13342 * m/dual.h:
13343 * m/elxsi.h:
13344 * m/f301.h:
13345 * m/gould-np1.h:
13346 * m/gould.h:
13347 * m/i860.h:
13348 * m/ibmps2-aix.h:
13349 * m/ibmrt-aix.h:
13350 * m/ibmrt.h:
13351 * m/irist.h:
13352 * m/is386.h:
13353 * m/isi-ov.h:
13354 * m/mega68.h:
13355 * m/mg1.h:
13356 * m/news-r6.h:
13357 * m/news-risc.h:
13358 * m/news.h:
13359 * m/nh3000.h:
13360 * m/nh4000.h:
13361 * m/ns16000.h:
13362 * m/ns32000.h:
13363 * m/nu.h:
13364 * m/orion.h:
13365 * m/orion105.h:
13366 * m/paragon.h:
13367 * m/pfa50.h:
13368 * m/plexus.h:
13369 * m/pyramid.h:
13370 * m/pyrmips.h:
13371 * m/sh3el.h:
13372 * m/sps7.h:
13373 * m/sr2k.h:
13374 * m/stride.h:
13375 * m/sun1.h:
13376 * m/sun2.h:
13377 * m/sun3-68881.h:
13378 * m/sun3-fpa.h:
13379 * m/sun3-soft.h:
13380 * m/sun3.h:
13381 * m/sun386.h:
13382 * m/symmetry.h:
13383 * m/tad68k.h:
13384 * m/tahoe.h:
13385 * m/targon31.h:
13386 * m/tek4300.h:
13387 * m/tekxd88.h:
13388 * m/tower32.h:
13389 * m/tower32v3.h:
13390 * m/ustation.h:
13391 * m/wicat.h:
13392 * m/xps100.h:
13393 * s/cxux.h:
13394 * s/cxux7.h:
13395 * s/dgux.h:
13396 * s/dgux4.h:
13397 * s/dgux5-4-3.h:
13398 * s/dgux5-4r2.h:
13399 * s/esix.h:
13400 * s/esix5r4.h:
13401 * s/hiuxmpp.h:
13402 * s/hiuxwe2.h:
13403 * s/iris3-5.h:
13404 * s/iris3-6.h:
13405 * s/isc2-2.h:
13406 * s/isc3-0.h:
13407 * s/isc4-0.h:
13408 * s/isc4-1.h:
13409 * s/newsos5.h:
13410 * s/newsos6.h:
13411 * s/osf1.h:
13412 * s/osf5-0.h:
13413 * s/riscix1-1.h:
13414 * s/riscix12.h:
13415 * s/sco4.h:
13416 * s/sco5.h:
13417 * s/sunos4-0.h:
13418 * s/sunos4-1.h:
13419 * s/sunos413.h:
13420 * s/sunos4shr.h:
13421 * s/umax.h:
13422 * s/unipl5-2.h:
13423 * s/xenix.h:
13424 * cxux-crt0.s:
13425 * unexapollo.c:
13426 * unexconvex.c:
13427 * unexenix.c:
13428 * unexsni.c: Remove files for systems no longer supported.
13429
13430 * m/intel386.h: Remove references to unsupported systems.
13431
13432 * w32.c (get_emacs_configuration): Remove reference to i860.
13433
13434 * sysdep.c: Remove dead code.
13435
134362008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13437
13438 * s/rtu.h:
13439 * m/masscomp.h: Remove files. Platform is obsolete.
13440
134412008-01-04 Michael Albinus <michael.albinus@gmx.de>
13442
13443 * dbusbind.c (Fdbus_method_return): New function.
13444 (xd_read_message): Add the serial number to the event.
13445 (Fdbus_register_method): Activate the function.
13446
134472008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13448
13449 * keyboard.c (read_key_sequence): Fix typo.
13450
134512008-01-03 Michael Albinus <michael.albinus@gmx.de>
13452
13453 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13454 (xd_signature, xd_append_arg): Handle element type detection for
13455 empty arrays.
13456 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13457 SDATA () calls; this must be solved more general.
13458 (Fdbus_register_signal): Use SBYTES instead of strlen.
13459
134602008-01-03 Magnus Henoch <magnus@zemdatav>
13461
13462 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13463 unsigned int for byte values (necessary for big-endian platform).
13464 (Fdbus_call_method): Handle the case of no returned arguments.
13465
134662007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13467
13468 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13469
134702007-12-31 Magnus Henoch <mange@freemail.hu>
13471
13472 * dbusbind.c (xd_signature): Signature of variant is just "v".
13473
134742007-12-30 Michael Albinus <michael.albinus@gmx.de>
13475
13476 * dbusbind.c: Fix several errors and compiler warnings.
13477 Reported by Tom Tromey <tromey@redhat.com>.
13478 (XD_ERROR, XD_DEBUG_MESSAGE)
13479 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13480 (xd_append_arg): Part for basic D-Bus types rewritten.
13481 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13482 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13483 appropriate.
13484 (xd_read_message): Return Qnil. Don't signal an error; it is not
13485 useful during event reading.
13486 (Fdbus_register_signal): Signal an error if the check for
13487 FUNCTIONP fails.
13488 (Fdbus_register_method): New function. The implementation is not
13489 complete, the call of the function signals an error therefore.
13490 (Fdbus_unregister_object): New function, renamed from
13491 Fdbus_unregister_signal. The initial check signals an error, if
13492 the object is not well formed.
13493
134942007-12-30 Richard Stallman <rms@gnu.org>
13495
13496 * textprop.c (get_char_property_and_overlay):
13497 Signal error if POSITION is out of range in a buffer.
13498
134992007-12-29 Martin Rudalics <rudalics@gmx.at>
13500
13501 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13502 because the original parameters are in pure storage now.
13503
135042007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13505
13506 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13507
135082007-12-22 Eli Zaretskii <eliz@gnu.org>
13509
13510 * callint.c (syms_of_callint) <command-history>: Add reference to
13511 history-length in the doc string.
13512
135132007-12-17 Jason Rumney <jasonr@gnu.org>
13514
13515 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13516 before passing as wParam.
13517
135182007-12-22 Michael Albinus <michael.albinus@gmx.de>
13519
13520 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13521 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13522 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13523 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13524 as number.
13525 (Fdbus_call_method): Fix docstring.
13526
135272007-12-21 Michael Albinus <michael.albinus@gmx.de>
13528
13529 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13530 New macros.
13531 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13532 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13533 Simplify.
13534 (xd_signature): New function.
13535 (xd_append_arg): Compute also signatures. Major rewrite.
13536 (xd_retrieve_arg): Make debug messages friendly.
13537 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13538 Check for signatures of arguments.
13539
135402007-12-19 Michael Albinus <michael.albinus@gmx.de>
13541
13542 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13543 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13544 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13545 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13546 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13547 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13548 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13549 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13550 (xd_retrieve_value): Remove. Functionality included in ...
13551 (xd_append_arg): New function.
13552 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13553
135542007-12-16 Michael Albinus <michael.albinus@gmx.de>
13555
13556 * dbusbind.c (top): Include <stdio.h>.
13557 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13558 dbus_message_new_method_call and dbus_message_new_signal.
13559 (Fdbus_register_signal): Rename unique_name to uname.
13560 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13561 non-existing unique name. Fix typos in matching rule. Return an
13562 object which is useful in Fdbus_unregister_signal.
13563 (Fdbus_unregister_signal): Reimplementation, in order to remove
13564 only the corresponding entry.
13565 (Vdbus_registered_functions_table): Change the order of entries.
13566 Apply these changes in xd_read_message and Fdbus_register_signal.
13567
135682007-12-16 Andreas Schwab <schwab@suse.de>
13569
13570 * fileio.c (Finsert_file_contents): Fix overflow check to not
13571 depend on undefined integer overflow.
13572
135732007-12-14 Jason Rumney <jasonr@gnu.org>
13574
13575 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13576 for characters above 127.
13577
135782007-12-13 Jason Rumney <jasonr@gnu.org>
13579
13580 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13581 before dereferencing array.
13582 (lookup_vk_code): Remove zero comparison.
13583
135842007-12-14 Michael Albinus <michael.albinus@gmx.de>
13585
13586 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13587 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13588 Use `unsigned int' instead of `uint'.
13589 (xd_read_message, Fdbus_register_signal): Split expressions into
13590 multiple lines before operators "&&" and "||", according to the
13591 GNU Coding Standards.
13592
135932007-12-14 Eli Zaretskii <eliz@gnu.org>
13594
13595 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13596
135972007-12-12 Juri Linkov <juri@jurta.org>
13598
13599 * buffer.c (Frename_buffer): In interactive spec replace
13600 `read-buffer' with `read-string' that uses `buffer-name-history'
13601 as history, and the current buffer's name as default.
13602
136032007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13604
13605 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13606 manipulating the backtrace manually.
13607 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13608 (struct backtrace, backtrace_list): Remove.
13609 (command_loop_1): Remove dead var `no_direct'.
13610
13611 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13612 preserve non-built-in buffer-local variables.
13613 (Fkill_all_local_variables): Don't re-create&re-set permanent
13614 buffer-local variables.
13615
136162007-12-09 Juri Linkov <juri@jurta.org>
13617
13618 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13619 Lisp code that uses `read-buffer' with current buffer as default.
13620
136212007-12-08 Michael Albinus <michael.albinus@gmx.de>
13622
13623 * dbusbind.c (xd_read_message): Generate an event for every
13624 registered handler. There might be several handlers registered
13625 for the same signal.
13626 (Fdbus_register_signal): Don't overwrite a registration for the
13627 same signal. Add a new registration if handlers are different.
13628 (Vdbus_registered_functions_table): Rework doc string.
13629
136302007-12-07 Michael Albinus <michael.albinus@gmx.de>
13631
13632 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13633 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13634 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13635 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13636 Unify argument lists.
13637 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13638 arguments and hash table keys. Use unique name for service.
13639 (Fdbus_unregister_signal): Remove checks.
13640 (Vdbus_registered_functions_table): Fix doc string.
13641
136422007-12-05 Magnus Henoch <mange@freemail.hu>
13643
13644 * process.c (make_process): Initialize pty_flag to 0.
13645
136462007-12-05 Jason Rumney <jasonr@gnu.org>
13647
13648 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13649 specified XBMs.
13650
136512007-12-05 Richard Stallman <rms@gnu.org>
13652
13653 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13654
136552007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13656
13657 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13658 New variable.
13659 (mac_try_close_socket) [MAC_OSX]: New function.
13660 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13661 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13662
13663 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13664 Use mac_try_close_socket.
13665
136662007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13667
13668 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13669 reloc_base.
13670 (copy_dysymtab): Compute relocation base here.
13671 (rebase_reloc_address) [__ppc64__]: New function.
13672 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13673 changed.
13674
136752007-12-05 Jason Rumney <jasonr@gnu.org>
13676
13677 * w32proc.c (sys_spawnve): Quote args with wildcards.
13678
136792007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13680
13681 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13682 __objc_* sections.
13683 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13684
136852007-12-05 Michael Albinus <michael.albinus@gmx.de>
13686
13687 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13688 Move check for Vdbus_registered_functions_table to
13689 xd_read_queued_messages.
13690 (xd_read_queued_messages): Protect xd_read_message calls by
13691 internal_condition_case_1.
13692
136932007-12-04 Michael Albinus <michael.albinus@gmx.de>
13694
13695 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13696 Qdbus_system_bus and Qdbus_session_bus, respectively.
13697 (Vdbus_intern_symbols): Remove.
13698 (Vdbus_registered_functions_table): New hash table.
13699 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13700 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13701 Rewrite in order to manage registered functions by hash table
13702 Vdbus_registered_functions_table.
13703
137042007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13705
13706 * xterm.c: Update URL to Window Manager Specification in comment.
13707
137082007-12-02 Michael Albinus <michael.albinus@gmx.de>
13709
13710 * config.in (HAVE_DBUS): Add.
13711
13712 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13713 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13714 (obj): Add $(DBUS_OBJ).
13715 (LIBES): Add $(DBUS_LIBS).
13716 (dbusbind.o): New target.
13717
13718 * dbusbind.c: New file.
13719
13720 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13721
13722 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13723 (Qdbus_event): New Lisp symbol.
13724 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13725 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13726 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13727
13728 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13729
137302007-12-01 Richard Stallman <rms@gnu.org>
13731
13732 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13733
137342007-11-30 Jason Rumney <jasonr@gnu.org>
13735
13736 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13737 (w32con_reset_terminal_modes): Clear screen buffer.
13738 (w32_face_attributes): Don't use color indexes that are out of range.
13739 Only reverse the default colors.
13740
13741 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13742 WINDOWSNT.
13743
13744 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13745
137462007-11-29 Jason Rumney <jasonr@gnu.org>
13747
13748 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13749 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13750 if the terminal colors are initialized.
13751 (unspecified_fg, unspecified_bg): Remove unused declarations.
13752
137532007-11-29 Andreas Schwab <schwab@suse.de>
13754
13755 * keyboard.c (apply_modifiers): Fix typo.
13756
137572007-11-29 Richard Stallman <rms@gnu.org>
13758
13759 * keymap.c (Fcurrent_local_map): Doc fix.
13760
137612007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13762
13763 * s/gnu-kfreebsd.h: New file.
13764
137652007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13766
13767 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13768 Don't cast redundantly.
13769
13770 * keyboard.c (KEY_TO_CHAR): New macro.
13771 (parse_modifiers, apply_modifiers): Accept integer arguments.
13772 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13773 for chars and symbol keys.
13774 After doing such remapping, apply function-key-map again.
13775
137762007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13777
13778 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13779 compiled anymore.
13780
137812007-11-26 Andreas Schwab <schwab@suse.de>
13782
13783 * process.c (list_processes_1): Fix indentation level of the
13784 command column.
13785
137862007-11-23 Andreas Schwab <schwab@suse.de>
13787
13788 * editfns.c (Fformat): Handle %c specially since it requires the
13789 argument to be of type int.
13790
137912007-11-23 Markus Triska <markus.triska@gmx.at>
13792
13793 * emacs.c (main): Call init_editfns before init_process, since
13794 init_process sets Vprocess_connection_type depending on OS release.
13795
137962007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13797
13798 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13799 (find_symbol_value): Use do_symval_forwarding.
13800
13801 * data.c (set_internal): Set the value in the `cons-cell' (for
13802 Buffer_Local_values) not only for frame-local variables.
13803
138042007-11-22 Andreas Schwab <schwab@suse.de>
13805
13806 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13807 values to sprintf.
13808 * keymap.c (Fsingle_key_description): Likewise.
13809 * print.c (print_object): Likewise.
13810
138112007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13812
13813 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13814 file for image is nil.
13815
138162007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13817
13818 * term.c: Include stdarg.h.
13819 (fatal): Implement using varargs.
13820 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13821
138222007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13823
13824 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13825 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13826 Update call to buffer_slot_type_mismatch.
13827 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13828 (buffer_slot_type_mismatch): Update.
13829 * buffer.c (buffer_local_types): Remove.
13830 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13831 (defvar_per_buffer): Set the type in the buffer_objfwd.
13832
138332007-11-21 Jason Rumney <jasonr@gnu.org>
13834
13835 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13836 CreateFileMapping returns NULL on failure.
13837
138382007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13839
13840 * search.c (Fset_match_data): Remove the `evaporate' feature.
13841 (unwind_set_match_data): Don't use the `evaporate' feature.
13842
138432007-11-21 Jason Rumney <jasonr@gnu.org>
13844
13845 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13846
13847 * w32console.c (w32con_write_glyphs): Remove unused variables.
13848
138492007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13850
13851 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13852
13853 * s/darwin.h (MULTI_KBOARD): Remove.
13854
13855 * macfns.c (x_create_tip_frame, Fx_create_frame)
13856 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13857
138582007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13859
13860 * buffer.c (Fbuffer_local_value): Remove redundant test.
13861 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13862 than in `current-buffer' to match the comment.
13863 Do the swap using swap_in_global_binding.
13864
13865 * data.c (store_symval_forwarding, set_internal):
13866 * eval.c (specbind): Remove dead code.
13867
13868 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13869 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13870 Since we do not want to see internal Lisp_*fwd objects here.
13871
138722007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13873
13874 * sysdep.c (init_system_name): Use getaddrinfo if available.
13875
13876 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13877 (x_scroll_bar_note_movement): start, end, with, height in struct
13878 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13879
138802007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13881
13882 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13883
138842007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13885
13886 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13887 This undoes Richard's change of 14-Oct-2002.
13888
13889 * alloc.c (allocate_other_vector):
13890 * lisp.h (allocate_other_vector): Remove.
13891
13892 * window.c (struct save_window_data): Move non-lisp data to the end
13893 and make it `int' rather than Lisp_Object.
13894 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13895 Done wrap/unwrap integer values.
13896 (Fset_window_configuration, compare_window_configurations):
13897 Update use of fields to their new types.
13898
13899 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13900 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13901 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13902 (SET_SCROLL_BAR_X_WINDOW): Remove.
13903 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13904 Access the new x_window field directly.
13905 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13906 Don't wrap/unwrap integers into Lisp_Objects.
13907 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13908 (x_scroll_bar_report_motion):
13909 Don't wrap/unwrap integers into Lisp_Objects.
13910 (x_term_init): Use SDATA.
13911 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13912 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13913 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13914 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13915 * xfns.c (x_set_background_color):
13916 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13917 Access the new x_window field directly.
13918
13919 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13920 (allocate_pseudovector): Make non-static.
13921
13922 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13923 (allocate_pseudovector): Declare.
13924 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13925
139262007-11-15 Andreas Schwab <schwab@suse.de>
13927
13928 * editfns.c (Fformat): Correctly format EMACS_INT values.
13929 Also take precision into account when formatting an integer.
13930
13931 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13932
139332007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13934
13935 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13936 (syms_of_keyboard): Defsubr it.
13937
13938 * data.c (swap_in_global_binding): Fix longstanding bug where
13939 store_symval_forwarding was not called with the right second argument,
13940 thus causing objfwd-ing from being dropped.
13941
139422007-11-14 Juanma Barranquero <lekktu@gmail.com>
13943
13944 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13945 (Fx_display_pixel_height, Fx_display_planes)
13946 (Fx_display_color_cells, Fx_server_max_request_size)
13947 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13948 (Fx_display_visual_class, Fx_display_save_under):
13949 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13950 (Fx_display_pixel_height, Fx_display_planes)
13951 (Fx_display_color_cells, Fx_server_max_request_size)
13952 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13953 (Fx_display_mm_height, Fx_display_mm_width)
13954 (Fx_display_backing_store, Fx_display_visual_class)
13955 (Fw32_select_font, Fx_display_save_under):
13956 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13957 (Fx_display_pixel_height, Fx_display_planes)
13958 (Fx_display_color_cells, Fx_server_max_request_size)
13959 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13960 (Fx_display_save_under): Fix typos in docstrings.
13961
139622007-11-14 Juanma Barranquero <lekktu@gmail.com>
13963
13964 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13965 corresponding to deleted entries; they are an implementation detail.
13966 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13967 Remove variables.
13968 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13969 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13970 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13971 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13972 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13973 (Fw32_define_rgb_color, Fw32_load_color_file)
13974 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13975 Fix typos in docstrings.
13976 (Fx_server_version): Reflow docstring.
13977 (Fw32_shell_execute): Doc fixes.
13978
139792007-11-13 Juanma Barranquero <lekktu@gmail.com>
13980
13981 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13982 if w32_parse_hot_key returned nil.
13983
139842007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13985
13986 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13987
139882007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13989
aac0c6e3
MR
13990 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13991
13992 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13993
13994 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13995 Remove W32_SCROLL_BAR_CLICK_EVENT.
13996
13997 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13998 Add MULTIMEDIA_KEY_EVENT.
13999
14000 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14001 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14002 (make_lispy_event) [WINDOWSNT]: Use it to translate
14003 MULTIMEDIA_KEY_EVENT.
14004
14005 * w32term.h (WM_APPCOMMAND): Define if not already.
14006 (GET_APPCOMMAND_LPARAM): Likewise.
14007
14008 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14009 WM_APPCOMMAND.
14010
14011 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14012 (syms_of_w32fns): Export and initialize it.
14013 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14014
140152007-11-09 Chong Yidong <cyd@stupidchicken.com>
14016
14017 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14018 twice.
14019
14020 * xdisp.c (handle_face_prop): Fix last change.
14021
140222007-11-09 Richard Stallman <rms@gnu.org>
14023
14024 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14025 not just for after-strings and before-strings.
14026 Call face_for_overlay_string and pass the overlay to it.
14027 (handle_display_prop): Determine whether property came from an overlay.
14028 Pass OVERLAY arg to handle_single_display_spec.
14029 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14030 (load_overlay_strings): Fill in it->string_overlays.
14031 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14032
14033 * xfaces.c (face_for_overlay_string): Function renamed from
14034 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14035
14036 * dispextern.h (struct it): New elt string_overlays.
14037 New elt from_overlay, also in stack.
14038 Rearrange a few elements.
14039 (face_for_overlay_string): Decl renamed from
14040 face_at_buffer_position_no_overlays, and add argument.
14041
140422007-11-09 Richard Stallman <rms@gnu.org>
14043
14044 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14045 to get the base face for an overlay string.
14046
14047 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14048
14049 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14050
14051 * xdisp.c (handle_stop): Move some code out of loop.
14052
140532007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14054
14055 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14056 Fix conversion from Lisp object to ATSUFontID.
14057
140582007-11-09 Jason Rumney <jasonr@gnu.org>
14059
14060 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14061
140622007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14063
14064 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14065 Don't assume regions are aligned to page boundary.
14066 (print_load_command_name): Add LC_UUID if defined.
14067
140682007-11-09 Richard Stallman <rms@gnu.org>
14069
14070 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14071
140722007-11-07 Jason Rumney <jasonr@gnu.org>
14073
14074 * s/windows95.h: Remove.
14075
140762007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14077
14078 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14079 abort with a message on unhandled store_type values.
14080
140812007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14082
14083 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14084 Remove HAVE_X11R5 and HAVE_X11R4.
14085
140862007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14087
14088 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14089
140902007-11-01 Johan Bockgård <bojohan@gnu.org>
14091
14092 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14093 Don't set s->stippled_p here, since it has already been set by
14094 x_set_glyph_string_gc from x_draw_glyph_string.
14095
140962007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14097
14098 * sunfns.c: Remove file.
14099
14100 * m/sun386.h:
14101 * m/sun2.h:
14102 * m/sparc.h: Remove Sun windows code.
14103
141042007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14105
14106 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14107 (init_keyboard): Set current_kboard's window-system to nil.
14108 (tty_read_avail_input): Typo.
14109 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14110
141112007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14112
14113 * s/usg5-4.h:
14114 * s/usg5-3.h:
14115 * s/ptx.h:
14116 * m/is386.h:
14117 * m/ibmps2-aix.h:
14118 * Makefile.in: Remove all mentions of X10.
14119
14120 * dispnew.c (syms_of_display): Don't mention version 10.
14121
141222007-10-28 Juanma Barranquero <lekktu@gmail.com>
14123
14124 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14125 ($(BLD)/abbrev.$(O)): Remove.
14126
141272007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14128
14129 Rewrite abbrev.c in Elisp.
14130 * image.c (Qcount): Don't declare as extern.
14131 (syms_of_image): Initialize and staticpro `Qcount'.
14132 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14133 * emacs.c (main): Don't call syms_of_abbrev.
14134 * Makefile.in (obj): Remove abbrev.o.
14135 (abbrev.o): Remove.
14136 * abbrev.c: Remove.
14137
141382007-10-26 Martin Rudalics <rudalics@gmx.at>
14139
14140 * window.c (window_min_size_2): Don't count header-line.
14141
141422007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14143
14144 * frame.h (struct frame): Move all bit fields after the first bit
14145 field to take advantage of the available space. Group all the
14146 chars together to reduce wasted space due to padding.
14147
141482007-10-26 Juanma Barranquero <lekktu@gmail.com>
14149
14150 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14151
14152 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14153 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14154 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14155 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14156 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14157 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14158 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14159 (last_marked, mark_object_loop_halt): Make static.
14160
14161 * frame.c (syms_of_frame) <delete-frame-functions>:
14162 Fix typo in docstring.
14163
141642007-10-25 Juanma Barranquero <lekktu@gmail.com>
14165
14166 * w32.c (init_environment): Fix tiny memory leak.
14167 (w32_get_resource): Remove unused variable `ok'.
14168
141692007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14170
14171 Make `window-system' into a keyboard-local variable (rather than
14172 frame-local as done originally by multi-tty).
14173
14174 * keyboard.h (struct kboard): Add Vwindow_system.
14175 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14176 (mark_kboards): Mark Vwindow_system.
14177
14178 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14179 (init_display): Don't set the obsolete `window-system' frame-param.
14180
14181 * xterm.c (x_term_init):
14182 * w32term.c (w32_create_terminal):
14183 * term.c (init_tty): Set Vwindow_system.
14184 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14185 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14186
14187 * xfns.c (Fx_create_frame, x_create_tip_frame):
14188 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14189 * macfns.c (Fx_create_frame):
14190 Don't set the obsolete `window-system' frame-param.
14191
14192 * frame.h (Qwindow_system): Remove.
14193 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14194 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14195
141962007-10-24 Richard Stallman <rms@gnu.org>
14197
14198 * frame.c (x_figure_window_size): For fullscreen case,
14199 set USPosition | PPosition without clobbering rest of window_prompting.
14200
14201 * keyboard.c (Fcurrent_idle_time): Doc fix.
14202
14203 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14204
142052007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14206
14207 * process.c (unwind_request_sigio): Only define if __ultrix__.
14208
14209 * callproc.c (child_setup): Remove spurious *.
14210
14211 * lisp.h (Fget_text_property): Declare.
14212 (have_menus_p): Declare it here rather than in sys-dep header files.
14213 * macterm.h (have_menus_p):
14214 * msdos.h (have_menus_p):
14215 * xterm.h (have_menus_p): Remove.
14216
14217 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14218 (Fmake_variable_frame_local): Just check the variable's const-ness
14219 rather than checking nil or t.
14220
142212007-10-22 Jason Rumney <jasonr@gnu.org>
14222
14223 * w32fns.c: Include math.h.
14224 (w32_abort): Declaration moved to nt/config.nt.
14225
14226 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14227 (abort): Redefinition moved to nt/config.nt.
14228
14229 * m/windowsnt.h: Remove.
14230
142312007-10-22 Juanma Barranquero <lekktu@gmail.com>
14232
14233 * emacs.c (Fdump_emacs): Fix typo in message.
14234 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14235 <installation-directory>: Reflow docstring.
14236
142372007-10-22 Juri Linkov <juri@jurta.org>
14238
14239 * minibuf.c: Allow minibuffer default to be a list of default values.
14240 With empty input use the first element of this list as returned default.
14241 (string_to_object)
14242 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14243 (read_minibuf): If defalt is cons, set histstring to its car.
14244 (Fread_string): If default_value is cons, set val to its car.
14245 (Fread_buffer): If def is cons, use its car.
14246 (Fcompleting_read): If defalt is cons, set val to its car.
14247
142482007-10-21 Michael Albinus <michael.albinus@gmx.de>
14249
14250 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14251
142522007-10-20 Juanma Barranquero <lekktu@gmail.com>
14253
14254 * doc.c (Fdocumentation): Check for advice in all cases.
14255
142562007-10-19 Chong Yidong <cyd@stupidchicken.com>
14257
14258 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14259
142602007-10-19 Richard Stallman <rms@gnu.org>
14261
14262 * doc.c (Fdocumentation): Check for and handle an advised function.
14263
142642007-10-19 Juanma Barranquero <lekktu@gmail.com>
14265
14266 * process.c (Fset_process_filter): Doc fix.
14267
142682007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14269
14270 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14271 which caused key-translation-map to applied repeatedly (thus breaking
14272 double-mode).
14273
142742007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14275
14276 * xselect.c (x_own_selection, x_handle_selection_clear)
14277 (x_clear_frame_selections):
14278 * w32menu.c (list_of_panes, list_of_items):
14279 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14280 * textprop.c (validate_plist, interval_has_all_properties)
14281 (interval_has_some_properties, interval_has_some_properties_list)
14282 (add_properties, text_property_list):
14283 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14284 * minibuf.c (Fassoc_string):
14285 * macselect.c (x_own_selection, x_clear_frame_selections)
14286 (Fx_disown_selection_internal):
14287 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14288 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14289
142902007-10-17 Chong Yidong <cyd@stupidchicken.com>
14291
14292 * process.c: Link to libs for calling res_init() if available.
14293 (Fmake_network_process): Call res_init() before getaddrinfo or
14294 gethostbyname, if possible.
14295
142962007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14297
14298 * lread.c (read1): Set pvectype for char_tables.
14299
14300 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14301 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14302 Add type checks.
14303 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14304
14305 * alloc.c (free_misc): Use XMISCTYPE.
14306 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14307
143082007-10-17 Glenn Morris <rgm@gnu.org>
14309
14310 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14311 (syms_of_minibuf): Add Qcompletion_ignore_case.
14312 * dired.c (Qcompletion_ignore_case): Change to external.
14313 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14314 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14315 (Fread_file_name): Use it rather than intern'ing.
14316
14317 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14318 (Fread_coding_system): Ignore case of user input.
14319
143202007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14321
14322 * xdisp.c (handle_display_prop): Ignore display specs after
14323 replacing one when string text is being replaced.
14324 (handle_single_display_spec): Pretend as if characters with display
14325 property haven't been consumed only when buffer text is being replaced.
14326
143272007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14328
14329 * xfns.c (Fx_create_frame, Fx_display_list):
14330 * window.c (window_fixed_size_p, enlarge_window)
14331 (shrink_window_lowest_first):
14332 * macterm.c (init_font_name_table):
14333 * macfns.c (Fx_create_frame, Fx_display_list):
14334 * lread.c (close_load_descs):
14335 * keyboard.c (read_char_x_menu_prompt):
14336 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14337 * coding.c (code_convert_region_unwind): Test the type of an object
14338 rather than just !NILP before extracting data from it.
14339
14340 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14341
14342 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14343 (XMISCANY): New macro.
14344 (XMISCTYPE): Use it.
14345 (struct Lisp_Misc_Any): New type.
14346 (union Lisp_Misc): Use it.
14347 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14348 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14349 (find_symbol_value, set_internal, default_value, Fset_default)
14350 (Fmake_variable_buffer_local, Fmake_local_variable)
14351 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14352 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14353 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14354 * alloc.c (allocate_buffer): Set the size and tag.
14355 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14356 Use XMISCANY.
14357 (die): Follow the GNU convention for error messages.
14358 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14359 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14360 tag any more.
14361 (set_buffer_internal_1):
14362 * frame.c (store_frame_param):
14363 * eval.c (specbind):
14364 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14365
14366 * doc.c (Fsnarf_documentation): Simplify.
14367
143682007-10-14 Juanma Barranquero <lekktu@gmail.com>
14369
14370 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14371 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14372
143732007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14374
14375 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14376
143772007-10-14 Juanma Barranquero <lekktu@gmail.com>
14378
14379 * eval.c (do_autoload): Don't save autoloads.
14380
14381 * data.c (Ffset): Save autoload of the function being set.
14382
143832007-10-07 John Paul Wallington <jpw@pobox.com>
14384
14385 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14386 parameter before setting up faces.
14387
143882007-10-13 Eli Zaretskii <eliz@gnu.org>
14389
14390 * ccl.c (Fregister_code_conversion_map):
14391 * keyboard.c (append_tool_bar_item): Reformat last change.
14392
14393 * lisp.h (eabs): Rename from `abs'. All callers changed.
14394
143952007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14396
14397 * buffer.c (add_overlay_mod_hooklist):
14398 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14399 * fontset.c (make_fontset):
14400 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14401 (append_tool_bar_item):
14402 * macmenu.c (grow_menu_items):
14403 * w32menu.c (grow_menu_items):
14404 * xmenu.c (grow_menu_items): Use larger_vector.
14405
144062007-10-13 Eli Zaretskii <eliz@gnu.org>
14407
14408 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14409 selected frame'' on MSDOS).
14410
144112007-10-12 Martin Rudalics <rudalics@gmx.at>
14412
14413 * frame.c (Qexplicit_name): New variable.
14414 (x_report_frame_params): Report it in parameter alist.
14415 (syms_of_frame): Intern and staticpro it.
14416
144172007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14418
14419 * macfns.c (x_create_tip_frame): Set terminal for frame.
14420
144212007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14422
14423 * frame.c (Qenvironment): Remove.
14424 (syms_of_frame) <Qenvironment>: Don't initialize.
14425 (Fdelete_frame): Don't treat the `environment' param specially.
14426 * frame.h (Qenvironment): Don't declare.
14427 * callproc.c (set_initial_environment): Don't set unused frame param.
14428
14429 * frame.c (Fframe_with_environment): Remove.
14430 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14431
14432 * lisp.h (Fframe_with_environment): Don't declare.
14433
144342007-10-10 Juanma Barranquero <lekktu@gmail.com>
14435
14436 * indent.c (indent_tabs_mode, last_known_column)
14437 (last_known_column_modified): Make static.
14438 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14439
144402007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14441
14442 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14443
144442007-10-09 Jason Rumney <jasonr@gnu.org>
14445
14446 * w32term.c (x_set_window_size): Disable code that attempts to tell
14447 Lisp code about a size change before it actually happens.
14448
144492007-10-09 Richard Stallman <rms@gnu.org>
14450
14451 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14452 return HANDLED_RETURN.
14453
144542007-10-08 Martin Rudalics <rudalics@gmx.at>
14455
14456 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14457 when there's an unread command event.
14458
14459 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14460 window autoselection act appropriately when leaving selected frame.
14461 (syms_of_frame): Initialize focus_follows_mouse.
14462 * frame.h (focus_follows_mouse): Extern it.
14463 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14464 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14465 * msdos.c (dos_rawgetc): Likewise.
14466 * w32term.c (w32_read_socket): Likewise.
14467 * xterm.c (handle_one_xevent): Likewise.
14468 * xdisp.c (syms_of_xdisp): In doc-string of
14469 mouse-autoselect-window mention focus-follows-mouse.
14470
144712007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14472
14473 * macterm.c (mac_load_query_font): Fix missing return value.
14474 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14475 Add BLOCK_INPUT.
14476
144772007-10-08 Richard Stallman <rms@gnu.org>
14478
14479 * xdisp.c (get_window_cursor_type): Implement documented behavior
14480 for cursor-in-non-selected-windows = t.
14481
144822007-10-08 Jason Rumney <jasonr@gnu.org>
14483
14484 * w32.c (w32_get_resource): Always close registry keys.
14485
144862007-10-08 Jason Rumney <jasonr@gnu.org>
14487
14488 * makefile.w32-in (LIBS): Add COMCTL32.
14489
14490 * w32fns.c (globals_of_w32fns): Init common controls.
14491
144922007-10-08 Richard Stallman <rms@gnu.org>
14493
14494 * image.c (our_memory_buffer): Rename from omfib_buffer.
14495
144962007-10-08 Richard Stallman <rms@gnu.org>
14497
14498 * buffer.c (Foverlays_at): Doc fix.
14499
145002007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14501
14502 * fns.c (Fplist_put): Preserve uneven tail data.
14503
145042007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14505
14506 * termhooks.h (enum event_kind): Remove trailing comma.
14507
14508 * frame.h (enum): Remove trailing comma.
14509
145102007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14511
14512 * w32proc.c (delete_child): Don't terminate threads of zombies.
14513
145142007-10-08 Martin Rudalics <rudalics@gmx.at>
14515
14516 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14517
14518 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14519 last-repeatable-command.
14520 (init_kboard): Initialize Vlast_repeatable_command.
14521 (command_loop_1): Set it to real_this_command unless that was
14522 bound to an input event.
14523 (mark_kboards): Mark it.
14524
145252007-10-08 Richard Stallman <rms@gnu.org>
14526
14527 * eval.c (condition-case): Doc fix.
14528
145292007-10-08 Masatake YAMATO <jet@gyve.org>
14530
14531 * xfaces.c (tty_supports_face_attributes_p): Fix code
14532 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14533 was copied and not edited.
14534
145352007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14536
14537 Add new `input-decode-map' keymap and use it for terminal
14538 escape sequences.
14539 * keyboard.h (struct kboard): Add Vinput_decode_map.
14540 Remove Vlocal_key_translation_map.
14541 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14542 (init_kboard): Init input-decode-map.
14543 Replace local-key-translation-map back with key-translation-map.
14544 (syms_of_keyboard): Declare input-decode-map.
14545 Remove local-key-translation-map. Update docstrings.
14546 (mark_kboards): Mark Vinput_decode_map.
14547 Don't mark Vlocal_key_translation_map.
14548 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14549 Replace local-key-translation-map back with key-translation-map.
14550 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14551 Bind in input-decode-map rather than function-key-map.
14552
14553 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14554 This was made redundant by the previous introduction of XSETPVECTYPE.
14555
145562007-10-09 Richard Stallman <rms@gnu.org>
14557
14558 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14559
145602007-09-29 Richard Stallman <rms@gnu.org>
14561
14562 * eval.c (internal_condition_case_2, internal_condition_case_1)
14563 (internal_condition_case): Reenable abort if x_catching_errors ()
14564 to see if that really happens and why.
14565
145662007-10-06 Andreas Schwab <schwab@suse.de>
14567
14568 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14569
145702007-10-04 Juanma Barranquero <lekktu@gmail.com>
14571
14572 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14573
145742007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14575
14576 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14577
145782007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14579
14580 * window.h (struct window):
14581 * window.c (struct save_window_data, struct saved_window):
14582 * termhooks.h (struct terminal):
14583 * process.h (struct Lisp_Process):
14584 * frame.h (struct frame):
14585 * buffer.h (struct buffer):
14586 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14587 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14588 The size field of (pseudo)vectors is now unsigned.
14589 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14590
14591 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14592 Turn `count' into an integer.
14593
14594 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14595 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14596 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14597 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14598 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14599
14600 * alloc.c (allocate_pseudovector): New fun.
14601 (ALLOCATE_PSEUDOVECTOR): New macro.
14602 (allocate_window, allocate_terminal, allocate_frame)
14603 (allocate_process): Use it.
14604 (mark_vectorlike): New function.
14605 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14606 (mark_terminals): Use it.
14607 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14608 (Fmake_byte_code): Use XSETPVECTYPE.
14609
14610 * frame.c (Fframe_parameters): Minor simplification.
14611
14612 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14613
14614 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14615
14616 * buffer.c (Fget_buffer_create, init_buffer_once):
14617 * lread.c (defsubr):
14618 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14619
14620 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14621 defined differently in the m/*.h files.
14622 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14623 (XSETPVECTYPE): New macro.
14624 (XSETPSEUDOVECTOR): Use it.
14625
14626 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14627 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14628
14629 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14630 * lread.c (defvar_per_buffer):
14631 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14632
14633 * window.c (candidate_window_p): Only consider as visible frames that
14634 are on the same terminal.
14635
14636 * m/ibms390x.h (MARKBIT): Remove unused macro.
14637
146382007-10-01 Juanma Barranquero <lekktu@gmail.com>
14639
14640 * lread.c (Fload): Fix typo in docstring.
14641
146422007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14643
14644 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14645 of a non-zero value can't yield zero.
14646
146472007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14648
14649 * term.c (term_clear_mouse_face, term_mouse_highlight)
14650 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14651
14652 * print.c (safe_debug_print): Use XHASH.
14653
14654 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14655 Lisp elements such as tags.
14656 (XHASH): New macro.
14657 (EQ): Use it.
14658 (SREF, SSET, STRING_COPYIN): Use SDATA.
14659 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14660
14661 * alloc.c (mark_terminal): Remove left-over declaration.
14662 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14663 (allocate_vectorlike): Remove type argument. Adjust callers.
14664 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14665 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14666
14667 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14668 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14669 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14670 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14671 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14672 Use them.
14673
14674 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14675 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14676 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14677
146782007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14679
14680 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14681 loaded by default.
14682
146832007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14684
14685 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14686 on this tty.
14687 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14688
14689 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14690 Update all users.
14691 (handle_one_term_event): Use Gpm_DrawPointer.
14692 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14693 Signal errors instead of returning nil. Always return nil.
14694 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14695 Make it a noop if gpm-mouse was not activated.
14696 (syms_of_term): Update names.
14697
146982007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14699
14700 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14701 (init_sys_modes): Check that gpm_tty is the current tty.
14702
14703 * alloc.c (allocate_terminal): Set the vector size to only count the
14704 lisp fields. Initialize those to nil.
14705 (mark_object): Don't treat terminals specially.
14706 (mark_terminal): Remove.
14707 (mark_terminals): Use mark_object instead.
14708
14709 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14710 the GC to the beginning.
14711
14712 * indent.h:
14713 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14714
14715 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14716
147172007-09-25 Jason Rumney <jasonr@gnu.org>
14718
14719 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14720
14721 * w32console.c (create_w32cons_output): Remove.
14722
14723 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14724
14725 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14726 (reset_sys_modes): Use reset_terminal_modes_hook.
14727
147282007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14729
14730 * eval.c (do_autoload): Don't output any message.
14731
147322007-09-24 Juri Linkov <juri@jurta.org>
14733
14734 * emacs.c (standard_args): Change priority of "--no-splash"
14735 from 40 to 3. Add "--no-desktop" with the same priority.
14736
147372007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14738
14739 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14740 and optimize the case where they are all 1.
14741
147422007-09-23 Johannes Weiner <hannes@saeurebad.de>
14743
14744 * lisp.h (abs): Define if not defined.
14745 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14746 Don't define `abs', since it's defined in lisp.h.
14747
147482007-09-22 Eli Zaretskii <eliz@gnu.org>
14749
14750 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14751 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14752 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14753 (init_tty): Use DEV_TTY instead of "/dev/tty".
14754 [WINDOWSNT]: No need to protect from NAME arg being null.
14755
147562007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14757
14758 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14759 up the tty state.
14760
147612007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14762
14763 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14764 (gpm_tty): Change its type.
14765 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14766 (gpm_tty): Change its type and initialize it.
14767 (Fterm_open_connection): Check the frame is indeed a tty.
14768 Use the new gpm_tty.
14769 (Fterm_close_connection): Use the new gpm_tty.
14770 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14771 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14772
147732007-09-21 Juanma Barranquero <lekktu@gmail.com>
14774
14775 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14776 underline_color, to draw strike-through.
14777
147782007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14779
14780 * lisp.h (allocate_terminal): Declare.
14781
14782 * window.c (candidate_window_p): Consider frames that are being placed
14783 by the user as somewhere between visible and iconified.
14784 (window_loop): Prefer windows on the current frame.
14785 (Fselect_window): Move the use of select-frame to the beginning so we
14786 can just delegate all the work (it'll call us back anyway).
14787
14788 * frame.c (Qdisplay_environment_variable):
14789 * frame.h (Qdisplay_environment_variable): Delete.
14790
14791 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14792 of the first arg, since that value may be a union.
14793
14794 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14795 parameter rather than Qdisplay_environment_variable. If all else
14796 fails, look for DISPLAY in initial-environment.
14797
147982007-09-21 Glenn Morris <rgm@gnu.org>
14799
14800 * Makefile.in (emacstool): Remove target.
14801 (lisp, shortlisp): Remove termdev.elc.
14802
148032007-09-21 Markus Triska <markus.triska@gmx.at>
14804
14805 * xterm.c (x_delete_display): Compile session management conditionally.
14806
148072007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14808
14809 * callproc.c (getenv_internal_1): New function.
14810 (getenv_internal): Use it.
14811 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14812
14813 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14814 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14815 (Fset_terminal_parameter): Work with dead terminals as well.
14816 (Fmodify_terminal_parameters): Remove.
14817
14818 * terminal.c (get_terminal): Handle terminals.
14819 Make sure the terminal returned is live.
14820 (create_terminal): Use allocate_terminal.
14821 (mark_terminals): Move to alloc.c.
14822 (delete_terminal): Use terminal->name as liveness status.
14823 NULL out fields after freeing their contents.
14824 Don't deallocate the object.
14825 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14826 rather than an int.
14827 (Fterminal_live_p): Accept non-integer arguments.
14828 (Fterminal_list): Return terminal objects rather than an ints.
14829
14830 * alloc.c (enum mem_type): New member for `terminal' objects.
14831 (allocate_terminal): New function.
14832 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14833 Handle terminals.
14834 (mark_terminal): New fun.
14835 (mark_terminals): Move from terminal.c.
14836
14837 * term.c (get_tty_terminal): Don't treat output_initial specially.
14838 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14839 (delete_tty): Use terminal->name as liveness status.
14840
14841 * termhooks.h (struct terminal): Make it into a pseudovector.
14842 Remove `deleted' replaced by checking `name's nullness.
14843
14844 * print.c (print_object): Handle terminals.
14845
14846 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14847 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14848
14849 * frame.c (make_terminal_frame):
14850 * keyboard.c (tty_read_avail_input):
14851 * w32term.c (x_delete_terminal):
14852 * xfns.c (Fx_create_frame, x_create_tip_frame):
14853 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14854
148552007-09-20 Glenn Morris <rgm@gnu.org>
14856
14857 * process.c (Fmake_network_process): Doc fix.
14858
148592007-09-19 Jason Rumney <jasonr@gnu.org>
14860
14861 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14862
148632007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14864
14865 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14866 Fix a C warning regarding variable constness.
14867
14868 * xterm.c (handle_one_xevent): Fix a C warning.
14869
148702007-09-18 Jason Rumney <jasonr@gnu.org>
14871
14872 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14873
148742007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14875
14876 * gtkutil.c (gdpy_def): New variable.
14877 (xg_initialize): Initialize gdpy_def.
14878 (xg_display_close): If no other display exists, set gdpy_def to a
14879 new connection.
14880
148812007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14882
14883 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14884 when we have no file name for the icon.
14885 (xg_tool_bar_expose_callback): Remove.
14886 (xg_create_tool_bar): Don't connect expose signal to
14887 xg_tool_bar_expose_callback.
14888 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14889
148902007-09-16 Andreas Schwab <schwab@suse.de>
14891
14892 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14893 values instead of zapping them.
14894
148952007-09-14 Glenn Morris <rgm@gnu.org>
14896
14897 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14898 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14899 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14900 scope and rename to omfib_buffer for clarity.
14901 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14902
149032007-09-14 Kenichi Handa <handa@m17n.org>
14904
14905 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14906
149072007-09-13 Jason Rumney <jasonr@gnu.org>
14908
14909 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14910
14911 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14912
14913 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14914 (mac_term_init): Call here instead, passing rif.
14915
149162007-09-13 Glenn Morris <rgm@gnu.org>
14917
14918 * s/hpux.h: No longer define `static' as nothing.
14919
149202007-09-13 Johan Bockgård <bojohan@gnu.org>
14921
14922 * callint.c (Fcall_interactively): Remove unused var `fun'.
14923
149242007-09-12 Romain Francoise <romain@orebokech.com>
14925
14926 * window.c (prefer_window_split_horizontally, display_buffer):
14927 Revert 2007-09-08 change.
14928
149292007-09-12 Glenn Morris <rgm@gnu.org>
14930
14931 * alloca.c: Remove file.
14932 * Makefile.in (alloca): Do not undef.
14933 (allocaobj, alloca.o): Remove.
14934 (otherobj): Remove allocaobj.
14935 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14936 * regex.c (C_ALLOCA): Remove all references and code that was only
14937 used when this was defined.
14938 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14939 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14940 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14941
14942 * Makefile.in (SOURCES, unlock, relock): Delete.
14943
14944 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14945 (menu_grab_callback): All uses changed.
14946
14947 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14948 (x_reply_selection_request): All uses changed.
14949
149502007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14951
14952 * lread.c (load_warn_old_style_backquotes): Change message to look
14953 better when it appears in the middle of byte-compiler messages.
14954
149552007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14956
14957 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14958
14959 * xterm.c (x_create_terminal): Add comment.
14960
14961 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14962
149632007-09-10 Richard Stallman <rms@gnu.org>
14964
14965 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14966
149672007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14968
14969 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14970 (DEFUN): Document `intspec', use it instead of `prompt'.
14971
14972 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14973
14974 * data.c (Finteractive_form): If the interactive specification starts
14975 with a `(', use it as a Lisp form.
14976
14977 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14978 name and file modes.
14979
14980 * callint.c (Fcall_interactively): Comment fixes.
14981
149822007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14983
14984 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14985 and compiled functions.
14986
149872007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14988
14989 * window.c (prefer_window_split_horizontally): New variable.
14990 (display_buffer): Consider splitting window horizontally depending
14991 on prefer_window_split_horizontally.
14992
149932007-09-08 Eli Zaretskii <eliz@gnu.org>
14994
14995 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14996
149972007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14998
14999 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15000
15001 * frame.c (x_set_frame_parameters): Check number is positive before
15002 using XFASTINT.
15003
15004 * window.c (freeze_window_start): Don't presume selected_window holds
15005 a window object.
15006 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15007
150082007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15009
15010 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15011
150122007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15013
15014 * window.c (Vsplit_window_preferred_function): New var.
15015 (Fdisplay_buffer): Use it.
15016 (syms_of_window): Export, and initialize it.
15017
150182007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15019
15020 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15021
150222007-09-06 Glenn Morris <rgm@gnu.org>
15023
15024 * gtkutil.c (menu_grab_callback) <cnt>:
15025 * xselect.c (x_reply_selection_request) <cnt>: Move static
15026 variable to file scope.
15027
150282007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15029
15030 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15031 consistent values of selected_frame and selected_window.
15032
150332007-09-04 Jason Rumney <jasonr@gnu.org>
15034
15035 * w32console.c (initialize_w32_display): Zero unused hooks.
15036
150372007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15038
15039 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15040 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15041
150422007-09-04 Jason Rumney <jasonr@gnu.org>
15043
15044 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15045 in w32console.c. Set up input. Remove XXX comments that have been
15046 confirmed as correct.
15047
15048 * s/ms-w32.h (MULTI_KBOARD): Define.
15049
15050 * w32console.c (one_and_only_w32cons): Remove.
15051 (initialize_w32_display): Take terminal argument.
15052
15053 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15054 initialize_w32_display.
15055 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15056
15057 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15058
15059 * keyboard.c (discard_mouse_events): Discard it.
15060 (make_lispy_event): Translate it to a lisp event.
15061 (lispy_wheel_names): Add wheel-left and right events.
15062 (syms_of_keyboard): Enlarge wheel_syms.
15063
15064 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15065 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15066
15067 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15068
15069 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15070 from WM_MOUSEHWHEEL.
15071 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15072
15073 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15074 terminal.
15075
15076 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15077 keyboard for the terminal.
15078
150792007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15080
15081 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15082 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15083 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15084 and resume-tty-function to resume-tty-hook.
15085 (Fsuspend_tty, Fresume_tty): Use new names.
15086
150872007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15088
15089 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15090 if it starts with "n:".
15091
150922007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15093
15094 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15095
150962007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15097
15098 * frame.h:
15099 * frame.c (Qterm_environment_variable): Remove.
15100 (syms_of_frame): Don't init and staticpro it.
15101
15102 * callproc.c (getenv_internal): Remove special case for $TERM.
15103
15104 * callproc.c (Vinitial_environment): New variable.
15105 (set_initial_environment): Initialize it.
15106 (syms_of_callproc): Declare it.
15107 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15108 TERM under which a process runs is never related to the TERM in which
15109 Emacs is running.
15110
151112007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15112
15113 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15114 * s/darwin.h: ... do it here.
15115
151162007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15117
15118 * lisp.h (set_initial_environment): Rename from set_global_environment.
15119
15120 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15121 removed by mistake on the multi-tty branch.
15122
15123 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15124 (Fmodify_frame_parameters): Return a value.
15125
15126 * image.c (png_load): Comment-out var only used in commented-out code.
15127
15128 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15129 before passing it to mark_object.
15130
15131 * xfaces.c (internal_resolve_face_name): Return a value.
15132 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15133
15134 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15135 (x_icon): Comment-out var only used in commented-out code.
15136
151372007-08-29 Romain Francoise <romain@orebokech.com>
15138
15139 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15140 QUIT hasn't been provided.
15141
151422007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15143
15144 * callproc.c (child_setup, getenv_internal): Use the
15145 display-environment-variable and term-environment-variable frame params.
15146 (set_initial_environment): Initialise Vprocess_environment.
15147
15148 * config.in: Disable multi-keyboard support on a mac.
15149
15150 * frame.c (Qterm_environment_variable)
15151 (Qdisplay_environment_variable): New variables.
15152 (syms_of_frame): Intern and staticpro them.
15153 (Fmake_terminal_frame): Disable output method test.
15154
15155 * frame.h: Declare them here.
15156
15157 * macfns.c (x_set_mouse_color): Get rif from the frame.
15158 (x_set_tool_bar_lines): Don't use updating_frame.
15159 (mac_window): Add 2 new parameters for consistency with other systems.
15160 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15161 frame parameters following what is done in X11 and w32. Don't use
15162 FRAME_MAC_DISPLAY_INFO.
15163 (Fx_open_connection, start_hourglass): Remove window-system check.
15164 (x_create_tip_frame): Get the keyboard from the terminal.
15165
15166 * macmenu.c: Reorder includes.
15167 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15168
15169 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15170 terminal parameter.
15171 (x_clear_frame): Add a frame parameter.
15172 (note_mouse_movement): Get rif from the frame.
15173 (mac_term_init): Initialize the terminal.
15174 (mac_initialize): Make static and move terminal initialization ...
15175 (mac_create_terminal): ... to this new function.
15176
15177 * macterm.h (struct mac_display_info): Add terminal.
15178 (mac_initialize): Delete declaration.
15179
15180 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15181
15182 * sysdep.c: Comment out text after #endif.
15183
15184 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15185 is defined. Better initialize ttys in windows. Use terminal
15186 specific mouse_position_hook.
15187
15188 * termhooks.h (union display_info): Add mac_display_info.
15189
15190 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15191 Set the default minibuffer frame, window_system and the rest of the
15192 frame parameters following what is done in X11.
15193
15194 * w32term.c (w32_initialize): Make static.
15195
15196 * xselect.c (x_handle_selection_clear): Only access
15197 terminal->kboard when MULTI_KBOARD is defined.
15198
15199 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15200 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15201
152022007-08-29 Jason Rumney <jasonr@gnu.org>
15203
15204 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15205 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15206
15207 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15208 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15209
15210 * keyboard.c (restore_kboard_configuration): Only define when
15211 MULTI_KBOARD defined.
15212
15213 * makefile.w32-in: Update dependancies from Makefile.in.
15214 (OBJ1): Add terminal.$(O)
15215
15216 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15217 Don't define function body.
15218 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15219
15220 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15221
15222 * w32.c (request_sigio, unrequest_sigio): Remove.
15223
15224 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15225 (w32con_clear_frame, w32con_clear_end_of_line)
15226 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15227 (w32con_delete_glyphs, w32con_set_terminal_window)
15228 (scroll_line, w32_sys_ring_bell): Add frame arg.
15229 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15230 Add terminal arg.
15231 (PICK_FRAME): Remove.
15232 (w32con_write_glyphs): Use frame specific terminal coding.
15233 (one_and_only_w32cons): New global variable.
15234 (initialize_w32_display): Use it for storing hooks.
15235 (create_w32cons_output): New function.
15236
15237 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15238 arg a frame.
15239
15240 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15241 Set window_system.
15242 (x_set_tool_bar_lines): Don't use updating_frame.
15243 (Fx_create_frame): Set terminal and ref count.
15244 (Fx_open_connection): Remove window-system check.
15245
15246 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15247
15248 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15249 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15250 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15251 Add frame arg.
15252 (x_delete_terminal, w32_create_terminal): New functions.
15253 (w32_term_init): Create a terminal.
15254 (w32_initialize): Move terminal specific initialization to
15255 w32_create_terminal.
15256
15257 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15258 (w32_clear_rect, w32_clear_area): Use background from frame.
15259 (w32_display_info): Add terminal.
15260 (w32_sys_ring_bell, x_delete_display): Declare here.
15261
15262 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15263
15264 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15265
152662007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15267
15268 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15269 Fix get_named_tty calls for the controlling tty.
15270
152712007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15272
15273 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15274
152752007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15276
15277 * term.c (tty_insert_glyphs): Add missing first parameter.
15278
152792007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15280
15281 * buffer.c (Fbuffer_list, Fbury_buffer):
15282 Take frame->buried_buffer_list into account.
15283
15284 * cm.c (current_tty): New variable, for cmputc().
15285 (cmputc): Use it.
15286 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15287 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15288 (cmgoto): Add tty parameter. Pass it on to calccost().
15289 Use emacs_tputs() instead of tputs().
15290
15291 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15292 tputs().
15293 (current_tty): New variable, for cmputc().
15294 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15295
15296 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15297 (internal_condition_case, internal_condition_case_1)
15298 (internal_condition_case_2): Don't abort when x_catching_errors.
15299
15300 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15301 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15302 prevent crashes caused by bogus longjmps in read_char.
15303
15304 * keymap.h (Fset_keymap_parent): Add EXFUN.
15305
15306 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15307 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15308 Remove redundant definition.
15309
15310 * macfns.c (x_set_mouse_color, x_make_gc):
15311 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15312
15313 * w32term.c (x_free_frame_resources):
15314 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15315 (w32_initialize): Use the accessor macros for terminal characteristics.
15316
15317 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15318 Use the accessor macros for terminal characteristics.
15319 * msdos.c (internal_terminal_init): Use the accessor macros for
15320 terminal characteristics.
15321 (ScreenVisualBell, internal_terminal_init):
15322 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15323
15324 * termopts.h (no_redraw_on_reenter): Declare.
15325
15326 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15327 (mark_terminals, mark_ttys): Declare.
15328 (Fgarbage_collect): Call them.
15329 (mark_object): Mark buried_buffer_list.
15330
15331 * prefix-args.c: Include stdlib.h for exit.
15332
15333 * syssignal.h: Add comment.
15334
15335 * indent.c: Include stdio.h.
15336
15337 * window.h (Vinitial_window_system): Declare.
15338 (Vwindow_system): Delete declaration.
15339
15340 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15341
15342 * image.c (lookup_image): Don't initialize `c' until the xasserts
15343 have been run.
15344
15345 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15346 FRAME_FOREGROUND_PIXEL.
15347
15348 * print.c (print_preprocess): Don't lose print_depth levels while
15349 iterating.
15350
15351 * widget.c (update_from_various_frame_slots):
15352 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15353
15354 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15355 frames.
15356 (window_internal_height): Remove bogus make_number call.
15357 (init_window_once): Call make_terminal_frame with two zero parameters.
15358
15359 * fileio.c (Fread_file_name): Update comment.
15360
15361 * callint.c (Fcall_interactively):
15362 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15363 Make sure it is correctly unwound.
15364
15365 * xsmfns.c (x_session_close): New function.
15366
15367 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15368 Delete declarations.
15369
15370 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15371 (x_output): Remove background_pixel and foreground_pixel fields.
15372 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15373 (x_delete_device, x_session_close): Declare.
15374
15375 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15376 (read_filtered_event): Call `read_char' with a local
15377 `wrong_kboard_jmpbuf'.
15378
15379 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15380 Don't call single_kboard_state. Use FRAME_RIF.
15381
15382 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15383 systems.
15384
15385 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15386 (Fframe_with_environment, Fset_input_meta_mode)
15387 (Fset_quit_char): EXFUN.
15388 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15389 (init_sys_modes, reset_sys_modes): Update prototypes.
15390 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15391
15392 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15393 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15394 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15395 Delete declarations.
15396 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15397 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15398 New declarations.
15399
15400 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15401 already does that during init_display(). Call syms_of_keymap
15402 before syms_of_keyboard. Call `syms_of_terminal'.
15403 Call set_initial_environment, not set_process_environment.
15404 (shut_down_emacs): Call reset_all_sys_modes() instead of
15405 reset_sys_modes().
15406
15407 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15408 (internal_resolve_face_name, resolve_face_name_error): New functions.
15409 (resolve_face_name): Protect against loops and errors thrown by Fget.
15410 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15411 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15412
15413 * scroll.c: Replace CURTTY() with local variables throughout the
15414 file (where applicable).
15415 (calculate_scrolling, calculate_direct_scrolling)
15416 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15417 characteristics.
15418
15419 * keymap.c (Vfunction_key_map): Remove.
15420 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15421 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15422 (Vkey_translation_map): Remove.
15423 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15424 (Fdescribe_buffer_bindings)
15425 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15426 Update for terminal-local key-translation-map.
15427
15428 * Makefile.in (callproc.o): Update dependencies.
15429 (lisp, shortlisp): Add termdev.elc.
15430 (obj): Add terminal.o.
15431 (terminal.o): Add dependencies.
15432 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15433 (data.o, fns.o): Add termhooks.h dependency.
15434 (SOME_MACHINE_LISP): Add dnd.elc.
15435 (minibuf.o): Fix typo.
15436 Update dependencies.
15437
15438 * data.c (do_symval_forwarding, store_symval_forwarding)
15439 (find_symbol_value): Use the selected frame's keyboard, not
15440 current_kboard.
15441
15442 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15443 Vwindow_system.
15444
15445 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15446 Fmenu_bar_open.
15447 (syms_of_xmenu): Update defsubr.
15448 (mouse_position_for_popup, Fx_popup_menu)
15449 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15450 (set_frame_menubar, free_frame_menubar)
b97439ce 15451 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15452 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15453 an X frame.
15454
15455 * xselect.c (x_own_selection): Abort if not an X frame.
15456 (some_frame_on_display): Check if it is an X frame.
15457 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15458
15459 * coding.c: Include frame.h and termhooks.h.
15460 (terminal_coding, keyboard_coding): Delete.
15461 (Fset_terminal_coding_system_internal)
15462 (Fset_keyboard_coding_system_internal)
15463 (Fkeyboard_coding_system)
15464 (Fterminal_coding_system): Add a terminal parameter.
15465 Get terminal_coding from the terminal.
15466 (init_coding_once): Don't call setup_coding_system here.
15467
15468 * dispextern.h (set_scroll_region, turn_off_insert)
15469 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15470 (tty_clear_end_of_line, tty_setup_colors)
15471 (delete_tty, updating_frame)
15472 (produce_special_glyphs, produce_glyphs, write_glyphs)
15473 (insert_glyphs): Remove.
15474 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15475 (tty_turn_off_highlight, get_tty_size): Add declaration.
15476 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15477
15478 * frame.h (enum output_method): Add output_initial.
15479 (struct x_output): Delete.
15480 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15481 Access foreground_pixel and background_pixel directly from the frame.
15482 (tty_display): Delete.
15483 (struct frame): Add buried_buffer_list, foreground_pixel,
15484 background_pixel and terminal. Delete kboard.
15485 (union output_data): Add tty.
15486 (FRAME_KBOARD): Get the kboard from the terminal.
15487 (FRAME_INITIAL_P): New macro.
15488 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15489 (Qterm_environment_variable, Qdisplay_environment_variable)
15490 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15491 New declarations.
15492
15493 * termchar.h (tty_output, tty_display_info): New structures.
15494 (tty_list): Declare.
15495 (FRAME_TTY, CURTTY): New macros.
15496 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15497 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15498 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15499 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15500
15501 * callproc.c: Include frame.h and termhooks.h, for terminal
15502 parameters.
15503 (add_env): New function.
15504 (child_setup): Use it.
15505 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15506 (getenv_internal): Fix get_terminal_param call.
15507 (Fgetenv_internal, egetenv): Update doc.
15508 (syms_of_callproc): Initialize Vprocess_environment to nil.
15509 Register and initialize them. Remove obsolete defvars. Update doc
15510 strings.
15511 (child_setup): Handle Vlocal_environment_variables.
15512 (getenv_internal): Add terminal parameter.
15513 Handle Vlocal_environment_variables.
15514 (Fgetenv_internal): Add terminal parameter.
15515 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15516 environment in a frame (not terminal) parameter. Update doc strings.
15517 (set_initial_environment): Rename from set_global_environment.
15518 Store Emacs environment in initial frame parameter.
15519
15520 * xdisp.c (redisplay_internal): Update references to
15521 `previous_terminal_frame'.
15522 (display_mode_line, Fformat_mode_line): Replace calls to
15523 `push_frame_kboard' with `push_kboard'.
15524 (get_glyph_string_clip_rects): Add extra parentheses and
15525 braces to prevent compiler warnings.
15526 (calc_pixel_width_or_height): Add xassert to check that the
15527 frame is alive. Don't call `lookup_image' on a termcap frame.
15528 (message2_nolog, message3_nolog, redisplay_internal)
15529 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15530 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15531 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15532 (Fx_display_pixel_width, Fx_display_pixel_height)
15533 (Fx_display_planes, Fx_display_color_cells)
15534 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15535 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15536 (Fx_display_backing_store, Fx_display_visual_class)
15537 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15538 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15539
15540 * xfns.c (x_set_foreground_color x_set_background_color)
15541 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15542 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15543 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15544 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15545 terminal that is being deleted.
15546 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15547 frame parameter, and make sure it overrides any user-supplied setting.
15548 (Fx_close_connection, Fx_synchronize): Unify argument names with
15549 the rest of the DEFUNs.
15550
15551 * dispnew.c (Fsend_string_to_terminal): Update call to
15552 `get_tty_terminal'.
15553 (Fredraw_frame, Fsend_string_to_terminal)
15554 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15555 FRAME_TERMCAP_P and FRAME_TTY.
15556 (window_change_signal): Don't believe width/height values that are
15557 impossibly small.
15558 (Vinitial_window_system): Rename from Vwindow_system.
15559 (termscript, Wcm, rif): Delete.
15560
15561 * termhooks.h (struct terminal): New struct containing the
15562 previously global text display hooks and new members NAME,
15563 DELETED and PARAM_ALIST.
15564 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15565 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15566 (FRAME_RIF): New macros.
15567 (get_terminal_param, get_device): New declarations.
15568 (termscript): Delete declaration.
15569
15570 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15571 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15572 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15573 FRAME_FOREGROUND_PIXEL.
15574 (x_fully_uncatch_errors): Disable definition.
15575 (x_scroll_bar_expose): Fix reference to foreground pixel.
15576 (XTread_socket): Disable loop on all X displays.
15577 (x_delete_terminal): Don't set terminal->deleted and let
15578 delete_terminal delete the frames on the terminal.
15579 (x_delete_display): Doc update to reflect changes in
15580 delete_terminal.
15581 (x_display_info) <terminal>: Move member earlier in the struct.
15582 (deleting_tty): Remove old variable.
15583 (Fsuspend_tty): Call clear_tty_hooks.
15584 (Fresume_tty, init_tty): Call set_tty_hooks.
15585 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15586 errors on X frames.
15587 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15588 (handle_one_xevent): Initialize `f' to NULL.
15589 (x_delete_terminal, x_create_terminal): New functions.
15590 (XTset_terminal_modes, XTreset_terminal_modes)
15591 (XTread_socket, x_connection_closed, x_term_init)
15592 (x_term_init, x_delete_display): Add terminal parameter.
15593 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15594 X connections.
15595
15596 * frame.c: Include termchar.h.
15597 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15598 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15599 (Qdisplay_environment_variable): New vars.
15600 (Fframep): Deal with output_initial.
15601 (Fframe-live-p): Doc fix.
15602 (Fwindow-system): New function.
15603 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15604 (make_terminal_frame): Don't create frames on a terminal that is
15605 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15606 (store_frame_param): Check for found_for_frame before calling XFRAME.
15607 (Fmake_terminal_frame): Handle NULL tty names correctly.
15608 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15609 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15610 frames to refer to a deleted frame in their 'environment parameter.
15611 (Fframe_with_environment): New function.
15612 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15613 (get_future_frame_param): New function.
15614 (Fmake_terminal_frame): Use it.
15615 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15616
15617 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15618 * sysdep.c (reset_sys_modes): Update for renames.
15619
15620 * keyboard.c (tty_read_avail_input): New function.
15621 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15622 (syms_of_keyboard): Defsubr them.
15623 (Fset_input_meta_mode, Fset_quit_char): New functions.
15624 (Fset_input_mode): Split to above functions.
15625 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15626 parameter. Use it in call to `read_char'.
15627 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15628 Set wrong_kboard_jmpbuf correctly in recursive calls.
15629 Use current_kboard to access Vkeyboard_translate_table.
15630 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15631 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15632 Update longjmp invocations. Remember the original current_kboard,
15633 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15634 changes it. Comment out unnecessary calls to
15635 `record_single_kboard_state' and `any_kboard_state'.
15636 Update recursive calls.
15637 (wrong_kboard_jmpbuf): Remove global variable.
15638 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15639 Handle deleted interrupted_kboards correctly; that is a legal
15640 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15641 and read_char calls. Abort if interrupted_kboard died in read_char.
15642 (any_kboard_state, single_kboard_state)
15643 (push_frame_kboard): Remove function.
15644 (pop_kboard): Switch out of single_kboard mode if the kboard has
15645 been deleted. Remove unused variable. Help debugging by not
15646 changing current_kboard unnecessarily. Set current_kboard to the
15647 kboard of the selected frame when the stored kboard object has
15648 been deleted before pop_kboard.
15649 (temporarily_switch_to_single_kboard): Change first parameter to a
15650 frame pointer. Throw an error when caller wants to change kboards
15651 while in single_kboard mode. Don't push_kboard if we weren't in
15652 single kboard state. Don't pop_kboard if we popped into any
15653 kboard state.
15654 (restore_kboard_configuration): Abort if pop_kboard changed the
15655 kboard in single_kboard mode. Call pop_kboard only after setting
15656 up single_kboard mode.
15657 (Frecursive_edit): Switch to single_kboard mode only in nested
15658 command loops.
15659 (cmd_error, command_loop, command_loop_1, timer_check):
15660 Comment out unnecessary call to `any_kboard_state' and
15661 `record_single_kboard_state'.
15662 (delete_kboard): Exit single_kboard mode if we have just deleted
15663 that kboard. Use FRAME_KBOARD.
15664 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15665 `fatal_error_signal'.
15666 (record_single_kboard_state): Don't push_kboard if we weren't in
15667 single kboard state. Don't pop_kboard if we popped into any
15668 kboard state.
15669 (push_frame_kboard): Rename to push_kboard.
15670 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15671 (read_avail_input): Read input from all terminals.
15672 (mark_kboards): Also mark Vkeyboard_translate_table.
15673 (kbd_buffer_store_event_hold): Simplify condition.
15674 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15675 (Vkeyboard_translate_table): Move to struct kboard.
15676 (init_kboard): Initialize Vkeyboard_translate_table.
15677 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15678 Vkeyboard_translate_table. Update doc strings. Update docs of
15679 local-function-key-map and function-key-map.
15680
15681 * terminal.c: New file.
15682
15683 * term.c: Include errno.h.
15684 (Vring_bell_function, device_list, initial_device)
15685 (next_device_id, ring_bell, update_begin, update_end)
15686 (set_terminal_window, cursor_to, raw_cursor_to)
15687 (clear_to_end, clear_frame, clear_end_of_line)
15688 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15689 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15690 (syms_of_term): Move their initialization to terminal.c.
15691 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15692 (Ftty_display_color_cells)
15693 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15694 (clear_tty_hooks, set_tty_hooks)
15695 (init_tty, maybe_fatal): New functions.
15696 (Ftty_type): Return nil if terminal is not on a tty instead of
15697 throwing an error. Doc update.
15698 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15699 Doc update. Initialize new subrs and variables.
15700 (delete_tty): Use terminal->deleted.
15701 (tty_set_terminal_modes): Rename from set_terminal_modes.
15702 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15703 (set_scroll_region): Rename to `tty_set_scroll_region'.
15704 (turn_on_insert): Rename to `tty_turn_on_insert'.
15705 (turn_off_insert): Rename to `tty_turn_off_insert'.
15706 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15707 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15708 (toggle_highligh): Rename to `tty_toggle_highlight'.
15709 (background_highlight): Rename to `tty_background_highlight'.
15710 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15711 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15712 (tty_set_scroll_region, tty_background_highlight)
15713 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15714 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15715 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15716 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15717 Add static modifier.
15718 (tty_reset_terminal_modes, tty_set_terminal_window)
15719 (tty_set_scroll_region, tty_background_highlight)
15720 (tty_highlight_if_desired, tty_cursor_to)
15721 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15722 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15723 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15724 renames.
15725
157262007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15727
15728 * keyboard.c: Qrtl is new.
15729 (parse_tool_bar_item): Handle :rtl keyword.
15730 (syms_of_keyboard): Intern :rtl keyword.
15731
15732 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15733
15734 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15735 so no Lisp code is executed.
15736 (file_for_image, find_rtl_image): New functions.
15737 (xg_get_image_for_pixmap): Use file_for_image.
15738 (update_frame_tool_bar): If direction is RTL, use RTL image if
15739 defined. Use Gtk stock images if defined.
15740
157412007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15742
15743 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15744 for nonexistent or zero-width glyph in composition glyph.
15745
157462007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15747
15748 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15749
15750 * xdisp.c (Finvisible_p): New function.
15751 (syms_of_xdisp): defsubr it.
15752
157532007-08-24 Juanma Barranquero <lekktu@gmail.com>
15754
15755 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15756 Doc fixes.
15757
157582007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15759
15760 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15761
157622007-08-24 Martin Rudalics <rudalics@gmx.at>
15763
15764 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15765 whether decoding has modified buffer contents.
15766
157672007-08-24 Jason Rumney <jasonr@gnu.org>
15768
15769 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15770 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15771 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15772 (init_svg_functions) [HAVE_NTGUI]: New function.
15773 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15774 (svg_load_image): Use them.
15775 (svg_load_image) [HAVE_NTGUI]: Implement background.
15776
157772007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15778
15779 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15780 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15781 (LIBX): Remove @RSVG_LIBS@.
15782 (LIBES): Add $(RSVG_LIBS).
15783
15784 * image.c (svg_load_image): Blend with specified background if exists.
15785 Use IMAGE_BACKGROUND. Add Mac OS Support.
15786
15787 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15788 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15789 Remove macros.
15790 [MAC_OSX] (socket_callback): Do nothing.
15791 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15792 ReceiveNextEvent.
15793 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15794 socket_callback.
15795 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15796
157972007-08-22 Glenn Morris <rgm@gnu.org>
15798
15799 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15800
158012007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15802
15803 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15804
15805 * image.c: Add support for SVG images. Some additional comments
15806 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15807 (svg_image_p): New function to test for SVG image.
15808 (svg_load): New function to load SVG image.
15809 (svg_load_image): New function, helper for svg_load.
15810 (Qsvg): New Lisp_object.
15811 (svg_keyword_index): New enum.
15812 (svg_format): New static `image_keyword' struct.
15813 (svg_type): New static `image_type' struct.
15814 (librsvg/rsvg.h): Include it.
15815
158162007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15817
15818 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15819
158202007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15821
15822 * lread.c (Qold_style_backquotes): New var.
15823 (syms_of_lread): Init and staticpro it.
15824 (load_warn_old_style_backquotes): New fun.
15825 (Fload): Use them to warn about old style backquotes.
15826 (end_of_file_error, Fload): Remove unused vars.
15827
15828 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15829
15830 * lread.c (Vold_style_backquotes): New var.
15831 (syms_of_lread): Init and export it to Elisp.
15832 (read1): Set it when we find an old-style (back)quote.
15833
158342007-08-22 Jason Rumney <jasonr@gnu.org>
15835
15836 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15837
158382007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15839
15840 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15841
158422007-08-19 Richard Stallman <rms@gnu.org>
15843
15844 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15845
158462007-08-19 Andreas Schwab <schwab@suse.de>
15847
15848 * alloc.c (pure): Round PURESIZE up.
15849
158502007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15851
15852 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15853 active frame.
15854
158552007-08-16 Richard Stallman <rms@gnu.org>
15856
15857 * eval.c (Fcommandp): Add parens to clarify.
15858
15859 * minibuf.c (Fall_completions): Use enum for type of table.
15860
15861 * emacs.c (USAGE2): Improve text.
15862
158632007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15864
15865 * term.c (tty_default_color_capabilities): Declare static
15866 variables in file scope, to avoid HPUX compiler problem.
15867
158682007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15869
15870 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15871 to gtk_toolbar_insert.
15872
158732007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15874
15875 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15876
15877 * insdel.c (reset_var_on_error): New fun.
15878 (signal_before_change, signal_after_change):
15879 Use it to reset (after|before)-change-functions to nil in case of error.
15880 Bind inhibit-modification-hooks to t.
15881 Don't bind (after|before)-change-functions to nil while they run.
15882
158832007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15884
15885 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15886 filling pixmap with stippled background.
15887
158882007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15889
15890 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15891 Don't use invisible frame as parent window for repositioning.
15892
158932007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15894
15895 * print.c (new_backquote_output): Rename from old_backquote_output.
15896 (print): Inverse its logic (according to its name) so as to match the
15897 behavior of new_backquote_flag in lread.c.
15898
158992007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15900
15901 * gmalloc.c (posix_memalign): New function.
15902
15903 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15904 ActivateControl/DeactivateControl here.
15905 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15906 frame-notice-user-settings is non-nil.
15907 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15908 for kEventParamFMFontStyle.
15909 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15910 mac_pass_command_to_system and mac_pass_control_to_system here.
15911 (XTread_socket): Call ActivateControl/DeactivateControl here.
15912 (XTread_socket) [TARGET_API_MAC_CARBON]:
15913 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15914 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15915 for window repositioning.
15916
159172007-08-08 Glenn Morris <rgm@gnu.org>
15918
15919 * Replace `iff' in doc-strings and comments.
15920
159212007-08-07 Chong Yidong <cyd@stupidchicken.com>
15922
15923 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15924
159252007-08-07 Martin Rudalics <rudalics@gmx.at>
15926
15927 * fileio.c (Finsert_file_contents): Run format-decode and
15928 after_insert_file_functions on entire buffer when REPLACE is
15929 non-nil and inhibit modification_hooks and point_motion_hooks.
15930 For consistency, run after_insert_file_functions iff something
15931 got inserted. Move signal_after_change and update_compositions
15932 after code running after_insert_file_functions. Make sure that
15933 undo_list doesn't record intermediate steps of the decoding process.
15934
159352007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15936
15937 * emacs.c (main)
15938 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15939 Call malloc_enable_thread on interactive startup.
15940
15941 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15942 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15943 [USE_PTHREAD]: Conditionalize with it.
15944 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15945 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15946 New functions.
15947
159482007-08-06 Chong Yidong <cyd@stupidchicken.com>
15949
15950 * xdisp.c (redisplay_window): When restoring original buffer
15951 position, make sure it is still valid.
15952
15953 * image.c (png_load): Ignore png-supplied background color.
15954
159552007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15956
15957 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15958 Use kCFAbsoluteTimeIntervalSince1970.
15959
15960 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15961 New variable.
15962 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15963 event loop should be quit.
15964 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15965 Quit dialog event loop if quit_dialog_event_loop is set.
15966
15967 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15968 (Selection): New typedef. Use instead of ScrapRef.
15969 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15970 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15971 (mac_clear_selection): Rename from clear_scrap.
15972 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15973 scrap_has_target_type. All uses changed.
15974 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15975 (mac_selection_has_target_p): New functions.
15976 (mac_put_selection_value): Rename from put_scrap_string.
15977 (mac_get_selection_value): Rename from get_scrap_string.
15978 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15979 (put_scrap_private_timestamp, scrap_has_target_type)
15980 (get_scrap_private_timestamp): Remove functions.
15981 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15982 (x_own_selection, x_get_local_selection):
15983 Use mac_valid_selection_value_p.
15984 (x_own_selection): Don't use put_scrap_private_timestamp.
15985 Record OWNERSHIP-INFO into Vselection_alist instead.
15986 (x_get_local_selection): Don't check type if request is local.
15987 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15988 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15989
159902007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15991
15992 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15993 add comment explaining why.
15994
159952007-08-03 Richard Stallman <rms@gnu.org>
15996
15997 * fileio.c (Fvisited_file_modtime): Use make_time.
15998
159992007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16000
16001 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16002 build.
16003
160042007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16005
16006 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16007
160082007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16009
16010 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16011
160122007-07-30 Richard Stallman <rms@gnu.org>
16013
16014 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16015
160162007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16017
16018 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16019
160202007-07-28 Nick Roberts <nickrob@snap.net.nz>
16021
16022 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16023 remote default-directory.
16024
16025 * buffer.c (mode-line-format): Update doc string.
16026
160272007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16028
16029 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16030 scroll bar gap.
16031 (x_scroll_bar_create): Set bar->fringe_extended_p.
16032 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16033 on frame edge. Check fringe background extension. Don't clear
16034 extended fringe background area.
16035
16036 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16037 (w32_fill_area): Enclose multiple statements with do ... while (0).
16038
16039 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16040 Extend fringe background to scroll bar gap.
16041 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16042 Set bar->fringe_extended_p.
16043 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16044 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16045 background extension. Don't clear extended fringe background area.
16046
16047 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16048 New member fringe_extended_p.
16049
160502007-07-25 Glenn Morris <rgm@gnu.org>
16051
16052 * Relicense all FSF files to GPLv3 or later.
16053
16054 * COPYING: Switch to GPLv3.
16055
160562007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16057
16058 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16059
16060 * data.c (Finteractive_form): Check for the presence of an
16061 `interactive-form' symbol property more thoroughly.
16062
16063 * data.c (Finteractive_form): Use an `interactive-form' property if
16064 present, analogous to the function-documentation property.
16065
160662007-07-24 Jason Rumney <jasonr@gnu.org>
16067
16068 * w32fns.c (x_real_positions): Get real position from OS instead of
16069 calculating it.
16070
160712007-07-23 Jason Rumney <jasonr@gnu.org>
16072
16073 * filelock.c (current_lock_owner): Allow for @ sign in username.
16074
160752007-07-22 Nick Roberts <nickrob@snap.net.nz>
16076
16077 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16078 remote default-directory.
16079
16080 * buffer.c (mode-line-format): Describe above case in doc string.
16081
160822007-07-20 Eli Zaretskii <eliz@gnu.org>
16083
16084 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16085 Define if not defined.
16086
160872007-07-18 Jason Rumney <jasonr@gnu.org>
16088
16089 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16090
160912007-07-18 Richard Stallman <rms@gnu.org>
16092
16093 * data.c (Fsetq_default): Doc fix.
16094
16095 * eval.c (Fsetq): Doc fix.
16096
160972007-07-18 Juanma Barranquero <lekktu@gmail.com>
16098
16099 * coding.c (Ffind_operation_coding_system):
16100 * eval.c (For, Fand): Doc fixes.
16101 Reported by Johan Bockgård.
16102
161032007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16104
16105 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16106
16107 * xterm.h: Declare x_ewmh_activate_frame.
16108
16109 * xterm.c (x_ewmh_activate_frame): New function.
16110 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16111
161122007-07-17 Martin Rudalics <rudalics@gmx.at>
16113
16114 * window.c (Fdisplay_buffer): If largest or LRU window is the
16115 only window, split it even if it is not eligible for splitting.
16116 This restores the original behavior broken by the 2007-07-15
16117 change.
16118
161192007-07-17 Glenn Morris <rgm@gnu.org>
16120
16121 * abbrev.c (abbrev_check_chars): New function.
16122 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16123 Call abbrev_check_chars to check abbrev characters are word
16124 constituents. Doc fix.
16125
161262007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16127
16128 * process.c (Fstart_process, Fmake_network_process)
16129 (read_process_output): Fix up last changes.
16130
161312007-07-16 Eli Zaretskii <eliz@gnu.org>
16132
16133 * makefile.w32-in (clean): Don't delete *~.
16134
161352007-07-16 Andreas Schwab <schwab@suse.de>
16136
16137 * window.c (Fdisplay_buffer): Use NILP.
16138 (Fset_window_scroll_bars): Likewise.
16139
161402007-07-15 Martin Rudalics <rudalics@gmx.at>
16141
16142 * window.c (window_min_size_2): New function.
16143 (window_min_size_1, size_window, Fdisplay_buffer)
16144 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16145 windows without mode- or header-lines when window-min-height is
16146 too small.
16147 (size_window): Reset nodelete_p after testing it, following an
16148 earlier note by Kim F. Storm.
16149 (display_buffer): Do not set split_height_threshold to twice the
16150 value of window_min_height to avoid changing the value of a
16151 customizable variable. Rather explicitly check whether the
16152 height of the window that shall be splitted is at least as large
16153 as split_height_threshold.
16154 (Fwindow_full_width_p): New defun.
16155 (syms_of_window): Defsubr it.
16156
16157 * window.h: Add EXFUN for Fwindow_full_width_p.
16158
161592007-07-14 Jason Rumney <jasonr@gnu.org>
16160
16161 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16162
161632007-07-14 Richard Stallman <rms@gnu.org>
16164
16165 * eval.c (maybe_call_debugger): New function.
16166 (find_handler_clause): Use maybe_call_debugger.
16167 Call it when the handler says `debug'.
16168 Eliminate DEBUGGER_VALUE_PTR.
16169 (Fsignal): Eliminate debugger_value.
16170 (Qdebug): New variable.
16171 (syms_of_eval): Initialize it.
16172
161732007-07-14 Juanma Barranquero <lekktu@gmail.com>
16174
16175 * eval.c (Fprogn):
16176 * keyboard.c (Ftrack_mouse):
16177 * print.c (Fwith_output_to_temp_buffer):
16178 * window.c (Fsave_window_excursion): Doc fix.
16179
161802007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16181
16182 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16183
161842007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16185
16186 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16187 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16188 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16189 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16190 Remove unused encoding_carryover.
16191 * process.c: Adjust all functions accordingly.
16192
161932007-07-12 Richard Stallman <rms@gnu.org>
16194
16195 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16196
161972007-07-11 Jason Rumney <jasonr@gnu.org>
16198
16199 * makefile.w32-in (LIBS): Include OLE32.
16200
16201 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16202 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16203
162042007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16205
16206 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16207 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16208 from a Lisp_Object into a bare pointer.
16209 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16210 Adjust the code correspondingly.
16211
16212 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16213
16214 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16215 (term_show_mouse_face): Remove unused var `j'.
16216 (handle_one_term_event): Remove unused vars `i' and `j'.
16217 Don't cast return value of ttyname since it's not necessary.
16218
162192007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16220
16221 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16222 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16223
16224 * fns.c (map_char_table): Use an array of int for `indices' rather than
16225 an array of Lisp_Objects (which are only ever integers anyway).
16226 (Fmap_char_table): Update caller.
16227 * lisp.h: Update prototype.
16228 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16229 * fontset.c (Ffontset_info):
16230 * casetab.c (set_case_table): Update callers.
16231
16232 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16233
16234 * keymap.c (struct accessible_keymaps_data)
16235 (struct where_is_internal_data): New structures.
16236 (accessible_keymaps_1, where_is_internal_1): Use them to change
16237 interface to adhere to the one used by map_keymap.
16238 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16239 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16240
16241 * keymap.h (map_keymap_function_t): More informative prototype.
16242
162432007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16244
16245 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16246 (looking_at_1): Don't change search_regs and last_thing_searched
16247 if `inhibit-changing-match-data' is non-nil.
16248 (string_match_1, search_buffer, set_search_regs): Likewise.
16249 (syms_of_search): Add Lisp level definition for
16250 `inhibit-changing-match-data' and set it to nil.
16251 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16252 start and end of the match, instead of using values in search_regs.
16253
162542007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16255
16256 * minibuf.c (Fcompleting_read): New value `confirm-only'
16257 for `require-match'.
16258
162592007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16260
16261 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16262 part of the 2007-06-27 change to syms_of_fileio.
16263
162642007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16265
16266 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16267 Check WINDOWP before using XWINDOW. Consolidate return statements.
16268
162692007-06-27 Richard Stallman <rms@gnu.org>
16270
16271 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16272
162732007-06-27 Juanma Barranquero <lekktu@gmail.com>
16274
16275 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16276
162772007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16278
16279 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16280 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16281 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16282 (_free_internal, memalign): Use them.
16283 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16284 Initialize to PTHREAD_MUTEX_INITIALIZER.
16285 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16286 (morecore_nolock): Rename from morecore. All uses changed.
16287 Use only nolock versions of internal allocation functions.
16288 (_malloc_internal_nolock, _realloc_internal_nolock)
16289 (_free_internal_nolock): New functions created from
16290 _malloc_internal, _realloc_internal, and _free_internal.
16291 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16292 Copy hook value to automatic variable before its use.
16293 (memalign): Copy hook value to automatic variable before its use.
16294
162952007-06-26 Kenichi Handa <handa@m17n.org>
16296
16297 * coding.c (Ffind_operation_coding_system): Docstring improved.
16298 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16299
163002007-06-25 David Kastrup <dak@gnu.org>
16301
16302 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16303 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16304 cater for additional parameter.
16305
16306 * keymap.h: Adjust number of parameters to `current-active-maps'.
16307
16308 * doc.c (Fsubstitute_command_keys): Adjust call of
16309 `current-active-maps'.
16310
163112007-06-25 David Kastrup <dak@gnu.org>
16312
16313 * callint.c (Fcall_interactively): Make the parsing of interactive
16314 specs somewhat more readable.
16315
163162007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16317
16318 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16319 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16320 if extended background has already been filled.
16321
163222007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16323
16324 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16325 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16326
16327 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16328 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16329 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16330 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16331 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16332 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16333 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16334 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16335 Run timers during dialog popup.
16336 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16337
163382007-06-21 Jason Rumney <jasonr@gnu.org>
16339
16340 * image.c (convert_mono_to_color_image): Swap fore and background.
16341
163422007-06-20 Jason Rumney <jasonr@gnu.org>
16343
16344 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16345 (w32_free_bdf_font): Unmap memory not handle.
16346
163472007-06-20 Sam Steingold <sds@gnu.org>
16348
16349 * gmalloc.c (__morecore): Fix the declaration to comply with the
16350 definition.
16351
163522007-06-20 Juanma Barranquero <lekktu@gmail.com>
16353
16354 * w32term.c (w32_delete_display): Remove leftover declaration.
16355 (w32_define_cursor, w32_initialize): Make static.
16356
16357 * w32.c (_wsa_errlist): Fix typo in error message.
16358 (init_environment): Ignore any environment variable from the
16359 registry having a null value.
16360
163612007-06-20 Glenn Morris <rgm@gnu.org>
16362
16363 * Makefile.in (LIBGIF): Default to -lgif.
16364
163652007-06-17 Jason Rumney <jasonr@gnu.org>
16366
16367 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16368 unicode strings.
16369
163702007-06-16 Juanma Barranquero <lekktu@gmail.com>
16371
16372 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16373 Fix typo in docstring.
16374
163752007-06-16 Eli Zaretskii <eliz@gnu.org>
16376
16377 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16378 and their keybindings.
16379
163802007-06-15 Chong Yidong <cyd@stupidchicken.com>
16381
16382 * composite.c (update_compositions): Fix last fix.
16383
163842007-06-14 Jason Rumney <jasonr@gnu.org>
16385
16386 * w32.c (get_process_times_fn): New function pointer.
16387 (globals_of_w32): Intialize it if present in kernel32.dll.
16388 (w32_get_internal_run_time): New function.
16389
16390 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16391
163922007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16393
16394 * composite.c (update_compositions): Check the validness of
16395 compositions.
16396
163972007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16398
16399 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16400 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16401
16402 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16403 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16404
16405 * macgui.h (USE_MAC_TOOLBAR): New define.
16406
16407 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16408 Return immediately unless popup is activated.
16409
16410 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16411 background to scroll bar gap.
16412 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16413 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16414 scroll bars on frame edge. Check fringe background extension.
16415 Don't clear extended fringe background area.
16416 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16417 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16418 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16419 [USE_MAC_TOOLBAR]: New macros.
16420 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16421 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16422 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16423 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16424 [USE_MAC_TOOLBAR]: New functions.
16425 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16426 manually if previous repositioning has failed.
16427 (mac_handle_keyboard_event): Use precomputed event kind.
16428 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16429 as tool bar item click. Handle mouse movement over tool bar items.
16430
16431 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16432 toolbar_win_gravity.
16433 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16434 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16435 Add externs.
16436
16437 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16438 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16439
164402007-06-14 Chong Yidong <cyd@stupidchicken.com>
16441
16442 * image.c (search_image_cache): Remove unused variable.
16443
164442007-06-13 Chong Yidong <cyd@stupidchicken.com>
16445
16446 * xfns.c, xmenu.c: Link to xaw3d if available.
16447
164482007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16449
16450 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16451 frame_foreground and frame_background.
16452
16453 * image.c (lookup_image): Save frame foreground and background colors.
16454 (search_image_cache): Check if saved and current frame colors match.
16455
164562007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16457
16458 * regex.c (regex_compile): Remove the `regnum' counter.
16459 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16460
164612007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16462
16463 * term.c: Include intervals.h to declare Fget_text_property.
16464
164652007-06-10 Jason Rumney <jasonr@gnu.org>
16466
16467 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16468
164692007-06-08 Juanma Barranquero <lekktu@gmail.com>
16470
16471 * callint.c (Fcall_interactively):
16472 * editfns.c (Fdelete_and_extract_region):
16473 * fileio.c (Fread_file_name):
16474 * fns.c (Fmapconcat):
16475 * keyboard.c (cmd_error_internal):
16476 * keymap.c (Fkey_description):
16477 * lread.c (openp):
16478 * minibuf.c (read_minibuf):
16479 * search.c (wordify):
16480 * sunfns.c (sel_read):
16481 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16482 * xfns.c (x_default_scroll_bar_color_parameter):
16483 * xmenu.c (menu_help_callback):
16484 * xselect.c (Fx_get_atom_name):
16485 * xterm.c (x_term_init): Use empty_unibyte_string.
16486
164872007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16488
16489 * alloc.c (init_strings): Initialize canonical empty strings.
16490 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16491 canonical empty string when the requested size is 0.
16492
16493 * emacs.c (empty_unibyte_string): Rename from empty_string.
16494 (empty_multibyte_string): New canonical empty string.
16495 (syms_of_emacs): Don't initialize empty_string.
16496
16497 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16498 string, if appropriate.
16499 (empty_unibyte_string, empty_multibyte_string): New externs.
16500 (empty_string): Remove extern.
16501
16502 * lread.c (syms_of_lread): Use empty_unibyte_string.
16503
165042007-06-07 Jason Rumney <jasonr@gnu.org>
16505
16506 * s/ms-w32.h: Don't define HAVE_TZNAME.
16507
16508 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16509
165102007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16511
16512 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16513
16514 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16515 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16516
16517 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16518 Don't call next handler.
16519 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16520 Remove argument. Install handler to application.
16521 (set_frame_menubar): Don't change deep_p.
16522 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16523 FRAME_OUTER_TO_INNER_DIFF_Y.
16524 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16525 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16526 [HAVE_DIALOGS]: New macros.
16527 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16528 Use them.
16529 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16530
16531 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16532 init_service_handler. All callers changed. Return OSStatus value.
16533
16534 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16535 All callers changed so as not to call SetPortWindowPort.
16536 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16537 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16538 mac_draw_string_common.
16539 (mac_draw_image_string_qd): Likewise.
16540 (mac_draw_string_common): Use them. Add INLINE.
16541 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16542 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16543 GetGlobalMouse.
16544 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16545 and FRAME_OUTER_TO_INNER_DIFF_Y.
16546 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16547 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16548 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16549 repositioning window to mac_handle_window_event.
16550 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16551 saving window location to mac_handle_window_event
16552 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16553 (install_menu_target_item_handler): Remove argument in extern.
16554 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16555 Also accept command events.
16556 (do_keystroke): New function created from XTread_socket.
16557 (init_command_handler): Remove functions.
16558 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16559 and save window location by kEventWindowShowing and kEventWindowHiding
16560 handlers here. Don't call next handler for window state change and
16561 focus events.
16562 (mac_handle_application_event, mac_handle_keyboard_event)
16563 [TARGET_API_MAC_CARBON]: New functions.
16564 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16565 kEventWindowShowing and kEventWindowHiding events. Move installation
16566 of mouse, font, text input and menu target item handlers to
16567 install_application_handler.
16568 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16569 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16570 New function.
16571 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16572 Register it.
16573 (XTread_socket) [TARGET_API_MAC_CARBON]:
16574 Consolidate SendEventToEventTarget calls.
16575 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16576 Move application activation handler to mac_handle_application_event.
16577 Move keyboard handler to mac_handle_keyboard_event.
16578 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16579 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16580 init_command_handler. Call install_application_handler.
16581
16582 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16583 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16584
165852007-06-07 Glenn Morris <rgm@gnu.org>
16586
16587 * emacs.c (main): Use `emacs-copyright' in --version output.
16588
165892007-06-06 Chong Yidong <cyd@stupidchicken.com>
16590
16591 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16592
165932007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16594
16595 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16596
16597 * macgui.h: Replace WindowPtr with WindowRef.
16598
16599 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16600 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16601 Replace ControlHandle with ControlRef.
16602 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16603
16604 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16605 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16606 Replace ControlHandle with ControlRef.
16607 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16608 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16609
16610 * macterm.h (struct scroll_bar): Rename member control_handle_low
16611 and control_handle_high to control_ref_low and control_ref_high.
16612 All uses changed.
16613 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16614 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16615 respectively. All uses changed.
16616 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16617 (install_window_handler, remove_window_handler): Replace WindowPtr
16618 with WindowRef in externs.
16619
166202007-06-05 Juanma Barranquero <lekktu@gmail.com>
16621
16622 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16623
166242007-06-03 Nick Roberts <nickrob@snap.net.nz>
16625
16626 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16627
16628 * frame.c (Fmouse_position, Fmouse_pixel_position):
16629 Condition on HAVE_GPM too.
16630
16631 * term.c (term_mouse_highlight): Remove unused variables.
16632 (Fterm_open_connection): Set gpm_zerobased to 1.
16633 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16634 Use zero based co-ordinates.
16635 (handle_one_term_event): Report a drag as mouse movement too.
16636
16637 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16638
166392007-06-03 Chong Yidong <cyd@stupidchicken.com>
16640
16641 * image.c (search_image_cache): New function. Require background
16642 color match if background color is unspecified in the image spec.
16643 (uncache_image, lookup_image): Use it.
16644
166452007-06-01 Juanma Barranquero <lekktu@gmail.com>
16646
16647 * window.c (Fshrink_window): Reflow docstring.
16648
166492007-06-02 Chong Yidong <cyd@stupidchicken.com>
16650
16651 * Version 22.1 released.
16652
166532007-06-01 Richard Stallman <rms@gnu.org>
16654
16655 * xfns.c (x_encode_text): Add GCPRO.
16656
166572007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16658
16659 * xfns.c (x_set_name_internal): Save encoded name before
16660 x_encode_text in case string data is relocated.
16661
166622007-05-31 Richard Stallman <rms@gnu.org>
16663
16664 * buffer.c (syms_of_buffer): Doc fix.
16665
166662007-05-30 Nick Roberts <nickrob@snap.net.nz>
16667
16668 * sysdep.c (init_sys_modes): Add rather than replace with
16669 O_NONBLOCK.
16670
16671 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16672 term_mouse_moveto.
16673
16674 * termhooks.h (term_mouse_moveto): New extern.
16675
16676 * term.c (mouse_face_window): Rename...
16677 (Qmouse_face_window): ...to this.
16678 (term_show_mouse_face, term_clear_mouse_face)
16679 (term_mouse_highlight): Use Qmouse_face_window.
16680 (term_mouse_moveto): New function.
16681 (term_mouse_position): Make it work.
16682 (syms_of_term): Uncomment assignment to mouse_position_hook.
16683 Staticpro Qmouse_face_window.
16684
166852007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16686
16687 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16688 around current_column call.
16689
166902007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16691
16692 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16693 * xdisp.c (next_element_from_buffer):
16694 * window.c (delete_window):
16695 * term.c (term_mouse_highlight):
16696 * msdos.c (getdefdir):
16697 * macterm.c (mac_create_bitmap_from_bitmap_data)
16698 (init_font_name_table):
16699 * fns.c (Fsxhash):
16700 * data.c (Fmake_local_variable):
16701 * ccl.c (ccl_driver): Likewise.
16702
167032007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16704
16705 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16706 Call mac_wakeup_from_rne on window size change.
16707
167082007-05-25 Chong Yidong <cyd@stupidchicken.com>
16709
16710 * image.c (uncache_image): Fix typo.
16711
167122007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16713
16714 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16715
167162007-05-22 Richard Stallman <rms@gnu.org>
16717
16718 * xterm.c (x_connection_closed): Remove NO_RETURN.
16719
167202007-05-22 Martin Rudalics <rudalics@gmx.at>
16721
16722 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16723
167242007-05-21 Chong Yidong <cyd@stupidchicken.com>
16725
16726 * image.c (uncache_image): New function.
16727 (Fimage_refresh): New function.
16728
167292007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16730
16731 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16732
167332007-05-20 Nick Roberts <nickrob@snap.net.nz>
16734
16735 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16736 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16737
167382007-05-20 Nick Roberts <nickrob@snap.net.nz>
16739
16740 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16741 conditional on [HAVE_GPM_H].
16742
167432007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16744
16745 * syntax.c (skip_chars): Update syntax-table only after we checked that
16746 the new location is valid.
16747
167482007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16749
16750 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16751 mac_get_window_bounds.
16752
167532007-05-20 Nick Roberts <nickrob@snap.net.nz>
16754
16755 * Makefile.in (LIBGPM): Allow it to be set from configure.
16756 If set then link Emacs with it.
16757
16758 * config.in: Regenerate.
16759
16760 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16761 New externs.
16762
16763 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16764 Include gpm.h.
16765 (handle_one_term_event, term_gpm): New externs.
16766
16767 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16768 and allow it to be interrupted by SIGIO.
16769
16770 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16771 (wait_reading_process_output): Wait on gpm_fd too.
16772 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16773 (add_gpm_wait_descriptor_called_flag): New variable.
16774 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16775
16776 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16777 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16778 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16779 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16780 (make_lispy_event): Add case GPM_CLICK_EVENT.
16781 (read_avail_input): Handle mouse input.
16782
16783 * term.c (write_glyphs_with_face): New function.
16784 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16785 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16786 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16787 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16788 (last_mouse_x, last_mouse_y): New variables.
16789 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16790 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16791 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16792 (Fterm_close_connection): New functions.
16793 (term_init): Initialise mouse_face_window.
16794
167952007-05-19 Chong Yidong <cyd@stupidchicken.com>
16796
16797 * xdisp.c (redisplay_window): If first window line is a
16798 continuation line, recompute the new window start instead of
16799 recentering.
16800
168012007-05-18 Glenn Morris <rgm@gnu.org>
16802
16803 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16804 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16805
168062007-05-17 Glenn Morris <rgm@gnu.org>
16807
16808 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16809
168102007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16811
16812 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16813 dead key repeat and up events.
16814
168152007-05-14 Chong Yidong <cyd@stupidchicken.com>
16816
16817 * image.c (pbm_load): Check image size for monochrome pbm.
16818
168192007-05-13 Chong Yidong <cyd@stupidchicken.com>
16820
16821 * xterm.c (XTread_socket): Revert last change.
16822
168232007-05-12 Chong Yidong <cyd@stupidchicken.com>
16824
16825 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16826
16827 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16828
168292007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16830
16831 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16832 mixup (YAILOM).
16833
168342007-05-07 Andreas Schwab <schwab@suse.de>
16835
16836 * keymap.c (Flookup_key): Fix typo in last change.
16837
168382007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16839
16840 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16841 mapping for unibyte strings.
16842
168432007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16844
16845 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16846 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16847
168482007-04-29 Richard Stallman <rms@gnu.org>
16849
16850 * insdel.c (replace_range): For undo, record insertion first.
16851
168522007-04-29 Andreas Schwab <schwab@suse.de>
16853
16854 * lisp.h (VECSIZE): Use OFFSETOF.
16855
168562007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16857
16858 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16859 disabled lines.
16860
168612007-04-28 Richard Stallman <rms@gnu.org>
16862
16863 * lread.c (read_escape): In a string, \s is always space.
16864
168652007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16866
16867 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16868
16869 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16870 submenu for menu bar items.
16871
16872See ChangeLog.10 for earlier changes.
16873
16874;; Local Variables:
16875;; coding: utf-8
16876;; add-log-time-zone-rule: t
16877;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16878;; End:
16879
16880 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16881
16882 This file is part of GNU Emacs.
16883
16884 GNU Emacs is free software: you can redistribute it and/or modify
16885 it under the terms of the GNU General Public License as published by
16886 the Free Software Foundation, either version 3 of the License, or
16887 (at your option) any later version.
16888
16889 GNU Emacs is distributed in the hope that it will be useful,
16890 but WITHOUT ANY WARRANTY; without even the implied warranty of
16891 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16892 GNU General Public License for more details.
16893
16894 You should have received a copy of the GNU General Public License
16895 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16896
16897;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40